张晓辉,王首媛,慕江林(.中讯邮电咨询设计院有限公司成都分公司,四川 成都 60000;.中讯邮电咨询设计院有限公司,北京 00048)
物联网有着无数的终端设备、复杂的信息通信渠道、庞大的数据存储与处理中心。相对于互联网,物联网的终端有可移动化、微型化、海量化的特征,其传输通道涉及有线网络和无线网络,物联网的体系结构中呈现出可编程、可通信、智能化、网络化的特点,因此物联网面临特殊的安全挑战[1]。
本文基于CLA 无证书密码技术和TLS 传输层安全协议,提出物联网设备认证和安全通信技术方案。该方案重点解决物联网通信过程中设备身份认证困难和数字证书传输成本过高等问题。
该方案采用CLA 无证书密码技术为物联网设备生成数字身份,将CLA 无证书认证技术集成到TLS 传输层安全协议,基于国密SM2、SM3 和SM4 算法,形成CLA 无证书密码套件。采用TLS握手过程进行设备身份认证和密钥协商,物联网设备通过TLS 加密通道进行安全通信。
当前物联网大多采用传统的PKI/CA 证书体制,采用X.509 证书格式,在IoT 物联网平台注册私有CA 证书,在设备侧绑定设备证书,通过TLS中的RSA算法套件等进行设备认证和通信。
部分物联网设备采用基于标识的认证体制,例如部署基于国密SM9 的基础密码设施,在应用层部署SM9 密钥中心,在设备侧部署SM9 私钥。通过SM9 数字签名算法实现设备认证。
基于数字证书的PKI/CA 是目前广泛使用的公钥密码体制,由可信的证书权威机构(CA)为每个用户签发一个公钥证书。公钥证书包括了用户的身份信息、用户的公钥和CA 的签名。在PKI/CA 中,证书的格式一般采用X.509 格式,这种格式的证书一般具有1~2 KB 的数据长度。在证书中至少应包含用户名称、CA名称、证书有效期、用户公钥、CA对上述信息的签名等几项内容。
物联网中使用PKI/CA体制具有如下缺点。
a)CA 证书字节数过多,证书在传输和存储的过程中需要占用大量的网络带宽和存储资源,不适合存储空间和网络宽带受限的物联网设备。
b)CA 证书管理复杂,对于海量物联网设备,证书的颁发、存储和撤销等过程开销巨大。
对于使用标识认证的物联网设备,由于存在密钥托管问题,用户签名不具有唯一性和不可否认性,另外还存在密钥撤销更换困难等问题。
TLS 协议由握手协议、更改密码规范协议、警告协议和记录协议组成[3]。其中握手协议的目的是建立安全的数据传输信道,更改密码规范协议规定了更改密码规范的具体标准,警告协议规定了协议如何处理通信错误的情况,记录协议用于进行数据传输。
TLS通信过程如图1所示。
图1 TLS通信
TLS 协议能够提供认证、机密性、完整性、重放保护等安全功能,是应用最广泛的安全通信协议。当前互联网和物联网都广泛采用CA 搭配TLS 协议进行身份认证和加密通信。
在CLA 无证书公钥密码体制中,由于用户密钥是由用户和KGC 共同生成的,所以不存在密钥托管问题,能够保证用户签名的唯一性和不可否认性。
以256 bit 的CLA 的无证书密码体制为例,在用户标识不超过32 B 时,签名与用户标识及部分公钥的总长度不超过128 B,远小于1~2 KB 的CA 证书,能够有效降低存储空间和传输带宽需求。
CLA 无证书密码技术可以采用国密SM2 椭圆曲线参数,使用国密标准定义的数字签名算法进行身份认证。
基于CLA 的物联网设备管控系统作为物联网设备的身份管理中心,负责审核实体合法性,为物联网设备提供无证书公钥密码体制的密钥及密钥标识生成、密钥及密钥标识管理、密钥标识发布和密钥状态管理,提供密钥生存周期全过程的安全管理和维护。主要功能如图2所示。
图2 无证书物联网设备管控系统组成结构图
a)物联网身份管理系统(IDM)。物联网身份管理系统主要负责审核物联网设备身份的合法性,维护物联网实体身份状态,提供注册、挂失、注销和恢复等服务。
b)CLA 密钥管理系统(KMS)。密钥管理系统负责生成和保存系统主密钥,负责利用CLA 密钥算法为物联网设备生成部分密钥。
c)物联网设备实体。物联网设备实体可以是网络上的服务器、打印机、路由器、网卡、个人计算机、移动终端、货物和商品等。实体的密钥载体可以为带SM2 算法的密码机、密码卡、PSAM 卡、TF 卡(SD 卡)、电子标签或云密码等。
在无证书公钥密码体制中,公钥被分成2个部分,一部分由设备自己生成,另一部分由系统公钥从用户ID 导出。在计算设备实际公钥时,实际上是对系统私钥签名的验证,自动隐含了对设备公钥的认证。
在TLS 通信协议中集成CLA 无证书认证,主要改造在握手协议阶段。按照国密标准,签名验签和加密解密使用2 组密钥。使用国密SM2 算法进行签名验签、加密解密,在TLS 中进行身份认证和密钥交换;使用国密SM4 算法作为对称加密算法,在TLS 中构造加密通信隧道;使用国密SM3 算法作为消息验证的MAC算法,保障TLS 信息完整性;形成基于国密SM2 的CLA-SM4-SM3加密套件。TLS无证书认证过程如下。
a)客户端使用签名私钥对数据进行签名,拼接客户端公钥标识,发送ClientHello消息给服务端。
b)服务端使用系统CLA 公钥和客户端公钥标识计算客户端实际公钥,使用实际公钥验证客户端签名,验证通过则说明客户端身份合法。
c)服务端使用签名私钥对数据进行签名,拼接服务端公钥标识,发送ServerHello消息给端客户。
d)客户端使用系统CLA 公钥和服务端公钥标识计算服务端实际公钥,使用实际公钥验证服务端签名,验证通过则说明服务端身份合法。
e)双向身份认证通过,进行消息加密通信。
通过在TLS握手认证阶段集成CLA无证书认证技术,实现了物联网设备通信时的双向设备身份认证,同时保障了设备间通信的安全性和不可否认性。
通过无证书物联网设备管控平台和无证书TLS协议,物联网设备间可以进行身份认证和加密通信,设备初始化及通信过程如图3所示。
图3 无证书物联网设备管控与无证书TLS通信
a)物联网设备生成设备公私钥,提交设备相关信息和公钥信息到无证书物联网设备管控平台申请设备注册。
b)平台验证物联网设备合法性,通过后将通过系统密钥和设备公钥利用CLA 算法生成部分公私钥,用数字密码信封保护发送给设备。
c)物联网设备使用自身密钥和密码信封内容生成设备数字身份信息,设备初始化过程完成。
d)设备和设备之间通过无证书TLS 协议进行通信。在TLS 握手过程中进行设备的双向认证,若认证通过则进行消息加密通信,认证失败则断开连接。
将CLA无证书密码技术和无证书TLS传输协议结合,替换传统CA 和TLS 传输协议架构,在保障物联网安全的前提下实现了物联网的高效通信。物联网设备对私钥具有完全自主权,对公钥具有自证性;签名具有不可否认性并可即时验证;密钥可撤销和更换;能够适应大型复杂、用户数量众多且分布广泛的物联网环境,降低了物联网通信的负载和设备的能耗。综上,该方案应用在物联网安全通信领域优势明显。