CN114499988A - 一种基于区块链的物联网密钥分配及设备认证方法 - Google Patents

一种基于区块链的物联网密钥分配及设备认证方法 Download PDF

Info

Publication number
CN114499988A
CN114499988A CN202111648631.0A CN202111648631A CN114499988A CN 114499988 A CN114499988 A CN 114499988A CN 202111648631 A CN202111648631 A CN 202111648631A CN 114499988 A CN114499988 A CN 114499988A
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.)
Granted
Application number
CN202111648631.0A
Other languages
English (en)
Other versions
CN114499988B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202111648631.0A priority Critical patent/CN114499988B/zh
Publication of CN114499988A publication Critical patent/CN114499988A/zh
Application granted granted Critical
Publication of CN114499988B publication Critical patent/CN114499988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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/3239Cryptographic 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
    • 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/3247Cryptographic 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/3252Cryptographic 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)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (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)物联网设备注册:给定具有标识符为δ12,...,δm的m个物联网设备列表的用户,所述系统中的物联网设备所有者使用以下算法:
(1)选取P∈C,对于每一个δi,i=1,2,…,m,m为大于或等于1的正整数,设置以下内容:
①选取
Figure BDA0003445889940000031
(
Figure BDA0003445889940000032
为阶为p的乘法群),
Figure BDA0003445889940000033
Figure BDA0003445889940000034
为δi的私钥;
Figure BDA0003445889940000035
(xi与P相乘),
Figure BDA0003445889940000036
为δi的公钥。
(2)
Figure BDA0003445889940000037
MerkleTree是一个函数,其根据输入构造一棵Merkle树并将该树的根节点赋值给Mroot,Mroot记为公钥的累积;
(3)返回
Figure BDA0003445889940000038
Mroot给用户。
通过该算法用户分别得到了这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)物联网设备注册:给定具有标识符为δ12,...,δm的m个物联网设备列表的用户,所述系统中的物联网设备所有者使用以下算法:
(1)选取P∈C,对于每一个δi,i=1,2,…,m,设置以下内容:
①选取
Figure BDA0003445889940000051
Figure BDA0003445889940000052
为阶为p的乘法群,
Figure BDA0003445889940000053
Figure BDA0003445889940000054
为δi的私钥;
Figure BDA0003445889940000055
Figure BDA0003445889940000056
为δi的公钥;
(2)计算
Figure BDA0003445889940000057
MerkleTree是一个函数,其根据输入构造一棵Merkle树并将该树的根节点赋值给Mroot,Mroot记为公钥的累积;
(3)返回
Figure BDA0003445889940000058
Mroot给用户;
通过该算法用户分别得到了这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的公钥的摘要:
Figure BDA0003445889940000061
(SHA-256(*)是一种哈希函数),然后AO调用智能合约函数
Figure BDA0003445889940000062
若用户A不在系统中,则将用户A的IDA和公钥的摘要
Figure BDA0003445889940000063
加入到DSKB中;若用户A在系统中则返回给用户A信息告知其已在系统中。
4.用户A为自己拥有的医疗物联网设备M1,M2,M3进行物联网设备注册,步骤如下:
(1)选取P∈C,对于每一个Mi,i=1、2、3,设置以下内容;
①选取
Figure BDA0003445889940000071
(
Figure BDA0003445889940000072
为阶为p的乘法群),
Figure BDA0003445889940000073
Figure BDA0003445889940000074
为Mi的私钥,
Figure BDA0003445889940000075
(*表示相乘),
Figure BDA0003445889940000076
为Mi的公钥,
(2)MAroot=MerkleTree(M1,M2,M3);
(3)返回
Figure BDA0003445889940000077
MAroot给用户A。
用户A通过调用智能合约函数addOwnershipProof(IDA,MAroot),将MAroot添加到区块链网络中。用户A的所有设备的公钥
Figure BDA0003445889940000078
和公钥的累积MAroot都存至DSKB中。
5.用户B为该系统中的成员,拥有医疗物联网设备T1、T2。用户B希望添加一个新的医疗物联网设备T3,用户B之前的设备公钥的累积为MBroot,用户B使用步骤4中的算法为新的设备序列T1、T2、T3计算新的公钥的累积
Figure BDA00034458899400000711
然后调用智能合约函数
Figure BDA00034458899400000712
Figure BDA00034458899400000713
进行用户B设备公钥的累积的更新。
6.用户A的医疗物联网设备M1希望与用户B的医疗物联网设备T1进行通信,交换患者医疗数据,M1需要向T1发送一个身份请求消息m。M1从DSKB访问到T1的公钥
Figure BDA00034458899400000714
由于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)得到
Figure BDA0003445889940000079
和MAroot,若
Figure BDA00034458899400000710
Figure BDA0003445889940000081
则表示设备所有者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树路径上兄弟物联网设备公钥的哈希值,
(3)重新计算Merkel树的根
Figure BDA0003445889940000082
(4)若
Figure BDA0003445889940000083
接受M1的公钥PKM1并返回True,否则拒绝M1的公钥PKM1并返回False。
如果上述算法返回结果为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,设置以下内容:
①选取
Figure FDA0003445889930000011
Figure FDA0003445889930000012
为阶为p的乘法群,
Figure FDA0003445889930000013
Figure FDA0003445889930000014
为δi的私钥;
Figure FDA0003445889930000015
Figure FDA0003445889930000016
为δi的公钥;
(2)计算
Figure FDA0003445889930000017
MerkleTree是一个函数,其根据输入构造一棵Merkle树并将该树的根节点赋值给Mroot,Mroot记为公钥的累积;
(3)返回
Figure FDA0003445889930000018
Mroot给用户;
通过该算法用户分别得到了这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;在合同之外执行所有繁重的加密操作,然后将哈希发送回区块链上的智能合约;智能合约包含以下功能:添加新成员,添加设备所有证明,更新设备所有证明,获得用户身份证明,删除成员;
所述物联网设备:每个物联网节点将由物联网设备所有者注册到区块链,物联网设备所有者将拥有一个标识,该标识将在通用名称空间中唯一标识设备;对于一个要连接到目标物联网设备的物联网设备,将使用该物联网设备的标识和私钥来提出身份请求,该物联网设备将创建一个数字签名的请求,并将其发送到目标物联网设备,目标物联网设备将使用区块链服务来验证发送者的身份;
所述边缘服务器:边缘服务器充当资源受限的不能与区块链服务直接交互的物联网设备的代理。
CN202111648631.0A 2021-12-30 2021-12-30 一种基于区块链的物联网密钥分配及设备认证方法 Active CN114499988B (zh)

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 true CN114499988A (zh) 2022-05-13
CN114499988B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827212A (zh) * 2022-06-27 2022-07-29 浙江省邮电工程建设有限公司 智慧交通的车辆通信管理方法
CN115208886A (zh) * 2022-07-13 2022-10-18 上海柚子工道物联技术有限公司 基于did的数据授权方法、系统及介质
CN115733688A (zh) * 2022-11-18 2023-03-03 四川启睿克科技有限公司 基于分布式数字身份的物联网设备离线认证方法

