CN114398602B - 一种基于边缘计算的物联网终端身份认证方法 - Google Patents

一种基于边缘计算的物联网终端身份认证方法 Download PDF

Info

Publication number
CN114398602B
CN114398602B CN202210028568.9A CN202210028568A CN114398602B CN 114398602 B CN114398602 B CN 114398602B CN 202210028568 A CN202210028568 A CN 202210028568A CN 114398602 B CN114398602 B CN 114398602B
Authority
CN
China
Prior art keywords
terminal
key
edge
internet
things
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.)
Active
Application number
CN202210028568.9A
Other languages
English (en)
Other versions
CN114398602A (zh
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.)
Xinlian Technology Nanjing Co ltd
National Computer Network and Information Security Management Center
Original Assignee
Xinlian Technology Nanjing Co ltd
National Computer Network and Information Security Management Center
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 Xinlian Technology Nanjing Co ltd, National Computer Network and Information Security Management Center filed Critical Xinlian Technology Nanjing Co ltd
Priority to CN202210028568.9A priority Critical patent/CN114398602B/zh
Publication of CN114398602A publication Critical patent/CN114398602A/zh
Application granted granted Critical
Publication of CN114398602B publication Critical patent/CN114398602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种基于边缘计算的物联网终端身份认证方法,针对“云‑边‑端”一体化物联网架构,提出基于SM9标识的密钥管理方法,解决海量物联网终端的密钥分发和管理问题,并在PKI支撑下,设计适用于边缘计算环境的一体化物联网身份认证方案,实现了边缘计算环境下大规模物联网终端的高效接入认证、以及跨域认证,包括边缘设备终端和云中心终端之间双向认证方法、边缘设备终端间双向认证及信任列表建立方法、物联网终端接入认证方法、物联网终端跨域认证,有效提高了一体化物联网架构下认证的安全性。

Description

