一种基于USBKe y 的区块链云存储方法

1、为什么云存储是中心化的存储?
2、SM3算法
3、基于USBkey的区块链云存储方案
3.1使用USBkey进行身份认证
①个人数字证书:是由权威机构颁发的虚拟世界身份。由一串相应的数据组成。其中包括你的唯一属性,如身份证等,可以跟实体绑定进行标识。 数字证书基本采用非对称加密技术,公钥加密,私钥解密。一般私钥是由个人保护防止丢失等。
在这里插入图片描述
这是客户端登录云平台时的认证过程,服务器与客户端采用双向安全认证的方式:
(1)客户端通过浏览器发出连接请求;
(2)服务器返回证书给浏览器;
(3)客户端校验服务器证书的签发机构是否可信,如果可信,则校验证书信息;
(4)客户端发送证书给服务器端;
(5)服务器校验证书,校验通过则验证客户端公钥;
(6)客户端告诉服务器自身支持的密码方案;
(7)服务器选择密码算法,用客户端的公钥……
(8)……
(9)……
3.2使用USBkey加解密文件
USBkey中含有用户加解密文件所需的公钥和私钥。
(1)上传文件
step1:对整个文件进行哈希处理,并将哈希值保存在本地;
step2:将文件会被拆成多个部分,每一个部分都用USBkey中的公钥进行加密处理。
(2)下载文件
step1:客户端请求云端下载文件;
step2:当用户从云端将各个部分的文件取回本地时,利用USBkey中的私钥对每一部分文件进行解密。
step3:将解密后的文件整合成一个文件,客户端将对其进行哈希处理, 对比原始文件和取回本地文件的哈希值是否一致,确保了文件不会被篡改。
3.3利用区块链技术存储及下载文件
3.3.1文件拆分
(1)将源文件f拆分成多个文件f1,f2……fn;
(2)将拆分后的文件用USBkey中的公钥进行加密得到C(f1)、C(f2)、……C(fn);
(3)将C(f1)、C(f2)、……C(fn)用SM3进行哈希,得到哈希文件H(C(f1))、H(C(f2))、……H(C(fn));
3.3.2文件上传及下载
(1)文件上传
step1:将用户公钥UserPublicKey、加密文件序列C(f1)、C(f2)、……C(fn)、哈希文件序列H(C(f1))、H(C(f2))、……H(C(fn))上传到云平台;
step2:云平台将哈希文件和加密文件存储在多个不同的节点中,并使用UserPublicKey对节点地址进行加密;加密后的地址只有用户公钥可以解密,确保了数据的绝对安全;
step3:云平台中的存储节点使用加密后的地址构造成区块体,并按照时间戳的顺序将该区块链连接到创世区块之后,形成该文件对应的区块链;

在这里插入图片描述分配节点好像不对;
(2)文件下载
step1:用户登录云平台,从平台获取需要的下载的文件的地址序列和云平台的公钥platformPublicKey;
step2:用户用USBKey中的私钥对加密地址序列进行解密,获得各个加密文件对应的存储节点的地址;
step3:用户用云平台的公钥platformPublicKey对节点地址序列进行加密,并传给云平台;
step4:云平台用自己的私钥platformPrivateKey对该组数据进行解密,获得各个加密文件对应的存储节点的地址;根据该地址信息取回文件,并构造成数据对象(H(C(f1)),C(f1))、(H(C(f2)),C(f2))、……(H(C(fn)),C(fn));
step5:云平台用用户的公钥对(H(C(f1)),C(f1))、(H(C(f2)),C(f2))、……(H(C(fn)),C(fn))进行加密,并将所有对象信息(H(C(f1)),C(f1))、(H(C(f2)),C(f2))、……(H(C(fn)),C(fn))返回给用户;
step6:用户将获得的C(f1)、C(f2)、……C(fn)进行哈希处理,与一并返回的H(C(f1))、H(C(f2))、……H(C(fn))进行比对,如果一致,则说明文件未被篡改;如果不一致则返回给云平台;
step7:如果信息未被篡改,则用户使用USBkey中的私钥对C(f1)、C(f2)、……C(fn)进行解密,并按照时间戳的顺序将解密后的文件还原成原始文件;

在这里插入图片描述

问题:
(1)登录云平台认证过程中的(7)(8)(9)过程;
(2)step5:云平台用用户的公钥对(H(C(f1)),C(f1))、(H(C(f2)),C(f2))、……(H(C(fn)),C(fn))进行加密这一步没有写是做什么用的;
(3)对文件存储节点(服务器,是个硬件设备)的地址进行加密,并不能保证这个节点不会损坏或出现故障;
(4)什么是云(计算)平台?
云平台是指基于硬件的服务,提供存储,计算和网络能力;
云计算平台可以分为3类:
  1、以数据存储为主的存储型云平台;
  2、以数据处理为主的计算型云平台;
  3、计算和数据存储处理兼顾的综合云计算平台。
云平台的服务类型:
(1)软件即服务(SaaS)
(2)平台即服务(PaaS)
(3)基础设施即服务(laaS)
(5)区块链是在云平台上形成的吗?形成的区块链在哪?(不知道这个问题问的对不对)

猜你喜欢

转载自blog.csdn.net/weixin_43783865/article/details/85111230
y