1. 程式人生 > >一種基於USBKe y 的區塊鏈雲端儲存方法

一種基於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)區塊鏈是在雲平臺上形成的嗎?形成的區塊鏈在哪?(不知道這個問題問的對不對)