发明内容
为了解决上述由于潜在的通过冒用合法用户身份而给网络交易带来的安全隐患,本发明提供了一种认证设备及认证方法,有效避免合法用户身份被冒用的问题。
本发明的技术方案是:一种认证设备,包括:
判断模块,用于判断主机端发送的验证信息中是否有关键信息,当所述验证信息中有关键信息时,启动输出模块输出关键信息,无关键信息,则启动运算模块对验证信息进行运算;
输出模块,用于输出所述关键信息;
确认模块,用于接收确认操作,并启动运算模块对验证信息进行运算;
运算模块,用于对所述验证信息进行运算;
返回模块,用于将所述运算模块的运算结果发送回主机端。
所述运算模块具体用于当所述确认模块确认所述关键信息正确后,对所述验证信息进行运算。
所述运算模块具体用于当所述判断模块判断所述验证信息中无关键信息时,对所述验证信息进行运算。
所述运算模块为加密运算模块,具体用于利用加密算法加密处理所述验证信息。
所述运算模块为签名运算模块,具体用于利用签名算法签名处理所述验证信息。
所述判断模块为标识符判断模块,用于解析主机端发送的验证信息,判断其中是否有预先约定的关键信息标识符,如果有则验证信息中有关键信息,否则验证信息中无关键信息。
所述关键信息标识符为所述关键信息中用于表示标识作用的字符。
所述判断模块为格式判断模块,用于解析主机端发送的验证信息的格式,判断是否符合预先约定的验证信息格式,如果符合则所述验证信息中有关键信息,否则验证信息中无关键信息。
所述预先约定的验证信息格式为TLV格式、XML格式或PEM格式。
所述判断模块为行为特征判断模块,用于解析主机端发送的验证信息中的行为特征,判断是否符合预先预定的行为特征,如果符合则所述验证信息中有关键信息,否则验证信息中无关键信息。
所述行为特征为指令组合。
所述判断模块还包括解密单元,当主机端发送的验证信息为加密后的验证信息时,在判断所述验证信息中是否有关键信息前,所述解密单元解密处理所述加密后的验证信息。
所述输出模块为协商输出模块,用于当所述判断模块判断所述验证信息中有关键信息时,按照预先商定的方式输出所述验证信息中的关键信息。
所述返回模块用于将所述运算模块的运算结果通过所述认证设备的通信接口发送回主机端。
所述输出模块为显示装置和/或发声装置。
所述输出模块具体用于利用所述认证设备的通信接口上传关键信息到主机端进行输出。
所述确认模块为按键、触摸键、微型开关、光电开关或感应式开关。
所述确认模块具体用于利用所述认证设备的通信接口接收主机端的确认信息。
所述通信接口为USB通信接口、蓝牙通信接口、红外通信接口或智能卡接口。
所述判断模块和运算模块集成在一颗控制芯片中。
所述控制芯片为安全设计芯片,包括智能卡芯片。
一种认证方法,包括如下步骤:
判断主机端发送的验证信息中是否有关键信息,有关键信息则输出关键信息并等待确认,接收到确认信息后,对所述验证信息进行运算,将运算结果发送回主机端;无关键信息则对所述验证信息进行运算,然后将运算结果发送回主机端。
所述运算方法为利用加密算法进行加密处理或利用签名算法进行签名处理。
所述判断方法为解析主机端发送的验证信息,判断其中是否有预先存储的关键信息标识符,如果有则验证信息中有关键信息,否则验证信息中无关键信息。
所述关键信息标识符为所述关键信息中用于表示标识作用的字符。
所述判断方法为解析主机端发送的验证信息的格式,判断是否符合预先约定的验证信息格式,如果符合则所述验证信息中有关键信息,否则验证信息中无关键信息。
所述预先约定的验证信息格式为TLV格式。
所述判断方法具体为解析主机端发送的验证信息的行为特征,判断是否符合预先预定的行为特征,如果符合则所述验证信息中有关键信息,否则验证信息中无关键信息。
所述行为特征为指令组合。
当主机端发送的验证信息为加密处理的验证信息时,在判断所述验证信息中是否有关键信息前,首先解密处理所述加密的验证信息。
所述输出关键信息的方法具体为利用显示装置输出,或利用发声装置输出,或利用通信接口上传到主机端输出。
所述接收到确认信息的方法具体为通过所述认证设备上的确认装置确认,或利用通信接口从主机端下传确认。
本发明的有益效果是:本发明提供的认证设备及认证方法,其关键信息的判断在认证设备中进行,并且提供了利用认证设备实现对关键信息进行确认的环节,这样就避免了由于主机端计算机被黑客或木马等劫持而导致的冒用合法用户身份进行交易或窜改交易信息的问题,大大提高了交易安全性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和实施例对本发明实施方式作进一步地详细描述。
网络交易过程中,一般都会涉及到关键操作和非关键操作两种类型,通常将涉及到交易信息的操作被认为是关键操作,而其它的操作则被认为是非关键操作,比如建立SSL连接等。目前通用的做法是在计算机中通过判断某操作的验证信息中是否含有关键信息,以此来区分该操作是关键操作还是非关键操作。
但是如果计算机被黑客等劫持后,黑客便很容易伪造合法用户的交易信息,在合法用户不觉察的情况下,冒用认证设备进行签名或加密,从而给合法用户造成非常严重的经济损失。所以,本发明实施例中提供的认证设备及认证方法,将关键操作的判断环节放在认证设备中完成,并增加利用认证设备实现用户确认的步骤,即使在黑客等远程劫持用户计算机的情况下,也无法冒用合法用户身份伪造网络交易,从而提升了网络交易的安全性,同时保证了合法用户的利益。
实施例1:
参见图1,本发明实施例提供了一种认证设备100,包括:
判断模块101,用于判断主机端发送的验证信息中是否有关键信息,当验证信息中有关键信息时,启动输出模块102输出,验证信息中无关键信息则启动运算模块104对验证信息进行运算;
主机端是指向认证设备发送需要加密或签名信息的上游设备,可以是客户端主机,也可以是服务端主机,具体的形式包括但不限于台式电脑、笔记本电脑、服务器、专用机、读卡器、通讯设备、数码相机或PDA等。
输出模块102,用于输出上述关键信息;
确认模块103,用于接收确认操作,并启动运算模块104对验证信息进行运算;
运算模块104,用于对上述验证信息进行运算;
返回模块105,用于将运算模块104的运算结果发送回主机端。
其中,运算模块104具体可以当确认模块103确认后,对验证信息进行运算;也可以当判断模块101判断验证信息中无关键信息时,对验证信息进行运算。
运算模块104可以是加密运算模块,具体用于利用加密算法加密处理上述验证信息;或运算模块也可以是签名运算模块,具体用于利用签名算法签名处理上述验证信息。其中加密算法可以是3DES、AES或RC4等;签名算法可以是RSA、ECC或D-H等。
判断模块101可以具体为标识符判断模块,用于解析主机端发送的验证信息,判断该验证信息中是否有预先存储在认证设备内的关键信息标识符,如果有则说明验证信息中有关键信息,即该操作为关键操作;否则说明验证信息中无关键信息,即该操作为非关键操作。比如交易信息为Data=2007.12.07.15.49;Account=1234;$=500;,则关键信息可以设为A=1234$=500,关键信息标识符为关键信息中起标识作用的字符,此例中可以用A=和$=作为关键信息标识符,预先将该关键信息标识符存储在认证设备中,判断模块101解析主机端发送的验证信息,判断其中是否含有字符A=和$=,如果有则说明该验证信息中含有关键信息,为关键操作,即是与交易信息相关的操作,则将该验证信息发送至输出模块102;如果没有则说明该验证信息中无关键信息,为非关键操作,则将该验证信息发送至运算模块104,对该验证信息做运算,即进行签名或加密等处理。
判断模块101可以具体为格式判断模块,用于解析主机端发送的验证信息的格式,判断是否符合预先约定的格式,如果符合预先约定的格式,则说明该验证信息中有关键信息,为关键操作,即是与交易信息相关的操作;否则该验证信息中无关键信息,即该操作为非关键操作。对于格式的具体形式没有特别限制,只要事先约定好即可,优选的,可以预先约定TLV格式,其中T为tag,表示标签,L为length,表示长度,V为viscera,表示内容,即主机端发送来的验证信息的格式如果符合最前面是标签信息,紧跟着的是长度值,后面的内容部分的长度刚好是上述长度值,则符合预先规定的TLV格式,为含有关键信息的验证信息,为关键操作,则将该验证信息发送至输出模块102;否则验证信息不含关键信息,为非关键操作,则将该验证信息发送至运算模块104,对该验证信息做运算,即签名或加密等处理。当然,实际应用中还可以预先预定XML格式或PEM格式,以及word格式等多种格式均可实现。
判断模块101还可以是行为特征判断模块,用于解析主机端发送的验证信息中的行为特征,判断是否符合预先预定的行为特征,如果符合则说明该验证信息中有关键信息,为关键操作,则将该验证信息发送至输出模块102;否则验证信息中无关键信息,为非关键操作,此时将该验证信息发送至运算模块104,对该验证信息做运算,即签名或加密等处理。对于行为特征也是没有特别限制,只要事先约定好即可,优选的,可以采用指令组合的方式,比如可以预先设定当含有某一具体指令(如跳转指令等)时,说明该验证信息中含有关键信息,即为关键操作,此时具体的判断方法便为解析该验证信息中是否含有该指令;也可以是设定当含有某种指令组合的时候,该验证信息中含有关键信息,为关键操作,此时具体的判断方法为解析该验证信息中是否含有该指令组合。
当然,实际应用中判断的方法还可以有多种,用户可以依据自己的实际需要自行设定。
输出模块102为协商输出模块,具体用于当判断模块101判断验证信息中有关键信息时,按照预先协商好的方式输出验证信息中的关键信息。
其中预先协商的方式有多种形式,以判断模块101依据关键信息标识符来判断验证信息中含有关键信息的方法为例说明:可以预先协商输出验证信息中关键信息标识符及其后面紧跟着某几位,举例,如预先存储的关键信息标识符为A=和$=,可以预先协商输出规则为输出关键信息标识符A=及其后面的4位,和$=及其后面的3位,则此时输出的关键信息便为A=1234$=500;当然实际操作中也可以输出含有该关键信息的其它重要信息,比如可以显示A=1234$=500H=,其中H=是预先约定好要显示的字符,表示交易信息的hash运算值的标识符,预先存储在认证设备中,或由主机端通知均可;以判断模块101依据是否符合预先约定的TLV格式来判断验证信息中含有关键信息的方法为例说明:可以预先协商输出验证信息中V部分(即内容部分);以判断模块101依据指令组合的方式判断验证信息中含有关键信息的方法为例说明:可以当符合预先协商的指令组合时,输出验证信息中的某几位等,协商的方法很多,用户可以在具体应用中依据项目的需要在上述实施例的基础上自行设计。
输出模块102可以是显示装置,包括段码显示器、点阵显示器、字符显示器或图像显示器等;也可以是发声装置,包括语音芯片或由DTMF发生器和喇叭组成的发声模块等,还可以是利用认证设备的通信接口上传关键信息到主机端进行输出,等。
确认模块103可以是按键、触摸键、微型开关、光电开关或感应式开关等,还可以是利用认证设备的通信接口从主机端下传确认信息,等。
优选的,判断模块101和运算模块104集成在一颗控制芯片中,为了进一步的提高安全性,控制芯片可以选用安全设计芯片,包括智能卡芯片。
返回模块105具体用于将运算模块104的运算结果通过认证设备的通信接口发送回主机端,认证设备的通信接口形式可以是USB通信接口、蓝牙通信接口、红外通信接口或智能卡接口。
更进一步的,主机端发送的验证信息可以是经过加密处理的,此时,判断模块101还可以进一步包括解密单元,用于在判断验证信息中是否有关键信息前,解密处理上述加密处理后的验证信息。
当然,实际应用中,认证设备还包括安全模块,分别与判断模块101、输出模块102、确认模块103、运算模块104、返回模块105相连,用于执行认证设备通用的安全相关操作,包括但不限于:
身份认证单元,用于对访问认证设备的用户进行身份相关的认证操作;
权限管理单元,用于依据访问认证设备的用户身份信息对其访问权限进行管理与控制;
算法单元,用于在认证设备内实现加/解密处理;等。
上述安全模块可以用一颗安全设计芯片实现;也可以将上述判断模块101、运算模块104中的至少一个与安全模块集成在一颗芯片中实现,一般选用安全设计芯片,包括智能卡芯片,利用安全设计芯片内置的安全功能,能够更加简单安全的实现与安全相关的功能。
实施例2:
参见图2,本发明实施例提供了一种认证方法,包括如下步骤:
步骤201:判断主机端发送的验证信息中是否有关键信息,有则执行步骤202,无则执行步骤203;
其中,主机端是指向认证设备发送需要加密或签名信息的上游设备,可以是客户端主机,也可以是服务端主机,具体的形式包括但不限于台式电脑、笔记本电脑、服务器、专用机、读卡器、通讯设备、数码相机或PDA等。
判断方法可以为解析主机端发送的验证信息,判断其中是否有预先存储的关键信息标识符,如果有则验证信息中有关键信息,否则验证信息中无关键信息。其中关键信息标识符为关键信息中用于起标识作用的字符。
判断方法还可以为解析主机端发送的验证信息的格式,判断是否符合预先约定的验证信息格式,如果符合则该验证信息中有关键信息,否则验证信息中无关键信息。优选的,预先约定的验证信息格式采用TLV格式。
判断方法还可以为解析主机端发送的行为特征,判断是否符合预先预定的行为特征,如果符合则该验证信息中有关键信息,否则验证信息中无关键信息。优选的,行为特征为指令组合。
步骤202:输出上述关键信息并等待确认;
输出方法具体可以是利用显示装置显示输出,或利用发声装置播报输出,或利用通信接口上传关键信息到主机端进行输出,等。
可以通过预协商的方法确定关键信息并输出,比如,以步骤201中依据关键信息标识符来判断验证信息中含有关键信息的方法为例说明:可以预先协商输出验证信息中关键信息标识符及其后面紧跟着某几位,举例,如预先存储的关键信息标识符为A=和$=,可以预先协商输出规则为输出关键信息标识符A=及其后面的4位,和$=及其后面的3位,则此时输出的关键信息便为A=1234$=500;当然实际操作中也可以输出含有该关键信息的其它重要信息,比如可以显示A=1234$=500H=,其中H=是预先约定好要显示的字符,表示交易信息的hash运算值的标识符,预先存储在认证设备中,或由主机端通知均可;以步骤201中依据是否符合预先约定的TLV格式来判断验证信息中含有关键信息的方法为例说明:可以预先协商输出验证信息中V部分(即内容部分);以步骤201中依据指令组合的方式判断验证信息中含有关键信息的方法为例说明:可以当符合预先协商的指令组合时,输出验证信息中的某几位;等,协商的方法很多,用户可以在具体实现中依据项目的需要在上述例子的基础上自行设计。
步骤203:对上述验证信息进行运算;
运算方法具体为利用加密算法加密处理或利用签名算法签名处理等。
接收确认信息的方法具体可以为通过认证设备的确认装置(比如按键、触摸键、微型开关、光电开关或感应式开关等)确认,或利用通信接口从主机端下传确认,等。
步骤204:将运算结果发送回主机端。
进一步的,当主机端发送的验证信息为经加密处理的,步骤201中判断验证信息中是否有关键信息的步骤前,还包括解密处理该加密处理后的验证信息的步骤。
当然,实际应用中,认证设备还包括执行认证设备通用的其它安全相关的操作,包括但不限于:
身份认证操作,即对访问认证设备的用户进行身份相关的认证操作;
权限管理操作,即依据访问认证设备的用户身份信息对其访问权限进行管理与控制;
算法操作,即在认证设备内实现加/解密处理;等。
本发明实施例提供的认证设备及认证方法,其关键信息的判断在认证设备中实现,并且提供了利用认证设备实现确认的环节,避免了由于主机端计算机被黑客或木马等劫持而导致的冒用合法用户签名进行交易或窜改交易信息的问题,大大提高了交易安全性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。