CN113949543A - 基于侧链的可扩展的物联网大数据和服务安全管理方法 - Google Patents

基于侧链的可扩展的物联网大数据和服务安全管理方法 Download PDF

Info

Publication number
CN113949543A
CN113949543A CN202111158840.7A CN202111158840A CN113949543A CN 113949543 A CN113949543 A CN 113949543A CN 202111158840 A CN202111158840 A CN 202111158840A CN 113949543 A CN113949543 A CN 113949543A
Authority
CN
China
Prior art keywords
side chain
contract
equipment
service
user
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.)
Withdrawn
Application number
CN202111158840.7A
Other languages
English (en)
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.)
Xian University of Technology
Original Assignee
Xian University of Technology
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 Xian University of Technology filed Critical Xian University of Technology
Priority to CN202111158840.7A priority Critical patent/CN113949543A/zh
Publication of CN113949543A publication Critical patent/CN113949543A/zh
Withdrawn legal-status Critical Current

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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/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

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于侧链的可扩展的物联网大数据和服务安全管理方法,具体按照以下步骤实施:步骤1、系统初始化:系统初始化包括两个阶段:初始化区块链和初始化智能合约;步骤2、物联网设备注册:每一个加入侧链网络的物联网设备都需要经过侧链合约的验证,然后被记录于侧链合约中,侧链管理员监听到物联网设备注册事件后,在联盟链中记录设备及侧链的相关属性,以便于联盟链为用户分配访问权限;步骤3、物联网数据的访问;步骤4、物联网服务的分发。本发明解决了现有技术中存在的物联网大数据和服务安全局限性大、安全性差的问题。

Description

基于侧链的可扩展的物联网大数据和服务安全管理方法
技术领域
本发明属于密码学与信息安全技术领域,具体涉及一种基于侧链的可扩展的物联网大数据和服务安全管理方法。
背景技术
物联网设备数量的激增,带来了物联网规模的扩展,大规模设备采集的数据和对服务的需求给数据的安全管理和服务的高效分发带来了挑战。传统的基于云的物联网在为物联网用户提供实时便捷的服务中扮演了重要的角色。但是,云计算存在着单点失败的风险。区块链技术和雾计算的发展为物联网中存在的数据安全保证和服务分发问题提供了新的解决路径。结合高效的智能合约技术以及灵活的侧链技术,物联网规模不断扩展的需求将得到满足。
已有的相关工作还存在以下几个问题:
(1)数据的安全管理、存储服务和计算服务管理方案难以支持物联网系统的扩展性。
(2)系统管理功能过于集中导致维护者的负载过重,虽然已有的工作提出了一些基本的解决思想,但没有提供具体的解决途径。
(3)智能合约的安全性分析不充分,随着近两年智能合约安全监测工具的发展,智能合约的安全性得到了广泛的提升。
发明内容
本发明的目的是提供一种基于侧链的可扩展的物联网大数据和服务安全管理方法,解决了现有技术中存在的物联网大数据和服务安全局限性大、安全性差的问题。
本发明所采用的技术方案是,基于侧链的可扩展的物联网大数据和服务安全管理方法,具体按照以下步骤实施:
步骤1、系统初始化:系统初始化包括两个阶段:初始化区块链和初始化智能合约;
步骤2、物联网设备注册:每一个加入侧链网络的物联网设备都需要经过侧链合约的验证,然后被记录于侧链合约中,侧链管理员监听到物联网设备注册事件后,在联盟链中记录设备及侧链的相关属性,以便于联盟链为用户分配访问权限;
步骤3、物联网数据的访问;
步骤4、物联网服务的分发。
本发明的特点还在于,
步骤1具体按照以下步骤实施:
步骤1.1、初始化区块链:
系统管理员设置区块链的初始参数并生成创世区块,初始化联盟区块链、侧链、云侧链。系统选取一个椭圆曲线,然后公布一个生成点G,需要参与系统活动的实体选取一个随机数k作为私钥,然后通过k*G=PK生成公钥PK,其中k*G表示随机数k乘以生成点G,获得公钥PK后通过
Figure BDA0003289360390000021
获得区块链地址Address,其中RIPEMD160()和SHA256()是哈希函数,RIPEMD160(SHA256(PK))表示使用依次使用两个哈希函数对公钥PK进行哈希运算;
步骤1.2、初始化智能合约:
系统设计联盟合约、侧链合约、云侧链合约,为区块链分配管理员,设置数据费支付时间锁T1、服务费支付时间锁T2以及传递费支付时间锁T3,将管理员和锁嵌入智能合约中,然后分别将上述智能合约部署于相应的区块链中,联盟合约负责管理侧链管理员和终端用户,侧链合约负责管理加入侧链网络的实体,云侧链合约负责管理远程云节点并分发云服务,系统管理员向联盟区块链管理员通知侧链合约以及侧链管理员的信息,联盟管理员将相关信息记录至联盟合约中,完成上述工作后,一个完整的物联网服务和数据管理平台建立完成;
联盟合约功能描述:
联盟合约包括系统管理员部署联盟合约之后,用户以及侧链管理员通过联盟合约发起的系统活动的状态变化:
侧链合约功能描述:
侧链合约包括系统管理员在侧链中部署侧链合约之后,侧链管理员、注册在侧链中的设备以及注册在侧链中的雾节点通过侧链合约发起的系统活动的状态变化:云侧链合约功能描述:
云侧链合约包括系统管理员部署云侧链合约之后,云节点和侧链管理员通过云侧链合约发起的系统活动的状态变化过程。
步骤2具体按照以下步骤实施:
步骤2.1、物联网设备在链下通过安全通道向侧链管理员Sidechain Admin发送设备的公钥PKDev、地址AddressDev、私钥SKDev对地址AddressDev的签名
Figure BDA0003289360390000031
以及可申请的服务最大值MaxMemory,MaxStorage,MaxCPU申请注册PKDev,
Figure BDA0003289360390000041
Figure BDA0003289360390000042
设备的服务属性是设备自身固有的属性,由设备生产商提供,设备申请的服务数量必须在注册的最大服务值之内;
步骤2.2、侧链管理员只会为拥有正确的地址签名的设备申请侧链智能合约注册设备函数接口AddDevice()将该设备及其属性添加到区块链中,添加到区块链的信息包括设备的地址AddressDev、设备的公钥PKDev、可申请的最大内存值MaxMemory、最大存储值MaxStorage以及最大CPU值MaxCPU;
步骤2.3、侧链智能合约设备添加函数AddDevice()首先验证物联网设备是否已经注册,若设备未注册,则将设备注册到区块链中,并向侧链广播一个设备成功添加事件,否则广播一个设备添加失败事件;
步骤2.4、侧链管理员监听到设备成功添加事件后,申请联盟链智能合约添加侧链管理员和设备函数接口AddScAdmin_Device()将新加入侧链的设备地址AddressDev以及侧链管理员的地址AddressScAdmin记录于联盟链中以便于联盟链中的用户访问侧链中的设备的数据,联盟链智能合约添加侧链管理员和设备函数接口AddScAdmin_Device()检查侧链管理员的有效性,只有已经注册到联盟链的侧链管理员才能成功申请记录设备;
步骤2.5、新注册的设备在侧链中获知自己已经注册后,通过侧链智能合约检查注册状态函数接口CheckRegisterState()查看自己已经注册的属性和状态;
步骤3具体按照以下步骤实施:
步骤3.1、用户的授权:
步骤3.1.1、用户User在链下向联盟管理员Consortium Admin提供自己的身份信息FileId和区块链地址AddressUser申请注册FileId,AddressUser→Consortium Admin;
步骤3.1.2、联盟管理员验证用户身份后,给用户授权可以访问的设备地址,申请联盟合约授权用户函数接口AddUser_Device()向用户的授权集中记录用户的权限信息,包括用户的地址AddressUser、授权设备的地址AddressDev、监管授权设备的侧链管理员地址AddressScAdmin,联盟合约完成授权信息记录后向联盟区块链广播一个授权事件;
步骤3.1.3、用户监听到授权事件后,可以申请联盟合约的权限查看函数接口UserLo okupAuthority()查看自己的权限;
步骤3.1.4、侧链管理员监听到与自己监管的设备相关的授权事件后,指定用户授权访问设备的有效期T,申请侧链合约授权用户函数接口AddUser_Device()向用户的授权集中记录用户的授权信息,包括用户的地址AddressUser、设备的地址AddressDev、访问有效期T,侧链合约发送一个授权事件表明授权信息记录完成;
步骤3.1.5、上述过程执行完成之后,用户可以申请联盟合约访问数据函数接口UserRequestAc cessData()申请访问设备的数据。
步骤3.2数据的访问
步骤3.2.1、物联网设备在链下使用密钥KeyDev通过AES加密算法加密数据文件File,
Figure BDA0003289360390000051
然后发送给雾节点Fog,
Figure BDA0003289360390000052
步骤3.2.2、雾节点将设备的加密数据
Figure BDA0003289360390000053
上传到存储系统IPFS中
Figure BDA0003289360390000054
步骤3.2.3、雾节点Fog成功上传设备的数据文件后,雾节点从存储系统IPFS中获取设备的数据文件的下载地址AddressFile,通过ECDSA数字签名算法使用自己的私钥SKFog对该地址AddressFile进行签名
Figure BDA0003289360390000055
雾节点申请侧链智能合约添加数据文件函数接口AddDevice_File()记录设备的地址AddressDev、数据文件名DataFileName、数据文件的IPFS地址AddressFile以及签名
Figure BDA0003289360390000061
侧链智能合约完成存储后,设备可以随时申请侧链合约文件查看函数接口DeviceLookupFile()查看已上传的数据文件信息;
步骤3.2.4、终端用户在联盟链级别发起访问数据请求,申请联盟合约访问数据函数接口UserRequestAccessData()访问授权设备的数据;
步骤3.2.5、终端用户发送请求数据交易后,联盟合约验证用户的授权集中是否包含被访问的设备,若验证通过,则广播一个用户请求访问数据的事件以通知被访问的侧链;
步骤3.2.6、监管被访问设备的侧链管理员监听到联盟链中的用户请求访问数据的事件后,申请侧链合约验证访问数据请求函数接口AccessDataVerify()验证用户的数据访问请求;
步骤3.2.7、只有用户的授权集中包含该设备并且当前时间未超过被访问设备的有效期T时侧链合约才会随机返回一个加密的数据文件File的IPFS地址AddressFile,并广播一个成功访问的事件;
侧链管理员在链下通过ECC公钥加密算法使用访问者User的公钥PKUser加密设备的数据文件File的IPFS地址AddressFile
Figure BDA0003289360390000062
然后发送给访问者
Figure BDA0003289360390000063
数据拥有者在链下通过ECC公钥加密算法使用访问者User的公钥PKUser加密对称密钥KeyDev
Figure BDA0003289360390000064
然后发送给访问者
Figure BDA0003289360390000065
步骤3.3、数据费的支付:
步骤3.3.1、联盟合约和侧链合约成功验证用户对设备数据的访问请求后,侧链合约自动计算并存储用户需要支付的数据费,并广播一个数据访问事件以通知设备,事件包含了数据文件的地址和大小;
步骤3.3.2、用户选取重试秘密Sretrying,设备选取接收秘密Sreceipt,重试秘密和接收秘密是用于更改支付路径和从侧链合约中获取数据费的秘密,用户通过哈希算法keccak256()对重试秘密Sretrying做哈希运算生成重试哈希锁keccak256(Sretrying),并申请联盟合约支付押金函数接口UserMortgage()向联盟合约存储重试哈希锁keccak256(Sretrying)和押金,并将重试哈希锁发送给侧链管理员。设备也使用哈希函数keccak256()对接收秘密Sreceipt做哈希运算keccak256(Sreceipt),并申请侧链合约记录哈希锁函数接口DeviceAdd Secret()向侧链合约存储接收哈希锁keccak256(Sreceipt),并将接收哈希锁发送给侧链管理员;
步骤3.3.3、侧链管理员根据侧链合约返回的数据文件的大小以及数据费用的单价计算用户需要支付的数据费,申请侧链合约押金存储函数接口AdminMortgage()将用户重试哈希锁keccak256(Sretrying)以及数据费押金存储到侧链合约中,申请联盟合约添加接收哈希锁和数据费押金函数接口AddDeviceReceiptSecretAndDataFee()将用户需要支付的数据费和接收哈希锁keccak256(Sreceipt)存储到联盟合约中;
步骤3.3.4、用户通过ECC公钥加密算法使用设备公钥PKDev加密重试秘密Sretrying
Figure BDA0003289360390000071
并发送给设备Device,
Figure BDA0003289360390000072
设备使用私钥SKDev解密
Figure BDA0003289360390000073
获得重试秘密Sretrying,数据费支付时间锁T1到期之前,设备使用重试秘密Sretrying和接收秘密Sreceipt申请设备收费函数接口DeviceCharge()从侧链合约中获取数据费;
步骤3.3.5、设备获取数据费后通过ECC公钥加密算法使用侧链管理员的公钥PKScAdmin加密重试秘密Sretrying和接收秘密Sreceipt
Figure BDA0003289360390000074
并发送给侧链管理员
Figure BDA0003289360390000075
侧链管理员使用私钥SKScAdmin解密
Figure BDA0003289360390000081
获得重试秘密Sretrying和接收秘密Sreceipt。传递费支付时间锁T3到期之前,侧链管理员使用重试秘密Sretryin和接收秘密Sreceip申请联盟合约管理员收取传递费函数接口AdminCharge()从联盟合约中获取传递费;
步骤3.3.6、数据费支付时间锁T1和传递费支付时间锁T3到期之后,侧链管理员和用户分别申请侧链合约退还余额函数接口DeviceRefound()和联盟合约退还余额函数接口UserRefound_()中将剩余的押金取出;
上述过程执行完成表示一次数据被成功的共享。
步骤4具体按照以下步骤实施:
步骤4.1、雾节点Fog向系统提供身份信息FileId以证明自己拥有提供服务的能力,然后向侧链管理员SidechainAdmi提供自己的服务属性,包括地址AddressFog、公钥PKFog、服务能力MemoryCapacity,StorageCapacity,CPU,请求注册AddressFog,PKFog,MemoryCapacity,StorageCapacity,Port,CPU→SidechainAdmin,侧链管理员申请侧链合约注册雾节点函数接口AddFog()注册雾节点,只有未经注册的雾节点才会被注册到侧链合约中。云节点的注册与雾节点的注册相同;
步骤4.2、已注册的物联网设备需要申请服务时,提供需要申请的服务数量Memory,Storage,CPU向侧链合约的请求雾服务函数接口RequestFog Service()发出申请Memory,Storage,CPU→RequestFogService,然后等待侧链合约对服务请求的验证即可;
步骤4.3、侧链合约验证设备的注册状态以及注册的服务属性,侧链合约只会为合法的已注册的设备分配雾节点以提供设备已注册的服务属性范围之内的服务;
步骤4.4、若侧链合约验证通过,侧链合约将随机选择一个雾节点以执行设备请求的服务,若第一次选择的雾节点无法执行设备请求的服务,则再随机选取一个雾节点,否则寻求云侧链的帮助。找到满足设备请求的雾节点后侧链合约会向侧链广播提供雾服务的事件以通知雾节点和设备,如果设备是一个不合法的设备则侧链合约会抛出一个异常,拒绝请求雾节点为设备提供服务;
步骤4.5、雾节点和设备监听到侧链合约发出的雾服务提供事件后,雾节点将与设备建立连接以提供雾服务;
步骤4.6、若雾节点无法满足设备请求的服务,侧链管理员将申请联盟合约请求云资源函数接口RequestCloud()分发云服务,联盟合约将会为合法的侧链管理员和设备发出云服务请求事件以通知云侧链管理员;
步骤4.7、云侧链管理员在联盟链中监听到请求云资源事件后,提供设备的地址AddressDev、设备申请的服务数量Memory,Storage,CPU以及设备所在侧链的侧链管理员的地址AddressScAdmin申请云侧链合约请求云服务函数接口RequesetCloudService()分发云服务:
AddressDev,Memory,Storage,CPU,AddressScAdmin→RequesetCloudService;
步骤4.8、云侧链合约不需要验证请求云资源的侧链管理员和设备的合法性,因为他们已经得到了侧链和联盟链的验证和保障。云侧链合约选取云节点的方法与侧链合约选取雾节点的方法一样,找到合适的云节点后云侧链合约会广播一个提供云服务事件以通知云节点提供服务,云节点获得通知后会与设备建立连接以执行服务。如果单一云节点无法满足服务请求,则云侧链合约将协调更多的云节点,协同执行设备请求的服务,否则服务请求失败。
步骤4.9、雾节点和设备获知服务通知后,雾节点选取接收秘密Sreceipt,设备选取重试秘密Sretrying,与此同时,雾节点使用哈希函数keccak256()对接收秘密Sreceipt做哈希运算keccak256(Sreceipt),并向设备Device发送接收哈希锁keccak256(Sreceipt)→Device,设备和服务提供者的哈希锁均通过keccak256()生成,协商过程在链下完成;
步骤4.10、雾节点和设备完成协商后,设备和雾节点将自己的哈希锁存储到侧链合约中以便于创建服务费交易;
步骤4.11、设备获取雾服务后通过ECC公钥加密算法使用雾节点Fog的公钥PKFog加密自己的重试秘密Sretrying
Figure BDA0003289360390000101
然后发送给雾节点
Figure BDA0003289360390000102
雾节点使用私钥SKFo解密
Figure BDA0003289360390000103
Figure BDA0003289360390000104
获取重试秘密Sretrying。雾节点拥有设备的重试秘密Sretrying后,可以连同自己的接收秘密Sreceipt申请侧链合约收取服务费函数接口FogChar ge()获取服务费。
本发明的有益效果如下:
①本发明使用联盟区块链和侧链相结合的方式解耦物联网的管理功能,降低区块链网络维护者的负载,提高数据存储和服务的管理效率。在该方法中,将城市区域分片,使用侧链管理每一个分片,利用联盟链实现各个侧链之间的互联互通,进而解耦传统的集中式的管理功能。
②该方法通过对地理区域分片,并使用侧链管理一片内的物联网设备的数据和雾节点的资源,为物联网管理系统提供可扩展性并为数据和雾计算提供安全保障。
③该方法通过将区块链应用到雾计算与云计算范式中,为满足异构物联网设备的不同量级的服务需求提供保障。
④该方法通过将认证机制和访问规则嵌入趋于自动化的智能合约,保证物联网设备数据和服务在访问过程中的安全性并且提高数据和服务的传输效率。
⑤该方法简化雷电网络并结合智能合约建立安全且高效的支付平台,提供费用支付过程安全和公平的保障,减少交易双方之间的交互,提高物联网用户的支付效率。
附图说明
图1是系统架构;
图2是物联网数据的访问。
具体实施方式
在本发明的方法中,指定系统管理员来初始化联盟区块链和侧链,并设计三种类型的智能合约,包括联盟合约、侧链合约、云侧链合约,将实体认证机制和访问控制规则嵌入智能合约中,然后将联盟合约部署于联盟区块链中,将侧链合约部署于侧链中,将云侧链合约部部署于云侧链中。
本发明具体如下:
结合图1~图2,步骤1、系统初始化:系统初始化包括两个阶段:初始化区块链和初始化智能合约;
步骤1具体按照以下步骤实施:
步骤1.1、初始化区块链:
系统管理员设置区块链的初始参数并生成创世区块,初始化联盟区块链、侧链、云侧链。系统选取一个椭圆曲线,然后公布一个生成点G,需要参与系统活动的实体选取一个随机数k作为私钥,然后通过k*G=PK生成公钥PK,其中k*G表示随机数k乘以生成点G,获得公钥PK后通过
Figure BDA0003289360390000121
获得区块链地址Address,其中RIPEM1D60()和SHA256()是哈希函数,RIPEMD160(SHA256(PK))表示使用依次使用两个哈希函数对公钥PK进行哈希运算;
步骤1.2、初始化智能合约:
系统设计联盟合约、侧链合约、云侧链合约,为区块链分配管理员,设置数据费支付时间锁T1、服务费支付时间锁T2以及传递费支付时间锁T3,将管理员和锁嵌入智能合约中。
步骤2、物联网设备注册:每一个加入侧链网络的物联网设备都需要经过侧链合约的验证,然后被记录于侧链合约中,侧链管理员监听到物联网设备注册事件后,在联盟链中记录设备及侧链的相关属性,以便于联盟链为用户分配访问权限;
步骤2具体按照以下步骤实施:
步骤2.1、物联网设备在链下通过安全通道向侧链管理员Sidechain Admin发送设备的公钥PKDev、地址AddressDev、私钥SKDev对地址AddressDev的签名
Figure BDA0003289360390000122
以及可申请的服务最大值MaxMemory,MaxStorage,MaxCPU申请注册
Figure BDA0003289360390000123
,设备的服务属性是设备自身固有的属性,由设备生产商提供,设备申请的服务数量必须在注册的最大服务值之内;
步骤2.2、侧链管理员只会为拥有正确的地址签名的设备申请侧链智能合约注册设备函数接口AddDevice()将该设备及其属性添加到区块链中,添加到区块链的信息包括设备的地址AddressDev、设备的公钥PKDev、可申请的最大内存值MaxMemory、最大存储值MaxStorage以及最大CPU值MaxCPU;
步骤2.3、侧链智能合约设备添加函数AddDevice()首先验证物联网设备是否已经注册,若设备未注册,则将设备注册到区块链中,并向侧链广播一个设备成功添加事件,否则广播一个设备添加失败事件;
步骤2.4、侧链管理员监听到设备成功添加事件后,申请联盟链智能合约添加侧链管理员和设备函数接口AddScAdmin_Device()将新加入侧链的设备地址AddressDev以及侧链管理员的地址AddressScAdmin记录于联盟链中以便于联盟链中的用户访问侧链中的设备的数据,联盟链智能合约添加侧链管理员和设备函数接口AddScAdmin_Device()检查侧链管理员的有效性,只有已经注册到联盟链的侧链管理员才能成功申请记录设备;
步骤2.5、新注册的设备在侧链中获知自己已经注册后,通过侧链智能合约检查注册状态函数接口CheckRegisterState()查看自己已经注册的属性和状态;
步骤3、物联网数据的访问;
步骤3具体按照以下步骤实施:
步骤3.1、用户的授权:
步骤3.1.1、用户User在链下向联盟管理员ConsortiumAdmin提供自己的身份信息:FileId
和区块链地址AddressUser申请注册FileId,AddressUser→ConsortiumAdmin;
步骤3.1.2、联盟管理员验证用户身份后,给用户授权可以访问的设备地址,申请联盟合约授权用户函数接口AddUser_Device()向用户的授权集中记录用户的权限信息,包括用户的地址AddressUser、授权设备的地址AddressDev、监管授权设备的侧链管理员地址AddressScAdmin,联盟合约完成授权信息记录后向联盟区块链广播一个授权事件;
步骤3.1.3、用户监听到授权事件后,可以申请联盟合约的权限查看函数接口UserLo okupAuthority()查看自己的权限;
步骤3.1.4、侧链管理员监听到与自己监管的设备相关的授权事件后,指定用户授权访问设备的有效期T,申请侧链合约授权用户函数接口AddUser_Device()向用户的授权集中记录用户的授权信息,包括用户的地址AddressUser、设备的地址AddressDev、访问有效期T,侧链合约发送一个授权事件表明授权信息记录完成;
步骤3.1.5、上述过程执行完成之后,用户可以申请联盟合约访问数据函数接口UserRequestAc cessData()申请访问设备的数据。
步骤3.2数据的访问
步骤3.2.1、物联网设备在链下使用密钥KeyDev通过AES加密算法加密数据文件File,
Figure BDA0003289360390000141
然后发送给雾节点Fog,
Figure BDA0003289360390000142
步骤3.2.2、雾节点将设备的加密数据
Figure BDA0003289360390000143
上传到存储系统IPFS中
Figure BDA0003289360390000144
步骤3.2.3、雾节点Fog成功上传设备的数据文件后,雾节点从存储系统IPFS中获取设备的数据文件的下载地址AddressFile,通过ECDSA数字签名算法使用自己的私钥SKFog对该地址AddressFile进行签名
Figure BDA0003289360390000145
雾节点申请侧链智能合约添加数据文件函数接口AddDevice_File()记录设备的地址AddressDev、数据文件名DataFileName、数据文件的IPFS地址AddressFile以及签名
Figure BDA0003289360390000146
侧链智能合约完成存储后,设备可以随时申请侧链合约文件查看函数接口DeviceLookupFile()查看已上传的数据文件信息;
步骤3.2.4、终端用户在联盟链级别发起访问数据请求,申请联盟合约访问数据函数接口UserRequestAccessData()访问授权设备的数据;
步骤3.2.5、终端用户发送请求数据交易后,联盟合约验证用户的授权集中是否包含被访问的设备,若验证通过,则广播一个用户请求访问数据的事件以通知被访问的侧链;
步骤3.2.6、监管被访问设备的侧链管理员监听到联盟链中的用户请求访问数据的事件后,申请侧链合约验证访问数据请求函数接口AccessDataVerify()验证用户的数据访问请求;
步骤3.2.7、只有用户的授权集中包含该设备并且当前时间未超过被访问设备的有效期T时侧链合约才会随机返回一个加密的数据文件File的IPFS地址AddressFile,并广播一个成功访问的事件;
侧链管理员在链下通过ECC公钥加密算法使用访问者User的公钥PKUser加密设备的数据文件File的IPFS地址AddressFile
Figure BDA0003289360390000151
然后发送给访问者
Figure BDA0003289360390000152
数据拥有者在链下通过ECC公钥加密算法使用访问者User的公钥PKUser加密对称密钥KeyDev,EncPKUser(KeyDev),然后发送给访问者
Figure BDA0003289360390000153
步骤3.3、数据费的支付:
步骤3.3.1、联盟合约和侧链合约成功验证用户对设备数据的访问请求后,侧链合约自动计算并存储用户需要支付的数据费,并广播一个数据访问事件以通知设备,事件包含了数据文件的地址和大小;
步骤3.3.2、用户选取重试秘密Sretrying,设备选取接收秘密Sreceipt,重试秘密和接收秘密是用于更改支付路径和从侧链合约中获取数据费的秘密,用户通过哈希算法keccak256()对重试秘密Sretrying做哈希运算生成重试哈希锁keccak256(Sretrying),并申请联盟合约支付押金函数接口UserMortgage()向联盟合约存储重试哈希锁keccak256(Sretrying)和押金,并将重试哈希锁发送给侧链管理员。设备也使用哈希函数keccak256()对接收秘密Sreceipt做哈希运算keccak256(Sreceipt),并申请侧链合约记录哈希锁函数接口DeviceAdd Secret()向侧链合约存储接收哈希锁keccak256(Sreceipt),并将接收哈希锁发送给侧链管理员;
步骤3.3.3、侧链管理员根据侧链合约返回的数据文件的大小以及数据费用的单价计算用户需要支付的数据费,申请侧链合约押金存储函数接口AdminMortgage()将用户重试哈希锁keccak256(Sretrying)以及数据费押金存储到侧链合约中,申请联盟合约添加接收哈希锁和数据费押金函数接口AddDeviceReceiptSecretAndDataFee()将用户需要支付的数据费和接收哈希锁keccak256(Sreceipt)存储到联盟合约中;
步骤3.3.4、用户通过ECC公钥加密算法使用设备公钥PKDev加密重试秘密Sretrying,EncPKDev(Sretrying),并发送给设备Device,
Figure BDA0003289360390000161
设备使用私钥SKDev解密
Figure BDA0003289360390000162
获得重试秘密Sretrying,数据费支付时间锁T1到期之前,设备使用重试秘密Sretrying和接收秘密Sreceipt申请设备收费函数接口DeviceCharge()从侧链合约中获取数据费;
步骤3.3.5、设备获取数据费后通过ECC公钥加密算法使用侧链管理员的公钥PKScAdmin加密重试秘密Sretrying和接收秘密Sreceipt
Figure BDA0003289360390000163
并发送给侧链管理员
Figure BDA0003289360390000164
侧链管理员使用私钥SKScAdmin解密
Figure BDA0003289360390000166
Figure BDA0003289360390000165
获得重试秘密Sretrying和接收秘密Sreceipt。传递费支付时间锁T3到期之前,侧链管理员使用重试秘密Sretrying和接收秘密Sreceipt申请联盟合约管理员收取传递费函数接口AdminCharge()从联盟合约中获取传递费;
步骤3.3.6、数据费支付时间锁T1和传递费支付时间锁T3到期之后,侧链管理员和用户分别申请侧链合约退还余额函数接口DeviceRefound()和联盟合约退还余额函数接口UserRefound_()中将剩余的押金取出;
上述过程执行完成表示一次数据被成功的共享。
步骤4、物联网服务的分发。
步骤4具体按照以下步骤实施:
步骤4.1、雾节点Fog向系统提供身份信息FileId以证明自己拥有提供服务的能力,然后向侧链管理员SidechainAdmi提供自己的服务属性,包括地址AddressFog、公钥PKFog、服务能力MemoryCapacity,StorageCapacity,CPU,请求注册
AddressFog,PKFog,MemoryCapacity,StorageCapacity,Port,CPU→SidechainAdmin,侧链管理员申请侧链合约注册雾节点函数接口AddFog()注册雾节点,只有未经注册的雾节点才会被注册到侧链合约中。云节点的注册与雾节点的注册相同;
步骤4.2、已注册的物联网设备需要申请服务时,提供需要申请的服务数量Memory,Storage,CPU向侧链合约的请求雾服务函数接口RequestFog Service()发出申请Memory,Storage,CPU→RequestFogService,然后等待侧链合约对服务请求的验证即可;
步骤4.3、侧链合约验证设备的注册状态以及注册的服务属性,侧链合约只会为合法的已注册的设备分配雾节点以提供设备已注册的服务属性范围之内的服务;
步骤4.4、若侧链合约验证通过,侧链合约将随机选择一个雾节点以执行设备请求的服务;
步骤4.5、雾节点和设备监听到侧链合约发出的雾服务提供事件后,雾节点将与设备建立连接以提供雾服务;
步骤4.6、若雾节点无法满足设备请求的服务,侧链管理员将申请联盟合约请求云资源函数接口RequestCloud()分发云服务,联盟合约将会为合法的侧链管理员和设备发出云服务请求事件以通知云侧链管理员;
步骤4.7、云侧链管理员在联盟链中监听到请求云资源事件后,提供设备的地址AddressDev、设备申请的服务数量Memory,Storage,CPU以及设备所在侧链的侧链管理员的地址AddressScAdmin申请云侧链合约请求云服务函数接口RequesetCloudService()分发云服务:
AddressDev,Memory,Storage,CPU,AddressScAdmin→RequesetCloudService;
步骤4.8、云侧链合约选取云节点的方法与侧链合约选取雾节点的方法一样,找到合适的云节点后云侧链合约会广播一个提供云服务事件以通知云节点提供服务,云节点获得通知后会与设备建立连接以执行服务。
步骤4.9、雾节点和设备获知服务通知后,雾节点选取接收秘密Sreceipt,设备选取重试秘密Sretrying,与此同时,雾节点使用哈希函数keccak256()对接收秘密Sreceipt做哈希运算keccak256(Sreceipt),并向设备Device发送接收哈希锁keccak256(Sreceipt)→Device,设备和服务提供者的哈希锁均通过keccak256()生成,协商过程在链下完成;
步骤4.10、雾节点和设备完成协商后,设备和雾节点将自己的哈希锁存储到侧链合约中以便于创建服务费交易;
步骤4.11、设备获取雾服务后通过ECC公钥加密算法使用雾节点Fog的公钥PKFog加密自己的重试秘密Sretrying
Figure BDA0003289360390000181
然后发送给雾节点
Figure BDA0003289360390000182
雾节点使用私钥SKFo解密
Figure BDA0003289360390000184
Figure BDA0003289360390000183
获取重试秘密Sretrying。雾节点拥有设备的重试秘密Sretrying后,可以连同自己的接收秘密Sreceipt申请侧链合约收取服务费函数接口FogChar ge()获取服务费;
云服务费用的支付过程与用户支付数据费的过程相同,都是通过侧链管理员建立多方的雷电通道然后完成费用的支付。