Citations (7)

* Cited by examiner, † Cited by third party
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 电子科技大学 一种基于零知识证明的物联网设备可信启动管理方法
US20210152357A1 (en) * 2018-12-25 2021-05-20 Advanced New Technologies Co., Ltd. Method and device for identity verification
CN113378148A (zh) * 2021-06-09 2021-09-10 永旗(北京)科技有限公司 一种基于区块链的物联网设备身份认证系统及方法
CN113553574A (zh) * 2021-07-28 2021-10-26 浙江大学 一种基于区块链技术的物联网可信数据管理方法
CN113824570A (zh) * 2021-11-23 2021-12-21 北京中超伟业信息安全技术股份有限公司 一种基于区块链的安全终端的认证方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020117020A1 (ko) * 2018-12-07 2020-06-11 주식회사 코인플러그 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
US20210152357A1 (en) * 2018-12-25 2021-05-20 Advanced New Technologies Co., Ltd. Method and device for identity verification
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)

* Cited by examiner, † Cited by third party
Title
JIANBIN GAO: "GridMonitoring: Secured Sovereign Blockchain Based Monitoring on Smart Grid", 《IEEE ACCESS》 *
PAWEL SZALACHOWSKI: "Password-authenticated Decentralized Identities", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 *
丁晟: "物联网中数据安全高效共享控制机制研究", 《中国优秀博士学位论文全文数据库(电子期刊)信息科技辑》 *
刘彦松: "基于区块链的链上数据安全共享体系研究", 《大数据》 *
孙悦: "基于区块链的密钥生成和协商方案研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *
石润华: "基于区块链技术的物联网密钥管理方案", 《信息网络安全》 *
陈葳葳等: "基于区块链技术的车联网高效匿名认证方案", 《计算机应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827212A (zh) * 2022-06-27 2022-07-29 浙江省邮电工程建设有限公司 智慧交通的车辆通信管理方法
CN115208886A (zh) * 2022-07-13 2022-10-18 上海柚子工道物联技术有限公司 基于did的数据授权方法、系统及介质
CN115208886B (zh) * 2022-07-13 2024-05-10 上海柚子工道物联技术有限公司 基于did的数据授权方法、系统及介质
CN115733688A (zh) * 2022-11-18 2023-03-03 四川启睿克科技有限公司 基于分布式数字身份的物联网设备离线认证方法
CN115733688B (zh) * 2022-11-18 2024-03-26 四川启睿克科技有限公司 基于分布式数字身份的物联网设备离线认证方法

