基于SM2的物联网安全签名方案Secure signature solution of IoT based on SM2
马 建
(中铁信弘远(北京)软件科技有限责任公司 高级工程师,北京 100038)
*摘 要:为了减少物联网中的数字签名方案的计算开销,保护敏感签名内容,在分析物联网的安全需求的基础上,基于SM2算法,提出物联网安全数字签名方案。通过使用高效安全的对称加密算法,保证了签名内容的机密性;使用椭圆曲线进行构造,提高了方案的计算效率,可以满足物联网环境中轻量化要求。分析表明,该方案具有消息的保密性、完整性、抗否认性和抗伪造型等特点。关键词:物联网;安全;SM2;数字签名;隐私保护
0 引言
物联网(IoT)是由相互连接的物体、服务、人员和设备构成的集合,可以实现不同领域的信息交互及数据共享。物联网有很多应用领域,从个体环境到企业环境[]。近年来,由于射频识别(RFID)和无线传感器网络(WSN)技术的进步,物联网得到飞速发展。虽然物联网给人们生活带了了便利,但与传统的互联网系统类似,各种安全攻击随之而来,严重影响了物联网发展和人们的隐私安全。
本文首先分析物联网的安全需求,然后介绍了构造基础SM2数字签名方案,并给出了安全数字签名的具体构造,最后进行了安全性分析。
1
两大类:结构性挑战和安全性挑战[]。结构性挑战源于物联网自身的异构性和泛在性,安全性挑战与系统的原理、功能相关,其基本目标就是利用强制机制构建安全网络。解决结构性挑战通常需要考虑无线通信、可扩展性、能量和分布结构等因素,而解决安全挑战则需要考虑身份验证、机密性、端到端安全性、完整性等问题,安全机制必须强制贯穿于从系统开发到运营的全生命周期[]。
常见的安全需求包括:所有物联网设备上运行的软件须经过授权;在开启IoT设备进行数据收集和发送前,网络必须对其对进行身份验证;由于物联网设备计算与存储资源受限,有必要使用防火墙网络以过滤定向到设备的数据包;物联网设备的更新和补丁应为以不增加额外带宽消耗的方式安装。
总体而言,物联网的安全需求包括以下几个方面。1)机密性
确保数据安全且仅可供授权用户使用。在物联网中,用户可以是人、机器、服务、内部对象(网络中的设备)和外部对象(非网络中的设备)。例如,必须确
3
2
1 相关基础
1.1 物联网安全需求
物联网的基本安全目标包括通用网络系统中的机密性,完整性和可用性。然而,物联网由于设备的异构性、计算和通信资源受限等问题,也使其具有通用系统不一样的安全问题。物联网面临的安全挑战可大致分为
*课题来源:中国铁路信息科技有限责任公司科技研究开发计划重点课题(2018B02)。作者简介:
马建:高级工程师。
www.eepw.com.cn 2020.3
27
Design & Application设计应用
基金攻关项目
4
保传感器不会将其收集到的数据透露给附近节点[]。另
保存。
●
一个考虑的机密性问题是如何管理数据,重要的是物联网用户要意识到数据管理机制应用于过程或人员管理,确保数据全程受到保护。
2)完整性
由于物联网基于许多不同设备之间交换数据,因此必须确保数据的准确性;数据是来自正确的发件人,并确保数据在传输中未被篡改数据,或被有意、无意地干扰。虽然可以通过使用防火墙和协议来管理数据流量,但由于物联网节点计算和通信资源受限,并不能保证端点的安全性,所以必须考虑其他机制以实现完整性。
3)可用性
物联网的愿景是连接尽可能多的智能设备,以实现物联网用户所有数据随时可用。但是,数据不是物联网的唯一部分,设备和相关服务必须也可以在需要时随时访问。支持可用性的方法既可能需要使用容错机制等通用办法,也需要考虑基于密码学的机制。
4)可认证性
物联网中的每个对象都应该能够被其他对象识别和鉴别,但由于物联网自身的特性使得识别和鉴别具有挑战性,这其中会涉及到设备、人、服务提供商等多种类型的实体,设计的鉴别机制需要兼容异构系统的各种实体类型。此外,也需要考虑到有时对象可能需要与其他事先没有共享信息的实体进行交互等特殊场景[]。
5)轻量化
除了常规的安全目标,考虑到物联网节点通常为资源受限设备,所以轻量化也是设计安全机制需要考虑的因素。因此,在设计和实现相应的加密、认证、完整性验证等协议或算法时,要尽可能使用计算资源消耗较小的方案,直接将传统的安全方案套用在物联网中并不可取。
6
[5]
签名生成
,计算
3) 签名者选取随机数
。
4) 计算
,其中 m 是
待签名的消息,Hash为单向哈希函数;若 r= 0 或r+ k=q,则重新选取随机数k。
5) 计算 ;若s= 0,
则重新选取随机数k;否则,将r, s作为签名结果。
●
签名验证
6) 验证者接收到m和r,s后,先检查是否满足
且;然后计算7) 计算 ;判断r与
是否相等,若二者相等则签名验证通过,否则验证失败。
2 基于SM2的物联网安全签名方案
假定物联网中的某节点A需要对消息m进行签名,然后发给另一节点B验证。同时,消息m内容属于敏感信息,因此m不能透露给第三方。传输的网络为非安全网络,因此传输过程中可能存在各种类型的攻击者,方案的系统模型如图1所示。
1.2 SM2数字签密算法
SM2数字签名算法[7]包括密钥产生、签名生成、签名验证3个算法:
●
密钥产生
;
图1 物联网安全签名方案系统模型
1) 随机选取秘密d ,2) 计算 为了实现可以保护消息内容的签名,本文设计了基于SM2数字签名方案。在方案中,除了物联网节点外,
, 并将 P 作为公钥公开,d 作为私钥
28
ELECTRONIC ENGINEERING & PRODUCT WORLD 2020.3
责任编辑:毛烁
还有1个可信第三方——密钥生成中心(KGC),主要负责注册维护各个节点的公钥,物联网中的所有节点在加入系统时首先向KGC提交公钥和其他必要信息进行注册。本方案的算法基于SM2数字签名算法进行构造,因此与SM2数字签名算法类似,包括系统初始化、密钥生成、签名生成、签名验证4个步骤,具体如下。
1)系统初始化
首先选择1个大于160位的大素数p,然后选择一条椭圆曲线y=x3+ax+b(4a3+27b2≠0mod p),选择阶为n的基点(生成元)G。选择1个安全的对称加密算法,如SM4,为描述方便起见,本方案中简写为E,对应的解密算法为D。选择一个安全的hash函数,如SM3,本方案中简记为H。
2)密钥生成A随机选择作为其私钥,并计算其公
3 方案分析
1) 完整性
由于在本方案中使用了安全哈希函数H,如果消息m在加密过程中损坏,或者在签名传输过程中Cm遭到损坏,那么验证者B计算出的m1与m不相同,根据哈希函数的抗碰撞原理,得出的哈希值必然不同,进而导致r与r1不相等,签名验证无法通过。因此,本方案的完整性得到保证。
2) 机密性
本方案的主要目标就是保证签名内容的机密性,即除了设定的验证者B外的其他任何实体,都无法获知σ中的签名消息m。事实上,若攻击者通过σ来推断其对应的消息m,最直接的方式就是通过破解Cm来推导 m,但本方案中采用的是如SM4等安全对称加密算法,因此,攻击者的无法在有效时间内推导出加密内容m。
3) 不可否认性
如果A试图对其关于m的签名σ进行否认,由于本方案中基于SM2签名方案进行构造,因此本方案能够满足存在性不可伪造特性,除了A以外的任何人都不可能伪造出另一个与m不同的消息m*,使其签名为σ。因此,A不能对其生成的关于m的签名σ进行否认。据此,本方案实现了不可否认性。
4) 轻量化
本签名方案基于SM2数字签名方案进行构造,而SM2数字签名方案基于安全椭圆曲线实现。众所周知,椭圆曲线密码具有极高的计算效率,在椭圆曲线密码算法中使用160位的密钥,即可获得相当于RSA中的1 024位密钥的安全强度。因此,本方案具有轻量级特点,适用于物联网环境。
钥PA=dAG;B随机选择dB∈[1,q−1]作为其私钥,并计算其公钥PB=dBG。然后,A和B分别在KGC中进行注册。
3)签名生成
设待签名的消息为m,A将对其进行签名并发送给B进行验证。
A随机选择kG=(x1,y1)=VkP=(xe,ye)BCm=Exe(m)=rH(m)+x1 mod qs=(1+dA)−1(k−rdA)mod q
则关于消息m的签名为σ={Cm,r,s},A将σ发送给B
4)签名验证
B收到σ后,首先分别计算R=(x,y)=sG+(r+s)PA (x,y)=dBR m=Dx1(Cm)
e
,然后分别计算4 结论
本文在分析物联网的安全需求的基础上,考虑到物联网环境中节点计算与通信资源受限、节点动态变化等特点,基于SM2算法构造了一种安全数字签名方案。方案利用高效安全的对称加密算法保证签名内容的机密性,基于SM2的签名保证了方案的高效性,因此,本方案完全适用于物联网环境下对敏感内
(下转第39页)
11
1
e1e
1
=rH(m)+x
11
1
1
判断r与r1是否相等,如果相等则接受该签名。
www.eepw.com.cn 2020.3
29
责任编辑:毛烁
2.2 整车热平衡仿真分析
3 结论
本文是一种新能源汽车的热管理进行了详细功能划分并提出设计思想,并经过仿真验证初步达到设计目的。为了详细验证系统控制策略,奇瑞新能源公司试装了一台MuleCar用于测试验证,并结合实测数据对控制策略进行修改和完善,目前车辆已经能够达到试乘试驾水平,证明控制策略在实际运用中具有较强的可行性。
参考文献:
[1] LI Y,ANG K H,YHONG G C,Patents,software and hardware for PID control:an overview and analysis of the current art[J].IEEE control Systems Magazine,2006,26(1).[2] 余志生.汽车理论[M].北京:机械工业出版社,2003.
[3] 陈清泉.现代电动汽车技术[M].北京:北京理工大学出版社, 2002.
[4] 先进PID控制MATLAB仿真[M].北京:电子工业出版社,2011.
图7 模拟工况及温度设定
(上接第29页)容进行数字签名的安全需求。
参考文献:
[1] SAMIE F, BAUER L, HENKEL J. IoT technologies for embedded computing: A survey[C].Proceedings of the Eleventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. ACM, 2016: 8.
[2] MAHALLE P N, ANGGOROJATI B, PRASAD N R, et al. Identity authentication and capability based access control (iacac) for the internet of things. J. of Cyber Security and Mobility, 2013,1:309-348.
[3] LEO M, BATTISTI F, CARLI M, et al. A federated architecture approach for Internet of Things security[C].Euro Med Telco Conference (EMTC),1-5,2014.
[4] FAROOQ M, WASEEM M, KHAIRI A, et al. A Critical Analysis on the Security Concerns of Internet of Things (IoT). Perception, vol. 111, 2015.
[5] KHAN M A, SALAH K. IoT security: Review, blockchain solutions, and open challenges[J]. Future Generation Computer Systems, 2018,(82):395-411. [6] ROMAN R, ZHOU J, LOPEZ J. On the features and challenges of security and privacy in distributed internet of things.ComputerNetworks, 2013,57:2266-2279.
[7] 尚铭,马原,林璟锵,等. SM2椭圆曲线门限密码算法[J]. 密码学报, 2014, 1(2):155–166.
图8 驱动系统仿真系统图
图9 仿真结果
www.eepw.com.cn 2020.3
39
因篇幅问题不能全部显示,请点此查看更多更全内容