CN114710275B - 物联网环境下基于区块链的跨域认证和密钥协商方法 - Google Patents

物联网环境下基于区块链的跨域认证和密钥协商方法 Download PDF

Info

Publication number
CN114710275B
CN114710275B CN202210314352.9A CN202210314352A CN114710275B CN 114710275 B CN114710275 B CN 114710275B CN 202210314352 A CN202210314352 A CN 202210314352A CN 114710275 B CN114710275 B CN 114710275B
Authority
CN
China
Prior art keywords
domain
key
bcca
authentication
entity
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
CN202210314352.9A
Other languages
English (en)
Other versions
CN114710275A (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.)
Hunan University of Science and Technology
Original Assignee
Hunan University of Science and Technology
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 Hunan University of Science and Technology filed Critical Hunan University of Science and Technology
Priority to CN202210314352.9A priority Critical patent/CN114710275B/zh
Publication of CN114710275A publication Critical patent/CN114710275A/zh
Application granted granted Critical
Publication of CN114710275B publication Critical patent/CN114710275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Abstract

本发明公开了一种物联网环境下基于区块链的跨域认证和密钥协商方法,包括以下步骤:(1)初始化:每个实体、边缘服务器和基于区块链证书授权中心BCCA在初始化阶段生成自己的公私钥对;(2)用户注册:实体通过边缘服务器向BCCA发起注册请求,合法的实体收到边缘服务器返回的数字证书;(3)域内认证:已经注册并拥有数字证书的实体向边缘服务器发起在家乡域内的身份认证;(4)域间认证:一个域的可信实体到另一个域进行的身份认证,记为域间认证。本发明设计了基于椭圆曲线的物联网实体身份认证和密钥协商协议,保证低性能终端设备的高效通讯,不仅能提供更强的安全性能,而且更适用于性能较低的物联网边缘设备。

Description

