CN111600829A - 用于物联网设备间的安全通信方法和系统 - Google Patents

用于物联网设备间的安全通信方法和系统 Download PDF

Info

Publication number
CN111600829A
CN111600829A CN201910128501.0A CN201910128501A CN111600829A CN 111600829 A CN111600829 A CN 111600829A CN 201910128501 A CN201910128501 A CN 201910128501A CN 111600829 A CN111600829 A CN 111600829A
Authority
CN
China
Prior art keywords
key
message
data
receiving end
digital signature
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.)
Pending
Application number
CN201910128501.0A
Other languages
English (en)
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.)
Hangzhou Ezviz Network Co Ltd
Original Assignee
Hangzhou Ezviz Network 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 Hangzhou Ezviz Network Co Ltd filed Critical Hangzhou Ezviz Network Co Ltd
Priority to CN201910128501.0A priority Critical patent/CN111600829A/zh
Publication of CN111600829A publication Critical patent/CN111600829A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0822Key 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 key encryption key
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种用于物联网IOT设备间的安全通信方法和装置,技术方案为:发送端IOT设备与接收端IOT设备建立通信连接之后,生成会话密钥并与接收端IOT设备交互确定主密钥;发送端IOT设备使用会话密钥对通信数据加密,使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文,将数据报文发送到接收端IOT设备;接收端IOT设备基于该数据报文的报文头和报文体生成数字签名,用生成的数字签名对该数据报文中的数字签名进行校验,并在校验通过后,使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密。

Description