Also Published As

Publication number Publication date
CN114499988B (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN114499988B (zh) 一种基于区块链的物联网密钥分配及设备认证方法
CN108768988B (zh) 区块链访问控制方法、设备及计算机可读存储介质
Lu et al. Pairing-free certificate-based searchable encryption supporting privacy-preserving keyword search function for IIoTs
JPH05103094A (ja) 通信システムにおけるユーザ相互認証の方法および装置
CN102007725A (zh) 用于分布式识别的方法,网络中的站
CN106341232A (zh) 一种基于口令的匿名实体鉴别方法
Li et al. Traceable ciphertext-policy attribute-based encryption with verifiable outsourced decryption in ehealth cloud
Kravitz Transaction immutability and reputation traceability: Blockchain as a platform for access controlled iot and human interactivity
Hosen et al. SPTM-EC: A security and privacy-preserving task management in edge computing for IIoT
Dhakad et al. EPPDP: an efficient privacy-preserving data possession with provable security in cloud storage
CN113836571B (zh) 基于云和区块链的医疗数据拥有终端位置匹配方法及系统
Kerschbaum et al. RFID-based supply chain partner authentication and key agreement
Lv et al. A secure and efficient revocation scheme for fine-grained access control in cloud storage
Sudarsan et al. A model for signatories in cyber-physical systems
US11863660B2 (en) Controlled-share identity transport stack
Liu et al. Identity-based remote data integrity checking of cloud storage from lattices
Sang et al. Provable Multiple-Copy Integrity Auditing Scheme for Cloud-Based IoT
CN114268437A (zh) 数据处理方法、区块链节点、系统和计算机可读存储介质
Tiwari et al. A novel secure cloud storage architecture combining proof of retrievability and revocation
CN116112185A (zh) 一种基于区块链和零知识证明的隐私数据分享方法
CN116248312A (zh) 一种面向物联网设备的轻量级零知识身份认证方法
CN115314207A (zh) 一种sm2签名制作数据的安全可控使用方法及系统
Li et al. Multi-authority attribute-based access control scheme in mhealth cloud with unbounded attribute universe and decryption outsourcing
Joshi et al. A novel lightweight authentication protocol for body area networks based on elliptic-curve cryptography
Routray et al. Context-Aware Attribute Based Access Control for Cloud-based SCADA Systems

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