基于SM 2的物联网安全签名方案

文章正文
发布时间:2024-08-11 10:08

马  建 (中铁信弘远(北京)软件科技有限责任公司 高级工程师,北京 100038)

本文引用地址:https://www.eepw.com.cn/article/202003/410482.htm

摘  要:为了减少物联网中的数字签名方案的计算开销,保护敏感签名内容,在分析物联网的安全需求的基础 上,基于SM2算法,提出物联网安全数字签名方案。通过使用高效安全的对称加密算法,保证了签名内容的机 密性;使用椭圆曲线进行构造,提高了方案的计算效率,可以满足物联网环境中轻量化要求。分析表明,该方 案具有消息的保密性、完整性、抗否认性和抗伪造型等特点。 

关键词:物联网;安全;SM2;数字签名;隐私保护

0  引言 

物联网(IoT)是由相互连接的物体、服务、人员 和设备构成的集合,可以实现不同领域的信息交互及数 据共享。物联网有很多应用领域,从个体环境到企业环 境[1]。近年来,由于射频识别(RFID)和无线传感器网 络(WSN)技术的进步,物联网得到飞速发展。虽然 物联网给人们生活带了了便利,但与传统的互联网系统 类似,各种安全攻击随之而来,严重影响了物联网发展 和人们的隐私安全。 

本文首先分析物联网的安全需求,然后介绍了构造 基础SM2数字签名方案,并给出了安全数字签名的具体 构造,最后进行了安全性分析。

1  相关基础 

1.1 物联网安全需求 

物联网的基本安全目标包括通用网络系统中的机密 性,完整性和可用性。然而,物联网由于设备的异构 性、计算和通信资源受限等问题,也使其具有通用系统 不一样的安全问题。物联网面临的安全挑战可大致分为两大类:结构性挑战和安全性挑战[2]。结构性挑战源于 物联网自身的异构性和泛在性,安全性挑战与系统的原 理、功能相关,其基本目标就是利用强制机制构建安全 网络。解决结构性挑战通常需要考虑无线通信、可扩展 性、能量和分布结构等因素,而解决安全挑战则需要考 虑身份验证、机密性、端到端安全性、完整性等问题, 安全机制必须强制贯穿于从系统开发到运营的全生命周 期[3]。 

常见的安全需求包括:所有物联网设备上运行的 软件须经过授权;在开启IoT设备进行数据收集和发送 前,网络必须对其对进行身份验证;由于物联网设备计 算与存储资源受限,有必要使用防火墙网络以过滤定向 到设备的数据包;物联网设备的更新和补丁应为以不增 加额外带宽消耗的方式安装。 

总体而言,物联网的安全需求包括以下几个方面。 

1)机密性 

确保数据安全且仅可供授权用户使用。在物联网 中,用户可以是人、机器、服务、内部对象(网络中的 设备)和外部对象(非网络中的设备)。例如,必须确保传感器不会将其收集到的数据透露给附近节点[4]。另 一个考虑的机密性问题是如何管理数据,重要的是物联 网用户要意识到数据管理机制应用于过程或人员管理, 确保数据全程受到保护[5]。 

2)完整性 

由于物联网基于许多不同设备之间交换数据,因此 必须确保数据的准确性;数据是来自正确的发件人,并 确保数据在传输中未被篡改数据,或被有意、无意地干 扰。虽然可以通过使用防火墙和协议来管理数据流量, 但由于物联网节点计算和通信资源受限,并不能保证端 点的安全性,所以必须考虑其他机制以实现完整性。 

3)可用性 

物联网的愿景是连接尽可能多的智能设备,以实现 物联网用户所有数据随时可用。但是,数据不是物联网 的唯一部分,设备和相关服务必须也可以在需要时随时 访问。支持可用性的方法既可能需要使用容错机制等通 用办法,也需要考虑基于密码学的机制。 

4)可认证性 

物联网中的每个对象都应该能够被其他对象识别和 鉴别,但由于物联网自身的特性使得识别和鉴别具有挑 战性,这其中会涉及到设备、人、服务提供商等多种类 型的实体,设计的鉴别机制需要兼容异构系统的各种实 体类型。此外,也需要考虑到有时对象可能需要与其他 事先没有共享信息的实体进行交互等特殊场景[6]。 

