信息认证方法及系统的制作方法

文档序号:8005588阅读:352来源:国知局
信息认证方法及系统的制作方法
【专利摘要】本发明公开一种信息认证方法及系统,通过对包括用户输入的PIN码和认证码整合后进行加密,并将加密结果作为KEY对终端或终端对KEY的认证依据的方法,具有保证KEY与终端之间进行通信连接安全性的有益效果,提高了对PIN码保护的强度,防止恶意程序对认证过程的攻击。
【专利说明】信息认证方法及系统
【技术领域】
[0001]本发明涉及信息安全领域,尤其涉及ー种信息认证方法及系统。
【背景技术】
[0002]现有的KEY产品(包括USBKey、蓝牙Key、音频Key等),与终端进行连接时,大部分KEY无需认证码便可与终端进行通信连接;即使存在部分需要连接认证码的KEY,也只是由终端简单的将用户个人识别码和认证码分别通过连接线路发送给KEY进行比对确认即可。当攻击者利用木马对终端和KEY的通信进行窃听和劫持时,上述这种方式将无法对其进行防御;上述这种方式也无法防御中间人攻击、重放攻击和对用户个人识别码进行攻击等攻击方式,在KEY与终端进行通信连接并进行信息交互吋,上述这种方式存在重大的安全隐

【发明内容】

[0003]鉴于此,有必要提供ー种信息认证方法及系统,g在解决KEY与終端通信连接时不能进行安全认证的问题。
[0004]本发明实施例公开了ー种信息认证方法,包括以下步骤:
[0005]KEY与终端通信连接;KEY随机产生一串字符作为认证码并显示,供用户在终端上输入KEY显示的所述认证码,終端检测到用户在终端上输入PIN码和KEY显示的所述认证码后,终端将包括所述PIN码 和认证码的參数进行加密运算得到一加密结果Sp。,并将得到的加密结果Spe发送给KEY,K EY采用与終端同样的算法对与所述终端同样的參数进行加密运算,得到一加密结果Skey,KEY识别Spe和Skey相同吋,与终端进行工作数据的交互;或者:
[0006]終端随机产生一串字符作为认证码并显示,供用户在KEY上输入终端显示的所述认证码,KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码后,KEY将包括所述PIN码和认证码的參数进行组合加密得到一加密结果Skey,并将得到的加密结果Skey发送给終端,终端采用与KEY同样的算法对与所述KEY同样的參数进行加密运算,得到一加密结果Spc,终端识别Sp。和Skey相同时,与KEY进行工作数据交互。
[0007]优选地,所述KEY与終端通信连接之后、KEY随机产生一串字符作为认证码并显示之前,还包括:
[0008]KEY将自身的信道保护公钥PKkey发送给终端;
[0009]所述终端将包括所述PIN码和认证码的參数进行组合加密得到一加密结果Sp。,包括:
[0010]终端将包括所述PIN码、认证码和PKkey的參数进行组合加密得到一加密结果Spc。
[0011]优选地,所述KEY与終端通信连接之后、終端随机产生一串字符作为认证码并显示之前,还包括:
[0012]终端将自身的信道保护公钥PKpe发送给KEY ;
[0013]所述KEY将包括所述PIN码和认证码的參数进行组合加密得到一加密结果Skey,包括:
[0014]KEY将包括所述PIN码、认证码和PKpe的参数进行组合加密得到一加密结果Skey。
[0015]优选地,所述KEY与终端通信连接之后,还包括:
[0016]KEY与终端互换信道保护公钥PKkey和PKp。,其中,所述公钥PKkey为KEY的公钥,所述公钥PKp。为终端的公钥;
[0017]所述终端将包括所述PIN码和认证码的参数进行组合加密得到一加密结果Sp。,包括:
[0018]终端将包括所述PIN码和认证码及PKp。和/或PKkey的参数进行组合加密得到一加密结果sp。;
[0019]或者,所述KEY将包括所述PIN码和认证码的参数进行组合加密得到一加密结果Skey ,包括:
[0020]KEY将包括所述PIN码和认证码及PKpe和/或PKkey的参数进行组合加密得到一加
常结果Skey。
[0021]优选地,所述KEY与终端通信连接前或通信连接后包括:
[0022]KEY产生一线路保护密钥对,包括公钥PKkey和KEY私钥;
[0023]或者,
[0024]终端产生一线路保护密钥对,包括公钥PKp。和终端私钥;
[0025]或者,
[0026]KEY与终端分别产生一线路保护密钥对,所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥PKp。和终端私钥。
[0027]优选地,所述KEY随机产生一串字符作为认证码并显示的步骤之后、终端检测到用户在终端上输入PIN码和KEY显示的所述认证码的步骤之前,还包括:
[0028]终端生成并显示一随机的软键盘,供用户输入所述PIN码和认证码;
[0029]或者,所述终端随机产生一串字符作为认证码并显示的步骤之后、KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码之前,还包括:
[0030]KEY生成并显示一随机的软键盘,供用户输入所述PIN码和认证码。
[0031]优选地,所述KEY识别Sp。和Skey相同时,与终端进行工作数据的交互包括:
[0032]所述KEY识别Spe和Skey相同时,发送所述Skey给所述终端,供所述终端识别Skey和Spc是否相同,在所述终端识别所述Skey和Sp。相同时,所述KEY再与终端进行工作数据的交互;
[0033]或者,
[0034]所述终端识别Spc和Skey相同时,与KEY进行工作数据交互包括:
[0035]所述终端识别Spe和Skey相同时,发送所述Spe给所述KEY,供所述KEY识别Spc和Skey是否相同,在所述KEY识别所述Spe和Skey相同时,所述终端再与KEY进行工作数据的交互。
[0036]优选地,所述终端检测到用户在终端上输入PIN码和KEY显示的所述认证码包括:
[0037]终端通过键盘接收用户输入的所述PIN码和认证码;
[0038]或者,所述KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码包括:[0039]所述KEY通过键盘接收用户输入的所述PIN码和认证码。
[0040]本发明实施例还公开ー种信息认证系统,包括KEY和終端;
[0041]所述KEY用于,与終端通信连接后,随机产生一串字符作为认证码并显示,供用户在終端上输入KEY显示的所述认证码;所述终端用于,检测到用户在终端上输入PIN码和KEY显示的所述认证码后,将包括所述PIN码和认证码的參数进行加密运算得到一加密结果Sp。,并将得到的加密结果Sp。发送给KEY ;所述KEY用于,采用与終端同样的算法对与所述终端同样的參数进行加密运算,得到一加密结果Slrey,在识别Skey和Sp。相同吋,与终端进行工作数据的交互;或者:
[0042]所述终端用干:与KEY通信连接后,随机产生一串字符作为认证码并显示,供用户在KEY上输入终端显示的所述认证码;所述KEY用于:检测到用户在KEY上输入PIN码和KEY显示的所述认证码后,将包括所述PIN码和认证码的參数进行组合加密得到一加密结果Skey,并将得到的加密结果Skey发送给終端;所述终端还用于:采用与KEY同样的算法对与所述KEY同样的參数进行加密运算,得到一加密结果Spc,识别Spe和Skey相同时,与KEY进行工作数据交互。
[0043]优选地,所述KEY用于,将自身的信道保护公钥PKkey发送给終端;
[0044]所述终端用干,将包括所述PIN码、认证码和PKkey的參数进行组合加密得到一加
S结果Spc。
[0045]优选地,所述终端用于,将自身的信道保护公钥PKpe发送给KEY ;
[0046]所述KEY用于,将包括所述PIN码、认证码和PKpe的參数进行组合加密得到ー加密
结果Skey0
[0047]优选地,所述KEY用干,与終端互換信道保护公钥PKkey和PKp。,将包括所述PIN码和认证码及PKp。和/或PKk6y的參数进行组合加密得到一加密结果Sk6y ;其中,所述公钥PKk6y为KEY的公钥,所述公钥PKp。为终端的公钥;
[0048]所述终端用于,将包括所述PIN码和认证码及PKpe和/或PKkey的參数进行组合加密得到一加密结果Sp。。
[0049]优选地,所述KEY用于,产生ー线路保护密钥对,包括公钥PKkey和KEY私钥;或者,与终端分别产生ー线路保护密钥对,所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥PKp。和終端私钥;
[0050]或者,所述终端用于,产生ー线路保护密钥对,包括公钥PKp。和終端私钥。
[0051 ] 优选地,所述终端还用于:
[0052]生成并显示ー随机排列的软键盘,供用户输入所述PIN码和认证码;
[0053]或者,
[0054]所述KEY还用于:
[0055]生成并显示ー随机排列的软键盘,供用户输入所述PIN码和认证码。
[0056]优选地,所述KEY还用于:
[0057]识别Spc和Sk6y相同吋,发送所述Sk6y给所述終端,供所述终端识别Sk6y和Sp。是否相同,在所述终端识别所述Skey和Sp。相同时,所述KEY再与终端进行工作数据的交互;
[0058]或者,
[0059]所述终端还用于:识别Sp。和Skey相同时,发送所述Sp。给所述KEY,供所述KEY识别Spe和Skey是否相同,在所述KEY识别所述Spe和Skey相同时,所述终端再与KEY进行工作数据的交互。
[0060]优选地,所述终端还用于:
[0061]通过键盘接收用户输入的所述PIN码和认证码;
[0062]或者,所述KEY还用于:
[0063]通过键盘接收用户输入的所述PIN码和认证码。
[0064]本发明实施例通过对包括用户输入的PIN码和认证码的参数进行整合后进行加密,并将加密结果作为KEY对终端或终端对KEY的认证依据的方法,具有保证KEY与终端之间进行通信连接安全性的有益效果,提高了对PIN码保护的强度,可有效防止认证过程中的中间人攻击、重放攻击等网络攻击。
【专利附图】

