一种对称密钥的传输方法及设备的制造方法
【专利摘要】本发明公开了一种对称密钥的传输方法及设备,涉及信息安全领域。本发明首先在两个终端设备中存储相同的保护密钥,其中一个设备使用保护密钥通过特定方式计算出用于数据加密的第二密钥及一个用于信息鉴别的第一密钥,然后通过第二密钥对要传输的对称密钥进行加密得到密钥块数据域,再使用第一密钥对包括协议头和密钥块数据域在内的整个数据进行MAC计算,将由协议头、密钥块数据域和MAC计算结果组成的密钥块数据传递给另一个设备。另一个设备以同样的方法产生第一密钥及第二密钥,并通过第一密钥完成密钥模块数据完整性的校验,通过校验后,再使用第二密钥还原出明文的被传输对称密钥。
【专利说明】
一种对称密钥的传输方法及设备
技术领域
[0001]本发明涉及信息安全领域,尤其涉及一种对称密钥的传输方法及设备。
【背景技术】
[0002]在两个支持对称密钥体系的金融设备之间进行敏感数据交互时,需要对敏感数据进行数据加密及数据完整性校验,这些操作都需要依靠存储在金融设备内部的对称密钥完成。现有技术中,普遍的方法是分别在两个金融设备内部存储相同的固定数据作为对称密钥,但这种使用固定数据作为对称密钥的方式,使得金融设备之间敏感数据的传输存在安全性弱的问题,并且金融设备中的对称密钥的同步更新也是一个困难问题。
【发明内容】
[0003]为解决现有技术中存在的问题,本发明提出了一种对称密钥的传输方法及设备。
[0004]实现本发明采用的技术方案如下:
[0005]本发明提出的一种对称密钥的传输方法,其中作为对称密钥的发送方的设备的工作流程包括:
[0006]步骤S1:根据预存的保护密钥计算出第一密钥和第二密钥;
[0007]步骤S2:使用第二密钥对要传输的对称密钥进行加密得到密钥块数据域,使用第一密钥和预设算法对预设的密钥块头域和所述密钥块数据域进行计算得到密钥块MAC值;
[0008]步骤S3:根据所述密钥块头域、所述密钥块数据域和所述密钥块MAC值组成密钥块数据并发送给接收方。
[0009]上述步骤SI具体为:获取预存的保护密钥,将所述保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。
[0010]上述步骤S2具体包括:
[0011 ]步骤S2-1:将要传输的对称密钥根据预设格式组成待加密数据;
[0012]步骤S2-2:使用第二密钥对所述待加密数据进行加密得到密钥块数据域;
[0013]优选的,所述预设格式具体为:对称密钥长度值、对称密钥和填充数据的顺序拼接。
[0014]步骤S2-3:使用第一密钥和预设算法对由所述预设的密钥块头域和所述密钥块数据域拼接组成的数据进行计算得到密钥块MAC值。
[0015]优选的,所述预设算法具体为3DES算法,所述3DES算法的初始向量取为所述密钥块头域的部分数据。
[0016]本发明提供了一种对称密钥的传输设备,作为对称密钥的发送方,该设备包括:存储模块、第一计算模块、加密模块、第二计算模块、组成模块和发送模块;
[0017]所述存储模块,用于存储保护密钥和要传输的对称密钥;
[0018]所述第一计算模块,用于根据所述存储模块中存储的所述保护密钥计算出第一密钥和第二密钥;
[0019]所述加密模块,用于使用所述第一计算模块计算出的所述第二密钥对所述存储模块中存储的要传输的对称密钥进行加密得到密钥块数据域;
[0020]所述第二计算模块,用于使用预设算法和所述第一计算模块计算出的所述第一密钥对预设的密钥块头域和所述加密模块得到的所述密钥块数据域进行计算得到密钥块MAC值;
[0021]所述组成模块,用于根据所述预设的密钥块头域、所述加密模块加密得到的所述密钥块数据域和所述第二计算模块计算得到的所述密钥块MAC值组成密钥块数据;
[0022]所述发送模块,用于向接收方发送所述组成模块组成的所述密钥块数据。
[0023]上述第一计算模块具体包括,获取单元和异或运算单元;
[0024]所述获取单元,用于从所述存储模块中获取所述保护密钥;
[0025]所述异或运算单元,用于将所述获取单元获取的保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。
[0026]上述加密模块,具体用于将所述存储模块中存储的要的对称密钥根据预设格式组成待加密数据,使用所述第一计算模块计算出的所述第二密钥对所述待加密数据进行加密得到密钥块数据域。
[0027 ]本发明提供的一种对称密钥的传输方法,其中作为对称密钥的接收方的设备的工作流程包括:
[0028]步骤S4:接收到发送方发送的密钥块数据,解析所述密钥块数据得到密钥块头域、密钥块数据域和密钥块MAC值;
[0029]步骤S5:根据预存的保护密钥计算出第一密钥和第二密钥;
[0030]步骤S6:使用所述第一密钥和预设算法对所述密钥块MAC值进行校验,若校验成功则使用所述第二密钥从所述密钥块数据域中解密出对称密钥并存储,若校验失败则向发送方返回错误码。
[0031]上述步骤S5具体为:获取预存的保护密钥,将所述保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。
[0032]上述步骤S4还包括:判断所述密钥块头域的各个组成字段是否均合法,是则执行步骤S5,否则向发送方返回错误码。
[0033]上述使用所述第一密钥和预设算法对所述密钥块MAC值进行校验具体包括:
[0034]步骤S6-1:使用预设算法和第一密钥对所述密钥块头域和密钥块数据域计算得到MAC 码;
[0035]步骤S6-2:比较计算得到的所述MAC码和所述密钥块MAC值是否相同,是则校验成功,否则校验失败。
[0036]上述使用所述第二密钥从所述密钥块数据域中解密出对称密钥并存储具体为:使用第二密钥解密所述密钥块数据域的数据得到对称密钥长度值和解密数据,根据所述对称密钥长度值从所述解密数据中获取对称密钥并存储。
[0037]本发明提供了一种对称密钥的传输设备,作为对称密钥的接收方,该设备包括:接收模块、存储模块、计算模块、校验模块和解密模块;
[0038]所述接收模块,用于接收发送方发送的密钥块数据,并解析所述密钥块数据得到密钥块头域、密钥块数据域和密钥块MAC值;
[0039]所述存储模块,用于存储保护密钥和所述解密模块解密出的对称密钥;
[0040]所述计算模块,用于根据所述存储模块存储的所述保护密钥计算出第一密钥和第二密钥;
[0041 ]所述校验模块,用于使用所述计算模块计算出的第一密钥和预设算法对所述接收模块解析得到的所述密钥块MAC值进行校验,若校验成功则触发解密模块,若校验失败则向发送方返回错误码;
[0042]所述解密模块,用于使用所述计算模块计算出的所述第二密钥从所述接收模块解析得到的所述密钥块数据域中解密出对称密钥。
[0043]上述计算模块具体包括,获取单元和异或运算单元;
[0044]所述获取单元,用于从所述存储模块中获取所述保护密钥;
[0045]所述异或运算单元,用于将所述获取单元获取的保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。
[0046]上述作为接收方的设备,还包括判断模块;
[0047]所述判断模块,用于判断所述接收模块解析得到的所述密钥块头域的各个组成字段是否均合法,若判断结果为是则触发所述计算模块,否则向发送方返回错误码。
[0048]上述校验模块具体用于,使用预设算法和所述计算模块计算出的第一密钥对所述接收模块解析得到的所述密钥块头域和密钥块数据域计算得到MAC码,比较计算得到的所述MAC码和所述接收模块解析得到的所述密钥块MAC值是否相同,是则校验成功,否则校验失败。
[0049]上述解密模块,具体用于使用所述计算模块计算出的第二密钥解密所述接收模块解析得到的所述密钥块数据域中的数据得到对称密钥长度值和解密数据,根据所述对称密钥长度值从所述解密数据中获取对称密钥。
[0050]本发明的有益效果在于:可以安全、灵活地在两个金融设备间进行对称密钥的传输,从而增强了金融设备间敏感信息交互的安全性。
【附图说明】
[0051]图1是实施例1提供的一种对称密钥的传输方法中主设备对要传输的对称密钥的处理方法流程图;
[0052]图2是实施例1提供的一种对称密钥的传输方法中从设备获取对称密钥的方法流程图;
[0053]图3是实施例2提供的一种解析获取对称密钥的方法流程图;
[0054]图4是实施例3提供的一种对称密钥的传输设备;
[0055]图5是实施例4提供的一种对称密钥的传输设备。
【具体实施方式】
[0056]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]实施例1
[0058]本实施例提供了一种对称密钥的传输方法,以主设备向从设备传输对称密钥为例进行详细说明,如图1和图2所示,包括以下步骤:
[0059]步骤Al、主设备获取预存的保护密钥,将所述保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥;
[0060]具体的,设备中预存的保护密钥为长度是16字节数据,例如,保护密钥为0x89E88C23451444F334BD75472345380C,第一预设值优选为 0x43,第二预设值优选为 0x41,将保护密钥的每个字节分别与第一预设值进行异或得到第一密钥为0xCAABCF60065707B077FE360460067B4F,将保护密钥的每个字节分别与第二预设值进行异或得到第二密钥为0xC8A9CD62045505B275FC34066204794D。
[0061]步骤A2、主设备使用第二密钥对要传输的对称密钥进行加密得到密钥块数据域,根据预设的协议头数据组成密钥块头域,使用第一密钥对所述密钥块头域和所述密钥块数据域计算出MAC值;
[0062]优选的,要传输的对称密钥为长度是16字节的数据,主设备生成6字节的随机数作为填充数据,根据对称密钥和填充数据组成待加密数据:对称密钥的长度值(2字节)+对称密钥(16字节)+填充数据(6字节),其中,对称密钥的长度值用于表示对称密钥的位数;例如:对称密钥的长度值为0x0080,对称密钥为0xF012341BEC83D26B16789CD5B222345F,填充数据为0x72023453BB07,组成的待加密数据为0x008(F012341BEC83D26B16789CD5B222345F72023453BB07;使用第二密钥对所述待加密数据进行加密得到的密钥块数据域为1F0EDC737A8693D854D3AFBA49BA5E507F588ABCD5BBAB52。
[0063]根据预设的协议头数据组成的密钥块头域的字符内容为A0072P0TΕ00Ε0000。
[0064]具体的,使用3DES算法用第一密钥对所述密钥块头域和所述密钥块数据域计算出的MAC值为4D6E96DA。所述3DES算法的初始向量取为所述密钥块头域的部分数据。
[0065]步骤A3、主设备根据所述密钥块头域、密钥块数据域和MAC值组成密钥块数据并发送给从设备。
[0066]具体的,主设备根据所述密钥块头域、密钥块数据域和MAC值组成的密钥块数据为HEX格式,将其转换为ASCII码格式对应的数据后发送给从设备。
[0067]例如,发送给从设备的数据为:413030373250305445303045303030303146304544433733374138363933443835344433414642413439424135453530374635383841424344354242414235323444364539364441。
[0068]步骤B1、从设备接收到密钥块数据;
[0069]进一步的,从设备接收到密钥块数据时,还包括将其转换为HEX格式。
[0070]步骤B2、从设备解析所述密钥块数据得到密钥块头域、密钥块数据域和密钥块MAC值;
[0071]步骤B3、从设备获取预存的保护密钥,将所述保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥;
[0072]具体的,从设备中预存的保护密钥与主设备中预存的保护密钥一致。优选的,第一预设值为0x43,第二预设值为0x41。
[0073]步骤B4、从设备根据第一密钥、密钥块头域和密钥块数据域对所述密钥块MAC值进行校验,若校验成功则执行步骤B5,若校验失败则执行步骤B6;
[0074]具体的,从设备使用3DES算法用第一密钥对所述密钥块头域和密钥块数据域计算出MAC码,并比较计算出的所述MAC码和所述密钥块MAC值是否相同,是则校验成功,否则校验失败。
[0075]步骤B5、从设备使用第二密钥从所述密钥块数据域中解密出对称密钥并存储,结束。
[0076]步骤B6、从设备向主设备返回错误码,结束。
[0077]实施例2
[0078]本实施例提供了一种对称密钥的传输方法,其中,对称密钥在两个设备之间以密钥块数据的形式进行传输,当密钥块数据从主设备发送至从设备时,从设备解析并获取对称密钥的方法,如图3所示,包括以下步骤:
[0079]步骤101:设备接收到密钥块数据;
[0080]例如,收到的密钥块数据为413030373250305445303045303030303146304544433733374138363933443835344433414642413439424135453530374635383841424344354242414235323444364539364441。
[0081]步骤102:判断接收到的密钥块数据的总长度是否为预设长度,是则执行步骤103,否则返回错误码;
[0082]例如,所述预设长度为72字节。
[0083]步骤103:解析所述密钥块数据得到密钥块头域、密钥块数据域和密钥块MAC值;
[0084]具体的,解析所述密钥块数据,获取前16字节的数据作为密钥块头域,获取中间48字节的数据作为密钥块数据域,获取最后8字节的数据作为密钥块MAC值。
[0085]例如,解析得到的密钥块头域为41303037325030544530304530303030;密钥块数据域为 314630454443373337413836393344383534443341464241343942413545353037463538384142434435424241423532 ;密钥块 MAC 值为 3444364539364441。
[0086]进一步的,本步骤还包括将密钥块数据域和密钥块MAC值转换为HEX格式,转换后的密钥块数据域长度为24字节,密钥块MAC值的长度为4字节。
[0087]例如,转换为HEX格式之后的密钥块数据域为0xlF0EDC737A8693D854D3AFBA49BA5E507F588ABCD5BBAB52 ;密钥块 MAC 值为 0x4D6E96DA。
[0088]步骤104:判断所述密钥块头域的各个组成字段是否均合法,是则执行步骤105,否则返回错误码;
[0089]具体的,所述密钥块头域中包含有用于标识传输的对称密钥的用途、算法、版本等信息的字段,例如,密钥用途字段、密钥算法字段、密钥版本号字段。
[0090]本实施例中优选的,所述密钥块头域的组成字段包括密钥块版本ID(第I字节)、密钥块长度字段(第2-5字节)、密钥用途字段(第6、7字节)、密钥算法字段(第8字节)、密钥使用方法字段(第9字节)、密钥版本号字段(第10、11字节)、密钥输出能力字段(第12字节)、密钥块可选块数量字段(第13、14字节)和预留字段(第15、16字节)。
[0091 ]判断所述密钥块头域的各个组成字段是否均合法具体包括:
[0092]I)判断所述密钥块版本ID是否为0x41,是则所述密钥块版本ID合法,否则不合法;
[0093]2)判断所述密钥块长度字段是否为0x30303732,是则所述密钥块长度字段合法,否则不合法;
[0094]3)判断所述密钥用途字段是否为0x4430或0x4B30或0x4D31或0x5030,是则所述密钥用途字段合法,否则不合法;(其中,密钥用途说明如下:0x4430表示用于数据加密;0x4B30表示用于对传递的密钥进行加密;0x4D31表示使用IS09797-1MAC算法加密;0x5030表示用于PIN码加密)
[0095]4)判断所述密钥算法字段是否为0x41或0x54,是则所述密钥算法字段合法,否则不合法;(其中,0x41表示支持AES;0x54表示支持3DES)
[0096]5)判断所述密钥使用方法字段是否为0x42或0x43或0x45,是则所述密钥使用方法字段合法,否则不合法;(其中,0x42表示用于加密或解密,0x43表示用于计算MAC,0x45表示只用于加密)
[0097]6)判断所述密钥版本号字段是否为0x3030,是则所述密钥版本号字段合法,否则不合法;
[0098]7)判断所述密钥输出能力字段是否为0x45,是则所述密钥输出能力字段合法,否则不合法;
[0099]8)判断所述密钥块可选块数量字段是否为0x3030,是则所述密钥块可选块数量字段合法,否则不合法;
[0100]9)判断所述预留字段是否为二级密钥的索引值,是则所述预留字段合法,否则不合法。(说明:本实施例中,此索引值合法范围在O-F之间)
[0101]步骤105:获取预存的保护密钥,将所述保护密钥的每个字节分别与第一预设值进行异或得到第一密钥,取密钥块头域前8个字节作为初始向量,使用3DES算法用第一密钥对所述密钥块头域和密钥块数据域计算MAC码;
[0102]具体的,第一预设值为0x43,所述使用3DES算法用第一密钥对所述密钥块头域和密钥块数据域计算出MAC码具体为,从计算结果的低位起的8个字节数据中取前4个字节数据作为MAC码。
[0103]例如,使用3DES算法用第一密钥对所述密钥块头域和密钥块数据域计算得到的计算结果为0x564CCE2955R)D92FA0285D2E6BD362028EFDE5B65F84BB2AAE2A69FEA6A8DCCC4D6E96DADCD78F40,则取 4D6E96DA 作为 MAC 码。
[0104]步骤106:比较计算得到的所述MAC码和所述密钥块MAC值是否相同,是则执行步骤107,否则返回错误码;
[0105]步骤107:将所述保护密钥的每个字节分别与第二预设值进行异或得到第二密钥,取预设数值作为初始向量,使用3DES算法用第二密钥解密所述密钥块数据域的数据得到对称密钥长度值和解密数据;
[0106]具体的,第二预设值为0x41,预设数值为0x0000000000000000,密钥块数据域的数据格式为:对称密钥长度值(2个字节)+解密数据(30个字节),其中,解密数据的组成格式为:对称密钥数据(16个字节)+填充数据(6个字节)。
[0107]例如,得到的对称密钥长度值为0x0080,解密数据为0xF012341BEC83D26B16789CD5B222345F72023453BB07。
[0108]步骤108:根据所述对称密钥长度值从所述解密数据中获取对称密钥并存储。
[0109]具体的,根据对称密钥长度值得到对称密钥的位数,根据对称密钥的位数得到对称密钥的字节数,根据得到的字节数从解密数据中获取相应字节长度的数据作为对称密钥。
[0110]例如,从解密数据中获取的对称密钥为0XF012341BEC83D26B16789CD5B222345F。
[0111]实施例3
[0112]本实施例提供了一种对称密钥的传输设备,如图4所示,包括:存储模块201、第一计算模块202、加密模块203、第二计算模块204、组成模块205和发送模块206;
[0113]所述存储模块201,用于存储保护密钥和要传输的对称密钥;
[0114]所述第一计算模块202,用于根据所述存储模块201中存储的所述保护密钥计算出第一密钥和第二密钥;
[0115]优选的,所述第一计算模块202具体包括获取单元和异或运算单元;
[0116]所述获取单元,用于从所述存储模块201中获取所述保护密钥;
[0117]所述异或运算单元,用于将所述获取单元获取的保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。
[0118]所述加密模块203,用于使用所述第一计算模块202计算出的所述第二密钥对所述存储模块201中存储的要传输的对称密钥进行加密得到密钥块数据域;
[0119]优选的,所述加密模块203,具体用于将要传输的对称密钥根据预设格式组成待加密数据,使用第二密钥对所述待加密数据进行加密得到密钥块数据域。所述预设格式具体为:对称密钥长度值+对称密钥+随机数。
[0120]所述第二计算模块204,用于使用预设算法和所述第一计算模块202计算出的所述第一密钥对预设的密钥块头域和所述加密模块203加密得到的所述密钥块数据域进行计算得到密钥块MAC值;
[0121]优选的,所述预设算法具体为3DES算法,所述3DES算法的初始向量取为所述密钥块头域的部分数据。
[0122]所述组成模块205,用于根据所述预设的密钥块头域、所述加密模块203加密得到的所述密钥块数据域和所述第二计算模块204计算得到的所述密钥块MAC值组成密钥块数据;
[0123]所述发送模块206,用于向接收方发送所述组成模块205组成的所述密钥块数据。
[0124]实施例4
[0125]本实施例提供了一种对称密钥的传输设备,如图5所示,包括:接收模块301、存储模块302、计算模块303、校验模块304和解密模块305;
[0126]所述接收模块301,用于接收发送方发送的密钥块数据,并解析所述密钥块数据得到密钥块头域、密钥块数据域和密钥块MAC值,触发计算模块303;
[0127]所述存储模块302,用于存储保护密钥和所述解密模块305解密出的对称密钥;
[0128]所述计算模块303,用于根据所述存储模块302存储的所述保护密钥计算出第一密钥和第二密钥;
[0129]优选的,所述计算模块303具体包括获取单元和异或运算单元;
[0130]所述获取单元,用于从所述存储模块302中获取所述保护密钥;
[0131]所述异或运算单元,用于将所述获取单元获取的保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。
[0132]所述校验模块304,用于使用所述计算模块303计算出的第一密钥和预设算法对所述接收模块301解析得到的所述密钥块MAC值进行校验,若校验成功则触发解密模块305,若校验失败则向发送方返回错误码;
[0133]优选的,所述校验模块304具体用于,使用预设算法和所述计算模块303计算出的第一密钥对所述接收模块301解析出的密钥块头域和密钥块数据域计算得到MAC码,比较计算得到的所述MAC码和所述接收模块301解析出的所述密钥块MAC值是否相同,是则校验成功,否则校验失败。所述预设算法具体为3DES算法,所述3DES算法的初始向量取为所述密钥块头域的部分数据。
[0134]所述解密模块305,用于使用所述计算模块303计算出的所述第二密钥从所述接收模块301解析得到的所述密钥块数据域中解密出对称密钥。
[0135]优选的,所述解密模块305,具体用于使用所述计算模块303计算出的第二密钥解密所述接收模块301解析得到的所述密钥块数据域中的数据得到对称密钥长度值和解密数据,根据所述对称密钥长度值从所述解密数据中获取对称密钥。
[0136]进一步的,本实施例提供的设备还可以包括判断模块;
[0137]所述判断模块,用于判断所述接收模块301解析得到的所述密钥块头域的各个组成字段是否均合法,若判断结果为是则触发所述计算模块303,否则向发送方返回错误码。
[0138]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【主权项】
1.一种对称密钥的传输方法,其特征在于,包括: 步骤S1:根据预存的保护密钥计算出第一密钥和第二密钥; 步骤S2:使用第二密钥对要传输的对称密钥进行加密得到密钥块数据域,使用第一密钥和预设算法对预设的密钥块头域和所述密钥块数据域进行计算得到密钥块MAC值; 步骤S3:根据所述密钥块头域、所述密钥块数据域和所述密钥块MAC值组成密钥块数据并发送给接收方。2.根据权利要求1所述的方法,其特征在于,所述步骤SI具体为:获取预存的保护密钥,将所述保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。3.根据权利要求1所述的方法,其特征在于,所述步骤S2具体包括: 步骤S2-1:将要传输的对称密钥根据预设格式组成待加密数据; 步骤S2-2:使用第二密钥对所述待加密数据进行加密得到密钥块数据域; 步骤S2-3:使用第一密钥和预设算法对由所述预设的密钥块头域和所述密钥块数据域拼接组成的数据进行计算得到密钥块MAC值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括生成随机数,将生成的所述随机数作为填充数据,所述步骤S2-1中所述预设格式具体为:对称密钥长度值、对称密钥和填充数据的顺序拼接。5.根据权利要求1所述的方法,其特征在于,所述预设算法具体为3DES算法,所述3DES算法的初始向量取为所述密钥块头域的部分数据。6.—种对称密钥的传输设备,其特征在于,包括:存储模块、第一计算模块、加密模块、第二计算模块、组成模块和发送模块; 所述存储模块,用于存储保护密钥和要传输的对称密钥; 所述第一计算模块,用于根据所述存储模块中存储的所述保护密钥计算出第一密钥和第二密钥; 所述加密模块,用于使用所述第一计算模块计算出的所述第二密钥对所述存储模块中存储的要传输的对称密钥进行加密得到密钥块数据域; 所述第二计算模块,用于使用预设算法和所述第一计算模块计算出的所述第一密钥对预设的密钥块头域和所述加密模块得到的所述密钥块数据域进行计算得到密钥块MAC值; 所述组成模块,用于根据所述预设的密钥块头域、所述加密模块加密得到的所述密钥块数据域和所述第二计算模块计算得到的所述密钥块MAC值组成密钥块数据; 所述发送模块,用于向接收方发送所述组成模块组成的所述密钥块数据。7.根据权利要求6所述的设备,其特征在于:所述第一计算模块具体包括,获取单元和异或运算单元; 所述获取单元,用于从所述存储模块中获取所述保护密钥; 所述异或运算单元,用于将所述获取单元获取的保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。8.根据权利要求6所述的设备,其特征在于:所述加密模块,具体用于将所述存储模块中存储的要的对称密钥根据预设格式组成待加密数据,使用所述第一计算模块计算出的所述第二密钥对所述待加密数据进行加密得到密钥块数据域。9.根据权利要求8所述的设备,其特征在于:所述加密模块还用于生成随机数,并将生成的所述随机数作为填充数据,所述预设格式具体为:对称密钥长度值、对称密钥和填充数据的顺序拼接。10.根据权利要求6所述的设备,其特征在于,所述预设算法具体为3DES算法,所述3DES算法的初始向量取为所述密钥块头域的部分数据。11.一种对称密钥的传输方法,其特征在于,包括: 步骤S4:接收到发送方发送的密钥块数据,解析所述密钥块数据得到密钥块头域、密钥块数据域和密钥块MAC值; 步骤S5:根据预存的保护密钥计算出第一密钥和第二密钥; 步骤S6:使用所述第一密钥和预设算法对所述密钥块MAC值进行校验,若校验成功则使用所述第二密钥从所述密钥块数据域中解密出对称密钥并存储,若校验失败则向发送方返回错误码。12.根据权利要求11所述的方法,其特征在于,所述步骤S5具体为:获取预存的保护密钥,将所述保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。13.根据权利要求11所述的方法,其特征在于,所述步骤S4还包括:判断所述密钥块头域的各个组成字段是否均合法,是则执行步骤S5,否则向发送方返回错误码。14.根据权利要求11所述的方法,其特征在于,所述使用所述第一密钥和预设算法对所述密钥块MAC值进行校验具体包括: 步骤S6-1:使用预设算法和第一密钥对所述密钥块头域和密钥块数据域计算得到MAC码; 步骤S6-2:比较计算得到的所述MAC码和所述密钥块MAC值是否相同,是则校验成功,否则校验失败。15.根据权利要求11所述的方法,其特征在于,所述使用所述第二密钥从所述密钥块数据域中解密出对称密钥并存储具体为:使用第二密钥解密所述密钥块数据域的数据得到对称密钥长度值和解密数据,根据所述对称密钥长度值从所述解密数据中获取对称密钥并存储。16.根据权利要求11所述的方法,其特征在于,所述预设算法具体为3DES算法,所述3DES算法的初始向量取为所述密钥块头域的部分数据。17.—种对称密钥的传输设备,其特征在于,包括:接收模块、存储模块、计算模块、校验模块和解密模块; 所述接收模块,用于接收发送方发送的密钥块数据,并解析所述密钥块数据得到密钥块头域、密钥块数据域和密钥块MAC值; 所述存储模块,用于存储保护密钥和所述解密模块解密出的对称密钥; 所述计算模块,用于根据所述存储模块存储的所述保护密钥计算出第一密钥和第二密钥; 所述校验模块,用于使用所述计算模块计算出的第一密钥和预设算法对所述接收模块解析得到的所述密钥块MAC值进行校验,若校验成功则触发解密模块,若校验失败则向发送方返回错误码; 所述解密模块,用于使用所述计算模块计算出的所述第二密钥从所述接收模块解析得到的所述密钥块数据域中解密出对称密钥。18.根据权利要求17所述的设备,其特征在于:所述计算模块具体包括,获取单元和异或运算单元; 所述获取单元,用于从所述存储模块中获取所述保护密钥; 所述异或运算单元,用于将所述获取单元获取的保护密钥分别与第一预设值和第二预设值进行异或得到第一密钥和第二密钥。19.根据权利要求17所述的设备,其特征在于:还包括判断模块; 所述判断模块,用于判断所述接收模块解析得到的所述密钥块头域的各个组成字段是否均合法,若判断结果为是则触发所述计算模块,否则向发送方返回错误码。20.根据权利要求17所述的设备,其特征在于:所述校验模块具体用于,使用预设算法和所述计算模块计算出的第一密钥对所述接收模块解析得到的所述密钥块头域和密钥块数据域计算得到MAC码,比较计算得到的所述MAC码和所述接收模块解析得到的所述密钥块MAC值是否相同,是则校验成功,否则校验失败。21.根据权利要求17所述的设备,其特征在于:所述解密模块,具体用于使用所述计算模块计算出的第二密钥解密所述接收模块解析得到的所述密钥块数据域中的数据得到对称密钥长度值和解密数据,根据所述对称密钥长度值从所述解密数据中获取对称密钥。22.根据权利要求17所述的设备,其特征在于,所述预设算法具体为3DES算法,所述3DES算法的初始向量取为所述密钥块头域的部分数据。
【文档编号】H04L29/06GK105897748SQ201610366136
【公开日】2016年8月24日
【申请日】2016年5月27日
【发明人】陆舟, 于华章
【申请人】飞天诚信科技股份有限公司