CN106656478A - 一种多节点间的通信加密方法 - Google Patents

一种多节点间的通信加密方法 Download PDF

Info

Publication number
CN106656478A
CN106656478A CN201610928588.6A CN201610928588A CN106656478A CN 106656478 A CN106656478 A CN 106656478A CN 201610928588 A CN201610928588 A CN 201610928588A CN 106656478 A CN106656478 A CN 106656478A
Authority
CN
China
Prior art keywords
key
node
header
communication
keyid
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
Application number
CN201610928588.6A
Other languages
English (en)
Other versions
CN106656478B (zh
Inventor
李炳梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yonyou Network Technology Co Ltd
Original Assignee
Yonyou Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yonyou Network Technology Co Ltd filed Critical Yonyou Network Technology Co Ltd
Priority to CN201610928588.6A priority Critical patent/CN106656478B/zh
Publication of CN106656478A publication Critical patent/CN106656478A/zh
Application granted granted Critical
Publication of CN106656478B publication Critical patent/CN106656478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种多节点间的通信加密方法,多节点中的每个节点都有一个属于自己的密钥,每个密钥包括两项<KeyID,Key>,其中KeyID是Key的唯一标识,所述通信加密方法包括以下过程:S1,查找自己的Key及压缩算法,压缩加密数据形成Body;S2,把使用的Key对应的KeyID和压缩ID放到Header;S3,合并Header和Body发送数据;S4,通信传送[Header,Body];S5,定位Header和Body,找到KeyID和压缩ID;S6,找到相应的Key和压缩算法,解密解压Body,得到正常信息;该方法安全性高,密钥定期更新,协商过程采用非对称加密。

Description

一种多节点间的通信加密方法
技术领域
本发明属于加密通信技术领域,尤其涉及一种多节点间的通信加密方法。
背景技术
加密通信在很多领域都有使用,而且在云时代使用的更多,目前的加密通信大部分是单播,密钥的更新一般在节点启动时进行。而对于分布式通信的多节点而言,广播通信很常见,密钥定期更新对安全性很重要。
但是目前多节点间的加密通信存在以下问题:没有多节点间密钥更换策略;密钥更新时间长,在节点重启时更新,安全性降低;没有很好的广播通信加密方式;不能很好的处理缓存数据,不论广播还是单播。
因此,需要一种新的通信加密技术来避免上述缺陷的产生。
发明内容
针对现有技术的不足,本发明提供一种多节点间的通信加密方法,适合于多节点间单播通信,广播通信并能够定期更新密钥的加密通信方案;这种加密通信方案的实现,不需要针对广播和单播单独设计加密方式,也不需要担心未处理的消息以及更新密钥的同步问题,通过加密数据结构轻松解决上面问题;密钥协商过程通过实现接口和完成相应的状态转换自定义协商过程。压缩加密过程也可以通过自定义类进行切换,以达到更高的安全级别通过设置压缩策略可以在加密的同时压缩数据,节省流量,通过选择压缩策略在压缩时间和压缩比上进行权衡。
一种多节点间的通信加密方法,多节点中的每个节点都有一个属于自己的密钥,每个密钥包括两项<KeyID,Key>,其中KeyID是Key的唯一标识,所述通信加密方法包括以下过程:
S1,查找自己的Key及压缩算法,压缩加密数据形成Body;
S2,把使用的Key对应的KeyID和压缩ID放到Header;
S3,合并Header和Body发送数据;
S4,通信传送[Header, Body];
S5,定位Header和Body,找到KeyID和压缩ID;
S6,找到相应的Key和压缩算法,解密解压Body,得到正常信息。
所述节点在通信时,包装原有正常通信消息如下:[Header, Body],其中Header是加密的消息头,包括消息压缩加密的元数据信息,Body是压缩加密后的消息内容,然后通过底层通信模块把消息发送到对方,接收节点先解析出Header,根据Header找到压缩算法和Key,从而解密解压消息。
优选地,所述通信加密方法的通信系统中设置有密钥中心Controller,用于为节点生成密钥,生成过程通过协商交互生成。
优选地,Controller定期更新自己的密钥,不用和其他节点协商,更新完成后使用旧密钥加密密钥广播通知各节点。
优选地,当节点发现无法根据KeyID获取key时,先用自己的公钥加密索取信息,索取信息包括节点身份、KeyID和节点的密钥信息,发送到密钥中心,然后密钥中心用私钥解密,验证节点身份,根据KeyID查找密钥信息,然后用节点密钥信息加密返回给节点(返回路径由Controller根据特定规则生成),节点接收到后解密获取密钥。
优选地,每密钥更新完后,把密钥信息保存到磁盘、db或者文件中,重启后从磁盘加载密钥信息,同时还会协商新密钥,如果此时有未读消息且使用老密钥加密,那么就可以使用之前保留的密钥解密,否则使用新密钥解密。
本发明的技术方案具有以下有益效果:
本发明提供的一种多节点间的通信加密方法,该方法安全性高,密钥定期更新,协商过程采用非对称加密;加解密速度快:协商采用非对称加密,但是正常消息通信采用对称加密;结构清晰:各节点都有自己密钥,消息是以[Header,Body]自描述的形式存在,使得广播,单播的处理方式统一,密钥更新简单;通用性高,对于多节点间的通信不论基于消息队列通信,还是socket,netty等及时通信,都很好适配;节省带宽,通过压缩数据,可以有效减少数据体积,节省带宽。
附图说明
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明一种多节点间的通信加密方法中节点和密钥关系图;
图2为本发明一种多节点间的通信加密方法的过程示意图;
图3为本发明一种多节点间的通信加密方法的密钥协商流程图;
图4为本发明一种多节点间的通信加密方法的节点更新密钥图;
图5为本发明一种多节点间的通信加密方法的解密旧消息示意图。
具体实施方式
为了清楚了解本发明的技术方案,将在下面的描述中提出其详细的结构。显然,本发明实施例的具体施行并不足限于本领域的技术人员所熟习的特殊细节。本发明的优选实施例详细描述如下,除详细描述的这些实施例外,还可以具有其他实施方式。
下面结合附图和实施例对本发明做进一步详细说明。
结合图1和图2,本实施例公开了一种多节点间的通信加密方法,多节点中的每个节点都有一个属于自己的密钥,每个密钥包括两项<KeyID,Key>,如图1所示,其中KeyID是Key的唯一标识,所述通信加密方法包括以下过程,如图2所示:
S1,查找自己的Key及压缩算法,压缩加密数据形成Body;
S2,把使用的Key对应的KeyID和压缩ID放到Header;
S3,合并Header和Body发送数据;
S4,通信传送[Header, Body];
S5,定位Header和Body,找到KeyID和压缩ID;
S6,找到相应的Key和压缩算法,解密解压Body,得到正常信息。
所述节点在通信时,包装原有正常通信消息如下:[Header, Body],其中Header是加密的消息头,包括消息压缩加密的元数据信息,Body是压缩加密后的消息内容,然后通过底层通信模块把消息发送到对方,接收节点先解析出Header,根据Header找到压缩算法和加密Key ID,从而解密解压消息。
基于这种理念,广播和单播不用区分,因为目的节点都是根据Header来找到KeyID和压缩算法来解密数据。因为加密消息都是自描述的,从而更新密钥也很简单,这里可以把老密钥保留足够长时间,而不影响新密钥的使用。
上述方法的数据结构包括密钥数据结构和消息数据结构
密钥数据结构:各节点维护其他节点密钥的数据结构,用于根据KeyID查找Key,以及更新密钥时使用:
Map<String, String> node2Keyid:节点到Key ID的映射;
Map <String, String> keymap:Key ID到Key的映射;
LoadingCache<String, String> oldKey:存放节点新密钥之前旧密钥,以<node1_1,keyid>,<node1_2,keyid>,<node2_1,keyid>的形式存放;将设置超时时间其中loadingCache类似map,另外可以设置超时时间,超时项将被删除。
消息数据结构:消息Message的结构 [Header, Body],消息是字节数组,其中Header是消息头,Body是压缩加密后的消息体。
Header包括以下字段:[Magic,Version,Length,KeyID,CompressID]
Magic用于表示该消息是经过加密压缩的消息,由四个字节组成;
Version是版本,用于以后升级;
Length表示消息头的长度,用于区分消息头和消息体,另外它易于在后期扩展头部;
Key ID是加密使用的Key的唯一标识,用于查找Key,解密数据;
Compress ID是压缩算法的标识,用于定位压缩算法解压数据;
密钥的维护包括密钥协商和密钥索取:
密钥协商:如图3所示,如何维护key的信息就是密钥维护的工作,系统中有一个密钥中心Controller,用来为节点生成密钥,生成过程通过协商交互生成,Controller定期更新自己的密钥,不用和其他节点协商,更新完成后使用旧密钥加密密钥广播通知各节点。Agent节点定期发起握手,来更新自己的密钥;这样Controller和所有节点协商,会保留所有节点密钥信息,而其他节点协商后会有自己和Controller的密钥,也会有自己关心的节点密钥信息(通过监听其他节点密钥通知),所以各节点都能解密相应节点发送过来的消息。
密钥索取: 如果因为网络问题或者其他问题导致节点没有及时获取到其他节点信息,这时节点就要主动向密钥中心获取密钥信息,从而正常解密;当节点发现无法根据keyid获取key时,先用自己的公钥加密索取信息,索取信息包括节点身份,keyid,节点的密钥信息。发送到密钥中心,然后密钥中心用私钥解密,验证节点身份,根据keyid查找密钥信息,然后用节点密钥信息加密返回给节点(返回路径由Controller根据特定规则生成)。节点接收到后解密获取密钥。
密钥的更新:密钥更新只要定期生成新密钥(Agent发起握手),并保留旧密钥一段时间(这个时间可以很长)就行。当更新完成后,如果因网络延时问题,导致接收到较早加密的消息,那么可以很容易从Old Key取到之前的Key ID,从而解密数据,如图4所示。
节点重启后读取未处理消息:因为节点更新密钥的频率不会太高,所以每次更新完后,把密钥信息保存到磁盘(db或者文件),重启后从磁盘加载密钥信息,同时还会协商新密钥,如果此时有未读消息且使用老密钥加密,那么就可以使用之前保留的密钥解密,否则使用新密钥解密,如图5所示。
多节点间通信加密的特点:安全性高:密钥定期更新,协商过程采用非对称加密;加解密速度快:协商采用非对称加密,但是正常消息通信采用对称加密;结构清晰:各节点都有自己密钥,消息是以[Header,Body]自描述的形式存在,使得广播,单播的处理方式统一,密钥更新简单;通用性高——对于多节点间的通信不论基于消息队列通信,还是socket,netty等及时通信,都很好适配;节省带宽,通过压缩数据,可以有效减少数据体积,节省带宽。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的权利要求保护范围之内。

Claims (5)

1.一种多节点间的通信加密方法,多节点中的每个节点都有一个属于自己的密钥,每个密钥包括两项<KeyID,Key>,其中KeyID是Key的唯一标识,其特征在于,所述通信加密方法包括以下过程:
S1,查找自己的Key及压缩算法,压缩加密数据形成Body;
S2,把使用的Key对应的KeyID和压缩ID放到Header中;
S3,合并Header和Body发送数据;
S4,通信传送[Header, Body];
S5,定位Header和Body,找到KeyID和压缩ID;
S6,找到相应的Key和压缩算法,解密解压Body,得到正常信息;
所述节点在通信时,包装原有正常通信消息如下:[Header, Body],其中Header是加密的消息头,包括消息压缩加密的元数据信息,Body是压缩加密后的消息内容,然后通过底层通信模块把消息发送到对方,接收节点先解析出Header,根据Header找到压缩算法和加密KeyID,从而解密解压消息。
2.根据权利要求1所述的多节点间的通信加密方法,其特征在于,所述通信加密方法的通信系统中设置有密钥中心Controller,用于为节点生成密钥,生成过程通过协商交互生成。
3.根据权利要求2所述的多节点间的通信加密方法,其特征在于,Controller定期更新自己的密钥,不用和其他节点协商,更新完成后使用旧密钥加密密钥广播通知各节点。
4.根据权利要求1所述的多节点间的通信加密方法,其特征在于,当节点发现无法根据KeyID获取key时,先用自己的公钥加密索取信息,索取信息包括节点身份、KeyID和节点的密钥信息,发送到密钥中心,然后密钥中心用私钥解密,验证节点身份,根据KeyID查找密钥信息,然后用节点密钥信息加密返回给节点(返回路径由Controller根据特定规则生成),节点接收到后解密获取密钥。
5.根据权利要求1所述的多节点间的通信加密方法,其特征在于,每密钥更新完后,把密钥信息保存到磁盘、db或者文件中,重启后从磁盘加载密钥信息,同时还会协商新密钥,如果此时有未读消息且使用老密钥加密,那么就可以使用之前保留的密钥解密,否则使用新密钥解密。
CN201610928588.6A 2016-10-31 2016-10-31 一种多节点间的通信加密方法 Active CN106656478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610928588.6A CN106656478B (zh) 2016-10-31 2016-10-31 一种多节点间的通信加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610928588.6A CN106656478B (zh) 2016-10-31 2016-10-31 一种多节点间的通信加密方法

Publications (2)

Publication Number Publication Date
CN106656478A true CN106656478A (zh) 2017-05-10
CN106656478B CN106656478B (zh) 2019-12-20

Family

ID=58820392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610928588.6A Active CN106656478B (zh) 2016-10-31 2016-10-31 一种多节点间的通信加密方法

Country Status (1)

Country Link
CN (1) CN106656478B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483186A (zh) * 2017-08-01 2017-12-15 南京东屋电气有限公司 密钥更新方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1448935A (zh) * 2002-04-01 2003-10-15 索尼株式会社 在存储介质上记录数据的记录方法
US20150019440A1 (en) * 2013-07-12 2015-01-15 Gongming Yang Encrypted Correction Code to protect the integrity and originality of electronic documentation and secure online payment and online wallet
CN104463016A (zh) * 2014-12-22 2015-03-25 厦门大学 一种适用于ic卡及二维码的数据安全存储方法
CN104539424A (zh) * 2014-12-18 2015-04-22 广东讯飞启明科技发展有限公司 一种防篡改的考生数据传输方法
CN105809524A (zh) * 2014-12-31 2016-07-27 航天信息股份有限公司 网上报税终端、接收终端、报税系统和报税方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1448935A (zh) * 2002-04-01 2003-10-15 索尼株式会社 在存储介质上记录数据的记录方法
US20150019440A1 (en) * 2013-07-12 2015-01-15 Gongming Yang Encrypted Correction Code to protect the integrity and originality of electronic documentation and secure online payment and online wallet
CN104539424A (zh) * 2014-12-18 2015-04-22 广东讯飞启明科技发展有限公司 一种防篡改的考生数据传输方法
CN104463016A (zh) * 2014-12-22 2015-03-25 厦门大学 一种适用于ic卡及二维码的数据安全存储方法
CN105809524A (zh) * 2014-12-31 2016-07-27 航天信息股份有限公司 网上报税终端、接收终端、报税系统和报税方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483186A (zh) * 2017-08-01 2017-12-15 南京东屋电气有限公司 密钥更新方法、装置及存储介质

Also Published As

Publication number Publication date
CN106656478B (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
JP5053424B2 (ja) 中継装置、無線通信装置、ネットワークシステム、プログラム、および、方法
US11228434B2 (en) Data-at-rest encryption and key management in unreliably connected environments
Mukherjee et al. Flexible IoT security middleware for end-to-end cloud–fog communication
US8347094B2 (en) Securing wireless body sensor networks using physiological data
US20140040618A1 (en) Galois/counter mode encryption in a wireless network
US20200084283A1 (en) Session Resumption Method and Apparatus, and Computer Storage Medium
US8291220B2 (en) Securing wireless body sensor networks using physiological values for nonces
JP6556955B2 (ja) 通信端末、サーバ装置、プログラム
CN112187450B (zh) 密钥管理通信的方法、装置、设备及存储介质
US20090268914A1 (en) Securing Wireless Body Sensor Networks Using Physiological Data
US20180083777A1 (en) Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols
Büsching et al. The rebirth of one-time pads—Secure data transmission from ban to sink
JP2024081663A (ja) 鍵更新方法および関連装置
CN107493294B (zh) 一种基于非对称加密算法的ocf设备的安全接入与管理控制方法
JP2013239989A (ja) 情報処理装置、データ生成方法、情報処理方法、および情報処理システム
Kadri et al. Lightweight PKI for WSN µPKI
CN106656478A (zh) 一种多节点间的通信加密方法
CN116015649A (zh) 密钥更新方法、装置、电子设备和计算机可读存储介质
CN108809632B (zh) 一种量子安全套接层装置及系统
KR101994146B1 (ko) 클라우드 컴퓨팅에서 사물인터넷 데이터의 보안을 위한 키 관리 방법
Ali et al. Internet of things security assessment in healthcare environment
Gawdan et al. Performance evaluation of novel secure key management scheme over ban wireless sensor networks
WO2023240623A1 (zh) 数据通信方法及装置
CN116939599B (zh) 一种面向低性能设备的高速加密通信方法及装置
CN114070555B (zh) 一种量子密钥分发方法及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant