CN114499876B - 基于区块链以及NB-IoT芯片的物联网数据存证方法 - Google Patents

基于区块链以及NB-IoT芯片的物联网数据存证方法 Download PDF

Info

Publication number
CN114499876B
CN114499876B CN202210021693.7A CN202210021693A CN114499876B CN 114499876 B CN114499876 B CN 114499876B CN 202210021693 A CN202210021693 A CN 202210021693A CN 114499876 B CN114499876 B CN 114499876B
Authority
CN
China
Prior art keywords
internet
information
data
things
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
Application number
CN202210021693.7A
Other languages
English (en)
Other versions
CN114499876A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202210021693.7A priority Critical patent/CN114499876B/zh
Publication of CN114499876A publication Critical patent/CN114499876A/zh
Application granted granted Critical
Publication of CN114499876B publication Critical patent/CN114499876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明公开了一种基于区块链以及NB‑IoT芯片的物联网数据存证方法,属于物联网和区块链领域:首先,物联网设备S在注册认证服务器上进行注册,并使用国密SM3算法计算注册信息的哈希值保存;同时将注册认证服务器的公钥信息写入到设备S中;通过设备S,与认证注册服务器的通信完成设备S的认证;然后,设备S开始采集并处理数据,计算数据摘要信息,并连同采集时间一同发送给NB‑IoT芯片;NB‑IoT芯片接收到后,对摘要信息使用国密SM4算法进行加密,再用SM2算法对密文信息进行签名;之后通过通信单元发送给上位机,上位机对设备S进行身份认证并调用接口将数据上传到区块链;方便区块链的同一群组的用户访问,查看和下载;本发明提高了传统数据存证系统的安全性。

Description

基于区块链以及NB-IoT芯片的物联网数据存证方法
技术领域
本发明属于区块链和物联网技术领域,具体是一种基于区块链以及NB-IoT(窄带物联网)芯片的物联网数据存证方法。
背景技术
区块链技术是中本聪(化名)于2008年在比特币论坛上发表的《比特币:一种点对点电子现金系统》中提出的,该技术有着诸多特性:安全性、不可篡改性、隐私性及去中心化等,借助分布式账本、非对称加密、智能合约和共识机制等核心技术,以实现点对点、匿名、可追溯和防篡改等功能,并能保障交易过程中的安全和信任问题。
近年来,区块链技术已经延伸到数字金融、物联网、边缘计算、人工智能和供应链管理等诸多领域。
NB-IoT是物联网技术的一个重要分支,也是物联网领域的一种新兴技术,它支持低功耗设备在广域网的蜂窝数据连接,因此也被叫作低功耗广域网(LPWAN)。NB-IoT技术相比于其他物联网技术有着诸多优点,如低功耗、低成本、覆盖广和强连接等。因此,近些年来NB-IoT技术发展迅猛,在智能家居、智能汽车、智能电表和共享单车等领域得到了极大的应用。
物联网的发展和普及虽然给人们的生活带来了便利,但与此同时物联网的数据安全和隐私问题也给人们带来了困扰。急需对物联网采集的电子数据进行存证,以防止数据被篡改,保证数据的真实性和完整性。
目前电子存证的常用方法是通过电子签名、时间戳等防伪技术固化证据并委托第三方机构或者公证处存管,这就要求第三方机构必须是权威可信的。除此之外,目前大多数物联网数据管理方案都依赖于客户-服务器的集中化管理方式,这种集中化管理无疑给用户的数据信息安全带来了巨大的挑战。
发明内容
针对上述问题,由于分布式的区块链技术有着去中心化的特性,利用区块链技术搭建数据存证系统对物联网数据进行存证可以很好的解决以上问题。基于此结论,本发明提出了一种基于区块链以及NB-IoT芯片的物联网数据存证方法。
具体步骤如下:
步骤一、在注册认证服务器上通过前端web程序或registDeviceInfo()接口,对要使用的物联网设备S的信息进行注册,并使用国密SM3算法计算注册信息的哈希值保存在数据库中;同时将注册认证服务器的公钥信息写入到物联网设备S中;
设备S的信息包括设备的ID、设备IMEI号、设备固件版本和设备制造商等多个信息的组合,需保证设备中查询到的信息与注册认证服务器中填写的信息一致。
步骤二、打开物联网设备S,初次启动时,调用register()接口与认证注册服务器进行通信,完成设备S的认证操作;
具体流程如下:
步骤201、物联网设备S的NB-IoT芯片的加密单元产生用于国密SM2算法的公私钥对;
步骤202、将物联网设备S的公钥Pk以及设备S的哈希值一同使用国密SM3算法计算摘要,得到摘要信息H1;
步骤203、将物联网设备S的ID、公钥Pk以及摘要信息H1打包发送至注册认证服务器;
步骤204、注册认证服务器接收到信息后,通过物联网设备S的ID从数据库中取出设备S注册信息的哈希值;
步骤205、利用数据库中物联网设备S注册信息的哈希值和公钥Pk一同使用国密SM3算法计算摘要信息,得到H2;
步骤206、对比摘要H1和H2的值,如果相等,则物联网设备S的身份验证通过,注册认证服务器计算出待分发给物联网设备S的对称式加密密钥Key,进入步骤207;否则,向物联网设备S发送验证失败,结束;
步骤207、注册认证服务器用自己的私钥对物联网设备S的公钥Pk使用国密SM2算法进行签名得到Sp,用自身公钥使用国密SM2算法对物联网设备S的密钥Key进行加密得到Ks;
步骤208、注册认证服务器调用区块链SDK和链码相关接口,将物联网设备S的ID,公钥信息Pk、公钥签名信息Sp、以及加密后的密钥信息Ks上传至区块链;
步骤209、注册认证服务器使用国密SM2算法以及设备S的公钥Pk对密钥Key进行加密,得到密文Kc,并进一步用注册认证服务器的私钥对密文Kc进行签名得到Sk;
步骤210、注册认证服务器将密文Kc以及签名Sk发送给物联网设备S;
步骤211、物联网设备S接收到注册认证服务器传来的信息,首先用国密SM2算法以及注册认证服务器的公钥对签名信息Sk进行验签,若验签失败,则丢弃数据,并再次申请认证;否则,验签成功后,物联网设备S利用自己的私钥对密文信息Kc进行解密,得到密钥Key,并存储至物联网设备S的NB-IoT芯片中,至此,认证过程结束。
步骤三、认证完成后,物联网设备S开始采集并处理数据后,发送给上位机;
具体流程如下:
首先、物联网设备S采集数据,对200字节以内的小规模数据,直接传递给NB-IoT芯片,对其余的大规模数据计算哈希摘要,并将摘要信息传递给NB-IoT芯片;
然后、NB-IoT芯片接收到物联网设备S传来的信息,利用国密SM4算法以及加密密钥Key对信息进行加密,得到数据M;并使用国密SM2算法以及物联网设备S的公钥对数据M进行签名,得到签名信息Sm;
最后,将物联网设备S的信息ID、数据采集时间T、加密信息M、签名信息Sm通过NB-IoT芯片的通信单元发出。
步骤四、上位机接收到物联网设备S的数据后,对物联网设备S进行认证并调用接口将数据上传到区块链;
具体流程如下:
步骤401、根据物联网设备S的ID字段,使用区块链SDK以及链码相关API从区块链上下载物联网设备S的公钥Pk以及对公钥的签名Sp;
步骤402、使用国密SM2算法以及认证注册服务器的公钥对签名Sp进行验签,以确定Pk是否为合法的公钥信息,若验签成功继续执行步骤403,否则丢弃数据,并向物联网设备S返回数据上联失败的信息;
步骤403、在确定设备公钥信息合法后,使用设备公钥Pk对接收到的签名数据Sm进行验签,从而确定发来信息的物联网设备S的合法性;
步骤404、物联网设备S合法后,上位机使用区块链SDK调用链码相关API将物联网设备S的ID、时间信息T、加密信息M、以及签名信息Sm上传至区块链,供区块链同一群组的用户查看和下载,至此数据上传到区块链的过程结束。
步骤五、区块链的同一群组的用户访问,查看和下载链上数据;
具体过程如下:
步骤501、各用户在注册认证服务器上注册各自的信息,注册认证服务器使用国密SM3算法计算各个用户注册信息的哈希值并保存在数据库中,同时使用国密SM2算法生成各自的公私钥对;
步骤502、针对当前用户a,使用国密SM3算法将用户a的公钥Pku以及用户a注册信息的哈希值,计算得到摘要H3,并将用户a的ID、公钥Pku和摘要H3发送至注册认证服务器;
步骤503、注册认证服务器接收到信息后,通过用户a的ID从本地数据库中取出用户a注册信息的哈希值,将此哈希值与公钥Pku一同使用国密SM3算法计算得到摘要H4;
步骤504、对比摘要H3和H4的值,如果相等,则用户a的身份认证通过,进入步骤505;否则,返回注册失败的信息,结束;
步骤505、注册认证服务器用自己的私钥对用户a的公钥Pku使用国密SM2算法进行签名得到Su,并将公钥Pku和签名Su上传至区块链,返回认证成功;
步骤506、用户a通过数据查询接口输入物联网设备S的ID值查询数据;
步骤507、用户a根据物联网设备S的ID值在用户端查询该设备的加密密钥是否存在,如果是,跳到步骤512;否则,密钥不存在,进入步骤508;
步骤508、用户a向注册认证服务器发送用户a的ID和物联网设备S的ID,申请物联网设备S的加密密钥;
步骤509、注册认证服务器根据设备S的ID在区块链查询用户a的公钥和签名,并对签名验签,成功后根据物联网设备S的ID从区块链上查询该设备的密钥的密文信息Kc;
步骤510、注册认证服务器用自身私钥对密文信息Kc解密得到密钥Key,再使用国密SM2算法以及用户a的公钥对密钥Key加密得到密文Ku,并用国密SM2算法使用注册认证服务器的私钥对密文Ku进行签名得到Su,并将Ku和Su发送给用户a;
步骤511、用户a通过接口使用国密SM2算法对签名Su进行验签,验签成功后使用用户a的私钥对密文Ku解密的到Key,并保存在用户端;
步骤512、用户a通过接口向上位机发送用户a的ID和物联网设备S的ID请求访问区块链上数据;
步骤513、上位机根据用户a的ID从区块链上查询到用户a的公钥和签名,并使用注册认证服务器的公钥对签名进行验签,若验签失败则返回查询失败;否则,使用物联网设备S的ID从区块链中下载到相关数据返回给用户a;
步骤514、用户a收到数据后,对加密的数据使用SM4算法和密钥Key进行解密获得数据明文,然后根据需要对数据明文进行相应处理,至此用户访问数据流程结束。
本发明的优点在于:
1)、一种基于区块链以及NB-IoT芯片的物联网数据存证方法,结合区块链技术对传统的数据存证方法进行改进,能够保证物联网数据的安全及确权,有效鉴别数据是否被修改。
2)、一种基于区块链以及NB-IoT芯片的物联网数据存证方法,结合NB-IoT技术,可以有效降低物联网设备的联网功耗。
附图说明
图1是本发明基于区块链以及NB-IoT芯片的物联网数据存证方法的整体架构图;
图2是本发明基于区块链以及NB-IoT芯片的物联网数据存证方法的流程图;
图3是本发明中执行流程中设备注册认证部分的具体流程图;
图4是本发明中数据上链部分的具体流程图;
图5是本发明中区块链的同一群组的用户访问查看和下载链上数据的流程图;
图6是本发明中实施例中服务器的执行界面图;
图7是本发明实施例中代理程序将数据上传至区块链的执行界面图;
图8是本发明实施例中web应用查看上传成功的链上数据的示意图。
具体实施方式
下面将结合附图和实施示例对本发明作进一步的详细说明。
本发明是基于区块链以及NB-IoT芯片的物联网数据存证方法,通过区块链技术与物联网相结合从而保证用户的物联网数据的安全及确权。基于如图1所示的架构,主要由搭载NB-IoT芯片的物联网终端设备、注册及认证服务器、上位机、相关应用程序以及区块链和链上链码程序组成。
物联网终端设备用来采集相关物联网数据。NB-IoT芯片对物联网数据的哈希值进行加密、签名操作,之后通过芯片的通信模块与上位机的代理程序通信完成数据上链。注册及认证服务器主要完成对物联网设备身份息的注册,之后接受来自设备的认证请求并完成设备的认证。代理程序主要接收来自NB-IoT芯片的数据并通过相关接口来实现数据上链。应用程序为有权限的用户提供链上数据的查看及下载功能。区块链及链码主要对系统提供底层的支持。
该系统首先通过对设备进行注册及认证,保证接入系统的物联网设备的合法性,其次对物联网数据的哈希值通过国密算法进行加密以及签名的操作,保证其安全以及确权,进而通过此哈希值来验证原数据是否被篡改。
首先,在运作前需要搭建并启动注册认证服务器以及代理程序,并且部署区块链及链码程序;在一切准备工作完成后,系统便可以开始运作;如图2所示,具体步骤如下:
步骤一、在注册认证服务器上通过前端web程序或registDeviceInfo()接口,对要使用的物联网设备S的信息进行注册,注册认证服务器使用国密SM3算法计算注册信息的哈希值保存在数据库中;同时将注册认证服务器的公钥信息写入到物联网设备S中;
registDeviceInfo()接口为设备信息注册接口。
设备S的信息包括设备的ID、设备IMEI号、设备固件版本和设备制造商等多个信息的组合,需保证设备中查询到的信息与注册认证服务器中填写的信息一致。
本发明方案中,有两个部分需要进行手动设置,一是设备端需要写入服务器的公钥信息,二是在设备启用之前,在服务端录入设备信息到服务端的数据库中,但数据库中存储的仅是对设备信息计算摘要后的摘要信息。
步骤二、打开物联网设备S,初次启动时,设备调用register()接口与认证注册服务器进行通信,完成设备S的认证操作;
如图3所示,具体流程如下:
步骤201、物联网设备S的NB-IoT芯片的加密单元产生用于国密SM2算法的公私钥对;
步骤202、将物联网设备S的公钥Pk以及设备S的哈希值一同使用国密SM3算法计算摘要,得到摘要信息H1;
步骤203、将物联网设备S的ID、公钥Pk以及摘要信息H1打包发送至注册认证服务器;
步骤204、注册认证服务器接收到信息后,通过物联网设备S的ID从数据库中取出设备S注册信息的哈希值;
步骤205、利用数据库中物联网设备S注册信息的哈希值和公钥Pk一同使用国密SM3算法计算摘要信息,得到H2;
步骤206、对比摘要H1和H2的值,如果相等,则物联网设备S的身份验证通过,注册认证服务器计算出待分发给物联网设备S的对称式加密密钥Key,进入步骤207;否则,向物联网设备S发送验证失败,结束;
物联网设备S对采集的数据使用国密SM4算法进行对称式加密,得到的密钥由该注册认证服务器计算并分发给物联网设备S。
步骤207、注册认证服务器用自己的私钥对物联网设备S的公钥Pk使用国密SM2算法进行签名得到Sp,用自身公钥使用国密SM2算法对物联网设备S的密钥Key进行加密得到Ks;
步骤208、注册认证服务器调用区块链SDK和链码相关接口,将物联网设备S的ID,公钥信息Pk、公钥签名信息Sp、以及加密后的密钥信息Ks上传至区块链;
步骤209、注册认证服务器使用国密SM2算法以及设备S的公钥Pk对密钥Key进行加密,得到密文Kc,并进一步用注册认证服务器的私钥对密文Kc进行签名得到Sk;
步骤210、注册认证服务器将密文Kc以及签名Sk发送给物联网设备S;
步骤211、物联网设备S接收到注册认证服务器传来的信息,首先用国密SM2算法以及注册认证服务器的公钥对签名信息Sk进行验签,若验签失败,则丢弃数据,并再次申请认证;否则,验签成功后,物联网设备S利用自己的私钥对密文信息Kc进行解密,得到密钥Key,并存储至物联网设备S的NB-IoT芯片中,至此,认证过程结束。
本发明的设备信息具有唯一性,且作为设备注册的唯一信息标识,因此需要保证设备信息不被外部窃取。因此,在注册认证服务端数据库中存储的设备信息并不是设备的详细信息,而是设备信息的摘要信息,避免信息被窃取。但当设备发起认证时,服务端也需要通过设备发来的身份摘要来认证设备的身份,这有可能导致设备摘要在网络传输过程中被第三方窃取,从而利用设备信息摘要伪造设备认证信息向服务端发起这个请求。
为了解决这个问题,终端在发起认证时,是将设备信息的摘要值加上设备公钥信息共同取摘要,再将此摘要发送给服务端,这就无需在网络中传输设备信息摘要,避免了信息被窃取。另外在服务端向设备返回信息时,返回的密钥是通过设备公钥进行加密的,这就避免了密钥被窃取,同时服务端还对密文进行了签名,终端通过对此签名进行验证来确认接收到的私钥密文确实来自合法的服务器,而不是第三方伪造。
步骤三、认证完成后,物联网设备S开始采集并处理数据后,发送给上位机;
如图4所示,具体流程如下:
首先、物联网设备S采集数据,对200字节以内的小规模数据,直接传递给NB-IoT芯片,对其余的大规模数据计算哈希摘要,并将摘要信息传递给NB-IoT芯片;
然后、NB-IoT芯片接收到物联网设备S传来的信息,利用国密SM4算法以及加密密钥Key对信息进行加密,得到数据M;NB-IoT芯片使用国密SM2算法以及物联网设备S的公钥对数据M进行签名,得到签名信息Sm;
最后,将物联网设备S的信息ID、数据采集时间T、加密信息M、签名信息Sm通过NB-IoT芯片的通信单元发出。
在该过程中,签名Sm的作用一是让代理程序核实发来的信息是否来自合法的设备,只有合法的设备发来的信息才会被上传到区块链。二是通过签名可以对数据进行确权,明确数据的来源和所有权。
步骤四、上位机的代理程序接收到物联网设备S的数据后,对物联网设备S进行认证并调用接口将数据上传到区块链;
如图4所示,具体流程如下:
步骤401、根据物联网设备S的ID字段,使用区块链SDK以及链码相关API从区块链上下载物联网设备S的公钥Pk以及对公钥的签名Sp;
步骤402、使用国密SM2算法以及认证注册服务器的公钥对签名Sp进行验签,以确定Pk是否为合法的公钥信息,若验签成功继续执行步骤403,否则丢弃数据,并向物联网设备S返回数据上联失败的信息;
步骤403、在确定设备公钥信息合法后,使用设备公钥Pk对接收到的签名数据Sm进行验签,从而确定发来信息的物联网设备S的合法性;
步骤404、物联网设备S合法后,上位机使用区块链SDK调用链码相关API将物联网设备S的ID、时间信息T、加密信息M、以及签名信息Sm上传至区块链,供区块链同一群组的用户查看和下载,至此数据上传到区块链的过程结束。
步骤五、区块链的同一群组的用户访问,查看和下载链上数据;
如图5所示,具体过程如下:
步骤501、各用户在注册认证服务器上注册各自的信息,注册认证服务器使用国密SM3算法计算各个用户注册信息的哈希值并保存在数据库中,同时各用户使用国密SM2算法生成各自的公私钥对;
步骤502、针对当前用户a,调用应用程序的注册接口,使用国密SM3算法将用户a的公钥Pku以及用户a注册信息的哈希值,计算得到摘要H3,并将用户a的ID、公钥Pku和摘要H3发送至注册认证服务器;
步骤503、注册认证服务器接收到信息后,通过用户a的ID从本地数据库中取出用户a注册信息的哈希值,将此哈希值与公钥Pku一同使用国密SM3算法计算得到摘要H4;
步骤504、对比摘要H3和H4的值,如果相等,则用户a的身份认证通过,进入步骤505;否则,返回注册失败的信息,结束;
步骤505、注册认证服务器用自己的私钥对用户a的公钥Pku使用国密SM2算法进行签名得到Su,并将公钥Pku和签名Su上传至区块链,返回认证成功的消息给应用程序;
步骤506、用户a通过数据查询接口输入物联网设备S的ID值查询数据;
步骤507、用户a根据物联网设备S的ID值在用户端查询该设备的加密密钥是否存在,如果是,跳到步骤512;否则,密钥不存在,进入步骤508;
步骤508、用户a向注册认证服务器发送用户a的ID和物联网设备S的ID,申请物联网设备S的加密密钥;
步骤509、注册认证服务器根据设备S的ID在区块链查询用户a的公钥和签名,并对签名验签,成功后根据物联网设备S的ID从区块链上查询该设备的密钥的密文信息Kc;
步骤510、注册认证服务器用自身私钥对密文信息Kc解密得到密钥Key,再使用国密SM2算法以及用户a的公钥对密钥Key加密得到密文Ku,并用国密SM2算法使用注册认证服务器的私钥对密文Ku进行签名得到Su,并将密文Ku和签名Su发送给用户a;
步骤511、用户a通过接口使用国密SM2算法对签名Su进行验签,验签成功后使用用户a的私钥对密文Ku解密的到Key,并保存在用户端;
步骤512、用户a通过接口向上位机发送用户a的ID和物联网设备S的ID,请求访问区块链上数据;
步骤513、上位机根据用户a的ID从区块链上查询到用户a的公钥和签名,并使用注册认证服务器的公钥对签名进行验签,若验签失败则返回查询失败;否则,使用物联网设备S的ID从区块链中下载到相关数据返回给用户a;
步骤514、用户a收到数据后,对加密的数据使用SM4算法和密钥Key进行解密获得数据明文,然后根据需要对数据明文进行相应处理,至此用户访问数据流程结束。
本发明采用的区块链平台为提供群组功能,以及上链及数据查询接口的联盟链。所有的参与者必须经过身份验证才能参与到该区块链进行交易。使用联盟链可以使本系统同时让多方参与,使本发明更加具有实用性和实际意义。
具体实例,如以上步骤相同,首先打开设备进行设备注册认证阶段,服务器执行情况如图6所示。设备认证成功后便开始采集数据并将加密的摘要信息和相关数据发送至代理程序,代理程序将数据上传至区块链,如图7所示。数据上传成功后,打开web应用查看链上数据,如图8所示。

