CN114499988B - 一种基于区块链的物联网密钥分配及设备认证方法 - Google Patents
一种基于区块链的物联网密钥分配及设备认证方法 Download PDFInfo
- Publication number
- CN114499988B CN114499988B CN202111648631.0A CN202111648631A CN114499988B CN 114499988 B CN114499988 B CN 114499988B CN 202111648631 A CN202111648631 A CN 202111648631A CN 114499988 B CN114499988 B CN 114499988B
- Authority
- CN
- China
- Prior art keywords
- internet
- things
- equipment
- key
- public key
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3239—Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
- H04L9/3252—Cryptographic 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 digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于区块链的物联网密钥分配及设备认证方法,该方法包括构建基于区块链的物联网设备自主公钥基础设施系统、访问授权、物联网设备注册、身份密钥请求和身份验证,其中身份验证包括物联网设备所有者验证和物联网设备验证。本发明以区块链为基础来实现物联网设备自主公钥基础设施,其中个人完全控制和维护其拥有的物联网设备的身份、公钥和私钥;并使用加密证明,区块链作为从去中心化的密钥存储数据库获得的身份验证的基础证明,保障了安全性。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种基于区块链的物联网密钥分配及设备认证方法。
背景技术
物联网技术的发展对社会的公共和私人方面都产生了重大影响,给人们的日常生活带来许多好处。但与此同时,物联网技术也带来诸多挑战,其中最重要的是设备间数据交换的安全性问题。例如,在远程医疗物联网应用中,可穿戴和可植入的生物医学传感器可以从患者处收集健康信息,并将其转发给对应医生。由于健康数据是敏感的,第三方可能会以窃取数据为目标来获取经济利益,所以必须防止对这种对传感器进行未经授权和未经认证的控制行为。因此,安全和隐私是物联网中各种技术和应用发展的关键问题。
在物联网环境中,公钥分发和设备认证仍然是最重要的安全挑战。为了验证物联网设备的真实性,现有的解决方案依赖于由证书颁发机构支持的公钥基础设施,然而基于证书颁发机构的公钥基础设施在单点故障和证书透明度方面存在缺陷。由于物联网设备的处理能力和内存有限,为无数物联网设备中的每一个分发和提供证书是不切实际的。
区块链技术可以为去中心化的网络提供一个不可变的、透明的、安全的数据库。使用区块链建立去中心的公钥基础设施可以消除使用证书颁发机构造成的潜在故障点,同时基于区块链的公钥基础设施可以通过公共记录和对证书的监控来提供证书透明度。可以用区块链来创建一个平台,使区块链作为物联网设备身份认证的基础证据。保护物联网设备的身份免遭盗窃,减少欺诈活动,为机器对机器(M2M)通信认证提供更全面的安全功能,而不需要任何中心化的仲裁器或服务。可以广泛应用于远程医疗、电力、物流、智能家居等领域。
发明内容
本发明提出的基于区块链的物联网密钥分配及设备认证方法,是以区块链为基础来实现物联网设备自主公钥基础设施,其中个人完全控制和维护其拥有的物联网设备的身份、公钥和私钥;并使用加密证明,区块链作为从去中心化的密钥存储数据库获得的身份验证(公钥)的基础证明。
一种基于区块链的物联网设备自主公钥基础设施系统(以下简称系统)由以下几部分构成:
物联网设备所有者(IoTDOs):是物联网设备的保管者。它们负责为自己的物联网设备生成ID和一对公钥和私钥。所述系统可能有几个物联网设备所有者。
授权预言机(AO):由区块链网络授权,根据其证书添加IoTDOs。
去中心化密钥服务器(DKSB):是一个去中心的存储库,存储系统中IoTDOs生成的公钥和ID。
智能合约:用于存储、修改和检索信息合法所有权的证据:公钥和ID。在合同之外执行所有繁重的加密操作,然后将哈希发送回区块链上的智能合约。智能合约包含以下功能:添加新成员,添加设备所有证明,更新设备所有证明,获得用户身份证明,删除成员等。
物联网设备:每个物联网节点将由物联网设备所有者注册到区块链,物联网设备所有者将拥有一个标识,该标识将在通用名称空间中唯一标识设备。对于一个要连接到另一个物联网设备(即目标物联网设备)的物联网设备,将使用该物联网设备的标识和私钥来提出身份请求。该物联网设备将创建一个数字签名的请求,并将其发送到目标物联网设备,目标物联网设备将使用区块链服务来验证发送者的身份。
边缘服务器:边缘服务器充当资源受限的不能与区块链服务直接交互的物联网设备的代理。
本发明提出的一种基于区块链的物联网密钥分配及设备认证方法,所述方法包括:
步骤1)构建一种基于区块链的物联网设备自主公钥基础设施系统(以下简称系统),该系统结构如上所述。系统使用椭圆曲线数字签名算法(ECDSA)为用户生成公私钥对。系统首先确定一个椭圆曲线,椭圆曲线C定义在Fp(Fp是一个有限域,由系统确定)上,p为一个素数,然后生成一组参数(p,a,b,G,n,h):a,b为椭圆曲线C的参数;G为椭圆曲线C上的一个基点,表示为(xG,yG)(xG、yG分别代表横、纵坐标);n为G在Fp中规定的序号;h为余因数((p,a,b,G,n,h)是全局参数,系统中所有用户可共享使用)。系统为用户生成公私钥对的方法为:
①选择随机整数SK,SK∈[1,n-1];
②计算PK=SK*G(*表示相乘);
该用户的公钥是PK,私钥是SK。
步骤2)访问授权:为了访问区块链网络,用户将其身份标识和公钥发送到区块链网络上的AO进行验证。成功验证后,AO调用相应的智能合约函数将新用户的身份标识和公钥的摘要添加到系统中;若验证不成功,则拒绝该用户访问区块链网络。
步骤3)物联网设备注册:给定具有标识符为δ1,δ2,...,δm的m个物联网设备列表的用户,所述系统中的物联网设备所有者使用以下算法:
(1)选取P∈C,对于每一个δi,i=1,2,…,m,m为大于或等于1的正整数,设置以下内容:
通过该算法用户分别得到了这m个物联网设备的一对公钥和私钥以及经过认证的公钥的累积Mroot。用户通过调用智能合约函数addOwnershipProof(ID,Mroot),将Mroot添加到区块链网络中,其中ID表示用户的身份标识。
步骤4)身份密钥请求:某物联网设备要向另一物联网设备(即目标物联网设备)提出身份请求,首先从DKSB访问目标物联网设备的公钥,然后该物联网设备用自己的私钥使用椭圆曲线数字签名算法对身份请求消息创建一个数字签名,然后将身份请求消息和数字签名发送到目标物联网设备。
步骤5)身份验证:包括物联网设备所有者验证和物联网设备验证。
物联网设备所有者验证:当某一物联网设备A收到来自其他物联网设备B的请求,物联网设备A的边缘服务器可以通过调用相应的智能合约函数来验证物联网设备B的所有者是否是系统成员,若不是,则丢掉该请求,否则,从DKSB中检索物联网设备B的所有者的公钥,然后通过验证签名来验证该请求是否由实际物联网设备B的所有者授权。若验证成功,则进行物联网设备验证。
物联网设备验证:物联网设备A的边缘服务器从DKSB中检索物联网设备B的公钥和Merkle树(默克尔树)路径上的所有同级物联网公钥,计算物联网设备B的公钥哈希值以及Merkle树路径上兄弟物联网公钥的哈希值,然后计算Merkle树的根值,判断该根值与DKSB中存储的根值是否一致,一致则接受物联网设备B的公钥,物联网设备A和物联网设备B可交换通话密钥进行通信,否则,拒绝物联网设备B的公钥。
本发明提出了一种基于区块链技术的物联网设备自主公钥基础设施系统,用户可以完全控制和维护自己所拥有的物联网设备的ID、公钥和私钥;本发明提出的一种基于区块链的物联网密钥分配及设备认证方法,使用加密证明,区块链作为验证从去中心化密钥服务器获得的身份(公钥)的基础证明,保障安全性。
附图说明
图1是基于区块链的物联网设备自主公钥基础设施结构图
图2是基于区块链的物联网密钥分配流程图
图3是基于区块链的物联网设备认证流程图
具体实施方式
下面将结合实施例和附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提出了一种基于区块链的物联网密钥分配及设备认证方法,具体包括以下步骤:
步骤1)构建基于区块链的物联网设备自主公钥基础设施系统,以下简称为系统,该系统结构包括物联网设备所有者(IoTDOs)、授权预言机(AO)、去中心化密钥服务器(DKSB)、智能合约、物联网设备和边缘服务器;
该系统使用椭圆曲线数字签名算法(ECDSA)为用户生成公私钥对,系统首先确定一个椭圆曲线,椭圆曲线C定义在Fp上,其中,Fp是一个有限域,由系统确定,p为一个素数;然后生成一组全局参数(p,a,b,G,n,h)供系统中所有用户共享使用:a,b为椭圆曲线C的参数;G为椭圆曲线C上的一个基点,表示为(xG,yG),xG、yG分别代表G的横、纵坐标;n为G在Fp中规定的序号;h为余因数,系统为用户生成公私钥对的方法为:
①选择随机整数SK,SK∈[1,n-1];
②计算PK=SK*G,其中*表示相乘;
该用户的公钥是PK,私钥是SK;
步骤2)访问授权:为了访问区块链网络,用户将其身份标识和公钥发送到区块链网络上的授权预言机进行验证,成功验证后,授权预言机调用相应的智能合约函数将新用户的身份标识和公钥的摘要添加到系统中;若验证不成功,则拒绝该用户访问区块链网络;
步骤3)物联网设备注册:给定具有标识符为δ1,δ2,...,δm的m个物联网设备列表的用户,所述系统中的物联网设备所有者使用以下算法:
(1)选取P∈C,对于每一个δi,i=1,2,…,m,设置以下内容:
通过该算法用户分别得到了这m个物联网设备的一对公钥和私钥以及经过认证的公钥的累积Mroot,用户通过调用智能合约函数addOwnershipProof(ID,Mroot),将Mroot添加到区块链网络中,其中ID表示用户的身份标识;
步骤4)身份密钥请求:某物联网设备要向目标物联网设备提出身份请求,首先从去中心化密钥服务器访问目标物联网设备的公钥,然后该物联网设备用自己的私钥使用椭圆曲线数字签名算法对身份请求消息创建一个数字签名,然后将身份请求消息和数字签名发送到目标物联网设备;
步骤5)身份验证:包括物联网设备所有者验证和物联网设备验证,
物联网设备所有者验证:当某一物联网设备A收到来自其他物联网设备B的请求,物联网设备A的边缘服务器通过调用相应的智能合约函数来验证物联网设备B的所有者是否是系统成员,若不是,则丢掉该请求,否则,从去中心化密钥服务器中检索物联网设备B的所有者的公钥,然后通过验证签名来验证该请求是否由实际物联网设备B的所有者授权,若验证成功,则进行物联网设备验证;
物联网设备验证:物联网设备A的边缘服务器从去中心化密钥服务器中检索物联网设备B的公钥和Merkle树路径上的所有同级物联网公钥,计算物联网设备B的公钥哈希值以及Merkle树路径上兄弟物联网公钥的哈希值,然后计算Merkle树的根值,判断该根值与去中心化密钥服务器中存储的根值是否一致,一致则接受物联网设备B的公钥,物联网设备A和物联网设备B交换通话密钥进行通信,否则,拒绝物联网设备B的公钥。
如图1所示,所述基于区块链的物联网设备自主公钥基础设施系统的结构具体为:
所述物联网设备所有者(IoTDOs):是物联网设备的保管者,它们负责为自己的物联网设备生成ID和一对公钥和私钥,所述基于区块链的物联网设备自主公钥基础设施系统包含若干个物联网设备所有者;
所述授权预言机(AO):由区块链网络授权,根据其证书添加IoTDOs;
所述去中心化密钥服务器(DKSB):是一个去中心的存储库,存储所述系统中IoTDOs生成的公钥和ID;
所述智能合约:用于存储、修改和检索信息合法所有权的证据:公钥和ID;在合同之外执行所有繁重的加密操作,然后将哈希发送回区块链上的智能合约;智能合约包含以下功能:添加新成员,添加设备所有证明,更新设备所有证明,获得用户身份证明,删除成员;
所述物联网设备:每个物联网节点将由物联网设备所有者注册到区块链,物联网设备所有者将拥有一个标识,该标识将在通用名称空间中唯一标识设备;对于一个要连接到目标物联网设备的物联网设备,将使用该物联网设备的标识和私钥来提出身份请求,该物联网设备将创建一个数字签名的请求,并将其发送到目标物联网设备,目标物联网设备将使用区块链服务来验证发送者的身份;
所述边缘服务器:边缘服务器充当资源受限的不能与区块链服务直接交互的物联网设备的代理。
实施例1
在本实施例中,如图2-3所示,在医疗物联网中本发明提供的基于区块链的物联网密钥分配及设备认证方法包括(步骤1-4描述的是密钥分配方法,步骤6-9描述的是设备认证方法):
1.构建一种基于区块链的医疗物联网设备自主公钥基础设施系统(以下简称系统),系统首先确定一个椭圆曲线,椭圆曲线C定义在Fp(Fp是一个有限域,由系统确定)上,p为一个素数,然后生成一组参数(p,a,b,G,n,h):a,b为椭圆曲线C的参数;G为椭圆曲线C上的一个基点G,表示为(xG,yG)(x、y代表横、纵坐标);n为G在Fp中规定的序号;h为余因数((p,a,b,G,n,h)是全局参数,系统中所有用户可共享使用)。
2.用户A拥有医疗物联网设备M1、M2、M3,用户A希望加入系统中,系统为其生成身份标识IDA,并通过以下方法为其生成一对公私钥:
①选择随机整数d,d∈[1,n-1];
②计算e=d*G(*表示相乘);
用户A的公钥是e记为PKA,私钥是d记为SKA。
3.用户A向AO发送PKA和IDA,AO计算用户A的公钥的摘要:(SHA-256(*)是一种哈希函数),然后AO调用智能合约函数若用户A不在系统中,则将用户A的IDA和公钥的摘要加入到DSKB中;若用户A在系统中则返回给用户A信息告知其已在系统中。
4.用户A为自己拥有的医疗物联网设备M1,M2,M3进行物联网设备注册,步骤如下:
(1)选取P∈C,对于每一个Mi,i=1、2、3,设置以下内容;
(2)MAroot=MerkleTree(M1,M2,M3);
5.用户B为该系统中的成员,拥有医疗物联网设备T1、T2。用户B希望添加一个新的医疗物联网设备T3,用户B之前的设备公钥的累积为MBroot,用户B使用步骤4中的算法为新的设备序列T1、T2、T3计算新的公钥的累积然后调用智能合约函数 进行用户B设备公钥的累积的更新。
6.用户A的医疗物联网设备M1希望与用户B的医疗物联网设备T1进行通信,交换患者医疗数据,M1需要向T1发送一个身份请求消息m。M1从DSKB访问到T1的公钥由于M1的内存和处理能力有限,M1的边缘服务器来使用ECDSA算法对消息m生成一个签名,签名算法如下:
(1)选择一个随机或伪随机整数k,1≤k≤n-1,
(2)计算点P=k*G(*表示相乘);
(3)计算r=x1 mod n,若r=0则转到步骤(1),否则继续执行步骤(4);
(4)计算e=SHA-3(m)(SHA-3(*)是一种哈希函数);
(6)计算s=k-1(e+SKA*r)mod n(*表示相乘,SKA是用户A的私钥),若s=0则转到步骤(1),否则继续执行步骤(7);
(7)对消息m的签名为(r,s)。
M1将消息m及签名(r,s)发送给T1。
7.T1收到消息后,从DKSB检索与IDA相关联的公钥PKA,T1的边缘服务器使用M1的所有者用户A的身份IDA调用函数getIdentityProof(IDA)得到和MAroot,若 则表示设备所有者A是系统的有效成员,否则,步骤6中的身份请求将被丢弃。对于有效成员,进一步验证签名,验证算法如下:
(1)验证r和s是否是[1,n-1]内的整数,是则执行步骤(2),否则拒绝该签名;
(2)计算e=SHA-3(m)(SHA-3(*)是一种哈希函数);
(3)计算w=s-1mod n;
(4)计算u1=(e*w)mod n,u2=(r*w)mod n(*表示相乘);
(5)计算X=(x1,x2)=u1*G+u2*PKA(*表示相乘,x1、x2代表横、纵坐标);
(6)若X=O(O表示椭圆曲线C上的无穷远点),那么拒绝该签名;否则计算v=x1 mod n,
(7)若v=r则接受该签名。
若签名验证成功,则认为该身份请求是经过设备的实际拥有者所授权的,进一步考虑物联网设备验证。
8.T1进行物联网设备验证,边缘服务器代表设备T1处理请求,边缘服务器从DKSB中检索Merkle(步骤4(2)构造的所述Merkle)树路径上的所有同级物联网设备公钥,并执行以下操作:
(1)计算要验证的设备M1的公钥PKM1的哈希值,
(2)计算Merkle树路径上兄弟物联网设备公钥的哈希值,
如果上述算法返回结果为True,则设备M1和设备T1可以使用Diffie Hellman密钥交换协议,以获得用于通信的会话密钥ks。
9.Diffie Hellman密钥交换协议流程如下:
(1)设备T1计算K1=SKT1*PKM1(*表示相乘),选择会话密钥ks,计算Enc(K1,ks)(Enc(*)表示加密函数),
(2)设备T1将Enc(K1,ks)发送给设备M1,
(3)设备M1计算K2=SKM1*PKT1,计算Dec(K2,Enc(K1,ks)),得到ks(Dec(*)表示解密函数)。
然后设备T1和设备M1就可以使用ks作为会话密钥进行安全通信了,交换各自设备上的医疗数据信息。
以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (2)
1.一种基于区块链的物联网密钥分配及设备认证方法,其特征在于,该方法包括以下步骤:
步骤1)构建基于区块链的物联网设备自主公钥基础设施系统,该系统结构包括物联网设备所有者(IoTDOs)、授权预言机(AO)、去中心化密钥服务器(DKSB)、智能合约、物联网设备和边缘服务器;
该系统使用椭圆曲线数字签名算法(ECDSA)为用户生成公私钥对,系统首先确定一个椭圆曲线,椭圆曲线C定义在Fp上,其中,Fp是一个有限域,由系统确定,p为一个素数;然后生成一组全局参数(p,a,b,G,n,h)供系统中所有用户共享使用:a,b为椭圆曲线C的参数;G为椭圆曲线C上的一个基点,表示为(xG,yG),xG、yG分别代表G的横、纵坐标;n为G在Fp中规定的序号;h为余因数,系统为用户生成公私钥对的方法为:
①选择随机整数SK,SK∈[1,n-1];
②计算PK=SK*G,其中*表示相乘;
该用户的公钥是PK,私钥是SK;
步骤2)访问授权:为了访问区块链网络,用户将其身份标识和公钥发送到区块链网络上的授权预言机进行验证,成功验证后,授权预言机调用相应的智能合约函数将新用户的身份标识和公钥的摘要添加到系统中;若验证不成功,则拒绝该用户访问区块链网络;
步骤3)物联网设备注册:给定具有标识符为δ1,δ2,...,δm的m个物联网设备列表的用户,所述系统中的物联网设备所有者使用以下算法:
(1)选取P∈C,对于每一个δi,i=1,2,…,m,设置以下内容:
通过该算法用户分别得到了这m个物联网设备的一对公钥和私钥以及经过认证的公钥的累积Mroot,用户通过调用智能合约函数addOwnershipProof(ID,Mroot),将Mroot添加到区块链网络中,其中ID表示用户的身份标识;
步骤4)身份密钥请求:某物联网设备要向目标物联网设备提出身份请求,首先从去中心化密钥服务器访问目标物联网设备的公钥,然后该物联网设备用自己的私钥使用椭圆曲线数字签名算法对身份请求消息创建一个数字签名,然后将身份请求消息和数字签名发送到目标物联网设备;
步骤5)身份验证:包括物联网设备所有者验证和物联网设备验证,
物联网设备所有者验证:当某一物联网设备A收到来自其他物联网设备B的请求,物联网设备A的边缘服务器通过调用相应的智能合约函数来验证物联网设备B的所有者是否是系统成员,若不是,则丢掉该请求,否则,从去中心化密钥服务器中检索物联网设备B的所有者的公钥,然后通过验证签名来验证该请求是否由实际物联网设备B的所有者授权,若验证成功,则进行物联网设备验证;
物联网设备验证:物联网设备A的边缘服务器从去中心化密钥服务器中检索物联网设备B的公钥和Merkle树路径上的所有同级物联网公钥,计算物联网设备B的公钥哈希值以及Merkle树路径上兄弟物联网公钥的哈希值,然后计算Merkle树的根值,判断该根值与去中心化密钥服务器中存储的根值是否一致,一致则接受物联网设备B的公钥,物联网设备A和物联网设备B交换通话密钥进行通信,否则,拒绝物联网设备B的公钥。
2.根据权利要求1所述的基于区块链的物联网密钥分配及设备认证方法,其特征在于,所述基于区块链的物联网设备自主公钥基础设施系统的结构具体为:
所述物联网设备所有者(IoTDOs):是物联网设备的保管者,它们负责为自己的物联网设备生成ID和一对公钥和私钥,所述基于区块链的物联网设备自主公钥基础设施系统包含若干个物联网设备所有者;
所述授权预言机(AO):由区块链网络授权,根据证书添加IoTDOs;
所述去中心化密钥服务器(DKSB):是一个去中心的存储库,存储所述系统中IoTDOs生成的公钥和ID;
所述智能合约:用于存储、修改和检索信息合法所有权的证据:公钥和ID;在合同之外执行所有繁重的加密操作,然后将哈希发送回区块链上的智能合约;智能合约包含以下功能:添加新成员,添加设备所有证明,更新设备所有证明,获得用户身份证明,删除成员;
所述物联网设备:每个物联网节点将由物联网设备所有者注册到区块链,物联网设备所有者将拥有一个标识,该标识将在通用名称空间中唯一标识设备;对于一个要连接到目标物联网设备的物联网设备,将使用该物联网设备的标识和私钥来提出身份请求,该物联网设备将创建一个数字签名的请求,并将其发送到目标物联网设备,目标物联网设备将使用区块链服务来验证发送者的身份;
所述边缘服务器:边缘服务器充当资源受限的不能与区块链服务直接交互的物联网设备的代理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648631.0A CN114499988B (zh) | 2021-12-30 | 2021-12-30 | 一种基于区块链的物联网密钥分配及设备认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648631.0A CN114499988B (zh) | 2021-12-30 | 2021-12-30 | 一种基于区块链的物联网密钥分配及设备认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114499988A CN114499988A (zh) | 2022-05-13 |
CN114499988B true CN114499988B (zh) | 2022-11-08 |
Family
ID=81508994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111648631.0A Active CN114499988B (zh) | 2021-12-30 | 2021-12-30 | 一种基于区块链的物联网密钥分配及设备认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114499988B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827212B (zh) * | 2022-06-27 | 2022-09-16 | 浙江省邮电工程建设有限公司 | 智慧交通的车辆通信管理方法 |
CN115208886B (zh) * | 2022-07-13 | 2024-05-10 | 上海柚子工道物联技术有限公司 | 基于did的数据授权方法、系统及介质 |
CN115733688B (zh) * | 2022-11-18 | 2024-03-26 | 四川启睿克科技有限公司 | 基于分布式数字身份的物联网设备离线认证方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159750A (zh) * | 2020-04-07 | 2020-05-15 | 南京邮电大学 | 基于联盟链的汽车维修数据存储方法 |
WO2020117020A1 (ko) * | 2018-12-07 | 2020-06-11 | 주식회사 코인플러그 | 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치 |
CN112436940A (zh) * | 2021-01-27 | 2021-03-02 | 电子科技大学 | 一种基于零知识证明的物联网设备可信启动管理方法 |
CN113378148A (zh) * | 2021-06-09 | 2021-09-10 | 永旗(北京)科技有限公司 | 一种基于区块链的物联网设备身份认证系统及方法 |
CN113553574A (zh) * | 2021-07-28 | 2021-10-26 | 浙江大学 | 一种基于区块链技术的物联网可信数据管理方法 |
CN113824570A (zh) * | 2021-11-23 | 2021-12-21 | 北京中超伟业信息安全技术股份有限公司 | 一种基于区块链的安全终端的认证方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046482A (zh) * | 2018-12-25 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 身份核实方法及其系统 |
-
2021
- 2021-12-30 CN CN202111648631.0A patent/CN114499988B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020117020A1 (ko) * | 2018-12-07 | 2020-06-11 | 주식회사 코인플러그 | 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치 |
CN111159750A (zh) * | 2020-04-07 | 2020-05-15 | 南京邮电大学 | 基于联盟链的汽车维修数据存储方法 |
CN112436940A (zh) * | 2021-01-27 | 2021-03-02 | 电子科技大学 | 一种基于零知识证明的物联网设备可信启动管理方法 |
CN113378148A (zh) * | 2021-06-09 | 2021-09-10 | 永旗(北京)科技有限公司 | 一种基于区块链的物联网设备身份认证系统及方法 |
CN113553574A (zh) * | 2021-07-28 | 2021-10-26 | 浙江大学 | 一种基于区块链技术的物联网可信数据管理方法 |
CN113824570A (zh) * | 2021-11-23 | 2021-12-21 | 北京中超伟业信息安全技术股份有限公司 | 一种基于区块链的安全终端的认证方法和系统 |
Non-Patent Citations (7)
Title |
---|
GridMonitoring: Secured Sovereign Blockchain Based Monitoring on Smart Grid;Jianbin Gao;《IEEE Access》;20180227;全文 * |
Password-authenticated Decentralized Identities;Pawel Szalachowski;《IEEE Transactions on Information Forensics and Security》;20210929;全文 * |
基于区块链技术的物联网密钥管理方案;石润华;《信息网络安全》;20200831;全文 * |
基于区块链技术的车联网高效匿名认证方案;陈葳葳等;《计算机应用》;20200624(第10期);全文 * |
基于区块链的密钥生成和协商方案研究;孙悦;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20210215;全文 * |
基于区块链的链上数据安全共享体系研究;刘彦松;《大数据》;20201031;全文 * |
物联网中数据安全高效共享控制机制研究;丁晟;《中国优秀博士学位论文全文数据库(电子期刊)信息科技辑》;20200715;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114499988A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114499988B (zh) | 一种基于区块链的物联网密钥分配及设备认证方法 | |
CN111092717B (zh) | 智能家居环境下基于组认证安全可靠的通信方法 | |
Shen et al. | Secure authentication in cloud big data with hierarchical attribute authorization structure | |
JPH05103094A (ja) | 通信システムにおけるユーザ相互認証の方法および装置 | |
CN102007725A (zh) | 用于分布式识别的方法,网络中的站 | |
CN107248909A (zh) | 一种基于sm2算法的无证书安全签名方法 | |
Meshram et al. | A subtree‐based transformation model for cryptosystem using chaotic maps under cloud computing environment for fuzzy user data sharing | |
Zhang et al. | A privacy protection scheme for IoT big data based on time and frequency limitation | |
Kravitz | Transaction immutability and reputation traceability: Blockchain as a platform for access controlled iot and human interactivity | |
Li et al. | Traceable Ciphertext‐Policy Attribute‐Based Encryption with Verifiable Outsourced Decryption in eHealth Cloud | |
Dhakad et al. | EPPDP: an efficient privacy-preserving data possession with provable security in cloud storage | |
CN110851859B (zh) | 一种具有(n,t)门限的分布式权威节点区块链系统的认证方法 | |
CN116248312A (zh) | 一种面向物联网设备的轻量级零知识身份认证方法 | |
KR100892616B1 (ko) | 무선 센서 네트워크에서의 새로운 장치 참여 방법 | |
CN113836571B (zh) | 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 | |
Lv et al. | A secure and efficient revocation scheme for fine-grained access control in cloud storage | |
Kerschbaum et al. | RFID-based supply chain partner authentication and key agreement | |
Sang et al. | Provable multiple-copy integrity auditing scheme for cloud-based iot | |
CN117176434A (zh) | 一种基于智能合约可验证密文计算系统及方法 | |
CN117375841A (zh) | 一种网络访问控制方法、系统、电子设备及程序产品 | |
CN114268437A (zh) | 数据处理方法、区块链节点、系统和计算机可读存储介质 | |
CN116112185A (zh) | 一种基于区块链和零知识证明的隐私数据分享方法 | |
CN116319058A (zh) | 一种基于区块链的属性和策略隐藏的访问控制方法 | |
CN115314207A (zh) | 一种sm2签名制作数据的安全可控使用方法及系统 | |
CN116015648A (zh) | 一种面向工业物联网的跨域隐私保护消息认证方法 |
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 |