随机捆绑软件安装方法

文档序号:6547226阅读:199来源:国知局
专利名称:随机捆绑软件安装方法
技术领域
本发明涉及计算机信息安全技术领域,特别是指一种随机捆绑软件安装方法。
背景技术
长期以来,计算机厂商所捆绑软件的开发商出于版权保护的考虑,需要防止非法用户盗用其软件被安装在非捆绑的计算机上。为了实现该目的,一个基本方法是软件开发商要求用户在安装随机捆绑软件时输入其提供的授权的注册号、密码等信息,来防止非法用户的任意盗用拷贝传播。
这样计算机的装箱单中必须增加一个用户卡,记录有随机捆绑软件开发商提供给用户的注册号、密码等信息。由于用户卡很容易丢失,在以后的重新安装该软件时会给用户带来不便。另外某些企业会将用户卡进行统一管理,例如统一保存在IT管理部门,而最终用户无法得到,这样带来的问题是,用户在安装随机软件遇到涉及注册号、密码问题时会直接拨打计算机厂商的免费服务电话,对于计算机厂商来说,极大地增加了服务成本。
并且,用户卡的形式,也容易使合法的用户不正确的传播该软件安装到非捆绑该软件的计算机上,给捆绑软件的开发商带来了损失。为了避免用户卡的形式,目前的解决方案是在计算机的BIOS中设置一个计算机厂商的标识信息,该厂商标识信息是随机捆绑软件开发商所捆绑的计算机的厂商标识。当在安装该随机软件过程中,软件安装程序会读取BIOS中的厂商标识信息,如果是所授权的计算机厂商的标识,则认为该计算机被授权,可以安装该软件,继续完成软件安装过程。
但是,随着刷新BIOS工具的广泛流传,非法用户可以通过将BIOS刷新成合法计算机厂商的BIOS,来实现非法使用该随机捆绑软件。另一方面,使用这种厂商标识的方法,当不同的软件提供商授权给同一个计算机厂商时,不同的随机软件都使用相同的方式鉴定BIOS中厂商标识是否为设定的该计算机厂商标识,从而使各个不同的捆绑软件提供商知道其他软件提供商的版本软件保护方法,可以轻易的获取对方软件进行安装。因此不同的软件提供商希望使用不同的方法实现各自软件的版权保护,以避免软件提供商之间的软件非法盗用。