物联网环境下基于区块链的跨域认证和密钥协商方法
技术领域
本发明涉及一种物联网环境下基于区块链的跨域认证和密钥协商方法。
背景技术
由于物联网环境中的异构性以及存在多个不同的安全域,其中以用户为代表的低性能终端设备计算能力有限,在一些要求实时性和安全性的物联网场景中,基于传统中心化的“云服务器-终端设备”认证方式难以实现现有的边缘计算环境下“边缘设备-终端设备”的高效跨域认证和密钥协商通信。基于公钥基础设施(Public Key Infrastructure,PKI)认证技术依赖数字证书进行身份认证,通过加密技术保证信息安全不被泄露,PKI作为安全基础设施,能够提供身份认证、数据完整性、数据保密性、数据公正性、不可抵赖性和时间戳六种安全服务。目前基于PKI技术的认证方案虽然能实现跨域认证但需要复杂的证书管理体系,对于物联网终端设备分布广、数量多并且涉及多个通信域等特性,PKI技术已经不能很好地解决物联网设备身份认证问题。
边缘计算(Edge Computing)是指数据或任务能够在靠近数据源头的网络边缘侧进行计算和执行计算的一种新型服务模型。随着物联网技术的快速发展和广泛应用,大量的终端设备接入网络中将产生海量级的数据,这为云中心及时有效地处理数据带来了更大的挑战。此时,边缘计算应运而生,与现有的云计算(Cloud Computing)集中式处理模型相结合,能有效解决云中心和网络边缘的大数据处理问题。边缘计算的一个优势在于其突破了终端硬件的限制,使移动终端等便携式设备大量参与到服务计算中来,实现了移动数据存取、智能负载均衡和低管理成本。
区块链(Blockchain)是一种按照时间顺序将数据区块以链条的方式组合而成的特定数据结构,并以密码学方式保证的不可篡改不可伪造的去中心化公共总账。区块链技术的发展主要依赖如下技术:
P2P网络技术
P2P网络技术又称为对等互联网技术或点对点技术,是区块链系统连接各对等节点的组网技术,是与中心化连接网络相对应的一种构建在互联网上的连接网络。
非对称加密算法
非对称加密算法是一种基于密钥的信息加解密方法,需要两个密钥:公钥(PublicKey)和私钥(Private Key)。由于加密和解密使用的是不同的密钥,因此这种加密算法被称之为非对称加密算法。常用的非对称加密算法有RSA、ECC等。
分布式数据库
分布式数据库是一个数据集合,这些数据在逻辑上属于同一个系统,但是物理上却是分散在计算机网络的若干节点上,并且要求网络上的各个节点都具有自治的能力,能执行本地的应用。区块链借助分布式数据库的思想,将数据分散至网络中的各个节点上,使区块链数据难以被篡改,保证了数据的安全性和稳定性。
默克尔树(Merkle Tree)
默克尔树是区块链的基本组成部分之一,是大量数据聚集成块的形式。假设目前有很多包含数据的块,将这些数据块两两分组,为每一个组建立一个包含每个数据块哈希指针的新的数据结构,知道得到一个单一的哈希指针,称之为根哈希。在这种情况下,可以从根哈希回溯到任意数据块,从而保证数据不能篡改,因为一旦攻击者篡改了默克尔树底部的数据,就会导致上一层的哈希指针不匹配,从而使得任意篡改行为都能被检测到。
块链式数据结构
块链式数据结构从另一个角度保证了交易数据的防篡改,当每个节点都有一批已经全网广播且已经发生的交易待打包成区块时,节点通过竞争计算随机数来争取记账权。当节点争取到记账权时,需要将新区块的前一个区块的哈希值、当前时间戳、一段时间发生的有效交易及其默克尔树根值等内容打包成一个区块,并全网广播。由于每一个区块都和前一个区块有着密码学链接,当区块达到一定长度之后,要想修改某个历史区块中的交易内容就必须将该区块之后所有区块的交易记录和哈希值进行重构,这是非常困难的,从而有效实现了交易数据的防篡改。
智能合约
智能合约是一套以数字形式定义的承诺,该承诺控制着数字资产并包含了合约参与者约定的权力和义务,由计算机自动执行。智能合约程序不仅仅是一个可以自动执行的计算机程序,它本身是一个系统参与者,对接收到的信息进行回应,可以接受和存储价值,也可以对外发送价值,其体现的是特定应用程序的业务逻辑。
微软公司早在1997年就进行了身份认证研究,这项研究允许用户通过身份联盟以相同的身份登录多个网站。但是,跨域身份验证的概念最早被提出并应用于Kerberos系统。基于PKI体系的物联网跨域认证和密钥协商已有学者做了如下研究:2014年,张文芳等人借助虚拟桥CA建立信任链路,实现虚拟企业级PKI域间认证,该方案采用的是椭圆曲线门限签名方案,签名时需要分割密钥因子,导致较高的通信代价,用户加入和取消的可拓展性也会降低。2018年,周致成等人利用区块链技术设计了基于区块链证书授权中心(BCCA)的信任模型,实现高效的跨域认证,有效减少了公钥算法中签名和验证的次数,但是设计中大量采用明文通信,存在较大的隐私泄露风险。2021年,张金花等人设计了边缘计算环境下基于区块链的跨域认证和密钥协商协议,但是普通的DH协议协商密钥的过程中不能抵抗中间人攻击。
发明内容
为了解决上述技术问题,本发明提供一种算法简单、安全性高的物联网环境下基于区块链的跨域认证和密钥协商方法。
本发明解决上述技术问题的技术方案是:一种物联网环境下基于区块链的跨域认证和密钥协商方法,包括以下步骤:
(1)初始化:每个实体、边缘服务器和基于区块链证书授权中心BCCA在初始化阶段生成自己的公私钥对;
(2)用户注册:实体通过边缘服务器向BCCA发起注册请求,合法的实体收到边缘服务器返回的数字证书;
(3)域内认证:已经注册并拥有数字证书的实体向边缘服务器发起在家乡域内的身份认证;
(4)域间认证:一个域的可信实体到另一个域进行的身份认证,记为域间认证;设定信任域A和B,A域的已注册实体Ea需要访问B域,在进行通信之前B域的边缘服务器ESB对A域的已注册实体Ea进行身份认证,完成身份认证后才可与B域的可信实体Eb进行密钥协商,交互信息。
上述物联网环境下基于区块链的跨域认证和密钥协商方法,所述步骤(1)中,初始化阶段是指Ea或者A域的边缘服务器ESA在注册身份前做的准备工作,以Ea的初始化过程为例,首先选择一个随机数da∈[1,n-1]作为私钥保存,并根据E(Fp)计算自己的公钥Qa=da·P;同理,每个实体、边缘服务器和BCCA都在初始化阶段生成自己的公私钥对;
其中E(Fp)为选取有限域Fp上随机生成的一条椭圆曲线,一旦椭圆曲线确定,椭圆曲线上的基点P也随之确定,P的阶数为n,n是一个素数。
上述物联网环境下基于区块链的跨域认证和密钥协商方法,所述步骤(2)中用户注册的具体过程为:
2-1)Ea→ESA:{Qa,IDa},Ea向ESA发送Qa和IDa并发起注册请求,其中Qa、IDa分别为Ea的公钥和ID;
2-2)ESA收到来自Ea的注册请求后,首先保存IDa,为了避免重放攻击,ESA发送一个用Ea的公钥Qa进行加密后的随机数N1给Ea确认注册请求;
2-3)Ea收到来自ESA的随机数N1时,返回验证一个用Ea的公钥Qa进行加密后的消息N1-1表明自己确认注册信息;
2-4)ESA→BCCA:{Qa,IDa,(N2)sig,N2},ESA收到来自Ea的验证消息后确认Ea身份,身份无确认误后发送Qa、IDa给BCCA,为其向BCCA申请数字证书,申请过程中ESA用私钥签名一个随机数N2用来声明Ea在ESA管辖范围内;BCCA检查Ea的IDa是否已经被注册,若已经被注册,则此次注册申请不通过,返回错误信息给ESA,若没有被注册则选择一个随机数N3然后为Ea计算数字证书并将数字证书的哈希值Hash(IDa)存储至区块链中,一个完整的数字证书签名由(ra,sa)两部分组成,其中ra=(da·P).x mod n,.x是取坐标的x轴的值,mod是取余操作,sa=N3 -1(ea+dCA·ra),其中哈希值ea=Hash(Qa.x,IDa,Ta),Ta为Ea数字证书签名的有效期,dCA为BCCA的私钥;
2-5)BCCA→Ea:{QCA,IDa,(ra,sa),Ta},BCCA将BCCA的公钥QCA,Ea的数字证书(ra,sa)和Ea数字证书签名的有效期Ta发送给Ea
上述物联网环境下基于区块链的跨域认证和密钥协商方法,所述步骤(3)中域内认证的具体过程为:
3-1)Ea→ESA:{IDa},Ea发送IDa向ESA发起认证请求;
3-2)ESA→BCCA:{IDa},ESA发送IDa向BCCA发起查询请求,查询IDa是否为已经注册过的实体;
3-3)BCCA→ESA:{Hash(IDa)},BCCA到区块链中查找是否存在IDa的注册记录,并查看证书撤销列表CRL中是否有Ea的被撤销记录,如果出现以下情况会被记入CRL中:a)私钥不安全;b)数字证书不安全;c)数字证书逾期;若存在IDa的注册记录且并不存在被撤销记录,则说明Ea为可信任的实体,BCCA返回从区块链中查找到的实体Ea的Hash(IDa)给ESA,否则返回错误;
3-4)ESA→Ea:{QA,IDA,(rA,sA),TA,N4P,N5P},ESA收到BCCA返回的结果,若返回的结果为错误,即为恶意用户,则认证失败,不返回消息至Ea;若返回的结果说明Ea为可信任的实体,通过认证,则ESA将自己的公钥QA、IDA、数字证书(rA,sA)和数字证书签名的有效期TA发送给Ea,同时采用椭圆曲线Diffie-Hellman密钥交换方法ECDH通过随机数N4、N5生成临时密钥N4P和公钥N5P一起发送给Ea
3-5)Ea→ESA:{N6P,N7P,ENa1,ENa2},Ea收到成功消息则可与ESA建立会话密钥;Ea选择随机数N6,N7计算对称密钥Ka=Hash(daQA.x,N6N5P.x)来加密(ra,sa)、IDa和N4P得到密文利用椭圆曲线加密方法ECES计算密文再发送N6P、N7P、ENa1和ENa2给ESA,然后计算会话密钥kaA=Hash(daQA.x,N6N5P.x,IDa,IDA);
3-6)ESA→Ea:ESA解密ENa2中的Qa然后才能顺利计算出对称密钥KA=Hash(dA·Qa.x,N5N6P.x),只有kA等于ka才能解密ENa1检查N4P.x和(ra,sa)的有效期,同时也计算出会话密钥kAa=Hash(dAQa.x,N5N6P.x,IDa,IDA)。
上述物联网环境下基于区块链的跨域认证和密钥协商方法,所述步骤3-4)中,椭圆曲线Diffie-Hellman密钥交换方法ECDH的过程为:
1.1:Alice选择随机数ma,计算Qa=maP发送给Bob;
1.2:Bob选择随机数mb,计算Qb=mbP发送给Alice;
1.3:Alice计算maQb
1.4:Bob计算mbQa
1.5:Alice和Bob生成会话密钥key=(maQb).x=(mbQa).x。
上述物联网环境下基于区块链的跨域认证和密钥协商方法,所述步骤3-5)中,Ea收到成功消息后,同样Ea也需要查验ESA的身份信息,检查ESA发送的Ta是否在有效期内,以及根据椭圆曲线数字签名算法ECDSA验证数字证书的签名信息是否有效,只有在通过验证的情况下才能进行后续的步骤;
椭圆曲线数字签名算法ECDSA的过程为:
2.1:Alice选择随机数ma作为私钥保存,计算公钥Qa=maP公开;
2.2:Alice对message签名时选择随机数k,并计算r=(kP).x mod n和s=k-1(Hash(message)+mar)mod n,此时对消息的签名是(r,s);
2.3:Bob收到Alice消息后验证签名时,计算s-1(Hash(message)P+rQa).x mod n是否等于r,若等于说明签名正确。
上述物联网环境下基于区块链的跨域认证和密钥协商方法,所述步骤3-5)中,椭圆曲线加密方法ECES的过程为:
3.1:Alice选择随机数ma作为私钥保存,计算公钥Qa=maP公开;
3.2:Bob用Qa对message加密时选择随机数k并计算kP和密文 一起发送给Alice;
3.3:Alice计算解密即可得到消息。
上述物联网环境下基于区块链的跨域认证和密钥协商方法,所述步骤(4)中域间认证的具体过程为:
4-1)Ea→ESB:(IDa,),Ea向ESB发起对B域的访问请求;
4-2)ESB→ESA:{IDa},ESB收到异域实体的跨域访问请求后向ESA请求认证Ea
4-3)ESA→ESB:{IDa,Qa},ESA收到本域实体的跨域请求后,回复确认信息给ESB
4-4)ESB→BCCA:{IDa},ESB向BCCA发起查询请求,查询IDa是否为已经注册过的实体;
4-5)BCCA→ESB:{Hash(IDa)},BCCA到区块链中查找是否存在IDa的注册记录,如果存在则返回该实体的数字证书中查询到的Hash(IDa),否则返回错误;
4-6)ESB→Ea:{QB},ESB确认Ea为可信实体通过认证,将B域的公钥发送给Ea使得Ea能与B域任意设备实现暂时通信;
4-7)Ea→Eb:{Qa,IDa,(ra,sa),Ta,N8P,N9P},Ea收到ESB返回的实体Eb公钥信息后,Ea尝试与Eb建立连接,Ea将自己的公钥Qa、IDa、数字证书(ra,sa)和数字证书签名的有效期Ta发送给Eb,同时采用椭圆曲线Diffie-Hellman密钥交换方法ECDH通过随机数N8、N9生成临时密钥N8P和公钥N9P一起发送给Eb
4-8)Eb→Ea:{N10P,N11P,ENa3,ENa4},Eb收到消息后开始与Ea建立会话密钥;Eb选择随机数N10,N11计算对称密钥Kb=Hash(dbQa.x,N10N9P.x)来加密(rb,sb)、IDb和N8P得到密文(rb,sb)为Eb的数字证书,IDb为Eb的ID,Tb为Eb数字证书签名的有效期;利用椭圆曲线加密方法ECES计算密文再发送N10P、N11P、ENa3和ENa4给Ea,然后计算会话密钥kba=Hash(dbQa.x,N10N9P.x,IDb,IDa);
4-9)Ea→Eb:Ea解密ENa4中的Qa并计算出对称密钥Kb=Hash(dbQa.x,N10N9P.x),解密ENa3检查N8P.x和(rb,sb),计算会话密钥kab=Hash(dbQa.x,N9N10P.x,IDb,IDa)。
本发明的有益效果在于:
1、本发明提出一个在物联网环境下基于区块链的跨域认证方案,解决了多个PKI应用域情况下实体的身份认证的问题。相比传统的单个CA情况下容易发生单点失效,本发明将多个CA节点布置在区块链上,既能有效避免单点失效,还能保证认证过程的安全性。
2、本发明在方案设计过程中基于边缘设备低性能、实时性、安全性等特点,选择具有密钥长度短、数字签名快、计算数据量小等优势的椭圆曲线密码体制,设计了基于椭圆曲线的物联网实体身份认证和密钥协商协议,保证低性能终端设备的高效通讯,不仅能有效抵抗中间人攻击,而且更适用于性能较低的物联网边缘设备。
3、本发明将边缘服务器部署在终端设备附近,通过边缘服务器将终端设备的认证进行本地化处理,减轻了云中心的网络负担,同时也提高了认证效率。结合区块链的运用,更大程度保证了方案在实际运用中的安全性。
附图说明
图1为本发明的整体流程图。
图2为本发明的系统框架图。
图3为本发明的用户注册示意图。
图4为本发明的域内认证示意图。
图5为本发明的域间认证示意图。
具体实施方式
下面结合附图和实施例对本实用新型做进一步的说明。
如图2所示,图2为本发明的系统框架图,ESA作为一个边缘服务器,是管理可信域A(Domain A)中设备,并且充当终端实体E和区块链认证中心(Blockchain CertificateAuthentication,BCCA)之间沟通的桥梁。BCCA将收到的信息上传至区块链,利用区块链的不可篡改性及可追溯性保证信息的真实准确。边缘实体Ea经过注册后可以与域内的认证后实体进行通信,也可以对跨域设备进行访问。
如图1所示,一种物联网环境下基于区块链的跨域认证和密钥协商方法,包括以下步骤:
(1)初始化:每个实体、边缘服务器和基于区块链证书授权中心BCCA在初始化阶段生成自己的公私钥对。
初始化阶段是指Ea或者A域的边缘服务器ESA在注册身份前做的准备工作,以Ea的初始化过程为例,首先选择一个随机数da∈[1,n-1]作为私钥保存,并根据E(Fp)计算自己的公钥Qa=da·P;同理,每个实体、边缘服务器和BCCA都在初始化阶段生成自己的公私钥对;
其中E(Fp)为选取有限域Fp上随机生成的一条椭圆曲线,一旦椭圆曲线确定,椭圆曲线上的基点P也随之确定,P的阶数为n,n是一个素数。
(2)用户注册:实体通过边缘服务器向BCCA发起注册请求,合法的实体收到边缘服务器返回的数字证书。
如图3所示,用户注册的具体过程为:
2-1)Ea→ESA:{Qa,IDa},Ea向ESA发送Qa和IDa并发起注册请求,其中Qa、IDa分别为Ea的公钥和ID;
2-2)ESA收到来自Ea的注册请求后,首先保存IDa,为了避免重放攻击,ESA发送一个用Ea的公钥Qa进行加密后的随机数N1给Ea确认注册请求;
2-3)Ea收到来自ESA的随机数N1时,返回验证一个用Ea的公钥Qa进行加密后的消息N1-1表明自己确认注册信息;
2-4)ESA→BCCA:{Qa,IDa,(N2)sig,N2},ESA收到来自Ea的验证消息后确认Ea身份,身份无确认误后发送Qa、IDa给BCCA,为其向BCCA申请数字证书,申请过程中ESA用私钥签名一个随机数N2用来声明Ea在ESA管辖范围内,(N2)sig为ESA用私钥签名的随机数N2,但是用私钥签名的随机数任何设备都可以用公钥解密,单独发送随机数N2的初衷是确保BCCA收到的随机数一定是N2而不是伪造的随机数,公钥和私钥的关系在于:公钥加密的内容只有私钥可以解密,而私钥签名的内容只有公钥可以解密;BCCA检查Ea的IDa是否已经被注册,若已经被注册,则此次注册申请不通过,返回错误信息给ESA,若没有被注册则选择一个随机数N3然后为Ea计算数字证书并将数字证书的哈希值Hash(IDa)存储至区块链中,一个完整的数字证书签名由(ra,sa)两部分组成,其中ra=(da·P).x mod n,.x是取坐标的x轴的值,mod是取余操作,sa=N3 -1(ea+dCA·ra),其中哈希值ea=Hash(Qa.x,IDa,Ta),Hash(Qa.x,IDa,Ta)表示对Qa.x,IDa,Ta取哈希值,然后将这个哈希值记录为ea,ea是签名后部分sa的一个组成部分,Ta为Ea数字证书签名的有效期,dCA为BCCA的私钥;
2-5)BCCA→Ea:{QCA,IDa,(ra,sa),Ta},BCCA将BCCA的公钥QCA、分配给Ea的数字证书(ra,sa)和HEa数字证书签名的有效期Ta发送给Ea
(3)域内认证:已经注册并拥有数字证书的实体向边缘服务器发起在家乡域内的身份认证。
如图4所示,域内认证的具体过程为:
3-1)Ea→ESA:{IDa},Ea发送IDa向ESA发起认证请求;
3-2)ESA→BCCA:{IDa},ESA发送IDa向BCCA发起查询请求,查询IDa是否为已经注册过的实体;
3-3)BCCA→ESA:{Hash(IDa)},BCCA到区块链中查找是否存在IDa的注册记录,并查看证书撤销列表CRL中是否有Ea的被撤销记录,如果出现以下情况会被记入CRL中:a)私钥不安全;b)数字证书不安全;c)数字证书逾期;若存在IDa的注册记录且并不存在被撤销记录,则说明Ea为可信任的实体,BCCA返回从区块链中查找到的实体Ea的Hash(IDa)给ESA,否则返回错误;
3-4)ESA→Ea:{QA,IDA,(rA,sA),TA,N4P,N5P},ESA收到BCCA返回的结果,若返回的结果为错误,即为恶意用户,则认证失败,不返回消息至Ea;若返回的结果说明Ea为可信任的实体,通过认证,则ESA将自己的公钥QA、IDA、数字证书(rA,sA)和数字证书签名的有效期TA发送给Ea,同时采用椭圆曲线Diffie-Hellman密钥交换方法ECDH通过随机数N4、N5生成临时密钥N4P和公钥N5P一起发送给Ea
椭圆曲线Diffie-Hellman密钥交换方法ECDH的过程为:
1.1:Alice选择随机数ma,计算Qa=maP发送给Bob;
1.2:Bob选择随机数mb,计算Qb=mbP发送给Alice;
1.3:Alice计算maQb
1.4:Bob计算mbQa
1.5:Alice和Bob生成会话密钥key=(maQb).x=(mbQa).x。
3-5)Ea→ESA:{N6P,N7P,ENa1,ENa2},Ea收到成功消息则可与ESA建立会话密钥,Ea收到成功消息后,同样Ea也需要查验ESA的身份信息,检查ESA发送的Ta是否在有效期内,以及根据椭圆曲线数字签名算法ECDSA验证数字证书的签名信息是否有效,只有在通过验证的情况下才能进行后续的步骤;
椭圆曲线数字签名算法ECDSA的过程为:
2.1:Alice选择随机数ma作为私钥保存,计算公钥Qa=maP公开;
2.2:Alice对message签名时选择随机数k,并计算r=(kP).x mod n和s=k-1(Hash(message)+mar)mod n,此时对消息的签名是(r,s);
2.3:Bob收到Alice消息后验证签名时,计算s-1(Hash(message)P+rQa).x mod n是否等于r,若等于说明签名正确。
Ea选择随机数N6,N7计算对称密钥Ka=Hash(daQA.x,N6N5P.x)来加密(ra,sa)、IDa和N4P得到密文利用椭圆曲线加密方法ECES计算密文/>再发送N6P、N7P、ENa1和ENa2给ESA,然后计算会话密钥kaA=Hash(daQA.x,N6N5P.x,IDa,IDA);
椭圆曲线加密方法ECES的过程为:
3.1:Alice选择随机数ma作为私钥保存,计算公钥Qa=maP公开;
3.2:Bob用Qa对message加密时选择随机数k并计算kP和密文 一起发送给Alice;
3.3:Alice计算解密即可得到消息。
3-6)ESA→Ea:ESA解密ENa2中的Qa然后才能顺利计算出对称密钥KA=Hash(dA·Qa.x,N5N6P.x),只有kA等于ka才能解密ENa1检查N4P.x和(ra,sa)的有效期,同时也计算出会话密钥kAa=Hash(dAQa.x,N5N6P.x,IDa,IDA)。
(4)域间认证:一个域的可信实体到另一个域进行的身份认证,记为域间认证;设定信任域A和B,A域的已注册实体Ea需要访问B域,在进行通信之前B域的边缘服务器ESB对A域的已注册实体Ea进行身份认证,完成身份认证后才可与B域的可信实体Eb进行密钥协商,交互信息。
如图5所示,域间认证的具体过程为:
4-1)Ea→ESB:(IDa),Ea向ESB发起对B域的访问请求;
4-2)ESB→ESA:{IDa},ESB收到异域实体的跨域访问请求后向ESA请求认证Ea
4-3)ESA→ESB:{IDa,Qa},ESA收到本域实体的跨域请求后,回复确认信息给ESB
4-4)ESB→BCCA:{IDa},ESB向BCCA发起查询请求,查询IDa是否为已经注册过的实体;
4-5)BCCA→ESB:{Hash(IDa)},BCCA到区块链中查找是否存在IDa的注册记录,如果存在则返回该实体的数字证书中查询到的Hash(IDa),否则返回错误;
4-6)ESB→Ea:{QB},ESB确认Ea为可信实体通过认证,将B域的公钥发送给Ea使得Ea能与B域任意设备实现暂时通信;
4-7)Ea→Eb:{Qa,IDa,(ra,sa),Ta,N8P,N9P},Ea收到ESB返回的实体Eb公钥信息后,Ea尝试与Eb建立连接,Ea将自己的公钥Qa、IDa、数字证书(ra,sa)和数字证书签名的有效期Ta发送给Eb,同时采用椭圆曲线Diffie-Hellman密钥交换方法ECDH通过随机数N8、N9生成临时密钥N8P和公钥N9P一起发送给Eb
4-8)Eb→Ea:{N10P,N11P,ENa3,ENa4},Eb收到消息后开始与Ea建立会话密钥;Eb选择随机数N10,N11计算对称密钥Kb=Hash(dbQa.x,N10N9P.x)来加密(rb,sb)、IDb和N8P得到密文(rb,sb)为Eb的数字证书,IDb为Eb的ID,Tb为Eb数字证书签名的有效期;利用椭圆曲线加密方法ECES计算密文再发送N10P、N11P、ENa3和ENa4给Ea,然后计算会话密钥kba=Hash(dbQa.x,N10N9P.x,IDb,IDa);
4-9)Ea→Eb:Ea解密ENa4中的Qa并计算出对称密钥Kb=Hash(dbQa.x,N10N9P.x),解密ENa3检查N8P.x和(rb,sb),计算会话密钥kab=Hash(dbQa.x,N9N10P.x,IDb,IDa)。