Claims (6)

1.一种基于区块链以及NB-IoT芯片的物联网数据存证方法,其特征在于,具体步骤如下:首先,要使用的物联网设备S在注册认证服务器上,通过前端web程序或registDeviceInfo()接口进行注册,并使用国密SM3算法计算注册信息的哈希值保存在注册认证服务器的本地数据库中,同时将注册认证服务器的公钥信息写入到物联网设备S中;
然后,打开物联网设备S,初次启动时,调用register()接口与认证注册服务器进行通信,完成设备S的认证操作;认证完成后,物联网设备S开始采集并处理数据后,计算数据摘要信息,并连同采集时间一同发送给NB-IoT芯片;NB-IoT芯片接收到后,对摘要信息使用国密SM4算法进行加密,再用SM2算法对密文信息进行签名;之后通过通信单元发送给上位机,上位机接收到物联网设备S的数据后,对物联网设备S进行认证并调用接口将数据上传到区块链;方便区块链的同一群组的用户访问,查看和下载链上数据。
2.如权利要求1所述的一种基于区块链以及NB-IoT芯片的物联网数据存证方法,其特征在于,所述的物联网设备S的信息包括设备的ID、设备IMEI号、设备固件版本和设备制造商多个信息的组合,需保证设备中查询到的信息与注册认证服务器中填写的信息一致。
3.如权利要求1所述的一种基于区块链以及NB-IoT芯片的物联网数据存证方法,其特征在于,所述的物联网设备S的认证操作具体流程如下:
步骤201、物联网设备S的NB-IoT芯片的加密单元产生用于国密SM2算法的公私钥对;
步骤202、将物联网设备S的公钥Pk以及设备S的哈希值一同使用国密SM3算法计算摘要,得到摘要信息H1;
步骤203、将物联网设备S的ID、公钥Pk以及摘要信息H1打包发送至注册认证服务器;
步骤204、注册认证服务器接收到信息后,通过物联网设备S的ID从数据库中取出设备S注册信息的哈希值;
步骤205、利用数据库中物联网设备S注册信息的哈希值和公钥Pk一同使用国密SM3算法计算摘要信息,得到H2;
步骤206、对比摘要H1和H2的值,如果相等,则物联网设备S的身份验证通过,注册认证服务器计算出待分发给物联网设备S的对称式加密密钥Key,进入步骤207;否则,向物联网设备S发送验证失败,结束;
步骤207、注册认证服务器用自己的私钥对物联网设备S的公钥Pk使用国密SM2算法进行签名得到Sp,用自身公钥使用国密SM2算法对物联网设备S的密钥Key进行加密得到Ks;
步骤208、注册认证服务器调用区块链SDK和链码相关接口,将物联网设备S的ID,公钥信息Pk、公钥签名信息Sp、以及加密后的密钥信息Ks上传至区块链;
步骤209、注册认证服务器使用国密SM2算法以及设备S的公钥Pk对密钥Key进行加密,得到密文Kc,并进一步用注册认证服务器的私钥对密文Kc进行签名得到Sk;
步骤210、注册认证服务器将密文Kc以及签名Sk发送给物联网设备S;
步骤211、物联网设备S接收到注册认证服务器传来的信息,首先用国密SM2算法以及注册认证服务器的公钥对签名信息Sk进行验签,若验签失败,则丢弃数据,并再次申请认证;否则,验签成功后,物联网设备S利用自己的私钥对密文信息Kc进行解密,得到密钥Key,并存储至物联网设备S的NB-IoT芯片中,至此,认证过程结束。
4.如权利要求1所述的一种基于区块链以及NB-IoT芯片的物联网数据存证方法,其特征在于,所述的物联网设备S采集并处理数据发送给上位机,具体流程如下:
首先、物联网设备S采集数据,对200字节以内的小规模数据,直接传递给NB-IoT芯片,对其余的大规模数据计算哈希摘要,并将摘要信息传递给NB-IoT芯片;
然后、NB-IoT芯片接收到物联网设备S传来的信息,利用国密SM4算法以及加密密钥Key对信息进行加密,得到数据M;并使用国密SM2算法以及物联网设备S的公钥对数据M进行签名,得到签名信息Sm;
最后,将物联网设备S的信息ID、数据采集时间T、加密信息M、签名信息Sm通过NB-IoT芯片的通信单元发出。
5.如权利要求1所述的一种基于区块链以及NB-IoT芯片的物联网数据存证方法,其特征在于,所述的上位机对物联网设备S进行认证并上传到区块链,具体流程如下:
步骤401、根据物联网设备S的ID字段,使用区块链SDK以及链码相关API从区块链上下载物联网设备S的公钥Pk以及对公钥的签名Sp;
步骤402、使用国密SM2算法以及认证注册服务器的公钥对签名Sp进行验签,以确定Pk是否为合法的公钥信息,若验签成功继续执行步骤403,否则丢弃数据,并向物联网设备S返回数据上联失败的信息;
步骤403、在确定设备公钥信息合法后,使用设备公钥Pk对接收到的签名数据Sm进行验签,从而确定发来信息的物联网设备S的合法性;
步骤404、物联网设备S合法后,上位机使用区块链SDK调用链码相关API将物联网设备S的ID、时间信息T、加密信息M、以及签名信息Sm上传至区块链,供区块链同一群组的用户查看和下载,至此数据上传到区块链的过程结束。
6.如权利要求1所述的一种基于区块链以及NB-IoT芯片的物联网数据存证方法,其特征在于,所述的区块链的同一群组的用户访问,查看和下载链上数据,具体过程如下:
步骤501、各用户在注册认证服务器上注册各自的信息,注册认证服务器使用国密SM3算法计算各个用户注册信息的哈希值并保存在数据库中,同时使用国密SM2算法生成各自的公私钥对;
步骤502、针对当前用户a,使用国密SM3算法将用户a的公钥Pku以及用户a注册信息的哈希值,计算得到摘要H3,并将用户a的ID、公钥Pku和摘要H3发送至注册认证服务器;
步骤503、注册认证服务器接收到信息后,通过用户a的ID从本地数据库中取出用户a注册信息的哈希值,将此哈希值与公钥Pku一同使用国密SM3算法计算得到摘要H4;
步骤504、对比摘要H3和H4的值,如果相等,则用户a的身份认证通过,进入步骤505;否则,返回注册失败的信息,结束;
步骤505、注册认证服务器用自己的私钥对用户a的公钥Pku使用国密SM2算法进行签名得到Su,并将公钥Pku和签名Su上传至区块链,返回认证成功;
步骤506、用户a通过数据查询接口输入物联网设备S的ID值查询数据;
步骤507、用户a根据物联网设备S的ID值在用户端查询该设备的加密密钥是否存在,如果是,跳到步骤512;否则,密钥不存在,进入步骤508;
步骤508、用户a向注册认证服务器发送用户a的ID和物联网设备S的ID,申请物联网设备S的加密密钥;
步骤509、注册认证服务器根据设备S的ID在区块链查询用户a的公钥和签名,并对签名验签,成功后根据物联网设备S的ID从区块链上查询该设备的密钥的密文信息Kc;
步骤510、注册认证服务器用自身私钥对密文信息Kc解密得到密钥Key,再使用国密SM2算法以及用户a的公钥对密钥Key加密得到密文Ku,并用国密SM2算法使用注册认证服务器的私钥对密文Ku进行签名得到Su,并将Ku和Su发送给用户a;
步骤511、用户a通过接口使用国密SM2算法对签名Su进行验签,验签成功后使用用户a的私钥对密文Ku解密的到Key,并保存在用户端;
步骤512、用户a通过接口向上位机发送用户a的ID和物联网设备S的ID请求访问区块链上数据;
步骤513、上位机根据用户a的ID从区块链上查询到用户a的公钥和签名,并使用注册认证服务器的公钥对签名进行验签,若验签失败则返回查询失败;否则,使用物联网设备S的ID从区块链中下载到相关数据返回给用户a;
步骤514、用户a收到数据后,对加密的数据使用SM4算法和密钥Key进行解密获得数据明文,然后根据需要对数据明文进行相应处理,至此用户访问数据流程结束。
CN202210021693.7A 2022-01-10 2022-01-10 基于区块链以及NB-IoT芯片的物联网数据存证方法 Active CN114499876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210021693.7A CN114499876B (zh) 2022-01-10 2022-01-10 基于区块链以及NB-IoT芯片的物联网数据存证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210021693.7A CN114499876B (zh) 2022-01-10 2022-01-10 基于区块链以及NB-IoT芯片的物联网数据存证方法

