G06F21/22
1.一种软件版本发布方法,其特征在于,包括:
当需要进行版本激活时,获取版本授权码,所述版本授权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的,所述版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;
解密版本授权码,获得版本授权码中的随机信息;
在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
2.如权利要求1所述的方法,其特征在于,所述当需要进行版本激活时,获取版本授权码,具体为:
使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送,以及接收授权方返回的版本授权文件,获得版本授权文件中的版本授权码;或者
在使用终端标识号以及随机信息生成新的版本申请码后,或验证已存在的版本申请码可用后,获取用户输入的版本授权码,或者接收用户导入的版本授权文件,获得版本授权文件中的版本授权码。
3.如权利要求1所述的方法,其特征在于,所述版本授权文件的生成具体包括:
在接收到版本申请文件后,获取版本申请文件中的版本申请码;
解密所述版本申请码,获得终端标识号和随机信息;
确定所述终端标识号并未记录在已授权名单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
4.如权利要求1所述的方法,其特征在于,所述版本授权文件的生成具体包括:
在接收到版本申请文件后,获取版本申请文件中的版本申请码;
解密所述版本申请码,获得终端标识号和随机信息;
获得附加随机信息并与所述随机信息组合成为组合随机信息;
确定所述终端标识号并未记录在已授权名单中时,加密所述组合随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
5.如权利要求4所述的方法,其特征在于,所述解密版本授权码,获得版本授权码中的随机信息具体包括:
解密版本授权码,获得版本授权码中的组合随机信息;
根据组合规律从所述组合随机信息中获取所述随机信息。
6.如权利要求1所述的方法,其特征在于,所述终端标识号具体为IMEI号或者硬件ID号,所述随机信息具体为设定位数的随机数或者设定精度的当前系统时间。
7.一种软件版本发布系统,其特征在于,包括:
终端,用于在需要进行版本激活时,使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送,接收版本授权文件,并解密版本授权文件中的版本授权码,获得版本授权码中的随机信息,以及在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本;
服务器,用于在接收到版本申请文件后,获取版本申请文件中的版本申请码,解密所述版本申请码,获得终端标识号和随机信息,确定所述终端标识号并未记录在已授权名单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
8.如权利要求7所述的系统,其特征在于,所述服务器具体用于:在接收到版本申请文件后,获取版本申请文件中的版本申请码,解密所述版本申请码,获得终端标识号和随机信息,获得附加随机信息并与所述随机信息组合成为组合随机信息,并在确定所述终端标识号并未记录在已授权名单中时,加密所述组合随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
9.如权利要求8所述的系统,其特征在于,所述终端具体用于:在需要进行版本激活时,使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送,接收版本授权文件,并解密版本授权文件中的版本授权码,获得版本授权码中的组合随机信息,根据组合规律从所述组合随机信息中获取所述随机信息获得版本授权码中的随机信息,以及在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
10.一种软件版本发布装置,其特征在于,包括:
版本授权码获取单元,用于当需要进行版本激活时,获取版本授权码,所述版本授权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的,所述版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;
版本授权码解密单元,用于解密版本授权码,获得版本授权码中的随机信息;
激活单元,用于在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
11.如权利要求10所述的装置,其特征在于,所述版本授权码获取单元具体用于:
使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送,以及接收授权方返回的版本授权文件,获得版本授权文件中的版本授权码;或者
验证已存在版本申请文件可用后,获取用户输入的版本授权码。
12.如权利要求10所述的装置,其特征在于,所述版本授权码解密单元具体用于:
解密版本授权码,获得版本授权码中的组合随机信息,并根据组合规律从所述组合随机信息中获取所述随机信息。
13.一种软件版本发布装置,其特征在于,包括:
版本申请码获取单元,用于在接收到版本申请文件后,获取版本申请文件中的版本申请码;
版本申请码解密单元,用于解密所述版本申请码,获得终端标识号和随机信息;
处理单元,用于确定所述终端标识号并未记录在已授权名单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
14.如权利要求13所述的装置,其特征在于,所述处理单元具体用于:
获得附加随机信息并与所述随机信息组合成为组合随机信息,并在确定所述终端标识号并未记录在已授权名单中时,加密所述组合随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
技术领域
本发明涉及计算机领域,尤其涉及一种软件版本发布方法、系统及装置。
背景技术
IMEI(International Mobile Equipment Identity,国际移动设备标识)是移动设备的全球唯一标识号,由15位数字组成。IMEI号的主要目的是确保系统中使用的移动台设备不是盗用的或非法使用的。现在IMEI也经常被用来当作移动终端使用某个软件版本或者应用的标识。但是移动终端生产工艺和生产流程等原因,IMEI号不能采取固定的形式记录在芯片的内部,而是利用软件存储在移动终端的闪存(Flash)内。但因闪存的存储内容可以利用专业软件和工具就可以轻松篡改,所以导致可能多个终端可以拥有同一个IMEI。
本发明的发明人发现,如果仅使用移动终端的IMEI号进行软件版本发布,移动终端在将IMEI号篡改成为已经获得版本授权的移动终端的IMEI号以后,则可以使用已经获得版本授权的移动终端的版本授权号获准使用该版本的功能。
这样,移动终端的IMEI号便失去了鉴别其合法性的作用。甚至有些移动终端通过篡改IMEI号达到欺骗网络获取非法身份或功能的目的,如果使用硬件ID等其它终端标识,也可能被篡改,所以也具有同样的问题。
现有技术中也有一些解决该问题的方法,例如:专利申请号为200710036405.0的中国专利申请公开了一种基于硬件序列号的IMEI码保护方法,具体为:针对篡改IMEI号的解决办法是利用终端基带芯片上的唯一序列号CID(Chip ID)和IMEI号进行校验后的值CheckID存入芯片内部的OTP(Onetime programmable,一次可编写)区域。由于OTP一旦数据写入就不可改写,从而达到防止IMEI篡改的目的。但是这种方法有两个缺点:a)使用此方法的移动终端上的芯片(比如基带芯片)需要有一个唯一的序列号,但是可能很多移动终端上的芯片不能满足这个条件。b)使用此方法的移动终端上需要有一个OTP区域用来存储校验值,这个条件也不一定能够满足。
专利申请号为US20070050622A1的美国专利申请“Method,system andapparatus for prevention of flash IC replacement hacking attack.”中也是将IMEI保存在OTP元件中,同样存在移动终端可能不包含OTP元件的问题。
发明内容
本发明实施例提供一种软件版本发布方法、系统及装置,以防止由于IMEI或硬件ID等终端标识号被篡改导致的版本控制风险。
一种软件版本发布方法,包括:
当需要进行版本激活时,获取版本授权码,所述版本授权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的,所述版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;
解密版本授权码,获得版本授权码中的随机信息;
在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
一种软件版本发布系统,包括:
终端,用于在需要进行版本激活时,使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送,接收版本授权文件,并解密版本授权文件中的版本授权码,获得版本授权码中的随机信息,以及在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本;
服务器,用于在接收到版本申请文件后,获取版本申请文件中的版本申请码,解密所述版本申请码,获得终端标识号和随机信息,确定所述终端标识号并未记录在已授权名单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
一种软件版本发布装置,包括:
版本授权码获取单元,用于当需要进行版本激活时,获取版本授权码,所述版本授权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的,所述版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;
版本授权码解密单元,用于解密版本授权码,获得版本授权码中的随机信息;
激活单元,用于在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
一种软件版本发布装置,包括:
版本申请码获取单元,用于在接收到版本申请文件后,获取版本申请文件中的版本申请码;
版本申请码解密单元,用于解密所述版本申请码,获得终端标识号和随机信息;
处理单元,用于确定所述终端标识号并未记录在已授权名单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已授权名单中。
本发明实施例提供一种软件版本发布方法、系统及装置,使用IMEI或硬件ID等终端标识号以及随机信息生成版本申请码向授权方服务器进行版本申请,服务器基于从版本申请码解密出来的随机信息生成版本授权码返回给终端,终端解密版本授权码,若解密出的随机信息与版本申请码中的随机信息相同,则版本激活成功,可以使用版本相应功能。这样,即使其它终端篡改了IMEI或硬件ID等终端标识号,由于随机信息不同,也没有办法使用服务器给该IMEI或硬件ID等终端标识号终端发放的版本授权码进行版本激活,进而有效的防止由于IMEI或硬件ID等终端标识号被篡改导致的版本控制风险。
附图说明
图1为本发明实施例提供的软件版本发布方法流程示意图;
图2为本发明实施例提供的生成版本申请码的流程示意图;
图3为本发明实施例中当终端通过有线连接向授权方申请版本授权码的流程示意图;
图4为本发明实施例中当终端获取用户输入的版本申请码进行激活的流程示意图;
图5为本发明实施例中根据版本授权码进行激活的流程示意图;
图6为本发明实施例提供的软件版本发布系统结构示意图;
图7为本发明实施例提供的终端结构示意图;
图8为本发明实施例提供的服务器结构示意图。
具体实施方式
本发明实施例提供一种软件版本发布方法、系统及装置,使用IMEI或硬件ID等终端标识号以及随机信息生成版本申请码向授权方服务器进行版本申请,服务器基于从版本申请码解密出来的随机信息生成版本授权码返回给终端,终端解密版本授权码,若解密出的随机信息与版本申请码中的随机信息相同,则版本激活成功,可以使用版本相应功能。
由于在申请码和授权码中都携带有随机信息,并通过随机信息来验证授权码的正确性,即使其它终端篡改了IMEI或硬件ID等终端标识号,由于其它终端生成的申请码中随机信息与授权码不同,所以没有办法使用服务器给该IMEI或硬件ID等终端标识号终端发放的版本授权码进行版本激活,进而有效的防止由于IMEI或硬件ID等终端标识号被篡改导致的版本控制风险。
如图1所示,本发明实施例提供的软件版本发布方法包括:
步骤S101、当需要进行版本激活时,获取版本授权码;
其中,版本授权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的,版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;
步骤S102、解密版本授权码,获得版本授权码中的随机信息;
步骤S103、在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
在步骤S101中,获取软件版本授权码的方式包括两种,一种是使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送给授权方,接收授权方返回的版本授权文件后,获得版本授权文件中的版本授权码;另一种是在使用终端标识号以及随机信息生成新的版本申请码后,或验证已存在的版本申请码可用后,获取用户输入的版本授权码。
通常在用户首次安装软件后或者在重新启动终端、进行系统更新等情况下,都需要进行软件版本的激活,此时,则会生成版本申请码或者验证已经生成的版本申请码,版本校验码通常存储于版本申请文件中,下面详细说明生成版本申请码的流程。
如图2所示,生成版本申请码的流程具体包括:
步骤S201、版本申请码开始生成;
步骤S202、查看是否存在已经生成的版本申请文件,如果存在,执行步骤S203,如果不存在,执行步骤S205;
步骤S203、重新生成版本申请文件中版本申请码的完整性校验码,完整性校验码的生成规则有很多,通常根据已存在的版本申请码以及其它固定的参考信息生成,通过完 整性验证码,可以判断版本申请码的正确性等属性;
步骤S204、确定重新生成的完整性校验码和所存储的完整性校验码是否相同,如果是,则说明生成版本申请文件中的版本申请码无误,可以继续使用,完成版本申请文件的生成,如果不是,则说明生成版本申请文件中的版本申请码出现错误,需要重新生成版本申请码,继续执行步骤S205;
步骤S205、获得终端标识号和随机信息并加密生成版本申请码;
步骤S206、根据生成的版本申请码生成完整性校验码;
步骤S207、将生成的版本申请码和完整性校验码存入版本申请文件中。
在进行版本激活时,终端需要获取版本授权码,本发明实施例提供的获取版本授权码的方式包括两种,一种是终端在生成版本申请码后,将携带有版本申请码的版本申请文件通过无线连接或者有线连接直接发送给授权方,即服务器,服务器在接收到版本申请文件后,解密版本申请文件中的版本申请码,并获得版本申请码中的随机信息,根据该随机信息,加密生成版本授权码,并将生成的版本授权码携带在版本授权文件中发送回终端;另一种是终端提示用户输入版本授权码或者导入版本授权文件。
这两种获取版本授权码的方式可以单独使用,也可以搭配使用,例如,可以在终端未成功从授权方获得版本授权码时,再提示用户输入版本授权码或者导入版本授权文件,也可以在用户输入的版本授权码未能成功激活时,重新向授权方申请版本授权码。
终端在提示用户输入版本授权码后,可以将版本授权码存入版本授权文件中,再根据版本授权文件进行激活。为保证版本授权码的正确性,通常在提示用户输入版本授权码的同时,还需要用户输入版本授权码的完整性校验码,并将版本授权码和版本授权码的完整性校验码都存入版本授权文件,再利用版本授权文件进行激活。
更进一步的,授权方在接收到版本申请文件,并获取版本申请文件中的版本申请码,以及解密版本申请码,获得终端标识号和随机信息后,还可以获得附加随机信息并与随机信息组合成为组合随机信息,并在确定终端标识号并未记录在已授权名单中时,加密组合随机信息生成版本授权码和包含版本授权码的版本授权文件,并将终端标识号添加到已授权名单中。使用预先设定的组合方式形成组合随机信息,并使用组合随机信息生成版本授权码,可以进一步增加保密性。
图3显示了当终端通过有线连接向授权方申请版本授权码的流程,包括:
步骤S301、终端连接授权方服务器;
步骤S302、终端向授权方发送版本申请文件;
步骤S303、终端接收授权方返回的版本授权文件;
步骤S304、终端根据接收到的版本授权文件进行激活。
授权方还可以在接收到版本申请文件,获取版本申请文件中的版本申请码,并解密版本申请码,获得终端标识号和随机信息后,进一步确定终端标识号是否记录在已授权名单中,在确定没有记录在已授权名单中时,再加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将终端标识号添加到已授权名单中。这样即可防止对同一终端硬件号的重复授权。
图4显示了当终端获取用户输入的版本申请码进行激活的流程,包括:
步骤S401、终端提示用户输入版本授权码和版本授权码的完整性校验码;
步骤S402、终端接收用户输入的版本授权码和版本授权码的完整性校验码;
步骤S403、终端将用户输入的版本授权码和版本授权码的完整性校验码存入版本授权文件;
步骤S404、终端根据版本授权文件进行激活。
在激活成功后,即可允许用户使用该软件版本,若激活没有成功,可以进一步提示用户输入版本授权码或者导入版本授权文件。
在进行激活时,终端首先从版本授权文件中获得版本授权码并解密,获得版本授权码中随机信息,再比对该随机信息是否与版本申请码中的随机信息相同,如果解密版本授权码获得的是组合随机信息,那么还需要根据组合规律从组合随机信息中获取随机信息,再进行比对。
具体的,如图5所示,根据版本授权码进行激活的流程具体包括:
步骤S501、确定版本申请文件和版本授权文件存在且都通过了完整性检测;
步骤S502、解密版本授权文件中的版本授权码,获得组合随机信息;
步骤S503、根据设定的组合规律去掉附加随机信息,获得版本授权码中的随机信息;
步骤S504、在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
下面以一个具体的实施例说明进行软件版本激活的过程。
终端使用基于IMEI号和随机信息IMEI_Rand_1经过加密后生成版本申请码VerAppCode。即使由于篡改等原因导致其他终端的IMEI号一样,但由于随机信息比如时间和随机数是不确定的,所以每个终端所生成的版本申请码都是唯一的,生成版本申请码VerAppCode后将版本申请码VerAppCode存放在版本申请文件Imei.apply中。
版本授权方解密Imei.apply中包含的版本唯一版本申请码VerAppCode,获得IMEI_Rand_1。在此基础上增加附加随机信息比如版本信息(Version),形成新组合IMEI_Rand_2,然后加密生成包含唯一授权码VerAuthCode的版本授权文件Imei.auth。
版本申请方获取Imei.auth后将其输入终端,终端通过解密VerAuthCode获得IMEI_Rand_2,再去掉附加随机信息获得IMEI_Rand_3,与已经存储在终端上的版本申请文件Imei.appy中的VerAppCode的IMEI_Rand_1进行比对,如果相同则允许用户使用版本的部分或全部功能。
相应的,本发明实施例还提供一种软件版本发布系统,如图6所示,包括终端601和服务器602,其中:
终端601,用于在需要进行版本激活时,使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送给服务器602,接收服务器602返回的版本授权文件,并解密版本授权文件中的版本授权码,获得版本授权码中的随机信息,以及在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本;
服务器602,用于在接收到终端601发送的版本申请文件后,获取版本申请文件中的版本申请码,解密版本申请码,获得终端标识号和随机信息,确定终端标识号并未记录在已授权名单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件发送给终端601,并将终端标识号添加到已授权名单中。
为了进一步增加保密性,服务器602具体用于:在接收到版本申请文件后,获取版本申请文件中的版本申请码,解密版本申请码,获得终端标识号和随机信息,获得附加随机信息并与随机信息组合成为组合随机信息,并在确定终端标识号并未记录在已授权名单中时,加密组合随机信息生成版本授权码和包含版本授权码的版本授权文件,并将终端标识号添加到已授权名单中。
相应的,终端601具体用于:在需要进行版本激活时,使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送,接收版本授权文件,并解密版本授权文件中的版本授权码,获得版本授权码中的组合随机信息,根据组合规律从组合随机信息中获取随机信息获得版本授权码中的随机信息,以及在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
本发明实施例还相应提供一种软件版本发布装置,该装置可以具体为一种终端,如图7所示,装置中包括:版本授权码获取单元701、版本授权码解密单元702和激活单元703,其中:
版本授权码获取单元701,用于当需要进行版本激活时,获取版本授权码,其中,版本授权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的,版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;
版本授权码解密单元702,用于解密版本授权码,获得版本授权码中的随机信息;
激活单元703,用于在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
分别针对本发明实施例提供的两种版本授权码的获取方式,版本授权码获取单元701具体用于:
使用终端标识号以及随机信息生成新的版本申请码并存放在版本申请文件中发送,以及接收授权方返回的版本授权文件,获得版本授权文件中的版本授权码;或者
验证已存在版本申请文件可用后,获取用户输入的版本授权码。
在通过组合随机信息生成版本授权码时,版本授权码解密单元702具体用于:
解密版本授权码,获得版本授权码中的组合随机信息,并根据组合规律从组合随机信息中获取随机信息。
本发明实施例还相应提供一种软件版本发布装置,该装置可以具体为一种服务器,如图8所示,该装置中包括:
版本申请码获取单元801,用于在接收到版本申请文件后,获取版本申请文件中的版本申请码;
版本申请码解密单元802,用于解密版本申请码,获得终端标识号和随机信息;
处理单元803,用于确定终端标识号并未记录在已授权名单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将终端标识号添加到已授权名单中。
在通过组合随机信息生成版本授权码时,处理单元803具体用于:
获得附加随机信息并与随机信息组合成为组合随机信息,并在确定终端标识号并未记录在已授权名单中时,加密组合随机信息生成版本授权码和包含版本授权码的版本授权文件,并将终端标识号添加到已授权名单中。
本发明实施例提供一种软件版本发布方法、系统及装置,使用IMEI或硬件ID等终端标识号以及随机信息生成版本申请码向授权方服务器进行版本申请,服务器基于从版本申请码解密出来的随机信息生成版本授权码返回给终端,终端解密版本授权码,若解密出的随机信息与版本申请码中的随机信息相同,则版本激活成功,可以使用版本相应功能。这样,即使其它终端篡改了IMEI或硬件ID等终端标识号,由于随机信息不同,也没有办法使用服务器给该IMEI或硬件ID等终端标识号终端发放的版本授权码进行版本激活,进而有效的防止由于IMEI或硬件ID等终端标识号被篡改导致的版本控制风险。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明意图也包含这些改动和变型在内。
本文发布于:2023-04-13 14:10:26,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/86534.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |