CN117376026A - 物联网设备身份认证方法及*** - Google Patents
物联网设备身份认证方法及*** Download PDFInfo
- Publication number
- CN117376026A CN117376026A CN202311587193.0A CN202311587193A CN117376026A CN 117376026 A CN117376026 A CN 117376026A CN 202311587193 A CN202311587193 A CN 202311587193A CN 117376026 A CN117376026 A CN 117376026A
- Authority
- CN
- China
- Prior art keywords
- internet
- information
- identity
- identity authentication
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims abstract description 57
- 238000012795 verification Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 55
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/3297—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 time stamps, e.g. generation of time stamps
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)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了物联网设备身份认证方法及***,属于区块链技术领域,本要解决的技术问题为如何基于区块链实现物联网设备的身份认证、并提供安全的传输通道。基于区块链和椭圆曲线加密算法对物联网设备进行身份认证,对于每个物联网设备,选择一个私钥,通过椭圆曲线加密算法生成公钥,并得到公钥哈希值;身份认证中心基于注册请求信息进行身份注册计算、得到本地身份验证信息和身份注册信息,物联网设备将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约;身份认证中心基于登录请求信息、本地身份认证信息以及存储于身份智能合约中的身份认证信息对物联网设备进行身份认证,并向物联网设备返回数字证书。
Description
技术领域
本发明涉及区块链技术领域,具体地说是物联网设备身份认证方法及***。
背景技术
随着物联网技术的不断发展,越来越多的设备和传感器连接到网络中。因此,不同类型的设备之间可以相互通信和协作,从而实现数据的采集、传输、处理和应用。多个设备可以共享数据和资源,大大提高了信息传输的速度和效率。物联网具有广泛的应用场景,包括工业自动化、智慧农业、智慧城市和智能家居。物联网技术对社会发展产生了深远的影响,提高了各个领域的效率、可持续性和智能化。
然而,物联网设备也存在单点故障、数据安全和隐私泄露的问题。因此,物联网设备的身份认证方案对于确保参与者的合法身份至关重要。不幸的是,数据信息往往是通过不安全的通道传输的,数据的安全性无法得到保证。
身份验证被广泛用于保护数据和设备的身份,为了更好地解决物联网设备面临的安全问题,研究人员已经开始将区块链技术应用于物联网设备身份认证。区块链是一个分散的分布式数据库,通过加密算法和共识机制确保数据的安全性和不可篡改性。基于区块链的身份验证方案有很多优点。首先,由于区块链的分散性,消除了单点故障和集中身份管理的风险。其次,通过使用加密算法,采用先进的加密技术,确保数据在传输和存储过程中的机密性和完整性。同时引入了强认证授权机制,确保只有经过授权的设备和用户才能访问和操作关键数据。区块链提供强认证和数据加密,确保通信的保密性和完整性。最重要的是,区块链技术提供了不可篡改的身份记录,使设备身份信息无法伪造或篡改,增强了身份认证的可信度。
如何基于区块链实现物联网设备的身份认证、并提供安全的传输通道,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供物联网设备身份认证方法及***,来解决如何基于区块链实现物联网设备的身份认证、并提供安全的传输通道的技术问题。
第一方面,本发明一种物联网设备身份认证方法,基于区块链和椭圆曲线加密算法对物联网设备进行身份认证,包括如下步骤:
身份标识生成:对于每个物联网设备,选择一个随机数作为私钥,选择一个曲线参数作为基点、通过椭圆曲线加密算法生成公钥,并对公钥进行哈希操作得到公钥哈希值;
身份注册:对于每个物联网设备,物联网设备向身份认证中心发送注册请求信息,身份认证中心基于注册请求信息进行身份注册计算、得到本地身份验证信息和身份注册信息,将本地身份验证信息以及注册请求信息存储至本地,并将身份注册信息返回物联网设备,物联网设备将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约,其中,设备信息包括物联网设备的设备ID、登录密码、公钥、私钥以及曲线参数,本地身份认证信息包括身份标识信息、设备过期时间以及本地身份认证中间信息,身份注册信息包括身份标识信息以及区块链身份认证中间信息;
身份认证:对于每个物联网设备,物联网设备向身份认证中心发送登录请求信息,登录请求信息中包括物联网设备的身份注册信息以及随机生成的一个随机数,身份认证中心基于登录请求信息、本地身份认证信息以及存储于身份智能合约中的身份认证信息对物联网设备进行身份认证,并向物联网设备返回数字证书,数字证书中包括物联网设备的设备ID、公钥以及数字证书的有效期;
授权访问:物联网设备基于其身份数字证书与其他物联网设备进行身份认证并获得授权访问;
身份管理:在物联网设备的授权访问过程中,如果身份认证失败,则将物联网设备在区块链中的身份认证信息注销。
作为优选,公钥的计算公式如下:
pubK=priK*G
其中,G表示基点,priK表示私钥,pubK表示公钥。
作为优选,对公钥进行哈希操作得到公钥哈希值时,通过SHA256算法对公钥进行哈希操作,生成一个固定长度的摘要作为公钥哈希值H,H=h(pubK)。
作为优选,对于物联网设备Di和身份认证中心IAC,身份注册包括如下步骤:
物联网设备基于其设备ID和登录密码进行哈希计算,得到设备哈希值,并将设备哈希值、公钥、私钥以及曲线参数作为注册请求信息发送至身份注册中心,其中,设备哈希值Ii的计算公式为:Ii=h(IDi||PWi),IDi表示设备ID,PWi表示登录密码,h()表示哈希操作;
身份注册中心接收到注册请求信息后,生成一个随机字符串,基于注册请求信息以及随机字符串进行身份注册计算,身份注册计算包括如下:
PIDi=h(Ri||IDIAC||Ii)⊕IDIAC,
CK=h(Ri||priK||EXP_time||PIDi),
CK’=CK*G,
Ti=Ri⊕h(priK||PIDi),
Ai=h(Ti⊕Ii⊕CK’),
Ai’=Ai*G,
身份认证中心将Ai’、PIDi以及EXP_time作为本地身份认证信息存储至本地,并将PIDi、CK’和Ti作为身份注册信息返回物联网设备;
物联网设备将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约;
其中,PIDi标识身份标识信息,EXP_time表示设备过期时间,CK表示加密密钥,CK’表示派生的加密密钥,Ti表示临时值,Ai表示认证码,Ai’表示派生的认证码;CK、CK’、Ti、Ai以及Ai’作为身份认证中间信息,Ai’作为本地身份认证中间信息,CK’和Ti作为区块链身份认证中间信息。
作为优选,对于物联网设备Di和身份认证中心IAC,身份认证包括如下步骤:
物联网设备生成一个随机数N1、并生成当前时间戳T1,基于随机数N1、当前时间戳T1以及身份标识信息PIDi生成登录请求信息{PIDi,P1,Y,T1},并将登录请求信息{PIDi,P1,Y,T1}发送至身份认证中心;
其中,P1=N1*G,P2=h(N1*CK’),Y=h(P1||P2||T1),CK’为区块链身份认证信息;
身份认证中心接收到登录请求信息{PIDi,P1,Y,T1}后,得到当前时间戳T2,如果T2-T1的时间差小于阈值时间T,身份认证中心基于PIDi从本地查询对应的EXP_time,并基于PIDi从区块链中查询对应的Ti,基于EXP_time判断物联网设备是否过期,如果未过期,进行如下信息计算:
Rs=Ti⊕h(priK||PIDi),
CK=h(Rs||priK||EXP_time||PIDi),
P2’=h(P1*CK),
Y’=h(P1||P2’||T1),
并判断Y’与Y是否相等,如果否,拒绝物联网设备的登录请求,如果是,执行下一步;
身份认证中心生成随机数N2,并获取当前时间戳T3,进行如下信息计算:P3=N2*G,P4=N2*Ai’,Z=h(P3||P4||T3),并将信息{Z,P3,T3}发送至物联网设备;
物联网设备接受信息{Z,P3,T3}后,获得当前时间戳T4,如果T4-T3的时间差小于时间阈值T,进行如下信息计算:
Ai=h(Ti⊕Ii⊕CK’),
P4’=P3*Ai,
Z’=h(P3||P4’||T3),
并判断Z’与Z是否相等,如果否,拒绝物理网设备的登录请求,如果是,执行下一步;
物联网设备进行如下信息计算:
Vi=h(SK||(N1*CK’)),
SK=h((N1*P3)||Ai||T4),
并获得当前时间戳生T4,将登录信息{Vi,T4}发送至身份认证中心;
身份认证中心接收到登录信息{Vi,T4}后,获得当前时间戳T5,如果T5-T4的时间差值小于时间阈值T,身份认证中心进行如下信息计算:
Vi’=h((P1*CK)||SK)
判断Vi和Vi’是否相等,如果否,拒绝物流网设备的登录请求,如果是,接受物联网设备的登录请求,计算进行如下信息计算:
SK’=h((N2*P1)||Ai||T4),
并向物联网设备返回数字证书,数字证书包括{IDi,pubK,infoCA,T*,signIAC},其中,infoCA表示证书颁发者信息,T*表示证书的有效期,signIAC表示颁发者的数字签名,IDi表示物联网设备的ID,pubK表示物联网设备的公钥;
其中,P1表示N1的n倍点,Y、Z以及Vi为通过哈希操作得到的热证码,Y'、Z'以及Vi'表示通过哈希操作得到的派生认证码,P3表示N2的n倍点,P2和P4表示通过哈希操作得到的椭圆曲线上的点。
第二方面,本发明一种物联网设备身份认证***,应用于物联网设备、区块链以及身份认证中心,包括物联网设备管理模块、区块链管理模块以及身份认证管理模块;
物联网设备管理模块用于执行如下:对于每个物联网设备选择一个随机数作为私钥,选择一个曲线参数作为基点、通过椭圆曲线加密算法生成公钥,并对公钥进行哈希操作得到公钥哈希值;
物联网设备管理模块、区块链管理模块以及身份认证管理模块配合用于执行如下实现身份注册:
对于每个物联网设备,联网设备管理模块用于向身份认证中心发送注册请求信息;
身份认证中心管理模块用于基于注册请求信息进行身份注册计算、得到本地身份验证信息和身份注册信息,将本地身份验证信息以及注册请求信息存储至本地,并将身份注册信息返回物联网设备;
对于每个物联网设备,物联网设备管理模块用于用于将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约,其中,设备信息包括物联网设备的设备ID、登录密码、公钥、私钥以及曲线参数,本地身份认证信息包括身份标识信息、设备过期时间以及本地身份认证中间信息,身份注册信息包括身份标识信息以及区块链身份认证中间信息;
物联网设备管理模块、区块链管理模块以及身份认证管理模块配合用于执行如下实现身份认证:
对于每个物联网设备,物联网设备管理模块用于用于向身份认证中心发送登录请求信息,登录请求信息中包括物联网设备的身份注册信息以及随机生成的一个随机数;
身份认证中心管理模块用于基于登录请求信息、本地身份认证信息以及存储于身份智能合约中的身份认证信息对物联网设备进行身份认证,并向物联网设备返回数字证书,数字证书中包括物联网设备的设备ID、公钥以及数字证书的有效期;
对于每个物联网设备,物联网设备管理模块用于基于其身份数字证书与其他物联网设备进行身份认证并获得授权访问;
对于每个物联网设备,在物联网设备的授权访问过程中,如果身份认证失败,区块链管理模块用于将物联网设备在区块链中的身份认证信息注销。
作为优选,公钥的计算公式如下:
pubK=priK*G,
其中,G表示基点,priK表示私钥,pubK表示公钥。
作为优选,对公钥进行哈希操作得到公钥哈希值时,所述物联网设备管理模块用于通过SHA256算法对公钥进行哈希操作,生成一个固定长度的摘要作为公钥哈希值H,H=h(pubK)。
作为优选,对于物联网设备Di和身份认证中心IAC,执行身份注册时,对于每个物联网设备,物联网设备管理模块用于基于其设备ID和登录密码进行哈希计算,得到设备哈希值,并将设备哈希值、公钥、私钥以及曲线参数作为注册请求信息发送至身份注册中心,其中,设备哈希值Ii的计算公式为:Ii=h(IDi||PWi),IDi表示设备ID,PWi表示登录密码,h()表示哈希操作;
对应的,身份注册中心管理模块用于执行如下:
接收到注册请求信息后,生成一个随机字符串,基于注册请求信息以及随机字符串进行身份注册计算,身份注册计算包括如下:
PIDi=h(Ri||IDIAC||Ii)⊕IDIAC,
CK=h(Ri||priK||EXP_time||PIDi),
CK’=CK*G,
Ti=Ri⊕h(priK||PIDi),
Ai=h(Ti⊕Ii⊕CK’),
Ai’=Ai*G,
对应的,对于每个物联网设备,物联网设备管理模块将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约;
其中,PIDi标识身份标识信息,EXP_time表示设备过期时间,CK表示加密密钥,CK’表示派生的加密密钥,Ti表示临时值,Ai表示认证码,Ai’表示派生的认证码;CK、CK’、Ti、Ai以及Ai’作为身份认证中间信息,Ai’作为本地身份认证中间信息,CK’和Ti作为区块链身份认证中间信息。
作为优选,对于物联网设备Di和身份认证中心IAC,执行身份认证时,对于每个物联网设备,物联网设备管理模块用于执行如下:生成一个随机数N1、并生成当前时间戳T1,基于随机数N1、当前时间戳T1以及身份标识信息PIDi生成登录请求信息{PIDi,P1,Y,T1},并将登录请求信息{PIDi,P1,Y,T1}发送至身份认证中心;
其中,P1=N1*G,P2=h(N1*CK’),Y=h(P1||P2||T1),CK’为区块链身份认证信息;
对应的,身份认证中心管理模块用于执行如下:接收到登录请求信息{PIDi,P1,Y,T1}后,得到当前时间戳T2,如果T2-T1的时间差小于阈值时间T,基于PIDi从本地查询对应的EXP_time,并基于PIDi从区块链中查询对应的Ti,基于EXP_time判断物联网设备是否过期,如果未过期,进行如下信息计算:
Rs=Ti⊕h(priK||PIDi),
CK=h(Rs||priK||EXP_time||PIDi),
P2’=h(P1*CK),
Y’=h(P1||P2’||T1),
并判断Y’与Y是否相等,如果否,拒绝物联网设备的登录秦秋,如果是,执行下一步;
生成随机数N2,并获取当前时间戳T3,进行如下信息计算:P3=N2*G,P4=N2*Ai’,Z=h(P3||P4||T3),并将信息{Z,P3,T3}发送至物联网设备;
对应的,对于每个物联网设备,物联网设备管理模块用于执行如下:接受信息{Z,P3,T3}后,获得当前时间戳T4,如果T4-T3的时间差小于时间阈值T,进行如下信息计算:
Ai=h(Ti⊕Ii⊕CK’),
P4’=P3*Ai,
Z’=h(P3||P4’||T3),
并判断Z’与Z是否相等,如果否,拒绝物理网设备的登录请求,如果是,执行下一步;
进行如下信息计算:
Vi=h(SK||(N1*CK’)),
SK=h((N1*P3)||Ai||T4),
并获得当前时间戳生T4,将登录信息{Vi,T4}发送至身份认证中心;
对应的,身份认证中心管理模块用于执行如下:接收到登录信息{Vi,T4}后,获得当前时间戳T5,如果T5-T4的时间差值小于时间阈值T,进行如下信息计算:
Vi’=h((P1*CK)||SK),
判断Vi和Vi’是否相等,如果否,拒绝物流网设备的登录请求,如果是,接受物联网设备的登录请求,计算进行如下信息计算:
SK’=h((N2*P1)||Ai||T4),
并向物联网设备返回数字证书,数字证书包括{IDi,pubK,infoCA,T*,signIAC},其中,infoCA表示证书颁发者信息,T*表示证书的有效期,signIAC表示颁发者的数字签名,Idi表示物联网设备的ID,pubK表示物联网设备的公钥;
其中,P1表示N1的n倍点,Y、Z以及Vi为通过哈希操作得到的热证码,Y'、Z'以及Vi'表示通过哈希操作得到的派生认证码,P3表示N2的n倍点,P2和P4表示通过哈希操作得到的椭圆曲线上的点。
本发明的物联网设备身份认证方法及***具有以下优点:
1、基于区块链和椭圆曲线密码(ECC)算法实现了有效的身份验证过程,通过区块链可以创建一个去中心化、不可篡改、可追溯性的信任机制,确保物联网设备的真实性和数据的完整性,ECC算法的使用可以使得物联网设备抵抗猜密码攻击、重放攻击、中间人攻击、会话密钥攻击和Dos攻击等一系列攻击;
2、具有设备匿名性和前向保密,可以进行设备之间的相互认证,提供了高效的密钥管理和身份验证机制。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
图1为实施例1一种物联网设备身份认证方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供物联网设备身份认证***及***,用于解决如何基于区块链实现物联网设备的身份认证、并提供安全的传输通道的技术问题。
实施例1:
本发明一种物联网设备身份认证方法,基于区块链和椭圆曲线加密算法对物联网设备进行身份认证,该方法包括身份标识生成、身份注册、身份认证、授权访问以及身份管理五个步骤。
步骤S100身份标识生成:对于每个物联网设备,选择一个随机数作为私钥,选择一个曲线参数作为基点、通过椭圆曲线加密算法生成公钥,并对公钥进行哈希操作得到公钥哈希值。
该步骤中,公钥的计算公式如下:
pubK=priK*G
其中,G表示基点,priK表示私钥,pubK表示公钥。
对公钥进行哈希操作得到公钥哈希值时,通过SHA256算法对公钥进行哈希操作,生成一个固定长度的摘要作为公钥哈希值H,H=h(pubK)。本实施例使用SHA256算法对设备的公钥进行哈希操作,生成一个固定长度的摘要。SHA256是一种常用的哈希函数,它可以将任意长度的数据映射为256位的哈希值。
步骤S200身份注册:对于每个物联网设备,物联网设备向身份认证中心发送注册请求信息,身份认证中心基于注册请求信息进行身份注册计算、得到本地身份验证信息和身份注册信息,将本地身份验证信息以及注册请求信息存储至本地,并将身份注册信息返回物联网设备,物联网设备将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约,其中,设备信息包括物联网设备的设备ID、登录密码、公钥、私钥以及曲线参数,本地身份认证信息包括身份标识信息、设备过期时间以及本地身份认证中间信息,身份注册信息包括身份标识信息以及区块链身份认证中间信息。
作为身份注册的具体实施,对于物联网设备Di和身份认证中心IAC,身份注册包括如下步骤:
(1)物联网设备基于其设备ID和登录密码进行哈希计算,得到设备哈希值,并将设备哈希值、公钥、私钥以及曲线参数作为注册请求信息发送至身份注册中心,其中,设备哈希值Ii的计算公式为:Ii=h(IDi||PWi),IDi表示设备ID,PWi表示登录密码,h()表示哈希操作;
(2)身份注册中心接收到注册请求信息后,生成一个随机字符串,基于注册请求信息以及随机字符串进行身份注册计算,身份注册计算包括如下:
PIDi=h(Ri||IDIAC||Ii)⊕IDIAC,
CK=h(Ri||priK||EXP_time||PIDi),
CK’=CK*G,
Ti=Ri⊕h(priK||PIDi),
Ai=h(Ti⊕Ii⊕CK’),
Ai’=Ai*G,
(3)身份认证中心将Ai’、PIDi以及EXP_time作为本地身份认证信息存储至本地,并将PIDi、CK’和Ti作为身份注册信息返回物联网设备;
(4)物联网设备将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约;
其中,PIDi标识身份标识信息,EXP_time表示设备过期时间,CK表示加密密钥,CK’表示派生的加密密钥,Ti表示临时值,Ai表示认证码,Ai’表示派生的认证码;CK、CK’、Ti、Ai以及Ai’作为身份认证中间信息,Ai’作为本地身份认证中间信息,CK’和Ti作为区块链身份认证中间信息。
步骤S300身份认证:对于每个物联网设备,物联网设备向身份认证中心发送登录请求信息,登录请求信息中包括物联网设备的身份注册信息以及随机生成的一个随机数,身份认证中心基于登录请求信息、本地身份认证信息以及存储于身份智能合约中的身份认证信息对物联网设备进行身份认证,并向物联网设备返回数字证书,数字证书中包括物联网设备的设备ID、公钥以及数字证书的有效期。
作为身份认证的具体实施,对于物联网设备Di和身份认证中心IAC,身份认证包括如下步骤:
(1)物联网设备生成一个随机数N1、并生成当前时间戳T1,基于随机数N1、当前时间戳T1以及身份标识信息PIDi生成登录请求信息{PIDi,P1,Y,T1},并将登录请求信息{PIDi,P1,Y,T1}发送至身份认证中心;
其中,P1=N1*G,P2=h(N1*CK’),Y=h(P1||P2||T1),CK’为区块链身份认证信息;
(2)身份认证中心接收到登录请求信息{PIDi,P1,Y,T1}后,得到当前时间戳T2,如果T2-T1的时间差小于阈值时间T,身份认证中心基于PIDi从本地查询对应的EXP_time,并基于PIDi从区块链中查询对应的Ti,基于EXP_time判断物联网设备是否过期,如果未过期,进行如下信息计算:
Rs=Ti⊕h(priK||PIDi),
CK=h(Rs||priK||EXP_time||PIDi),
P2’=h(P1*CK),
Y’=h(P1||P2’||T1),
并判断Y’与Y是否相等,如果否,拒绝物联网设备的登录请求,如果是,执行下一步;
(3)身份认证中心生成随机数N2,并获取当前时间戳T3,进行如下信息计算:P3=N2*G,P4=N2*Ai’,Z=h(P3||P4||T3),并将信息{Z,P3,T3}发送至物联网设备;
(4)物联网设备接受信息{Z,P3,T3}后,获得当前时间戳T4,如果T4-T3的时间差小于时间阈值T,进行如下信息计算:
Ai=h(Ti⊕Ii⊕CK’),
P4’=P3*Ai,
Z’=h(P3||P4’||T3),
并判断Z’与Z是否相等,如果否,拒绝物理网设备的登录请求,如果是,执行下一步;
(5)物联网设备进行如下信息计算:
Vi=h(SK||(N1*CK’)),
SK=h((N1*P3)||Ai||T4),
并获得当前时间戳生T4,将登录信息{Vi,T4}发送至身份认证中心;
(6)身份认证中心接收到登录信息{Vi,T4}后,获得当前时间戳T5,如果T5-T4的时间差值小于时间阈值T,身份认证中心进行如下信息计算:
Vi’=h((P1*CK)||SK)
判断Vi和Vi’是否相等,如果否,拒绝物流网设备的登录请求,如果是,接受物联网设备的登录请求,计算进行如下信息计算:
SK’=h((N2*P1)||Ai||T4),
并向物联网设备返回数字证书,数字证书包括{IDi,pubK,infoCA,T*,signIAC},其中,infoCA表示证书颁发者信息,T*表示证书的有效期,signIAC表示颁发者的数字签名,IDi表示物联网设备的ID,pubK表示物联网设备的公钥;
其中,P1表示N1的n倍点,Y、Z以及Vi为通过哈希操作得到的热证码,Y'、Z'以及Vi'表示通过哈希操作得到的派生认证码,P3表示N2的n倍点,P2和P4表示通过哈希操作得到的椭圆曲线上的点。
步骤S400授权访问:物联网设备基于其身份数字证书与其他物联网设备进行身份认证并获得授权访问。
步骤S500身份管理:在物联网设备的授权访问过程中,如果身份认证失败,则将物联网设备在区块链中的身份认证信息注销。
在设备的使用过程中,如果用户在访问过程中身份认证失败,就证明设备丢失或者被盗窃,那么就需要对设备的身份信息进行注销,管理员将区块链中的设备公钥删除,防止设备恶意使用。
本实施例的方法基于椭圆曲线加密算法和区块链技术,用于验证和管理物联网设备的身份,确保数据的机密性和完整性。该方案利用椭圆曲线加密算法为每个物联网设备生成唯一的身份密钥,这个密钥不仅用于身份验证,还用于加密通信数据,从而确保数据的机密性,由于椭圆曲线加密算法的复杂性和安全性,每个设备都具有高度安全的身份密钥,难以被破解。每个物联网设备的身份信息和相关认证数据都以分散的方式存储在区块链上,形成一个不可篡改的账本,这意味着设备的身份认证记录无法被篡改或擅自更改。任何对设备身份的访问和验证都可以在区块链上进行验证,增强了***的可信度。
实施例2:
本发明一种物联网设备身份认证***,应用于物联网设备、区块链以及身份认证中心,包括物联网设备管理模块、区块链管理模块以及身份认证管理模块,该***可执行实施例1公开的方法。
物联网设备管理模块用于执行如下:对于每个物联网设备选择一个随机数作为私钥,选择一个曲线参数作为基点、通过椭圆曲线加密算法生成公钥,并对公钥进行哈希操作得到公钥哈希值。
作为具体实施,公钥的计算公式如下:
pubK=priK*G
其中,G表示基点,priK表示私钥,pubK表示公钥。
对公钥进行哈希操作得到公钥哈希值时,通过SHA256算法对公钥进行哈希操作,生成一个固定长度的摘要作为公钥哈希值H,H=h(pubK)。本实施例使用SHA256算法对设备的公钥进行哈希操作,生成一个固定长度的摘要。SHA256是一种常用的哈希函数,它可以将任意长度的数据映射为256位的哈希值。
物联网设备管理模块、区块链管理模块以及身份认证管理模块配合用于执行如下实现身份注册:
(1)对于每个物联网设备,物联网设备管理模块用于向身份认证中心发送注册请求信息;
(2)身份认证中心管理模块用于基于注册请求信息进行身份注册计算、得到本地身份验证信息和身份注册信息,将本地身份验证信息以及注册请求信息存储至本地,并将身份注册信息返回物联网设备;
(3)对于每个物联网设备,物联网设备管理模块用于用于将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约,其中,设备信息包括物联网设备的设备ID、登录密码、公钥、私钥以及曲线参数,本地身份认证信息包括身份标识信息、设备过期时间以及本地身份认证中间信息,身份注册信息包括身份标识信息以及区块链身份认证中间信息。
作为具体实施,对于物联网设备Di和身份认证中心IAC,执行身份注册时,对于每个物联网设备,物联网设备管理模块用于基于其设备ID和登录密码进行哈希计算,得到设备哈希值,并将设备哈希值、公钥、私钥以及曲线参数作为注册请求信息发送至身份注册中心,其中,设备哈希值Ii的计算公式为:Ii=h(IDi||PWi),IDi表示设备ID,PWi表示登录密码,h()表示哈希操作。
对应的,身份注册中心管理模块用于执行如下:
(1)接收到注册请求信息后,生成一个随机字符串,基于注册请求信息以及随机字符串进行身份注册计算,身份注册计算包括如下:
PIDi=h(Ri||IDIAC||Ii)⊕IDIAC,
CK=h(Ri||priK||EXP_time||PIDi),
CK’=CK*G,
Ti=Ri⊕h(priK||PIDi),
Ai=h(Ti⊕Ii⊕CK’),
Ai’=Ai*G,
(2)将Ai’、PIDi以及EXP_time作为本地身份认证信息存储至本地,并将PIDi、CK’和Ti作为身份注册信息返回物联网设备。
对应的,对于每个物联网设备,物联网设备管理模块将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约。
其中,PIDi标识身份标识信息,EXP_time表示设备过期时间,CK表示加密密钥,CK’表示派生的加密密钥,Ti表示临时值,Ai表示认证码,Ai’表示派生的认证码;CK、CK’、Ti、Ai以及Ai’作为身份认证中间信息,Ai’作为本地身份认证中间信息,CK’和Ti作为区块链身份认证中间信息。
物联网设备管理模块、区块链管理模块以及身份认证管理模块配合用于执行如下实现身份认证:
(1)对于每个物联网设备,物联网设备管理模块用于用于向身份认证中心发送登录请求信息,登录请求信息中包括物联网设备的身份注册信息以及随机生成的一个随机数;
(2)身份认证中心管理模块用于基于登录请求信息、本地身份认证信息以及存储于身份智能合约中的身份认证信息对物联网设备进行身份认证,并向物联网设备返回数字证书,数字证书中包括物联网设备的设备ID、公钥以及数字证书的有效期。
作为具体实施,对于物联网设备Di和身份认证中心IAC,执行身份认证时,对于每个物联网设备,物联网设备管理模块用于执行如下:生成一个随机数N1、并生成当前时间戳T1,基于随机数N1、当前时间戳T1以及身份标识信息PIDi生成登录请求信息{PIDi,P1,Y,T1},并将登录请求信息{PIDi,P1,Y,T1}发送至身份认证中心;其中,P1=N1*G,P2=h(N1*CK’),Y=h(P1||P2||T1),CK’为区块链身份认证信息。
对应的,身份认证中心管理模块用于执行如下:
(1)接收到登录请求信息{PIDi,P1,Y,T1}后,得到当前时间戳T2,如果T2-T1的时间差小于阈值时间T,基于PIDi从本地查询对应的EXP_time,并基于PIDi从区块链中查询对应的Ti,基于EXP_time判断物联网设备是否过期,如果未过期,进行如下信息计算:
Rs=Ti⊕h(priK||PIDi),
CK=h(Rs||priK||EXP_time||PIDi),
P2’=h(P1*CK),
Y’=h(P1||P2’||T1),
(2)并判断Y’与Y是否相等,如果否,拒绝物联网设备的登录请求,如果是,执行下一步;
(3)生成随机数N2,并获取当前时间戳T3,进行如下信息计算:P3=N2*G,P4=N2*Ai’,Z=h(P3||P4||T3),并将信息{Z,P3,T3}发送至物联网设备。
对应的,对于每个物联网设备,物联网设备管理模块用于执行如下:
(1)接受信息{Z,P3,T3}后,获得当前时间戳T4,如果T4-T3的时间差小于时间阈值T,进行如下信息计算:
Ai=h(Ti⊕Ii⊕CK’),
P4’=P3*Ai,
Z’=h(P3||P4’||T3),
(2)并判断Z’与Z是否相等,如果否,拒绝物理网设备的登录请求,如果是,进行如下信息计算:
Vi=h(SK||(N1*CK’)),
SK=h((N1*P3)||Ai||T4),
(3)并获得当前时间戳生T4,将登录信息{Vi,T4}发送至身份认证中心。
对应的,身份认证中心管理模块用于执行如下:
(1)接收到登录信息{Vi,T4}后,获得当前时间戳T5,如果T5-T4的时间差值小于时间阈值T,进行如下信息计算:
Vi’=h((P1*CK)||SK),
(2)判断Vi和Vi’是否相等,如果否,拒绝物流网设备的登录请求,如果是,接受物联网设备的登录请求,计算进行如下信息计算:
SK’=h((N2*P1)||Ai||T4),
(3)并向物联网设备返回数字证书,数字证书包括{IDi,pubK,infoCA,T*,signIAC},其中,infoCA表示证书颁发者信息,T*表示证书的有效期,signIAC表示颁发者的数字签名,IDi表示物联网设备的ID,pubK表示物联网设备的公钥。
其中,P1表示N1的n倍点,Y、Z以及Vi为通过哈希操作得到的热证码,Y'、Z'以及Vi'表示通过哈希操作得到的派生认证码,P3表示N2的n倍点,P2和P4表示通过哈希操作得到的椭圆曲线上的点。
对于每个物联网设备,物联网设备管理模块用于基于其身份数字证书与其他物联网设备进行身份认证并获得授权访问。
对于每个物联网设备,在物联网设备的授权访问过程中,如果身份认证失败,区块链管理模块用于将物联网设备在区块链中的身份认证信息注销。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (10)
1.一种物联网设备身份认证方法,其特征在于,基于区块链和椭圆曲线加密算法对物联网设备进行身份认证,包括如下步骤:
身份标识生成:对于每个物联网设备,选择一个随机数作为私钥,选择一个曲线参数作为基点、通过椭圆曲线加密算法生成公钥,并对公钥进行哈希操作得到公钥哈希值;
身份注册:对于每个物联网设备,物联网设备向身份认证中心发送注册请求信息,身份认证中心基于注册请求信息进行身份注册计算、得到本地身份验证信息和身份注册信息,将本地身份验证信息以及注册请求信息存储至本地,并将身份注册信息返回物联网设备,物联网设备将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约,其中,设备信息包括物联网设备的设备ID、登录密码、公钥、私钥以及曲线参数,本地身份认证信息包括身份标识信息、设备过期时间以及本地身份认证中间信息,身份注册信息包括身份标识信息以及区块链身份认证中间信息;
身份认证:对于每个物联网设备,物联网设备向身份认证中心发送登录请求信息,登录请求信息中包括物联网设备的身份注册信息以及随机生成的一个随机数,身份认证中心基于登录请求信息、本地身份认证信息以及存储于身份智能合约中的身份认证信息对物联网设备进行身份认证,并向物联网设备返回数字证书,数字证书中包括物联网设备的设备ID、公钥以及数字证书的有效期;
授权访问:物联网设备基于其身份数字证书与其他物联网设备进行身份认证并获得授权访问;
身份管理:在物联网设备的授权访问过程中,如果身份认证失败,则将物联网设备在区块链中的身份认证信息注销。
2.根据权利要求1所述的物联网设备身份认证方法,其特征在于,公钥的计算公式如下:
pubK=priK*G
其中,G表示基点,priK表示私钥,pubK表示公钥。
3.根据权利要求1所述的物联网设备身份认证方法,其特征在于,对公钥进行哈希操作得到公钥哈希值时,通过SHA256算法对公钥进行哈希操作,生成一个固定长度的摘要作为公钥哈希值H,H=h(pubK)。
4.根据权利要求1所述的物联网设备身份认证方法,其特征在于,对于物联网设备Di和身份认证中心IAC,身份注册包括如下步骤:
物联网设备基于其设备ID和登录密码进行哈希计算,得到设备哈希值,并将设备哈希值、公钥、私钥以及曲线参数作为注册请求信息发送至身份注册中心,其中,设备哈希值Ii的计算公式为:Ii=h(IDi||PWi),IDi表示设备ID,PWi表示登录密码,h()表示哈希操作;
身份注册中心接收到注册请求信息后,生成一个随机字符串,基于注册请求信息以及随机字符串进行身份注册计算,身份注册计算包括如下:
CK=h(Ri||priK||EXP_time||PIDi),
CK’=CK*G,
Ti=Ri⊕h(priK||PIDi),
Ai’=Ai*G,
身份认证中心将Ai’、PIDi以及EXP_time作为本地身份认证信息存储至本地,并将PIDi、CK’和Ti作为身份注册信息返回物联网设备;
物联网设备将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约;
其中,PIDi标识身份标识信息,EXP_time表示设备过期时间,CK表示加密密钥,CK’表示派生的加密密钥,Ti表示临时值,Ai表示认证码,Ai’表示派生的认证码;CK、CK’、Ti、Ai以及Ai’作为身份认证中间信息,Ai’作为本地身份认证中间信息,CK’和Ti作为区块链身份认证中间信息。
5.根据权利要求4所述的物联网设备身份认证方法,其特征在于,对于物联网设备Di和身份认证中心IAC,身份认证包括如下步骤:
物联网设备生成一个随机数N1、并生成当前时间戳T1,基于随机数N1、当前时间戳T1以及身份标识信息PIDi生成登录请求信息{PIDi,P1,Y,T1},并将登录请求信息{PIDi,P1,Y,T1}发送至身份认证中心;
其中,P1=N1*G,P2=h(N1*CK’),Y=h(P1||P2||T1),CK’为区块链身份认证信息;
身份认证中心接收到登录请求信息{PIDi,P1,Y,T1}后,得到当前时间戳T2,如果T2-T1的时间差小于阈值时间T,身份认证中心基于PIDi从本地查询对应的EXP_time,并基于PIDi从区块链中查询对应的Ti,基于EXP_time判断物联网设备是否过期,如果未过期,进行如下信息计算:
CK=h(Rs||priK||EXP_time||PIDi),
P2’=h(P1*CK),
Y’=h(P1||P2’||T1),
并判断Y’与Y是否相等,如果否,拒绝物联网设备的登录请求,如果是,执行下一步;
身份认证中心生成随机数N2,并获取当前时间戳T3,进行如下信息计算:P3=N2*G,P4=N2*Ai’,Z=h(P3||P4||T3),并将信息{Z,P3,T3}发送至物联网设备;
物联网设备接受信息{Z,P3,T3}后,获得当前时间戳T4,如果T4-T3的时间差小于时间阈值T,进行如下信息计算:
P4’=P3*Ai,
Z’=h(P3||P4’||T3),
并判断Z’与Z是否相等,如果否,拒绝物理网设备的登录请求,如果是,执行下一步;
物联网设备进行如下信息计算:
Vi=h(SK||(N1*CK’)),
SK=h((N1*P3)||Ai||T4),
并获得当前时间戳生T4,将登录信息{Vi,T4}发送至身份认证中心;
身份认证中心接收到登录信息{Vi,T4}后,获得当前时间戳T5,如果T5-T4的时间差值小于时间阈值T,身份认证中心进行如下信息计算:
Vi’=h((P1*CK)||SK)
判断Vi和Vi’是否相等,如果否,拒绝物流网设备的登录请求,如果是,接受物联网设备的登录请求,计算进行如下信息计算:
SK’=h((N2*P1)||Ai||T4),
并向物联网设备返回数字证书,数字证书包括{IDi,pubK,infoCA,T*,signIAC},其中,infoCA表示证书颁发者信息,T*表示证书的有效期,signIAC表示颁发者的数字签名,IDi表示物联网设备的ID,pubK表示物联网设备的公钥;
其中,P1表示N1的n倍点,Y、Z以及Vi为通过哈希操作得到的热证码,Y'、Z'以及Vi'表示通过哈希操作得到的派生认证码,P3表示N2的n倍点,P2和P4表示通过哈希操作得到的椭圆曲线上的点。
6.一种物联网设备身份认证***,其特征在于,应用于物联网设备、区块链以及身份认证中心,包括物联网设备管理模块、区块链管理模块以及身份认证管理模块;
物联网设备管理模块用于执行如下:对于每个物联网设备选择一个随机数作为私钥,选择一个曲线参数作为基点、通过椭圆曲线加密算法生成公钥,并对公钥进行哈希操作得到公钥哈希值;
物联网设备管理模块、区块链管理模块以及身份认证管理模块配合用于执行如下实现身份注册:
对于每个物联网设备,联网设备管理模块用于向身份认证中心发送注册请求信息;
身份认证中心管理模块用于基于注册请求信息进行身份注册计算、得到本地身份验证信息和身份注册信息,将本地身份验证信息以及注册请求信息存储至本地,并将身份注册信息返回物联网设备;
对于每个物联网设备,物联网设备管理模块用于用于将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约,其中,设备信息包括物联网设备的设备ID、登录密码、公钥、私钥以及曲线参数,本地身份认证信息包括身份标识信息、设备过期时间以及本地身份认证中间信息,身份注册信息包括身份标识信息以及区块链身份认证中间信息;
物联网设备管理模块、区块链管理模块以及身份认证管理模块配合用于执行如下实现身份认证:
对于每个物联网设备,物联网设备管理模块用于用于向身份认证中心发送登录请求信息,登录请求信息中包括物联网设备的身份注册信息以及随机生成的一个随机数;
身份认证中心管理模块用于基于登录请求信息、本地身份认证信息以及存储于身份智能合约中的身份认证信息对物联网设备进行身份认证,并向物联网设备返回数字证书,数字证书中包括物联网设备的设备ID、公钥以及数字证书的有效期;
对于每个物联网设备,物联网设备管理模块用于基于其身份数字证书与其他物联网设备进行身份认证并获得授权访问;
对于每个物联网设备,在物联网设备的授权访问过程中,如果身份认证失败,区块链管理模块用于将物联网设备在区块链中的身份认证信息注销。
7.根据权利要求6所述的物联网设备身份认证***,其特征在于,公钥的计算公式如下:
pubK=priK*G,
其中,G表示基点,priK表示私钥,pubK表示公钥。
8.根据权利要求6所述的物联网设备身份认证***,其特征在于,对公钥进行哈希操作得到公钥哈希值时,所述物联网设备管理模块用于通过SHA256算法对公钥进行哈希操作,生成一个固定长度的摘要作为公钥哈希值H,H=h(pubK)。
9.根据权利要求6所述的物联网设备身份认证***,其特征在于,对于物联网设备Di和身份认证中心IAC,执行身份注册时,对于每个物联网设备,物联网设备管理模块用于基于其设备ID和登录密码进行哈希计算,得到设备哈希值,并将设备哈希值、公钥、私钥以及曲线参数作为注册请求信息发送至身份注册中心,其中,设备哈希值Ii的计算公式为:Ii=h(IDi||PWi),IDi表示设备ID,PWi表示登录密码,h()表示哈希操作;
对应的,身份注册中心管理模块用于执行如下:
接收到注册请求信息后,生成一个随机字符串,基于注册请求信息以及随机字符串进行身份注册计算,身份注册计算包括如下:
CK=h(Ri||priK||EXP_time||PIDi),
CK’=CK*G,
Ai’=Ai*G,
对应的,对于每个物联网设备,物联网设备管理模块将其身份注册信息以及公钥作为身份认证信息通过安全通道上传至区块链的身份认证合约;
其中,PIDi标识身份标识信息,EXP_time表示设备过期时间,CK表示加密密钥,CK’表示派生的加密密钥,Ti表示临时值,Ai表示认证码,Ai’表示派生的认证码;CK、CK’、Ti、Ai以及Ai’作为身份认证中间信息,Ai’作为本地身份认证中间信息,CK’和Ti作为区块链身份认证中间信息。
10.根据权利要求6所述的物联网设备身份认证***,其特征在于,对于物联网设备Di和身份认证中心IAC,执行身份认证时,对于每个物联网设备,物联网设备管理模块用于执行如下:生成一个随机数N1、并生成当前时间戳T1,基于随机数N1、当前时间戳T1以及身份标识信息PIDi生成登录请求信息{PIDi,P1,Y,T1},并将登录请求信息{PIDi,P1,Y,T1}发送至身份认证中心;
其中,P1=N1*G,P2=h(N1*CK’),Y=h(P1||P2||T1),CK’为区块链身份认证信息;
对应的,身份认证中心管理模块用于执行如下:接收到登录请求信息{PIDi,P1,Y,T1}后,得到当前时间戳T2,如果T2-T1的时间差小于阈值时间T,基于PIDi从本地查询对应的EXP_time,并基于PIDi从区块链中查询对应的Ti,基于EXP_time判断物联网设备是否过期,如果未过期,进行如下信息计算:
CK=h(Rs||priK||EXP_time||PIDi),
P2’=h(P1*CK),
Y’=h(P1||P2’||T1),
并判断Y’与Y是否相等,如果否,拒绝物联网设备的登录请求,如果是,执行下一步;
生成随机数N2,并获取当前时间戳T3,进行如下信息计算:P3=N2*G,P4=N2*Ai’,Z=h(P3||P4||T3),并将信息{Z,P3,T3}发送至物联网设备;
对应的,对于每个物联网设备,物联网设备管理模块用于执行如下:接受信息{Z,P3,T3}后,获得当前时间戳T4,如果T4-T3的时间差小于时间阈值T,进行如下信息计算:
P4’=P3*Ai,
Z’=h(P3||P4’||T3),
并判断Z’与Z是否相等,如果否,拒绝物理网设备的登录请求,如果是,执行下一步;
进行如下信息计算:
Vi=h(SK||(N1*CK’)),
SK=h((N1*P3)||Ai||T4),
并获得当前时间戳生T4,将登录信息{Vi,T4}发送至身份认证中心;
对应的,身份认证中心管理模块用于执行如下:接收到登录信息{Vi,T4}后,获得当前时间戳T5,如果T5-T4的时间差值小于时间阈值T,进行如下信息计算:
Vi’=h((P1*CK)||SK),
判断Vi和Vi’是否相等,如果否,拒绝物流网设备的登录请求,如果是,接受物联网设备的登录请求,计算进行如下信息计算:
SK’=h((N2*P1)||Ai||T4),
并向物联网设备返回数字证书,数字证书包括{IDi,pubK,infoCA,T*,signIAC},其中,infoCA表示证书颁发者信息,T*表示证书的有效期,signIAC表示颁发者的数字签名,Idi表示物联网设备的ID,pubK表示物联网设备的公钥;
其中,P1表示N1的n倍点,Y、Z以及Vi为通过哈希操作得到的热证码,Y'、Z'以及Vi'表示通过哈希操作得到的派生认证码,P3表示N2的n倍点,P2和P4表示通过哈希操作得到的椭圆曲线上的点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311587193.0A CN117376026A (zh) | 2023-11-27 | 2023-11-27 | 物联网设备身份认证方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311587193.0A CN117376026A (zh) | 2023-11-27 | 2023-11-27 | 物联网设备身份认证方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376026A true CN117376026A (zh) | 2024-01-09 |
Family
ID=89396834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311587193.0A Pending CN117376026A (zh) | 2023-11-27 | 2023-11-27 | 物联网设备身份认证方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376026A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117729056A (zh) * | 2024-02-09 | 2024-03-19 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种设备身份认证方法和*** |
-
2023
- 2023-11-27 CN CN202311587193.0A patent/CN117376026A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117729056A (zh) * | 2024-02-09 | 2024-03-19 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种设备身份认证方法和*** |
CN117729056B (zh) * | 2024-02-09 | 2024-05-03 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种设备身份认证方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756485B (zh) | 电子合同签署方法、装置、计算机设备及存储介质 | |
CN106789090B (zh) | 基于区块链的公钥基础设施***及半随机联合证书签名方法 | |
US20210367753A1 (en) | Trusted measurement and control network authentication method based on double cryptographic values and chaotic encryption | |
CN106878318B (zh) | 一种区块链实时轮询云端*** | |
CN110959163B (zh) | 能够在多个存储节点上安全存储大型区块链的计算机实现的***和方法 | |
CN109981582B (zh) | 一种基于区块链的物联网设备身份认证方法 | |
KR100827650B1 (ko) | 그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법 | |
CN109963282B (zh) | 在ip支持的无线传感网络中的隐私保护访问控制方法 | |
WO2018170341A1 (en) | Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication | |
CN109359464B (zh) | 一种基于区块链技术的无线安全认证方法 | |
CN109687965A (zh) | 一种保护网络中用户身份信息的实名认证方法 | |
Dua et al. | Replay attack prevention in Kerberos authentication protocol using triple password | |
He et al. | An accountable, privacy-preserving, and efficient authentication framework for wireless access networks | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
CN117376026A (zh) | 物联网设备身份认证方法及*** | |
TWI556618B (zh) | Network Group Authentication System and Method | |
CN106657002A (zh) | 一种新型防撞库关联时间多密码的身份认证方法 | |
Hussain et al. | An improved authentication scheme for digital rights management system | |
Huszti et al. | A simple authentication scheme for clouds | |
Liou et al. | T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs | |
Chang et al. | On making U2F protocol leakage-resilient via re-keying | |
CN109981662A (zh) | 一种安全通信***及方法 | |
CN116015669A (zh) | 一种基于区块链的物联网跨域协同认证方法 | |
CN104780049B (zh) | 一种安全读写数据的方法 | |
Abyaneh | On the privacy of two tag ownership transfer protocols for RFIDs |
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 |