发明内容
有鉴于此,本发明的主要目的在于提供一种随机捆绑软件的安装方法,实现随机捆绑软件的安全合法安装,避免被安装到非授权的计算机上。
实现本发明提供的一种随机捆绑软件安装方法,要在所捆绑的计算机上固化一加密程序,在随机捆绑软件安装程序中嵌入对应的解密程序;在随机捆绑软件安装过程中,该方法包括以下步骤A1、随机捆绑软件安装程序生成一验证码,并将验证码传送给固化在计算机上的加密程序;B1、固化在计算机上的加密程序对该验证码加密生成加密验证码,并将加密验证码传送给随机捆绑软件安装程序;C1、随机捆绑软件安装程序解密所述加密验证码,判断所解密后的加密验证码是否与步骤A1所述验证码相同,是则继续安装过程;否则结束本流程。
可选的,在步骤A1所述随机捆绑软件安装程序将验证码传送给固化在计算机上的加密程序、和步骤B1所述加密程序将加密验证码传送给随机捆绑软件安装程序的步骤中,进一步包括加密程序对随机捆绑软件安装程序进行鉴权的步骤。
可选的,步骤B1后进一步包括随机捆绑软件安装程序在一定时间内未接收到所述加密程序的加密验证码信息,则结束本流程。
较佳的,所述加密程序固化在计算机硬盘的HPA区域内。可选的,步骤A1所述将验证码传送给固化在计算机上的加密程序的步骤包括将验证码传送给HPA存储,修改CMOS参数值为启动后执行HPA中的加密程序,重启计算机;重启后,根据所述CMOS值启动加密程序,加密程序读取HPA存储的所述验证码;步骤B1所述将加密验证码传送给随机捆绑软件安装程序的步骤包括将验证码在HPA中存储,重启计算机;重启后,继续进入随机捆绑软件安装程序,随机捆绑软件安装程序读取HPA存储的所述加密验证码。
本发明还提供了一种随机捆绑软件安装方法,要在随机捆绑软件安装程序中嵌入一加密程序,在所捆绑的计算机上固化对应的解密程序,在随机捆绑软件安装过程中,该方法包括以下步骤A6、随机捆绑软件安装程序生成一验证码,对该验证码加密生成加密验证码,并将加密验证码传送给固化在计算机上的解密程序;B6、固化在计算机上的解密程序对该加密验证码解密生成验证码,并将该验证码传送给随机捆绑软件安装程序;C6、随机捆绑软件安装程序判断接收到的步骤B6的验证码是否与步骤A6所述验证码相同,是则继续,否则结束本流程。
可选的,步骤B6后进一步包括随机捆绑软件安装程序在一定时间内未接收到所述解密程序解密后的验证码信息,则结束本流程。
8、根据权利要求6所述的方法,其特征在于,所述解密程序固化在计算机硬盘的HPA区域内。
可选的,步骤A6所述将加密验证码传送给固化在计算机上的解密程序的步骤包括将加密验证码传送给HPA存储,修改CMOS参数值为启动后执行HPA中的解密程序,重启计算机;重启后,根据所述CMOS值启动解密程序,解密程序读取HPA存储的所述加密验证码;步骤B6所述将解密后的验证码传送给随机捆绑软件安装程序的步骤包括将解密后的验证码在HPA中存储,重启计算机;重启后,继续进入随机捆绑软件安装程序,随机捆绑软件安装程序读取HPA存储的所述验证码。
本发明还提供了一种随机捆绑软件安装方法,要在随机捆绑软件安装程序中嵌入一加密程序,在所捆绑的计算机上固化相同的加密程序,在随机捆绑软件安装过程中,该方法包括以下步骤A10、随机捆绑软件安装程序生成一验证码,并将验证码传送给固化在计算机上的加密程序;B10、固化在计算机上的加密程序对该验证码加密生成加密验证码,并将加密验证码传送给随机捆绑软件安装程序;C10、随机捆绑软件安装程序对其所生成的验证码加密生成第二加密验证码,判断第二加密验证码是否与接收的步骤B10所述加密验证码相同,是则继续安装过程;否则结束本流程。
较佳的,所述加密程序固化在计算机硬盘的HPA区域内。可选的,步骤A10所述将验证码传送给固化在计算机上的加密程序的步骤包括将验证码传送给HPA存储,修改CMOS参数值为启动后执行HPA中的加密程序,重启计算机;重启后,根据CMOS值启动加密程序,加密程序读取HPA存储的所述验证码;步骤B10所述将加密验证码传送给随机捆绑软件安装程序的步骤包括将验证码在HPA中存储,重启计算机;重启后,继续进入随机捆绑软件安装程序,随机捆绑软件安装程序读取HPA存储的所述加密验证码。
由上述方法可以看出,本发明的随机捆绑软件的安装方法,可以让不同的随机软件开发商均单独与计算机厂商约定不同的版权保护的算法和密钥,并且其内容甚至可以不告诉计算机厂商,降低了秘密公开化的风险。另外加密算法高强度,密钥高随机性也可以提升被破解的难度,得以对随机捆绑软件进行有效的版权保护。


