会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 赌博 / 交易记录 / 基于区块链的物联网身份认证系统及其方法

基于区块链的物联网身份认证系统及其方法

阅读:604发布:2021-03-02

IPRDB可以提供基于区块链的物联网身份认证系统及其方法专利检索,专利查询,专利分析的服务。并且一种基于区块链的物联网身份认证系统及其方法,主要解决了现有技术存在身份认证和数据隐私性不足的问题。系统包括可信第三方模块、设备模块、用户模块与智能合约模块。方法步骤为:系统初始化、生成钱包文件、创建登记设备交易、验证登记设备交易记录设备模块信息表、创建关联设备交易、验证关联设备交易并记录用户模块信息、创建控制设备交易、验证控制设备交易并记录设备状态信息、退出系统。本发明的系统采用去中心化网络,减少了中心服务器的负担。本发明的方法提高了用户和设备数据的安全性,保证了用户的匿名性和交易信息不可篡改,能够实现设备对用户的身份认证。,下面是基于区块链的物联网身份认证系统及其方法专利的具体信息内容。

1.一种基于区块链的物联网身份认证系统,其特征在于,包括可信第三方模块、设备模块、用户模块、智能合约模块四大模块;其中:所述可信第三方模块,用于搭建区块链网络;在区块链网络中部署智能合约,将智能合约地址发送给用户模块和设备模块;

所述设备模块,用于将随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,生成设备模块的公钥;使用安全散列算法,对公钥进行哈希运算,将得到的哈希值作为设备模块的地址;使用对称加密算法,对私钥进行加密,将得到的密文作为设备模块的钱包文件;用设备模块地址、智能合约模块地址作为登记设备交易参数,创建登记设备交易信息;使用对称加密算法,对钱包文件进行解密,得到设备模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对登记设备交易信息进行签名后发送给区块链网络中各节点;

所述用户模块,用于将随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,生成用户模块的公钥;使用安全散列算法,对公钥进行哈希运算,将得到的哈希值作为用户模块的地址;使用对称加密算法,对私钥进行加密,将得到的密文作为用户模块的钱包文件;用期望关联的设备模块地址、智能合约模块地址作为关联设备交易参数,创建关联设备交易信息;使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对关联设备交易信息进行签名后发送给区块链网络中各节点;将其自身的地址、已关联的设备模块地址、设备状态和智能合约模块地址作为控制设备交易参数,创建控制设备交易信息;使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对控制设备交易信息进行签名后发送给区块链网络中各节点;

所述智能合约模块,用于接收登记设备交易参数,根据设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则拒绝将设备模块登记信息表写入区块链账本,否则,在区块链账本中记录该设备模块信息表;接收关联设备交易参数,根据关联设备交易参数中的设备模块地址,判断区块链账本中是否存在与该设备模块地址对应的信息表,若是,则将用户模块地址、使用权限记录到该设备模块信息表,否则,拒绝将用户模块关联信息写入区块链账本;用于接收控制设备交易参数,根据控制设备交易参数中的设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则根据控制设备交易参数中的用户模块地址,判断设备模块信息表中是否存在与用户模块地址对应的关联信息,若是,则智能合约模块将控制设备交易参数中的设备状态记录到区块链账本中该设备模块信息表,否则,该用户模块认证失败。

2.一种基于区块链的物联网身份认证方法,该方法是基于区块链的物联网身份认证系统实现的,具体步骤如下:(1)系统初始化:

(1a)可信第三方模块搭建区块链网络;

(1b)可信第三方模块在区块链网络中部署智能合约,将智能合约地址发送给用户模块和设备模块;

(2)生成钱包文件:

(2a)设备模块和用户模块随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,分别生成设备模块和用户模块的公钥;

(2b)使用安全散列算法,对公钥进行哈希运算,将得到的哈希值分别作为设备模块和用户模块的地址;

(2c)使用对称加密算法,对私钥进行加密,将得到的密文分别作为设备模块和用户模块的钱包文件;

(3)创建登记设备交易信息:

(3a)设备模块用设备模块地址、智能合约模块地址作为登记设备交易参数,创建登记设备交易信息;