一种基于边缘计算的物联网终端身份认证方法
技术领域
本发明涉及一种基于边缘计算的物联网终端身份认证方法,属于网络认证技术领域。
背景技术
物联网通过无线通信技术将各种各样的对象连接起来,并允许这些对象之间通信和交换数据,这些对象设备的互联实现了先进的物联网应用,例如产品跟踪、环境监测、能源管理。由于越来越多的智能设备运行过程中产生了海量的信息,需要相应与之匹配的计算能力和网络带宽来保证服务的正常提供。由于核心网处理数据量有限,大概有45%的数据需要在网络边缘侧进行本地化计算处理。
通过在网络边缘侧集中可用的计算、存储和网络资源,引入了边缘计算使服务更接近终端用户。边缘计算作为新的计算模式,是一种分布式的计算基础设施,这种模式利用一个或多个物联网设备或靠近用户侧的边缘设备协同执行大量的通信、控制、存储和管理。通过边缘设备和终端设备之间的连接,一方面减轻了资源受限设备处理负担,另一方面本地化处理提供更低的时延,降低了核心网传输数据量,提高业务运行性能。
边缘计算在为用户带来便利的同时也会带来一定的安全问题,例如在边缘计算环境下,传统的“云-端”网络架构演变为“云-边-端”一体化架构,边缘设备需要向云端认证自己的身份,同时又为海量物联网终端提供认证服务,边缘计算环境下终端数据规模大,移动性强,层次复杂,多种安全域并存,新的特性使得现有云计算环境下的身份认证协议不再适用。
边缘计算的安全和信息泄露威胁是影响边缘计算发展的重要挑战之一,国内外针对边缘计算安全威胁均开展了不同程度的研究,比如在SDN网络下提出一种针对边缘物联网体系结构的可行攻击模型,并展示该攻击造成的严重后果,详细研究分析边缘计算的安全威胁及挑战,包括网络基础设施、边缘数据中心、虚拟化设备的安全威胁,以探索在不同边缘范式(包括雾计算、移动边缘计算、移动云计算)研究方面潜在的协同效应和协同场景。通过研究雾计算的架构和特点,明确边缘计算环境下物联网应用的安全与物联网设备秘密信息保护要求,并提出如何利用现有方法,保障边缘计算环境下物联网应用程序的基本安全目标。
针对边缘计算环境下的物联网终端身份认证问题,目前的研究主要围绕以下几个问题开展:1、如何在分布式边缘计算环境下实现物联网终端的数据安全防护;2、如何在多信任域共存的情况下解决各实体间的身份认证问题;3、多信任域的访问控制问题。
已有的研究主要集中在云计算架构,例如基于用户生物指纹的认证方法、基于ECC算法的认证方案、基于安全密钥生成和交换的可信身份解决方案等。边缘计算环境下物联网终端信息保护问题,已有的研究主要包括:提出针对边缘计算的数据保护模型,模型基于区域信任感知和感知角色访问控制;使用分布式缓存推送实现物联网终端位置信息保护等。目前的研究多数是在比较高的层次去分析存在的安全威胁而未能提出相应的解决方案,现有的集中在边缘和终端侧,利用边缘设备的计算能力为物联网终端执行复杂的操作,而没有在“云-边-端”一体化架构下提出边缘计算环境下统一的物联网终端身份认证解决方案。
边缘计算作为一种新的计算模式,将云计算的部分计算迁移到本地,实现针对物联网终端的本地化服务,网络架构的改变使得传统的认证模型不再适用。公钥基础设施PKI为网络应用程序提供了一整套的安全基础设施,但是直接将PKI应用到边缘计算环境下的物联网认证中会存在很多问题,尤其当物联网终端数量庞大时,对证书的维护存储以及用户密钥对的备份恢复带来了很大的压力。
发明内容
本发明所要解决的技术问题是提供一种基于边缘计算的物联网终端身份认证方法,基于SM9标识的密钥管理方法,结合PKI支撑,实现了边缘计算环境下大规模物联网终端的高效接入认证及跨域认证。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于边缘计算的物联网终端身份认证方法,针对各物联网终端分别对接各边缘设备终端、各边缘设备终端分别对接云中心终端的一体化物联网络,基于SM9密码算法系统,各物联网终端、各边缘设备终端、以及云中心终端分别所属厂商PKG,分别按如下步骤i1至步骤i4,获得各厂商PKG分别所对应的签名主私钥ks、签名主公钥Ppub-s、加密主私钥ke、加密主公钥Ppub-e
然后各物联网终端、各边缘设备终端、以及云中心终端分别按如下步骤ii1至步骤ii4,由其所属厂商PKG获得各终端分别所对应的签名私钥、签名公钥、加密私钥、加密公钥,并进一步实现边缘设备终端和云中心终端之间双向认证方法、边缘设备终端间双向认证及信任列表建立方法、物联网终端接入认证方法、物联网终端跨域认证;
步骤i1.基于SM9密码算法系统中曲线阶的素因子N所对应[1,N-1]范围,随机选择两个彼此互不相等的参数ks、ke,构成厂商PKG所对应的签名主私钥ks、加密主私钥ke,然后进入步骤i2;
步骤i2.根据SM9密码算法系统中N阶循环子群G2的生成元P2,计算N阶循环子群G2中的元素Ppub-s=ks·P2,构成厂商PKG所对应的签名主公钥Ppub-s;同时根据SM9密码算法系统中N阶循环子群G1的生成元P1,计算N阶循环子群G1中的元素Ppub-e=ke·P1,构成厂商PKG所对应的加密主公钥Ppub-e,然后进入步骤i3;
步骤i3.由签名主私钥ks中选择一个字节标识,构成厂商PKG所对应的签名主私钥函数标识符hids,以及由加密主私钥ke中选择一个字节标识,构成厂商PKG所对应的加密主私钥函数标识符hide,然后进入步骤i4;
步骤i4.厂商PKG针对其所对应的签名主私钥ks、加密主私钥ke进行保存,并对其所对应的签名主公钥Ppub-s、加密主公钥Ppub-e、签名主私钥函数标识符hids、加密主私钥函数标识符hide进行全网广播;
步骤ii1.终端向其所属厂商PKG进行身份注册,由厂商PKG按预设映射规则分配该终端所对应的身份标识IDA,然后进入步骤ii2;
步骤ii2.厂商PKG根据该终端的身份标识IDA,在有限域FN上按如下计算:
t1=Hash(IDA||hids,N)+ks
获得t1,并判断t1的值是否等于0,是则判定厂商PKG所对应的签名主私钥ks失效,重新执行步骤i1至步骤i4,并通知一体化物联网络中的各终端分别更新其对应的私钥;否则厂商PKG根据其对应的签名主私钥ks,按如下公式:
获得该终端所对应的签名私钥dA,发送至该终端进行保存,然后进入步骤ii3;
步骤ii3.厂商PKG根据其对应的加密主私钥ke,按如下公式:
获得该终端所对应的加密私钥eA,发送至该终端进行保存,然后进入步骤ii4;
步骤ii4.由厂商PKG所对应的签名主公钥Ppub-s、加密主公钥Ppub-e,构成该终端所对应的签名公钥、加密公钥。
作为本发明的一种优选技术方案:所述边缘设备终端和云中心终端之间双向认证方法,针对边缘设备终端接入到云中心终端时,基于证书认证机制PKI,按如下步骤A1至步骤A5实现;
步骤A1.边缘设备终端按如下方式,应用其签名私钥SKE,针对其身份标识IDE、云中心终端的身份标识IDC、以及一次性随机数N1所构建的消息进行签名,并结合该边缘设备终端的证书PEME,发送至云中心终端,然后进入步骤A2;
IDE→IDC:SKE(N1||IDE||IDC)||PEME
步骤A2.云中心终端通过所接收该边缘设备终端的证书PEME,验证该边缘设备终端身份的合法性,并产生一个随机数rC、以及产生返回消息随机数N2,按如下方式,应用该边缘设备终端的加密公钥PKE,针对G*rC所构消息进行加密,并结合该边缘设备终端身份标识IDE、云中心终端的身份标识IDC、N1、N2构建消息,再由云中心终端的签名私钥SKC进行签名,结合云中心终端的证书PEMC,返回给该边缘设备终端,然后进入步骤A3;
IDC→IDE:SKC(N2||N1||IDE||IDC||PKE(G*rC))||PEMC
步骤A3.该边缘设备终端通过所接收云中心终端的证书PEMC,验证云中心终端身份的合法性,并通过KE-C=G*rC*rE,获得边缘设备终端与云中心终端之间的会话密钥KE-C,再按如下方式,应用云中心终端的加密公钥PKC,针对G*rE所构消息进行加密,结合该边缘设备终端身份标识IDE、N2构建消息,再由云中心终端的加密公钥PKC进行加密,最后结合KE-C、以及预设挑战值N3,发送至云中心终端,然后进入步骤A4;
IDE→IDC:PKC(N2||IDE||PKC(G*rE))||KE-C(N3)
步骤A4.云中心终端应用其加密私钥对步骤A3中来自该边缘设备终端的消息进行解密,获得其中的G*rE,并结合rC,按KE-C=G*rC*rE,计算获得边缘设备终端与云中心终端之间的会话密钥KE-C,再应用KE-C针对步骤A3中来自该边缘设备终端的消息进行解密,获得N3,并按如下方式,结合N2构建消息,由KE-C针对该消息进行加密,返回该边缘设备终端,然后进入步骤A5;
IDC→IDE:KE-C(N2||N3)
步骤A5.该边缘设备终端应用KE-C针对步骤A4中来自云中心终端的消息进行解密,即完成该边缘设备终端与云中心终端之间基于证书认证机制PKI的双向认证和密钥协商。
作为本发明的一种优选技术方案:所述边缘设备终端间双向认证及信任列表建立方法,基于各边缘设备终端分别周期性广播其身份标识,各边缘设备终端按如下步骤B1至步骤B7执行;
步骤B1.边缘设备终端针对来自其他边缘设备终端的身份标识广播进行检查,并针对属于相同厂商PKG、且不存在于信任列表中的其他边缘设备终端,由该边缘设备终端根据该其他边缘设备终端的身份标识IDE2,按如下公式:
QE2=Hash(IDE2||hide,N)P1+Ppub-e
获得群QE2,并由[1,N-1]的范围获得随机数rE1,再按如下公式:
RE1=rE1*QE2
获得密钥协商信息RE1,最后由该边缘设备终端根据其签名私钥,基于SM9签名算法,计算消息的数字签名(h,s),并按下方式:
IDE1→IDE2:authReq||N1||IDE1||IDE2||RE1||h|||s
构建认证请求包,由边缘设备终端发送至该其他边缘设备终端,IDE1表示该边缘设备终端的身份标识,N1表示一次性随机数,authReq表示边缘设备认证请求包的消息标识;然后进入步骤B2;
步骤B2.该其他边缘设备终端接收到认证请求包后,首先根据消息标识authReq判断消息类型,并基于SM9验签算法验证该边缘设备终端的身份是否合法,是则判定验证通过,该其他边缘设备终端将其身份标识添加到自己的认证列表中,并进入步骤B3;否则判定验证失败,直接丢弃该认证请求包,并向该边缘设备终端返回认证不通过信息;
步骤B3.该其他边缘设备终端根据所接收认证请求包中的IDE1、RE1,并按如下公式:
QE1=Hash(IDE1||hide,N)P1+Ppub-e
计算获得群QE1,并由[1,N-1]的范围获得随机数rE2,再按如下公式:
RE2=rE2*QE1
获得密钥协商信息RE2,并结合RE1,按如下公式:
计算获得参数g1,g2,g3,,其中,e表示SM9密码算法系统中从G1×G2到Gr的双向性对,并通过SM9标识密码算法提供的密钥派生函数KDF,按如下公式:
SKE2=KDF(IDE1||IDE2||RE1||RE2||g1||g2||g3||,keylen)
计算获得边缘设备终端间会话密钥SKE2,其中,keylen表示密钥长度,同时按如下公式:
SE2=Hash(0x82||g1||Hash(g2||g3||IDE1||IDE2||RE1||RE2))
计算获得哈希值选项SE2,最后由该其他边缘设备终端按下方式:
IDE2→IDE1:authReq||N1||N2||IDE2||IDE1||RE2||SE2||h|||s
构建消息并进行签名,构成相应的认证请求响应包返回给该边缘设备终端,其中,authResp表示边缘设备认证请求响应包的消息标识,然后进入步骤B4;
步骤B4.该边缘设备终端接收认证请求响应包,并根据SM9标识密码验签算法对认证请求响应包的数字签名进行验证,完成该边缘设备终端与该其他边缘设备终端之间的相互认证,然后进入步骤B5;
步骤B5.该边缘设备终端根据SM9密钥协商算法,根据所接收到的RE2,按如下公式:
计算获得参数g'1,g'2,g'3,并通过密钥派生函数KDF,按如下公式:
SKE1=KDF(IDE1||IDE2||RE1||RE2||g'1||g'2||g'3,keylen)
计算获得共享密钥SKE1,并保存,然后按如下公式:
SA1=Hash(0x82||g'1||Hash(g'2||g'3||IDE1||IDE2||RE1||RE2))
SE1=Hash(0x83||g'1||Hash(g'2||g'3||IDE1||IDE2||RE1||RE2))
计算获得密钥确认值SA1与SE1,并判断SA1与SE1是否相等,是则表示该其他边缘设备终端到该边缘设备终端的密钥确认成功,并进入步骤B6,否则表示该其他边缘设备终端到该边缘设备终端的密钥确认失败;
步骤B6.该边缘设备终端按如下方式
IDE1→IDE2:authAck||N2||N3||IDE1||SE1
构建密钥协商确认包,并发送至该其他边缘设备终端,其中,authAck表示密钥协商确认包的消息标识,然后进入步骤B7;
步骤B7.该其他边缘设备终端接收密钥协商确认包后,按如下公式:
SA2=Hash(0x83||g1||Hash(g2||g3||IDE1||IDE2||RE1||RE2))
计算获得密钥确认值SA2,并判断SA2与SE1是否相等,是则表示密钥确认成功,完成边缘设备终端间的认证及密钥协商;否则表示密钥确认失败。
作为本发明的一种优选技术方案:所述物联网终端接入认证方法,包括如下步骤C1至步骤C3;
步骤C1.物联网终端根据SM9签名算法,使用其私钥签名计算消息的数字签名(h,s),并由该物联网终端结合其身份标识IDd1、其所属边缘设备终端的身份标识IDE1、以及一次性随机数N1,按如下方式:
IDd1→IDE1:AccessReq||N1||IDd1||IDE1||h||s
构建终端接入认证请求包,并发送至所属的边缘设备终端,其中,AccessReq表示终端接入认证请求包的消息标识,然后进入步骤C2;
步骤C2.该边缘设备终端接收终端接入认证请求包后,应用SM9标识密码验签算法对终端接入认证请求包的数字签名进行验证,在签名验证通过后,该边缘设备终端将其身份标识添加到自己的认证列表中,同时,该边缘设备终端首先由[1,N-1]的范围获得随机数r,并按如下公式:
QD=[Hash(IDd1||hide,N)]P1+Ppub-e
计算获得参数QD,并按Cipher=[r]QD,计算获得参数Cipher,进一步按如下公式,结合密钥派生函数KDF,
Key=KDF(Cipher||e(Ppub-e,P2)r||IDD,keylen)
计算获得和该物联网终端之间的共享密钥Key,并保存至本地,其中,Cipher表示封装密文,keylen表示密钥长度,最后该边缘设备终端按如下方式:
IDE1→IDd1:AcessRsp||IDE1||Cipher||h||s
构建接入请求响应包,并发送至该物联网终端,其中,AcessRsp表示接入请求响应包的消息标识;然后进入步骤C3;
步骤C3.该物联网终端接收接入请求响应包后,通过该边缘设备终端的身份标识和数字签名,对该边缘设备终端的身份进行验证,若验证通过后,针对所接收到的封装密文Cipher进行解析,获取响应的密钥,若验证不通过,直接丢弃该接入请求响应包,并向该边缘设备终端返回认证不通过信息;并进一步判断封装密文Cipher是否不属于SM9密码算法系统中N阶循环子群G1中的元素,是则直接输出错误,否则按如下公式:
w′=e(Cipher,ded1)
计算获得参数w',其中,ded1表示该物联网终端的加密私钥,并通过SM9密码算法系统中的转换算法,按如下公式:
Key=KDF(Cipher||w'||IDd1,keylen)
计算获得共享密钥Key,并保存于该物联网终端本地,keylen表示密钥长度,最后,该物联网终端按如下方式:
IDd1→IDE1:AcessAck||key(IDd1||IDE1)
构建接入确认响应包,并返回该边缘设备终端。
作为本发明的一种优选技术方案:所述物联网终端跨域认证,用于物联网终端在不同边缘安全域下进行认证与密钥协商,即基于物联网终端已完成在第一边缘设备终端的认证后,若该物联网终端移动至第二边缘设备终端,且该物联网终端与第二边缘设备终端处于不同安全域时,则该物联网终端执行如下步骤D1至步骤D6;
步骤D1.该物联网终端按如下方式,针对其身份标识IDd1、第一边缘设备终端身份标识IDE1、第二边缘设备终端身份标识IDE2构建消息,并应用对称密钥Ekey1针对该消息进行加密;
C=Ekey1(IDd1||IDE2||IDE1)
获得数据C,并进一步按如下方式:
IDd1→IDE2:Reauth||IDd1||IDE2||IDE1||C||N1
构建跨域认证请求包,发送至第二边缘设备终端,N1表示一次性随机数,Reauth表示跨域认证请求包的消息标识,然后进入步骤D2;
步骤D2.第二边缘设备终端接收跨域认证请求包,并检查其是否与第一边缘设备终端建立信任关系,是则进入步骤D3;否则建立第二边缘设备终端与第一边缘设备终端之间信任关系,然后进入步骤D3;
步骤D3.第二边缘设备终端获得随机数rE2,并结合随机数分散算法G,计算G*rE2,结合第一边缘设备终端的公钥PKE1、返回消息随机数N2,按如下方式:
构建密钥协商请求包,并发送至第一边缘设备终端,其中,KeyAgree表示密钥协商请求包的消息标识,然后进入步骤D4;
步骤D4.第一边缘设备终端接收密钥协商请求包,并应用第一边缘设备终端的私钥对密钥协商请求包进行解密,获得该物联网终端的身份标识IDd1,再查询第一边缘设备终端的认证列表,判断该物联网终端是否已通过认证,是则查询与该物联网终端的会话密钥对密钥协商请求包中的数据C进行解密,验证该物联网终端的身份及跨域消息,随后产生随机数rE1,并计算G*rE1,同时根据所接收密钥协商请求包中的G*rE2和rE1,计算G*rE2*rE1,获得该物联网终端的新会话密钥key2,并结合第二边缘设备终端的公钥PKE2,按如下方式:
应用该物联网终端的原会话密钥对新会话密钥进行加密,构建响应数据包,发送至第二边缘设备终端,其中,KeyAck表示响应数据包的消息标识,N3表示随机数,然后进入步骤D5;
步骤D5.第二边缘设备终端接收响应数据包,应用第二边缘设备终端的私钥对响应数据包进行解密,计算与该物联网终端的共享密钥,并保存在第二边缘设备终端本地,同时按如下方式:
IDE2→IDd1:Ack||Ekey1(key2)||
构建响应数据反馈包,并发送至该物联网终端,Ack表示响应数据反馈包的消息标识,然后进入步骤D6;
步骤D6.该物联网终端接收响应数据反馈包,应用该物联网终端的旧会话密钥对响应数据反馈包进行解密,获得与第二边缘设备终端的会话密钥key2,进而使用该会话密钥key2实现与第二边缘设备终端的通信。
作为本发明的一种优选技术方案:所述步骤D2中,第二边缘设备终端接收跨域认证请求包,并检查其未与第一边缘设备终端建立信任关系,则第二边缘设备终端向第一边缘设备终端发送自己的数字证书,并请求获取第一边缘设备终端的数字证书;第一边缘设备终端接收到该请求后,应用第二边缘设备终端的数字证书,针对第二边缘设备终端进行身份验证,并获取第二边缘设备终端的公钥PKE2,同时第一边缘设备终端将自己的数字证书作为响应消息返回至第二边缘设备终端;第二边缘设备终端应用第一边缘设备终端的数字证书,针对第一边缘设备终端进行身份验证,并获取第一边缘设备终端的公钥PKE1,然后进入步骤D3。
作为本发明的一种优选技术方案:若存在不需要维护的物联网终端,则需要对其身份标识进行撤销,则该物联网终端所属厂商PKG将该物联网终端的身份标识添加到自己的终端标识撤销列表中,并按预设周期将该终端标识撤销列表发送给全部边缘设备终端;
若存在不需要维护的边缘设备终端,则需要对其身份标识进行撤销,则边缘设备终端所属厂商PKG将该边缘设备终端的身份标识添加到自己的边缘设备撤销列表中,并按预设周期将该边缘设备撤销列表进行全网广播。
作为本发明的一种优选技术方案:若存在需要更改身份标识的物联网终端或边缘设备终端,则该终端按如下步骤E1至步骤E3执行;
步骤E1.该终端向其所属厂商PKG发送身份标识更新请求;
步骤E2.厂商PKG验证该终端身份信息的合法性,即验证该终端的签名的有效性,若验证通过,则响应相应的密钥更新请求,为该终端生成新身份标识、签名私钥、加密私钥,并用原的设备公钥对该数据进行加密,发送给该终端,同时将该终端的原身份标识添加到相应终端身份标识撤销列表中;若验证不通过,则直接丢弃该身份标识更新请求,并向该终端返回认证不通过信息;
步骤E3.该终端接收响应消息后,使用新身份标识进行后续的通信认证操作。
本发明所述一种基于边缘计算的物联网终端身份认证方法,采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明所设计基于边缘计算的物联网终端身份认证方法,针对“云-边-端”一体化物联网架构,提出基于SM9标识的密钥管理方法,解决海量物联网终端的密钥分发和管理问题,并在PKI支撑下,设计适用于边缘计算环境的一体化物联网身份认证方案,实现了边缘计算环境下大规模物联网终端的高效接入认证、以及跨域认证,包括边缘设备终端和云中心终端之间双向认证方法、边缘设备终端间双向认证及信任列表建立方法、物联网终端接入认证方法、物联网终端跨域认证,有效提高了一体化物联网架构下认证的安全性。
附图说明
图1是本发明所设计中一体化物联网络的架构示意图;
图2是本发明所设计中边缘设备终端和云中心终端之间双向认证的架构示意图;
图3是本发明所设计中证书链示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明所设计一种基于边缘计算的物联网终端身份认证方法,如图1所示,针对各物联网终端分别对接各边缘设备终端、各边缘设备终端分别对接云中心终端的一体化物联网络,云中心提供物联网服务,负责全局的策略数据分发、边缘节点管理,接收下层物联网终端设备上传的数据进行分析处理,并为边缘设备提供认证接入服务;边缘设备部署在用户侧的计算设备,为终端设备提供提供边缘智能服务,边缘设备的部署依据物联网环境下终端的数量规模灵活部署。物联网终端则是传统的物联网设备,包括各类传感器、摄像头等智能设备。
由于直接将PKI应用到边缘计算环境下物联网认证中会存在很多问题,本发明的方案采用基于标识的密码算法,基于标识的密码算法是在椭圆曲线双线性对的基础上构建,能够根据终端的身份标识为其生成以身份标识为公钥的公私钥对,实现基于标识的数字验签名、数据加解密、密钥交换等功能。如果直接将基于标识的密码算法应用于边缘计算环境下,也会存在相应的问题,例如不同类型的边缘设备可能属于不同的设备厂商,他们各组处于自己的安全域范围内,不同的边缘设备向云中心认证时,云中心需要向每个设备厂商对自己的身份进行注册并维护每个设备厂商的PKG为自己生成的私钥,这对于云中心来说几乎不可行。可见基于标识的认证机制更适用于边缘设备和终端间的认证,而边缘设备与物联网终端相比计算能力较强,且位置相对固定,基于PKI的认证机制更适用于边缘设备和云端间的认证。
SM9密码算法系统参数组选定,签名主私钥以及加密主私钥的生成。私钥生成中心由各自的物联网设备厂商担任,是一个可信第三方。SM9系统参数组如下标1所示,主要包括曲线识别符cid,椭圆曲线基域Fq的参数,椭圆曲线方程参数a和b;曲线阶的素因子N,N阶循环子群G1的生成元P1,N阶循环子群G2,双线性对e的识别符eid,签名主密钥对为(ks,Ppub-s),加密主密钥对为(ke,Ppub-e)。
表1
符号 符号意义
cid 椭圆曲线标识符
Fq 椭圆曲线基域
a 椭圆曲线方程参数
b 曲线阶的素因子
N 曲线阶的素因子
G1 N阶循环子群
G2 N阶循环子群
P1 G1的生成元
P2 G2的生成元
eid 双线性对e的识别符
(ks,Ppub-s) 签名主密钥对
(ke,Ppub-e) 加密主密钥对
针对上述一体化物联网络,基于SM9密码算法系统,各物联网终端、各边缘设备终端、以及云中心终端分别所属厂商PKG,分别按如下步骤i1至步骤i4,获得各厂商PKG分别所对应的签名主私钥ks、签名主公钥Ppub-s、加密主私钥ke、加密主公钥Ppub-e
步骤i1.基于SM9密码算法系统中曲线阶的素因子N所对应[1,N-1]范围,随机选择两个彼此互不相等的参数ks、ke,构成厂商PKG所对应的签名主私钥ks、加密主私钥ke,然后进入步骤i2。
步骤i2.根据SM9密码算法系统中N阶循环子群G2的生成元P2,计算N阶循环子群G2中的元素Ppub-s=ks·P2,构成厂商PKG所对应的签名主公钥Ppub-s;同时根据SM9密码算法系统中N阶循环子群G1的生成元P1,计算N阶循环子群G1中的元素Ppub-e=ke·P1,构成厂商PKG所对应的加密主公钥Ppub-e,然后进入步骤i3。
步骤i3.由签名主私钥ks中选择一个字节标识,构成厂商PKG所对应的签名主私钥函数标识符hids,以及由加密主私钥ke中选择一个字节标识,构成厂商PKG所对应的加密主私钥函数标识符hide,然后进入步骤i4。
步骤i4.厂商PKG针对其所对应的签名主私钥ks、加密主私钥ke进行保存,并对其所对应的签名主公钥Ppub-s、加密主公钥Ppub-e、签名主私钥函数标识符hids、加密主私钥函数标识符hide进行全网广播。
然后各物联网终端、各边缘设备终端、以及云中心终端分别按如下步骤ii1至步骤ii4,由其所属厂商PKG获得各终端分别所对应的签名私钥、签名公钥、加密私钥、加密公钥,并进一步实现边缘设备终端和云中心终端之间双向认证方法、边缘设备终端间双向认证及信任列表建立方法、物联网终端接入认证方法、物联网终端跨域认证。
步骤ii1.终端向其所属厂商PKG进行身份注册,由厂商PKG按预设映射规则分配该终端所对应的身份标识IDA,然后进入步骤ii2。
步骤ii2.厂商PKG根据该终端的身份标识IDA,在有限域FN上按如下计算:
t1=Hash(IDA||hids,N)+ks
获得t1,并判断t1的值是否等于0,是则判定厂商PKG所对应的签名主私钥ks失效,重新执行步骤i1至步骤i4,并通知一体化物联网络中的各终端分别更新其对应的私钥;否则厂商PKG根据其对应的签名主私钥ks,按如下公式:
获得该终端所对应的签名私钥dA,发送至该终端进行保存,然后进入步骤ii3。
步骤ii3.厂商PKG根据其对应的加密主私钥ke,按如下公式:
获得该终端所对应的加密私钥eA,发送至该终端进行保存,然后进入步骤ii4。
步骤ii4.由厂商PKG所对应的签名主公钥Ppub-s、加密主公钥Ppub-e,构成该终端所对应的签名公钥、加密公钥。
实际应用当中,所述边缘设备终端和云中心终端之间双向认证方法,属于不同PKG的边缘设备终端都需要向证书管理机构去申请自己的证书,在边缘设备终端数量较多时,可以采用证书链的方式降低根CA的管理负荷量。在CA根证书和边缘设备证书间可以添加一级证书机构,即中间证书,证书产生和验证原理不变,如图3所示。实际应用中,如图2所示,针对边缘设备终端接入到云中心终端时,基于证书认证机制PKI,按如下步骤A1至步骤A5实现。
步骤A1.边缘设备终端按如下方式,应用其签名私钥SKE,针对其身份标识IDE、云中心终端的身份标识IDC、以及一次性随机数N1所构建的消息进行签名,并结合该边缘设备终端的证书PEME,发送至云中心终端,然后进入步骤A2。
IDE→IDC:SKE(N1||IDE||IDC)||PEME
步骤A2.云中心终端通过所接收该边缘设备终端的证书PEME,验证该边缘设备终端身份的合法性,并产生一个随机数rC、以及产生返回消息随机数N2,按如下方式,应用该边缘设备终端的加密公钥PKE,针对G*rC所构消息进行加密,并结合该边缘设备终端身份标识IDE、云中心终端的身份标识IDC、N1、N2构建消息,再由云中心终端的签名私钥SKC进行签名,结合云中心终端的证书PEMC,返回给该边缘设备终端,然后进入步骤A3。
IDC→IDE:SKC(N2||N1||IDE||IDC||PKE(G*rC))||PEMC
步骤A3.该边缘设备终端通过所接收云中心终端的证书PEMC,验证云中心终端身份的合法性,并通过KE-C=G*rC*rE,获得边缘设备终端与云中心终端之间的会话密钥KE-C,再按如下方式,应用云中心终端的加密公钥PKC,针对G*rE所构消息进行加密,结合该边缘设备终端身份标识IDE、N2构建消息,再由云中心终端的加密公钥PKC进行加密,最后结合KE-C、以及预设挑战值N3,发送至云中心终端,然后进入步骤A4。
IDE→IDC:PKC(N2||IDE||PKC(G*rE))||KE-C(N3)
步骤A4.云中心终端应用其加密私钥对步骤A3中来自该边缘设备终端的消息进行解密,获得其中的G*rE,并结合rC,按KE-C=G*rC*rE,计算获得边缘设备终端与云中心终端之间的会话密钥KE-C,再应用KE-C针对步骤A3中来自该边缘设备终端的消息进行解密,获得N3,并按如下方式,结合N2构建消息,由KE-C针对该消息进行加密,返回该边缘设备终端,然后进入步骤A5。
IDC→IDE:KE-C(N2||N3)
步骤A5.该边缘设备终端应用KE-C针对步骤A4中来自云中心终端的消息进行解密,即完成该边缘设备终端与云中心终端之间基于证书认证机制PKI的双向认证和密钥协商。
边缘计算环境下边缘设备分布广泛,单个设备的服务范围有限,需要建立边缘协同为物联网终端提供更优的服务。为确保协同的边缘设备可信性,需要通过边缘设备间的双向认证建立信任列表。网络初始化阶段,每个边缘设备都从自己的PKG中申请了自己的身份标识和公私钥对。
实际应用当中,所述边缘设备终端间双向认证及信任列表建立方法,基于各边缘设备终端分别周期性广播其身份标识,各边缘设备终端按如下步骤B1至步骤B7执行。
步骤B1.边缘设备终端针对来自其他边缘设备终端的身份标识广播进行检查,并针对属于相同厂商PKG、且不存在于信任列表中的其他边缘设备终端,由该边缘设备终端根据该其他边缘设备终端的身份标识IDE2,按如下公式:
QE2=Hash(IDE2||hide,N)P1+Ppub-e
获得群QE2,并由[1,N-1]的范围获得随机数rE1,再按如下公式:
RE1=rE1*QE2
获得密钥协商信息RE1,最后由该边缘设备终端根据其签名私钥,基于SM9签名算法,计算消息的数字签名(h,s),并按下方式:
IDE1→IDE2:authReq||N1||IDE1||IDE2||RE1||h|||s
构建认证请求包,由边缘设备终端发送至该其他边缘设备终端,IDE1表示该边缘设备终端的身份标识,N1表示一次性随机数,authReq表示边缘设备认证请求包的消息标识;然后进入步骤B2。
步骤B2.该其他边缘设备终端接收到认证请求包后,首先根据消息标识authReq判断消息类型,并基于SM9验签算法验证该边缘设备终端的身份是否合法,是则判定验证通过,该其他边缘设备终端将其身份标识添加到自己的认证列表中,并进入步骤B3;否则判定验证失败,直接丢弃该认证请求包,并向该边缘设备终端返回认证不通过信息。
步骤B3.该其他边缘设备终端根据所接收认证请求包中的IDE1、RE1,并按如下公式:
QE1=Hash(IDE1||hide,N)P1+Ppub-e
计算获得群QE1,并由[1,N-1]的范围获得随机数rE2,再按如下公式:
RE2=rE2*QE1
获得密钥协商信息RE2,并结合RE1,按如下公式:
计算获得参数g1,g2,g3,,其中,e表示SM9密码算法系统中从G1×G2到Gr的双向性对,并通过SM9标识密码算法提供的密钥派生函数KDF,按如下公式:
SKE2=KDF(IDE1||IDE2||RE1||RE2||g1||g2||g3||,keylen)
计算获得边缘设备终端间会话密钥SKE2,其中,keylen表示密钥长度,同时按如下公式:
SE2=Hash(0x82||g1||Hash(g2||g3||IDE1||IDE2||RE1||RE2))
计算获得哈希值选项SE2,最后由该其他边缘设备终端按下方式:
IDE2→IDE1:authReq||N1||N2||IDE2||IDE1||RE2||SE2||h||s
构建消息并进行签名,构成相应的认证请求响应包返回给该边缘设备终端,其中,authResp表示边缘设备认证请求响应包的消息标识,然后进入步骤B4。
步骤B4.该边缘设备终端接收认证请求响应包,并根据SM9标识密码验签算法对认证请求响应包的数字签名进行验证,完成该边缘设备终端与该其他边缘设备终端之间的相互认证,然后进入步骤B5。
步骤B5.该边缘设备终端根据SM9密钥协商算法,根据所接收到的RE2,按如下公式:
计算获得参数g'1,g'2,g'3,并通过密钥派生函数KDF,按如下公式:
SKE1=KDF(IDE1||IDE2||RE1||RE2||g'1||g'2||g'3,keylen)
计算获得共享密钥SKE1,并保存,然后按如下公式:
SA1=Hash(0x82||g'1||Hash(g'2||g'3||IDE1||IDE2||RE1||RE2))
SE1=Hash(0x83||g'1||Hash(g'2||g'3||IDE1||IDE2||RE1||RE2))
计算获得密钥确认值SA1与SE1,并判断SA1与SE1是否相等,是则表示该其他边缘设备终端到该边缘设备终端的密钥确认成功,并进入步骤B6,否则表示该其他边缘设备终端到该边缘设备终端的密钥确认失败。
步骤B6.该边缘设备终端按如下方式
IDE1→IDE2:authAck||N2||N3||IDE1||SE1
构建密钥协商确认包,并发送至该其他边缘设备终端,其中,authAck表示密钥协商确认包的消息标识,然后进入步骤B7。
步骤B7.该其他边缘设备终端接收密钥协商确认包后,按如下公式:
SA2=Hash(0x83||g1||Hash(g2||g3||IDE1||IDE2||RE1||RE2))
计算获得密钥确认值SA2,并判断SA2与SE1是否相等,是则表示密钥确认成功,完成边缘设备终端间的认证及密钥协商;否则表示密钥确认失败。
经过上述过程,每个边缘设备终端都能很快与通信范围的边缘设备终端完成身份认证及密钥协商,并用该会话密钥进行数据的安全通信。新的边缘设备终端加入时同样可以通过该过程建立认证关系,每个边缘设备终端将认证过的设备信息保存在自己的认证列表中。
实际应用中,所述物联网终端接入认证方法,包括如下步骤C1至步骤C3。
步骤C1.物联网终端根据SM9签名算法,使用其私钥签名计算消息的数字签名(h,s),并由该物联网终端结合其身份标识IDd1、其所属边缘设备终端的身份标识IDE1、以及一次性随机数N1,按如下方式:
IDd1→IDE1:AccessReq||N1||IDd1||IDE1||h||s
构建终端接入认证请求包,并发送至所属的边缘设备终端,其中,AccessReq表示终端接入认证请求包的消息标识,然后进入步骤C2。
步骤C2.该边缘设备终端接收终端接入认证请求包后,应用SM9标识密码验签算法对终端接入认证请求包的数字签名进行验证,在签名验证通过后,该边缘设备终端将其身份标识添加到自己的认证列表中,同时,该边缘设备终端首先由[1,N-1]的范围获得随机数r,并按如下公式:
QD=[Hash(IDd1||hide,N)]P1+Ppub-e
计算获得参数QD,并按Cipher=[r]QD,计算获得参数Cipher,进一步按如下公式,结合密钥派生函数KDF,
Key=KDF(Cipher||e(Ppub-e,P2)r||IDD,keylen)
计算获得和该物联网终端之间的共享密钥Key,并保存至本地,其中,Cipher表示封装密文,keylen表示密钥长度,最后该边缘设备终端按如下方式:
IDE1→IDd1:AcessRsp||IDE1||Cipher||h||s
构建接入请求响应包,并发送至该物联网终端,其中,AcessRsp表示接入请求响应包的消息标识;然后进入步骤C3。
步骤C3.该物联网终端接收接入请求响应包后,通过该边缘设备终端的身份标识和数字签名,对该边缘设备终端的身份进行验证,若验证通过后,针对所接收到的封装密文Cipher进行解析,获取响应的密钥,若验证不通过,直接丢弃该接入请求响应包,并向该边缘设备终端返回认证不通过信息;并进一步判断封装密文Cipher是否不属于SM9密码算法系统中N阶循环子群G1中的元素,是则直接输出错误,否则按如下公式:
w′=e(Cipher,ded1)
计算获得参数w',其中,ded1表示该物联网终端的加密私钥,并通过SM9密码算法系统中的转换算法,按如下公式:
Key=KDF(Cipher||w'||IDd1,keylen)
计算获得共享密钥Key,并保存于该物联网终端本地,keylen表示密钥长度,最后,该物联网终端按如下方式:
IDd1→IDE1:AcessAck||key(IDd1||IDE1)
构建接入确认响应包,并返回该边缘设备终端。
应用中,所述物联网终端跨域认证,用于物联网终端在不同边缘安全域下进行认证与密钥协商,即基于物联网终端已完成在第一边缘设备终端的认证后,若该物联网终端移动至第二边缘设备终端,且该物联网终端与第二边缘设备终端处于不同安全域时,则该物联网终端执行如下步骤D1至步骤D6。
步骤D1.该物联网终端按如下方式,针对其身份标识IDd1、第一边缘设备终端身份标识IDE1、第二边缘设备终端身份标识IDE2构建消息,并应用对称密钥Ekey1针对该消息进行加密;
C=Ekey1(IDd1||IDE2||IDE1)
获得数据C,并进一步按如下方式:
IDd1→IDE2:Reauth||IDd1||IDE2||IDE1||C||N1
构建跨域认证请求包,发送至第二边缘设备终端,N1表示一次性随机数,Reauth表示跨域认证请求包的消息标识,然后进入步骤D2。
步骤D2.第二边缘设备终端接收跨域认证请求包,并检查其是否与第一边缘设备终端建立信任关系,是则进入步骤D3;否则第二边缘设备终端向第一边缘设备终端发送自己的数字证书,并请求获取第一边缘设备终端的数字证书;第一边缘设备终端接收到该请求后,应用第二边缘设备终端的数字证书,针对第二边缘设备终端进行身份验证,并获取第二边缘设备终端的公钥PKE2,同时第一边缘设备终端将自己的数字证书作为响应消息返回至第二边缘设备终端;第二边缘设备终端应用第一边缘设备终端的数字证书,针对第一边缘设备终端进行身份验证,并获取第一边缘设备终端的公钥PKE1,然后进入步骤D3。
步骤D3.第二边缘设备终端获得随机数rE2,并结合随机数分散算法G,计算G*rE2,结合第一边缘设备终端的公钥PKE1、返回消息随机数N2,按如下方式:
构建密钥协商请求包,并发送至第一边缘设备终端,其中,KeyAgree表示密钥协商请求包的消息标识,然后进入步骤D4。
步骤D4.第一边缘设备终端接收密钥协商请求包,并应用第一边缘设备终端的私钥对密钥协商请求包进行解密,获得该物联网终端的身份标识IDd1,再查询第一边缘设备终端的认证列表,判断该物联网终端是否已通过认证,是则查询与该物联网终端的会话密钥对密钥协商请求包中的数据C进行解密,验证该物联网终端的身份及跨域消息,随后产生随机数rE1,并计算G*rE1,同时根据所接收密钥协商请求包中的G*rE2和rE1,计算G*rE2*rE1,获得该物联网终端的新会话密钥key2,并结合第二边缘设备终端的公钥PKE2,按如下方式:
应用该物联网终端的原会话密钥对新会话密钥进行加密,构建响应数据包,发送至第二边缘设备终端,其中,KeyAck表示响应数据包的消息标识,N3表示随机数,然后进入步骤D5。
步骤D5.第二边缘设备终端接收响应数据包,应用第二边缘设备终端的私钥对响应数据包进行解密,计算与该物联网终端的共享密钥,并保存在第二边缘设备终端本地,同时按如下方式:
IDE2→IDd1:Ack||Ekey1(key2)||
构建响应数据反馈包,并发送至该物联网终端,Ack表示响应数据反馈包的消息标识,然后进入步骤D6。
步骤D6.该物联网终端接收响应数据反馈包,应用该物联网终端的旧会话密钥对响应数据反馈包进行解密,获得与第二边缘设备终端的会话密钥key2,进而使用该会话密钥key2实现与第二边缘设备终端的通信。
该物联网终端完成了在不同边缘设备间的跨域认证,并和新的第二边缘设备终端建立了会话密钥。认证过程不需要物联网终端侧产生复杂的计算和通信,将认证和密钥协商工作由边缘设备间完成,有效降低了终端设备的运算开销。
整个设计方案在实际应用中,若存在不需要维护的物联网终端,则需要对其身份标识进行撤销,则该物联网终端所属厂商PKG将该物联网终端的身份标识添加到自己的终端标识撤销列表中,并按预设周期将该终端标识撤销列表发送给全部边缘设备终端;若存在不需要维护的边缘设备终端,则需要对其身份标识进行撤销,则边缘设备终端所属厂商PKG将该边缘设备终端的身份标识添加到自己的边缘设备撤销列表中,并按预设周期将该边缘设备撤销列表进行全网广播。
并且,若存在需要更改身份标识的物联网终端或边缘设备终端,则该终端按如下步骤E1至步骤E3执行。
步骤E1.该终端向其所属厂商PKG发送身份标识更新请求。
步骤E2.厂商PKG验证该终端身份信息的合法性,即验证该终端的签名的有效性,若验证通过,则响应相应的密钥更新请求,为该终端生成新身份标识、签名私钥、加密私钥,并用原的设备公钥对该数据进行加密,发送给该终端,同时将该终端的原身份标识添加到相应终端身份标识撤销列表中;若验证不通过,则直接丢弃该身份标识更新请求,并向该终端返回认证不通过信息。
步骤E3.该终端接收响应消息后,使用新身份标识进行后续的通信认证操作。
上述技术方案所设计基于边缘计算的物联网终端身份认证方法,针对“云-边-端”一体化物联网架构,提出基于SM9标识的密钥管理方法,解决海量物联网终端的密钥分发和管理问题,并在PKI支撑下,设计适用于边缘计算环境的一体化物联网身份认证方案,实现了边缘计算环境下大规模物联网终端的高效接入认证、以及跨域认证,包括边缘设备终端和云中心终端之间双向认证方法、边缘设备终端间双向认证及信任列表建立方法、物联网终端接入认证方法、物联网终端跨域认证,有效提高了一体化物联网架构下认证的安全性。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (8)

1.一种基于边缘计算的物联网终端身份认证方法,其特征在于:针对各物联网终端分别对接各边缘设备终端、各边缘设备终端分别对接云中心终端的一体化物联网络,基于SM9密码算法系统,各物联网终端、各边缘设备终端、以及云中心终端分别所属厂商PKG,分别按如下步骤i1至步骤i4,获得各厂商PKG分别所对应的签名主私钥ks、签名主公钥Ppub-s、加密主私钥ke、加密主公钥Ppub-e
然后各物联网终端、各边缘设备终端、以及云中心终端分别按如下步骤ii1至步骤ii4,由其所属厂商PKG获得各终端分别所对应的签名私钥、签名公钥、加密私钥、加密公钥,并进一步实现边缘设备终端和云中心终端之间双向认证方法、边缘设备终端间双向认证及信任列表建立方法、物联网终端接入认证方法、物联网终端跨域认证;
步骤i1.基于SM9密码算法系统中曲线阶的素因子N所对应[1,N-1]范围,随机选择两个彼此互不相等的参数ks、ke,构成厂商PKG所对应的签名主私钥ks、加密主私钥ke,然后进入步骤i2;
步骤i2.根据SM9密码算法系统中N阶循环子群G2的生成元P2,计算N阶循环子群G2中的元素Ppub-s=ks·P2,构成厂商PKG所对应的签名主公钥Ppub-s;同时根据SM9密码算法系统中N阶循环子群G1的生成元P1,计算N阶循环子群G1中的元素Ppub-e=ke·P1,构成厂商PKG所对应的加密主公钥Ppub-e,然后进入步骤i3;
步骤i3.由签名主私钥ks中选择一个字节标识,构成厂商PKG所对应的签名主私钥函数标识符hids,以及由加密主私钥ke中选择一个字节标识,构成厂商PKG所对应的加密主私钥函数标识符hide,然后进入步骤i4;
步骤i4.厂商PKG针对其所对应的签名主私钥ks、加密主私钥ke进行保存,并对其所对应的签名主公钥Ppub-s、加密主公钥Ppub-e、签名主私钥函数标识符hids、加密主私钥函数标识符hide进行全网广播;
步骤ii1.终端向其所属厂商PKG进行身份注册,由厂商PKG按预设映射规则分配该终端所对应的身份标识IDA,然后进入步骤ii2;
步骤ii2.厂商PKG根据该终端的身份标识IDA,在有限域FN上按如下计算:
t1=Hash(IDA||hids,N)+ks
获得t1,并判断t1的值是否等于0,是则判定厂商PKG所对应的签名主私钥ks失效,重新执行步骤i1至步骤i4,并通知一体化物联网络中的各终端分别更新其对应的私钥;否则厂商PKG根据其对应的签名主私钥ks,按如下公式:
获得该终端所对应的签名私钥dA,发送至该终端进行保存,然后进入步骤ii3;
步骤ii3.厂商PKG根据其对应的加密主私钥ke,按如下公式:
获得该终端所对应的加密私钥eA,发送至该终端进行保存,然后进入步骤ii4;
步骤ii4.由厂商PKG所对应的签名主公钥Ppub-s、加密主公钥Ppub-e,构成该终端所对应的签名公钥、加密公钥。
2.根据权利要求1所述一种基于边缘计算的物联网终端身份认证方法,其特征在于:所述边缘设备终端和云中心终端之间双向认证方法,针对边缘设备终端接入到云中心终端时,基于证书认证机制PKI,按如下步骤A1至步骤A5实现;
步骤A1.边缘设备终端按如下方式,应用其签名私钥SKE,针对其身份标识IDE、云中心终端的身份标识IDC、以及一次性随机数N1所构建的消息进行签名,并结合该边缘设备终端的证书PEME,发送至云中心终端,然后进入步骤A2;
IDE→IDC:SKE(N1||IDE||IDC)||PEME
步骤A2.云中心终端通过所接收该边缘设备终端的证书PEME,验证该边缘设备终端身份的合法性,并产生一个随机数rC、以及产生返回消息随机数N2,按如下方式,应用该边缘设备终端的加密公钥PKE,针对G*rC所构消息进行加密,并结合该边缘设备终端身份标识IDE、云中心终端的身份标识IDC、N1、N2构建消息,再由云中心终端的签名私钥SKC进行签名,结合云中心终端的证书PEMC,返回给该边缘设备终端,然后进入步骤A3;
IDC→IDE:SKC(N2||N1||IDE||IDC||PKE(G*rC))||PEMC
步骤A3.该边缘设备终端通过所接收云中心终端的证书PEMC,验证云中心终端身份的合法性,并通过KE-C=G*rC*rE,获得边缘设备终端与云中心终端之间的会话密钥KE-C,再按如下方式,应用云中心终端的加密公钥PKC,针对G*rE所构消息进行加密,结合该边缘设备终端身份标识IDE、N2构建消息,再由云中心终端的加密公钥PKC进行加密,最后结合KE-C、以及预设挑战值N3,发送至云中心终端,然后进入步骤A4;
IDE→IDC:PKC(N2||IDE||PKC(G*rE))||KE-C(N3)
步骤A4.云中心终端应用其加密私钥对步骤A3中来自该边缘设备终端的消息进行解密,获得其中的G*rE,并结合rC,按KE-C=G*rC*rE,计算获得边缘设备终端与云中心终端之间的会话密钥KE-C,再应用KE-C针对步骤A3中来自该边缘设备终端的消息进行解密,获得N3,并按如下方式,结合N2构建消息,由KE-C针对该消息进行加密,返回该边缘设备终端,然后进入步骤A5;
IDC→IDE:KE-C(N2||N3)
步骤A5.该边缘设备终端应用KE-C针对步骤A4中来自云中心终端的消息进行解密,即完成该边缘设备终端与云中心终端之间基于证书认证机制PKI的双向认证和密钥协商。
3.根据权利要求1所述一种基于边缘计算的物联网终端身份认证方法,其特征在于:所述边缘设备终端间双向认证及信任列表建立方法,基于各边缘设备终端分别周期性广播其身份标识,各边缘设备终端按如下步骤B1至步骤B7执行;
步骤B1.边缘设备终端针对来自其他边缘设备终端的身份标识广播进行检查,并针对属于相同厂商PKG、且不存在于信任列表中的其他边缘设备终端,由该边缘设备终端根据该其他边缘设备终端的身份标识IDE2,按如下公式:
QE2=Hash(IDE2||hide,N)P1+Ppub-e
获得群QE2,并由[1,N-1]的范围获得随机数rE1,再按如下公式:
RE1=rE1*QE2
获得密钥协商信息RE1,最后由该边缘设备终端根据其签名私钥,基于SM9签名算法,计算消息的数字签名(h,s),并按下方式:
IDE1→IDE2:authReq||N1||IDE1||IDE2||RE1||h|||s
构建认证请求包,由边缘设备终端发送至该其他边缘设备终端,IDE1表示该边缘设备终端的身份标识,N1表示一次性随机数,authReq表示边缘设备认证请求包的消息标识;然后进入步骤B2;
步骤B2.该其他边缘设备终端接收到认证请求包后,首先根据消息标识authReq判断消息类型,并基于SM9验签算法验证该边缘设备终端的身份是否合法,是则判定验证通过,该其他边缘设备终端将其身份标识添加到自己的认证列表中,并进入步骤B3;否则判定验证失败,直接丢弃该认证请求包,并向该边缘设备终端返回认证不通过信息;
步骤B3.该其他边缘设备终端根据所接收认证请求包中的IDE1、RE1,并按如下公式:
QE1=Hash(IDE1||hide,N)P1+Ppub-e
计算获得群QE1,并由[1,N-1]的范围获得随机数rE2,再按如下公式:
RE2=rE2*QE1
获得密钥协商信息RE2,并结合RE1,按如下公式:
计算获得参数g1,g2,g3,其中,e表示SM9密码算法系统中从G1×G2到Gr的双向性对,并通过SM9标识密码算法提供的密钥派生函数KDF,按如下公式:
SKE2=KDF(IDE1||IDE2||RE1||RE2||g1||g2||g3||,keylen)
计算获得边缘设备终端间会话密钥SKE2,其中,keylen表示密钥长度,同时按如下公式:
SE2=Hash(0x82||g1||Hash(g2||g3||IDE1||IDE2||RE1||RE2))
计算获得哈希值选项SE2,最后由该其他边缘设备终端按下方式:
IDE2→IDE1:authReq||N1||N2||IDE2||IDE1||RE2||SE2||h|||s
构建消息并进行签名,构成相应的认证请求响应包返回给该边缘设备终端,其中,authResp表示边缘设备认证请求响应包的消息标识,然后进入步骤B4;
步骤B4.该边缘设备终端接收认证请求响应包,并根据SM9标识密码验签算法对认证请求响应包的数字签名进行验证,完成该边缘设备终端与该其他边缘设备终端之间的相互认证,然后进入步骤B5;
步骤B5.该边缘设备终端根据SM9密钥协商算法,根据所接收到的RE2,按如下公式:
计算获得参数g'1,g'2,g'3,并通过密钥派生函数KDF,按如下公式:
SKE1=KDF(IDE1||IDE2||RE1||RE2||g'1||g'2||g'3,keylen)
计算获得共享密钥SKE1,并保存,然后按如下公式:
SA1=Hash(0x82||g'1||Hash(g'2||g'3||IDE1||IDE2||RE1||RE2))
SE1=Hash(0x83||g'1||Hash(g'2||g'3||IDE1||IDE2||RE1||RE2))
计算获得密钥确认值SA1与SE1,并判断SA1与SE1是否相等,是则表示该其他边缘设备终端到该边缘设备终端的密钥确认成功,并进入步骤B6,否则表示该其他边缘设备终端到该边缘设备终端的密钥确认失败;
步骤B6.该边缘设备终端按如下方式
IDE1→IDE2:authAck||N2||N3||IDE1||SE1
构建密钥协商确认包,并发送至该其他边缘设备终端,其中,authAck表示密钥协商确认包的消息标识,然后进入步骤B7;
步骤B7.该其他边缘设备终端接收密钥协商确认包后,按如下公式:
SA2=Hash(0x83||g1||Hash(g2||g3||IDE1||IDE2||RE1||RE2))
计算获得密钥确认值SA2,并判断SA2与SE1是否相等,是则表示密钥确认成功,完成边缘设备终端间的认证及密钥协商;否则表示密钥确认失败。
4.根据权利要求1所述一种基于边缘计算的物联网终端身份认证方法,其特征在于:所述物联网终端接入认证方法,包括如下步骤C1至步骤C3;
步骤C1.物联网终端根据SM9签名算法,使用其私钥签名计算消息的数字签名(h,s),并由该物联网终端结合其身份标识IDd1、其所属边缘设备终端的身份标识IDE1、以及一次性随机数N1,按如下方式:
IDd1→IDE1:AccessReq||N1||IDd1||IDE1||h||s
构建终端接入认证请求包,并发送至所属的边缘设备终端,其中,AccessReq表示终端接入认证请求包的消息标识,然后进入步骤C2;
步骤C2.该边缘设备终端接收终端接入认证请求包后,应用SM9标识密码验签算法对终端接入认证请求包的数字签名进行验证,在签名验证通过后,该边缘设备终端将其身份标识添加到自己的认证列表中,同时,该边缘设备终端首先由[1,N-1]的范围获得随机数r,并按如下公式:
QD=[Hash(IDd1||hide,N)]P1+Ppub-e
计算获得参数QD,并按Cipher=[r]QD,计算获得参数Cipher,进一步按如下公式,结合密钥派生函数KDF,
Key=KDF(Cipher||e(Ppub-e,P2)r||IDD,keylen)
计算获得和该物联网终端之间的共享密钥Key,并保存至本地,其中,Cipher表示封装密文,keylen表示密钥长度,最后该边缘设备终端按如下方式:
IDE1→IDd1:AcessRsp||IDE1||Cipher||h||s
构建接入请求响应包,并发送至该物联网终端,其中,AcessRsp表示接入请求响应包的消息标识;然后进入步骤C3;
步骤C3.该物联网终端接收接入请求响应包后,通过该边缘设备终端的身份标识和数字签名,对该边缘设备终端的身份进行验证,若验证通过后,针对所接收到的封装密文Cipher进行解析,获取响应的密钥,若验证不通过,直接丢弃该接入请求响应包,并向该边缘设备终端返回认证不通过信息;并进一步判断封装密文Cipher是否不属于SM9密码算法系统中N阶循环子群G1中的元素,是则直接输出错误,否则按如下公式:
w′=e(Cipher,ded1)
计算获得参数w',其中,ded1表示该物联网终端的加密私钥,并通过SM9密码算法系统中的转换算法,按如下公式:
Key=KDF(Cipher||w'||IDd1,keylen)
计算获得共享密钥Key,并保存于该物联网终端本地,keylen表示密钥长度,最后,该物联网终端按如下方式:
IDd1→IDE1:AcessAck||key(IDd1||IDE1)
构建接入确认响应包,并返回该边缘设备终端。
5.根据权利要求1所述一种基于边缘计算的物联网终端身份认证方法,其特征在于:所述物联网终端跨域认证,用于物联网终端在不同边缘安全域下进行认证与密钥协商,即基于物联网终端已完成在第一边缘设备终端的认证后,若该物联网终端移动至第二边缘设备终端,且该物联网终端与第二边缘设备终端处于不同安全域时,则该物联网终端执行如下步骤D1至步骤D6;
步骤D1.该物联网终端按如下方式,针对其身份标识IDd1、第一边缘设备终端身份标识IDE1、第二边缘设备终端身份标识IDE2构建消息,并应用对称密钥Ekey1针对该消息进行加密;
C=Ekey1(IDd1||IDE2||IDE1)
获得数据C,并进一步按如下方式:
IDd1→IDE2:Reauth||IDd1||IDE2||IDE1||C||N1
构建跨域认证请求包,发送至第二边缘设备终端,N1表示一次性随机数,Reauth表示跨域认证请求包的消息标识,然后进入步骤D2;
步骤D2.第二边缘设备终端接收跨域认证请求包,并检查其是否与第一边缘设备终端建立信任关系,是则进入步骤D3;否则建立第二边缘设备终端与第一边缘设备终端之间信任关系,然后进入步骤D3;
步骤D3.第二边缘设备终端获得随机数rE2,并结合随机数分散算法G,计算G*rE2,结合第一边缘设备终端的公钥PKE1、返回消息随机数N2,按如下方式:
构建密钥协商请求包,并发送至第一边缘设备终端,其中,KeyAgree表示密钥协商请求包的消息标识,然后进入步骤D4;
步骤D4.第一边缘设备终端接收密钥协商请求包,并应用第一边缘设备终端的私钥对密钥协商请求包进行解密,获得该物联网终端的身份标识IDd1,再查询第一边缘设备终端的认证列表,判断该物联网终端是否已通过认证,是则查询与该物联网终端的会话密钥对密钥协商请求包中的数据C进行解密,验证该物联网终端的身份及跨域消息,随后产生随机数rE1,并计算G*rE1,同时根据所接收密钥协商请求包中的G*rE2和rE1,计算G*rE2*rE1,获得该物联网终端的新会话密钥key2,并结合第二边缘设备终端的公钥PKE2,按如下方式:
应用该物联网终端的原会话密钥对新会话密钥进行加密,构建响应数据包,发送至第二边缘设备终端,其中,KeyAck表示响应数据包的消息标识,N3表示随机数,然后进入步骤D5;
步骤D5.第二边缘设备终端接收响应数据包,应用第二边缘设备终端的私钥对响应数据包进行解密,计算与该物联网终端的共享密钥,并保存在第二边缘设备终端本地,同时按如下方式:
IDE2→IDd1:Ack||Ekey1(key2)||
构建响应数据反馈包,并发送至该物联网终端,Ack表示响应数据反馈包的消息标识,然后进入步骤D6;
步骤D6.该物联网终端接收响应数据反馈包,应用该物联网终端的旧会话密钥对响应数据反馈包进行解密,获得与第二边缘设备终端的会话密钥key2,进而使用该会话密钥key2实现与第二边缘设备终端的通信。
6.根据权利要求5所述一种基于边缘计算的物联网终端身份认证方法,其特征在于:所述步骤D2中,第二边缘设备终端接收跨域认证请求包,并检查其未与第一边缘设备终端建立信任关系,则第二边缘设备终端向第一边缘设备终端发送自己的数字证书,并请求获取第一边缘设备终端的数字证书;第一边缘设备终端接收到该请求后,应用第二边缘设备终端的数字证书,针对第二边缘设备终端进行身份验证,并获取第二边缘设备终端的公钥PKE2,同时第一边缘设备终端将自己的数字证书作为响应消息返回至第二边缘设备终端;第二边缘设备终端应用第一边缘设备终端的数字证书,针对第一边缘设备终端进行身份验证,并获取第一边缘设备终端的公钥PKE1,然后进入步骤D3。
7.根据权利要求1所述一种基于边缘计算的物联网终端身份认证方法,其特征在于:若存在不需要维护的物联网终端,则需要对其身份标识进行撤销,则该物联网终端所属厂商PKG将该物联网终端的身份标识添加到自己的终端标识撤销列表中,并按预设周期将该终端标识撤销列表发送给全部边缘设备终端;
若存在不需要维护的边缘设备终端,则需要对其身份标识进行撤销,则边缘设备终端所属厂商PKG将该边缘设备终端的身份标识添加到自己的边缘设备撤销列表中,并按预设周期将该边缘设备撤销列表进行全网广播。
8.根据权利要求1所述一种基于边缘计算的物联网终端身份认证方法,其特征在于:若存在需要更改身份标识的物联网终端或边缘设备终端,则该终端按如下步骤E1至步骤E3执行;
步骤E1.该终端向其所属厂商PKG发送身份标识更新请求;
步骤E2.厂商PKG验证该终端身份信息的合法性,即验证该终端的签名的有效性,若验证通过,则响应相应的密钥更新请求,为该终端生成新身份标识、签名私钥、加密私钥,并用原的设备公钥对该数据进行加密,发送给该终端,同时将该终端的原身份标识添加到相应终端身份标识撤销列表中;若验证不通过,则直接丢弃该身份标识更新请求,并向该终端返回认证不通过信息;
步骤E3.该终端接收响应消息后,使用新身份标识进行后续的通信认证操作。
CN202210028568.9A 2022-01-11 2022-01-11 一种基于边缘计算的物联网终端身份认证方法 Active CN114398602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210028568.9A CN114398602B (zh) 2022-01-11 2022-01-11 一种基于边缘计算的物联网终端身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210028568.9A CN114398602B (zh) 2022-01-11 2022-01-11 一种基于边缘计算的物联网终端身份认证方法

Publications (2)

Publication Number Publication Date
CN114398602A CN114398602A (zh) 2022-04-26
CN114398602B true CN114398602B (zh) 2024-05-10

Family

ID=81231931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210028568.9A Active CN114398602B (zh) 2022-01-11 2022-01-11 一种基于边缘计算的物联网终端身份认证方法

Country Status (1)

Country Link
CN (1) CN114398602B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102710A (zh) * 2022-05-06 2022-09-23 广州运通数达科技有限公司 数字人民币消费场景的物联网设备安全接入方法及设备
CN116982288A (zh) * 2022-07-04 2023-10-31 嘉兴倍创网络科技有限公司 一种物联网点对点安全通信方法
CN117641339B (zh) * 2024-01-18 2024-04-09 中国电子科技集团公司第三十研究所 快速应用层认证与密钥协商系统及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008030184A1 (en) * 2006-07-04 2008-03-13 Khee Seng Chua Improved authentication system
WO2018076365A1 (zh) * 2016-10-31 2018-05-03 美的智慧家居科技有限公司 密钥协商方法及装置
WO2018127081A1 (zh) * 2017-01-04 2018-07-12 天地融科技股份有限公司 一种加密密钥获取方法及系统
CN109787758A (zh) * 2019-01-18 2019-05-21 如般量子科技有限公司 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和系统
CN109873815A (zh) * 2019-01-28 2019-06-11 西安电子科技大学 基于边缘计算的异构物联网认证方法、物联网安全平台
CN112073379A (zh) * 2020-08-12 2020-12-11 国网江苏省电力有限公司南京供电分公司 一种基于边缘计算的轻量级物联网安全密钥协商方法
CN112199649A (zh) * 2020-09-28 2021-01-08 扬州大学 基于区块链的移动边缘计算下的匿名身份验证方法
CN113553574A (zh) * 2021-07-28 2021-10-26 浙江大学 一种基于区块链技术的物联网可信数据管理方法
CN113572612A (zh) * 2021-06-22 2021-10-29 南京南瑞信息通信科技有限公司 一种国密sm9算法私钥分发方法、用户终端和密钥生成中心

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996673B2 (en) * 2004-05-12 2011-08-09 Echoworx Corporation System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008030184A1 (en) * 2006-07-04 2008-03-13 Khee Seng Chua Improved authentication system
WO2018076365A1 (zh) * 2016-10-31 2018-05-03 美的智慧家居科技有限公司 密钥协商方法及装置
WO2018127081A1 (zh) * 2017-01-04 2018-07-12 天地融科技股份有限公司 一种加密密钥获取方法及系统
CN109787758A (zh) * 2019-01-18 2019-05-21 如般量子科技有限公司 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和系统
CN109873815A (zh) * 2019-01-28 2019-06-11 西安电子科技大学 基于边缘计算的异构物联网认证方法、物联网安全平台
CN112073379A (zh) * 2020-08-12 2020-12-11 国网江苏省电力有限公司南京供电分公司 一种基于边缘计算的轻量级物联网安全密钥协商方法
CN112199649A (zh) * 2020-09-28 2021-01-08 扬州大学 基于区块链的移动边缘计算下的匿名身份验证方法
CN113572612A (zh) * 2021-06-22 2021-10-29 南京南瑞信息通信科技有限公司 一种国密sm9算法私钥分发方法、用户终端和密钥生成中心
CN113553574A (zh) * 2021-07-28 2021-10-26 浙江大学 一种基于区块链技术的物联网可信数据管理方法

Also Published As

Publication number Publication date
CN114398602A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN107919956B (zh) 一种面向物联网云环境下端到端安全保障方法
CN114398602B (zh) 一种基于边缘计算的物联网终端身份认证方法
Watro et al. TinyPK: securing sensor networks with public key technology
Mahalle et al. Identity establishment and capability based access control (iecac) scheme for internet of things
CN103702326B (zh) 一种基于移动Ad Hoc网络的无证书密钥协商方法
US11223486B2 (en) Digital signature method, device, and system
Saxena et al. Integrated distributed authentication protocol for smart grid communications
CN109756877B (zh) 一种海量NB-IoT设备的抗量子快速认证与数据传输方法
CN107181597B (zh) 一种基于身份代理群签名的PMIPv6认证系统及方法
CN103491540A (zh) 一种基于身份凭证的无线局域网双向接入认证系统及方法
Ma et al. PPSHA: Privacy preserving secure handover authentication scheme for all application scenarios in LTE-A networks
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
Cheng et al. Blockchain-based secure authentication scheme for medical data sharing
Cho et al. Using QKD in MACsec for secure Ethernet networks
CN116599659B (zh) 无证书身份认证与密钥协商方法以及系统
CN113411801A (zh) 一种基于身份签密的移动终端认证方法
CN106953727B (zh) D2d通信中基于无证书的组安全认证方法
CN110752934B (zh) 拓扑结构下网络身份交互认证的方法
CN116232759A (zh) 一种雾-区块链协助的智能电网聚合认证方法
Khedr Improved Lightweight Authentication Scheme for IEEE 802.11 p Vehicle-to-Infrastructure Communication.
Lin Secure cloud Internet of vehicles based on blockchain and data transmission scheme of map/reduce
KR20040013966A (ko) 이동 통신망에서의 인증 및 키 합의 방법
CN114070570A (zh) 一种电力物联网的安全通信方法
Yussoff et al. IBE-Trust: A security framework for wireless sensor networks
Cheng et al. Research on vehicle-to-cloud communication based on lightweight authentication and extended quantum key distribution

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
GR01 Patent grant
GR01 Patent grant