Claims (5)

1.一种物联网环境下基于区块链的跨域认证和密钥协商方法,其特征在于,包括以下步骤:
(1)初始化:每个实体、边缘服务器和基于区块链证书授权中心BCCA在初始化阶段生成自己的公私钥对;
(2)用户注册:实体通过边缘服务器向BCCA发起注册请求,合法的实体收到边缘服务器返回的数字证书;
(3)域内认证:已经注册并拥有数字证书的实体向边缘服务器发起在家乡域内的身份认证;
(4)域间认证:一个域的可信实体到另一个域进行的身份认证,记为域间认证;设定信任域A和B,A域的已注册实体Ea需要访问B域,在进行通信之前B域的边缘服务器ESB对A域的已注册实体Ea进行身份认证,完成身份认证后才可与B域的可信实体Eb进行密钥协商,交互信息;
所述步骤(1)中,初始化阶段是指Ea或者A域的边缘服务器ESA在注册身份前做的准备工作,以Ea的初始化过程为例,首先选择一个随机数da∈[1,n-1]作为私钥保存,并根据E(Fp)计算自己的公钥Qa=da·P;同理,每个实体、边缘服务器和BCCA都在初始化阶段生成自己的公私钥对;
其中E(Fp)为选取有限域Fp上随机生成的一条椭圆曲线,一旦椭圆曲线确定,椭圆曲线上的基点P也随之确定,P的阶数为n,n是一个素数;
所述步骤(2)中用户注册的具体过程为:
2-1)Ea→ESA:{Qa,IDa},Ea向ESA发送Qa和IDa并发起注册请求,其中Qa、IDa分别为Ea的公钥和ID;
2-2)ESA收到来自Ea的注册请求后,首先保存IDa,为了避免重放攻击,ESA发送一个用Ea的公钥Qa进行加密后的随机数N1给Ea确认注册请求;
2-3)Ea收到来自ESA的随机数N1时,返回验证一个用Ea的公钥Qa进行加密后的消息N1-1表明自己确认注册信息;
2-4)ESA→BCCA:{Qa,IDa,(N2)sig,N2},ESA收到来自Ea的验证消息后确认Ea身份,身份无确认误后发送Qa、IDa给BCCA,为其向BCCA申请数字证书,申请过程中ESA用私钥签名一个随机数N2用来声明Ea在ESA管辖范围内;BCCA检查Ea的IDa是否已经被注册,若已经被注册,则此次注册申请不通过,返回错误信息给ESA,若没有被注册则选择一个随机数N3然后为Ea计算数字证书并将数字证书的哈希值Hash(IDa)存储至区块链中,一个完整的数字证书签名由(ra,sa)两部分组成,其中ra=(da·P).xmod n,.x是取坐标的x轴的值,mod是取余操作,sa=N3 -1(ea+dCA·ra),其中哈希值ea=Hash(Qa.x,IDa,Ta),Ta为Ea数字证书签名的有效期,dCA为BCCA的私钥;
2-5)BCCA→Ea:{QCA,IDa,(ra,sa),Ta},BCCA将BCCA的公钥QCA,Ea的数字证书签名(ra,Sa)和Ea数字证书签名的有效期Ta发送给Ea
所述步骤(3)中域内认证的具体过程为:
3-1)Ea→ESA:{IDa},Ea发送IDa向ESA发起认证请求;
3-2)ESA→BCCA:{IDa},ESA发送IDa向BCCA发起查询请求,查询IDa是否为已经注册过的实体;
3-3)BCCA→ESA:{Hash(IDa)},BCCA到区块链中查找是否存在IDa的注册记录,并查看证书撤销列表CRL中是否有Ea的被撤销记录,如果出现以下情况会被记入CRL中:a)私钥不安全;b)数字证书不安全;c)数字证书逾期;若存在IDa的注册记录且并不存在被撤销记录,则说明Ea为可信任的实体,BCCA返回从区块链中查找到的实体Ea的Hash(IDa)给ESA,否则返回错误;
3-4)ESA→Ea:{QA,IDA,(rA,sA),TA,N4P,N5P},ESA收到BCCA返回的结果,若返回的结果为错误,即为恶意用户,则认证失败,不返回消息至Ea;若返回的结果说明Ea为可信任的实体,通过认证,则ESA将自己的公钥QA、IDA、数字证书(rA,sA)和数字证书签名的有效期TA发送给Ea,同时采用椭圆曲线Diffie-Hellman密钥交换方法ECDH通过随机数N4、N5生成临时密钥N4P和公钥N5P一起发送给Ea
3-5)Ea→ESA:{N6P,N7P,ENa1,ENa2},Ea收到成功消息则可与ESA建立会话密钥;Ea选择随机数N6,N7计算对称密钥Ka=Hash(daQA.x,N6N5P.x)来加密(ra,sa)、IDa和N4P得到密文利用椭圆曲线加密方法ECES计算密文再发送N6P、N7P、ENa1和ENa2给ESA,然后计算会话密钥kaA=Hash(daQA.x,N6N5P.x,IDa,IDA);
3-6)ESA→Ea:ESA解密ENa2中的Qa然后才能顺利计算出对称密钥KA=Hash(dA·Qa.x,N5N6P.x),只有kA等于ka才能解密ENa1检查N4P.x和(ra,sa)的有效期,同时也计算出会话密钥kAa=Hash(dAQa.x,N5N6P.x,IDa,IDA)。
2.根据权利要求1所述的物联网环境下基于区块链的跨域认证和密钥协商方法,其特征在于,所述步骤3-4)中,椭圆曲线Diffie-Hellman密钥交换方法ECDH的过程为:
1.1:Alice选择随机数ma,计算Qa=maP发送给Bob;
1.2:Bob选择随机数mb,计算Qb=mbP发送给Alice;
1.3:Alice计算maQb
1.4:Bob计算mbQa
1.5:Alice和Bob生成会话密钥key=(maQb).x=(mbQa).x。
3.根据权利要求1所述的物联网环境下基于区块链的跨域认证和密钥协商方法,其特征在于,所述步骤3-5)中,Ea收到成功消息后,同样Ea也需要查验ESA的身份信息,检查ESA发送的Ta是否在有效期内,以及根据椭圆曲线数字签名算法ECDSA验证数字证书的签名信息是否有效,只有在通过验证的情况下才能进行后续的步骤;
椭圆曲线数字签名算法ECDSA的过程为:
2.1:Alice选择随机数ma作为私钥保存,计算公钥Qa=maP公开;
2.2:Alice对message签名时选择随机数k,并计算r=(kP).x mod n和s=k-1(Hash(message)+mar)mod n,此时对消息的签名是(r,s);
2.3:Bob收到Alice消息后验证签名时,计算s-1(Hash(message)P+rQa).x mod n是否等于r,若等于说明签名正确。
4.根据权利要求1所述的物联网环境下基于区块链的跨域认证和密钥协商方法,其特征在于,所述步骤3-5)中,椭圆曲线加密方法ECES的过程为:
3.1:Alice选择随机数ma作为私钥保存,计算公钥Qa=maP公开;
3.2:Bob用Qa对message加密时选择随机数k并计算kP和密文 一起发送给Alice;
3.3:Alice计算解密即可得到消息。
5.根据权利要求1所述的物联网环境下基于区块链的跨域认证和密钥协商方法,其特征在于,所述步骤(4)中域间认证的具体过程为:
4-1)Ea→ESB:(IDa,),Ea向ESB发起对B域的访问请求;
4-2)ESB→ESA:{IDa},ESB收到异域实体的跨域访问请求后向ESA请求认证Ea
4-3)ESA→ESB:{IDa,Qa},ESA收到本域实体的跨域请求后,回复确认信息给ESB
4-4)ESB→BCCA:{IDa},ESB向BCCA发起查询请求,查询IDa是否为已经注册过的实体;
4-5)BCCA→ESB:{Hash(IDa)},BCCA到区块链中查找是否存在IDa的注册记录,如果存在则返回该实体的数字证书中查询到的Hash(IDa),否则返回错误;
4-6)ESB→Ea:{QB},ESB确认Ea为可信实体通过认证,将B域的公钥发送给Ea使得Ea能与B域任意设备实现暂时通信;
4-7)Ea→Eb:{Qa,IDa,(ra,sa),Ta,N8P,N9P},Ea收到ESB返回的实体Eb公钥信息后,Ea尝试与Eb建立连接,Ea将自己的公钥Qa、IDa、数字证书(ra,sa)和数字证书签名的有效期Ta发送给Eb,同时采用椭圆曲线Diffie-Hellman密钥交换方法ECDH通过随机数N8、N9生成临时密钥N8P和公钥N9P一起发送给Eb
4-8)Eb→Ea:{N10P,N11P,ENa3,ENa4},Eb收到消息后开始与Ea建立会话密钥;Eb选择随机数N10,N11计算对称密钥Kb=Hash(dbQa.x,N10N9P.x)来加密(rb,sb)、IDb和N8P得到密文(rb,sb)为Eb的数字证书,IDb为Eb的ID,Tb为Eb数字证书签名的有效期;利用椭圆曲线加密方法ECES计算密文再发送N10P、N11P、ENa3和ENa4给Ea,然后计算会话密钥kba=Hash(dbQa.x,N10N9P.x,IDb,IDa);
4-9)Ea→Eb:Ea解密ENa4中的Qa并计算出对称密钥Kb=Hash(dbQa.x,N10N9P.x),解密ENa3检查N8P.x和(rb,sb),计算会话密钥kab=Hash(dbQa.x,N9N10P.x,IDb,IDa)。
CN202210314352.9A 2022-03-28 2022-03-28 物联网环境下基于区块链的跨域认证和密钥协商方法 Active CN114710275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210314352.9A CN114710275B (zh) 2022-03-28 2022-03-28 物联网环境下基于区块链的跨域认证和密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210314352.9A CN114710275B (zh) 2022-03-28 2022-03-28 物联网环境下基于区块链的跨域认证和密钥协商方法

