一种对设备系统自带的软件进行合法性认证的方法

文档序号:6579070阅读:289来源:国知局
专利名称:一种对设备系统自带的软件进行合法性认证的方法
技术领域
本发明涉及软件合法性认证技术领域,特别涉及对设备系统自带的软件进行
合法性认证的方法。
背景技术
随着网络技术的飞速发展,网上交易以其使用的方便性、使用成本的低廉逐步为大众所接受,网上交易的用户也正逐步增多。然而,网上交易的安全问题也逐渐成为用户关注的焦点,因"木马"或"肉鸡"程序造成的网上交易安全事件的报道也越来越多,大量用户对于网上交易的忧虑也日渐强烈。
网上交易现有的客户端身份认证体系是以U盾为技术核心的,例如工商银
行的网上银行,在交易的安全性上面,工行使用u盾来保护每一笔交易。当前,随着对于安全问题的更多关注,u盾工作各环节中的安全隐患正逐个被解决,
在整个PKI体系内,U盾工作的安全性已经到达一个高的层次。但是,在交易过程中,除要保证U盾的合法性外,网络链路里面的安全性也是非常重要的。交易过程中,用户在软件系统中输入交易信息, 一旦交易信息在网络链路中被恶意篡改,将导致用户对非法交易信息进行确认而未被发觉。
使用网上银行交易,客户端身份认证设备(例说USBKey)在与业务系统、CA认证中心交互过程中是完全遵循公钥基础设施(PKI)体系标准的。现有技术网上银行交易由以下四个步骤
1).用户通过应用浏览器在网络银行界面中输入交易数据;2) .在应用浏览器中的输入的交易数据被控件接收,由控件进行处理;
3) .交易数据从控件传送到CSP(加密服务提供程序,Cryptographic ServiceProvider)处理;
4) .CSP传送交易数据到USBKEY进行加密;
5) .USBKEY输出加密后的交易数据,送入业务系统进行处理。
通过PKI体系,可以保证交易数据被传入USBKEY加密并送入业务系统过程的安全性。但是在交易过程中,从用户输入数据,到输入数据被送入设备进行数字签名的过程中,对用户输入数据是缺乏必要的保护措施的。此过程中用户输入的数据可能会被窃取或篡改。为防止交易过程中被篡改,申请人将数据签名软件在出厂时写入USBKEY,屏蔽CSP的原有标准接口,致使黑客无法通过标准接口的接入来进行攻击.
为了防止恶意程序侵入计算机系统,截获交易数据需对数据签名软件合法性认证机制,进一步提高网上银行交易的安全性。

发明内容
本发明旨在避免系统应用软件被非法替换,发送的非法数据被误接受和误确认的风险,提供一种在交易前进行软件系统中重要程序和系统设备之间的双向认证,系统设备在确认软件系统的合法性后才可以正常工作,杜绝"木马"程序假冒合法程序非法访问设备或窃取和篡改用户的输入数据。
为达到发明目的本发明采用的技术方案是200910153017.X 一种对设备系统自带的软件进行合法性认证的方法,其特征在于所述设备
系统为USBKEY为无驱无软方式,所需验证的软件在出厂时写入USBKEY,首次使用USBKEY时软件自动安装于操作系统中,USBKEY和所需验证的软件共享密钥或共享指纹算法和随机数混淆/解混淆算法,在用户进行交易前进行如下步骤的合法性验证,如果合法性不能通过,则拒绝交易;合法性验证通过情况下,继续后续流程;
所述认证方法包括以下步骤-
(1) 用户输入交易确认指纹;
(2) USBKEY进行指纹识别,获取指纹数据,并用指纹算法运算得到指纹特征值l;
(3) USBKEY产生一个随机数,并用随机数混淆加密指纹数据,传送给系统软件;
(4) 系统软件以相应的解混淆算法解出指纹数据,并用指纹算法运行得到指纹特征值2-,
(5) 系统软件将特征值2传送给USBKEY;
(6) 将两个特征值在USBKEY内进行比对,成功则一体化组件的合法性通过,
失败则合法性未通过。
进一歩,本发明方法还包括对对软件二进制代码是否被篡改进行认证,即采用
如下歩骤
A. USBKEY产生一个随机数;B. 按照随机数的值,对USBKEY中存放的软件找到随机数值对应的位置作
为起始位置,取一段二进制代码;
C. 将代码进行Hash运算,得到Hash值l;
D. USBKEY按照随机数的数值,在系统安装软件中,找到随机数对应的位置,作为起始位置,取同样一段二进制代码;
E. 用同一Hash算法运算得到Hash值2;
F.将运算得到的Hash值2传送给USBKEY;
G.在USBKEY中对两个Hash值进行比对,成功则一体化组件合法性验证通过,失败则合法性验证未通过。
本发明还可包括歩骤系统认为该软件己被非法替换时,系统将屏蔽该软件执行的交易数据,对交易进行关闭,并提示用户。
为便于软件的更新,本发明方法在判断软件为合法软件后,通过网络接受远端控制进行此软件的更新动作。
相比现有技术,本发明有益效果在于通过对用于网上银行交易的签名认证程序(或称组件)与设备系统进行合法性认证的方法,安全地解决在网上交易过程当中,由于系统应用软件被非法替换,发送的非法数据被误接受和误确认的风险。该机制基于"可信设备"的思想,在交易前进行软件系统中重要组件和系统设备之间的双向认证,系统设备在确认软件系统的合法性后才可以正常工作,杜绝"木马"程序假冒合法程序非法访问设备或窃取和篡改用户的输入数据。


