一种离线软件使用授权方法与流程

文档序号:30617666发布日期:2022-07-02 01:29阅读:537来源:国知局
一种离线软件使用授权方法与流程

1.本发明涉及信息安全技术领域,尤其涉及一种离线软件使用授权方法。


背景技术:

2.软件注册授权是防止软件未经许可扩散,保护软件产品知识产权的重要手段,软件注册授权可分为在线注册和离线注册两种方式,其中在线注册一般是指在软件安装完成后,将相关信息通过互联网发送至软件供应商的服务器进行软件注册激活,由于局域网和单机与互联网处于物理隔离状态,因此,在线注册方式不适用于运行在局域网计算机和单机上的软件进行注册。
3.现有的软件离线注册方法一般步骤是:由待注册软件采集软件所在计算机设备硬件信息,如网卡mac地址、硬盘序列号、处理器序列号等,然后对硬件信息进行加密,并将密文以离线方式发送至软件供应商;或者直接将硬件信息用明文以离线方式发送至软件供应商,软件供应商接收并解析出硬件信息后,以该硬件信息为基础生成注册授权码,然后以离线方式发送至客户,由客户在软件注册界面输入注册授权码,软件对注册授权码进行解析和判断,会比对计算机硬件信息,并生成相应的许可文件。
4.现有软件离线注册方案中,计算机硬件信息以密文或者明文的方式在客户端的计算机和软件供应商之间进行一次或多次传递,甚至还将硬件信息存储于软件供应商的管理端数据库,而在一些应用场景中,如对计算机硬件信息保护程度要求较高的场所,计算机硬件信息属于敏感信息,要求尽量避免扩散。而现有技术中,计算机硬件信息容易泄露,难以保证计算机硬件信息的安全。


技术实现要素:

5.鉴于上述的分析,本发明旨在提供一种离线软件使用授权方法,以解决现有技术中存在的计算机硬件信息容易泄露,难以保证计算机硬件信息安全的技术问题。
6.本发明提供的技术方案是:
7.本发明提供一种离线软件使用授权方法,包括:
8.步骤s1:客户端根据本地保存许可文件的情况,判定待运行软件需要注册;所述许可文件用于判断所述待运行软件是否需要注册;
9.步骤s2:所述客户端根据本地计算机硬件信息,生成不可逆注册序列号;由所述不可逆注册序列号无法还原出所述本地计算机硬件信息;
10.步骤s3:所述客户端将所述不可逆注册序列号以离线方式发送给软件供应端,由所述软件供应端根据所述不可逆注册序列号,生成包含待验证注册序列号和软件许可信息的注册码;
11.步骤s4:所述客户端接收所述软件供应端以离线方式发送的所述注册码,解码出所述待验证注册序列号与所述软件许可信息,将所述不可逆注册序列号与所述待验证注册序列号作比对,以及将所述软件许可信息与本地软件信息作比对,在两种比对结果均为相
同时,执行步骤s5;
12.步骤s5:所述客户端生成并保存包含本地计算机硬件信息与软件许可信息的所述许可文件;
13.步骤s6:所述待运行软件被授权,客户端运行已授权软件。
14.优选地,所述根据本地计算机硬件信息,生成不可逆注册序列号包括:
15.以所述本地计算机硬件信息作为随机数种子,生成伪随机序列作为所述不可逆注册序列号。
16.优选地,所述根据本地计算机硬件信息,生成不可逆注册序列号包括:
17.对所述本地计算机硬件信息采用不可逆加密算法进行加密,生成所述不可逆注册序列号。
18.优选地,所述根据本地计算机硬件信息,生成不可逆注册序列号包括:
19.加密所述本地计算机硬件信息中的部分信息,生成所述不可逆注册序列号。
20.优选地,所述步骤s4还包括:
21.在至少一种比对结果为不同时,返回执行所述步骤s2。
22.优选地,所述步骤s1包括:
23.所述客户端检测本地计算机是否保存有所述许可文件,若否,则判定需要注册。
24.优选地,所述步骤s1包括:
25.所述客户端检测到本地计算机保存有所述许可文件,解密出所述许可文件中的计算机硬件信息和软件许可信息,与采集到的本地计算机硬件信息和本地软件信息作比对,若至少一种比对结果为不同,判定需要注册。
26.优选地,所述方法还包括:
27.所述客户端首次运行所述待运行软件前,创建并记录预设的剩余使用期限;
28.所述客户端运行所述待运行软件前,判断剩余使用期限是否为零,若是,执行所述步骤s2;否则,运行所述待运行软件。
29.优选地,所述运行所述待运行软件后,所述方法还包括:
30.所述客户端统计已运行软件的本次运行时长,在关闭已运行软件时,用剩余使用期限减去本次运行时长,得到更新的剩余使用期限;
31.所述客户端将所述更新的剩余使用期限写入所述许可文件,并在本地加密保存所述许可文件。
32.优选地,所述判断剩余使用期限是否为零前,所述方法还包括:
33.所述客户端运行所述待运行软件前,检测到本地计算机未保存所述许可文件,所述待运行软件有试用期,则执行所述判断。
34.本发明提供的技术方案,通过向软件供应端发送不可逆注册序列号,来最终实现软件的授权使用,而基于不可逆注册序列号是无法还原出本地计算机硬件信息的,从而有效保障客户端本地计算机信息的安全,避免计算机敏感信息的扩散或泄露。
35.本发明的具体实现中,在本地生成许可文件,则下次使用软件时,将使用软件的本地计算机硬件信息以及软件信息与许可文件中保存的计算机硬件信息与软件许可信息做比对,若至少一种比对结果为不同,则不允许运行软件,并要求重新注册,因此,当软件用户将软件拷贝到其他未授权的计算机时,由于未授权计算机上不存在许可文件,或者,即使将
许可文件一并拷贝到未授权计算机上,鉴权时也是无法通过,因此,需要注册,从而,有效防止软件的使用扩散,有效保护软件知识产权。
36.进一步,本发明的具体实现中,对软件的使用期限做进一步监控,可有效保护软件的知识产权。
37.本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
38.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
39.图1是本发明实施例中离线软件使用授权方法流程图;
40.图2是本发明实施例中客户端对软件做鉴权处理的流程图;
41.图3是本发明实施例中对软件使用期限进行监控的流程图。
具体实施方式
42.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理。
43.本发明实施例提供一种离线软件使用授权方法,参见图1,图1是本发明实施例中离线软件使用授权方法流程图,该流程可包括以下步骤:
44.步骤s1:客户端根据本地保存许可文件的情况,判定待运行软件需要注册;所述许可文件用于判断所述待运行软件是否需要注册。
45.许可文件中包含有用于对待运行软件做鉴权的信息如,计算机硬件信息和软件许可信息等。
46.该步骤s1实际是客户端检测软件是否已被授权,具体实施中,该步骤s1中对于注册的判定可包括:
47.客户端检测本地计算机是否保存有所述许可文件,若否,则判定需要注册;或者,
48.客户端检测到本地计算机保存有所述许可文件后,做鉴权处理:将所述许可文件中的计算机硬件信息和软件许可信息,与采集到的本地计算机硬件信息和本地软件信息作比对,若至少一种比对结果为不同,则判定需要注册;或者,
49.许可文件中进一步包含待运行软件的使用期限信息,客户端对软件使用期限做监控,检测到软件使用期限为零,则判定需要注册。
50.步骤s2:客户端根据本地计算机硬件信息,生成不可逆注册序列号;由该不可逆注册序列号无法还原出本地计算机硬件信息。
51.其中,本地计算机硬件信息包括网卡mac地址、硬盘序列号、处理器序列号、外设硬件序列号等具有唯一标识的信息。
52.本发明实施例中,生成不可逆注册序列号可采用包括以下方式实现:
53.方式一:将实际采集到的本地计算机硬件信息作为随机数种子,生成伪随机序列,
由于无法通过伪随机序列反向还原出本地计算机硬件信息,该伪随机序列即可作为不可逆注册序列号;
54.本方式一的具体实现如:
55.基于以网卡mac地址为例,假定待运行软件所在计算机的网卡mac地址为:6c:4b:90:cb:34:ef,将网卡mac地址作为六个单字节十六进制数,作为随机数种子,生成相应的伪随机序列;
56.以硬盘序列号为例,假定待运行软件所在计算机的硬盘序列号为wfl3erhb,将该序列号作为8个字节的字符串,其按照ascii编码格式对应的ascii码数值按照十六进制排序为0x57464c3345524842,作为随机数种子,生成相应的伪随机序列;
57.另外,由于实现上述方式的编程语言和选择的字符串编码格式不同,因此将本地计算机硬件信息转换为随机数种子的做法有很多种,以上为简单示例;
58.方式二:加密本地计算机硬件信息中的部分信息,生成不可逆注册序列号;本方式二中,对计算机多个硬件的硬件信息,可各取其一部分进行任意组合后作可逆加密,将加密后的密文作为不可逆注册序列号。虽然加密算法本身可逆,但即使软件供应端可以通过不可逆注册序列号进行还原,还原出的结果也是经过任意组合的、不完整的计算机硬件信息;
59.方式三:对本地计算机硬件信息用不可逆加密算法进行加密,生成不可逆注册序列号;具体地,本方式三中,采用不可逆加密算法对实际采集到的本地计算机硬件信息进行加密,由于加密算法本身不可逆,通过加密后的密文无法还原出内容为本地计算机硬件信息的明文,该密文即可作为不可逆注册序列号;不可逆加密算法如md5、hmac、sha等。
60.步骤s3:客户端将所述不可逆注册序列号以离线方式发送给软件供应端,由所述软件供应端根据所述不可逆注册序列号,生成包含待验证注册序列号和软件许可信息的注册码。
61.具体实现中,离线方式可以是短信方式、或电话方式等;并且注册码以密文形式传输。
62.步骤s4:客户端接收所述软件供应端以离线方式发送的所述注册码,解码出所述待验证注册序列号与所述软件许可信息,将所述不可逆注册序列号与所述待验证注册序列号作比对,以及将所述软件许可信息与本地软件信息作比对,在两种比对结果均为相同时,执行步骤s5。
63.本步骤s4可进一步包括:在至少一种比对结果为不同时,返回执行步骤s2。
64.软件许可信息可包括:软件名称、软件版本等;本地软件信息可包括:软件名称、软件版本等。实际应用中,软件许可信息中包括的内容与本地软件信息包括的内容可能不同,以软件许可信息中对应的信息来验证本地软件信息。
65.步骤s5:客户端生成并保存包含本地计算机硬件信息与软件许可信息的所述许可文件。
66.本步骤s5中,客户端在判定注册码有效后,采集本地计算机硬件信息与软件许可信息,加密后写入许可文件,并在本地保存许可文件。
67.步骤s6:待运行软件被授权,客户端运行已授权软件。
68.本发明实施例中,通过向软件供应端发送不可逆注册序列号,来最终实现软件的授权使用,而基于不可逆注册序列号是无法还原出本地计算机硬件信息的,从而有效保障
客户端本地计算机信息的安全,避免计算机敏感信息的扩散或泄露。
69.为方便描述,将上述步骤s2至步骤s5的流程概括为注册流程。
70.参见图2,图2是本发明实施例中客户端对软件做鉴权处理的流程图,该流程中,客户端对本地计算机是否保存有许可文件做检测,并根据检测结果来判断是否需要执行上述注册流程,图2所示流程可包括以下步骤:
71.步骤201:客户端打开待运行软件。
72.步骤202:客户端检测本地是否保存有待运行软件的许可文件,若是,执行步骤203;否则执行步骤208。
73.步骤203:客户端打开并读取许可文件,解密出许可文件中的计算机硬件信息和软件许可信息。
74.步骤204:将步骤203中解密出的内容,与实际采集到的本地计算机硬件信息和本地软件信息作比对。
75.步骤205:判断是否是比对结果均为相同,若是,执行步骤206;否则,执行步骤208。
76.本步骤205中,只要有一种比对结果为不同,则执行步骤208。
77.步骤206:判断当前系统时间是否在许可有效期之内,若是,执行步骤207;否则,执行步骤208。
78.步骤207:判定待运行软件不需要注册,允许运行该软件。
79.步骤208:客户端阻止继续使用待运行软件,判定待运行软件需要注册,提示执行注册流程。
80.参见图3,图3是本发明实施例中对软件使用期限进行监控的流程图,图3所示流程可包括以下步骤:
81.步骤301:客户端首次打开待运行软件时,在许可文件中创建并记录预设的剩余使用期限。
82.该流程中,对于允许在客户端运行软件的情况,客户端进一步对待运行软件的使用期限做监控,其中,允许客户端运行软件的情况可包括两种:一种是对于客户端未保存许可文件的情况,客户端检测到待运行软件有试用期,则执行步骤302;另一种是待运行软件被授权,即客户端判定注册码有效,但待运行软件有使用期限,进一步执行步骤302。
83.步骤302:客户端运行待运行软件前,解密出许可文件中包含的剩余使用期限,判断剩余使用期限是否为零,若是,执行步骤303;否则,执行步骤304。
84.步骤303:客户端阻止继续使用待运行软件,判定待运行软件需要注册,提示执行注册流程。
85.步骤304:客户端统计已运行软件的本次运行时长,在关闭已运行软件时,用剩余使用期限减去本次运行时长,得到更新的剩余使用期限。
86.步骤305:客户端将更新的剩余使用期限写入许可文件,并在本地加密保存许可文件。
87.综上所述,本发明提供的技术方案,通过向软件供应端发送不可逆注册序列号,来最终实现软件的授权使用,而基于不可逆注册序列号是无法还原出本地计算机硬件信息的,从而有效保障客户端本地计算机信息的安全,避免计算机敏感信息的扩散或泄露。
88.本发明的具体实现中,在本地生成许可文件,则下次使用软件时,将使用软件的本
地计算机硬件信息以及软件信息与许可文件中保存的计算机硬件信息与软件许可信息做比对,若至少一种比对结果为不同,则不允许运行软件,并要求重新注册,因此,当软件用户将软件拷贝到其他未授权的计算机时,由于未授权计算机上不存在许可文件,或者,即使将许可文件一并拷贝到未授权计算机上,鉴权时也是无法通过,因此,需要注册,从而,有效防止软件的使用扩散,有效保护软件知识产权。
89.进一步,本发明的具体实现中,对软件的使用期限做进一步监控,可有效保护软件的知识产权。
90.本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
91.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1