当前位置:   金科网 > 区块链 > 正文

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

现代密码学技术发展已近百年,先进、安全、可控的密码技术是网络安全的基础,在中国大力发展数字经济的今天,更是被赋予重要的历史使命。区块链技术虽然近年来才兴起,但其作为“信任机器”,与密码一样是数字化时代的信息安全基础设施,区块链与密码技术的有机结合将大大降低建立信任的成本,大大提高信息安全防护能力。

通付盾长期致力于区块链与密码技术的研究和开发工作,近年来更是积极的将区块链密码技术应用于实际,研发的区块链密码可用于数据安全存储、数据加密分享和数据公平交易等场景,保护数据安全。

一、数据安全存储

问题描述

云端数据存储是一种网上在线存储模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。需要对数据进行存储托管的人,通过向托管公司提供的数据中心购买或租赁存储空间来满足数据存储的需求。

然而,现有云存储技术在使用过程中会存在一定的隐患,例如,用户通过平台上传至云端存储的文件中不乏用户的机密文件或用户私隐,这些数据的存储多为明文存储或简单加密存储,即使是加密存储,其安全性也仅依赖于云平台本身,一旦平台数据被入侵、篡改,将严重泄露用户的隐私;另外,云平台上的数据无法真正的证明该数据的所有权是用户还有平台,即平台本身对用户的数据存在任意篡改的风险,使得用户的隐私数据,例如身份信息、证件照、照片、身份证件、通讯记录等储存内容的安全性受到极大威胁。

区块链密码解决方案

步骤1:DID生成

若用户没有DID,则需要为用户生成DID以及DID文档并保存到区块链中。

步骤2:密钥生成

若用户没有用于数据加密的公私钥对,则需要生成公私钥对,将公钥保存到DID文档中,将私钥加密保存到本地。

步骤3:私钥备份与恢复

利用密钥共享技术,将私钥分成N片备份到区块链节点中,恢复时只需要其中的M片即可。

步骤4:数据加密上传

生成对称密钥,使用对称密钥对数据进行加密,得到数据密文,使用公钥对对称密钥进行加密,得到密钥密文,将数据密文以及密钥密文上传到云服务器。

步骤5:数据下载解密

从云服务器中下载选择的数据对应的数据密文以及密钥密文,使用私钥解密密钥密文得到对称密钥,使用对称密钥解密数据密文得到选择的数据。

技术拆解

DID生成

(1) 生成区块链账户地址。

(2) 根据账户地址生成DID以及DID文档。

(3) 将DID和DID文档保存在区块链中。

密钥生成

(1) 根据公钥加密算法,生成公私钥对,用于对对称密钥进行加解密。

(2) 将公钥保存到DID文档中,可以通过DID访问其公钥。

(3) 将私钥通过口令加密保存到本地。

密钥备份与恢复


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


(1) 密钥备份

A. 根据密钥分享技术,将私钥分成N个密钥片。

B. 将N个密钥片分别备份到区块链节点中。

(2) 密钥恢复

A. 从N个备份密钥片的区块链节点中选择其中的M个节点。

B. 从这M个节点中获取密钥片。

C. 根据密钥分享技术,利用这M个密钥片恢复出私钥。

D. 利用口令对私钥进行加密然后将密文保存到本地。

数据加密

(1) 生成安全的随机数作为数据加密的对称密钥。

(2) 根据对称加密,使用对称密钥对数据进行加密,得到数据密文。

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

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

数据解密

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

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

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

二、数据加密分享

问题描述

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

区块链密码解决方案

步骤1:数据授权

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

步骤2:数据访问