链路保护方法及系统的制作方法

文档序号:8005550阅读:240来源:国知局
链路保护方法及系统的制作方法
【专利摘要】本发明公开一种链路保护方法及系统,通过对用户输入的PIN码和随机生成的认证码整合后进行加密得到加密密钥,并将得到的加密密钥作为KEY与终端进行工作数据交互的加密密钥的方法,具有保证数据交互时加密密钥安全性的有益效果,进而保证了KEY与终端进行交互的工作数据的安全性,防止了数据交互过程中恶意程序对交互数据的攻击。
【专利说明】 链路保护方法及系统
【技术领域】
[0001]本发明涉及信息安全领域,尤其涉及一种链路保护方法及系统。
【背景技术】
[0002]现有的KEY产品(包括USBKey、蓝牙Key、音频Key等),与终端进行数据交互的加密密钥一般是固定的,或者,只与用户个人识别码相关,为了便于记忆,用户不可能频繁的更改个人识别码,所以,当攻击者利用木马对终端和KEY的通信进行窃听和劫持时,上述这种方式将无法对其进行防御,容易造成加密密钥的外泄,对用户的账户安全造成威胁;上述这种方式也无法防御中间人攻击、重放攻击和对用户个人识别码进行攻击等攻击方式,在KEY与终端进行工作数据交互时,上述这种方式存在重大的安全隐患。

【发明内容】

