位置:编程技术网 > 物联网 > 正文 >

区块链密码 —— 通付盾数据安全存储、加密分享和公平交易实践(2)

2021年02月23日 16:12来源:未知手机版

发誓的近义词,重生北冥,杜若溪曝新剧剧本

(3) 根据公钥加密,根据口令读取本地私钥,使用私钥对对称密钥进行加密,得到密钥密文。

(4) 将数据密文以及密钥密文上传到云服务器进行保存。

数据 解密

(1) 从云服务器中下载选择的数据密文以及密钥密文。

(2) 根据口令读取本地私钥,根据公钥加密算法,使用私钥解密密钥密文,得到对称密钥。

(3) 根据对称加密算法,使用对称加密解密数据密文,得到数据。

二、数据加密分享

问题描述

目前,数据的分享通常只是信道加密,发送方和接收方多是以明文的形式通过服务器实现端到端的分享。在分享过程中,数据在服务器端通常是可见的,因此存在严重的数据泄露的风险。同时,数据的分享记录由第三方服务器保存,甚至不保存分享记录,使得分享记录的可信性完全依赖于第三方服务器或者无从追溯。当数据的分享记录存储在第三方服务器上时,如果第三方服务器受到攻击、被篡改或伪造,服务器的不可信直接导致存储的分享记录变得不可信。数据分享缺少时间的限制条件等。

区块链密码解决方案

步骤1:数据授权

Alice生成对Bob的重加密密钥并保存到区块连接点,生成授权记录并上链,将云服务器中的待分享数据的链接地址发送给Bob。

步骤2:数据访问

Bob根据Alice分享的数据链接地址向云服务器请求数据,云服务接收到请求后验证授权身份后根据重加密密钥对密钥密文进行重加密,得到密钥重加密密文,将数据密文以及密钥重加密密文返回给Bob。

步骤3:数据下载解密

Bob将数据密文以及密钥重加密密文下载完成后,根据私钥解密密钥重加密密文得到对称密钥,根据对称密钥解密数据密文得到对称密钥。

技术拆解

发送方 数据 访问 授权

Alice根据自己和Bob的DID从区块链中读取DID文档中的公钥(Alice的公钥pkA和Bob的公钥pkB)。

Alice根据口令读取本地私钥skA,然后调用代理重加密中重加密密钥生成算法,根据Alice的私钥skA,Alice的公钥pkA以及Bob的公钥pkB生成N个重加密密钥片nrkfrags。

Alice将N个重加密密钥片nrkfrags保存到N个区块链节点中,每一个节点只保存一个重加密密钥片rkfrag。

Alice生成数据对Bob的授权记录record,包括Alice的DID,数据Hash值,授权时间,授权截止时间,Bob的DID,Alice的签名等,最后保存到区块链中。

(5) Alice将云服务器中分享的数据链接地址url发送给Bob。

接收方请求访问数据

Bob根据Alice分享的数据链接地址url,向云服务端请求分享的数据。

云服务器读取区块链中的Alice的授权记录record,并验证Bob的身份以及授权时间等信息。

验证通过后,云服务器从保存了重加密密钥片的区块链节点中去读M个重加密密钥片mrkfrags。

云服务端根据选择的M个重加密密钥片mrkfrags调用代理重加密中的重加密算法,对分享的数据对应的密钥密文keyCipher进行重加密,得到密钥重加密密文keyReencryptCipher。

云服务器将分享的数据密文dataCipher以及密钥重加密密文keyReencryptCipher返回给Bob。

接收数据并 解密

(1) Bob得到云服务器返回的数据密文以及密钥重加密密文后,根据口令读取本地私钥。

(2) Bob根据公钥加密算法,使用私钥解密密钥重加密密文,得到对称密钥。

(3) Bob根据对称加密算法,使用对称密钥解密数据。

三、数据公平交易

问题描述

本文地址:http://www.reviewcode.cn/wulianwang/192946.html 转载请注明出处!

今日热点资讯