(3b)设备模块使用对称加密算法,对钱包文件进行解密,得到设备模块的私钥;

(3c)设备模块使用椭圆曲线数字签名算法ECDSA,通过私钥对登记设备交易信息进行签名后发送给区块链网络中各节点;

(3d)区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和登记设备交易参数;

(4)区块链网络中各节点判断交易信息中的创建者的地址与发送交易信息的设备模块地址是否相同,若是,则将设备模块地址发送给智能合约模块后执行步骤(5),否则,拒绝将设备模块登记信息表写入区块链账本,执行步骤(17);

(5)智能合约模块判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则拒绝将设备模块登记信息表写入区块链账本,执行步骤(17);否则,在区块链账本中记录该设备模块信息表后执行步骤(6);

(6)区块链网络中各节点使用共识算法POW,将登记设备交易信息全部记录到区块链账本中;

(7)创建关联设备交易信息:

(7a)用户模块用期望关联的设备模块地址、智能合约模块地址作为关联设备交易参数,创建关联设备交易信息;

(7b)用户模块使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;

(7c)用户模块使用椭圆曲线数字签名算法ECDSA,通过私钥对关联设备交易信息进行签名后发送给区块链网络中各节点;

(7d)区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和关联设备交易参数;

(8)区块链网络中各节点判断交易信息中的创建者的地址与发送交易信息的用户模块地址是否相同,若是,则将交易参数发送给智能合约模块后执行步骤(9),否则,拒绝用户模块关联该设备模块,执行步骤(17);

(9)智能合约模块判断区块链账本中是否存在与该设备模块地址对应的信息表,若是,则将用户模块地址、使用权限记录到该设备模块信息表后执行步骤(10),否则,拒绝将用户模块关联信息写入区块链账本,执行步骤(17);

(10)区块链网络中各节点使用共识算法POW,将关联设备交易信息全部记录到区块链账本中;

(11)创建控制设备交易信息:

(11a)用户模块将其自身的地址、已关联的设备模块地址、设备状态和智能合约模块地址作为控制设备交易参数,创建控制设备交易信息;

(11b)用户模块使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;

(11c)用户模块使用椭圆曲线数字签名算法ECDSA,通过私钥对控制设备交易信息进行签名后发送给区块链网络中各节点;

(11d)区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和控制设备交易参数;

(12)区块链网络中各节点判断交易信息中的创建者的地址与发送交易信息的用户模块地址是否相同,若是,则将控制设备交易参数发送给智能合约模块后执行步骤(13),否则,该用户模块认证失败,执行步骤(17);

(13)智能合约模块根据控制设备交易参数中的设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则执行步骤(14),否则,该用户模块认证失败,执行步骤(17);

(14)智能合约模块根据控制设备交易参数中的用户模块地址,判断设备模块信息表中是否存在与用户模块地址对应的关联信息,若是,则执行步骤(15),否则,该用户模块认证失败,执行步骤(17);

(15)智能合约模块将控制设备交易参数中的设备状态记录到区块链账本中该设备模块信息表中;

(16)区块链网络中各节点使用共识算法POW,将控制设备交易信息全部记录到区块链账本中;

(17)退出系统。

3.根据权利要求2所述的基于区块链的物联网身份认证方法,其特征在于,步骤(2a)中所述密钥生成算法的公式如下:其中,pr表示设备模块或用户模块的私钥,{0,1}256表示随机生成的256位长度的比特串,pu表示设备模块或用户模块的公钥,G表示椭圆曲线密钥生成算法中椭圆曲线上的基点。

4.根据权利要求2所述的基于区块链的物联网身份认证方法,其特征在于,步骤(2b)中所述哈希函数可以是安全散列算法Keccak、原始完整性校验消息摘要RIPEMD160、安全散列算法SHA256中的一种。

5.根据权利要求2所述的基于区块链的物联网身份认证方法,其特征在于,步骤(2c)、步骤(3b)、步骤(7b)、步骤(11b)中所述对称加密算法可以是高级加密标准AES,数据加密标准DES中的一种。

6.根据权利要求2所述的基于区块链的物联网身份认证方法,其特征在于,步骤(3c)、步骤(7c)、步骤(11c)中所述椭圆曲线数字签名算法ECDSA的公式如下:第一步,按照下式,设备模块或用户模块计算椭圆曲线上的验证点:

(x,y)=k×G

其中,(x,y)表示设备模块或用户模块计算曲线上的验证点,k表示取值范围为[1,n-1]的随机整数,n表示基点的阶,G表示椭圆曲线上的基点;

第二步,按照下式,设备模块或用户模块计算签名参数:

其中,r,s表示签名参数,x表示验证点的横轴坐标值,n表示基点的阶,k表示取值范围为[1,n-1]的随机整数,e表示待签名交易信息的哈希值,pr表示设备模块或用户模块的私钥。

7.根据权利要求2所述的基于区块链的物联网身份认证方法,其特征在于,步骤(3d)、步骤(7d)、步骤(11d)中所述椭圆曲线数字验证算法ECDSA的公式如下:第一步,按照下式,区块链网络中各节点计算验证参数:

其中,w、u1、u2表示验证参数,e表示待验证交易信息的哈希值,r,s表示设备模块或用户模块生成的签名参数,n表示基点的阶;

第二步,按照下式,区块链网络中各节点计算椭圆曲线上的验证点:

(x,y)=u1×G+u2×pu

其中,(x,y)表示曲线上的验证点,u1、u2表示验证参数,G表示椭圆曲线上的基点,pu表示设备模块或用户模块的公钥。

说明书全文

基于区块链的物联网身份认证系统及其方法

技术领域

[0001] 本发明属于计算机技术领域,更进一步涉及计算机安全技术领域中的一种基于区块链的物联网身份认证系统及其方法。本发明以区块链和非对称加密技术为基础,从而实现了物联网设备对用户的身份认证,保证了用户数据的隐私安全。

背景技术

[0002] 物联网的核心理念是感知、传输和智能化管理,其将嵌入传感器的电子设备与网络连接起来,使这些设备能够收集和传输数据,实现人与物、物与物之间的协同关系。在物联网系统中,接入的设备规模可达数以百万计甚至更多。由于设备分布广、数量多、应用环境复杂、计算能力有限等问题,中心化网络模式将会带来巨大的数据基础设施建设和成本投入。同时,各个设备和用户的数据安全也依赖于中心服务器的防护级别,未经认证的设备终端接入物联网会带来巨大的安全隐患。因此,对于物联网身份认证和数据安全的问题必须得到重视。
[0003] 张曼君等人在其发表的论文“物联网环境下的身份认证方案”(邮电设计技术,2017(8):19-22)中公开了一种基于物联网的移动终端身份认证方法。该系统由用户将个人唯一身份标识ID、IMEI和所需的服务类型以加密的形式发送给服务器,之后由服务器生成二维码进行本地存储并回传给用户用于身份认证。为了解决信息冗余和存储空间浪费,该系统使用密钥信息作为密钥生成参数。同时考虑到认证的有效性,文件的有效期将作为生成密钥参数的一部分,保证了密钥的实时性和安全性。该方法存在的不足之处是,引入了可信的第三方机构来进行二维码的分配和认证,对于物联网设备请求量大、数据传输频繁的特性,在每一次访问设备时都需要用户、设备和服务器间的多次请求回传,增加了服务器的负担和网络的负荷。
[0004] 厦门大学在其申请的专利文献“一种基于蓝牙通信接入的物联网身份认证方法”(专利申请号:201510226295.9,公开号:CN104796265A)中公开了一种基于蓝牙通信接入的物联网身份认证方法。该方法使用非对称加密技术为用户端生成密钥对,与服务器端进行公钥交换。在用户和服务器端互相保存对方公钥的情况下,服务器端根据注册用户提交的注册码、随机数和蓝牙MAC地址为其生成id并以加密的形式发送给用户保存。该方法利用了非对称加密技术,使得只有拥有私钥的用户才可以登录服务器。该方法存在的不足之处是,对于预先设定的注册口令,容易被不法分子窃取伪装成诚实用户接入系统,同时由于蓝牙通信传输距离近,无法满足物联网广覆盖、低功耗的特性。
[0005] 福建物联天下信息科技股份有限公司在其申请的专利文献“物联网认证方法及系统”(专利申请号:201210281247.6,公开号:CN102801722B)中公开了一种物联网认证方法及系统。该系统通过对设备配件进行编号,按照预先设定的算法生成唯一的第一电子证书和第二电子证书,其中第一电子证书用于发送给第三方管理平台注册,第二电子证书用于之后的登录操作。该系统采用简便易行的认证方式,占有数据量少,面对物联网系统节点多、数据传输量大的应用场景,有效的减少了第三方管理平台的负担。该系统存在的不足之处是,采用如设备出厂序列号、SIM模块PUK码等配件编号生成电子证书的方式过于简单,黑客可以通过获取设备配件编号生成第二电子证书侵入系统,导致用户或设备数据的泄密。

