CN117527302A - 一种基于密钥同步更新算法的安全通信方法 - Google Patents

一种基于密钥同步更新算法的安全通信方法 Download PDF

Info

Publication number
CN117527302A
CN117527302A CN202311351710.4A CN202311351710A CN117527302A CN 117527302 A CN117527302 A CN 117527302A CN 202311351710 A CN202311351710 A CN 202311351710A CN 117527302 A CN117527302 A CN 117527302A
Authority
CN
China
Prior art keywords
key
message
control center
session
sequence
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
CN202311351710.4A
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.)
State Grid Information and Telecommunication Co Ltd
Original Assignee
State Grid Information and Telecommunication 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 State Grid Information and Telecommunication Co Ltd filed Critical State Grid Information and Telecommunication Co Ltd
Priority to CN202311351710.4A priority Critical patent/CN117527302A/zh
Publication of CN117527302A publication Critical patent/CN117527302A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/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
    • 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/40Network security protocols

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)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种基于密钥同步更新算法的安全通信方法,涉及互联网安全技术领域,配置TinyMT轻量级随机数生成器和XSadd轻量级随机数生成器;基于TinyMT轻量级随机数生成器或XSadd轻量级随机数生成器生成轻量级密钥同步更新算法;基于轻量级密钥同步更新算法配置安全通信协议,安全通信协议支持D2C通信和D2D通信;配置安全通信协议包括:设备注册阶段、密钥序列协商阶段、加密通信阶段、密钥更新阶段。本发明从入网到实现安全通信的全流程。可以定期更新密钥,根据需要更新密钥序列的特点既保证了通信的安全性,同时使得通信协议更加灵活,更易得到应用。对比发现相较于现有物联网安全通信协议,所提方案更安全,更高效,并具有更高的可用性。

Description