【附图说明】
[0065]图1是本发明信息认证方法第一实施例流程示意图;
[0066]图2是本发明信息认证方法第二实施例流程示意图;
[0067]图3是本发明信息认证方法第三实施例流程示意图;
[0068]图4是本发明链路保护方法第四实施例流程示意图;
[0069]图5是本发明链路保护方法第五实施例流程示意图;
[0070]图6是本发明信息认证系统一实施例功能模块示意图。
[0071]本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0072]以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0073]本发明信息认证方法及系统的实施例中,所述KEY包括USBKey、蓝牙Key、音频Key等可通过任一通信方式与终端通信连接的KEY产品,所述终端包括PC和任一移动设备如手机、平板电脑等终端,在以下实施例的具体描述中,将不再赘述。
[0074]图1是本发明信息认证方法第一实施例流程示意图;如图1所示,本发明信息认证方法包括以下步骤:
[0075]S100、KEY与终端通信连接;
[0076]SlOU KEY随机产生一串字符作为认证码并显示;
[0077]在KEY与终端通信连接,比如将具有USB接口的USBKEY插入PC中,实现KEY与终端的通信连接。
[0078]本实施例中,KEY上随机产生一串字符作为认证码,并显示,供用户将该认证码输入终端。KEY产生的随机认证码通常为6位十进制数;当然,认证码的位数及形式可以根据需要进行调整;比如,将KEY随机产生的认证码设置为8位二进制数、4位数字与字母的组合;或者10位数字与字母和特殊符号的组合等,本实施例对认证码的具体表现形式不做限定。本实施例中,KEY随机生成并显示的认证码可以表示为CODE。用户可以通过终端的硬件键盘输入所述PIN码和认证码。优选的,终端也可以生成一软键盘,供用户基于终端显示的所述软键盘输入所述PIN码和认证码。用户根据终端的提示,基于终端提供的软键盘输入登录时的PIN码和认证码。本实施例中,终端生成的软键盘为随机的软键盘;比如,软键盘上的字符是随机排列的;或者,软键盘上的游标的初始位置是随机的;或者,所述软键盘的字符是随机排列的,且所述软键盘的游标的初始位置也是随机的。
[0079]S102、终端将包括所述PIN码和认证码的參数进行组合加密得到一加密结果Spc,并将得到的加密结果Spc发送给KEY ;
[0080]当終端检测到用户在终端上输入PIN码和KEY显示的随机认证码后,终端将包括用户输入的PIN码和随机认证码组合为(PIN,CODE),并对其进行加密运算得到一加密结果Sp。。具体的加密算法可以是摘要算法、对称加密算法或者其他加密算法;加密运算的參数包括组合(PIN,CODE)。终端也可以将包括PIN、CODE的參数直接进行加密运算,将生成的加密结果作为加密结果Sp。。比如:使用SHA256散列算法求该组合(PIN,CODE)的加密结果为:Spc=Hash (PIN, CODE);或者,也可以将其中的任一參数如CODE扩展为密钥,采用某一标准加密算法加密PIN參数,将得到的结果作为Spe ;或者,用某一已知密钥,采用某ー标准加密算法加密包括PIN和CODE參数,将得到的结果作为Sp。;对上述组合(PIN,CODE)的具体使用可视具体需要和系统性能而定,本实施例不对其进行限定。
[0081 ] 终端将得到的加密结果Spe发送给KEY。
[0082]S103、KEY采用与終端同样的算法对与所述终端同样的參数进行加密运算,得到一
加密结果Skey ;
[0083]S104、KEY识别Spe和Skey相同吋,与终端进行工作数据交互。
[0084]由于KEY已知用户输入的PIN码及随机认证码C0DE,因此KEY可以同时采用与终端获取其加密结果Sp。相同的算法计算出KEY自身的加密结果Skey ;在ー优选的实施例中,KEY采用与终端相同的算法,根据已知的PIN和CODE得到的KEY的加密结果Skey为:Skey=Hash (PIN, CODE)。
[0085]KEY在接收到终端发送的終端生成的加密结果Spc后,KEY即对Spe和Skey进行比较,若Sp。与Skey 二者相等,则可以进ー步基于加密结果Skey与终端进行工作数据交互。本实施例中,工作数据可以理解为KEY识别Sp。与Skey相等后,二者进行交互过程中的所有数据。
[0086]在一优选的实施例中,为了进一步地提高KEY与终端通信连接的安全性,在KEY识别Spc与Slrey 二者相等吋,KEY也可以将自身生成的Skey发送给终端,供终端识别Spc与Slrey是否相等;在終端也识别Sp。与Skey 二者相等吋,二者再基于加密结果Sp。或Slrey进行工作数据交互。
[0087]本发明实施例对用户输入的PIN码、KEY上随机显示的认证码整合后进行加密,并由终端发送至KEY进行比对确认的方法,具有保证数据交互时加密结果安全性的有益效果,进而保证了 KEY与终端进行交互的工作数据交互的安全性,防止了数据交互过程中恶意程序对交互数据的攻击。
[0088]图2是本发明链路保护方法第二实施例流程示意图;本实施例与图1所述实施例的区别是,将图1所述实施例中执行主体KEY与终端进行交換。
[0089]如图2所示,本发明链路保护方法还可以采用下述实施方式实现:
[0090]步骤S100、KEY与终端通信连接;
[0091]步骤S201、終端随机产生一串字符作为认证码并显示;[0092]在KEY与终端通信连接,比如将具有USB接口的USBKEY插入PC中,实现KEY与终端的通信连接。
[0093]本实施例中,终端上随机产生一串字符作为认证码,并显示,供用户将终端上显示的随机认证码输入KEY。本实施例中,认证码位数及形式的设置规则与第一实施例相同,此处不再赘述。用户可以通过KEY的硬件键盘输入所述PIN码和认证码。优选的,KEY也可以生成一软键盘,供用户基于KEY显示的软键盘输入PIN码和认证码。用户根据KEY的提示,基于KEY提供的软键盘输入登录时的PIN码和认证码。本实施例中,KEY生成的软键盘为随机的软键盘;比如,软键盘上的字符是随机排列的;或者,软键盘上的游标的初始位置是随机的;或者,所述软键盘的字符是随机排列的,且所述软键盘的游标的初始位置也是随机的。
[0094]步骤S202、KEY将PIN码和认证码进行组合加密得到一加密结果Skey,并将得到的加密结果Skey发送给终端;
[0095]当KEY检测到用户在KEY上输入PIN码和终端显示的随机认证码后,KEY将包括用户输入的PIN码和随机认证码组合为(PIN,CODE),并对其进行加密运算得到一加密结果Skey。具体的加密算法可以是摘要算法、对称加密算法或者其他加密算法,加密运算的参数包括组合(PIN,CODE)。KEY也可以将包括PIN、C0DE的参数直接进行加密运算,将生成的加密结果作为加密结果Skey。比如:使用SHA256散列算法求该组合(PIN,CODE)的加密结果为:Skey=Hash(PIN,CODE);或者,也可以将其中的任一参数如CODE扩展为密钥,采用某一标准加密算法加密PIN参数,将得到的结果作为Skey ;或者,用某一已知密钥,采用某一标准加密算法加密包括PIN和CODE参数,将得到的结果作为Skey ;对上述组合(PIN,CODE)的具体使用可视具体需要和系统性能而定,本实施例不对其进行限定。
[0096]KEY将得到的加密结果Skey发送给终端。
[0097]步骤S203、终端采用与KEY同样的算法对与KEY同样的参数进行加密运算,得到一加密结果Spc ;
[0098]步骤S204、终端识别Spe和Skey相同时,与KEY进行工作数据交互。
[0099]由于终端已知用户输入的PIN码和随机认证码C0DE,因此终端可以同时采用与KEY获取其加密结果Skey相同的算法计算出终端自身的加密结果Sp。;在一优选的实施例中,终端采用与KEY相同的算法,根据已知的PIN和CODE得到的终端的加密结果Sp。为:Spc=Hash (PIN, CODE)。
[0100]终端在接收到KEY发送的KEY生成的加密结果Skey后,终端即对Spc和Skey进行比较,若Sp。与Slrey 二者相等,则终端可以进一步基于Sp。与KEY进行工作数据的交互。若终端识别Sp。和Skey不相同时,则终端不与KEY进行工作数据的交互。本实施例中,工作数据可以理解为终端识别Sp。与Skey相等后,二者进行交互过程中的所有数据。
[0101]在一优选的实施例中,为了进一步地提高KEY与终端通信连接的安全性,在终端识别Spc与Skey 二者相等时,终端也可以将自身生成的Spc发送给KEY,供KEY识别Spe与Skey是否相等;在KEY也识别Spe与Skey 二者相等时,KEY和终端二者再基于加密结果Spc或Skey进行工作数据交互。
[0102]本发明实施例对包括用户输入的PIN码和终端上随机生成的认证码整合后进行加密,并由KEY发送至终端进行比对确认的方法,具有保证数据交互时加密结果安全性的有益效果,进而保证了 KEY与终端进行交互的工作数据交互的安全性,防止了数据交互过程中恶意程序对交互数据的攻击。
[0103]图3是本发明链路保护方法第三实施例流程示意图;本实施例中,以KEY和終端建立通信连接后,二者分别产生一对线路保护密钥对为例进行描述;当然,该链路保护系统中,也可以仅有KEY或者终端中的其中ー个产生线路保护密钥对,并将产生的线路保护密钥对中的公钥发给对方以进行后续的加密处理;对于仅有KEY或者終端中的其中一个产生线路保护密钥对并将产生的线路保护密钥对中的公钥发给对方以进行后续的加密处理的方案,相对简单,在此不再赘述。
[0104]如图3所示,本发明链路保护方法包括以下步骤:
[0105]步骤SO1、KEY与终端通信连接后,与终端互換信道保护公钥PKkey和PKpc ;
[0106]在KEY与终端通信连接,比如将具有USB接ロ的USBKEY插入PC中,KEY与终端分别产生ー对线路保护密钥对;所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥PKpe和终端私钥。在KEY与终端通信连接后,双方互换公钥;即KEY将自身产生的密钥对中的公钥PKlrey发送给终端,终端将自身产生的密钥对中的公钥PKp。发送给KEY ;同时,终端提示用户输入PIN (Personal Identification Number,个人识别码)码和认证码。
[0107]步骤S02、KEY随机产生一串字符作为认证码并显示;
[0108]KEY上随机产生一串字符作为认证码,并显示,供用户将该认证码输入终端。KEY产生的随机认证码通常为6位十进制数;当然,认证码的位数及形式可以根据需要进行调整;比如,将KEY随机产生的认证码设置为8位ニ进制数,或者4位数字与字母的组合,或者10位数字与字母和特殊符号的组合等,本实施例对此不做限制。本实施例中,KEY随机生成并显示的认证码可以表示为CODE。用户可以通过终端的键盘输入所述PIN码和认证码。优选的,終端也可以生成一软键盘,供用户基于终端显示的所述软键盘输入所述PIN码和认证码。用户根据终端的提示,基于终端提供的软键盘输入登录时的PIN码和认证码。本实施例中,終端生成的软键盘为随机的软键盘;比如,软键盘上的字符是随机排列的;或者,软键盘上的游标的初始位置是随机的;或者,所述软键盘的字符是随机排列的,且所述软键盘的游标的初始位置也是随机的。
[0109]步骤S03、终端将包括PIN码和认证码及公钥PKpe和/或PKkey的參数进行加密运算得到一加密结果Spc,并将得到的加密结果Spc发送给KEY ;
[0110]当終端检测到用户在终端上输入PIN码和KEY显示的随机认证码后,终端将包括用户输入的PIN码和随机认证码及自身生成的公钥PKp。和/或KEY传入的公钥PKkey组合为(PKpc, PIN, CODE)或(PKkey,PIN, CODE)或(PKkey,PKpc, PIN, CODE),并对其进行加密运算得到一加密结果Sp。。具体的加密算法可以是摘要算法或者其他加密算法。加密运算的參数包括组合(PKpc,PIN, CODE)或(PKkey, PIN, CODE)或(PKkey, PKpc, PIN, CODE);其中,(PKpc, PIN, CODE)或(PKkey,PIN, CODE)或(PKkey,PKpc, PIN, CODE)的组合方法可以有多种选择,本实施例仅以參数包括(PKp。,PIN,CODE)为例进行描述。终端也可以将包括PKp。,、PIN、CODE的參数直接进行摘要运算,将生成的摘要值作为加密结果Sp。。比如:使用SHA256散列算法求该组合(PKpc, PIN, CODE)的摘要值为:Spc=Hash(PKp。,PIN,CODE);或者,也可以将其中的任一參数如CODE扩展为密钥,采用某ー标准加密算法加密包括PKp。和PIN的參数,将得到的结果作为Spc ;或者,终端也可以将其中的任两个参数如CODE和PKp。扩展为密钥,采用某一标准加密算法加密包括PIN的参数,将得到的结果作为Sp。;或者,用某一已知密钥,采用某一标准加密算法加密包括PKpc;、PIN和CODE参数,将得到的结果作为Sp。;对上述组合(PKp。,PIN, CODE)的具体使用可视具体需要和系统性能而定,本实施例不对其进行限定。
[0111]终端将得到的加密结果Spe发送给KEY。
[0112]步骤S04、KEY采用与终端同样的算法对与终端同样的参数进行加密运算,得到一加密结果Skey ;
[0113]步骤S05、KEY识别Sp。和Skey相同时,与终端进行工作数据的交互。
[0114]由于KEY已知用户输入的PIN码、随机认证码CODE和终端发送的自身公钥PKpc,因此KEY可以同时采用与终端获取其加密结果Sp。相同的算法计算出KEY自身的加密结果Skey ;在一优选的实施例中,KEY采用与终端相同的算法,根据已知的PKp。、PIN和CODE得到的 KEY 的加密结果 Skey 为:Skey=Hash (PKpc, PIN, CODE)。
[0115]KEY在接收到终端发送的终端生成的加密结果Spe后,KEY即对Spe和Skey进行比较,若Sp。与Skey 二者相等,则KEY对接入的终端认证通过,可以进一步与终端进行工作数据的交互。若KEY识别Sp。和Skey不相同时,则对终端认证不通过,不与终端进行工作数据的交互。本实施例中,工作数据可以理解为KEY对终端认证通过后,二者进行交互过程中的所有数据。
[0116]在一优选的实施例中,为了进一步地提高KEY与终端通信连接的安全性,在KEY识别Spc与Skey 二者相等时,KEY也可以将自身生成的Skey发送给终端,供终端认证Spc与Skey是否相等;在终端也识别Sp。与Skey 二者相等时,KEY和终端二者完成相互认证,之后再进行工作数据的交互。
[0117]本发明实施例对包括用户输入的PIN码和KEY上随机生成并显示的认证码及终端或KEY的线路保护公钥的参数进行整合后进行加密,并由终端发送至KEY进行比对认证的方法,具有保证KEY与终端之间进行通信连接安全性的有益效果,提高了对PIN码保护的强度,可有效防止认证过程中的中间人攻击、重放攻击等网络攻击。
[0118]图4是本发明信息认证方法第四实施例流程示意图;本实施例与图3所述实施例的区别是,将图3所述实施例中执行主体KEY与终端进行交换。本实施例中,以KEY和终端建立通信连接后,二者分别产生一对线路保护密钥对为例进行描述;当然,该链路保护系统中,也可以仅有KEY或者终端中的其中一个产生线路保护密钥对,并将产生的线路保护密钥对中的公钥发给对方以进行后续的加密处理;对于仅有KEY或者终端中的其中一个产生线路保护密钥对并将产生的线路保护密钥对中的公钥发给对方以进行后续的加密处理的方案,相对简单,在此不再赘述。
[0119]如图4所示,本发明信息认证方法还可以采用下述实施方式实现:
[0120]步骤SO1、KEY与终端通信连接后,与终端互换信道保护公钥PKkey和PKpc ;
[0121 ] 在KEY与终端通信连接,比如将具有USB接口的USBKEY插入PC中,KEY与终端分别产生一对线路保护密钥对;所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥PKpe和终端私钥。在KEY与终端物理连接后,双方互换公钥;即KEY将自身产生的密钥对中的公钥PKlrey发送给终端,终端将自身产生的密钥对中的公钥PKp。发送给KEY ;同时,终端提示用户输入PIN码和认证码。[0122]步骤S21、終端随机产生一串字符作为认证码并显示;
[0123]本实施例中,終端上随机产生一串字符作为认证码,并显示,供用户将终端上显示的随机认证码输入KEY。本实施例中,认证码位数及形式的设置规则与第一实施例相同,此处不再赘述。用户可以通过KEY的键盘输入所述PIN码和认证码。优选的,KEY也可以生成一软键盘,供用户基于KEY显示的软键盘输入PIN码和认证码。用户根据KEY的提示,基于KEY提供的软键盘输入登录时的PIN码和认证码。本实施例中,KEY生成的软键盘为随机排列的软键盘;比如,软键盘上的字符是随机排列的;或者,软键盘上的游标的初始位置是随机的;或者,所述软键盘的字符是随机排列的,且所述软键盘的游标的初始位置也是随机的。
[0124]步骤S22、KEY将PIN码和认证码及公钥PKkey和/或PKpe进行组合加密得到一加S结果Skey,并将得到的加S结果Skey发送给终立而;
[0125]当KEY检测到用户在KEY上输入PIN码和终端显示的随机认证码后,KEY将包括用户输入的PIN码和随机认证码及终端传入的公钥PKp。或自身生成的公钥PKkey组合为(PKpc, PIN, CODE)或(PKkey,PIN, CODE)或(PKkey,PKpc, PIN, CODE),并对其进行加密运算得到一加密结果Skey。具体的加密算法可以是摘要算法、对称加密算法或者其他加密算法。加密运算的參数包括组合(PKp。,PIN, CODE)或(PKkey, PIN, CODE)或(PKkey, PKpc, PIN, CODE);其中,(PKpc,PIN, CODE)或(PKkey,PIN, CODE)或(PKkey,PKpc, PIN, CODE)的组合方法可以有多种选择,本实施例仅以參数包括(PKkey,PIN,CODE)为例进行描述。KEY也可以将包括PKkey、PIN、CODE的參数直接进行加密运算,生成加密结果Skey。比如:使用SHA256散列算法求该组合(PKkey,PIN,CODE)的加密结果为:Skey=Hash (PKkey,PIN,CODE);或者,也可以将其中的任一參数如CODE扩展为密钥,采用某ー标准加密算法加密包括PKlrey和PIN的參数,将得到的结果作为Skey ;或者,終端也可以将其中的任两个參数如CODE和PKkey扩展为密钥,采用某ー标准加密算法加密包括PIN的參数,将得到的结果作为Skey ;或者,用某一已知密钥,采用某ー标准加密算法加密包括PKkey、PIN和CODE參数,将得到的结果作为Skey ;对上述组合(PKkey, PIN, CODE)的具体使用可视具体需要和系统性能而定,本实施例不对其进行限定。
[0126]KEY将得到的加密结果Skey发送给终端。
[0127]步骤S23、终端采用与KEY同样的算法对与KEY同样的參数进行加密运算,得到一加密结果Spc ;
[0128]步骤S24、終端识别Spe和Skey相同时,与KEY进行工作数据交互。
[0129]由于终端已知用户输入的PIN码、随机认证码CODE和KEY发送的自身公钥PKkey,因此终端可以同时采用与KEY获取其加密结果Skey相同的算法计算出終端自身的加密结果Spc ;在ー优选的实施例中,终端采用与KEY相同的算法,根据已知的PKkey、PIN和CODE得到的终端的加密结果 Spc 为=Spc=Hash (PKkey,PIN, CODE)。
[0130]終端在接收到KEY发送的KEY生成的加密结果Skey后,終端即对Spe和Skey进行比较,若Sp。与Skey 二者相等,则终端对接入的KEY认证通过,可以进一歩与KEY进行工作数据的交互。若終端识别Spe和Skey不相同吋,则终端对KEY认证不通过,不与KEY进行工作数据的交互。本实施例中,工作数据可以理解为KEY对终端认证通过后,二者进行交互过程中的所有数据。
[0131]在一优选的实施例中,为了进一步地提高KEY与终端通信连接的安全性,在终端识别Spe与Skey 二者相等时,终端也可以将自身生成的Spe发送给KEY,供KEY认证Spe与Skey是否相等;在KEY也识别Spc与Skey 二者相等时,KEY和终端二者基于加密结果Spe或Skey才能进行工作数据交互。
[0132]本发明实施例对包括用户输入的PIN码和终端上随机生成的认证码及终端或KEY的线路保护公钥的参数整合后进行加密,并由KEY发送至终端进行比对确认的方法,具有保证KEY与终端之间进行通信连接安全性的有益效果,提高了对PIN码保护的强度,可有效防止认证过程中的中间人攻击、重放攻击等网络攻击。
[0133]图5是本发明信息认证方法第五实施例流程示意图;本实施例与图3和图4所述实施例的区别是,本实施例在步骤SO1、KEY与终端通信连接后,与终端互换信道保护公钥PKkey和PKp。,之前还包括:
[0134]步骤SI 1、KEY与终端分别产生一线路保护密钥对。
[0135]本实施例仅对步骤Sll进行具体描述,有关本发明信息认证方法所涉及的其他步骤请参照相关实施例的具体描述,在此不再赘述。
[0136]基于图3和图4所述实施例的具体描述,本实施例中,在终端和KEY建立通信连接时,为了对接入KEY的终端进行认证或者对接入终端的KEY进行认证,KEY与终端在通信连接前双方分别产生一线路保护密钥对;所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥PKp。和终端私钥。
[0137]KEY与终端分别产生一线路保护密钥对,也可以在KEY与终端通信连接后产生。
[0138]在一优选的实施例中,也可以仅有KEY或者终端中的其中一个产生线路保护密钥对,并将产生的线路保护密钥对中的公钥发给对方以进行后续的加密处理。
[0139]KEY和终端分别产生一线路保护密钥对,并互换各自生成的公钥PKkey和ΡΚρ。,是后续KEY对终端进行合法性认证的一个前提条件。
[0140]图6是本发明信息认证系统一实施例功能模块示意图,如图6所示,本发明信息认证系统包括KEYOl和终端02。
[0141]本实施例中,以KEYOl和终端02建立通信连接后,二者分别产生一对线路保护密钥对为例进行描述;当然,该链路保护系统中,也可以仅对PIN码、KEYOl或终端02随机显示的认证码作为加密参数进行加密运算,也可以仅有KEYOl或者终端02中的其中一个产生线路保护密钥对,并将产生的线路保护密钥对中的公钥发给对方以进行后续的加密处理;对于仅对PIN码和随机认证码作为参数进行加密运算的方案相对简单,在此不再赘述。
[0142]在KEYOI与终端02通信连接,比如将具有USB接口的USBKEY插入PC中,KEYOl与终端02分别产生一对线路保护密钥对;所述KEYOl的密钥对包括公钥PKkey和KEY私钥,所述终端02的密钥对包括公钥PKpe和终端私钥。在KEYOl与终端02通信连接后,双方互换公钥;即KEYOl将自身产生的密钥对中的公钥PKkey发送给终端02,终端02将自身产生的密钥对中的公钥PKpe发送给KEYOl ;同时,终端02提示用户输入PIN码和认证码。
[0143]KEYOl上随机产生一串字符作为认证码,并显示,供用户将该认证码输入终端02。KEYOl产生的随机认证码通常为6位十进制数;当然,认证码的位数及形式可以根据需要进行调整;比如,将KEYOl随机产生的认证码设置为8位二进制数,或者4位数字与字母的组合,或者10位数字与字母和特殊符号的组合等,本实施例对此不做限制。本实施例中,KEYOl随机生成并显示的认证码可以表示为CODE。用户可以通过终端的键盘输入所述PIN码和认证码。优选的,终端02也可以生成一软键盘,供用户基于终端02显示的所述软键盘输入所述PIN码和认证码。用户根据终端02的提示,基于终端02提供的软键盘输入登录时的PIN码和认证码。本实施例中,终端02生成的软键盘为随机软键盘;比如,软键盘上的字符是随机排列的;或者,软键盘上的游标的初始位置是随机的;或者,所述软键盘的字符是随机排列的,且所述软键盘的游标的初始位置也是随机的。
[0144]当用户在终端02上输入PIN码和KEYOl显示的随机认证码后,终端02将包括用户输入的PIN码和随机认证码及自身生成的公钥PKpe和/或KEY传入的公钥PKkey组合为(PKpc, PIN, CODE),或(PKkey,PIN, CODE)或(PKkey,PKpc, PIN, CODE),并对其进行加密运算得到一加密结果Sp。。具体的加密算法可以是摘要算法或者其他加密算法。加密运算的参数包括组合(PKpc,PIN, CODE)或(PKkey, PIN, CODE)或(PKkey, PKpc, PIN, CODE);其中,(PKpc, PIN, CODE)或(PKkey,PIN, CODE)或(PKkey,PKpc, PIN, CODE)的组合方法可以有多种选择,本实施例仅以参数包括(PKp。,PIN,CODE)为例进行描述。终端也可以将包括PKp。,、PIN、CODE的参数直接进行摘要运算,将生成的摘要值作为加密结果Sp。。比如:使用SHA256散列算法求该组合(PKpc, PIN, CODE)的摘要值为:Spc=Hash(PKp。,PIN,CODE);或者,也可以将其中的任一参数如CODE扩展为密钥,采用某一标准加密算法加密包括PKp。和PIN的参数,将得到的结果作为Spc ;或者,终端也可以将其中的任两个参数如CODE和PKp。扩展为密钥,采用某一标准加密算法加密包括PIN的参数,将得到的结果作为Sp。;或者,用某一已知密钥,采用某一标准加密算法加密包括PKpc;、PIN和CODE参数,将得到的结果作为Sp。;对上述组合(PKp。,PIN, CODE)的具体使用可视具体需要和系统性能而定,本实施例不对其进行限定。
[0145]终端02将得到的加密结果Spe发送给KEYOI。
[0146]由于KEY01已知用户输入的PIN码、随机认证码CODE和终端02发送的自身公钥PKpc,因此KEY01可以同时采用与终端02获取其加密结果Sp。相同的算法计算出KEY01自身的加密结果Skey。在一优选的实施例中,KEY01采用与终端02相同的算法,根据已知的PKp。、PIN 和 CODE 得到的 KEY01 的加密结果 Skey 为:Skey=Hash (PKpc, PIN, CODE)。
[0147]KEY01在接收到终端02发送的终端02生成的加密结果Spe后,KEY01即对Spc和Skey进行比较,若Spe与Skey 二者相等,则KEY01对接入的终端02认证通过,可以进一步与终端02进行工作数据的交互。若KEY01识别Spe和Skey不相同时,则对终端02认证不通过,不与终端02进行工作数据的交互。本实施例中,工作数据可以理解为KEY01对终端02认证通过后,二者进行交互过程中的所有数据。
[0148]在一优选的实施例中,为了进一步地提高KEY01与终端02通信连接的安全性,在KEY01识别Spe与Skey 二者相等时,KEY01也可以将自身生成的Skey发送给终端02,供终端02认证Spc与Skey是否相等;在终端02也识别Spc与Skey 二者相等时,KEY01和终端02 二者完成相互认证,之后再进行工作数据的交互。
[0149]本发明实施例中,执行主体KEY与终端可进行互换。有关互换执行主体后的具体过程请参照上述相关实施例的具体描述,在此不再赘述。
[0150]本发明实施例对包括用户输入的PIN码和认证码及终端和/或KEY的线路保护公钥的参数进行整合后进行加密,并将加密结果作为KEY对终端或终端对KEY的认证依据,具有保证KEY与终端之间进行通信连接安全性的有益效果,提高了对PIN码保护的强度,可有效防止认证过程中的中间人攻击、重放攻击等网络攻击。[0151]请再次參照图6,基于图6所述实施例的具体描述,本实施例中,在終端02和KEYOl建立通信连接时,为了对接入KEYOl的终端02进行认证或者对接入终端02的KEYOl进行认证,KEYOl与终端02在通信连接前双方分别产生ー线路保护密钥对;所述KEYOl的密钥对包括公钥PKkey和KEY私钥,所述终端02的密钥对包括公钥PKpe和终端私钥。
[0152]KEYOl与终端02分别产生ー线路保护密钥对,也可以在KEYOl与终端02通信连接后广生。
[0153]KEYOl和终端02分别产生ー线路保护密钥对,并互换各自生成的公钥PKkey和PKpc,是后续KEYOl对终端02进行合法性认证的ー个前提条件。
[0154]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括ー个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0155]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0156]以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种信息认证方法,其特征在于,包括以下步骤: KEY与终端通信连接;KEY随机产生一串字符作为认证码并显示,供用户在终端上输入KEY显示的所述认证码,终端检测到用户在终端上输入PIN码和KEY显示的所述认证码后,终端将包括所述PIN码和认证码的参数进行加密运算得到一加密结果Sp。,并将得到的加密结果Sp。发送给ΚΕΥ,ΚΕΥ采用与终端同样的算法对与所述终端同样的参数进行加密运算,得到一加密结果Skey,KEY识别Sp。和Skey相同时,与终端进行工作数据的交互;或者: 终端随机产生一串字符作为认证码并显示,供用户在KEY上输入终端显示的所述认证码,KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码后,KEY将包括所述PIN码和认证码的参数进行组合加密得到一加密结果Slrey,并将得到的加密结果Skey发送给终端,终端采用与KEY同样的算法对与所述KEY同样的参数进行加密运算,得到一加密结果Spc,终端识别Sp。和Skey相同时,与KEY进行工作数据交互。
2.如权利要求1所述的方法,其特征在于,所述KEY与终端通信连接之后、KEY随机产生一串字符作为认证码并显示之前,还包括: KEY将自身的信道保护公钥PKkey发送给终端; 所述终端将包括 所述PIN码和认证码的参数进行组合加密得到一加密结果Spc,包括: 终端将包括所述PIN码、认证码和PKkey的参数进行组合加密得到一加密结果Sp。。
3.如权利要求1所述的方法,其特征在于,所述KEY与终端通信连接之后、终端随机产生一串字符作为认证码并显示之前,还包括: 终端将自身的信道保护公钥PKp。发送给KEY ; 所述KEY将包括所述PIN码和认证码的参数进行组合加密得到一加密结果Skey,包括: KEY将包括所述PIN码、认证码和PKpe的参数进行组合加密得到一加密结果Skey。
4.如权利要求1所述的方法,其特征在于,所述KEY与终端通信连接之后,还包括: KEY与终端互换信道保护公钥PKkey和PKp。,其中,所述公钥PKkey为KEY的公钥,所述公钥PKp。为终端的公钥; 所述终端将包括所述PIN码和认证码的参数进行组合加密得到一加密结果Spc,包括:终端将包括所述PIN码和认证码及PKp。和/或PKkey的参数进行组合加密得到一加密结果Spc ; 或者, 所述KEY将包括所述PIN码和认证码的参数进行组合加密得到一加密结果Skey,包括: KEY将包括所述PIN码和认证码及PKpe和/或PKkey的参数进行组合加密得到一加密结
Skey O
5.如权利要求1所述的方法,其特征在于,所述KEY与终端通信连接前或通信连接后包括: KEY产生一线路保护密钥对,包括公钥PKkey和KEY私钥; 或者, 终端产生一线路保护密钥对,包括公钥PKp。和终端私钥; 或者, KEY与终端分别产生一线路保护密钥对,所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥ΡΚρ。和终端私钥。
6.如权利要求1所述的方法,其特征在于,所述KEY随机产生一串字符作为认证码并显示的步骤之后、終端检测到用户在终端上输入PIN码和KEY显示的所述认证码的步骤之前,还包括: 終端生成并显示ー随机的软键盘,供用户输入所述PIN码和认证码; 或者, 所述终端随机产生一串字符作为认证码并显示的步骤之后、KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码之前,还包括: KEY生成并显示一随机的软键盘,供用户输入所述PIN码和认证码。
7.如权利要求1所述的方法,其特征在于,所述KEY识别Sp。和Slrey相同吋,与终端进行工作数据的交互包括: 所述KEY识别Sp。和Skey相同吋,发送所述Skey给所述終端,供所述终端识别Skey和Sp。是否相同,在所述终端识别所述Skey和Sp。相同吋,所述KEY再与终端进行工作数据的交互; 或者,所述终端识别Sp。和Skey相同吋,与KEY进行工作数据交互包括: 所述终端识别Spe和Skey相同吋,发送所述Spe给所述KEY,供所述KEY识别Spe和Skey是否相同,在所述KEY识别所述Spe和Skey相同时,所述终端再与KEY进行工作数据的交互。
8.如权利要求1所述的方法,其特征在于,所述终端检测到用户在终端上输入PIN码和KEY显示的所述认证码包括: 終端通过键盘接收用户输.入的所述PIN码和认证码; 或者,所述KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码包括: 所述KEY通过键盘接收用户输入的所述PIN码和认证码。
9.ー种信息认证系统,其特征在于,包括KEY和終端; 所述KEY用干,与終端通信连接后,随机产生一串字符作为认证码并显示,供用户在终端上输入KEY显示的所述认证码;所述终端用于,检测到用户在终端上输入PIN码和KEY显示的所述认证码后,将包括所述PIN码和认证码的參数进行加密运算得到一加密结果Sp。,并将得到的加密结果Spe发送给KEY ;所述KEY用干,采用与終端同样的算法对与所述终端同样的參数进行加密运算,得到一加密结果Skey,在识别Skey和Sp。相同吋,与终端进行工作数据的交互; 或者: 所述终端用于:与KEY通信连接后,随机产生一串字符作为认证码并显示,供用户在KEY上输入终端显示的所述认证码;所述KEY用于:检测到用户在KEY上输入PIN码和KEY显示的所述认证码后,将包括所述PIN码和认证码的參数进行组合加密得到一加密结果Slrey,并将得到的加密结果Slrey发送给終端;所述终端还用于:采用与KEY同样的算法对与所述KEY同样的參数进行加密运算,得到一加密结果Sp。,识别Spe和Skey相同时,与KEY进行工作数据交互。
10.如权利要求9所述的系统,其特征在于,所述KEY用于,将自身的信道保护公钥PKlrey发送给终端; 所述终端用干,将包括所述PIN码、认证码和PKkey的參数进行组合加密得到一加密结果 Spc。
11.如权利要求9所述的系统,其特征在于,所述终端用于,将自身的信道保护公钥PKp。发送给KEY ; 所述KEY用于,将包括所述PIN码、认证码和PKpe的参数进行组合加密得到一加密结果Skey O
12.如权利要求9所述的系统,其特征在于,所述KEY用于,与终端互换信道保护公钥PKkey和PKp。,将包括所述PIN码和认证码及ΡΚρ。和/或PKkey的参数进行组合加密得到一加密结果Skey ;其中,所述公钥PKlrey为KEY的公钥,所述公钥ΡΚρ。为终端的公钥; 所述终端用于,将包括所述PIN码和认证码及ΡΚρ。和/或PKkey的参数进行组合加密得到一加密结果Sp。。
13.如权利要求9所述的系统,其特征在于,所述KEY用于,产生一线路保护密钥对,包括公钥PKkey和KEY私钥;或者,与终端分别产生一线路保护密钥对,所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥PKp。和终端私钥; 或者,所述终端用于,产生一线路保护密钥对,包括公钥ΡΚρ。和终端私钥。
14.如权利要求9所述的系统,其特征在于,所述终端还用于: 生成并显示一随机排列的软键盘,供用户输入所述PIN码和认证码; 或者,所述KEY还用于: 生成并显示一随机的软键盘,供用户输入所述PIN码和认证码。
15.如权利要求9所述的系统,其特征在于,所述KEY还用于: 识别Sp。和Skey相同时,发送所述Skey给所述终端,供所述终端识别Skey和Spc是否相同,在所述终端识别所述Skey和Spc相同时,所述KEY再与终端进行工作数据的交互; 或者, 所述终端还用于:识别Spe和Skey相同时,发送所述Spe给所述KEY,供所述KEY识别Spc和Skey是否相同,在所述KEY识别所述Spe和Skey相同时,所述终端再与KEY进行工作数据的交互。
16.如权利要求9所述的系统,其特征在于,所述终端还用于: 通过键盘接收用户输入的所述PIN码和认证码; 或者,所述KEY还用于: 通过键盘接收用户输入的所述PIN码和认证码。
【文档编号】H04L9/06GK103428000SQ201310379436
【公开日】2013年12月4日 申请日期:2013年8月27日 优先权日:2013年8月27日
【发明者】陈柳章 申请人:深圳市文鼎创数据科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1