用于物联网设备间的安全通信方法和系统
技术领域
本发明涉及通信技术领域,特别涉及一种用于物联网设备间的安全通信方法和系统。
背景技术
部分物联网(IOT)设备因资源有限,计算能力不足等问题,处理性能较弱,因此存在无法运行标准的TLS加密协议,或者缺少存储空间放置体积较大的加密库等情况。
现有技术中,对于这种处理性能较弱的IOT设备,可以采用两种处理方法:
1)通过增加性能或者添加加密硬件的方式使其能够运行标准加密协议。
2)使用单一的对称加密算法对数据流进行加密传输,或者不加密传输。
然而,上述两种处理方法中,第一种方法会增加开发成本,第二种方法使用单一对称加密算法对数据流进行加密存在较多的弱点,安全性较低。
发明内容
有鉴于此,本发明的目的在于提供一种用于物联网设备间的安全通信方法和系统,能够在不增加开发成本的情况下提高物联网设备之间的通信安全性。
为了达到上述目的,本发明提供了如下技术方案:
一种用于物联网IOT设备间的安全通信系统,包括发送端IOT设备和接收端IOT设备;
所述发送端IOT设备,用于与接收端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥;用于使用会话密钥对通信数据加密,使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文;用于将数据报文发送到接收端IOT设备;
所述接收端IOT设备,用于与发送端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥;用于接收发送端IOT设备发送的报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为数字签名的数据报文;用于基于所述数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,如果校验通过,则使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密,否则,丢弃该数据报文。
一种用于物联网IOT设备间的安全通信方法,应用于发送端IOT设备,包括:
发送端IOT设备与接收端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥;
使用会话密钥对通信数据加密,使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文;
将数据报文发送到接收端IOT设备,以使接收端IOT设备基于数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,并在校验通过后,使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述应用于发送端IOT设备的用于物联网IOT设备间的安全通信方法中的步骤。
一种电子设备,所述电子设备包括上述的非瞬时计算机可读存储介质、以及与所述非瞬时计算机可读存储介质电连接的所述处理器。
另一种用于物联网IOT设备间的安全通信方法,应用于接收端IOT设备,包括:
接收端IOT设备与发送端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥;
接收发送端IOT设备发送的报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为数字签名的数据报文;
基于所述数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,如果校验通过,则使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密,否则,丢弃该数据报文。
另一种非瞬时计算机可读存储介质,所述另一种非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述应用于接收端IOT设备的用于物联网IOT设备间的安全通信方法中的步骤。
另一种电子设备,所述电子设备包括如所述另一种非瞬时计算机可读存储介质、以及与所述另一种非瞬时计算机可读存储介质电连接的所述处理器。
由上面的技术方案可知,本发明中,发送端IOT设备根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥;使用会话密钥对通信数据加密并使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文,并发送到接收端IOT设备,使得接收端IOT设备可以利用数字签名对数据报文进行校验,并在校验通过后,使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密。本发明能够在不增加开发成本的情况下提高IOT设备之间的通信安全性。
附图说明
图1是本发明实施例物联网IOT设备间的安全通信过程示意图;
图2是本发明实施例密钥协商流程图;
图3是本发明实施例数据报文格式示意图;
图4是本发明实施例用于物联网IOT设备间的安全通信系统的架构示意图;
图5是本发明实施例一用于物联网IOT设备间的安全通信方法流程图;
图6是本发明实施例二用于物联网IOT设备间的安全通信方法流程图;
图7是本发明实施例一电子设备的结构示意图;
图8是本发明实施例二电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
本发明中,在IOT设备之间需要进行会话时,作为发送端的IOT设备(以下称为发送端IOT设备)先与作为接收端的IOT设备(以下成为接收端IOT设备)建立会话连接,然后利用会话连接与接收端IOT设备进行确定主密钥,使用随机生成的会话密钥对通信数据进行加密,使用主密钥对会话密钥进行加密,然后将加密后的会话密钥和通信数据携带在数据报文中发送给接收端IOT设备,接收端IOT设备则使用主密钥解密加密的会话密钥,使用解密得到的会话密钥解密加密的通信数据,从而得到原始的通信数据。另外,本发明中还利用数字签名对数据报文进行验证,以保证数据报文的正确性。
以下结合图1对本发明的实现过程进行说明:
参见图1,图1是本发明实施例物联网IOT设备间的安全通信过程示意图,如图1所示,该方法包括以下步骤:
步骤101、发送端IOT设备与接收端IOT设备建立通信连接(会话连接)。
在实际应用中,在IOT设备之间的一次会话中,一个IOT设备为发送端,一个IOT设备为接收端,发送端IOT设备可以基于与接收端IOT设备之间建立的通信连接,向接收端IOT设备发送一次或多次通信数据。
为了保证通信数据的安全性,需要对通信数据进行加密和解密处理。为此,在发送通信数据之前,需要先进行密钥协商。本发明中实施例中,在通信过程中使用会话密钥和主密钥两个密钥,以避免单一对称加密算法存在的弱点,提高通信安全性。
步骤102、发送端IOT设备和接收端IOT设备根据基于ECC的密钥交换算法进行交互确定主密钥(MasterKey),发送端同时还随机生成会话密钥(SessionKey)。
在实际实现中,基于ECC的密钥交换算法可以是ECDHE算法,ECDHE算法的计算速度较快。
本发明实施例中,步骤102可以采用图2所示的密钥协商流程图,如图2所示,包括以下步骤:
步骤1021、发送端IOT设备随机生成会话密钥(SessionKey),同时还随机生成一个发送端私钥(以下用小写英文字母组合表示ks)。
步骤1022、接收端IOT设备随机生成接收端私钥(以下用小写英文组合kr表示),并根据预先设定的椭圆曲线的基点坐标B(x,y)和接收端私钥kr计算接收端公钥(以下用大写的英文字母组合KR表示)。
上述步骤1021和步骤1022不分先后顺序,均是在发送端IOT设备和接收端IOT设备建立通信连接后执行。
步骤1023、发送端IOT设备从接收端IOT设备获取接收端公钥KR、预先设定的椭圆曲线信息(例如椭圆曲线名称)、以及椭圆曲线的基点信息(基点信息至少包括基点坐标B(x,y))。
在实际实现中,可以由发送端IOT设备主动向接收端IOT设备发送请求,以从接收端IOT设备获取接收端公钥KR、预先设定的椭圆曲线信息、以及椭圆曲线的基点信息;也可以由接收端IOT设备主动将接收端公钥KR、预先设定的椭圆曲线信息、以及椭圆曲线的基点信息提供给(发送给)发送端IOT设备。
步骤1024、发送端IOT设备根据所述预先设定的椭圆曲线的基点坐标B(x,y)和发送端私钥ks计算发送端公钥(以下用大写的英文字母组合KS表示)。
步骤1025、发送端IOT设备将发送端公钥KS发送到接收端IOT设备。
步骤1026、发送端IOT设备根据发送端私钥ks和接收端公钥KR计算主密钥。
步骤1027、接收端IOT设备根据接收端私钥kr和发送端公钥KS计算主密钥。
需要说明的是,本发明实施例中,发送端IOT设备计算得到的主密钥和接收端IOT设备计算得到的主密钥是相同的。
步骤103、发送端IOT设备使用SessionKey对通信数据进行加密,使用MasterKey对SessionKey进行加密,生成报文头携带加密的SessionKey、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文,将生成的数据报文发送到接收端IOT设备。
本发明实施例中,为了实现通信数据发送,提供了如图3所示报文格式的数据报文,如图3所示,该报文中包括三个部分:报文头、报文体、和报文尾,以下分别进行介绍:
报文头,包括以下字段:版本号(version)、接收端公钥标志(receiverpublickeyflag)、数据标识(dataid)、加密的会话密钥(encryptedsessionkey)、和发送端公钥(senderpublickey)共5个字段。其中,version表明本次通信使用的协议版本,为预先设定的值;receiverpublickeyflag表明本次通信中接收端IOT设备的公钥版本,为预先设定的值;dataid表明本次通信中的数据编号,用于标识不同的数据报文,正常情况下,在一次会话过程中,如果有发送端IOT设备多次发送通信数据到接收端IOT设备,则每次发送的数据报文中的数据标识都不相同;encryptedsessionkey字段中承载使用MasterKey加密后的SessionKey;senderpublickey字段中承载接收端IOT设备的接收端公钥。需要说明的是,version和receiverpublickeyflag两个字段的取值,可以通过固件升级进行更改。
报文体,用于承载通信数据,且是使用SessionKey加密的通信数据。
报文尾,包括数字签名字段,数字签名是基于报文头和报文体生成的,生成方法具体可以为:使用sha256算法计算报文头的hash值和报文体的hash值;将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为数据报文的数字签名。
本发明实施例中,使用SessionKey对通信数据加密时,采用的加密算法可以是chacha算法,chacha算法是一种新式的对称加密算法,适用于ARM设备,具有计算速度快的优点。使用MasterKey加密SessionKey时,可采用AES-256-ECB算法,也可采用其它对称加密算法。
步骤104、接收端IOT设备接收到发送端IOT设备发送的数据报文后,基于该数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,如果校验通过,则使用MasterKey对该数据报文中加密的SessionKey解密,使用解密得到的SessionKey对数据报文中加密的通信数据解密,否则,丢弃该数据报文。
本步骤104中,基于数据报文的报文头和报文体生成数字签名的方法,与步骤103中基于数据报文的报文头和报文体生成数字签名的方法相同。
本步骤104中,使用MasterKey对数据报文中加密的SessionKey解密时采用的解密算法,与步骤103中使用MasterKey加密SessionKey时采用的对称加密算法相同。
本步骤104中,使用解密得到的SessionKey对数据报文中加密的通信数据解密时采用的解密算法,与步骤103中使用SessionKey对通信数据加密时采用的加密算法相同。
本发明实施例中,还提供对重放攻击的防御处理,主要利用对数据报文的dataid字段实现。当接收端IOT设备接收到数据报文,并用基于该数据报文的报文头和报文体生成的数字签名进行校验通过后,可以进一步判断本次会话过程中是否已经接收到与该数据报文具有相同dataid的其它数据报文,如果是,则说明该数据报文是重复接收,此时可丢弃该数据报文,以此防御重放攻击,如果否,则说明未重复接收该数据报文,不存在重放攻击,因此,可以继续执行后续的使用MasterKey对加密的SessionKey解密以及使用解密得到的SessionKey对加密的通信数据解密的操作步骤。
需要说明的是,上述步骤103和步骤104可以执行多次,由本次会话过程中发送端IOT设备需要向接收端IOT设备发送通信数据的次数决定。
由以上对物联网IOT设备间的安全通信过程的介绍可以看出,本发明中,通过组合利用各类标准加密算法的优势,通过使用SessionKey和MasterKey对通信数据进行加密处理,在资源有限的条件下也可以有效保证数据通信的安全性,确保加密后的数据不会遭到破解,也无法被重复利用,保障IOT设备之间通信的安全性;而且因为不需要增加IOT设备性能或者添加加密硬件,因此也不会增加开发成本。
上述本发明实施例的技术方案,相对于现有的TLS标准协议,可以降低延时、提高载荷比、降低秘钥管理的复杂度。相对与单一加密方式,可有效防御重放攻击,保证数据的完整性和真实性,进一步提升加密密钥的安全性。
基于上述物联网IOT设备间的安全通信过程,本发明提供了一种用于物联网IOT设备间的安全通信系统,以下结合图4进行说明。
参见图4,图4是本发明实施例用于物联网IOT设备间的安全通信系统的架构示意图,如图4所示,该系统包括发送端IOT设备和接收端IOT设备;其中,
所述发送端IOT设备,用于与接收端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥;用于使用会话密钥对通信数据加密,使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文;用于将数据报文发送到接收端IOT设备;
所述接收端IOT设备,用于与发送端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥;用于接收发送端IOT设备发送的报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为数字签名的数据报文;用于基于所述数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,如果校验通过,则使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密,否则,丢弃该数据报文。
图4所示系统中,
所述发送端IOT设备,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥,包括:
随机生成会话密钥和发送端私钥;
从接收端IOT设备获取接收端公钥、预先设定的椭圆曲线信息及椭圆曲线的基点信息;
根据椭圆曲线的基点信息和发送端私钥计算发送端公钥,将发送端公钥通知接收端IOT设备,并根据发送端私钥和接收端公钥计算主密钥;
所述接收端IOT设备,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥,包括:
随机生成接收端私钥;
根据接收端私钥和预先设定的椭圆曲线的基点信息计算接收端公钥,将所述椭圆曲线的基点信息和接收端公钥提供给发送端IOT设备;
接收发送端IOT设备返回的发送端公钥,根据接收端私钥和发送端公钥计算确定主密钥。
图4所示系统中,
所述发送端IOT设备,使用会话密钥对通信数据加密时,采用的加密算法为chacha算法;使用主密钥加密会话密钥时,采用的加密算法为对称加密算法;
所述接收端IOT设备,使用主密钥对数据报文中加密的会话密钥解密时,采用的解密算法为对称加密算法;使用解密得到的会话密钥对加密的通信数据解密时,采用的解密算法为chacha算法。
图4所示系统中,
所述发送端IOT设备,基于报文头和报文体生成的数字签名时,用于:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名;
所述接收端IOT设备,基于报文头和报文体生成的数字签名时,用于:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名。
图4所示系统中,
所述数据报文的报文头还携带版本号、接收端公钥标志、数据标识、和发送端公钥;其中,版本号表明本次通信使用的协议版本,接收端公钥标志表明本次通信中接收端IOT设备的公钥版本,数据标识表明本次通信中的数据编号;
所述接收端IOT设备,用生成的数字签名对数据报文中的数字签名校验通过后,使用主密钥对数据报文中加密的会话密钥解密之前,进一步用于:判断是否已经接收过与所述数据报文的报文序号相同的其它数据报文,如果是,则丢弃该数据报文。
本发明实施例还提供了一种应用于发送端IOT设备的用于物联网IOT设备间的安全通信方法和一种应用于接收端IOT设备的用于物联网IOT设备间的安全通信方法,以下结合图5和图6进行详细说明:
参见图5,图5是本发明实施例用于物联网IOT设备间的安全通信方法流程图,该方法应用于发送端IOT设备,具体包括以下步骤:
步骤501、发送端IOT设备与接收端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥;
步骤502、使用会话密钥对通信数据加密,使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文;
步骤503、将数据报文发送到接收端IOT设备,以使接收端IOT设备基于数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,并在校验通过后,使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密。
图5所示方法中,
根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥,包括:
随机生成会话密钥和发送端私钥;
从接收端IOT设备获取接收端公钥、预先设定的椭圆曲线信息及椭圆曲线的基点信息;
根据椭圆曲线的基点信息和发送端私钥计算发送端公钥,将发送端公钥通知接收端IOT设备,并根据发送端私钥和接收端公钥计算主密钥。
图5所示方法中,
所述数据报文的报文头还携带版本号、接收端公钥标志、数据标识、和发送端公钥;其中,版本号表明本次通信使用的协议版本,接收端公钥标志表明本次通信中接收端IOT设备的公钥版本,数据标识表明本次通信中的数据编号。
图5所示方法中,
使用会话密钥对通信数据加密时,采用的加密算法为chacha算法;
使用主密钥加密会话密钥时采用的加密算法为对称加密算法;
基于报文头和报文体生成的数字签名的方法为:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名。
参见图6,图6是本发明实施例用于物联网IOT设备间的安全通信方法流程图,该方法应用于接收端IOT设备,具体包括以下步骤:
步骤601、接收端IOT设备与发送端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥;
步骤602、接收发送端IOT设备发送的报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为数字签名的数据报文;
步骤603、基于所述数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,如果校验通过,则使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密,否则,丢弃该数据报文。
图6所示方法中,
根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥,包括:
随机生成接收端私钥;
根据接收端私钥和预先设定的椭圆曲线的基点信息计算接收端公钥,将所述椭圆曲线的基点信息和接收端公钥提供给发送端IOT设备;
接收发送端IOT设备返回的发送端公钥,根据接收端私钥和发送端公钥计算确定主密钥。
图6所示方法中,
所述数据报文的报文头还携带版本号、接收端公钥标志、数据标识、和发送端公钥;其中,版本号表明本次通信使用的协议版本,接收端公钥标志表明本次通信中接收端IOT设备的公钥版本,数据标识表明本次通信中的数据编号;
用生成的数字签名对数据报文中的数字签名校验通过后,使用主密钥对数据报文中加密的会话密钥解密之前,进一步包括:判断是否已经接收过与所述数据报文的报文序号相同的其它数据报文,如果是,则丢弃该数据报文。
图6所示方法中,
使用主密钥对数据报文中加密的会话密钥解密时,采用的解密算法为对称加密算法;
使用解密得到的会话密钥对加密的通信数据解密时,采用的解密算法为chacha算法
基于报文头和报文体生成的数字签名的方法为:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名。
本发明实施例还提供了两种非瞬时计算机可读存储介质和两种电子设备,以下进行介绍:
第一种非瞬时计算机可读存储介质,用于存储指令,所述指令在由处理器执行时使得所述处理器执行如上述图5所示的用于物联网IOT设备间的安全通信方法中的步骤。
参见图7,图7是本发明实施例第一种电子设备的结构示意图,该电子设备基于上述第一种非瞬时计算机可读存储介质实现,如图7所示,所述电子设备700包括上述第一种非瞬时计算机可读存储介质701、以及与所述第一种非瞬时计算机可读存储介质701电连接的处理器702。
第二种非瞬时计算机可读存储介质,用于存储指令,所述指令在由处理器执行时使得所述处理器执行如上述图6所示的用于物联网IOT设备间的安全通信方法中的步骤。
参见图8,图8是本发明实施例第一种电子设备的结构示意图,该电子设备基于上述第二种非瞬时计算机可读存储介质实现,如图8所示,所述电子设备800包括上述第二种非瞬时计算机可读存储介质801、以及与所述第二种非瞬时计算机可读存储介质801电连接的处理器802。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (17)