5)轻量化 

除了常规的安全目标,考虑到物联网节点通常为资 源受限设备,所以轻量化也是设计安全机制需要考虑 的因素。因此,在设计和实现相应的加密、认证、完整 性验证等协议或算法时,要尽可能使用计算资源消耗较 小的方案,直接将传统的安全方案套用在物联网中并不 可取。 

1.2 SM2数字签密算法 

SM2数字签名算法[7]包括密钥产生、签名生成、签 名验证3个算法: 

● 密钥产生 

1) 随机选取秘密d 

微信截图_20200306145411.png

; 

2) 计算 , 并将 P=dG 作为公钥公开,d 作为私钥保存。 

● 签名生成 

3) 签名者选取随机数

微信截图_20200306145452.png

,计算

微信截图_20200306145500.png


4) 计算

微信截图_20200306145532.png

,其中 m 是 待签名的消息,Hash为单向哈希函数;若 r= 0 或r+ k=q,则重新选取随机数k。 

5) 计算

微信截图_20200306145618.png

;若s= 0, 则重新选取随机数k;否则,将r, s作为签名结果。 

● 签名验证 

6) 验证者接收到m和r,s后,先检查是否满足

微信截图_20200306145701.png

然后计算

7) 计算

微信截图_20200306145719.png

判断r与是否相等,若二者相等则签名验证通过,否则验证失败。

2  基于SM2的物联网安全签名方案 

假定物联网中的某节点A需要对消息m进行签名, 然后发给另一节点B验证。同时,消息m内容属于敏感 信息,因此m不能透露给第三方。传输的网络为非安全 网络,因此传输过程中可能存在各种类型的攻击者,方 案的系统模型如图1所示。

微信截图_20200306150432.jpg

为了实现可以保护消息内容的签名,本文设计了基 于SM2数字签名方案。在方案中,除了物联网节点外,还有1个可信第三方——密钥生成中心(KGC),主要负 责注册维护各个节点的公钥,物联网中的所有节点在加 入系统时首先向KGC提交公钥和其他必要信息进行注 册。本方案的算法基于SM2数字签名算法进行构造,因 此与SM2数字签名算法类似,包括系统初始化、密钥生 成、签名生成、签名验证4个步骤,具体如下。 

1)系统初始化 

首先选择1个大于160位的大素数p,然后选择一条 椭圆曲线

微信截图_20200306145832.png

,选择阶为 n的基点(生成元)G。选择1个安全的对称加密算法,如 SM4,为描述方便起见,本方案中简写为E,对应的解 密算法为D。选择一个安全的hash函数,如SM3,本方 案中简记为H。 

2)密钥生成 

A随机选择

微信截图_20200306145901.png

作为其私钥,并计算其公钥PA=dAG;B随机选择

微信截图_20200306145957.png

作为其私钥,并 计算其公钥PB=dBG。然后,A和B分别在KGC中进行 注册。 

3)签名生成 

设待签名的消息为m,A将对其进行签名并发送给B 进行验证。 

A随机选择

微信截图_20200306150038.png

,然后分别计算 

微信截图_20200306150111.png

则关于消息m的签名为

微信截图_20200306150134.png

,A将 σ 发送 给B。 

4)签名验证 

B收到 σ 后,首先分别计算

微信截图_20200306150211.png

判断r与r1是否相等,如果相等则接受该签名。

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 位密钥的安全强度。因此,本方案具有轻量级特点,适 用于物联网环境。

4  结论 

本文在分析物联网的安全需求的基础上,考虑到物 联网环境中节点计算与通信资源受限、节点动态变化等 特点,基于SM2算法构造了一种安全数字签名方案。方 案利用高效安全的对称加密算法保证签名内容的机密 性,基于SM2的签名保证了方案的高效性,因此,本方 案完全适用于物联网环境下对敏感内容进行数字签名的安全需求。

参考文献: 

[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),15,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:22662279. 

[7] 尚铭,马原,林璟锵,等. SM2椭圆曲 线门限密码算法[J]. 密码学报, 2014, 1(2):155–166.

本文来源于科技期刊《电子产品世界》2020年第03期第27页,欢迎您写论文时引用,并注明出处。

首页
评论
分享
Top