Publications (2)

Publication Number Publication Date
CN114710275A CN114710275A (zh) 2022-07-05
CN114710275B true CN114710275B (zh) 2024-03-08

Family

ID=82171259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210314352.9A Active CN114710275B (zh) 2022-03-28 2022-03-28 物联网环境下基于区块链的跨域认证和密钥协商方法

Country Status (1)

Country Link
CN (1) CN114710275B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134163B (zh) * 2022-07-18 2023-08-25 西交利物浦大学 跨域密钥管理系统、跨域密钥建立方法、设备及存储介质
CN115622716B (zh) * 2022-12-19 2023-03-28 湖南天河国云科技有限公司 基于区块链的物联网设备身份认证方法
CN116455674B (zh) * 2023-06-05 2023-08-18 天津市城市规划设计研究总院有限公司 基于区块链的用户身份信息管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743172A (zh) * 2018-12-06 2019-05-10 国网山东省电力公司电力科学研究院 基于联盟区块链v2g网络跨域认证方法、信息数据处理终端
CN113300836A (zh) * 2021-04-23 2021-08-24 暨南大学 一种基于区块链和ecc的车载网络报文认证方法及系统
CN113747433A (zh) * 2021-09-07 2021-12-03 重庆邮电大学 一种雾网络中基于区块侧链结构的设备认证方法
CN113824563A (zh) * 2021-09-07 2021-12-21 电子科技大学 一种基于区块链证书的跨域身份认证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743172A (zh) * 2018-12-06 2019-05-10 国网山东省电力公司电力科学研究院 基于联盟区块链v2g网络跨域认证方法、信息数据处理终端
CN113300836A (zh) * 2021-04-23 2021-08-24 暨南大学 一种基于区块链和ecc的车载网络报文认证方法及系统
CN113747433A (zh) * 2021-09-07 2021-12-03 重庆邮电大学 一种雾网络中基于区块侧链结构的设备认证方法
CN113824563A (zh) * 2021-09-07 2021-12-21 电子科技大学 一种基于区块链证书的跨域身份认证方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张金花等.边缘计算环境下基于区块链的跨域认证与密钥协商协议.信息安全学报.2021,第6卷(第1期),第2节. *
边缘计算环境下基于区块链的跨域认证与密钥协商协议;张金花等;信息安全学报;第6卷(第1期);第2节 *