图1为随机捆绑软件安装流程图。
图2为HPA分区的划分示意图。
图3为本发明捆绑软件安装实施例流程图。
图4为计算机启动HPA中程序的流程图。
具体实施例方式
本发明公开了一种使用嵌入式系统和密码技术实现随机捆绑软件的安装方法,该方法可以在随机捆绑软件安装过程中鉴别计算机是否为合法授权的计算机。
本发明在计算机上固化了一个加密程序,该加密程序可以位于与计算机为一体的器件上,例如可以位于计算机主板上的一个存储器件上(如BIOS),或者位于硬盘上等;还要在随机捆绑软件中嵌入对应的解密程序。所述加密、解密算法由随机捆绑软件提供商提供。参见图1示出的流程图,本发明的随机捆绑软件安装方法包括以下步骤步骤101随机捆绑软件安装程序运行过程中生成一验证码,该验证码可以是一个随机数,并将验证码传送给固化在计算机上的加密程序;步骤102加密程序对该验证码加密生成加密验证码;并将加密验证码传送给随机捆绑软件安装程序;步骤103随机捆绑软件安装程序解密所述加密验证码,判断所解密后的加密验证码是否与步骤101所述验证码相同,是则说明该计算机是合法授权的计算机,继续安装过程;否则说明该计算机是未经授权的计算机,结束本流程。
上述步骤103也可以是随机捆绑软件安装程序对其生成的验证码加密生成第二加密验证码,与加密程序返回的加密验证码进行比较,当相同时,则说明该计算机是授权的计算机,继续安装过程;否则说明该计算机是未经授权的计算机,结束本流程。
在上述流程中,当其他随机捆绑软件提供商也使用该方法来验证所安装的计算机是否为授权的计算机时,由于不同软件厂商提供的加密算法不同(如密钥或加密算法不同),则各个软件提供商由于无法获得其他软件提供商的加密算法而无法非法使用。对于非捆绑软件的计算机不存在该加密程序时,捆绑软件安装过程中会收不到步骤102中的响应信息而中止安装流程,避免了捆绑软件的非法传播。
另外,也可以在计算机上固化解密程序,随机捆绑软件内嵌对应的加密算法,采用如下的步骤进行软件的安装,包括以下步骤第一步骤随机捆绑软件安装程序运行过程中生成一验证码,对该验证码加密生成加密验证码,并将加密验证码传送给固化在计算机上的解密程序;第二步骤解密程序对该加密验证码解密生成验证码;并将该验证码传送给随机捆绑软件安装程序;第三步骤随机捆绑软件安装程序判断接收到的第二步骤的验证码是否与第一步骤所述验证码相同,是则继续,否则结束本流程。
若随机捆绑软件安装程序在一定时间内未接收到解密程序的响应信息,也要结束本流程。
由于上面所述在计算机上固化加密或解密程序的两种方式原理基本相同,故后面所述实施例仅针对所述图1的方案进行说明,对于上述第二种实施例,可以很容易的根据图1方案的实施例推导出来,故不再骜述。
在本发明提供的实施例中,将加密程序固化在计算机的硬盘上,并且为了实现对该程序的保护,采用了主机保护区域(HPA,Host Protect Area)技术。HPA是指计算机生产厂商在出厂时在计算机硬盘中划分的一个区域,该区域的内容受到保护,不能被操作系统直接访问,必须通过专用的驱动接口进行读写访问。并且为保证该区域的安全性,计算机厂商可以设置HPA的访问密码,在进行读写HPA时,驱动接口会验证访问HPA的程序的密码是否正确,只有提供正确密码的程序才可以访问HPA。HPA中可以进一步划分为多个独立空间,分别存储操作系统,独立程序或普通数据,各个空间依据标示号进行区分。HPA规范是计算机业界遵循的一种行业规范,BIOS、硬盘、OS和计算机厂商均支持该规范。
如图2示出了本发明HPA分区功能模块示意图。本发明在HPA区域中设置了双模式引导模块(DM,Double Manager)、序列号验证程序模块和交互数据区,这些模块在计算机出厂时预置在硬盘HPA不同分区内。
DM模块用于调用硬盘中不同的操作系统或应用。计算机启动过程中,由BIOS自动将控制权交给该DM模块,该模块根据不同的标示号进入不同系统(如操作系统、HPA中存储的不同应用模块)。DM模块由计算机厂商开发并长期维护,通过该模块可以实现多种操作系统和应用并存与HPA中,实现双模式或多模式应用。
序列号验证程序由随机软件开发商实现,内嵌与随机捆绑软件安装程序中的验证模块相配合的私密密钥,该模块实现加密运算,密钥可以由随机软件提供商提供。该模块负责对接收到的验证码进行加密并将加密结果存放在交互数据区,相当于图1对应的方法中所述的加密程序。
交互数据区是所述随机捆绑软件安装程序和HPA中的序列号验证程序进行数据交互的区域。
本发明还需要在随机捆绑软件安装程序中嵌入一个验证模块,用于在安装过程中负责生成随机数作为验证码,以及对HPA返回的加密验证码进行解密和验证功能,包含了图1对应方法中所述的解密程序。
HPA内置的加密算法密钥只有软件开发商掌握,只有计算机生产厂商才可以在出厂时划分和写入HPA中的内容,保证了计算机上固化的加密算法不会被修改和破解。
下面参见附图3,对本发明的捆绑软件安装方法进行说明,包括以下步骤步骤301用户运行随机捆绑软件的安装程序(如Setup.exe、Install.exe等),安装程序内嵌的验证模块随机生成验证码P,并将该验证码存储到HPA的交互数据区中;可选的,在安装程序通过驱动接口访问HPA过程中,安装程序需提供访问HPA区域的密码后才能访问HPA区域将验证码P存入HPA的交互数据区。
步骤302修改CMOS中参数值为启动时自动进入HPA序列号验证程序的值,自动重新启动计算机。修改CMOS值方法可以通过调用CMOS的接口进行修改。
步骤303BIOS在计算机启动过程中读取到CMOS中的上述参数值,并将其转化为DM模块可以识别的功能标示码,将该功能标示码写入内存固定地址的参数表中。
然后,BIOS将控制权交给HPA内的DM模块,DM模块读取内存参数表,根据参数表中的功能指示码调用HPA中的该功能指示码对应的序列号验证程序。
对于该步骤,在HPA不同的分区放置不同的程序,DM根据功能指示码对应的HPA分区的标示号,转入该区域的首地址,调用其中记录的程序(本例中即调用序列号验证程序)。这个过程可以参见图4示出的计算机启动HPA中程序的流程图。
步骤304序列号验证程序读取HPA交互数据区中的验证码P,使用加密算法和内置密钥K1中对验证码P进行加密运算,生成加密的验证码P++,并将P++替换P存储在交互数据区中,并清除步骤302所修改的COMS中的值,重新启动计算机。
步骤305计算机重新启动后继续随机捆绑软件的安装过程,安装程序从HPA交互数据区中读取出P++。可选的,在安装程序通过驱动接口访问HPA过程中,安装程序需提供访问HPA区域的密码后才能读取HPA的交互数据区。
步骤306随机捆绑软件使用自带的解密算法和内置密钥K2对序列号验证程序提供的P++进行解密,生成比较码P1,与验证码P进行比较,若相同则表示该计算机为授权的计算机,继续完成安装过程,否则给出提示信息后结束本流程。
不难理解,根据图1对应的方法,也可以使用下面的步骤替换步骤306随机捆绑软件使用自带的加密算法和内置密钥K2对原验证码P进行加密生成P1++,与P++进行比较,若相同则表示该计算机为授权的计算机,继续完成安装过程,否则结束本流程。
以上提供的实施例是以随机捆绑软件提供验证码,然后提供给HPA中的程序加密,而后根据随机捆绑软件是否能够将加密后的验证码解密为原验证码来判断该软件所安装到的计算机是否是合法授权的计算机。不难理解,也可以是随机捆绑软件安装过程中生成验证码并进行加密,将加密后的验证码提供给HPA中的程序解密,而后判断解密后的验证码是否为软件安装过程所生成的原验证码来判断软件所安装到的计算机是否是合法授权的计算机。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种随机捆绑软件安装方法,其特征在于,在所捆绑的计算机上固化一加密程序,在随机捆绑软件安装程序中嵌入对应的解密程序;在随机捆绑软件安装过程中,该方法包括以下步骤A1、随机捆绑软件安装程序生成一验证码,并将验证码传送给固化在计算机上的加密程序;B1、固化在计算机上的加密程序对该验证码加密生成加密验证码,并将加密验证码传送给随机捆绑软件安装程序;C1、随机捆绑软件安装程序解密所述加密验证码,判断所解密后的加密验证码是否与步骤A1所述验证码相同,是则继续安装过程;否则结束本流程。
2.根据权利要求1所述的方法,其特征在于,在步骤A1所述随机捆绑软件安装程序将验证码传送给固化在计算机上的加密程序、和步骤B1所述加密程序将加密验证码传送给随机捆绑软件安装程序的步骤中,进一步包括加密程序对随机捆绑软件安装程序进行鉴权的步骤。
3.根据权利要求1所述的方法,其特征在于,步骤B1后进一步包括随机捆绑软件安装程序在一定时间内未接收到所述加密程序的加密验证码信息,则结束本流程。
4.根据权利要求1所述的方法,其特征在于,所述加密程序固化在计算机硬盘的HPA区域内。
5.根据权利要求4所述的方法,其特征在于,步骤A1所述将验证码传送给固化在计算机上的加密程序的步骤包括将验证码传送给HPA存储,修改CMOS参数值为启动后执行HPA中的加密程序,重启计算机;重启后,根据所述CMOS值启动加密程序,加密程序读取HPA存储的所述验证码;步骤B1所述将加密验证码传送给随机捆绑软件安装程序的步骤包括将验证码在HPA中存储,重启计算机;重启后,继续进入随机捆绑软件安装程序,随机捆绑软件安装程序读取HPA存储的所述加密验证码。
6.一种随机捆绑软件安装方法,其特征在于,在随机捆绑软件安装程序中嵌入一加密程序,在所捆绑的计算机上固化对应的解密程序,在随机捆绑软件安装过程中,该方法包括以下步骤A6、随机捆绑软件安装程序生成一验证码,对该验证码加密生成加密验证码,并将加密验证码传送给固化在计算机上的解密程序;B6、固化在计算机上的解密程序对该加密验证码解密生成验证码,并将该验证码传送给随机捆绑软件安装程序;C6、随机捆绑软件安装程序判断接收到的步骤B6的验证码是否与步骤A6所述验证码相同,是则继续,否则结束本流程。
7.根据权利要求6所述的方法,其特征在于,步骤B6后进一步包括随机捆绑软件安装程序在一定时间内未接收到所述解密程序解密后的验证码信息,则结束本流程。
8.根据权利要求6所述的方法,其特征在于,所述解密程序固化在计算机硬盘的HPA区域内。
9.根据权利要求8所述的方法,其特征在于,步骤A6所述将加密验证码传送给固化在计算机上的解密程序的步骤包括将加密验证码传送给HPA存储,修改CMOS参数值为启动后执行HPA中的解密程序,重启计算机;重启后,根据所述CMOS值启动解密程序,解密程序读取HPA存储的所述加密验证码;步骤B6所述将解密后的验证码传送给随机捆绑软件安装程序的步骤包括将解密后的验证码在HPA中存储,重启计算机;重启后,继续进入随机捆绑软件安装程序,随机捆绑软件安装程序读取HPA存储的所述验证码。
10.一种随机捆绑软件安装方法,其特征在于,在随机捆绑软件安装程序中嵌入一加密程序,在所捆绑的计算机上固化相同的加密程序,在随机捆绑软件安装过程中,该方法包括以下步骤A10、随机捆绑软件安装程序生成一验证码,并将验证码传送给固化在计算机上的加密程序;B10、固化在计算机上的加密程序对该验证码加密生成加密验证码,并将加密验证码传送给随机捆绑软件安装程序;C10、随机捆绑软件安装程序对其所生成的验证码加密生成第二加密验证码,判断第二加密验证码是否与接收的步骤B10所述加密验证码相同,是则继续安装过程;否则结束本流程。
11.根据权利要求10所述的方法,其特征在于,所述加密程序固化在计算机硬盘的HPA区域内。
12.根据权利要求11所述的方法,其特征在于,步骤A10所述将验证码传送给固化在计算机上的加密程序的步骤包括将验证码传送给HPA存储,修改CMOS参数值为启动后执行HPA中的加密程序,重启计算机;重启后,根据CMOS值启动加密程序,加密程序读取HPA存储的所述验证码;步骤B10所述将加密验证码传送给随机捆绑软件安装程序的步骤包括将验证码在HPA中存储,重启计算机;重启后,继续进入随机捆绑软件安装程序,随机捆绑软件安装程序读取HPA存储的所述加密验证码。
全文摘要
本发明提供了一种随机捆绑软件安装方法,在所捆绑的计算机上固化一加密程序,在随机捆绑软件安装程序中嵌入对应的解密程序;在随机捆绑软件安装过程中,还包括A1、随机捆绑软件安装程序生成一验证码,并将验证码传送给固化在计算机上的加密程序;B1、固化在计算机上的加密程序对该验证码加密生成加密验证码,并将加密验证码传送给随机捆绑软件安装程序;C1、随机捆绑软件安装程序解密所述加密验证码,判断所解密后的加密验证码是否与步骤A1所述验证码相同,是则继续安装过程;否则结束本流程。还相应的提供了另两种随机捆绑软件安装方法。使用本发明,在随机捆绑软件安装过程中可鉴别计算机是否为合法授权的计算机。
文档编号G06F9/445GK1851603SQ20051006633
公开日2006年10月25日 申请日期2005年4月22日 优先权日2005年4月22日
发明者李亚辉 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1