CN106656478B - 一种多节点间的通信加密方法 - Google Patents
一种多节点间的通信加密方法 Download PDFInfo
- Publication number
- CN106656478B CN106656478B CN201610928588.6A CN201610928588A CN106656478B CN 106656478 B CN106656478 B CN 106656478B CN 201610928588 A CN201610928588 A CN 201610928588A CN 106656478 B CN106656478 B CN 106656478B
- Authority
- CN
- China
- Prior art keywords
- key
- node
- header
- keyid
- compression
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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/0833—Key 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 (2)
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,得到正常信息;
压缩ID即Compress ID,Compress ID是压缩算法的标识,用于定位压缩算法解压数据;
所述节点在通信时,包装原有正常通信消息如下:[Header, Body],其中Header是加密的消息头,包括消息压缩加密的元数据信息,Body是压缩加密后的消息内容,然后通过底层通信模块把消息发送到对方,接收节点先解析出Header,根据Header找到压缩算法和加密KeyID,从而解密解压消息。
其中,通信系统中设置有密钥中心Controller,用于为节点生成密钥,生成过程通过协商交互生成,Controller定期更新自己的密钥,不用和其他节点协商,更新完成后使用旧密钥加密密钥广播通知各节点。
当节点发现无法根据KeyID获取key时,先用自己的公钥加密索取信息,索取信息包括节点身份、KeyID和节点的密钥信息,发送到密钥中心,然后密钥中心用私钥解密,验证节点身份,根据KeyID查找密钥信息,然后用节点密钥信息加密返回给节点,返回路径由Controller根据特定规则生成,节点接收到后解密获取密钥。
2.根据权利要求1所述的多节点间的通信加密方法,其特征在于,每密钥更新完后,把密钥信息保存到磁盘或者文件中,重启后从磁盘加载密钥信息,同时还会协商新密钥,如果此时有未读消息且使用老密钥加密,那么就可以使用之前保留的密钥解密,否则使用新密钥解密。
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 CN106656478A (zh) | 2017-05-10 |
CN106656478B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483186A (zh) * | 2017-08-01 | 2017-12-15 | 南京东屋电气有限公司 | 密钥更新方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1448935A (zh) * | 2002-04-01 | 2003-10-15 | 索尼株式会社 | 在存储介质上记录数据的记录方法 |
CN104539424A (zh) * | 2014-12-18 | 2015-04-22 | 广东讯飞启明科技发展有限公司 | 一种防篡改的考生数据传输方法 |
CN105809524A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息股份有限公司 | 网上报税终端、接收终端、报税系统和报税方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN104463016B (zh) * | 2014-12-22 | 2017-05-24 | 厦门大学 | 一种适用于ic卡及二维码的数据安全存储方法 |
-
2016
- 2016-10-31 CN CN201610928588.6A patent/CN106656478B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1448935A (zh) * | 2002-04-01 | 2003-10-15 | 索尼株式会社 | 在存储介质上记录数据的记录方法 |
CN104539424A (zh) * | 2014-12-18 | 2015-04-22 | 广东讯飞启明科技发展有限公司 | 一种防篡改的考生数据传输方法 |
CN105809524A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息股份有限公司 | 网上报税终端、接收终端、报税系统和报税方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106656478A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI778171B (zh) | 待配網設備連接網路熱點設備的方法和系統 | |
EP3432509B1 (en) | Quantum enhanced application security | |
WO2018014723A1 (zh) | 密钥管理方法、装置、设备及系统 | |
US7991836B2 (en) | Approach for managing state information by a group of servers that services a group of clients | |
US11228434B2 (en) | Data-at-rest encryption and key management in unreliably connected environments | |
WO2019011028A1 (zh) | 一种恢复会话的方法、装置及计算机存储介质 | |
JP5975594B2 (ja) | 通信端末及び通信システム | |
US8271777B2 (en) | Secure host connection | |
WO2009107474A1 (ja) | 鍵管理サーバ、端末、鍵共有システム、鍵配信プログラム、鍵受信プログラム、鍵配信方法及び鍵受信方法 | |
JP5043408B2 (ja) | 鍵管理サーバ、端末、鍵共有システム、鍵配信プログラム、鍵受信プログラム、鍵配信方法及び鍵受信方法 | |
CN111787533A (zh) | 加密方法、切片管理方法、终端及接入和移动性管理实体 | |
CN113726795B (zh) | 报文转发方法、装置、电子设备及可读存储介质 | |
CN201919030U (zh) | 一种网络文件存储及管理系统 | |
US10419212B2 (en) | Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols | |
CN106656478B (zh) | 一种多节点间的通信加密方法 | |
CN103856938A (zh) | 一种加密解密的方法、系统及设备 | |
WO2024001037A1 (zh) | 一种消息传输方法、装置、电子设备和存储介质 | |
CN111866060A (zh) | 通信设备的tls连接方法、通信设备和通信系统 | |
CN111031012A (zh) | 一种实现dds域参与者安全认证的方法 | |
CN115567195A (zh) | 安全通信方法、客户端、服务器、终端和网络侧设备 | |
JP2022012202A (ja) | 第1の通信装置、第2の通信装置、システム、方法、及びプログラム | |
JP2006019824A (ja) | セキュア通信システム、管理装置および通信端末 | |
CN101534262B (zh) | 消息传输方法、网络装置及网络系统 | |
CN116506234B (zh) | 电力通信网络的安全控制方法、装置、中央协调器及节点 | |
WO2023240623A1 (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 |