CN101552792A - 一种利用动态二级密钥来传递信息的方法和设备 - Google Patents
一种利用动态二级密钥来传递信息的方法和设备 Download PDFInfo
- Publication number
- CN101552792A CN101552792A CN200910143317.XA CN200910143317A CN101552792A CN 101552792 A CN101552792 A CN 101552792A CN 200910143317 A CN200910143317 A CN 200910143317A CN 101552792 A CN101552792 A CN 101552792A
- Authority
- CN
- China
- Prior art keywords
- data
- mackey
- bytes
- trskey
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种利用动态二级密钥来传递信息的方法和设备,包括:发送端利用MACKEY对需要传输的数据计算MAC校验值;利用TRSKEY对需要传输的数据进行加密成数据密文;利用MKEY对所述MACKEY和TRSKEY进行加密,并与MAC校验值和数据密文一起形成传输密文,传送给接收端。当接收端收到数据后,依次校验TRSKEY和MACKEY;对整包数据进行解密,得到明文;去除数据明文的前3个字节以及后面的0,从而获得实际传输数据;利用所述MACKEY计算MAC校验值;对新生成的MAC校验值与接收到的数据中的MAC校验值进行比较,判断数据的合法性。通过本发明方便有效地解决保密信息在网络中的安全传输问题。
Description
技术领域
本发明涉及二级密钥的动态管理技术,特别是指一种利用动态二级密钥来传递信息的方法和设备。
背景技术
随着网络技术的迅速发展,促使网路的人群日益增多,人们对网络的依赖也与日俱增。很多用户迫切希望直接通过公用网络来传输一些保密信息,而不需要通过专用网来实现,这样就可以极大的提高了公用网络的利用价值和方便性。
传统的密钥产生与分配及管理方法有两种:(一)将密钥以明文或密文直接存储在信息载体中来传播密钥。在使用时,直接将密钥读出或读出后再通过预定的算法进行加解密;(二)以密钥发生器的形式来产生密钥,也就是说将产生密钥的算法存储在某种硬件中,依靠硬件来产生密钥。以上是两种常见的密钥产生与分配及管理控制方法。对于第一种方法来说,它直接将密钥以明文或密文的形式存储于信息载体中,如果这种载体或载体中密钥算法一旦被破解,则密钥的作用就失去;对于第二种方法来说,依靠硬件的安全性来增强密钥的安全性,这样直接带来一个问题就是密钥的实施成本过高问题,再者这种方法将密钥的算法直接存储于硬件中,如果硬件被破解,则密钥的安全机制也随即被瓦解。
因此迫切希望一种数据的加密体制和密钥管理体制来解决保密信息在公用网的安全传输问题。这里的数据安全有两个方面,一是整个报文数据防篡改,二是截获整个报文数据中的部分有用信息。目前防篡改的技术有数字签名,但这个软件用起来比较麻烦,而且还需要花费一定的开支去买使用权,同时对信息的完全保密也做不到。对于别的加密算发,其中就牵涉到密钥的如何管理问题,如果没有对密钥做很好的保护,那么就很难做到保密。而密钥的安全管理对开发人员来说显的又比较脆弱。
发明内容
有鉴于此,本发明的目的在于提出一种利用动态二级密钥来传递信息的方法和设备,方便有效地解决保密信息在网络中的安全传输问题。
基于上述目的本发明提供的一种利用动态二级密钥来发送信息的方法,包括步骤:
A、发送端利用校验密钥MACKEY对需要传输的数据计算MAC校验值;
B、利用传输密钥TRSKEY对需要传输的数据进行加密,形成数据密文;
C、利用主密钥MKEY对所述MACKEY和TRSKEY进行加密,并使之与在步骤A和B形成的MAC校验值和数据密文一起形成相应的传输密文,传送给接收端。
可选的,该方法所述步骤A进一步包括:
A1、把需要传输的数据按8字节为一组分成n组,如果需要传输的数据不足8字节的整数倍,后面用0x00补充,其中n为整数;
A2、先用8个0x00与传输数据的第一组8个字节数据进行异或,对异或结果用所述MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码;
A3、然后取ASCII码的前8个字节与下一组数据再次进行异或,再对异或结果用所述MACKEY做DES运算,把结果转换成16个字节的ASCII码;
A4、对后面的3-n组数据重复步骤A3,直到处理完所有数据;
A5、取最后一次的ASCII码的一段字节以作为MAC校验值。
可选的,该方法所述步骤B进一步包括:
B1、用3个字节表示需要传输的保密数据的长度,并放到传输数据的最前面;
B2、把这些数据按8字节为一组分成n组,如果保密数据长度不足8字节的整数倍,则用0x00补足;
B3、对每组数据用所述TRSKEY做DES运算,依次以每次的运算结果替换原来的明文,从而形成数据密文。
可选的,该方法所述发送端发送给接收端的数据形式为:
8个字节的TRSKEY密文+8个字节的MACKEY密文+8个整数倍字节的数据密文+MAC校验值。
可选的,该方法MAC校验值为所述最后一次的ASCII码的前8个字节。
基于上述目的,本发明还提供了一种实现利用动态二级密钥来发送信息的发送端,包括:
利用校验密钥MACKEY对需要传输的数据计算MAC校验值的模块;
利用传输密钥TRSKEY对需要传输的数据进行加密,形成数据密文的模块;
利用主密钥MKEY对所述MACKEY和TRSKEY进行加密,并使之与在步骤A和B形成的MAC校验值和数据密文一起形成相应的传输密文的模块。
基于上述目的,本发明还提供了一种利用动态二级密钥接收信息的方法,包括步骤:
A、当接收端收到发送端发送而来的数据后,依次校验相应的传输密钥TRSKEY和校验密钥MACKEY;
B、对整包数据进行解密,得到相应的数据明文;
C、去除数据明文中的附加填充字节,从而获得实际传输数据;
D、利用所述MACKEY计算MAC校验值;
E、对新生成的MAC校验值与接收到的数据中的MAC校验值进行比较,判断数据的合法性。
可选的,该方法步骤A进一步包括步骤:
A1、利用所述MKEY对接收到的数据的第1-8字节和第9-16字节进行解密以得到所述TRSKEY和所述MACKEY;
A2、对解密得到的所述TRSKEY和所述MACKEY与自身所存储的所述TRSKEY和所述MACKEY进行比较。
可选的,该方法步骤B进一步包括步骤:
B1、取出数据密文;
B2、以8个字节数据为一组,用所述TRSKEY做DES逆运算,依次以每次的运算结果替换原来的密文,从而获得数据明文;
可选的,该方法步骤D进一步包括步骤:
D1、把实际传输数据以8字节为一组分成n组,如果不足8的整数倍,则后面用0x00补充;
D2、先用8个0x00与传输数据的第一组8个字节数据进行异或,对异或结果用所述MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码;
D3、然后取ASCII码的前8个字节与下一组再次进行异或,再对异或结果用所述MACKEY做DES运算;
D4、对后面的3-n组数据重复步骤A3,直到处理完所有数据;
D5、取最后一次的ASCII码的一段字节以作为MAC校验值。
可选的,该方法所述MAC校验值为所述最后一次的ASCII码的前8个字节。
可选的,该方法所述附加填充字节包括:明文中表示需要传输的保密数据长度的字节、明文后面的0。
基于上述目的,本发明还提供了一种实现利用动态二级密钥来发送信息的接收端,包括:
对接收的数据依次校验相应的传输密钥TRSKEY和校验密钥MACKEY的模块;
对整包数据进行解密,得到相应的明文的模块;
去除数据明文的前3个字节以及后面的0,从而获得实际传输数据的模块;
利用所述MACKEY计算MAC校验值的模块;
对新生成的MAC校验值与接收到的数据中的MAC校验值进行比较,判断数据的合法性的模块。
从上面所述可以看出,本发明提供的利用动态二级密钥来传递信息的方法和设备,利用目前成熟的DES算法,整合数据防篡改和截获数据技术以及二级密钥的动态管理方法,从而不需要依靠外部硬件就可以有效地保证保密信息在公网、专网等网络,特别是急待解决的公网的安全传输问题。并且本发明用公网来传输保密数据,从而实现一种网络的多种用途,不再需要走相应的专网,发挥了网络的最大的利用率,为企业和个人省去了很多麻烦事和节约了费用开支,同时也为国家节省了网络架设的成本。
附图说明
图1为本发明实施例发送端的发送流程示意图;
图2为本发明实施例发送端的子流程示意图;
图3为本发明实施例发送端的另一子流程示意图;
图4为本发明实施例接收端的接收流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
在下文中将详细地论述的,本公开可以采用完全硬件的实施例、完全软件的实施例或包括硬件和软件元件两者的实施例的形式。在优选实施例中,本公开可以用软件来实施,其可以包括但不局限于固件、驻留软件、微码等。
在本发明的一个方面中,提出了一种利用动态二级密钥来发送信息的方法,包括步骤:
A、利用校验密钥MACKEY计算MAC校验值;
B、利用传输密钥TRSKEY对需要传输的数据进行加密,形成数据密文;
C、利用主密钥MKEY对MACKEY和TRSKEY进行加密,并使之与在步骤A和B形成的MAC校验值和数据密文一起形成相应的传输密文,传送给接收端。
其中,步骤A进一步包括:
A1、把需要传输的数据按8字节为一组分成n组,,如果需要传输的数据不足8的整数倍,即最后一组不足8字节,则后面用0x00补充;其中n为整数;
A2、先用8个0x00与需传输数据的第一组8个字节数据进行异或,对异或结果用MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码;
A3、然后取ASCII码的前8个字节与下一组的8个字节数据再次进行异或,再对异或结果用MACKEY做DES运算,把结果转换成16个字节的ASCII码;
A4、对后面的3-n组数据重复步骤A3,即利用当前得到ASCII码与第三组数据执行A3步骤,再用刚得到的ASCII码与第四组数据执行A3步骤,......,直到处理完所有数据;
A5、取最后一次的ASCII码的一段字节以作为MAC校验值。该段可以是ASCII码的前8个字节,也可以是任意位置的任意长度的一段字节。
步骤B进一步包括:
B1、用3个字节表示需要传输的保密数据的长度,并放到传输数据的最前面;
B2、把这些数据按8字节为一组分成n组,如果保密数据长度不足8字节的整数倍,即最后一组不足8字节,则用0x00补足;
B3、对每组数据用TRSKEY做DES运算,依次以每次的运算结果替换原来的明文,从而形成数据密文。
所述发送端发送给接收端的数据形式可以为:8个字节的TRSKEY密文+8个字节的MACKEY密文+8个整数倍字节的数据密文+MAC校验值(可以是8个字节)。
在本发明的另一个方面中,还提出了一种利用动态二级密钥来接收信息的方法,包括步骤:
A、当接收端收到发送端发送而来的数据后,依次校验相应的TRSKEY和MACKEY;
B、对整包数据进行解密,得到相应的数据明文;
C、去除数据明文中的附加填充字节,从而获得实际传输数据;该附加填充字节包括:明文中表示需要传输的保密数据长度的字节(前3个字节)、明文后面填充的0等。
D、利用MACKEY计算MAC校验值;
E、对新生成的MAC校验值与接收到的数据中的MAC校验值进行比较,判断数据的合法性。
其中,步骤A进一步包括步骤:
A1、利用MKEY对接收到的数据的第1-8字节和第9-16字节进行解密以得到TRSKEY和MACKEY;
A2、对解密得到的TRSKEY和MACKEY与自身所存储的TRSKEY和MACKEY进行比较。
步骤B进一步包括步骤:
B1、取出数据密文;
B2、以8个字节数据为一组,用TRSKEY做DES逆运算,依次以每次的运算结果替换原来的密文,从而获得数据明文;
步骤D进一步包括步骤:
D1、把实际传输数据以8字节为一组分成n组,如果不足8的整数倍,即最后一组不足8字节,则后面用0x00补充;
D2、先用8个0x00与传输数据的第一组8个字节数据进行异或,对异或结果用MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码;
D3、然后取ASCII码的前8个字节与下一组8个数据再次进行异或,再对异或结果用MACKEY做DES运算;
D4、对后面的3-n组数据重复步骤D3,即利用当前得到ASCII码与第三组数据执行D3步骤,再用刚得到的ASCII码与第四组数据执行A3步骤,......,直到处理完所有数据;
D5、取最后一次的ASCII码的一段字节以作为MAC校验值。该段可以是ASCII码的前8个字节,也可以是任意位置的任意长度的一段字节。
本发明采用两类密钥,一类是MKEY,一类是MACKEY和TRSKEY。这两类密钥的关系是:MKEY通过加解密运算得到MACKEY和TRSKEY。
此外,这两类密钥都是动态从服务器上下载更新的。对于下载更新有两种方式,一种方式是客户端主动向服务器下载更新,另一种是服务器端通知客户端下载更新。
需要说明的是根据本发明的方法适用于收发信息的任何设备。发送端既可以是客户端也可以是服务器端,接收端也既可以是客户端也可以是服务器端。也就是说,信息的发送既可以是由客户端主动发起的,也可以是由服务器端主动发起的,这对于本领域普通技术人员来说是显而易见的。
现在参考图1,对根据本发明发送信息的方法进行详细的说明。
如图1所示,在利用动态二级密钥来传递信息的过程中,在把保密信息采用TCP/IP的方式通过网络传送给接收端前,发送端的操作具体如下:
预先发送端获得密钥MKEY、MACKEY、TRSKEY。
其中,MKEY是主密钥,它是用来加密或解密MACKEY和TRSKEY使用的密钥。
MACKEY是校验密钥,它是用来加密数据包中特定数据,从而生成整个数据包校验值的密钥。
TRSKEY是传输密钥,它是用来加密或解密要传输数据的密钥。
优选的,如果所述发送端是客户端,那么上述密钥都是动态从服务器上下载更新并存储在发送端。如果发送端是服务器,那么上述密钥本身就存储在服务器中。
步骤101,利用MACKEY计算8个字节的MAC校验值。
作为本步骤的一个实施例,如图2所示,步骤101具体包括:
步骤201,把需要传输的数据分成8的整数倍,如果不足8的整数倍,后面用0x00补充。
步骤202,先用8个0x00与传输数据的第一组8个字节数据(即前8个字节数据)进行异或,对异或结果用MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码。
步骤203,取ASCII码的前8个字节与下一组8个字节数据再次进行异或;再对异或结果用MACKEY做DES运算,把结果转换成16个字节的ASCII码。
步骤204,判断是否处理完所有数据,如果没有返回步骤203继续对后面的3-n组数据重复步骤203的处理,否则,进入步骤205。
步骤205,取最后一次的ASCII码的前面8个字节以作为MAC校验值(不可逆)。
举例来说:
MACKEY为33333333。应该注意的是发送端的计算机自动将MACKEY处理成:0x33 0x33 0x33 0x33 0x33 0x33 0x33 0x33。
(1)要传输的数据是9个字节:123456789,把要传输的数据分成8的整数倍,因为要传输的数据是9字节,不足16字节,后面补0(0x00),即1234567890000000。将要传输的数据处理成:0x31 0x320x33 0x34 0x35 0x36 0x37 0x38 0x39 0x00 0x00 0x00 0x00 0x00 0x00。
(2)先用8个0x00和第一组8个数据异或,即:
初始 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
异或 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38
得到结果一 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38
(3)对异或结果用MACKEY做DES运算,即:
结果一 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38
DES运算 0x33 0x33 0x33 0x33 0x33 0x33 0x33 0x33
得到结果二 0x68 0xD1 0x96 0x28 0x86 0x7D 0xAC 0x6D
(4)把结果二转换成16个字节的ASCII码
ASCII转换16字节:36 38 44 31 39 36 32 38 38 36 37 44 41 43 36 44
(5)取(4)所得结果的前8个字节和所述第二组的8个数据再异或,即:
前8个字节 0x36 0x38 0x44 0x31 0x39 0x36x032 0x38
异或 0x39 0x00 0x00 0x00 0x00 0x00 0x00 0x00
得到异或结果:0x46 0x38 0x44 0x31 0x39 0x36 0x32 0x38
(6)对异或结果用MACKEY做DES运算
异或结果:0x46 0x38 0x44 0x31 0x39 0x36 0x32 0x38
DES运算 0x33 0x33 0x33 0x33 0x33 0x33 0x33 0x33
得到结果:0xC6 0x61 0x51 0x94 0x19 0x85 0x88 0x70
(7)把结果转换成16个字节的ASCII码
ASCII转换16字节:43 36 36 31 35 31 39 34 31 39 38 35 38 38 37 30
因此,前8个字节就是MAC校验值:0x43 0x36 0x36 0x31 0x350x31 0x39 0x34。
步骤102,利用TRSKEY对数据整包进行加密。
作为本步骤的一个实施例,如图3所示,步骤102具体包括:
步骤301,用3个字节表示需要传输的保密数据的长度,并放到传输数据的最前面。
步骤302,把这些数据按8字节为一组分成n组,如果保密数据长度不足8字节的整数倍,即最后一组不足8字节,则用0x00补足。
步骤303,对每组数据用TRSKEY做DES运算,依次以每次的运算结果替换原来的明文(可逆),从而获得数据密文。也就是说,首先对第一组8个数据用TRSKEY做DES运算,然后对下一组8个数据用TRSKEY做DES运算,依次类推,直至对所有传输数据做DES运算。
因此,数据传输密文即就是:第1组运算结果(8个字节)+第2组运算结果(8个字节)+......+第n组运算结果(8个字节)。
举例来说:
TRSKEY:66666666,同样发送端计算机自动将TRSKEY处理成:0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36。
(1)要传输的数据是9个字节:123456789,用3个字节表示需要传输的保密数据的长度,并放到传输数据的最前面,即009123456789,其中009是要传输的数据长度,是ASCII表示。
(2)把要传输的数据分成8的整数倍,不足后面补0(0x00),即0091234567890000。同样计算机将其自动处理成:0x30 0x30 0x39 0x310x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x00 0x00 0x00 0x00。应该注意的是,前面3个字节009是ASCII表示,因此0被自动处理成0x30,而后面不足8的整数倍所补的0是inter型,因此被自动处理成0x00。
(3)对传输前8个数据用TRSKEY做DES运算,即:
传输前8个数据 0x30 0x30 0x39 0x31 0x32 0x33 0x34 0x35
DES运算 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36
结果一8个字节 72 CA E9 BF 54 8D C1 08
(4)对传输后8个数据用TRSKEY做DES运算,即:
传输后8个数据 0x36 0x37 0x38 0x39 0x00 0x00 0x00 0x00
DES运算 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36
结果二8个字节 D4 86 3F 1C 09 4F 01 4A 因此,第1组运算结果(8个字节)+第2组运算结果(8个字节)就是通过TRSKEY计算出来的数据传输密文。
步骤103,利用MKEY对MACKEY和TRSKEY进行加密,并使之与在步骤102和101形成的数据密文和MAC校验值一起形成相应的密文,一同传给接收端。
通过上述处理可知,最后发送端处理过的数据形式如下:
TRSKEY密文(8个字节)+MACKEY密文(8个字节)+数据密文(8个整数倍)+MAC校验值(8个字节)。
现在参考图4,对根据本发明的接收端的操作进行详细的说明。
如图4所示,在利用动态二级密钥来传递信息的过程中,接收端的操作具体如下:
步骤401,当接收端收到发送端发送而来的数据后,依次校验相应的TRSKEY和MACKEY。
具体地说,利用MKEY对接收到的数据的第1-8字节和第9-16字节进行解密以得到TRSKEY和MACKEY,并与自身所存储的TRSKEY和MACKEY进行比较。
步骤402,对整包数据进行解密,得到相应的数据明文。
具体地说,如上所述,取出数据密文,即从前面第17个字节至从后面第9个字节为数据密文;对数据密文以8个字节数据为一组,用TRSKEY做DES逆运算,依次以每次的运算结果替换原来的密文(可逆),从而获得数据明文。按照上面的示例,即得到数据明文:0091234567890000。
步骤403,去除数据明文中的附加填充字节,从而获得实际传输数据。其中该附加填充字节包括:明文中表示需要传输的保密数据长度的前3个字节,以及数据明文后面的0,即加密时最后一组不足8字节时填充的0。同样按照按照上面的示例,即得到123456789。
步骤404,按照与图1中的步骤101相同的方式来生成MAC校验值。
具体的说,把实际传输数据分成8的整数倍,如果不足8的整数倍,后面用0x00补充;先用8个0x00与传输数据的第一组8个数据进行异或,对异或结果用MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码;然后取ASCII码的前8个字节与下一组8个数据再次进行异或,再对异或结果用MACKEY做DES运算;重复步骤A3,直到处理完所有数据;取最后一次的ASCII码的前面8个字节以作为MAC校验值。
步骤405,对新生成的MAC校验值与接收到的数据的后8个字节(接收到的MAC校验值)进行比较,判断是否相同,如果相同,则判定数据合法,否则判定数据不合法。
本发明技术方案不但可用于公网的信息传输,还可以用于专网等网络的信息传输。
以上所述的具体实施例仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种利用动态二级密钥来发送信息的方法,其特征在于,包括步骤:
A、发送端利用校验密钥MACKEY对需要传输的数据计算MAC校验值;
B、利用传输密钥TRSKEY对需要传输的数据进行加密,形成数据密文;
C、利用主密钥MKEY对所述MACKEY和TRSKEY进行加密,并使之与在步骤A和B形成的MAC校验值和数据密文一起形成相应的传输密文,传送给接收端。
2.根据权利要求1所述的方法,其特征在于,所述步骤A进一步包括:
A1、把需要传输的数据按8字节为一组分成n组,如果需要传输的数据不足8字节的整数倍,后面用0x00补充,其中n为整数;
A2、先用8个0x00与传输数据的第一组8个字节数据进行异或,对异或结果用所述MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码;
A3、然后取ASCII码的前8个字节与下一组数据再次进行异或,再对异或结果用所述MACKEY做DES运算,把结果转换成16个字节的ASCII码;
A4、对后面的3-n组数据重复步骤A3,直到处理完所有数据;
A5、取最后一次的ASCII码的一段字节以作为MAC校验值。
3.根据权利要求1所述的方法,其特征在于,所述步骤B进一步包括:
B1、用3个字节表示需要传输的保密数据的长度,并放到传输数据的最前面;
B2、把这些数据按8字节为一组分成n组,如果保密数据长度不足8字节的整数倍,则用0x00补足;
B3、对每组数据用所述TRSKEY做DES运算,依次以每次的运算结果替换原来的明文,从而形成数据密文。
4.根据权利要求1所述的方法,其特征在于,发送端发送给接收端的数据形式为:
8个字节的TRSKEY密文+8个字节的MACKEY密文+8个整数倍字节的数据密文+MAC校验值。
5.根据权利要求2或4所述的方法,其特征在于,MAC校验值为所述最后一次的ASCII码的前8个字节。
6.一种基于权利要求1-5任意一项所述方法实现利用动态二级密钥来发送信息的发送端,其特征在于,包括:
利用校验密钥MACKEY对需要传输的数据计算MAC校验值的模块;
利用传输密钥TRSKEY对需要传输的数据进行加密,形成数据密文的模块;
利用主密钥MKEY对所述MACKEY和TRSKEY进行加密,并使之与在步骤A和B形成的MAC校验值和数据密文一起形成相应的传输密文的模块。
7.一种利用动态二级密钥接收信息的方法,其特征在于,包括步骤:
A、当接收端收到发送端发送而来的数据后,依次校验相应的传输密钥TRSKEY和校验密钥MACKEY;
B、对整包数据进行解密,得到相应的数据明文;
C、去除数据明文中的附加填充字节,从而获得实际传输数据;
D、利用所述MACKEY计算MAC校验值;
E、对新生成的MAC校验值与接收到的数据中的MAC校验值进行比较,判断数据的合法性。
8.根据权利要求7所述的方法,其特征在于,步骤A进一步包括步骤:
A1、利用所述MKEY对接收到的数据的第1-8字节和第9-16字节进行解密以得到所述TRSKEY和所述MACKEY;
A2、对解密得到的所述TRSKEY和所述MACKEY与自身所存储的所述TRSKEY和所述MACKEY进行比较。
9.根据权利要求7所述的方法,其特征在于,步骤B进一步包括步骤:
B1、取出数据密文;
B2、以8个字节数据为一组,用所述TRSKEY做DES逆运算,依次以每次的运算结果替换原来的密文,从而获得数据明文。
10.根据权利要求9所述的方法,其特征在于,步骤D进一步包括步骤:
D1、把实际传输数据以8字节为一组分成n组,如果不足8的整数倍,则后面用0x00补充;
D2、先用8个0x00与传输数据的第一组8个字节数据进行异或,对异或结果用所述MACKEY做DES运算,并把该运算结果转换成16个字节的ASCII码;
D3、然后取ASCII码的前8个字节与下一组再次进行异或,再对异或结果用所述MACKEY做DES运算;
D4、对后面的3-n组数据重复步骤A3,直到处理完所有数据;
D5、取最后一次的ASCII码的一段字节以作为MAC校验值。
11.根据权利要求10所述的方法,其特征在于,MAC校验值为所述最后一次的ASCII码的前8个字节。
12.根据权利要求7所述的方法,其特征在于,所述附加填充字节包括:明文中表示需要传输的保密数据长度的字节、明文后面的0。
13.一种基于权利要求7-12任意一项所述方法实现利用动态二级密钥来发送信息的接收端,其特征在于,包括:
对接收的数据依次校验相应的传输密钥TRSKEY和校验密钥MACKEY的模块;
对整包数据进行解密,得到相应的明文的模块;
去除数据明文的前3个字节以及后面的0,从而获得实际传输数据的模块;
利用所述MACKEY计算MAC校验值的模块;
对新生成的MAC校验值与接收到的数据中的MAC校验值进行比较,判断数据的合法性的模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910143317.XA CN101552792B (zh) | 2009-05-20 | 2009-05-20 | 一种利用动态二级密钥来传递信息的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910143317.XA CN101552792B (zh) | 2009-05-20 | 2009-05-20 | 一种利用动态二级密钥来传递信息的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101552792A true CN101552792A (zh) | 2009-10-07 |
CN101552792B CN101552792B (zh) | 2013-04-10 |
Family
ID=41156780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910143317.XA Active CN101552792B (zh) | 2009-05-20 | 2009-05-20 | 一种利用动态二级密钥来传递信息的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101552792B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447698A (zh) * | 2011-11-29 | 2012-05-09 | 数字金融服务(杭州)有限公司 | 一种网络通信信息加密传输方法 |
CN102546151A (zh) * | 2012-03-22 | 2012-07-04 | 山东泰信电子有限公司 | 一种数据加密、解密方法 |
CN102594548A (zh) * | 2012-03-22 | 2012-07-18 | 山东泰信电子有限公司 | 一种实现数据分段加密、解密的方法 |
CN105120200A (zh) * | 2015-09-02 | 2015-12-02 | 山东省计算中心(国家超级计算济南中心) | 基于定制light-udp协议的物联网医疗系统的视频通信方法 |
CN107046541A (zh) * | 2017-04-18 | 2017-08-15 | 深圳市法马新智能设备有限公司 | 一种无线收发加密通信方法及其装置 |
CN111555841A (zh) * | 2020-04-24 | 2020-08-18 | 中国船舶重工集团海装风电股份有限公司 | 一种通信数据的校验方法、装置、设备及介质 |
CN112491833A (zh) * | 2020-11-16 | 2021-03-12 | 东方电气风电有限公司 | 一种风电机组中央监控系统数据安全传输方法 |
CN112671788A (zh) * | 2020-12-30 | 2021-04-16 | 四川巧夺天工信息安全智能设备有限公司 | 一种基于tcp的可扩展的物联网安全通信方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305084B2 (en) * | 2002-07-24 | 2007-12-04 | Qualcomm Incorporated | Fast encryption and authentication for data processing systems |
FR2873523B1 (fr) * | 2004-07-22 | 2007-08-10 | Sagem | Procede et dispositif d'execution d'un calcul cryptographique |
CN101345619B (zh) * | 2008-08-01 | 2011-01-26 | 清华大学深圳研究生院 | 基于生物特征和移动密钥的电子数据保护方法及装置 |
-
2009
- 2009-05-20 CN CN200910143317.XA patent/CN101552792B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447698A (zh) * | 2011-11-29 | 2012-05-09 | 数字金融服务(杭州)有限公司 | 一种网络通信信息加密传输方法 |
CN102546151A (zh) * | 2012-03-22 | 2012-07-04 | 山东泰信电子有限公司 | 一种数据加密、解密方法 |
CN102594548A (zh) * | 2012-03-22 | 2012-07-18 | 山东泰信电子有限公司 | 一种实现数据分段加密、解密的方法 |
CN105120200A (zh) * | 2015-09-02 | 2015-12-02 | 山东省计算中心(国家超级计算济南中心) | 基于定制light-udp协议的物联网医疗系统的视频通信方法 |
CN107046541A (zh) * | 2017-04-18 | 2017-08-15 | 深圳市法马新智能设备有限公司 | 一种无线收发加密通信方法及其装置 |
CN107046541B (zh) * | 2017-04-18 | 2023-02-03 | 深圳市法马新智能设备有限公司 | 一种无线收发加密通信方法及其装置 |
CN111555841A (zh) * | 2020-04-24 | 2020-08-18 | 中国船舶重工集团海装风电股份有限公司 | 一种通信数据的校验方法、装置、设备及介质 |
CN112491833A (zh) * | 2020-11-16 | 2021-03-12 | 东方电气风电有限公司 | 一种风电机组中央监控系统数据安全传输方法 |
CN112671788A (zh) * | 2020-12-30 | 2021-04-16 | 四川巧夺天工信息安全智能设备有限公司 | 一种基于tcp的可扩展的物联网安全通信方法 |
CN112671788B (zh) * | 2020-12-30 | 2023-04-28 | 四川巧夺天工信息安全智能设备有限公司 | 一种基于tcp的可扩展的物联网安全通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101552792B (zh) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101552792B (zh) | 一种利用动态二级密钥来传递信息的方法和设备 | |
CN105049401B (zh) | 一种基于智能车的安全通信方法 | |
US7913085B2 (en) | System and method of per-packet keying | |
CN103095696B (zh) | 一种适用于用电信息采集系统的身份认证和密钥协商方法 | |
CN1859081B (zh) | 一种即时消息加密传输方法和系统 | |
CN101110831B (zh) | 一种数字密钥保护方法 | |
US20080025496A1 (en) | Encrypting a plaintext message with authentication | |
CN112398651B (zh) | 一种量子保密通信方法、装置、电子设备以及存储介质 | |
CN101448130B (zh) | 监控系统中数据加密保护的方法、系统和设备 | |
CN101989984A (zh) | 电子文件安全共享系统及方法 | |
US6640303B1 (en) | System and method for encryption using transparent keys | |
CN101945104A (zh) | 一种终端防伪装置、验证装置及其防伪和验证方法 | |
CN106899610A (zh) | 一种无需存储的验证码验证方法 | |
CN113312608B (zh) | 一种基于时间戳的电力计量终端身份认证方法及系统 | |
CN114826656A (zh) | 一种数据链路可信传输方法和系统 | |
CN1316405C (zh) | 一种获得数字签名和实现数据安全的方法 | |
CN111049738B (zh) | 基于混合加密的电子邮件数据安全保护方法 | |
CN102413463B (zh) | 填充序列长度可变的无线媒体接入层鉴权和密钥协商方法 | |
Luring et al. | Analysis of security features in DLMS/COSEM: Vulnerabilities and countermeasures | |
CN110570197B (zh) | 一种基于区块链的数据处理方法以及设备 | |
CN104735094A (zh) | 基于信息分离的数据安全传输系统及方法 | |
CN112437042A (zh) | 通过云平台进行智慧工地材料数据安全认证工作方法 | |
CN111490874A (zh) | 一种配网安全防护方法、系统、装置及存储介质 | |
CN108599922B (zh) | 新型含密钥消息完整性认证码的生成方法 | |
CN112423295B (zh) | 一种基于区块链技术的轻量级安全认证方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |