全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210983502.5 (22)申请日 2022.08.16 (71)申请人 云南师范大学 地址 650504 云南省昆明市呈贡区 聚贤街 768号 (72)发明人 张杰 袁凌云 许姗姗  (74)专利代理 机构 昆明明润知识产权代理事务 所(普通合伙) 53215 专利代理师 王鹏飞 (51)Int.Cl. H04L 9/32(2006.01) H04L 9/08(2006.01) H04L 9/40(2022.01) (54)发明名称 一种基于属性访问控制的面向物联网轻量 级区块链设计方法 (57)摘要 本发明涉及基于属性访问控制的面向物联 网轻量级区块链设计方法。 首先每个物联网设备 得到唯一标识ID, 采集数据由哈希生成数据ID; 设备结合属性完成对数据的访问策略生成; 主体 区块包括当前时间、 设置ID和数据ID、 访问策略、 设备数字签名及区块出块难度; 各节 点基于广播 的区块Hash验证数字签名; 任意节点通过简单方 式完成最终满足出块难度的区块Hash生成; 区块 Hash包括前区块Hash完成链的生成; 本区块链通 过调用合约进行区块上链、 区块查询、 身份验证 和策略管 理等功能。 本发明能在低资源场景下实 现物联网数据的合法访问和高效获取, 提供数据 的完全可控和安全管理、 访问记录的溯源和非法 访问的惩罚, 具有高安全低成本特点。 权利要求书2页 说明书9页 附图2页 CN 115529136 A 2022.12.27 CN 115529136 A 1.一种基于属性访问控制的面向物联网轻量级区块链设计方法, 其特 征在于: 首先通过规范化物联网终端设备编号, 得到设备唯一标识ID, 然后根据所采集数据进 行哈希处理得到数据Hash, 以键值对的形式存入couchdb数据库中; 其次将当前时间戳、 设 备ID、 生成的数据Hash、 数据对应的访问控制策略、 设备自身的数据签名以及区块出块难度 打包成整体区块, 计算出此区块Hash值并广播至各个节点, 同时以键值对的形式存入 couchdb数据库中; 多节点获取区块Hash后基于couchdb数据库获取数据, 验证设备与对应 的数字签名是否合法, 合法则基于设置的出块难度, 通过随机序列化 随机数的方式得到满 足出块难度下的最终区块Hash, 通过广播已符合出块难度下的基于随机序列化后的随机 数, 交由其他节点验证, 完成验证即可确定最终区块Hash; 通过调用合约进行区块上链、 区 块查询、 身份验证和策略管理功能, 而对链上的区块通过查询前后区块Hash和自身区块 Hash是否一 致来完成区块 合法性验证, 以此确定新型区块链的生成。 2.根据权利要求1所述的基于属性访问控制的面向物联网轻量级区块链设计方法, 其 特征在于, 所述方法的具体步骤为: Step1、 规范化物联网设备, 对 采集数据进行 预处理和存储; Step2、 利用步骤Step1的数据和设备生成基于属性的访问控制策略; Step3、 结合数据和设备 标识信息以及时间戳 生成基本区块和对应哈希值; Step4、 多节点由广播获取区块哈希值进行 数据合法性验证, 判断是否合法; Step5、 节点自行计算最终区块哈希满足难度需求并广播随机数, 经多节点验证后调用 合约完成区块上链; Step6、 节点基于智能合约完成对区块内数据查询、 身份验证、 策略管理功能; Step7、 最终经区块 合法性验证后区块以前后哈希进行链式串接, 完成区块链的生成。 3.根据权利要求2所述的基于属性访问控制的面向物联网轻量级区块链设计方法, 其 特征在于, 所述Step2的具体步骤为: Step2.1、 设备作为数据所有者 为数据生成标识Hash; Step2.2、 设置访问控制策略为四元组<策略ID, 主体, 客体, 操作>; Step2.3、 主体与客体均以树型结构进行描述, 即主体父节点与子节点信息, 客体父节 点与子节点信息, 其中根节点即管理员, 无 父节点, 子节点包括用户和终端设备; Step2.4、 操作 包括生成C、 读取R、 更新U和删除D, 描述为Action=(C||R||U||D), 以 “0” “1”描述具体行为并最终以十六进制进行存 储; Step2.5、 在存 储策略中递增生成策略ID并以字符串和数值形式进行存 储。 4.根据权利要求2所述的基于属性访问控制的面向物联网轻量级区块链设计方法, 其 特征在于, 所述Step3的具体步骤为: : Step3.1、 设置函数Date().Format("yyyy ‑MM‑dd HH:mm:ss")为区块生成的当前时间 戳; Step3.2、 设置设备ID和数据Hash, 并对数据Hash基于设备私钥生成数字签名 this.Sign; Step3.3、 设置数据Hash对应访问控制策略ID; Step3.4、 设置出块难度nBits为[0,25 5]范围内整数, 用于最终区块hash计算与验证; Step3.5、 将时间戳、 设备ID、 数据Hash、 策略ID、 设备对数据的签名和出块难度nBit s整权 利 要 求 书 1/2 页 2 CN 115529136 A 2合在一起, 打包为 一个数据区块。 5.根据权利要求2所述的基于属性访问控制的面向物联网轻量级区块链设计方法, 其 特征在于, 所述Step5的具体步骤为: Step5.1、 多节点基于广播获取当前区块Hash, 查询并确定当前 出块难度nBits; Step5.2、 各节点初始化随机值n, 通过修改随机值n计算最终区块Hash, 使其满足前 nBits位均为0; Step5.3、 某一节点计算出满足前nBits位均为0的随机值this.n, 将值n与所得最终区 块Hash广播; Step5.4、 其 他所有节点验证this.n是否符合要求; Step5.5、 满足要求, 所有节点将此区块Hash、 前一区块Hash、 对应随机值this.n进行打 包, 计算并生成最终区块Hash 。 6.根据权利要求2所述的基于属性访问控制的面向物联网轻量级区块链设计方法, 其 特征在于, 所述Step6的具体步骤为: Step6.1、 基于智能合约的数据查询功能由数据查询合约QueryData()实现; 数据查询 合约QueryData()将数据Hash用于在区块中查询对应数据本体内容; 节点自身Hash用于查 询所拥有权限, 仅该节点的孩子节点中存在对应数据Hash且该节点的操作权限 “R”值为1, 才能完成对应数据查询; Step6.2、 基于智能合约的身份验证功能由身份验证合约JudgeVerify()实现; 身份验 证合约JudgeVerify()将待查身份Hash用于在区块中查询对应公钥数据, 通过调用 this.PK.verify(this.DataHash,this.Sign)来返回最终验证结果True  or False; Step6.3、 基于智能合约的策略管理功能由策略管理合约MC()实现; MC()中包含 ManageAdd()用于权限添加; ManageUpdate()用于权限更新; ManageDelete()用于权限删 除; Step6.4、 基于智能合约的策略匹配功能由策略匹配合约JC()实现; JC()中包含 JudgeFromMC()用于从MC()中获取数据访问权限; JudgeToPC()用于发送匹配结果至PC() 合约; JudgeToAC C()用于发送匹配结果至AC C()合约; Step6 .5、 基于智能合约的非法惩罚功能由惩罚合约PC( )实现; PC( )中包含 PublishToACC()用于返回惩罚措施至AC C()合约; Step6.6、 基于智能合约的访问控制功能由访问控制合约ACC()实现; 对非法访问ACC ()设置访问时间间隔, 以指数级进行增加, 并记录至历史记录, 仅等待时长达到才可申请 访问, 当非法访问次数达 到限额, 对用户进行删除并记录 Hash至黑名单。权 利 要 求 书 2/2 页 3 CN 115529136 A 3

PDF文档 专利 一种基于属性访问控制的面向物联网轻量级区块链设计方法

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于属性访问控制的面向物联网轻量级区块链设计方法 第 1 页 专利 一种基于属性访问控制的面向物联网轻量级区块链设计方法 第 2 页 专利 一种基于属性访问控制的面向物联网轻量级区块链设计方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:27:10上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。