7图1为依照本发明的一实施例所绘示的软件认证方法的流程。图2为依照本发明的第二实施例绘示的软件认证方法的流程。
具体实施例方式
下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式
。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
在出厂时,设备内部即存有用于网上银行交易签名认证的软件(或组件),利用软件(或组件)与设备的绑定,使用共享密钥的方法,对系统软件在应用时做合法性的认证,从而确保设备所接收的数据来自于合法的系统软件。
首先,设备在出厂时,系统软件已经被存放在设备的安全存储空间当中,并且系统软件带有与设备共享的指纹算法和混淆密钥,所有的共享内容均能够
在软件安装或移动过程中携带,但是,因USBKey设备具有安全存储空间,系统软件的二进制代码在写入空间时,其写入的起始地址、数据空间均无法从外部读取,所以其数据结构无法被第三方直接读出,以保护其私密性;被首次使用时,系统软件被自动安装到操作系统当中,
所述认证方法包括以下步骤
(1) 用户输入交易确认指纹;
(2) USBKEY进行指纹识别,获取指纹数据,并用指纹算法运算得到指纹特征值1;
(3) USBKEY产生一个随机数,并用随机数混淆加密指纹数据,传送给系统软件;
8(4) 系统软件以相应的解混淆算法解出指纹数据,并用指纹算法运行得到指纹特征值2;
(5) 系统软件将特征值2传送给USBKEY;
(6) 将两个特征值在USBKEY内进行比对,成功则一体化组件的合法性通过,失败则合法性未通过。
为进一步提高鉴别合法软件的有效性和安全性,本发明还采用二进制代码进行Hash值比对法,其认证过程如图2所示
A. USBKEY产生一个随机数;
B. 按照随机数的值,对USBKEY中存放的一体化组件,找到随机数值对应的位置作为起始位置,取一段二进制代码(例如32位);
C. 将代码进行Hash运算,得到Hash值l;
D. USBKEY按照随机数的数值,在系统软件中,找到随机数对应的位置,作为起始位置,取同样一段二进制代码,如32位;
E. 用同一 Hash算法运算得到Hash值2;
F. 将运算得到的Hash值2传送给USBKEY;
G. 在USBKEY中对两个Hash值进行比对,成功则软件合法性验证通过,
失败则合法性验证未通过。
对于合法性未被认证通过的一体化组件,系统认为该一体化组件已被非法替换,系统将屏蔽该一体化组件发送的交易数据,对交易进行关闭,并提示用户。
权利要求
1.一种对设备系统自带的软件进行合法性认证的方法,其特征在于所述设备系统为USBKEY为无驱无软方式,所需验证的软件在出厂时写入USBKEY,首次使用USBKEY时软件自动安装于操作系统中,USBKEY和所需验证的软件共享密钥或共享指纹算法和随机数混淆/解混淆算法,在用户进行交易前进行如下步骤的合法性验证,如果合法性不能通过,则拒绝交易;合法性验证通过情况下,继续后续流程;所述认证方法包括以下步骤(1)用户输入交易确认指纹;(2)USBKEY进行指纹识别,获取指纹数据,并用指纹算法运算得到指纹特征值1;(3)USBKEY产生一个随机数,并用随机数混淆加密指纹数据,传送给系统软件;(4)系统软件以相应的解混淆算法解出指纹数据,并用指纹算法运行得到指纹特征值2;(5)系统软件将特征值2传送给USBKEY;(6)将两个特征值在USBKEY内进行比对,成功则一体化组件的合法性通过,失败则合法性未通过。
2、如权利要求l所述的对设备系统自带的软件进行合法性认证的方法,其特征 在于还包括对软件二进制代码是否被篡改进行认证,即采用如下步骤A. USBKEY产生一个随机数;B. 按照随机数的值,对USBKEY中存放的软件找到随机数值对应的位置作 为起始位置,取一段二进制代码;C. 将代码进行Hash运算,得到Hash值l;D. USBKEY按照随机数的数值,在系统安装软件中,找到随机数对应的位置,作为起始位置,取同样一段二进制代码;E. 用同一Hash算法运算得到Hash值2;F. 将运算得到的Hash值2传送给USBKEY;G. 在USBKEY中对两个Hash值进行比对,成功则一体化组件合法性验证通 过,失败则合法性验证未通过。
3、 如权利要求1或2所述的对设备系统自带的软件进行合法性认证的方法, 其特征在于还包括系统认为该软件已被非法替换时,系统将屏蔽该软件执行的 交易数据,对交易进行关闭,并提示用户。
4、 如权利要求3所述的对设备系统自带的软件进行合法性认证的方法,其 特征在于还包括系统认为该软件为合法软件,通过网络接受远端控制进行此软 件的更新动作。
全文摘要
一种对设备系统自带的软件进行合法性认证的方法,系统软件与设备共享的指纹算法和混淆密钥被同时装入操作系统,在用户输入信息确认交易时,USBKey获得用户指纹数据,产生一个随机数,用混淆算法将指纹数据和随机数进行加密,发送给系统软件。系统软件利用混淆算法解密后获得指纹数据,并且利用指纹算法计算该用户指纹特征,与USBKey计算获得指纹特征作比较,比较结果相同则系统软件合法性认证通过,交易被确认。本发明基于“可信设备”的思想,在交易前进行软件系统中重要组件和系统设备之间的双向认证,系统设备在确认软件系统的合法性后才可以正常工作,杜绝“木马”程序假冒合法程序非法访问设备或窃取和篡改用户的输入数据。
文档编号G06Q30/00GK101661599SQ20091015301
公开日2010年3月3日 申请日期2009年9月25日 优先权日2009年9月25日
发明者岑旭聚, 张伟峰, 邹建军, 捷 陆 申请人:浙江维尔生物识别技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1