一种USBKey总线保护实现方法转让专利

申请号 : CN201310410635.4

文献号 : CN103475466A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王强

申请人 : 上海动联信息技术股份有限公司

摘要 :

本发明公开了一种USBKey总线保护实现方法,所述方法采用非对称算法对线路静态加密密钥或密钥分散因子进行加密保护,UsbKey对加密的线路保护密钥或密钥分散因子解密,计算得到线路保护密钥。该方法提高了线路保护密钥的安全性,在UsbKey操作的时间段内,线路密钥由非对称算法保护,很难被破解。

权利要求 :

1.一种USBKey总线保护实现方法,其特征在于,所述方法采用非对称算法对线路静态加密密钥或密钥分散因子进行加密保护,UsbKey对加密的线路保护密钥或密钥分散因子解密,计算得到线路保护密钥。

2.根据权利要求1所述的一种USBKey总线保护实现方法,其特征在于,所述方法中对采用静态加密密钥进行USBKey总线保护的过程通过如下步骤实现:(1)客户端发送获取非对称密钥对指令,Usbkey响应后生成公私钥对,并返回公钥作为加密静态线路密钥的加密密钥;

(2)客户端用收到的公钥加密静态线路密钥,将加密后的静态线路密钥发送至UsbKey端,UsbKey端收到密文后,用步骤(1)生成的密钥对中的私钥解密,得到静态线路加密密钥;

(3)若客户端有数据发送到UsbKey,则用静态线路加密密钥,对数据进行对称密钥加密,发送给UsbKey;

(4)UsbKey利用步骤(2)得到的静态线路加密密钥将获得的密文数据解密,得到解密后的明文指令;

(5)若UsbKey有响应数据返回,则利用步骤2得到的静态线路加密密钥将对响应数进行对称密钥加密,并发送给客户端;

(6)客户端利用静态线路加密密钥将密文数据解密,得到解密后的响应数据。

3.根据权利要求1所述的一种USBKey总线保护实现方法,其特征在于,所述方法中对采用密钥分散因子进行USBKey总线保护的过程通过如下步骤实现:(1)客户端发送获取非对称密钥对指令,Usbkey响应后生成公私钥对,并返回公钥作为加密静态线路密钥分散因子的加密密钥;

(2)客户端加密静态线路密钥分散因子,将加密后的静态线路密钥分散因子发送至UsbKey端,UsbKey端收到密文后,用步骤(1)生成的公私钥对中的私钥解密,得到静态线路加密密钥分散因子;

(3)客户端和UsbKey端同时对事先约定的线路加密主密钥分散,得到临时会话密钥,作为线路加密密钥;

(4)若客户端有数据发送到UsbKey,则用步骤(3)得到的临时静态线路加密密钥,对数据进行对称密钥加密,发送给UsbKey;

(5)UsbKey利用步骤(3)得到的临时静态线路加密密钥将密文数据解密,得到解密后的明文指令;

(6)若UsbKey有响应数据返回,利用步骤3得到的线路加密密钥对响应数据进行对称密钥加密,并发送给客户端;

(7)客户端利用步骤3得到的线路加密密钥将密文数据解密,得到相应的明文数据。

说明书 :

一种USBKey总线保护实现方法

技术领域

[0001] 本发明涉及数据加密技术,具体涉及UsbKey通讯中线路保护密钥的安全技术。

背景技术

[0002] 为了保护UsbKey通讯中的数据安全,常常设置对称密钥作为通话的传输密钥,对线路的数据进行加密,保证传输中采用密文方式,防止在通讯过程中机密数据被窃听。但对称密钥的设置和生成过程存在安全隐患:
[0003] 1.若对称密钥为通信双方协商好的静态密钥,存在破解的危险。
[0004] 参见图1,其所示为现有技术中采用协商好的静态密钥对通讯线路进行保护的示意图。整个保护流程如下:
[0005] (1)若客户端有数据发送到UsbKey,则用事先协商好的静态加密密钥,对数据进行对称密钥加密,发送给UsbKey;
[0006] (2)UsbKey将密文数据解密,得到解密后的明文指令;
[0007] (3)若UsbKey有响应数据返回,则用同样的方式将数据加密,客户端收到后解密,得到明文数据。
[0008] 通过上述保护流程可知,该线路的密钥为静态密钥,反复使用,极易被破解,安全系数较低。
[0009] 2.若对称密钥是经过分散的,则在分散因子的协商过程中,为明文传输,易被非法截取,从而获取到线路保护对称密钥;
[0010] 参见图2,其所示为采用经过分散的对称密钥对通讯线路进行保护的示意图。整个保护流程如下:
[0011] (1)客户端发送获取随机数指令,Usbkey响应后返回随机数作为线路加密密钥的分散因子;
[0012] (2)客户端和UsbKey端同时对事先约定的线路加密主密钥分散,得到临时会话密钥,作为线路加密密钥;
[0013] (3)若客户端有数据发送到UsbKey,则用临时会话密钥,对数据进行对称密钥加密,发送给UsbKey;
[0014] (4)UsbKey将密文数据解密,得到解密后的明文指令;
[0015] (5)若UsbKey有响应数据返回,则用同样的方式将数据加密,客户端收到后解密,得到明文数据。
[0016] 通过上述保护流程可知,该线路加密密钥的生成加入了随机数分散的过程,客户端可以随时生成新的分散因子,要求替换原线路加密密钥,但分散因子为明文传输,仍有被破解的风险,若频繁更换随机分散因子,则加大了指令处理的响应时间,效率会大大降低。
[0017] 如上述内容,现有技术人员在面对通信线路安全性的问题,直接会采用的技术手段为采用更为复杂的密钥对明文数据进行加密或采用更为复杂的安全认证方法,即技术人员对采用的线路静态加密密钥或密钥分散因子本身是不作任何处理的,最多只是在线路静态加密密钥或密钥分散因子的基础上不断的变化加密和认证的方法,以此来提高数据的安全性,根本不会对采用的线路静态加密密钥或密钥分散因子进行任何的安全保密处理。
[0018] 由此造成现有通信线路中所采用加密密钥存在被破解的风险,从而极大的降低数据的安全性。

发明内容

[0019] 针对现有通用线路保护方法中加密密钥存在被破解的问题,本发明的目的在于提供一种USBKey总线保护实现方法,对UsbKey线路的保护密钥进行保护,从而保护UsbKey通讯中的数据安全。
[0020] 为了达到上述目的,本发明采用如下的技术方案:
[0021] 一种USBKey总线保护实现方法,所述方法采用非对称算法对线路静态加密密钥或密钥分散因子进行加密保护,UsbKey对加密的线路保护密钥或密钥分散因子解密,计算得到线路保护密钥。
[0022] 在本发明的一优选实例中,所述方法中对采用静态加密密钥进行USBKey总线保护的过程通过如下步骤实现:
[0023] (1)客户端发送获取非对称密钥对指令,Usbkey响应后生成公私钥对,并返回公钥作为加密静态线路密钥的加密密钥;
[0024] (2)客户端用收到的公钥加密静态线路密钥,将加密后的静态线路密钥发送至UsbKey端,UsbKey端收到密文后,用步骤(1)生成的密钥对中的私钥解密,得到静态线路加密密钥;
[0025] (3)若客户端有数据发送到UsbKey,则用静态线路加密密钥,对数据进行对称密钥加密,发送给UsbKey;
[0026] (4)UsbKey利用步骤(2)得到的静态线路加密密钥将获得的密文数据解密,得到解密后的明文指令;
[0027] (5)若UsbKey有响应数据返回,则利用步骤2得到的静态线路加密密钥将对响应数进行对称密钥加密,并发送给客户端;
[0028] (6)客户端利用静态线路加密密钥将密文数据解密,得到解密后的响应数据。
[0029] 在本发明的另一优选实例中,所述方法中对采用密钥分散因子进行USBKey总线保护的过程通过如下步骤实现:
[0030] (1)客户端发送获取非对称密钥对指令,Usbkey响应后生成公私钥对,并返回公钥作为加密静态线路密钥分散因子的加密密钥;
[0031] (2)客户端加密静态线路密钥分散因子,将加密后的静态线路密钥分散因子发送至UsbKey端,UsbKey端收到密文后,用步骤(1)生成的公私钥对中的私钥解密,得到静态线路加密密钥分散因子;
[0032] (3)客户端和UsbKey端同时对事先约定的线路加密主密钥分散,得到临时会话密钥,作为线路加密密钥;
[0033] (4)若客户端有数据发送到UsbKey,则用步骤(3)得到的临时静态线路加密密钥,对数据进行对称密钥加密,发送给UsbKey;
[0034] (5)UsbKey利用步骤(3)得到的临时静态线路加密密钥将密文数据解密,得到解密后的明文指令;
[0035] (6)若UsbKey有响应数据返回,利用步骤3得到的线路加密密钥对响应数据进行对称密钥加密,并发送给客户端;
[0036] (7)客户端利用步骤3得到的线路加密密钥将密文数据解密,得到相应的明文数据。
[0037] 该方法提高了线路保护密钥的安全性,在UsbKey操作的时间段内,线路密钥由非对称算法保护,很难被破解。同时,若UsbKey交互数据采用静态密钥保护,客户端和UsbKey端事先不需要协商静态密码,可由客户端加密发送给UsbKey,可以随时变换,提高了破解的难度,极大的提高了数据的安全性。