Also Published As

Publication number Publication date
CN114710275A (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
Wang et al. Blockchain-based anonymous authentication with key management for smart grid edge computing infrastructure
Guan et al. APPA: An anonymous and privacy preserving data aggregation scheme for fog-enhanced IoT
CN112491846B (zh) 一种跨链的区块链通信方法及装置
Wang et al. Security analysis of a single sign-on mechanism for distributed computer networks
Mandt et al. Certificateless authenticated two-party key agreement protocols
CN114710275B (zh) 物联网环境下基于区块链的跨域认证和密钥协商方法
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
Al-Riyami Cryptographic schemes based on elliptic curve pairings
CN104079412B (zh) 基于智能电网身份安全的无可信pkg的门限代理签名方法
CN110278088A (zh) 一种sm2协同签名方法
CN114362993B (zh) 一种区块链辅助的车联网安全认证方法
CN101145913A (zh) 一种实现网络安全通信的方法及系统
Li et al. Smart contract-based cross-domain authentication and key agreement system for heterogeneous wireless networks
Itoo et al. A robust ECC-based authentication framework for energy internet (EI)-based vehicle to grid communication system
Ayub et al. Secure consumer-centric demand response management in resilient smart grid as industry 5.0 application with blockchain-based authentication
CN111264045B (zh) 基于异构身份的交互系统及方法
Zhang et al. Ndn-mps: Supporting multiparty authentication over named data networking
CN116599659B (zh) 无证书身份认证与密钥协商方法以及系统
Chen et al. Provable secure group key establishment scheme for fog computing
Nkurunziza et al. ECAAP‐SG: Efficient certificateless anonymous authentication protocol for SG
Cao et al. Identity-based proxy signature for cloud service in saas
CN115459975A (zh) 一种基于Chebyshev多项式的工业边缘设备无证书接入认证方法
Quercia et al. Tata: Towards anonymous trusted authentication
Saxena et al. A Lightweight and Efficient Scheme for e-Health Care System using Blockchain Technology
Porambage et al. Public Key Based Protocols–EC Crypto

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