1.一种用于物联网IOT设备间的安全通信系统,其特征在于,该系统包括发送端IOT设备和接收端IOT设备;
所述发送端IOT设备,用于与接收端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥;用于使用会话密钥对通信数据加密,使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文;用于将数据报文发送到接收端IOT设备;
所述接收端IOT设备,用于与发送端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥;用于接收发送端IOT设备发送的报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为数字签名的数据报文;用于基于所述数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,如果校验通过,则使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密,否则,丢弃该数据报文。
2.根据权利要求1所述的系统,其特征在于,
所述发送端IOT设备,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥,包括:
随机生成会话密钥和发送端私钥;
从接收端IOT设备获取接收端公钥、预先设定的椭圆曲线信息及椭圆曲线的基点信息;
根据椭圆曲线的基点信息和发送端私钥计算发送端公钥,将发送端公钥通知接收端IOT设备,并根据发送端私钥和接收端公钥计算主密钥;
所述接收端IOT设备,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥,包括:
随机生成接收端私钥;
根据接收端私钥和预先设定的椭圆曲线的基点信息计算接收端公钥,将所述椭圆曲线的基点信息和接收端公钥提供给发送端IOT设备;
接收发送端IOT设备返回的发送端公钥,根据接收端私钥和发送端公钥计算确定主密钥。
3.根据权利要求2所述的系统,其特征在于,
所述发送端IOT设备,使用会话密钥对通信数据加密时,采用的加密算法为chacha算法;使用主密钥加密会话密钥时,采用的加密算法为对称加密算法;
所述接收端IOT设备,使用主密钥对数据报文中加密的会话密钥解密时,采用的解密算法为对称加密算法;使用解密得到的会话密钥对加密的通信数据解密时,采用的解密算法为chacha算法。
4.根据权利要求2所述的系统,其特征在于,
所述发送端IOT设备,基于报文头和报文体生成的数字签名时,用于:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名;
所述接收端IOT设备,基于报文头和报文体生成的数字签名时,用于:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名。
5.根据权利要求2所述的系统,其特征在于,
所述数据报文的报文头还携带版本号、接收端公钥标志、数据标识、和发送端公钥;其中,版本号表明本次通信使用的协议版本,接收端公钥标志表明本次通信中接收端IOT设备的公钥版本,数据标识表明本次通信中的数据编号;
所述接收端IOT设备,用生成的数字签名对数据报文中的数字签名校验通过后,使用主密钥对数据报文中加密的会话密钥解密之前,进一步用于:判断是否已经接收过与所述数据报文的报文序号相同的其它数据报文,如果是,则丢弃该数据报文。
6.一种用于物联网IOT设备间的安全通信方法,应用于发送端IOT设备,其特征在于,该方法包括:
发送端IOT设备与接收端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥;
使用会话密钥对通信数据加密,使用主密钥加密会话密钥,生成报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为基于报文头和报文体生成的数字签名的数据报文;
将数据报文发送到接收端IOT设备,以使接收端IOT设备基于数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,并在校验通过后,使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密。
7.根据权利要求6所述的方法,其特征在于,
根据基于ECC的密钥交换算法,生成会话密钥并与接收端IOT设备交互确定主密钥,包括:
随机生成会话密钥和发送端私钥;
从接收端IOT设备获取接收端公钥、预先设定的椭圆曲线信息及椭圆曲线的基点信息;
根据椭圆曲线的基点信息和发送端私钥计算发送端公钥,将发送端公钥通知接收端IOT设备,并根据发送端私钥和接收端公钥计算主密钥。
8.根据权利要求7所述的方法,其特征在于,
所述数据报文的报文头还携带版本号、接收端公钥标志、数据标识、和发送端公钥;其中,版本号表明本次通信使用的协议版本,接收端公钥标志表明本次通信中接收端IOT设备的公钥版本,数据标识表明本次通信中的数据编号。
9.根据权利要求6所述的方法,其特征在于,
使用会话密钥对通信数据加密时,采用的加密算法为chacha算法;
使用主密钥加密会话密钥时,采用的加密算法为对称加密算法;
基于报文头和报文体生成的数字签名的方法为:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名。
10.一种用于物联网IOT设备间的安全通信方法,应用于接收端IOT设备,其特征在于,该方法包括:
接收端IOT设备与发送端IOT设备建立通信连接之后,根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥;
接收发送端IOT设备发送的报文头携带加密的会话密钥、报文体为加密的通信数据、且报文尾为数字签名的数据报文;
基于所述数据报文的报文头和报文体生成数字签名,用生成的数字签名对数据报文中的数字签名进行校验,如果校验通过,则使用主密钥对数据报文中加密的会话密钥解密,使用解密得到的会话密钥对加密的通信数据解密,否则,丢弃该数据报文。
11.根据权利要求10所述的方法,其特征在于,
根据基于ECC的密钥交换算法,与发送端IOT设备交互确定主密钥,包括:
随机生成接收端私钥;
根据接收端私钥和预先设定的椭圆曲线的基点信息计算接收端公钥,将所述椭圆曲线的基点信息和接收端公钥提供给发送端IOT设备;
接收发送端IOT设备返回的发送端公钥,根据接收端私钥和发送端公钥计算确定主密钥。
12.根据权利要求11所述的方法,其特征在于,
所述数据报文的报文头还携带版本号、接收端公钥标志、数据标识、和发送端公钥;其中,版本号表明本次通信使用的协议版本,接收端公钥标志表明本次通信中接收端IOT设备的公钥版本,数据标识表明本次通信中的数据编号;
用生成的数字签名对数据报文中的数字签名校验通过后,使用主密钥对数据报文中加密的会话密钥解密之前,进一步包括:判断是否已经接收过与所述数据报文的报文序号相同的其它数据报文,如果是,则丢弃该数据报文。
13.根据权利要求10所述的方法,其特征在于,
使用主密钥对数据报文中加密的会话密钥解密时,采用的解密算法为对称加密算法;
使用解密得到的会话密钥对加密的通信数据解密时,采用的解密算法为chacha算法
基于报文头和报文体生成的数字签名的方法为:
使用sha256算法计算报文头的hash值和报文体的hash值;
将报文头和报文体的hash值拼接在一起,使用主密钥和hmac_sha256算法计算拼接结果的hash值,将该hash值作为所述数字签名。
14.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求6至9中任一项所述的用于物联网IOT设备间的安全通信方法中的步骤。
15.一种电子设备,其特征在于,所述电子设备包括如权利要求14所述的非瞬时计算机可读存储介质、以及与所述非瞬时计算机可读存储介质电连接的所述处理器。
16.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求10至13中任一项所述的用于物联网IOT设备间的安全通信方法中的步骤。
17.一种电子设备,其特征在于,所述电子设备包括如权利要求16所述的非瞬时计算机可读存储介质、以及与所述非瞬时计算机可读存储介质电连接的所述处理器。
CN201910128501.0A 2019-02-21 2019-02-21 用于物联网设备间的安全通信方法和系统 Pending CN111600829A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910128501.0A CN111600829A (zh) 2019-02-21 2019-02-21 用于物联网设备间的安全通信方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910128501.0A CN111600829A (zh) 2019-02-21 2019-02-21 用于物联网设备间的安全通信方法和系统