[0003]鉴于此,有必要提供一种链路保护方法及系统,以保证加密密钥的安全性,进而保证KEY与终端进行交互的工作数据安全。
[0004]本发明实施例公开了一种链路保护方法,包括以下步骤:
[0005]KEY与终端通信连接;KEY随机产生一串字符作为认证码并显示,供用户在终端上输入KEY显示的所述认证码,终端检测到用户在终端上输入PIN码和KEY显示的所述认证码后,终端将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Kp。,并将得到的加密密钥Kpe发送给KEY,KEY采用与终端同样的算法对与所述终端同样的参数进行加密运算,得到一加密密钥Kkey,KEY识别Kp。和Kkey相同时,基于所述Kkey与终端进行工作数据交互;或者,
[0006]终端随机产生一串字符作为认证码并显示,供用户在KEY上输入终端显示的所述认证码,KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码后,KEY将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Kkey,并将得到的加密密钥Kkey发送给终端,终端采用与KEY同样的算法对与所述KEY同样的参数进行加密运算,得到一加密密钥Kpc,终端识别Κρ。和Kkey相同时,基于所述Κρ。与KEY进行工作数据交互。
[0007]优选地,所述KEY与终端通信连接之后、KEY随机产生一串字符作为认证码并显示之前,还包括:
[0008]KEY将自身的信道保护公钥PKkey发送给终端;
[0009]所述终端将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Κρ。,包括:
[0010]终端将包括所述PIN码、认证码和PKkey的参数进行组合加密得到一加密密钥Kpc。
[0011]优选地,所述KEY与终端通信连接之后、终端随机产生一串字符作为认证码并显示之前,还包括:
[0012]终端将自身的信道保护公钥PKpe发送给KEY ;
[0013]所述KEY将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Kkey,包括:
[0014]KEY将包括所述PIN码、认证码和PKpe的参数进行组合加密得到一加密密钥Kkey。
[0015]优选地,所述KEY与终端通信连接之后,还包括:
[0016]KEY与终端互换信道保护公钥PKkey和PKp。,其中,所述公钥PKkey为KEY的公钥,所述公钥PKp。为终端的公钥;
[0017]所述终端将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Κρ。,包括:
[0018]终端将包括所述PIN码和认证码及ΡΚρ。和/或PKkey的参数进行组合加密得到一加密密钥κρ。;
[0019]或者,
[0020]所述KEY将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Kkey,包括:
[0021 ] KEY将包括所述PIN码和认证码及PKpe和/或PKkey的参数进行组合加密得到一加
密密钥Kkey。
[0022]优选地,所述KEY与终端通信连接前或通信连接后包括:
[0023]KEY产生一线路保护密钥对,包括公钥PKkey和KEY私钥;
[0024]或者,
[0025]终端产生一线路保护密钥对,包括公钥ΡΚρ。和终端私钥;
[0026]或者,
[0027]KEY与终端分别产生一线路保护密钥对,所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥PKp。和终端私钥。
[0028]优选地,所述KEY随机产生一串字符作为认证码并显示的步骤之后、终端检测到用户在终端上输入PIN码和KEY显示的所述认证码的步骤之前,还包括:
[0029]终端生成并显示一随机的软键盘,供用户输入所述PIN码和认证码;
[0030]或者,
[0031]所述终端随机产生一串字符作为认证码并显示的步骤之后、KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码之前,还包括:
[0032]KEY生成并显示一随机的软键盘,供用户输入所述PIN码和认证码。
[0033]优选地,所述KEY识别Kpe和Kkey相同时,与终端进行工作数据交互,包括:
[0034]KEY识别Kpe和Kkey相同时,发送所述Kkey给所述终端,供所述终端识别Kkey和Kpc是否相同,在终端识别Kkey和Κρ。也相同时,KEY再基于Κρ。或Kkey与终端进行工作数据交互;
[0035]或者,终端识别Kpe和Kkey相同时,与KEY进行工作数据交互,包括:
[0036]终端识别Kpe和Kkey相同时,发送所述Kpe给所述KEY,供所述KEY识别Kpe和Kkey是否相同,在所述KEY识别所述Kpe和Kkey相同时,所述终端再基于Kpe或Kkey与KEY进行工作数据的交互。
[0037]优选地,所述终端检测到用户在终端上输入PIN码和KEY显示的所述认证码包括:
[0038]终端通过键盘接收用户输入的所述PIN码和认证码;
[0039]或者,[0040]所述KEY检测到用户在KEY上输入PIN码和KEY显示的所述认证码包括:
[0041]所述KEY通过键盘接收用户输入的所述PIN码和认证码。
[0042]本发明实施例还公开一种链路保护系统,包括KEY和终端;
[0043]所述KEY用于:与终端通信连接后,随机产生一串字符作为认证码并显示,供用户在终端上输入KEY显示的所述认证码;所述终端用于,检测到用户在终端上输入PIN码和KEY显示的所述认证码后,将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Kp。,并将得到的加密密钥Kpe发送给KEY ;所述KEY用于:采用与终端同样的算法对与所述终端同样的参数进行加密运算,得到一加密密钥Kkey,在识别Κρ。和Kkey相同时,基于所述Kkey与终端进行工作数据交互;
[0044]或者:
[0045]所述终端用于--与KEY通信连接后,随机产生一串字符作为认证码,供用户在KEY上输入终端显示的所述认证码;所述KEY用于:检测到用户在KEY上输入PIN码和KEY显示的所述认证码后,将包括所述PIN码和认证码的参数进行组合加密得到一加密密钥Kkey,并将得到的加密密钥Kkey发送给终端;所述终端还用于:采用与KEY同样的算法对与所述KEY同样的参数进行加密运算,得到一加密密钥Κρ。,识别Κρ。和Kkey相同时,基于所述Κρ。与KEY进行工作数据交互。
[0046]优选地,将自身的信道保护公钥PKkey发送给终端;
[0047]所述终端用于,将包括所述PIN码、认证码和PKkey的参数进行组合加密得到一加密密钥Κρ。。
[0048]优选地,所述终端用于,将自身的信道保护公钥PKpe发送给KEY ;
[0049]所述KEY用于,将包括所述PIN码、认证码和PKpe的参数进行组合加密得到一加密
常钥Kkey。
[0050]优选地,所述KEY用于,与终端互换信道保护公钥PKkey和ΡΚρ。,将包括所述PIN码和认证码及PKp。和/或PKkey的参数进行组合加密得到一加密密钥Kkey ;其中,所述公钥PKkey为KEY的公钥,所述公钥ΡΚρ。为终端的公钥;
[0051]所述终端用于,将包括所述PIN码和认证码及PKpe和/或PKkey的参数进行组合加密得到一加密密钥κρ。。
[0052]优选地,所述KEY用于,产生一线路保护密钥对,包括公钥PKkey和KEY私钥;或者,与终端分别产生一线路保护密钥对,所述KEY的密钥对包括公钥PKkey和KEY私钥,所述终端的密钥对包括公钥ΡΚρ。和终端私钥;
[0053]或者,所述终端用于,产生一线路保护密钥对,包括公钥ΡΚρ。和终端私钥。
[0054]优选地,终端还用于:
[0055]生成并显示一随机的软键盘,供用户输入所述PIN码和认证码;或者,
[0056]所述KEY还用于:
[0057]生成并显示一随机的软键盘,供用户输入所述PIN码和认证码。
[0058]优选地,所述KEY还用于:
[0059]识别Κρ。和Kkey相同 时,发送所述Kkey给所述终端,供所述终端识别Kkey和Κρ。是否相同,在终端识别Kkey和Κρ。也相同时,KEY再基于Κρ。或Kkey与终端进行工作数据交互;
[0060]或者,所述终端还用于:[0061 ] 识别Kpe和Kkey相同时,发送所述Kpe给所述KEY,供所述KEY识别Kpe和Kkey是否相同,在所述KEY识别所述Kpe和Kkey相同时,所述终端再基于Kpe或Kkey与KEY进行工作数据的交互。
[0062]优选地,所述终端还用于:
[0063]通过键盘接收用户输入的所述PIN码和认证码;或者,
[0064]所述KEY还用于:
[0065]通过键盘接收用户输入的所述PIN码和认证码。
[0066]本发明实施例通过对用户输入的PIN码和认证码整合后进行加密得到加密密钥,并将得到的加密密钥作为KEY与终端进行工作数据交互的加密密钥的方法,具有保证数据交互时加密密钥安全性的有益效果,进而保证了 KEY与终端进行交互的工作数据的安全性,防止了数据交互过程中恶意程序对交互数据的攻击。
【专利附图】

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