发明内容

[0006] 本发明针对上述现有技术存在的不足,提出一种去中心化并且安全性更好的基于区块链的物联网身份认证系统及其方法,可以解决中心化服务器架构的安全问题并且能更好地保护用户的账户隐私。
[0007] 为了实现上述目的,本发明的物联网身份认证系统,包括可信第三方模块、设备模块、用户模块、智能合约模块四大模块;其中:
[0008] 所述可信第三方模块,用于搭建区块链网络;在区块链网络中部署智能合约,将智能合约地址发送给用户模块和设备模块;
[0009] 所述设备模块,用于将随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,生成设备模块的公钥;使用安全散列算法,对公钥进行哈希运算,将得到的哈希值作为设备模块的地址;使用对称加密算法,对私钥进行加密,将得到的密文作为设备模块的钱包文件;用设备模块地址、智能合约模块地址作为登记设备交易参数,创建登记设备交易信息;使用对称加密算法,对钱包文件进行解密,得到设备模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对登记设备交易信息进行签名后发送给区块链网络中各节点;
[0010] 所述用户模块,用于将随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,生成用户模块的公钥;使用安全散列算法,对公钥进行哈希运算,将得到的哈希值作为用户模块的地址;使用对称加密算法,对私钥进行加密,将得到的密文作为用户模块的钱包文件;用期望关联的设备模块地址、智能合约模块地址作为关联设备交易参数,创建关联设备交易信息;使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对关联设备交易信息进行签名后发送给区块链网络中各节点;将其自身的地址、已关联的设备模块地址、设备状态和智能合约模块地址作为控制设备交易参数,创建控制设备交易信息;使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对控制设备交易信息进行签名后发送给区块链网络中各节点;
[0011] 所述智能合约模块,用于接收登记设备交易参数,根据设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则拒绝将设备模块登记信息表写入区块链账本,否则,在区块链账本中记录该设备模块信息表;接收关联设备交易参数,根据关联设备交易参数中的设备模块地址,判断区块链账本中是否存在与该设备模块地址对应的信息表,若是,则将用户模块地址、使用权限记录到该设备模块信息表,否则,拒绝将用户模块关联信息写入区块链账本;用于接收控制设备交易参数,根据控制设备交易参数中的设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则根据控制设备交易参数中的用户模块地址,判断设备模块信息表中是否存在与用户模块地址对应的关联信息,若是,则智能合约模块将控制设备交易参数中的设备状态记录到区块链账本中该设备模块信息表,否则,该用户模块认证失败。
[0012] 本发明身份认证方法的具体步骤如下:
[0013] (1)系统初始化:
[0014] (1a)可信第三方模块搭建区块链网络;
[0015] (1b)可信第三方模块在区块链网络中部署智能合约,将智能合约地址发送给用户模块和设备模块;
[0016] (2)生成钱包文件:
[0017] (2a)设备模块和用户模块随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,分别生成设备模块和用户模块的公钥;
[0018] (2b)使用安全散列算法,对公钥进行哈希运算,将得到的哈希值分别作为设备模块和用户模块的地址;
[0019] (2c)使用对称加密算法,对私钥进行加密,将得到的密文分别作为设备模块和用户模块的钱包文件;
[0020] (3)创建登记设备交易信息:
[0021] (3a)设备模块用设备模块地址、智能合约模块地址作为登记设备交易参数,创建登记设备交易信息;
[0022] (3b)设备模块使用对称加密算法,对钱包文件进行解密,得到设备模块的私钥;
[0023] (3c)设备模块使用椭圆曲线数字签名算法ECDSA,通过私钥对登记设备交易信息进行签名后发送给区块链网络中各节点;
[0024] (3d)区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和登记设备交易参数;
[0025] (4)区块链网络中各节点判断交易信息中的创建者的地址与发送交易信息的设备模块地址是否相同,若是,则将设备模块地址发送给智能合约模块后执行步骤(5),否则,拒绝将设备模块登记信息表写入区块链账本,执行步骤(17);
[0026] (5)智能合约模块判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则拒绝将设备模块登记信息表写入区块链账本,执行步骤(17);否则,在区块链账本中记录该设备模块信息表后执行步骤(6);
[0027] (6)区块链网络中各节点使用共识算法POW,将登记设备交易信息全部记录到区块链账本中;
[0028] (7)创建关联设备交易信息:
[0029] (7a)用户模块用期望关联的设备模块地址、智能合约模块地址作为关联设备交易参数,创建关联设备交易信息;
[0030] (7b)用户模块使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;
[0031] (7c)用户模块使用椭圆曲线数字签名算法ECDSA,通过私钥对关联设备交易信息进行签名后发送给区块链网络中各节点;
[0032] (7d)区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和关联设备交易参数;
[0033] (8)区块链网络中各节点判断交易信息中的创建者的地址与发送交易信息的用户模块地址是否相同,若是,则将交易参数发送给智能合约模块后执行步骤(9),否则,拒绝用户模块关联该设备模块,执行步骤(17);
[0034] (9)智能合约模块判断区块链账本中是否存在与该设备模块地址对应的信息表,若是,则将用户模块地址、使用权限记录到该设备模块信息表后执行步骤(10),否则,拒绝将用户模块关联信息写入区块链账本,执行步骤(17);
[0035] (10)区块链网络中各节点使用共识算法POW,将关联设备交易信息全部记录到区块链账本中;
[0036] (11)创建控制设备交易信息:
[0037] (11a)用户模块将其自身的地址、已关联的设备模块地址、设备状态和智能合约模块地址作为控制设备交易参数,创建控制设备交易信息;
[0038] (11b)用户模块使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;
[0039] (11c)用户模块使用椭圆曲线数字签名算法ECDSA,通过私钥对控制设备交易信息进行签名后发送给区块链网络中各节点;
[0040] (11d)区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和控制设备交易参数;
[0041] (12)区块链网络中各节点判断交易信息中的创建者的地址与发送交易信息的用户模块地址是否相同,若是,则将控制设备交易参数发送给智能合约模块后执行步骤(13),否则,该用户模块认证失败,执行步骤(17);
[0042] (13)智能合约模块根据控制设备交易参数中的设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则执行步骤(14),否则,该用户模块认证失败,执行步骤(17);
[0043] (14)智能合约模块根据控制设备交易参数中的用户模块地址,判断设备模块信息表中是否存在与用户模块地址对应的关联信息,若是,则执行步骤(15),否则,该用户模块认证失败,执行步骤(17);
[0044] (15)智能合约模块将控制设备交易参数中的设备状态记录到区块链账本中该设备模块信息表中;
[0045] (16)区块链网络中各节点使用共识算法POW,将控制设备交易信息全部记录到区块链账本中;
[0046] (17)退出系统。
[0047] 本发明与现有技术相比具有以下优点:
[0048] 第一,由于本发明的系统采用智能合约,用于接收交易信息参数,通过验证交易参数,验证用户模块和设备模块的合法性,克服了现有技术中采用中心化网络模式带来巨大的数据基础设施建设和成本投入,使得本发明的系统实现了在设备分布广、数量多、应用环境复杂、计算能力有限的环境下,物联网设备的自我管理、自我维护,实现了设备对用户的身份认证。
[0049] 第二,由于本发明的方法将交易信息记录到区块链账本中,实现了分布式存储,保证了即使丢失部分节点数据,系统仍能够正常运作,克服了现有技术中的数据集中存储管理的不稳定性的问题,使得本发明的方法实现了交易信息不可篡改的特性,保证了用户和设备的信息数据安全。
[0050] 第三,由于本发明的方法通过使用安全散列算法,将得到的设备模块或用户模块地址作为该模块的身份标识,克服了现有技术中用户身份公开性造成的安全问题,使得本发明保证了设备模块和用户模块的匿名性,保护了用户的身份隐私。
[0051] 第四,由于本发明的方法通过使用对称加密算法生成钱包文件,对钱包文件的离线存储有效的防止黑客通过互联网窃取设备模块或用户模块的私钥,克服了现有技术中密钥保存方式简单和管理方式不当的问题,使得本发明可以有效防止非法用户入侵物联网设备窃取设备数据,保护了设备数据的安全。