Publications (1)

Publication Number Publication Date
CN111600829A true CN111600829A (zh) 2020-08-28

Family

ID=72188557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910128501.0A Pending CN111600829A (zh) 2019-02-21 2019-02-21 用于物联网设备间的安全通信方法和系统

Country Status (1)

Country Link
CN (1) CN111600829A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995138A (zh) * 2021-02-03 2021-06-18 上海钧正网络科技有限公司 一种数据通信方法、装置、电子设备及可读存储介质
CN113037471A (zh) * 2020-12-19 2021-06-25 江苏云坤信息科技有限公司 基于政务领域的跨系统、跨部门业务协作信息交换方法
CN114726543A (zh) * 2022-04-12 2022-07-08 北京信息科技大学 报文链构建及密钥链生成、报文发送及接收方法及装置
CN114978519A (zh) * 2021-02-22 2022-08-30 中国移动通信有限公司研究院 报文发送方法、签名信息的生成方法及设备
CN115102768A (zh) * 2022-06-24 2022-09-23 平安银行股份有限公司 一种数据处理方法、装置及计算机设备
CN116055207A (zh) * 2023-01-31 2023-05-02 深圳市圣驼储能技术有限公司 一种物联网通讯数据的加密方法及系统

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459506A (zh) * 2007-12-14 2009-06-17 华为技术有限公司 密钥协商方法、用于密钥协商的系统、客户端及服务器
CN101594228A (zh) * 2009-07-02 2009-12-02 西安电子科技大学 证书公钥系统与身份公钥系统之间的认证加密方法
CN101686225A (zh) * 2008-09-28 2010-03-31 中国银联股份有限公司 一种用于网上支付的数据加密和密钥生成方法
CN101931536A (zh) * 2010-08-31 2010-12-29 武汉理工大学 一种无需认证中心的高效数据加密及认证方法
CN102255725A (zh) * 2011-07-16 2011-11-23 山东省数字证书认证管理有限公司 随机混合密钥加解密方法
CN102970138A (zh) * 2011-08-29 2013-03-13 汤姆森特许公司 签密方法和装置以及对应的签密验证方法和装置
CN103532713A (zh) * 2012-07-04 2014-01-22 中国移动通信集团公司 传感器认证和共享密钥产生方法和系统以及传感器
CN104158653A (zh) * 2014-08-14 2014-11-19 华北电力大学句容研究中心 一种基于商密算法的安全通信方法
CN105281909A (zh) * 2015-06-26 2016-01-27 浙江巨联科技股份有限公司 一种加解密机制及采用该加解密机制的物联网锁系统
CN105407072A (zh) * 2014-09-05 2016-03-16 北京握奇智能科技有限公司 一种实现物联网安全的方法、系统及互联设备
CN106027252A (zh) * 2016-01-21 2016-10-12 李明 一种身份证认证系统中的云认证平台
CN106209352A (zh) * 2015-05-28 2016-12-07 恩智浦有限公司 具有前向安全性的有效密钥衍生
CN107222501A (zh) * 2017-07-06 2017-09-29 中国电子科技集团公司第二十九研究所 一种基于信息识别码非电磁信号的信息交互安全传输方法及系统
WO2017196144A1 (en) * 2016-05-12 2017-11-16 Lg Electronics Inc. A system and method for efficient implementation of prime field arithmetic in arm processors
CN107483195A (zh) * 2017-09-08 2017-12-15 哈尔滨工业大学深圳研究生院 物联网环境下安全的双方认证与密钥协商协议
CN108293058A (zh) * 2015-12-03 2018-07-17 微软技术许可有限责任公司 使用安全信令建立通信事件
CN108347330A (zh) * 2017-01-24 2018-07-31 北京百度网讯科技有限公司 一种安全通信的方法和装置
CN108683665A (zh) * 2018-05-15 2018-10-19 国家电网公司 光纤通信中的数据加密方法、系统及数据发送设备
CN108882232A (zh) * 2018-06-26 2018-11-23 北方工业大学 一种物联网设备间的认证码嵌入消息传输方法
CN109361512A (zh) * 2018-10-11 2019-02-19 深圳市捷恩斯威科技有限公司 数据传输方法

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459506A (zh) * 2007-12-14 2009-06-17 华为技术有限公司 密钥协商方法、用于密钥协商的系统、客户端及服务器
CN101686225A (zh) * 2008-09-28 2010-03-31 中国银联股份有限公司 一种用于网上支付的数据加密和密钥生成方法
CN101594228A (zh) * 2009-07-02 2009-12-02 西安电子科技大学 证书公钥系统与身份公钥系统之间的认证加密方法
CN101931536A (zh) * 2010-08-31 2010-12-29 武汉理工大学 一种无需认证中心的高效数据加密及认证方法
CN102255725A (zh) * 2011-07-16 2011-11-23 山东省数字证书认证管理有限公司 随机混合密钥加解密方法
CN102970138A (zh) * 2011-08-29 2013-03-13 汤姆森特许公司 签密方法和装置以及对应的签密验证方法和装置
CN103532713A (zh) * 2012-07-04 2014-01-22 中国移动通信集团公司 传感器认证和共享密钥产生方法和系统以及传感器
CN104158653A (zh) * 2014-08-14 2014-11-19 华北电力大学句容研究中心 一种基于商密算法的安全通信方法
CN105407072A (zh) * 2014-09-05 2016-03-16 北京握奇智能科技有限公司 一种实现物联网安全的方法、系统及互联设备
CN106209352A (zh) * 2015-05-28 2016-12-07 恩智浦有限公司 具有前向安全性的有效密钥衍生
CN105281909A (zh) * 2015-06-26 2016-01-27 浙江巨联科技股份有限公司 一种加解密机制及采用该加解密机制的物联网锁系统
CN108293058A (zh) * 2015-12-03 2018-07-17 微软技术许可有限责任公司 使用安全信令建立通信事件
CN106027252A (zh) * 2016-01-21 2016-10-12 李明 一种身份证认证系统中的云认证平台
WO2017196144A1 (en) * 2016-05-12 2017-11-16 Lg Electronics Inc. A system and method for efficient implementation of prime field arithmetic in arm processors
CN108347330A (zh) * 2017-01-24 2018-07-31 北京百度网讯科技有限公司 一种安全通信的方法和装置
CN107222501A (zh) * 2017-07-06 2017-09-29 中国电子科技集团公司第二十九研究所 一种基于信息识别码非电磁信号的信息交互安全传输方法及系统
CN107483195A (zh) * 2017-09-08 2017-12-15 哈尔滨工业大学深圳研究生院 物联网环境下安全的双方认证与密钥协商协议
CN108683665A (zh) * 2018-05-15 2018-10-19 国家电网公司 光纤通信中的数据加密方法、系统及数据发送设备
CN108882232A (zh) * 2018-06-26 2018-11-23 北方工业大学 一种物联网设备间的认证码嵌入消息传输方法
CN109361512A (zh) * 2018-10-11 2019-02-19 深圳市捷恩斯威科技有限公司 数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
常逢佳: "基于 ECC 的安全实时通讯系统的设计方案", 《西北师范大学学报(自然科学版)》 *
郭庆瑞: "基于椭圆曲线密码体制的配电自动化系统信息安全研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037471A (zh) * 2020-12-19 2021-06-25 江苏云坤信息科技有限公司 基于政务领域的跨系统、跨部门业务协作信息交换方法
CN112995138A (zh) * 2021-02-03 2021-06-18 上海钧正网络科技有限公司 一种数据通信方法、装置、电子设备及可读存储介质
CN112995138B (zh) * 2021-02-03 2022-12-27 上海钧正网络科技有限公司 一种数据通信方法、装置、电子设备及可读存储介质
CN114978519A (zh) * 2021-02-22 2022-08-30 中国移动通信有限公司研究院 报文发送方法、签名信息的生成方法及设备
CN114726543A (zh) * 2022-04-12 2022-07-08 北京信息科技大学 报文链构建及密钥链生成、报文发送及接收方法及装置
CN114726543B (zh) * 2022-04-12 2023-07-18 北京信息科技大学 基于报文链的密钥链生成、报文发送及接收方法及装置
CN115102768A (zh) * 2022-06-24 2022-09-23 平安银行股份有限公司 一种数据处理方法、装置及计算机设备
CN115102768B (zh) * 2022-06-24 2024-03-19 平安银行股份有限公司 一种数据处理方法、装置及计算机设备
CN116055207A (zh) * 2023-01-31 2023-05-02 深圳市圣驼储能技术有限公司 一种物联网通讯数据的加密方法及系统
CN116055207B (zh) * 2023-01-31 2023-10-03 深圳市圣驼储能技术有限公司 一种物联网通讯数据的加密方法及系统

