基于Hyperledger Fabric+CP-ABE加密的溯源类应用系统
加密机制中有ABE属性加密,属性基加密一般又分为两类,即密钥策略属性基加密(KP-ABE)和密文策略属性基加密(CP-ABE)。
今天我们重点说一下cp-abe及如何与fabric区块链技术相结合来建设相关溯源、确权、认证等区块链项目应用。(企鹅)。846412999。尤其对具有访问权限的系统如基于区块链的病历管理系统,基于区块链的学历管理系统等等。
CP-ABE加密技术
为 CP-ABE 加密机制,图中对加密密文的访问策略 AC-CP采用树结构来描述,在 CP-ABE 加密机制中,属性集 Au 是由用户的个人信息提取出的关键信息集合,用户密钥的生成基于属性集 Au,对加密的密文,只有当用户属性集 Au 满足密文的访问策略时,才能解密该密文。CP-ABE 机制与基本 ABE 机制不同之处在于密钥生成与加密算法不同,且在 CP-ABE 机制中,公共参数 PK 和主密钥 MK 的长度与属性集 Au 的大小无关。在 CP-ABE 机制中为了防止用户串谋,将不同的密钥合二为一,KeyGen 密钥生成算法采用两级随机掩码方式,用户密钥的生成与 2 级随机数有关。CP-ABE 机制的加密算法与 KP-ABE 的解密算法类似,都需构建树状的访问策略,区别在于根节点 r的 pr(0)=s,另一个类似之处在于叶节点对应的密文构建解密算法。
CP-ABE 使用一般群模型,和 KP-ABE 一样,都能支持比较复杂的策略,适用于需细粒度数据共享的场景。与 KP-ABE 机制不同的是,在 CP-ABE 机制中,由数据发送方规定密文的访问策略,适用于如电子信息系统、社交网站的访问等。
访问控制树(Access Tree)
访问树是一种用于隐藏源数据密钥的结构。只有符合访问树的条件,才能解出其中的秘密值。访问树是由根节点、非叶节点、叶节点构成的。访问树的节点很独特,举一个简单的例子。假设访问树T有一节点x,子节点数就记为num_x,阈值记为k_x。当x不是叶子节点,那么x在树中就表示为阈值关系(由num_x和k_x决定)。当x是叶节点时,则会代表一个属性att(显然num_x为0,k为1)。
阈值关系:num_x = x_k即“AND”;x_k<num_x即“num_x个子节点需要满足x_k个的门限关系”,注意x_k=1时即为“OR”。
解密访问树
当数据访问者满足访问树,则可以通过获取属性中存放的秘密值。然后就可以用拉格朗日公式解出父节点生成多项式的常数项。自下而上,最终可以解出根节点中的常数项,即访问树中隐藏的秘密值。
区块链与加密技术相结合,根据系统要求设计属性加密访问控制树,并将密文进行上链保存或者结合IPFS技术,将ipfs的哈希值上链保存到区块链,应用从区块链获取ipfs地址或者密文后再根据访问控制数完成数据解密,根据不同角色权限即可完成不同用户的不同访问控制。对于fabric应用的开发,主要还有智能合约的开发和设计,链码开发可以使用go或者java语言,springboot框架开发JAVA Web应用部分。负责为用户提供访问区块链上单据的操作界面,并提供搭建区块链浏览器,可以方便查看区块链上的数据存储情况。可以对框架进行压力测试,并自动生成压测报告(企鹅)。846412999。
也可以对共识算法改进,pbft算法改进,ipfs结合,多通道实例,等各种场景应用,使用CP-ABE属性加密算法的区块链应用范围也很广,比如区块链农产品溯源,区块链冷链存储、区块链的疫苗监控溯源平台、电动汽车充电交易信息记录溯源系统、疫情健康信息及外出记录监控平台、电子订单溯源系统、智慧物流信息监控溯源系统、学生成绩信息管理溯源系统、基于Hyperledger Fabric区块链技术的智慧图书馆管理系统、农产品溯源系统、区块链茶叶信息溯源平台、区块链药品信息溯源平台、区块链食品信息溯源平台、区块链银行黑名单信息溯源平台、区块链冷链食品疫情防控管理系统、区块链的证书认证及溯源平台、区块链医疗保险报销管理系统、区块链电子医疗处方管理平台、基于区块链的指控过程模型、基于区块链的水稻溯源系统、基于区块链的商品防伪溯源平台、基于fabric区块链的跨境支付交易溯源平台、基于区块链的牲畜溯源平台、基于超级账本的手术病历共享平台、基于区块链技术的果蔬产品溯源平台、基于区块链的养殖溯源平台、酒类信息溯源系统、汽车运行数据溯源系统、医疗捐赠跟踪溯源系统、烟草质量安全追溯,等等都适用于区块链的平台开发,信息溯源和防伪认证。