一种基于密钥同步更新算法的安全通信方法
技术领域
本发明涉及互联网安全技术领域,尤其涉及一种基于密钥同步更新算法的安全通信方法。
背景技术
物联网(Internet of Things, IoT)由大量电子设备(如各种嵌入式信息传感器、智能处理终端等)组合而成,通过各类可能的网络接入(如蓝牙、蜂窝网络、Wi-Fi等),实现物与物、物与人之间的数据交互和信息共享。物联网概念的雏形最早可以追溯到1980年代初期,卡内基·梅隆大学将一台连入互联网的可乐贩卖机设置于园区内,通过网络可以实时共享、获取当前贩卖机内饮料种类和剩余的库存。物联网已经应用到了工业制造、健康医疗、城市建设等领域,将智能设备带入生产和生活的方方面面。根据专家预测,到了2025年将有300亿物联网设备接入物联网中,平均每人将持有4台物联网设备。物联网设备的普及使用大大提高了现代社会的生产效率,但在这繁荣发展的背后却暗藏了风险和隐患。
目前对物联网发起攻击可能导致设备故障,进而导致系统瘫痪、正常作业停止,带来巨大的经济损失,甚或影响用户的隐私和生命安危。物联网安全问题已经成为了阻碍物联网发展最大因素。物联网的大部分攻击源自网络,但由于物理网设备大多为嵌入式设备,受限于其计算性能、内存大小、能源供给等因素,传统互联网用于防范网络攻击的解决方案难以在物联网中直接使用。
物联网为人们提供可用性的设备带来了灵活性和智能性,但同时,使用它也产生了一些负面作用。在物联网中,连接的设备数量越多,系统中的漏洞就越多,物联网受到攻击的可能性也就越大,例如家中的摄像头或者传感器数据外泄。物联网设备在设计、生产及使用应用软件和操作系统时存在无法避免的缺陷,导致信息系统中漏洞的数量也在持续增加,黑客组织可以利用漏洞来控制物联网设备以发起攻击或是直接盗窃物联网设备上的数据。在利用这些漏洞部分控制了目标网络系统后,就可以利用一些更严重的安全漏洞来发起进一步的攻击,甚至是发起APT攻击。此外,有限的资源和有限的功率也使得物联网设备很容易为攻击者所控制、利用,以发起恶意攻击。网络系统中很多漏洞是无法修复的,尤其是物联网中,许多的物联网漏洞都不能更新补丁或无法及时更新补丁。
现有的基于预共享密钥或者预共享信息结合密钥同步更新算法在效率上有着不错的表现,但在实际应用时却缺乏一定的鲁邦性和安全性。
首先,在鲁棒性方面,现有物联网安全通信协议旨在保证密钥同步更新成功,但许多方案中并未严格要求达成密钥更新的共识,导致存在密钥同步更新失败的可能性。例如,有其他方案中采用了时间片段的方式,在一定时间后通信双方自动迭代更新产生新的密钥,这对于时间同步产生了依赖和要求,如果时间失去了同步或是其中一方因为关机、重启等原因未在规定时间点更新密钥则将导致通信双方密钥失去同步;另外方案采用了一次一密高速迭代密钥的方式,密钥更新的触发在于消息传输,然而一旦发生丢包等情况极易导致密钥失去同步,而丢包在传统互联网、现有物联网中都存在的客观情况。在上述方案中,密钥序列也是固定的,一旦发生了密钥失去同步将难以恢复;或使用初始值重新开始迭代,这也会导致使用相同的密钥等安全风险。可见,现有的基于密钥同步更新算法的通信协议在实际应用时缺乏鲁棒性。
发明内容
本发明提供一种基于密钥同步更新算法的安全通信方法,方法可以保证通信网络的安全,避免遭受潜在的攻击。
方法包括:
S101:配置TinyMT轻量级随机数生成器和XSadd轻量级随机数生成器;
S102:基于TinyMT轻量级随机数生成器或XSadd轻量级随机数生成器生成轻量级密钥同步更新算法;
S103:基于轻量级密钥同步更新算法配置安全通信协议,安全通信协议支持D2C通信和D2D通信;配置安全通信协议包括:设备注册阶段、密钥序列协商阶段、加密通信阶段、密钥更新阶段。
进一步需要说明的是,步骤S102还包括:
S201:基于TinyMT轻量级随机数生成器和XSadd轻量级随机数生成器选取随机数序列,并生成初始值参数;
S202:迭代生成的随机数序列,并基于X和Y构造循环移位及加法取模运算模型。
进一步需要说明的是,步骤S202还包括:
S301:根据X和Y的当前状态迭代计算下一个输出xi和yi
S302:将xi循环左移r1位,得到
S303:将yi循环左移r2位,得到
S304:将和/>相加后对2w取模,得到的结果输出;
S305:重复步骤S301- S304四次,依次将结果串联得到更新后的128位密钥。
进一步需要说明的是,S103的设备注册阶段包括:
在设备Di和控制中心C协商出一对预共享的密钥pski
完成预共享密钥协商后,设备Di保存其自身与控制中心C预共享的密钥,后续预共享密钥将加入到密钥序列的计算;
控制中心C保存所有其管辖范围内设备Di的预共享密钥pskj,j = 1, 2, ..., N;
假设控制中心C管辖范围内设备数为N;
每个设备Di具有唯一身份标识符IDi
控制中心具有唯一的身份标识符IDc
进一步需要说明的是,步骤S103的密钥序列协商阶段包括:
控制中心C向设备Di发起密钥序列协商请求,控制中心C生成一个长随机数,将nonce*与pski、串联后输入哈希函数中,计算得到临时密钥序列的初始化种子;
将种子输入所提的轻量级密钥同步更新算法G,迭代产生一个临时密钥
控制中心C配置一用于表示后续会话序号的随机数SidC,将SidC加密并签名后,将协商请求数据发送给设备Di;加密结果和签名结果分别用/>和/>表示;
其中,SYN表示密钥序列协商请求的标识符。
进一步需要说明的是,设备Di收到密钥序列协商请求后,根据随机数nonce*得到临时密钥
使用临时密钥对消息的完整性进行验证,即计算消息的签名MAC值,如果/>与/>相等,则说明消息确实发自控制中心C,既认证了消息的来源身份;
设备Di如果对密钥序列协商请求认证不通过,则停止后续计算,丢弃消息;
如果消息认证通过,则先解密并存储Sidc,随后产生随机数nonce**和随机数sidi,并使用nonce**和pski、经过哈希函数计算后的seed**作为输入送入G中得到第二个临时密钥产生密钥序列协商答复消息SYN_ RESP ;
其中,SYN||ACK表示密钥序列协商应答的标识符;
控制中心C在收到SYN_ RESP消息后,根据nonce**计算得到临时密钥;使用临时密钥/>计算/>;对比MAC值与/>是否相等,如果相等,则说明消息的来源合法;如果不相等则直接终止密钥序列协商。
进一步需要说明的是,步骤S103的加密通信阶段包括:
在成功协商或是同步密钥序列后,控制中心C和设备Di已经拥有了会话密钥
当设备Di向控制中心发送汇聚消息时,以如下方式构造发送消息:
其中,Data表示待发送的高层应用数据,Sidd则是消息序号,每次发送消息时递增,DT表示发送数据的标识符, RN是用于加密的初始化向量;
控制中心在收到消息Senddi,先根据标识符判断消息类型,对于数据传输类消息则依据IDi查询到当前通信会话密钥;根据会话密钥/>计算得到消息的MAC值并与消息中的Mdi进行比对,如果一致则说明消息没有被修改且来自设备Di,继续后续的解密步骤;如果不一致则丢弃数据包,停止进行后续操作。
进一步需要说明的是,控制中心C向设备发送消息用于加密的初始向量RN,使用初始向量RN和会话密钥/>样加密数据Data并进行MAC签名;
设备在收到消息/>后,如果发送方身份是控制中心C,则无需查表获取当前与控制中心的会话密钥/>,计算消息的MAC值并比对,如果不一致则认为是非法消息丢弃;对于合法消息,使用会话密钥解密得到/>,将/>与记录的会话序号相比较,如果大于记录的会话序号,则接受数据并转交上层应用;否则作为非法消息丢弃。
进一步需要说明的是,S103的密钥更新阶段包括:
由控制中心C发起会话密钥同步更新的请求,具体请求消息如下:
其中UPD是发起密钥同步更新请求的标识;
设备在收到了请求后,首先计算MAC值验证消息的完整性与身份,如果未通过完整性验证,则作为非法消息丢弃;否则,使用会话密钥/>解密消息得到会话序号;
对于合法的消息并附有标识符的密钥更新请求,设备使用密钥更新算法迭代更新产生新的会话密钥/>
设备使用新会话密钥/>构造密钥同步更新请求的应答:
其中,UPD||ACK是应答密钥同步更新请求的标识。
进一步需要说明的是,控制中心在发起密钥同步更新请求后,使用密钥同步更新算法迭代产生新的会话密钥,并临时保留前会话密钥/>;如果收到应答密钥更新请求并通过了MAC值完整性及身份验证、会话序号对消息时效验证后,控制中心确认密钥同步更新成功,则丢弃前会话密钥/>,并在后续通信中使用/>,;如果未收到应答密钥更新请求或是应答消息非合法消息,则控制中心C递增会话序号/>并基于前会话密钥/>重发密钥更新请求,直至收到合法的密钥更新应答消息。
从以上技术方案可以看出,本发明具有以下优点:
本发明使用TinyMT和XSadd的轻量级密钥同步更新算法。借助TXLKS算法具有长周期性、前向不可预测性、随机性等良好安全属性,提升通信安全性。同时,在计算效率、内存占用上有着良好的表现。TXLKS也可作为小型密码学安全随机数生成算法使用。
本发明提供的基于密钥同步更新算法的安全通信方法适用于泛在物联网的安全通信协议。协议在解决身份认证、数据完整性验证、信息载荷机密性、重放攻击、中间人攻击等安全问题的同时,方案可基于预共享密钥高效协商新密钥序列,恢复通信会话密钥,使得方案在实际应用时具有更强鲁棒性,应对密钥序列去同步等情况。
本发明的多个阶段涵盖了设备从入网到实现安全通信的全流程。方案定期更新密钥,根据需要更新密钥序列的特点既保证了通信的安全性,同时使得通信协议更加灵活,更易得到应用。对比发现相较于现有物联网安全通信协议,所提方案更安全,更高效,并具有更高的可用性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于密钥同步更新算法的安全通信方法流程图;
图2为轻量级安全通信协议实施例示意图。
具体实施方式
本发明提供的基于密钥同步更新算法的安全通信方法使用了轻量级随机数生成器,并构造轻量级密码学安全随机数序列生成算法。为了达成上述密钥同步序列目标与要求,随机数生成器在保证分布均匀和长周期的属性下,使用较少的计算处理时间和内存占用,适用于多种物联网设备。算法采用异或、加法、移位等高效计算机指令,配合标准C99语言规范实现,使得算法在效率、可移植性上有双重保障。
本发明是为了解决现有技术中采用一次一密高速迭代密钥的方式,密钥更新的触发在于消息传输,一旦发生丢包等情况导致密钥失去同步的问题,还为了解决密钥序列是固定的,一旦发生了密钥失去同步将难以恢复;或使用初始值重新开始迭代,会导致使用相同的密钥等安全风险的问题。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例的方法涉及了设备Di和控制中心C。其中,设备Di可以是各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请实施例的实现。
控制中心C可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
设备Di和控制中心C所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(VirtualPrivateNetwork,VPN)等。
请参阅图1和图2所示是一具体实施例中基于密钥同步更新算法的安全通信方法的流程图,方法包括:
S101:配置TinyMT轻量级随机数生成器和XSadd轻量级随机数生成器;
其中, TinyMT(Tiny Mersenne Twister)是由设计梅森旋转算法的作者MutsuoSaito和Makoto Mat-sumoto在2011年公开的一款轻量级随机数生成器。TinyMT主要由两部分组成:内部状态迭代函数和输出函数。其内部状态迭代算法与梅森旋转算法相近。
2. XSadd(XORSHIFT-ADD)是由XORSHIFT算法演变而来,作者Mutsuo Saito和Makoto Mat-sumoto在2014年开发的一款轻量级随机数生成器。与TinyMT相似,XSadd也同样由两部分组成:内部状态迭代函数和输出函数。其内部状态迭代算法与XORSHIFT算法几乎保持一致。
XSadd拥有和TinyMT相似的特性,甚至拥有更长的序列周期,该算法只使用了异或、逻辑左移、逻辑右移、加法等操作,相比TinyMT进行更少的指令操作,例如输出函数仅做了一次加法运算,内部状态迭代算法仅做3次移位操作和3次异或操作,所有操作适合计算机高性能处理。
S102:基于TinyMT轻量级随机数生成器或XSadd轻量级随机数生成器生成轻量级密钥同步更新算法;
本实施例是基于TinyMT和XSadd的轻量级密钥同步更新算法,实现通信方式长周期性、前向不可预测性、随机性等良好安全属性。同时,系统在计算效率、内存占用上有着良好的表现。TXLKS也可作为小型密码学安全随机数生成算法使用。下面以TXLKS为例进行初始化和密钥迭代更新过程。
(1)初始化阶段;
初始化阶段主要目的是选取随机数生成所需的初始值参数。选择TinyMT和XSadd作为两款轻量级随机数生成器。
TXLKS算法需要密钥同步双方预共享一对密钥key,需要保证key的机密性,不被任意第三方知晓。预共享密钥大小可更改,但至少需要保证长度不小于128位。
需要说明的是,通信双方通过协商的方式确定一个随机数nonce,nonce的长度也应该不小于128位。
本实施例还将预共享密钥、协商所得随机数串联所得(key||nonce)输入密码学安全哈希函数,经过哈希计算后得到256位哈希结果(seed1|| seed2)。
其中,||表示串联操作。分别将128位、seed1:和、seed2作为初始种子初始化TinyMT和XSadd。可以看出,本实施例通过使用轻量级密码学安全随机数密钥完成同步更新算法初始化。
(2)迭代生成序列阶段;
迭代生成随机数序列阶段需要根据X和Y构造。使用到了循环移位、加法取模运算等。方案具体流程如下:
S301:根据X和Y的当前状态迭代计算下一个输出xi和yi
S302:将xi循环左移r1位,得到
S303:将yi循环左移r2位,得到
S304:将和/>相加后对2w取模,得到的结果输出。
S305:重复步骤S301- S304四次,依次将结果串联得到更新后的128位密钥。
S103:基于轻量级密钥同步更新算法配置安全通信协议,安全通信协议支持D2C通信和D2D通信;
需要说明的是,上述步骤基于随机数的轻量级密钥同步更新算法基础上,设计适用于物联网的轻量级安全通信协议,旨在为广泛物联网设备和物联网架构提供安全通信。
基于轻量级密钥同步序列安全通信协议分为如下几个阶段:设备注册阶段、密钥序列协商阶段、加密通信阶段、密钥更新阶段。当然上述阶段协议支持D2C通信和D2D通信,为泛在物联网架构提供了通用的安全通信通道。
需要说明的是,D2C通信协议实现在轻量级密码同步算法的安全通信协议中,在系统中具有两个通信实体,一个是设备Di另一个可以是控制中心C,所以首先需要保证设备与控制中心之间构建可靠安全轻量的安全通信通道。构建安全通道的流程,主要分为密钥序列协商阶段、加密通信阶段和密钥更新阶段三个阶段。
根据本申请的实施例,在设备注册阶段,设备Di和控制中心C需要协商出一对预共享的密钥pski。预共享密钥pski仅有设备Di和控制中心C两个实体持有,不再有任意第三方可以拥有该预共享密钥。示例性的讲,徐婷可以配置相应的网络管理员,对每个物联网设备在入网时使用手动输入,或者在安全环境下明文配对预共享密钥。
完成预共享密钥协商后,对于设备Di来说,仅需保存其自身与控制中心C预共享的密钥,后续预共享密钥将加入到密钥序列的计算但并不会用于加密或在网络上传输;而对于控制中心C则需要保存所有其管辖范围内设备的预共享密钥pskj,j = 1, 2, ..., N,假设控制中心C管辖范围内设备数为N。控制中心C拥有大量设备的安全信息,控制中心C需要在安全位置,不会被敌手物理攻陷,也不会因为安全漏洞等原因遭到敌手控制,且有充足的计算资源和能源供给,包括计算性能和内存空间。
本实施例中,每个设备Di有属于自身的唯一身份标识符IDi,而控制中心也有其唯一的身份标识符IDc,身份标识符对物联网环境内实体透明公开。
在步骤S103中的密钥序列协商阶段来讲,是在构建安全通信通道之前,协商会话密钥,对数据进行加密和签名。在通信双方只有预共享密钥的前置条件的情况下,通信协商随机数nonce*,用于生成密钥序列。本实施例的系统中无论是设备D,或是控制中心C,任意一方都可以发起密钥序列协商消息。不妨假设控制中心C向设备D、发起密钥序列协商请求,此时控制中心C需要生成一个长随机数(如至少128位,16字节),将nonce*与pski}、串联后输入哈希函数中,计算得到临时密钥序列的初始化种子。
将种子输入所提的轻量级密钥同步更新算法G,迭代产生一个临时密钥
控制中心同时产生一个用于表示后续会话序号的随机数SidC,将SidC加密并签名后,将完整的协商请求数据发送给设备Di。加密结果和签名结果分别用/>表示。
其中,SYN表示密钥序列协商请求的标识符。
对于收到密钥序列协商请求的设备Di,首先根据随机数nonce*以相同的方式得到临时密钥。使用临时密钥对消息的完整性进行验证,即计算消息的签名MAC值,如果/>与/>相等,则说明消息确实发自控制中心C,既认证了消息的来源身份,也验证了消息的完整性没有遭到篡改。
设备Di如果对密钥序列协商请求认证不通过,则直接停止后续计算,丢弃消息。
如果消息认证通过,则先解密并存储Sidc,随后也产生随机数nonce**和随机数sidi,并使用nonce**和pski、经过哈希函数计算后的seed**作为输入送入G中得到第二个临时密钥使用相似的方法,产生密钥序列协商答复消息SYN_ RESP 。
其中,SYN||ACK表示密钥序列协商应答的标识符。
控制中心C在收到SYN_ RESP消息后,根据nonce**计算得到临时密钥。使用临时密钥/>计算/>。对比MAC值与/>是否相等,如果相等,则说明消息的来源合法;如果不相等则直接终止密钥序列协商。
至此,密钥序列协商一次交互已完成。通过协商过程得到两个随机数nonce*和nonce**以及两个会话序号sidC和sidi。使用异或的方式,可以得到协商后的随机数nonce。将nonce。和pski送入哈希函数得到最终的密钥序列种子seed。
将seed送入轻量级密钥同步更新算法G得到最终的密钥序列,用于产生后续安全通信所需的会话密钥。此外,对于会话序号sidC和sidi加以保存。要求会话序号sidC和sidi比起此前协商的值严格递增,避免受到重放攻击影响,否则密钥序列协商失败。
本实施例的密钥序列协商旨在协商通信迭代的密钥序列,不仅在第一次通信前须要进行密钥序列协商,还可以在密钥发生去同步的时候,协商新的密钥序列。
在步骤S103的加密通信阶段中,包括如下步骤:
在成功协商或是同步密钥序列后,控制中心C和设备Di已经拥有了会话密钥。通过会话密钥保证通信安全,需要做到对消息有效信息进行加密并对完整的消息使用MAC算法签名,以防遭到敌手篡改或伪造。
当设备Di向控制中心发送汇聚消息时,以如下方式构造发送消息:
其中,Data表示待发送的高层应用数据,Sidd则是消息序号,每次发送消息时递增,DT表示发送数据的标识符,而RN则是用于加密的初始化向量。
控制中心在收到消息Senddi,先根据标识符判断消息类型,对于数据传输类消息则依据IDi查询到当前通信会话密钥。根据会话密钥/>计算得到消息的MAC值并与消息中的Mdi进行比对,如果一致则说明消息没有被修改且来自设备Di,继续后续的解密步骤;如果不一致则丢弃数据包,停止进行后续操作。在成功验证MAC值后,控制中心C根据初始向量RN与会话密钥/>解密得到/>。此后进一步验证会话序号/>,是否严格大于记录的/>,如果相等或者小于所记录的/>,则认为是一条过期或者攻击消息,直接丢弃;否则,接收Data数据交由上层处理。
控制中心C向设备、发送消息也相仿,需要先产生用于加密的初始向量RN,使用初始向量RN和会话密钥/>样加密数据Data并进行MAC签名。与设备发送的数据不同之处在于数据包里发送方身份标识符不同以及发送的会话序号不同。
设备在收到消息/>后,如果发送方身份是控制中心C,则无需查表获取当前与控制中心的会话密钥/>,计算消息的MAC值并比对,如果不一致则认为是非法消息丢弃。对于合法消息,使用会话密钥解密得到/>,将/>与记录的会话序号相比较,如果严格大于记录的会话序号则接受数据Data并转交上层应用;否则作为非法消息丢弃。
至此,控制中心C与设备之间双向全双工安全数据通信协议如上所述。安全数据通信协议在保证数据机密和隐私安全的前提下,防止了篡改、伪造、重放等多种攻击。
在步骤S103的密钥更新阶段中,包括如下步骤:
现有技术中,基于时间或是基于消息的触发可能导致鲁棒性问题,为了保证密钥安全同步更新的同时还要保证通信协议在各种环境下的可靠性,本实施例基于协商确认的方式定期更新密钥。
控制中心在计算资源、网络资源上较为充足,如此条件下,时间校准更为频繁,相较于物联网设备有着更准确的时间精度,所以由控制中心C发起会话密钥同步更新的请求。具体请求消息如下:
其中UPD是发起密钥同步更新请求的标识。
设备在收到了请求后首先计算MAC值验证消息的完整性与身份,如果未通过完整性验证,则作为非法消息丢弃;否则,使用会话密钥/>解密消息得到会话序号。随后,验证会话序号是否严格大于记录的会话序号,如果未通过会话序号验证,则认定是过期消息或是攻击消息丢弃;否则则认定消息合法。对于合法的消息并附有标识符的密钥更新请求,设备/>使用密钥更新算法迭代更新产生新的会话密钥/>。设备/>使用新会话密钥构造密钥同步更新请求的应答:
其中,UPD||ACK是应答密钥同步更新请求的标识。
控制中心在发起密钥同步更新请求后,使用密钥同步更新算法迭代产生新的会话密钥,并临时保留前会话密钥/>。如果收到应答密钥更新请求并通过了MAC值完整性及身份验证、会话序号对消息时效验证后,控制中心确认密钥同步更新成功,则丢弃前会话密钥/>,并在后续通信中使用/>,;如果未收到应答密钥更新请求或是应答消息非合法消息,则控制中心C递增会话序号/>并基于前会话密钥/>重发密钥更新请求,直至收到合法的密钥更新应答消息。
密钥同步更新协议可有效保证密钥正确同步更新,即使遇到了设备计时不准确、设备故障、流量数据丢包等问题也不易导致密钥去同步的问题,减少了对计时器、时间精度的依赖;即使发生了密钥去同步的状况,也可通过重新协商密钥序列的方法恢复同步的状态。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本发明的一种实施例中,基于密钥同步更新算法的安全通信方法中还涉及D2D通信协议来实现数据通信,以下将给出D2D通信协议的实施例并对其具体的实施方案进行非限制性阐述。
D2D通信协议基于Needham-Schroeder协议思想,任意两个通信实体设备D。和设备D。通过可信第三方——即控制中心C——进行密钥序列参数选定和初始化。D2D通信协议与D2C通信协议主旨相仿,但在细节上稍有不同,以下是D2D通信具体过程:
(1)密钥序列参数选定及初始化;
D2D通信协议是基于轻量级密钥同步更新算法进行密钥协商与同步,但其共享密钥等参数由控制中心C分发。控制中心在与设备D。与D。成功构建安全通信通道(即已完成密钥序列协商,进入加密通信阶段)后,由设备D。或D。任意一方发起构建安全通信请求。控制中心依据权限管理对通信双方通信权限加以定夺。如果设备D。与D。具备通信许可,则由控制中心C生成共享密钥。并加密通信分别发送给设备D。与Dh。至此,密钥序列参数选定及初始化过程结束。
(2)密钥序列协商阶段;
密钥序列协商阶段与D2C通信协议中相似,由任意一方,不妨设置为发起通信请求的设备D。发起密钥序列协商请求,协商得到属于设备D。与设备D。之间的密钥序列。此阶段无需控制中心介入,但如果有需要,控制中心可以监听设备D。与设备D。之间的数据包并生成两者间的密钥序列,达到监管的目的。
(3)加密通信阶段;
加密通信阶段与D2C通信协议中加密通信协议相仿,相异之处在于消息来源的标识符不同以及会话序号不同。每一条安全通信通道都有一对独立的会话序号,在通信时不断递增。
(4)密钥更新阶段;
D2D通信协议中,密钥更新与D2C通信协议稍有不同。在D2C通信协议中,为了避免设备D、在计时上诸如不精准、影响能耗等问题,密钥更新时机由控制中心定夺。由控制中心定期发送密钥同步更新请求促使密钥更新。但在D2D通信协议中,不存在控制中心的角色,由此定义密钥更新时机由通信发起者在收发一定字节数后发起密钥更新请求。密钥同步更新请求与应答与D2C通信协议相仿,这里不再赘述。
进一步的,作为上述实施例具体实施方式的验证,下面以一个具体的实施例验证上述方法。
其中,验证方式是通过AVISPA工具形式化验证本发明所提轻量级安全通信协议的安全性。AVISPA是一个用于验证网络协议安全性的形式化工具,使用基于角色的高层协议描述语言(High Level Protocols Specification Language HLPSL)建立通信协议模型。AVISPA会将HLPSL语言翻译成中间语言(Intermediate FormatIF),再传入后端验证协议的安全性。
AVISPA需要设定待验证的安全目标,主要包含机密性和身份认证等多个部分。如下面为密钥序列协商协议在HLPSL语言下的具体表述,设定需要验证所得的临时会话密钥SK的机密性只有通信双方知晓,即只有设备D、和控制中心C;此外还需验证通过MAC值进行身份认证的安全性。
这里,经过AVISPA工具形式化验证后的结果,后端OFMC验证得到所提的轻量级安全通信协议是安全的。
在安全通信中使用AES方法加密对传输的数据进行加密。会话密钥由密钥同步更新算法产生,长度至少为128位。至今为止,没有对AES算法的有效破解手段,所以想要破解密文获得明文,需要对128位会话密钥进行暴力破解。窃听者能准确预测完整密钥的概率在(1/ 2128,以目前现有的计算能力,暴力破解128位会话密钥是难以实现的。此外,安全通信协议使用密钥序列算法定期迭代更新密钥,这使得会话密钥能时常保持新鲜,即使一次泄露密钥也不影响过去消息和未来发送消息的机密性。
本实施例的安全通信的主要计算开销汇总来说主要基于加解密处理开销、消息签名计算开销以及定期的密钥更新计算。对称加密算法的计算开销依赖于AES加密算法的计算速度,而消息签名计算开销依赖于SHA256计算速度,两款密码学计算作为常用加解密算法和哈希算法都拥有过不错的计算效率。
基于轻量级的随机数生成速度相比哈希函数、传统的密码学安全随机数生成器更快,也就意味着在计算开销上代价更小。虽然基于轻量级的随机数生成器在效率上不及双精度浮点的Logistic映射,但在密钥长度、序列的更新上具有更强的安全属性。综合来说,基于轻量级密钥序列更新算法使得安全通信协议在保证安个性的前提下节省计算资源。
本发明提供的基于密钥同步更新算法的安全通信方法是结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的本发明提供的基于密钥同步更新算法的安全通信方法可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据基于密钥同步更新算法的安全通信方法公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的索引方法。
在本发明的实施例中,基于密钥同步更新算法的安全通信方法可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于密钥同步更新算法的安全通信方法,其特征在于,方法包括:
S101:配置TinyMT轻量级随机数生成器和XSadd轻量级随机数生成器;
S102:基于TinyMT轻量级随机数生成器或XSadd轻量级随机数生成器生成轻量级密钥同步更新算法;
S103:基于轻量级密钥同步更新算法配置安全通信协议,安全通信协议支持D2C通信和D2D通信;配置安全通信协议包括:设备注册阶段、密钥序列协商阶段、加密通信阶段、密钥更新阶段。
2.根据权利要求1所述的基于密钥同步更新算法的安全通信方法,其特征在于,步骤S102还包括:
S201:基于TinyMT轻量级随机数生成器和XSadd轻量级随机数生成器选取随机数序列,并生成初始值参数;
S202:迭代生成的随机数序列,并基于X和Y构造循环移位及加法取模运算模型。
3.根据权利要求2所述的基于密钥同步更新算法的安全通信方法,其特征在于,步骤S202还包括:
S301:根据X和Y的当前状态迭代计算下一个输出xi和yi
S302:将xi循环左移r1位,得到
S303:将yi循环左移r2位,得到
S304:将和/>相加后对2w取模,得到的结果输出;
S305:重复执行步骤S301- S304四次,依次将结果串联得到更新后的128位密钥。
4.根据权利要求1所述的基于密钥同步更新算法的安全通信方法,其特征在于,S103的设备注册阶段包括:
在设备Di和控制中心C协商出一对预共享的密钥pski
完成预共享密钥协商后,设备Di保存其自身与控制中心C预共享的密钥,后续预共享密钥将加入到密钥序列的计算;
控制中心C保存所有其管辖范围内设备Di的预共享密钥pskj,j = 1, 2, ..., N;
设控制中心C管辖范围内设备数为N;
每个设备Di具有唯一身份标识符IDi
控制中心具有唯一的身份标识符IDc
5.根据权利要求1所述的基于密钥同步更新算法的安全通信方法,其特征在于,步骤S103的密钥序列协商阶段包括:
控制中心C向设备Di发起密钥序列协商请求,控制中心C生成一个长随机数,将nonce*与pski、串联后输入哈希函数中,计算得到临时密钥序列的初始化种子;
将种子输入所提的轻量级密钥同步更新算法G,迭代产生一个临时密钥
控制中心C配置一用于表示后续会话序号的随机数SidC,将SidC加密并签名后,将协商请求数据发送给设备Di;加密结果和签名结果分别用/>和/>表示;
其中,SYN表示密钥序列协商请求的标识符。
6.根据权利要求5所述的基于密钥同步更新算法的安全通信方法,其特征在于,
设备Di收到密钥序列协商请求后,根据随机数nonce*得到临时密钥
使用临时密钥对消息的完整性进行验证,即计算消息的签名MAC值,如果/>与/>相等,则说明消息确实发自控制中心C,既认证了消息的来源身份;
设备Di如果对密钥序列协商请求认证不通过,则停止后续计算,丢弃消息;
如果消息认证通过,则先解密并存储Sidc,随后产生随机数nonce**和随机数sidi,并使用nonce**和pski、经过哈希函数计算后的seed**作为输入送入G中得到第二个临时密钥产生密钥序列协商答复消息SYN_ RESP ;
其中,SYN||ACK表示密钥序列协商应答的标识符;
控制中心C在收到SYN_ RESP消息后,根据nonce**计算得到临时密钥;使用临时密钥/>计算/>;对比MAC值/>与/>是否相等,如果相等,则说明消息的来源合法;如果不相等则直接终止密钥序列协商。
7.根据权利要求1或2所述的基于密钥同步更新算法的安全通信方法,其特征在于,步骤S103的加密通信阶段包括:
在成功协商或是同步密钥序列后,控制中心C和设备Di分别具有会话密钥
当设备Di向控制中心发送汇聚消息时,以如下方式构造发送消息:
其中,Data表示待发送的高层应用数据,Sidd则是消息序号,每次发送消息时递增,DT表示发送数据的标识符, RN是用于加密的初始化向量;
控制中心在收到消息Senddi,先根据标识符判断消息类型,对于数据传输类消息则依据IDi查询到当前通信会话密钥;根据会话密钥/>计算得到消息的MAC值并与消息中的Mdi进行比对,如果一致则说明消息没有被修改且来自设备Di,继续后续的解密步骤;如果不一致则丢弃数据包,停止进行后续操作。
8.根据权利要求7所述的基于密钥同步更新算法的安全通信方法,其特征在于,控制中心C向设备发送消息用于加密的初始向量RN,使用初始向量RN和会话密钥/>样加密数据Data并进行MAC签名;
设备在收到消息/>后,如果发送方身份是控制中心C,则无需查表获取当前与控制中心的会话密钥/>,计算消息的MAC值并比对,如果不一致则认为是非法消息丢弃;对于合法消息,使用会话密钥解密得到/>,将/>与记录的会话序号相比较,如果大于记录的会话序号,则接受数据并转交上层应用;否则作为非法消息丢弃。
9.根据权利要求1或2所述的基于密钥同步更新算法的安全通信方法,其特征在于,S103的密钥更新阶段包括:
由控制中心C发起会话密钥同步更新的请求,具体请求消息如下:
其中,UPD是发起密钥同步更新请求的标识;
设备在收到了请求后,首先计算MAC值验证消息的完整性与身份,如果未通过完整性验证,则作为非法消息丢弃;否则,使用会话密钥/>解密消息得到会话序号;
对于合法的消息并附有标识符的密钥更新请求,设备使用密钥更新算法迭代更新产生新的会话密钥/>
设备使用新会话密钥/>构造密钥同步更新请求的应答:
其中,UPD||ACK是应答密钥同步更新请求的标识。
10.根据权利要求9所述的基于密钥同步更新算法的安全通信方法,其特征在于,
控制中心在发起密钥同步更新请求后,使用密钥同步更新算法迭代产生新的会话密钥,并临时保留前会话密钥/>;如果收到应答密钥更新请求并通过了MAC值完整性及身份验证、会话序号对消息时效验证后,控制中心确认密钥同步更新成功,则丢弃前会话密钥/>,并在后续通信中使用/>
如果未收到应答密钥更新请求或是应答消息非合法消息,则控制中心C递增会话序号并基于前会话密钥/>重发密钥更新请求,直至收到合法的密钥更新应答消息。
CN202311351710.4A 2023-10-18 2023-10-18 一种基于密钥同步更新算法的安全通信方法 Pending CN117527302A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311351710.4A CN117527302A (zh) 2023-10-18 2023-10-18 一种基于密钥同步更新算法的安全通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311351710.4A CN117527302A (zh) 2023-10-18 2023-10-18 一种基于密钥同步更新算法的安全通信方法

Publications (1)

Publication Number Publication Date
CN117527302A true CN117527302A (zh) 2024-02-06

Family

ID=89759596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311351710.4A Pending CN117527302A (zh) 2023-10-18 2023-10-18 一种基于密钥同步更新算法的安全通信方法

Country Status (1)

Country Link
CN (1) CN117527302A (zh)

Similar Documents

Publication Publication Date Title
US11451614B2 (en) Cloud authenticated offline file sharing
US10218499B1 (en) System and method for secure communications between controllers in a vehicle network
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
JP5815294B2 (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
CN112887978B (zh) Wsn中的匿名身份认证与密钥协商协议
JP2013539248A (ja) 通信ネットワークにおける安全なノード承認
JP2022537733A (ja) 認証付き鍵共有
US20200195446A1 (en) System and method for ensuring forward & backward secrecy using physically unclonable functions
CN108599926B (zh) 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法
US10630466B1 (en) Apparatus and method for exchanging cryptographic information with reduced overhead and latency
WO2013056502A1 (zh) 一种智能家庭系统的分级混合加密方法及装置
Noh et al. Secure authentication and four-way handshake scheme for protected individual communication in public wi-fi networks
US20220417015A1 (en) Key update method and related apparatus
CN104303450A (zh) 密码密钥的确定
CN110999202A (zh) 用于对数据进行高度安全、高速加密和传输的计算机实现的系统和方法
Wang et al. Provably secure and efficient identification and key agreement protocol with user anonymity
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
US20220345298A1 (en) Systems and methods for providing signatureless, confidential and authentication of data during handshake for classical and quantum computing environments
Castiglione et al. An efficient and transparent one-time authentication protocol with non-interactive key scheduling and update
Paul et al. Hybrid OPC UA: enabling post-quantum security for the industrial internet of things
Ding et al. A lightweight and secure communication protocol for the IoT environment
CN113383530B (zh) 用于在网络中传输数据的方法、计算机可读存储介质和系统
Agosta et al. Cyber-security analysis and evaluation for smart home management solutions
KR20210126319A (ko) 키 관리 장치 및 방법
KR102539418B1 (ko) Puf 기반 상호 인증 장치 및 방법

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