附图说明

[0052] 图1为本发明系统的方框图;
[0053] 图2为本发明方法的流程图。
[0054] 具体实施措施
[0055] 下面结合附图对本发明做进一步的详细描述。
[0056] 参照附图1,本发明的物联网身份认证系统,包括可信第三方模块、设备模块、用户模块、智能合约模块四大模块。
[0057] 可信第三方模块,用于搭建区块链网络;在区块链网络中部署智能合约,将智能合约地址发送给用户模块和设备模块。
[0058] 设备模块,用于将随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,生成设备模块的公钥;使用安全散列算法,对公钥进行哈希运算,将得到的哈希值作为设备模块的地址;使用对称加密算法,对私钥进行加密,将得到的密文作为设备模块的钱包文件;用设备模块地址、智能合约模块地址作为登记设备交易参数,创建登记设备交易信息;使用对称加密算法,对钱包文件进行解密,得到设备模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对登记设备交易信息进行签名后发送给区块链网络中各节点。
[0059] 用户模块,用于将随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,生成用户模块的公钥;使用安全散列算法,对公钥进行哈希运算,将得到的哈希值作为用户模块的地址;使用对称加密算法,对私钥进行加密,将得到的密文作为用户模块的钱包文件;用期望关联的设备模块地址、智能合约模块地址作为关联设备交易参数,创建关联设备交易信息;使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对关联设备交易信息进行签名后发送给区块链网络中各节点;用已关联的设备模块地址、设备状态和智能合约模块地址作为控制设备交易参数,创建控制设备交易信息;使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥;使用椭圆曲线数字签名算法ECDSA,通过私钥对控制设备交易信息进行签名后发送给区块链网络中各节点。
[0060] 智能合约模块,用于接收登记设备交易参数,根据设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则拒绝将设备模块登记信息表写入区块链账本,否则,在区块链账本中记录该设备模块信息表;接收关联设备交易参数,根据关联设备交易参数中的设备模块地址,判断区块链账本中是否存在与该设备模块地址对应的信息表,若是,则将用户模块地址、使用权限记录到该设备模块信息表,否则,拒绝将用户模块关联信息写入区块链账本;用于接收控制设备交易参数,根据控制设备交易参数中的设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则根据控制设备交易参数中的用户模块地址,判断设备模块信息表中是否存在与用户模块地址对应的关联信息,若是,则智能合约模块将控制设备交易参数中的设备状态记录到区块链账本中该设备模块信息表,否则,该用户模块认证失败。
[0061] 参照附图2,对本发明身份认证方法的具体步骤描述如下。
[0062] 步骤1,系统初始化。
[0063] 可信第三方模块搭建区块链网络。
[0064] 可信第三方模块在区块链网络中部署智能合约,将智能合约地址发送给用户模块和设备模块。
[0065] 步骤2,生成钱包文件。
[0066] 设备模块和用户模块随机生成256位长度的比特串作为私钥,使用椭圆曲线密钥生成算法,分别生成设备模块和用户模块的公钥。
[0067] 密钥生成算法的公式如下:
[0068]
[0069] 其中,pr表示设备模块或用户模块的私钥,{0,1}256表示随机生成的256位长度的比特串,pu表示设备模块或用户模块的公钥,G表示椭圆曲线密钥生成算法中椭圆曲线上的基点。
[0070] 使用安全散列算法,对公钥进行哈希运算,将得到的哈希值分别作为设备模块和用户模块的地址。
[0071] 使用对称加密算法,对私钥进行加密,将得到的密文分别作为设备模块和用户模块的钱包文件。
[0072] 步骤3,创建登记设备交易信息。
[0073] 设备模块用设备模块地址、智能合约模块地址作为登记设备交易参数,创建登记设备交易信息。
[0074] 设备模块使用对称加密算法,对钱包文件进行解密,得到设备模块的私钥。
[0075] 设备模块使用椭圆曲线数字签名算法ECDSA,通过私钥对登记设备交易信息进行签名后发送给区块链网络中各节点。
[0076] 椭圆曲线数字签名算法ECDSA的公式如下:
[0077] 第一步,按照下式,设备模块计算椭圆曲线上的验证点:
[0078] (x,y)=k×G
[0079] 其中,(x,y)表示设备模块计算曲线上的验证点,k表示取值范围为[1,n-1]的随机整数,n表示基点的阶,G表示椭圆曲线上的基点。
[0080] 第二步,按照下式,设备模块计算签名参数:
[0081]
[0082] 其中,r,s表示签名参数,x表示验证点的横轴坐标值,n表示基点的阶,k表示取值范围为[1,n-1]的随机整数,e表示待签名交易信息的哈希值,pr表示设备模块私钥。
[0083] 区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和登记设备交易参数。
[0084] 椭圆曲线数字验证算法ECDSA的公式如下:
[0085] 第一步,按照下式,区块链网络中各节点计算验证参数:
[0086]
[0087] 其中,w、u1、u2表示验证参数,e表示待验证交易信息的哈希值,r,s表示设备模块或用户模块生成的签名参数,n表示基点的阶。
[0088] 第二步,按照下式,区块链网络中各节点计算椭圆曲线上的验证点:
[0089] (x,y)=u1×G+u2×pu
[0090] 其中,(x,y)表示曲线上的验证点,u1、u2表示验证参数,G表示椭圆曲线上的基点,pu表示设备模块的公钥。
[0091] 步骤4,区块链网络中各节点判断交易创建者的地址与发送交易的设备模块地址是否相同,若是,则将设备模块地址发送给智能合约模块后执行步骤5,否则,拒绝将设备模块登记信息表写入区块链账本,执行步骤17。
[0092] 步骤5,智能合约模块判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则拒绝将设备模块登记信息表写入区块链账本,执行步骤17;否则,在区块链账本中记录该设备模块信息表后执行步骤6。
[0093] 步骤6,区块链网络中各节点使用共识算法POW,将交易信息记录到区块链账本中。
[0094] 步骤7,创建关联设备交易信息。
[0095] 用户模块用期望关联的设备模块地址、智能合约模块地址作为关联设备交易参数,创建关联设备交易信息。
[0096] 用户模块使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥。
[0097] 用户模块使用椭圆曲线数字签名算法ECDSA,通过私钥对关联设备交易信息进行签名后发送给区块链网络中各节点。
[0098] 椭圆曲线数字签名算法ECDSA的公式如下:
[0099] 第一步,按照下式,设备模块或用户模块计算椭圆曲线上的验证点:
[0100] (x,y)=k×G
[0101] 其中,(x,y)表示用户模块计算曲线上的验证点,k表示取值范围为[1,n-1]的随机整数,n表示基点的阶,G表示椭圆曲线上的基点。
[0102] 第二步,按照下式,用户模块计算签名参数:
[0103]
[0104] 其中,r,s表示签名参数,x表示验证点的横轴坐标值,n表示基点的阶,k表示取值范围为[1,n-1]的随机整数,e表示待签名交易信息的哈希值,pr表示用户模块的私钥。
[0105] 区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和关联设备交易参数。
[0106] 椭圆曲线数字验证算法ECDSA的公式如下:
[0107] 第一步,按照下式,区块链网络中各节点计算验证参数:
[0108]
[0109] 其中,w、u1、u2表示验证参数,e表示待验证交易信息的哈希值,r,s表示设备模块或用户模块生成的签名参数,n表示基点的阶。
[0110] 第二步,按照下式,区块链网络中各节点计算椭圆曲线上的验证点:
[0111] (x,y)=u1×G+u2×pu
[0112] 其中,(x,y)表示曲线上的验证点,u1、u2表示验证参数,G表示椭圆曲线上的基点,pu表示用户模块的公钥。
[0113] 步骤8,区块链网络中各节点判断交易创建者的地址与发送交易的用户模块地址是否相同,若是,则将交易参数发送给智能合约模块后执行步骤9,否则,拒绝用户模块关联该设备模块,执行步骤17。
[0114] 步骤9,智能合约模块判断区块链账本中是否存在与该设备模块地址对应的信息表,若是,则将用户模块地址、使用权限记录到该设备模块信息表后执行步骤10,否则,拒绝将用户模块关联信息写入区块链账本,执行步骤17。
[0115] 步骤10,区块链网络中各节点使用共识算法POW,将交易信息记录到区块链账本中。
[0116] 步骤11,创建控制设备交易信息。
[0117] 用户模块用已关联的设备模块地址、设备状态和智能合约模块地址作为控制设备交易参数,创建控制设备交易信息。
[0118] 用户模块使用对称加密算法,对钱包文件进行解密,得到用户模块的私钥。
[0119] 用户模块使用椭圆曲线数字签名算法ECDSA,通过私钥对控制设备交易信息进行签名后发送给区块链网络中各节点。
[0120] 椭圆曲线数字签名算法ECDSA的公式如下:
[0121] 第一步,按照下式,用户模块计算椭圆曲线上的验证点:
[0122] (x,y)=k×G
[0123] 其中,(x,y)表示用户模块计算曲线上的验证点,k表示取值范围为[1,n-1]的随机整数,n表示基点的阶,G表示椭圆曲线上的基点。
[0124] 第二步,按照下式,用户模块计算签名参数:
[0125]
[0126] 其中,r,s表示签名参数,x表示验证点的横轴坐标值,n表示基点的阶,k表示取值范围为[1,n-1]的随机整数,e表示待签名交易信息的哈希值,pr表示用户模块的私钥。
[0127] 区块链网络中各节点使用椭圆曲线数字验证算法ECDSA,得到交易信息创建者的地址和控制设备交易参数。
[0128] 椭圆曲线数字验证算法ECDSA的公式如下:
[0129] 第一步,按照下式,区块链网络中各节点计算验证参数:
[0130]
[0131] 其中,w、u1、u2表示验证参数,e表示待验证交易信息的哈希值,r,s表示用户模块生成的签名参数,n表示基点的阶。
[0132] 第二步,按照下式,区块链网络中各节点计算椭圆曲线上的验证点:
[0133] (x,y)=u1×G+u2×pu
[0134] 其中,(x,y)表示曲线上的验证点,u1、u2表示验证参数,G表示椭圆曲线上的基点,pu表示用户模块的公钥。
[0135] 步骤12,区块链网络中各节点判断交易创建者的地址与发送交易的用户模块地址是否相同,若是,则将控制设备交易参数发送给智能合约模块后执行步骤13,否则,该用户模块认证失败,执行步骤17。
[0136] 步骤13,智能合约模块根据控制设备交易参数中的设备模块地址,判断区块链账本中是否存在与设备模块地址对应的信息表,若是,则执行步骤14,否则,该用户模块认证失败,执行步骤17。
[0137] 步骤14,智能合约模块根据控制设备交易参数中的用户模块地址,判断设备模块信息表中是否存在与用户模块地址对应的关联信息,若是,则执行步骤15,否则,该用户模块认证失败,执行步骤17。
[0138] 步骤15,智能合约模块将控制设备交易参数中的设备状态记录到区块链账本中该设备模块信息表中。
[0139] 步骤16,区块链网络中各节点使用共识算法POW,将交易信息记录到区块链账本中。
[0140] 步骤17,退出系统。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用