Publications (2)

Publication Number Publication Date
CN114499876A CN114499876A (zh) 2022-05-13
CN114499876B true CN114499876B (zh) 2023-07-21

Family

ID=81509594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210021693.7A Active CN114499876B (zh) 2022-01-10 2022-01-10 基于区块链以及NB-IoT芯片的物联网数据存证方法

Country Status (1)

Country Link
CN (1) CN114499876B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115348114B (zh) * 2022-10-19 2023-02-28 浙江浩普智能科技有限公司 一种智慧电厂数据安全传输方法、系统、电子设备及介质
CN116882699A (zh) * 2023-07-27 2023-10-13 陕西科诗特软件有限公司 基于物联iot大数据的城市管理处理方法和服务系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881474A (zh) * 2018-07-10 2018-11-23 南京邮电大学 一种基于区块链的物联网数据分级保护架构
CN212486798U (zh) * 2020-05-09 2021-02-05 江苏润和智融科技有限公司 一种基于区块链技术的电力传感设备
CN112600892A (zh) * 2020-12-07 2021-04-02 北京邮电大学 面向物联网的区块链设备、系统及工作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10972463B2 (en) * 2018-06-06 2021-04-06 Cisco Technology, Inc. Blockchain-based NB-IoT devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881474A (zh) * 2018-07-10 2018-11-23 南京邮电大学 一种基于区块链的物联网数据分级保护架构
CN212486798U (zh) * 2020-05-09 2021-02-05 江苏润和智融科技有限公司 一种基于区块链技术的电力传感设备
CN112600892A (zh) * 2020-12-07 2021-04-02 北京邮电大学 面向物联网的区块链设备、系统及工作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于国密算法和区块链的移动端安全eID及认证协议设计;胡卫;吴邱涵;刘胜利;付伟;;信息网络安全(第07期);全文 *

Also Published As

Publication number Publication date
CN114499876A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
TWI429256B (zh) 基於編碼證明之重新驗證的鑑定授權
US8302171B2 (en) System and method for privilege delegation and control
CN113783836A (zh) 基于区块链和ibe算法的物联网数据访问控制方法及系统
CN109728903B (zh) 一种使用属性密码的区块链弱中心密码授权方法
CN104270338A (zh) 一种电子身份注册及认证登录的方法及其系统
CN114499876B (zh) 基于区块链以及NB-IoT芯片的物联网数据存证方法
EP2553894B1 (en) Certificate authority
US20110213959A1 (en) Methods, apparatuses, system and related computer program product for privacy-enhanced identity management
CN113746632B (zh) 一种物联网系统多级身份认证方法
CN112543166B (zh) 实名登录的方法及装置
CN106936588A (zh) 一种硬件控制锁的托管方法、装置及系统
WO2023071751A1 (zh) 一种认证方法和通信装置
CN115811406A (zh) 一种基于环签名共识机制的物联网区块链认证方法和系统
JP2024501326A (ja) アクセス制御方法、装置、ネットワーク側機器、端末及びブロックチェーンノード
Liou et al. T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs
CN116112242B (zh) 面向电力调控系统的统一安全认证方法及系统
EP2359525B1 (en) Method for enabling limitation of service access
CN116506118A (zh) 一种pki证书透明化服务中身份隐私性保护方法
CN113676330B (zh) 一种基于二级密钥的数字证书申请系统及方法
CN111682941B (zh) 基于密码学的集中式身份管理、分布式认证与授权的方法
CN113329003B (zh) 一种物联网的访问控制方法、用户设备以及系统
CN111723347B (zh) 身份认证方法、装置、电子设备及存储介质
CN111383110A (zh) 跨区块链的通证转移方法、装置及硬件设备
TWM585941U (zh) 帳戶資料處理系統
Wang et al. Design and implementation of a safe Public Key Infrastructure

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