一种物联网系统多级身份认证方法
技术领域
本发明涉及物联网信息安全技术领域,具体而言涉及一种物联网系统多级身份认证方法。
背景技术
物联网是数字经济的基石,物联网安全关系到国家数字基础设施的安全。面对大规模设备接入和复杂多样的部署环境,物联网安全问题日益凸显。受制于物联网设备有限的资源,传统互联网安全解决方案难以适用,因此,探索轻量、灵活、兼容性强的安全方案,保证物联网数据传输的安全可信成为了当务之急。
现有认证机制基于面向PC设备、移动设备的安全协议,使用最广泛的为PKI(Public Key Infrastructure)机制。PKI机制中,系统需建设有公信力的CA中心鉴定用户身份,并为用户签发数字证书,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书)。为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。证书的交换、验证、撤销等操作有着较大的开销,虽然PKI机制可以提供较为完备的认证方式,但其不适用于资源受限的设备。
除此之外,还有较为简单的基于口令的认证技术,口令认证为账号密码方式,在物联网应用中,通常将系统生成的账号密码信息提前预置到物联网设备中。当需要物联网连接时,通过验证账号密码的正确性来确定物联网设备或用户的合法性。这种技术的优点是简单易用,但是其安全性较低,存在账号密码容易被窃听或者重放攻击的危险,一般通过强化口令的复杂性来增强其安全性,适用于带宽、算力极其受限的设备。
对于异构网络环境、设备标准不统一、资源受限的物联网设备,难以通过单一的认证方式进行设备身份的验证。
为了解决以上问题,研究人员提出了几种可能的解决方案。
Dongxing Li等人提出了一种基于区块链的物联网身份认证方案,参见【D.Li,W.Peng,W.Deng and F.Gai,"A Blockchain-Based Authentication and SecurityMechanism for IoT,"2018 27th International Conference on ComputerCommunication and Networks(ICCCN),2018,pp.1-6,doi:10.1109/ICCCN.2018.8487449.】,利用区块链技术作为物联网设备的安全防篡改分布式账本,来实现去中心化的相互认证机制。在设备入网注册阶段提交其ID及固件信息以散列的形式存储在每一个区块链节点中,并和周围临近节点结合成为共识节点,在连接阶段由共识节点对其ID及固件信息进行验证,在运行阶段节点的固件变化信息其他节点会随时更新。这个方案节省了验证时与服务端通信的开销,但对于大规模物联网系统设备频繁的接入与登出需要耗费大量算力进行验证,并且对于资源更加有限的终端设备来说,在算力、带宽和能源消耗方面难以达到要求。
李俊等人提出了一种利用FIDO技术的物联网设备身份认证的办法,参见【李俊,柴海新.基于FIDO技术的物联网身份认证解决方案[J].信息安全研究,2021,7(04):358-366.】,通过将身份认证手段和身份认证协议解耦合,以密码技术为基础,将密钥作为用户凭证,使用FIDO服务器的鉴别器预置的鉴证密钥和公钥产生签名,并由FIDO服务器使用证书链进行验签以完成身份认证。这种方式需要专门的FIDO服务器,并且相比传统的CA机构在权威性方面存在问题。
张明明等人提出了一种利用设备固有的物理指纹进行物联网设备身份认证的方法,参见【专利号:CN112272094A】,该发明提出一种基于PUF和CPK算法的物联网设备身份认证方法,通过基于PUF物理不可克隆函数获取物联网设备的挑战和响应,并利用物联网设备的挑战、响应和预生成的设备标识ID构建设备指纹库,同时利用CPK加密算法和设备标识ID生成物联网设备的公私钥,通过设备指纹库和公私钥对物联网设备进行双重的认证。这种方式充分考虑了性能较低的物联网设备,同时兼顾了多种设备之间的兼容性,但基于PUF的认证技术所产生的CRP对其节点数量呈线性关系,存在被破解的可能,因此在安全性方面难以满足要求。
肖建,龙长春等人提出了一种基于标识密码算法的物联网认证方法,参见【专利号:CN112039918A】,通过在物联网系统中部署IBC基础设施,以设备具有唯一性的标识信息作为设备公钥,并由密钥生成中心为其生成私钥。这种方式的好处是节省了频繁交换、验证证书的开销,可以轻量地实现对物联网设备的认证,但设备标识长度不足,对于安全需求较低的设备可以满足,但对于安全需求高的设备,依然存在安全隐患。
发明内容
本发明针对现有技术中的不足,提供一种物联网系统多级身份认证方法,提出了基于一种“端-管-云”协同的认证机制,覆盖了典型物联网系统的高层服务部分、物联网基础设施部分、汇聚设备部分和终端设备部分。结合物联网结构特点设计了基于设备层级、网络环境和通信协议的认证指标并根据指标对系统内不同设备采取组合的方法进行认证,组合方法依赖物联网系统应用层部署的身份认证基础设施,提供包括证书密码服务、标识密码服务、口令密码服务、哈希密码服务,这种机制可以为物联网系统异构网络环境下的不同功能、不同层级的设备提供统一的接口以匹配相应认证方式,解决单一认证方案难以处理的问题。
为实现上述目的,本发明采用以下技术方案:
本发明实施例提出了一种物联网系统多级身份认证方法,所述认证方法包括以下步骤:
S1:根据物联网系统中不同设备所处的网络环境和使用的底层通信协议,设计基于设备层级、网络环境、通信协议的决策指标,该决策指标用以评价设备所面临的安全威胁,采用三元组表示结果,根据评价结果将设备进行分级;
S2:在物联网系统应用层部署用于身份认证的认证基础设施,部署范围包括服务端和汇聚设备端,由服务端对汇聚设备和端点汇聚的终端设备进行认证,由汇聚设备对现场汇聚的终端设备进行认证;认证基础设施面向设备提供统一的代理接口,并提供包括证书密码、动态安全码、标识密码、口令密码、哈希密码在内的各项认证服务;
S3,由认证基础设施为不同级别的设备匹配不同的认证方式或者认证方式组合;面向设备提供的统一的代理接口包括注册接口和认证接口;认证过程包括接入认证和传输认证。
可选地,在注册阶段,设备发送的注册请求数据包至少包含设备层级、网络环境和通信协议,由认证基础设施存储至安全数据库,并为设备匹配认证方式,下发认证所需相关数据,包括证书、密钥、口令。
可选地,采用三元组表示结果,根据评价结果将设备进行分级的过程包括以下步骤:
采用三元组(a,b,c)表示物联网设备的安全威胁等级,其中a表示设备层级,b表示网络环境,c表示设备通信协议;
基于三种指标,对于布置在现场需要进行寻址、地址转换、终端设备认证的汇聚设备,不考虑其网络环境和通信协议,按照组合方法库中的最高等级方法进行身份认证;对于局域网接入的终端设备,由服务端授权的现场汇聚设备对其进行认证,不考虑其通信协议;对于广域网接入并在服务端实现端点汇聚的终端设备,结合其具体通信协议选择具体方法。
可选地,所述认证基础设施包括PKI公钥基础设施、IBE标识密码设施、口令生成与验证设施、哈希密码生成与验证设施;其中PKI设施的核心包括为设备颁发证书的CA中心以及存储数字证书的证书库,IBE设施的核心包括为设备生成私钥的PKG密钥生成中心与设备注册机构RA。
可选地,步骤S3中,由认证基础设施为不同级别的设备匹配不同的认证方式或者认证方式组合包括以下步骤:
对于布置在现场需要进行寻址、地址转换、终端设备认证的汇聚设备,不考虑其网络环境和通信协议,使用证书密码和动态安全码进行认证,其中证书密码用于加密信道保证通信安全,动态安全码用于设备的可信认证;
对于终端设备,依据网络环境和通信协议将其分为3类:1类终端设备通过局域网,经现场汇聚设备接入系统,对其使用哈希密码的方法进行身份认证;2类终端设备通过蜂窝网络接入系统,在服务端进行端点汇聚,对其使用口令密码的方法进行身份认证;3类终端设备通过非蜂窝LPWAN接入系统,在服务端进行端点汇聚,对其使用标识密码的方法进行身份认证。
可选地,对于证书密码,使用动态安全码作为证书加密之外的二级认证,以保证设备可信;在设备初始化、重启、断网重连、安全码验证失败的情况下,由边缘侧发起不可仿冒的安全码,以一次一密、链式哈希的形式在整个通信过程中保证设备可信;安全码以上一次通信使用的安全码为基础,提取本次所传输数据内容哈希得到,传输数据的提取规则在接入阶段协商得到,由设备和认证方共享,并由认证方定时更新提取规则。
可选地,对于采用证书密码和动态安全码进行认证的设备,其在数据传输过程中的身份认证过程包括以下步骤:
在设备接入阶段,通过公钥加密信道,并完成会话密钥和安全码生成规则的协商,由设备生成初始安全码C0并传输至认证端;
在通信过程中,安全码Ci以上一次成功传输所使用的安全码Ci-1为基础,截取本次所传输数据的明文的固定位数进行哈希得到,安全码由通信双方中的发送方生成,随待传输数据经会话密钥加密的信道至接收方,并留存本次所使用安全码用于后续校验,接收方收到消息后,根据预定的安全码生成方案对明文进行截取同时提取安全码,将截取到的明文与本地存储的上一次成功通信的安全码混合进行哈希得到Ci’,将其与Ci进行比对,若一致,则认证通过;若不一致,则断开连接;
其中,安全码生成方案在设备接入阶段生成,由设备和认证端共享;认证端主动向设备推送安全规则以更新安全码生成方案,包括截取明文的位数、起始位、步长,还包括截取的明文与安全码的混合方式和所使用的哈希算法。
可选地,对于采用标识密码进行信道加密和身份认证的设备,其身份认证过程包括以下步骤:
S31:采用在物联网应用层部署的认证基础设施为设备进行密钥的签发、更新、撤销工作,并生成自身的主密钥Master和公共参数params;
S32:设备在注册阶段提交其硬件及硬件信息,由PKG密钥生成中心根据主密钥Master和公共参数params为其生成私钥,并取其具有唯一性的信息作为公钥,私钥的传输由主密钥Master加密的信道进行传输;
S33:设备接入首先以明文的方式发送请求信息,服务部分收到请求后返回一个随机数,设备使用自身私钥加密随机数并将其发送给服务部分,服务部分根据其对应的公钥验证信息,若通过,则接入成功;若不通过,则拒绝其接入请求。
可选地,对于采用口令完成身份认证的设备,其身份认证过程包括以下步骤:
S41:通过人工的方式在设备和服务部分内置相同的向量x,向量x的元素个数为1024;
S42:初始口令T0由设备生成,设备首先生成随机数r,r%1024为索引i,在向量中查找与索引i对应的值value,将value与上一次成功通信的口令Ti-1进行字符串拼接得到s,对s使用MD5算法进行Hash得到本次通信的口令Ti,将其与明文消息一起发送,并附带索引值i,留存口令用作后续校验。
S42:接收方收到消息提取口令值Ti与向量索引,将上一次成功通信的口令Ti-1与索引对应的向量x中的值做字符串拼接,进行Hash得到Ti’,将Ti与Ti’进行比对,若一致,则设备可信;若不一致,则断开连接,由设备再次进行初始口令的生成。
可选地,对于验证硬件Hash完成身份认证的设备,其身份认证过程包括以下步骤:
S51:设备注册入网,提交硬件及硬件信息,网关记录其ID及MAC地址,对ID及MAC地址进行字符串拼接后使用MD5算法进行Hash得到身份验证信息,并存储至安全数据库中用作后续接入验证。
S52:设备请求连接,提交硬件及硬件信息,服务部分对先前选择用于验证的信息进行Hash,并与存储的相应值进行比对,若一致,则认证通过;若不一致,则拒绝其连接请求。
本发明的有益效果是:
本发明公开了一种物联网系统多级身份认证方法,该认证方法针对异构网络环境下物联网设备的有效身份认证问题,设计了基于设备层级、网络环境、通信协议的决策指标,提出了适应于异构网络环境的分级认证策略。通过在物联网系统应用层部署认证基础设施,为异构环境下的设备提供统一的接口来完成设备的注册和认证。此外,针对证书密码体制,设计了基于共享规则的动态安全码,用于设备的可信认证。认证过程包括接入认证和传输认证,认证对象包括汇聚设备和终端设备。在接入认证中,对于现场汇聚设备和端点汇聚的终端设备,由服务端对其进行认证;对于现场汇聚的终端设备,由汇聚设备对其进行认证。本发明为物联网安全传输与可信认证提供了一种参考方法。
附图说明
图1是本发明实施例的物联网系统多级身份认证方法的原理图
图2是其中一种多级设备例子的验证原理图。
图3是本发明实施例的现场汇聚的终端设备的系统结构图。
图4是本发明实施例的在服务部分进行端点汇聚的终端设备系统结构图。
图5是本发明实施例的使用证书安全码进行认证的流程图。
图6是本发明实施例的使用标识密码进行认证的流程示意图。
图7是本发明实施例的使用口令进行认证的流程示意图。
图8是本发明实施例的使用硬件Hash进行认证的流程示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
图1是本发明实施例的物联网系统多级身份认证方法的原理图。该认证方法针对典型的通用物联网系统进行实施,包括高层服务部分、物联网基础服务部分、设备汇聚部分、终端设备部分。其中,虚拟设备服务、设备交互服务和服务端南向接口构成物联网基础服务部分;终端设备实现端点汇聚功能,在现场提供和接受传感执行数据;汇聚设备按一组终端设备的共性集中处理其通信交互中所需的寻址、地址转换、可信认证功能,设备汇聚的共性包括地理位置的相同、设备属主的相同、可调用底层通信协议的相同,以及上述共性的组合而形成的更加复杂的汇聚。设备汇聚功能的实现有两种形式:在服务端实现的设备汇聚功能,对于通过广域网络直接接入系统的,在服务端部署汇聚模块,将这类设备接入基础服务系统;在网络边缘或现场设备的汇聚设备,即网关设备,面对南向,网关可以实现与使用不同通信协议的终端设备交互,这种交互通过接口代理机制实现;面对北向,网关使用统一的接口协议,实现与服务端的交互,这些交互包括数据的交互和管理维护控制的交互。
参见图1,该认证方法包括以下步骤:
S1:根据物联网系统中不同设备所处的网络环境和使用的底层通信协议,设计基于设备层级、网络环境、通信协议的决策指标,该决策指标用以评价设备所面临的安全威胁,采用三元组表示结果,根据评价结果将设备进行分级。
S2:在物联网系统应用层部署用于身份认证的认证基础设施,部署范围包括服务端和汇聚设备端,由服务端对汇聚设备和端点汇聚的终端设备进行认证,由汇聚设备对现场汇聚的终端设备进行认证;认证基础设施面向设备提供统一的代理接口,并提供包括证书密码、动态安全码、标识密码、口令密码、哈希密码在内的各项认证服务。
S3,由认证基础设施为不同级别的设备匹配不同的认证方式或者认证方式组合;面向设备提供的统一的代理接口包括注册接口和认证接口;认证过程包括接入认证和传输认证。
可选地,采用三元组表示结果,根据评价结果将设备分为1至4级,不同级别的设备匹配不同的认证方式或者认证方式组合的过程包括以下步骤:
采用三元组(a,b,c)表示物联网设备的安全威胁等级,其中a表示设备层级,b表示网络环境,c表示设备通信协议。
基于三种指标,对于布置在现场需要进行寻址、地址转换、终端设备认证的汇聚设备,不考虑其网络环境和通信协议,按照组合方法库中的最高等级方法进行身份认证;对于局域网接入的终端设备,由服务端授权的现场汇聚设备对其进行认证,不考虑其通信协议;对于广域网接入并在服务端实现端点汇聚的终端设备,结合其具体通信协议选择具体方法。
图2是其中一种多级设备例子的验证原理图。对于设备安全威胁等级的三元组,按照其a、b、c三类指标划分,在本实施例中,将设备分为1至4级。
(一)1类设备,包括1类终端设备和1类网关设备。
1类终端设备:通过ModBus、ZigBee、蓝牙、WiFi接入,需要经过应用层通信适配,在现场汇聚,硬件信息Hash认证。图3是本发明实施例的现场汇聚的终端设备的系统结构图。
1类网关设备:通过ModBus、ZigBee、蓝牙、WiFi接入,证书密码及安全码认证。
对于1级设备,即通过局域网、广域网、有线网络接入的网关设备,使用证书密码绑定设备身份和加密信道,以防止截获和解码,使用安全码完成设备的可信认证。参见图5,具体包括:
S21:在物联网应用层部署公钥基础设施,设备生成自身公钥与私钥,提交CA机构,CA机构验证后为设备颁发证书,完成身份与公钥的绑定。
S22:在设备接入握手阶段,通过公钥加密信道,完成会话密钥和安全码生成规则的协商,并由设备生成初始安全码C0传输至服务部分,传输过程依赖会话密钥加密,由安全码完成设备身份的可信认证。
S23:传输过程中的安全码Ci=f(Ci-1,x),其中x为截取的部分待传输的明文,截取明文从第i位开始,按照步长m截取s位,针对明文长度不够以及i及t*m>L的情况,令it=(i0+t*m)%L,对明文长度L取模从明文头部补齐s位,并将其与上一次成功通信的安全码Ci-1进行字符串拼接得到新的字符串S,使用MD5、SHA1算法得到128位Hash,截取其第j位开始的64位作为本次通信的安全码Ci,同时保存Ci用以接受消息的验证。
S24:接收方收到消息后,提取数据帧中的安全码和明文,按照上述规则将其上一次通信的安全码混合进行Hash得到Ci’,将其与接受到消息的安全码Ci进行比对,若一致,则认证通过;若不一致,则断开连接。
示例性地,认证基础设施包括认证机构CA、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口API。
具体的,向量x的内容、截取明文的起始位i、步长m、位数t、Hash码截取位数j为设备接入的握手阶段协商内容,设备每次接入安全码生成规则不同,生成的安全码以“一次一码”的形式,在通信的全过程保证设备身份可信;安全码生成规则的必须在加密信道传输,除入网注册、断网重连、设备重启、安全码认证失败之外,还必须限制安全码生成规则的工作时限,当同一安全码生成规则超出限定时间后,需要由设备端发起新的生成规则,并通过会话密钥加密的信道实现安全传输。
(二)2类设备,包括2类终端设备和2类网关设备。
2类终端设备:通过GPRS、GSM、CMDA、CMDA2000、WCDMA、TD-LTE、FDD-LTE、NB-IoT接入,不需要经过应用层通信适配,在高层服务部分实现端点汇聚,口令认证。图4是本发明实施例的在服务部分进行端点汇聚的终端设备系统结构图。
2类网关设备:通过GPRS、GSM、CMDA、CMDA2000、WCDMA、TD-LTE、FDD-LTE、NB-IoT接入,证书密码认证。
对于2级设备,即使用LoRa接入系统的终端设备,使用标识密码完成信道加密和身份认证。参见图6,认证过程具体包括:
S31:在物联网应用层部署IBC基础设施为设备进行密钥的签发、更新、撤销工作,并生成自身的主密钥Master和公共参数params。
S32:设备在注册阶段提交其硬件及硬件信息,由PKG密钥生成中心根据主密钥Master和公共参数params为其生成私钥,并取其具有唯一性的信息作为公钥,私钥的传输由主密钥Master加密的信道进行传输。
S33:设备接入首先以明文的方式发送请求信息,服务部分收到请求后返回一个随机数,设备使用自身私钥加密随机数并将其发送给服务部分,服务部分根据其对应的公钥验证信息,若通过,则接入成功;若不通过,则拒绝其接入请求。
(三)3类设备,包括3类终端设备和3类网关设备。
3类终端设备:通过LoRa接入,不需要经过应用层通信适配,在高层服务部分实现端点汇聚,标识密码认证。
3类网关设备:通过有线网络接入,证书密码认证。
对于3级设备,即使用GPRS、GSM、CMDA、CMDA2000、WCDMA、TD-LTE、FDD-LTE、NB-IoT接入系统的终端设备,使用口令完成身份认证。参见图7,认证过程具体包括:
S41:通过人工的方式在设备和服务部分内置相同的向量x,向量x的元素个数为1024;
S42:初始口令T0由设备生成,设备首先生成随机数r,r%1024为索引i,在向量中查找与索引i对应的值value,将value与上一次成功通信的口令Ti-1进行字符串拼接得到s,对s使用MD5算法进行Hash得到本次通信的口令Ti,将其与明文消息一起发送,并附带索引值i,留存口令用作后续校验。
S42:接收方收到消息提取口令值Ti与向量索引,将上一次成功通信的口令Ti-1与索引对应的向量x中的值做字符串拼接,进行Hash得到Ti’,将Ti与Ti’进行比对,若一致,则设备可信;若不一致,则断开连接,由设备再次进行初始口令的生成。
(四)4级设备
对于4级设备,即通过局域网接入系统的终端设备,使用验证其硬件Hash来完成身份认证。Hash算法包括MD5、SHA1、SHA256。参见图8,认证过程具体包括:
S51:设备注册入网,提交硬件及硬件信息,网关记录其ID及MAC地址,对ID及MAC地址进行字符串拼接后使用MD5算法进行Hash得到身份验证信息,并存储至安全数据库中用作后续接入验证。
S52:设备请求连接,提交硬件及硬件信息,服务部分对先前选择用于验证的信息进行Hash,并与存储的相应值进行比对,若一致,则认证通过;若不一致,则拒绝其连接请求。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。