Similar Documents

Publication Publication Date Title
US11743726B2 (en) Access method and system of internet of things equipment based on 5G, and storage medium
CN111600829A (zh) 用于物联网设备间的安全通信方法和系统
CN103338215B (zh) 基于国密算法建立tls通道的方法
CN106357690B (zh) 一种数据传输方法、数据发送装置及数据接收装置
US20120250866A1 (en) Communication apparatus and communication system
CN106878016A (zh) 数据发送、接收方法及装置
CN110048849B (zh) 一种多层保护的会话密钥协商方法
EP3547601B1 (en) Biometric information transmission establishing method , device, system, and storage medium
CN113806772A (zh) 基于区块链的信息加密传输方法及装置
CN112637136A (zh) 加密通信方法及系统
CN112753203B (zh) 一种安全通信方法及装置
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
CN110839240B (zh) 一种建立连接的方法及装置
CN112235107A (zh) 一种数据传输方法、装置、设备和存储介质
CN115499250B (zh) 一种数据加密方法及装置
CN115766119A (zh) 通信方法、装置、通信系统及存储介质
CN114915396B (zh) 一种基于国密算法的跳变密钥数字通信加密系统和方法
CN114830572A (zh) 一种数据传输方法、装置、设备、系统及存储介质
CN109274663A (zh) 基于sm2动态密钥交换与sm4数据加密的通信方法
CN114650181B (zh) 电子邮件加解密方法、系统、设备及计算机可读存储介质
CN114928503A (zh) 一种安全通道的实现方法及数据传输方法
CN114707158A (zh) 基于tee的网络通信认证方法以及网络通信认证系统
CN113392413A (zh) 一种数据安全存储方法、装置、系统和存储介质
CN108809632B (zh) 一种量子安全套接层装置及系统
CN116599772B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200828

RJ01 Rejection of invention patent application after publication