Claims (5)

1.基于侧链的可扩展的物联网大数据和服务安全管理方法,其特征在于,具体按照以下步骤实施:
步骤1、系统初始化:系统初始化包括两个阶段:初始化区块链和初始化智能合约;
步骤2、物联网设备注册:每一个加入侧链网络的物联网设备都需要经过侧链合约的验证,然后被记录于侧链合约中,侧链管理员监听到物联网设备注册事件后,在联盟链中记录设备及侧链的相关属性,以便于联盟链为用户分配访问权限;
步骤3、物联网数据的访问;
步骤4、物联网服务的分发。
2.根据权利要求1所述的基于侧链的可扩展的物联网大数据和服务安全管理方法,其特征在于,所述步骤1具体按照以下步骤实施:
步骤1.1、初始化区块链:
系统管理员设置区块链的初始参数并生成创世区块,初始化联盟区块链、侧链、云侧链;系统选取一个椭圆曲线,然后公布一个生成点G,需要参与系统活动的实体选取一个随机数k作为私钥,然后通过k*G=PK生成公钥PK,
其中,k*G表示随机数k乘以生成点G,
获得公钥PK后通过
Figure FDA0003289360380000011
获得区块链地址Address,其中RIPEMD160()和SHA256()是哈希函数,RIPEMD160(SHA256(PK))表示使用依次使用两个哈希函数对公钥PK进行哈希运算;
步骤1.2、初始化智能合约:
系统设计联盟合约、侧链合约、云侧链合约,为区块链分配管理员,设置数据费支付时间锁T1、服务费支付时间锁T2以及传递费支付时间锁T3,将管理员和锁嵌入智能合约中,然后分别将上述智能合约部署于相应的区块链中,联盟合约负责管理侧链管理员和终端用户,侧链合约负责管理加入侧链网络的实体,云侧链合约负责管理远程云节点并分发云服务,系统管理员向联盟区块链管理员通知侧链合约以及侧链管理员的信息,联盟管理员将相关信息记录至联盟合约中,完成上述工作后,一个完整的物联网服务和数据管理平台建立完成;
联盟合约功能描述:
联盟合约包括系统管理员部署联盟合约之后,用户以及侧链管理员通过联盟合约发起的系统活动的状态变化:
侧链合约功能描述:
侧链合约包括系统管理员在侧链中部署侧链合约之后,侧链管理员、注册在侧链中的设备以及注册在侧链中的雾节点通过侧链合约发起的系统活动的状态变化:云侧链合约功能描述:
云侧链合约包括系统管理员部署云侧链合约之后,云节点和侧链管理员通过云侧链合约发起的系统活动的状态变化过程。
3.根据权利要求2所述的基于侧链的可扩展的物联网大数据和服务安全管理方法,其特征在于,所述步骤2具体按照以下步骤实施:
步骤2.1、物联网设备在链下通过安全通道向侧链管理员SidechainAdmin发送设备的公钥PKDev、地址AddressDev、私钥SKDev对地址AddressDev的签名
Figure FDA0003289360380000021
以及可申请的服务最大值MaxMemory,MaxStorage,MaxCPU申请注册PKDev,AddressDev,
Figure FDA0003289360380000022
Figure FDA0003289360380000023
MaxMemory,MaxStorage,MaxCPU→Sidechain Admin,设备的服务属性是设备自身固有的属性,由设备生产商提供,设备申请的服务数量必须在注册的最大服务值之内;
步骤2.2、侧链管理员只会为拥有正确的地址签名的设备申请侧链智能合约注册设备函数接口AddDevice()将该设备及其属性添加到区块链中,添加到区块链的信息包括设备的地址AddressDev、设备的公钥PKDev、可申请的最大内存值MaxMemory、最大存储值MaxStorage以及最大CPU值MaxCPU;
步骤2.3、侧链智能合约设备添加函数AddDevice()首先验证物联网设备是否已经注册,若设备未注册,则将设备注册到区块链中,并向侧链广播一个设备成功添加事件,否则广播一个设备添加失败事件;
步骤2.4、侧链管理员监听到设备成功添加事件后,申请联盟链智能合约添加侧链管理员和设备函数接口AddScAdmin_Device()将新加入侧链的设备地址AddressDev以及侧链管理员的地址AddressScAdmin记录于联盟链中以便于联盟链中的用户访问侧链中的设备的数据,联盟链智能合约添加侧链管理员和设备函数接口AddScAdmin_Device()检查侧链管理员的有效性,只有已经注册到联盟链的侧链管理员才能成功申请记录设备;
步骤2.5、新注册的设备在侧链中获知自己已经注册后,通过侧链智能合约检查注册状态函数接口CheckRegisterState()查看自己已经注册的属性和状态;
雾节点和云节点的注册与物联网设备的注册相似,区别于物联网设备注册的是,由于雾节点与云节点是服务提供者并且需要维护区块链,所以雾节点和云节点注册时需要提供自己的身份信息,以便于在系统中获得声誉。
4.根据权利要求3所述的基于侧链的可扩展的物联网大数据和服务安全管理方法,其特征在于,所述步骤3具体按照以下步骤实施:
步骤3.1、用户的授权:
步骤3.1.1、用户User在链下向联盟管理员ConsortiumAdmin提供自己的身份信息FileId
区块链地址AddressUser申请注册FileId,AddressUser→ConsortiumAdmin;
步骤3.1.2、联盟管理员验证用户身份后,给用户授权可以访问的设备地址,申请联盟合约授权用户函数接口AddUser_Device()向用户的授权集中记录用户的权限信息,包括用户的地址AddressUser、授权设备的地址AddressDev、监管授权设备的侧链管理员地址AddressScAdmin,联盟合约完成授权信息记录后向联盟区块链广播一个授权事件;
步骤3.1.3、用户监听到授权事件后,可以申请联盟合约的权限查看函数接口UserLookupAuthority()查看自己的权限;
步骤3.1.4、侧链管理员监听到与自己监管的设备相关的授权事件后,指定用户授权访问设备的有效期T,申请侧链合约授权用户函数接口AddUser_Device()向用户的授权集中记录用户的授权信息,包括用户的地址AddressUser、设备的地址AddressDev、访问有效期T,侧链合约发送一个授权事件表明授权信息记录完成;
步骤3.1.5、上述过程执行完成之后,用户可以申请联盟合约访问数据函数接口UserRequestAc cessData()申请访问设备的数据;
步骤3.2数据的访问
步骤3.2.1、物联网设备在链下使用密钥KeyDev通过AES加密算法加密数据文件File,
Figure FDA0003289360380000041
然后发送给雾节点Fog,
Figure FDA0003289360380000042
步骤3.2.2、雾节点将设备的加密数据
Figure FDA0003289360380000043
上传到存储系统IPFS中
Figure FDA0003289360380000044
步骤3.2.3、雾节点Fog成功上传设备的数据文件后,雾节点从存储系统IPFS中获取设备的数据文件的下载地址AddressFile,通过ECDSA数字签名算法使用自己的私钥SKFog对该地址AddressFile进行签名
Figure FDA0003289360380000051
雾节点申请侧链智能合约添加数据文件函数接口AddDevice_File()记录设备的地址AddressDev、数据文件名DataFileName、数据文件的IPFS地址AddressFile以及签名
Figure FDA0003289360380000052
侧链智能合约完成存储后,设备可以随时申请侧链合约文件查看函数接口DeviceLookupFile()查看已上传的数据文件信息;
步骤3.2.4、终端用户在联盟链级别发起访问数据请求,申请联盟合约访问数据函数接口UserRequestAccessData()访问授权设备的数据;
步骤3.2.5、终端用户发送请求数据交易后,联盟合约验证用户的授权集中是否包含被访问的设备,若验证通过,则广播一个用户请求访问数据的事件以通知被访问的侧链;
步骤3.2.6、监管被访问设备的侧链管理员监听到联盟链中的用户请求访问数据的事件后,申请侧链合约验证访问数据请求函数接口AccessDataVerify()验证用户的数据访问请求;
步骤3.2.7、只有用户的授权集中包含该设备并且当前时间未超过被访问设备的有效期T时侧链合约才会随机返回一个加密的数据文件File的IPFS地址AddressFile,并广播一个成功访问的事件;
侧链管理员在链下通过ECC公钥加密算法使用访问者User的公钥PKUser加密设备的数据文件File的IPFS地址AddressFile
Figure FDA0003289360380000053
然后发送给访问者
Figure FDA0003289360380000054
数据拥有者在链下通过ECC公钥加密算法使用访问者User的公钥PKUser加密对称密钥KeyDev
Figure FDA0003289360380000055
然后发送给访问者
Figure FDA0003289360380000056
步骤3.3、数据费的支付:
步骤3.3.1、联盟合约和侧链合约成功验证用户对设备数据的访问请求后,侧链合约自动计算并存储用户需要支付的数据费,并广播一个数据访问事件以通知设备,事件包含了数据文件的地址和大小;
步骤3.3.2、用户选取重试秘密Sretrying,设备选取接收秘密Sreceipt,重试秘密和接收秘密是用于更改支付路径和从侧链合约中获取数据费的秘密,用户通过哈希算法keccak256()对重试秘密Sretrying做哈希运算生成重试哈希锁keccak256(Sretrying),并申请联盟合约支付押金函数接口UserMortgage()向联盟合约存储重试哈希锁keccak256(Sretrying)和押金,并将重试哈希锁发送给侧链管理员;设备也使用哈希函数keccak256()对接收秘密Sreceipt做哈希运算keccak256(Sreceipt),并申请侧链合约记录哈希锁函数接口DeviceAdd Secret()向侧链合约存储接收哈希锁keccak256(Sreceipt),并将接收哈希锁发送给侧链管理员;
步骤3.3.3、侧链管理员根据侧链合约返回的数据文件的大小以及数据费用的单价计算用户需要支付的数据费,申请侧链合约押金存储函数接口AdminMortgage()将用户重试哈希锁keccak256(Sretrying)以及数据费押金存储到侧链合约中,申请联盟合约添加接收哈希锁和数据费押金函数接口AddDeviceReceiptSecretAndDataFee()将用户需要支付的数据费和接收哈希锁keccak256(Sreceipt)存储到联盟合约中;
步骤3.3.4、用户通过ECC公钥加密算法使用设备公钥PKDev加密重试秘密Sretrying
Figure FDA0003289360380000061
并发送给设备Device,
Figure FDA0003289360380000062
设备使用私钥SKDev解密
Figure FDA0003289360380000063
获得重试秘密Sretrying,数据费支付时间锁T1到期之前,设备使用重试秘密Sretrying和接收秘密Sreceipt申请设备收费函数接口DeviceCharge()从侧链合约中获取数据费;
步骤3.3.5、设备获取数据费后通过ECC公钥加密算法使用侧链管理员的公钥PKScAdmin加密重试秘密Sretrying和接收秘密Sreceipt
Figure FDA0003289360380000071
并发送给侧链管理员
Figure FDA0003289360380000072
侧链管理员使用私钥SKScAdmin解密
Figure FDA0003289360380000073
获得重试秘密Sretrying和接收秘密Sreceipt;传递费支付时间锁T3到期之前,侧链管理员使用重试秘密Sretrying和接收秘密Sreceipt申请联盟合约管理员收取传递费函数接口AdminCharge()从联盟合约中获取传递费;
步骤3.3.6、数据费支付时间锁T1和传递费支付时间锁T3到期之后,侧链管理员和用户分别申请侧链合约退还余额函数接口DeviceRefound()和联盟合约退还余额函数接口UserRefound_()中将剩余的押金取出;
上述过程执行完成表示一次数据被成功的共享。
5.根据权利要求4所述的基于侧链的可扩展的物联网大数据和服务安全管理方法,其特征在于,所述步骤4具体按照以下步骤实施:
步骤4.1、雾节点Fog向系统提供身份信息FileId以证明自己拥有提供服务的能力,然后向侧链管理员SidechainAdmi提供自己的服务属性,包括地址AddressFog、公钥PKFog、服务能力MemoryCapacity,StorageCapacity,CPU,请求注册AddressFog,PKFog,MemoryCapac,iStorageCapacity,Port,CPU→SidechainAdmin,侧链管理员申请侧链合约注册雾节点函数接口AddFog()注册雾节点,只有未经注册的雾节点才会被注册到侧链合约中;云节点的注册与雾节点的注册相同;
步骤4.2、已注册的物联网设备需要申请服务时,提供需要申请的服务数量Memory,Storage,CPU向侧链合约的请求雾服务函数接口RequestFog Service()发出申请Memory,Storage,CPU→RequestFogService,然后等待侧链合约对服务请求的验证即可;
步骤4.3、侧链合约验证设备的注册状态以及注册的服务属性,侧链合约只会为合法的已注册的设备分配雾节点以提供设备已注册的服务属性范围之内的服务;
步骤4.4、若侧链合约验证通过,侧链合约将随机选择一个雾节点以执行设备请求的服务,若第一次选择的雾节点无法执行设备请求的服务,则再随机选取一个雾节点,否则寻求云侧链的帮助;找到满足设备请求的雾节点后侧链合约会向侧链广播提供雾服务的事件以通知雾节点和设备,如果设备是一个不合法的设备则侧链合约会抛出一个异常,拒绝请求雾节点为设备提供服务;
步骤4.5、雾节点和设备监听到侧链合约发出的雾服务提供事件后,雾节点将与设备建立连接以提供雾服务;
步骤4.6、若雾节点无法满足设备请求的服务,侧链管理员将申请联盟合约请求云资源函数接口RequestCloud()分发云服务,联盟合约将会为合法的侧链管理员和设备发出云服务请求事件以通知云侧链管理员;
步骤4.7、云侧链管理员在联盟链中监听到请求云资源事件后,提供设备的地址AddressDev、设备申请的服务数量Memory,Storage,CPU以及设备所在侧链的侧链管理员的地址AddreSscsAdm申请云侧链合约请求云服务函数接口RequesetCloudService()分发云服务:
AddressDev,Memory,Storage,CPU,AddressScAdmin→RequesetCloudService;
步骤4.8、云侧链合约不需要验证请求云资源的侧链管理员和设备的合法性,因为他们已经得到了侧链和联盟链的验证和保障;云侧链合约选取云节点的方法与侧链合约选取雾节点的方法一样,找到合适的云节点后云侧链合约会广播一个提供云服务事件以通知云节点提供服务,云节点获得通知后会与设备建立连接以执行服务;如果单一云节点无法满足服务请求,则云侧链合约将协调更多的云节点,协同执行设备请求的服务,否则服务请求失败;
步骤4.9、雾节点和设备获知服务通知后,雾节点选取接收秘密Sreceipt,设备选取重试秘密Sretrying,与此同时,雾节点使用哈希函数keccak256()对接收秘密Sreceipt做哈希运算keccak256(Sreceipt),并向设备Device发送接收哈希锁keccak256(Sreceipt)→Device,设备和服务提供者的哈希锁均通过keccak256()生成,协商过程在链下完成;
步骤4.10、雾节点和设备完成协商后,设备和雾节点将自己的哈希锁存储到侧链合约中以便于创建服务费交易;
步骤4.11、设备获取雾服务后通过ECC公钥加密算法使用雾节点Fog的公钥PKFog加密自己的重试秘密Sretrying
Figure FDA0003289360380000091
然后发送给雾节点
Figure FDA0003289360380000092
雾节点使用私钥SKFo解密
Figure FDA0003289360380000093
Figure FDA0003289360380000094
获取重试秘密Sretrying;雾节点拥有设备的重试秘密Sretrying后,可以连同自己的接收秘密Sreceipt申请侧链合约收取服务费函数接口FogChar ge()获取服务费;
云服务费用的支付过程与用户支付数据费的过程相同,都是通过侧链管理员建立多方的雷电通道然后完成费用的支付,详细的支付设计过程可以根据表一中展示的智能合约源码地址下载并查看。
CN202111158840.7A 2021-09-30 2021-09-30 基于侧链的可扩展的物联网大数据和服务安全管理方法 Withdrawn CN113949543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111158840.7A CN113949543A (zh) 2021-09-30 2021-09-30 基于侧链的可扩展的物联网大数据和服务安全管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111158840.7A CN113949543A (zh) 2021-09-30 2021-09-30 基于侧链的可扩展的物联网大数据和服务安全管理方法

Publications (1)

Publication Number Publication Date
CN113949543A true CN113949543A (zh) 2022-01-18

Family

ID=79329071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111158840.7A Withdrawn CN113949543A (zh) 2021-09-30 2021-09-30 基于侧链的可扩展的物联网大数据和服务安全管理方法

Country Status (1)

Country Link
CN (1) CN113949543A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679330A (zh) * 2022-03-31 2022-06-28 广西玉林链向千禧大数据有限公司 一种基于区块链的万物互联数据访问控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679330A (zh) * 2022-03-31 2022-06-28 广西玉林链向千禧大数据有限公司 一种基于区块链的万物互联数据访问控制方法
CN114679330B (zh) * 2022-03-31 2024-05-17 四川链向科技集团有限公司 一种基于区块链的万物互联数据访问控制方法

Similar Documents

Publication Publication Date Title
CN110032865B (zh) 一种权限管理方法、装置和存储介质
JP6680791B2 (ja) 量子鍵配送のための方法、装置、及びシステム
CN101951603B (zh) 一种无线局域网接入控制方法及系统
CN112804064B (zh) 基于区块链的属性加密访问控制系统及方法
KR102034449B1 (ko) 콘텐츠 블록체인에서의 콘텐츠 암호키 관리 및 배포 방법
CN110581854B (zh) 基于区块链的智能终端安全通信方法
KR100895462B1 (ko) 디지털 저작권 관리 시스템에서의 콘텐츠 유통 관리 방법
US8843415B2 (en) Secure software service systems and methods
KR102307574B1 (ko) 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법
JP2003296281A (ja) アクセス制御方法及びシステム
US9160723B2 (en) Framework for provisioning devices with externally acquired component-based identity data
US11625476B2 (en) Remote processing of credential requests
CN111492389A (zh) 使用区块链对服务进行认证和支付
CN111294349B (zh) 用于物联网设备数据共享的方法及装置
CA3180144A1 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
KR102410006B1 (ko) 사용자 권한 관리가 가능한 did 생성 방법 및 이를 이용한 사용자 권한 관리 시스템
WO2013037329A1 (zh) 一种安全共享数字内容的方法、设备及系统
CN112187826A (zh) 区块链网络中数据授权及数据访问方法及系统
JP4695633B2 (ja) ディジタルリソースを販売する方法および装置
CN113949543A (zh) 基于侧链的可扩展的物联网大数据和服务安全管理方法
CN110636497A (zh) 基于区块链的频谱分享方法、系统及频谱拥有者服务器
WO2017008640A1 (zh) 一种访问令牌颁发方法及相关设备
CN114268437A (zh) 数据处理方法、区块链节点、系统和计算机可读存储介质
JP7213366B2 (ja) 分散システムにおける多方向信頼形成
CN114117496A (zh) 基于智能合约协议的代理重加密的数据分享系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20220118

WW01 Invention patent application withdrawn after publication