[发明专利]基于时间戳和秘密鉴权文件的软件授权保护系统及其方法有效
申请号: | 201811430399.1 | 申请日: | 2018-11-28 |
公开(公告)号: | CN109598104B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 刘晓东;叶猛 | 申请(专利权)人: | 武汉虹旭信息技术有限责任公司 |
主分类号: | G06F21/10 | 分类号: | G06F21/10;G06F21/12 |
代理公司: | 武汉宇晨专利事务所(普通合伙) 42001 | 代理人: | 黄瑞棠 |
地址: | 430205 湖北省武汉市江*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 时间 秘密 文件 软件 授权 保护 系统 及其 方法 | ||
1.一种基于时间戳和秘密鉴权文件的软件授权保护方法,
软件授权保护系统包括制作证书模块(1)、鉴权模块(2)、授权模块(3)、登录模块(4)、主控模块(5)、采集模块(6)、分析模块(7)、定位模块(8)、显示模块(9)、通讯模块(10)和存储模块(11);
制作证书模块(1)、授权模块(3)、鉴权模块(2)、登录模块(4)、主控模块(5)依次交互;
主控模块(5)分别与采集模块(6)、分析模块(7)、定位模块(8)和显示模块(9)交互;
采集模块(6)、分析模块(7)、定位模块(8)和显示模块(9)分别与通讯模块(10)交互,通讯模块(10)和存储模块(11)交互;
软件授权保护方法包括:
步骤①生成授权证书(201)
本系统通过制作证书模块(1)生成授权证书;
步骤②授权(202)
本系统须得到授权后,才能工作;
授权方法:授权模块(3)读取授权证书后,生成秘密鉴权文件;
系统在运行时,会访问鉴权文件;
授权证书授权到期后,不可以再次授权;
步骤③鉴权(203)
在本系统软件SoftWare的启动入口,检查设备是否满足隐藏的秘密鉴权文件提供的运行条件,如果不满足则拒绝运行;
满足运行条件时,则正常运行SoftWare;
SoftWare退出前,会获取当前时间,经加密后,把隐藏的秘密鉴权文件中的latetlyRumTime参数值更新为当前时间,然后退出;
其特征在于:
所述步骤①生成授权证书的工作流程:
I、输入基本参数(301)
输入基本参数,即用户提供的设备码MachineID,授权开始时间戳StartTime、授权截止时间戳EndTime;
II、生成校验码(302)
生成校验码verfiyCode,根据输入的三个基本参数,选择这三个参数中的某些字节构成校验码verfiyCode;同时初始化LatelyRunTime为StartTime值,逾期标识位flag为0,即有效;根据MachineID、StartTime、EndTime、LatelyRunTime、verfiyCode和flag组成证书明文code;
III、生成证书明文code(303)
选择加密算法,加密证书明文code,生成密文encode,生成授权证书License,将密文encode写入授权证书中;
IV、加密生成授权证书(304)
生成授权证书文件;
所述的步骤②授权的工作流程:
准备工作,把授权软件和授权证书拷贝到设备A上,运行授权软件;
开始(400);
a、获取机器码(401)
授权软件运行后,获取设备A的machineID,作为步骤d的对比值;
b、读取证书密文(402)
授权软件打开授权证书,并读取授权证书中的密文encode1;调用解密算法Decription,得到解密后的明文MachineID1、StartTime1、EndTime1、LatelyRunTime1、verfiyCode1和flag1;
c、判断flag1(403)
判断flag1是否为0,如果为条件为真,即flag=0,授权证书有效,进入步骤d;
如果条件为假,即flag=1,授权证书无效,该授权证书逾期,故授权失败-M4并退出-413;
d、判断机器码(404)
判断machineID与MachineID1是否相等,即设备A的machineID是否与授权证书的MachineID1相同;
如果条件为真,即设备A就是授权证书的授权设备,进入步骤e;
如果条件为假,则设备A为非法授权设备,故授权失败-M4并退出-413;
e、判断鉴权文件存在(405)
授权软件检查设备A中是否存在隐藏的鉴权文件encript;
如果存在,进入步骤g;
如果不存在,进入步骤f;
f、创建鉴权文件(406)
在设备A中创建隐藏路径,并在隐藏路径下生成隐藏的鉴权文件encript,同时把授权证书密文写入encript中,即授权成功-M3,然后授权软件会选择退出-413;
g、读第1鉴权文件(407)
读取隐藏的第1鉴权文件encript内存,并解密得到明文,得到MachineID2、StartTime2、EndTime2、LatelyRunTime2、verfiyCode2;
h、获取当前时间戳(408)
获取系统当前时间戳now;
i、判断系统时间真实性(409)
判断LatelyRunTime2now是否成立,即判断隐藏的鉴权文件中保存的上一次运行时间戳是否大于当前时间戳;
如果为假,进入步骤j;
如果为真,即now变小了,则说明当前的系统时间被修改成为较小的时间值,属于时间欺骗,其目的是为了再次获得授权,因此不能为这种情况授权,故授权失败,并退出(413);
j、判断证书有效性-410
判断条件startTime1=startTime2、endTime1=endTime2
和latelyRunTime1=latelyRunTime12同时成立否;前两个条件是判断授权证书License的startTime、endTime和latelyRunTime,是否大于等于隐藏的鉴权文件encript对应的startTime、endTime和latelyRunTimee;
如果为真encript,进入步骤k;
如果为假,进入步骤l;
k、建立鉴权文件(411)
满足授权条件,根据授权证书密文重写隐藏的鉴权文件,授权成功(M3);
l、设置证书无效(412)
如果有一个条件不成立,则说明新的授权时间戳小于encript保存的时间戳,则授权文件license已经无法给SoftWare授权,需要设置license文件的标识flag=1,为无效状态;授权失败-M2并退出(413);
m、退出(413)
退出运行;
n、系统时间不能修改
提示:系统时间不能修改;
o、证书逾期
提示:证书逾期;
p、授权成功
提示:授权成功;
q、授权失败
提示:授权失败;
所述步骤③鉴权的工作流程:
应用软件softWare运行时,在软件入口调用独立的鉴权模块,对应用软件softWare的运行权限鉴权;
鉴权入口(500)
准备工作,把应用软件softWare拷贝到设备A上,运行应用软件softWare,鉴权模块被调用;
A、获取(501)
获取设备A的machineID0,作为步骤III、生成证书明文code(303)的对比值;
B、读第2鉴权文件(502)
读取隐藏的第2鉴权文件encript内存,并解密得到明文,得到MachineID、StartTime、EndTime、LatelyRunTime、verfiyCode和flag值;
C、判断设备(503)
判断设备是否为授权设备,判断条件MachineID0==MachineID是否成立,
如果为真进入步骤D;
如果为假,则设备为非授权设备,返回鉴权失败;
D、判断有效性(504)
判断鉴权文件是否有效,判断条件flag==0是否成立,即鉴权文件是否有效;
如果为真,进入步骤E;
如果为假,则鉴权文件无效,返回鉴权失败;
E、验证校验码(505)
判断条件是校验verifyCode是否正确;
如果为真,进入步骤F;
如果为假,返回鉴权失败;
F、获取系统时间(506)
获取系统当前时间now;
G、判断时间有效性(507)
判断条件是nowlatelyRuntime是否成立,即判断当前时间是否大于隐藏的鉴权文件保存的软件上次运行退出时的时间;
如果为真,进入步骤H;
如果为假,则说明当前时间比隐藏的鉴权文件保存的软件上次运行退出时的时间要小,这是不可能的,只有把系统时间为虚假时间后,才会发生这种情况,所以,返回鉴权失败;
H、判断逾期(508)
判断条件nowendTime是否为真;
如果为真,进入步骤I;
如果为假,返回鉴权成功;
I、修改鉴权文件(509)
修改隐藏的鉴权文件flag标识为1,即设置授权逾期;返回鉴权失败;
J、鉴权成功
提示:鉴权成功;
L、鉴权失败
提示鉴权失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉虹旭信息技术有限责任公司,未经武汉虹旭信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811430399.1/1.html,转载请声明来源钻瓜专利网。