附图说明

[0038] 以下结合附图和具体实施方式来进一步说明本发明。
[0039] 图1为现有采用协商好的静态密钥对通讯线路进行保护的示意图;
[0040] 图2为现有采用经过分散的对称密钥对通讯线路进行保护的示意图;
[0041] 图3为本发明中对采用协商好的静态密钥对通讯线路进行保护的流程图;
[0042] 图4为本发明中对采用经过分散的对称密钥对通讯线路进行保护的流程图。

具体实施方式

[0043] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
[0044] 本发明在UsbKey与客户端的通讯过程中通过采用非对称算法对线路静态加密密钥或密钥分散因子进行加密保护,再由UsbKey端对加密的线路静态加密密钥或密钥分散因子进行解密,计算得到线路保护密钥,之后在进行加密通讯。本发明提供的方案通过非对称算法对对明文数据进行加密的密钥进行加密,有效避免数据传输过程中密钥被破解的风险,从而极大的提高了数据的安全性。
[0045] 以下通过两个具体应用实例来进一步说明本发明的方案:
[0046] 实例1
[0047] 参见图3,其所示为利用本发明方案对采用协商好的静态密钥对通讯线路进行保护的流程图。由图可知,客户端与USBKEY之间的通讯过程如下:
[0048] 1.客户端发送获取非对称密钥对指令,Usbkey响应后生成公私钥对(即密钥对),并返回公钥作为加密静态线路密钥的加密密钥。
[0049] 该步骤的具体实现过程如下:
[0050] A:客户端按照智能卡ISO7816-4规范,组装获取非对称密钥对指令的APDU数据包;
[0051] B:APDU数据包形成后,通过USBCCID,UDK或HID协议快速、准确的发送至UsbKey;
[0052] C:UsbKey对收到的APDU-数据包解析,调用SM2或RSA算法,生成密钥对,并将公钥以明文方式返回。
[0053] 2.客户端用收到的公钥加密客户端中实现安全通讯的静态线路密钥,将加密后的静态线路密钥发送至UsbKey端,UsbKey端收到密文后,用步骤(1)中生成公私钥对中的私钥解密,得到静态线路加密密钥。
[0054] 该步骤的具体实现过程如下:A:客户端可调用非对称SM2,或RSA软算法,用收到的公钥作为加密密钥,静态线路密钥作为明文M1输入,做加密运算,得到密文D1;
[0055] B:UsbKey端调用非对称SM2,或RSA软算法,用步骤(1)中生成的密钥对中的私钥作为解密密钥,密文D1作为输入,做解密运算,得到明文M1,即:静态线路密钥。
[0056] 3.若客户端有数据发送到UsbKey,则用静态线路加密密钥,对数据进行对称密钥加密,发送给UsbKey。
[0057] 该步骤的具体实现时,采用静态线路加密密钥作为加密密钥,用流加密算法RC4算法对明文指令M2进行加密,得到密文D2,并发送给UsbKey。对于流加密采用RC4算法加密,RC4是一种密钥长度可变的流加密算法,加解密使用相同的密钥,也是对称加密算法,给定一个密钥,RC4可以逐字节的加解密明文密文。
[0058] 4.UsbKey利用步骤2得到的静态线路加密密钥将密文数据解密,得到解密后的明文指令。
[0059] 该步骤的具体实现时,UsbKey接收到密文D2后,同样采用RC4算法解密,静态线路加密密钥作为解密密钥,用RC4算法对密文指令D2解密,得到明文M2。
[0060] 5.若UsbKey有响应数据返回,则利用步骤2得到的静态线路加密密钥对响应数进行对称密钥加密,并发送给客户端。
[0061] 具体的,若UsbKey解密得到的明文M2为一条取随机数指令:00 84 00 00 10;UsbKey端解析后,得知客户端要获取16字节的随机数,则UsbKey内部生成16字节随机数后,采用RC4流加密算法,静态线路加密密钥作为加密密钥,对该随机数明文M3作加密运算,得到密文D3,回传给客户端。
[0062] 6.客户端利用静态线路加密密钥将密文数据解密,得到解密后的响应数据。具体的,客户端接收到密文D3后,采用RC4算法解密,静态线路加密密钥作为解密密钥,用RC4算法对密文数据D3解密,得到明文M3,即:16字节随机数。
[0063] 该实例中,使用非对称密钥对静态线路保护密钥进行加密,初始静态密钥只由客户端拥有,客户端与USBKEY之间不需要事先协商,且静态线路保护密钥由非对称算法加密传输,不易破解,提高了数据传输的安全性。
[0064] 再者,该实例中采用的非对称算法具体为SM2,RSA算法,但不限于该2种算法。
[0065] 流加密算法具体为RC4算法,但不限于该种算法。
[0066] 实例2
[0067] 参见图4,其所示为利用本发明方案对采用经过分散的对称密钥对通讯线路进行保护的流程图。由图可知,客户端与USBKEY之间的通讯过程如下:
[0068] 1.客户端发送获取非对称密钥对指令,Usbkey响应后生成公私钥对,并返回公钥作为加密静态线路密钥分散因子的加密密钥。
[0069] 该步骤的具体实现过程如下:
[0070] A:客户端按照智能卡ISO7816-4规范,组装获取非对称密钥对指令的APDU数据包;
[0071] B:APDU数据包形成后,通过USBCCID,UDK或HID协议快速、准确的发送至UsbKey;
[0072] C:UsbKey对收到的APDU-数据包解析,调用SM2或RSA算法,生成密钥对,并将公钥以明文方式返回。
[0073] 2.客户端利用Usbkey返回的公钥加密静态线路密钥分散因子,将加密后的静态线路密钥分散因子发送至UsbKey端,UsbKey端收到密文后,用步骤1中生成的公私钥对中的私钥对密文进行解密,得到静态线路加密密钥分散因子。
[0074] 该步骤的具体实现过程如下:
[0075] A:客户端可调用非对称SM2,或RSA软算法,用收到的公钥作为加密密钥,静态线路密钥分散因子作为明文M1输入,做加密运算,得到密文D1,并发送至UsbKey端;
[0076] B:UsbKey端调用非对称SM2,或RSA软算法,用步骤(1)中生成的密钥对中的私钥作为解密密钥,密文D1作为输入,做解密运算,得到明文M1,即:静态线路密钥分散因子。
[0077] 3.客户端和UsbKey端利用得到的加密密钥分散因子同时对事先约定的线路加密主密钥分散,得到临时会话密钥,作为线路加密密钥。
[0078] 具体的,客户端和UsbKey中分别用事先约定的线路主密钥作为原始密钥,加密密钥分散因子作为明文M4,采用SingleDES,TripleDES,SM1,SM4或SSF33(scb2)算法加密,得到密文D4,作为新的线路加密密钥。
[0079] 4.若客户端有数据发送到UsbKey,则用步骤3得到的静态线路加密密钥,对数据进行对称密钥加密,并发送给UsbKey。
[0080] 该步骤的具体实现时,客户端采用步骤2中得到的新的线路加密密钥作为加密密钥,用流加密算法RC4算法对明文指令M2进行加密,得到密文D2,并发送给UsbKey。
[0081] 5.UsbKey利用步骤3得到的新的线路加密密钥将密文数据解密,得到解密后的明文指令。
[0082] 该步骤的具体实现时,UsbKey接收到密文D2后,同样采用RC4算法解密,通过计算得到的新的线路加密密钥作为解密密钥,用RC4算法对密文指令D2解密,得到明文M2。
[0083] 6.若UsbKey有响应数据返回,利用步骤3得到的新的线路加密密钥对响应数据进行对称密钥加密,并发送给客户端。
[0084] 具体的,若UsbKey解密得到的明文M2为一条取随机数指令:00 84 00 00 10;UsbKey端解析后,得知客户端要获取16字节的随机数,则UsbKey内部生成16字节随机数后,采用RC4流加密算法,新的线路加密密钥作为加密密钥,对该随机数明文M3作加密运算,得到密文D3,回传给客户端。
[0085] 7.客户端利用步骤3得到的新的线路加密密钥将密文数据解密,得到相应的明文数据。
[0086] 具体的,客户端接收到密文D3后,采用RC4算法解密,新的线路加密密钥作为解密密钥,用RC4算法对密文数据D3解密,得到明文M3,即:16字节随机数。
[0087] 该实例中,使用非对称密钥加密静态线路保护密钥分散因子,分散因子由非对称算法加密传输,不易破解;最后使用分散因子对主密钥做对称加密运算,得到临时会话密钥,极大的提高了数据传输的安全性。
[0088] 再者,该实例中采用的非对称算法具体为SM2,RSA算法,但不限于该2种算法。
[0089] 流加密算法具体为RC4算法,但不限于该种算法。
[0090] 对于步骤3中使用到的密钥分散算法具体可采用SingleDES,TripleDES,SM1,SM4或SSF33(scb2)算法,但不限于该5种算法。
[0091] 通过上述两个实例可知,采用本方案的流加密总线保护方法,提高了线路保护密钥的安全性,不易被非法破解,且生成和传输保护密钥的过程简单,高效,适用于一代,二代,三代usbkey,用于数据安全传输。
[0092] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。