一种软件版本发布方法、系统及装置的制作方法

文档序号:6332553阅读:195来源:国知局
专利名称:一种软件版本发布方法、系统及装置的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种软件版本发布方法、系统及装置。
背景技术
IMEI (International Mobile Equipment Identity,_|5示■云力i殳It示iR ) i·云力 设备的全球唯一标识号,由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等终端标识号被篡改导致的版本控制风险。一种软件版本发布方法,包括当需要进行版本激活时,获取版本授权码,所述版本授权码是授权方根据对接收 到的版本申请文件中的版本申请码解密获得的随机信息生成的,所述版本申请码是终端在 申请版本授权时根据终端标识号和随机信息生成的;
4
解密版本授权码,获得版本授权码中的随机信息;在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版 本。一种软件版本发布系统,包括终端,用于在需要进行版本激活时,使用终端标识号以及随机信息生成新的版本 申请码并存放在版本申请文件中发送,接收版本授权文件,并解密版本授权文件中的版本 授权码,获得版本授权码中的随机信息,以及在版本授权码中的随机信息与生成版本申请 码的随机信息相同时,激活软件版本;服务器,用于在接收到版本申请文件后,获取版本申请文件中的版本申请码,解密 所述版本申请码,获得终端标识号和随机信息,确定所述终端标识号并未记录在已授权名 单中时,加密该随机信息生成版本授权码和包含版本授权码的版本授权文件,并将所述终 端标识号添加到所述已授权名单中。一种软件版本发布装置,包括版本授权码获取单元,用于当需要进行版本激活时,获取版本授权码,所述版本授 权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的, 所述版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;版本授权码解密单元,用于解密版本授权码,获得版本授权码中的随机信息;激活单元,用于在版本授权码中的随机信息与生成版本申请码的随机信息相同 时,激活软件版本。一种软件版本发布装置,包括版本申请码获取单元,用于在接收到版本申请文件后,获取版本申请文件中的版 本申请码;版本申请码解密单元,用于解密所述版本申请码,获得终端标识号和随机信息;处理单元,用于确定所述终端标识号并未记录在已授权名单中时,加密该随机信 息生成版本授权码和包含版本授权码的版本授权文件,并将所述终端标识号添加到所述已 授权名单中。本发明实施例提供一种软件版本发布方法、系统及装置,使用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、在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激 活软件版本。在步骤SlOl中,获取软件版本授权码的方式包括两种,一种是使用终端标识号以 及随机信息生成新的版本申请码并存放在版本申请文件中发送给授权方,接收授权方返回 的版本授权文件后,获得版本授权文件中的版本授权码;另一种是在使用终端标识号以及 随机信息生成新的版本申请码后,或验证已存在的版本申请码可用后,获取用户输入的版 本授权码。通常在用户首次安装软件后或者在重新启动终端、进行系统更新等情况下,都需 要进行软件版本的激活,此时,则会生成版本申请码或者验证已经生成的版本申请码,版本 校验码通常存储于版本申请文件中,下面详细说明生成版本申请码的流程。 如图2所示,生成版本申请码的流程具体包括步骤S201、版本申请码开始生成;步骤S202、查看是否存在已经生成的版本申请文件,如果存在,执行步骤S203,如 果不存在,执行步骤S205;步骤S203、重新生成版本申请文件中版本申请码的完整性校验码,完整性校验码 的生成规则有很多,通常根据已存在的版本申请码以及其它固定的参考信息生成,通过完整性验证码,可以判断版本申请码的正确性等属性;步骤S204、确定重新生成的完整性校验码和所存储的完整性校验码是否相同,如 果是,则说明生成版本申请文件中的版本申请码无误,可以继续使用,完成版本申请文件的 生成,如果不是,则说明生成版本申请文件中的版本申请码出现错误,需要重新生成版本申 请码,继续执行步骤S205;步骤S205、获得终端标识号和随机信息并加密生成版本申请码;步骤S206、根据生成的版本申请码生成完整性校验码;步骤S207、将生成的版本申请码和完整性校验码存入版本申请文件中。在进行版本激活时,终端需要获取版本授权码,本发明实施例提供的获取版本授 权码的方式包括两种,一种是终端在生成版本申请码后,将携带有版本申请码的版本申请 文件通过无线连接或者有线连接直接发送给授权方,即服务器,服务器在接收到版本申请 文件后,解密版本申请文件中的版本申请码,并获得版本申请码中的随机信息,根据该随机 信息,加密生成版本授权码,并将生成的版本授权码携带在版本授权文件中发送回终端;另 一种是终端提示用户输入版本授权码或者导入版本授权文件。这两种获取版本授权码的方式可以单独使用,也可以搭配使用,例如,可以在终端 未成功从授权方获得版本授权码时,再提示用户输入版本授权码或者导入版本授权文件, 也可以在用户输入的版本授权码未能成功激活时,重新向授权方申请版本授权码。终端在提示用户输入版本授权码后,可以将版本授权码存入版本授权文件中,再 根据版本授权文件进行激活。为保证版本授权码的正确性,通常在提示用户输入版本授权 码的同时,还需要用户输入版本授权码的完整性校验码,并将版本授权码和版本授权码的 完整性校验码都存入版本授权文件,再利用版本授权文件进行激活。更进一步的,授权方在接收到版本申请文件,并获取版本申请文件中的版本申请 码,以及解密版本申请码,获得终端标识号和随机信息后,还可以获得附加随机信息并与随 机信息组合成为组合随机信息,并在确定终端标识号并未记录在已授权名单中时,加密组 合随机信息生成版本授权码和包含版本授权码的版本授权文件,并将终端标识号添加到已 授权名单中。使用预先设定的组合方式形成组合随机信息,并使用组合随机信息生成版本 授权码,可以进一步增加保密性。图3显示了当终端通过有线连接向授权方申请版本授权码的流程,包括步骤S301、终端连接授权方服务器;步骤S302、终端向授权方发送版本申请文件;步骤S303、终端接收授权方返回的版本授权文件;步骤S304、终端根据接收到的版本授权文件进行激活。授权方还可以在接收到版本申请文件,获取版本申请文件中的版本申请码,并解 密版本申请码,获得终端标识号和随机信息后,进一步确定终端标识号是否记录在已授权 名单中,在确定没有记录在已授权名单中时,再加密该随机信息生成版本授权码和包含版 本授权码的版本授权文件,并将终端标识号添加到已授权名单中。这样即可防止对同一终 端硬件号的重复授权。图4显示了当终端获取用户输入的版本申请码进行激活的流程,包括步骤S401、终端提示用户输入版本授权码和版本授权码的完整性校验码;
7
步骤S402、终端接收用户输入的版本授权码和版本授权码的完整性校验码;步骤S403、终端将用户输入的版本授权码和版本授权码的完整性校验码存入版本 授权文件;步骤S404、终端根据版本授权文件进行激活。在激活成功后,即可允许用户使用该软件版本,若激活没有成功,可以进一步提示 用户输入版本授权码或者导入版本授权文件。在进行激活时,终端首先从版本授权文件中获得版本授权码并解密,获得版本授 权码中随机信息,再比对该随机信息是否与版本申请码中的随机信息相同,如果解密版本 授权码获得的是组合随机信息,那么还需要根据组合规律从组合随机信息中获取随机信 息,再进行比对。具体的,如图5所示,根据版本授权码进行激活的流程具体包括步骤S501、确定版本申请文件和版本授权文件存在且都通过了完整性检测;步骤S502、解密版本授权文件中的版本授权码,获得组合随机信息;步骤S503、根据设定的组合规律去掉附加随机信息,获得版本授权码中的随机信 息;步骤S504、在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激 活软件版本。下面以一个具体的实施例说明进行软件版本激活的过程。终端使用基于IMEI号和随机信息IMEI_Rand_l经过加密后生成版本申请码 VerAppCode0即使由于篡改等原因导致其他终端的IMEI号一样,但由于随机信息比如时 间和随机数是不确定的,所以每个终端所生成的版本申请码都是唯一的,生成版本申请码 VerAppCode后将版本申请码VerAppCode存放在版本申请文件Imei. apply中。版本授权方解密Imei. apply中包含的版本唯一版本申请码VerAppCode,获得 IMEI_Rand_l0在此基础上增加附加随机信息比如版本信息(Version),形成新组合IMEI_ Rand_2,然后加密生成包含唯一授权码VerAuthCode的版本授权文件Imei. auth。版本申请方获取Imei. auth后将其输入终端,终端通过解密VerAuthCode获得 IMEI_Rand_2,再去掉附加随机信息获得IMEI_Rand_3,与已经存储在终端上的版本申请文 件Imei. appy中的VerAppCode的IMEI_Rand_l进行比对,如果相同则允许用户使用版本的 部分或全部功能。相应的,本发明实施例还提供一种软件版本发布系统,如图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等终端标识号被篡改导致的版本控制风险。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明意图也包含这些改动和变型在内。
权利要求
一种软件版本发布方法,其特征在于,包括当需要进行版本激活时,获取版本授权码,所述版本授权码是授权方根据对接收到的版本申请文件中的版本申请码解密获得的随机信息生成的,所述版本申请码是终端在申请版本授权时根据终端标识号和随机信息生成的;解密版本授权码,获得版本授权码中的随机信息;在版本授权码中的随机信息与生成版本申请码的随机信息相同时,激活软件版本。
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或硬件ID等终端标识号以及随机信息生成版本申请码向授权方服务器进行版本申请,服务器基于从版本申请码解密出来的随机信息生成版本授权码返回给终端,终端解密版本授权码,若解密出的随机信息与版本申请码中的随机信息相同,则版本激活成功,可以使用版本相应功能。这样,即使其它终端篡改了IMEI或硬件ID等终端标识号,由于随机信息不同,也没有办法使用服务器给该IMEI或硬件ID等终端标识号终端发放的版本授权码进行版本激活,进而有效的防止由于IMEI或硬件ID等终端标识号被篡改导致的版本控制风险。
文档编号G06F21/22GK101944170SQ20101029022
公开日2011年1月12日 申请日期2010年9月20日 优先权日2010年9月20日
发明者李军, 陶海鹏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1