IPFS紅岸智能周雪松Filecoin未來分布式存儲的演講
一、研究背景
1.1 從HTTP到HTTPS的變遷來看:
從HTTP逐漸過渡到HTTPS的過程可以看出,網絡中的明文傳輸始終具有不安全感,據我所知,從2015年開始,大部分網際網路巨頭公司都強制要求各產品線切換使用HTTPS(加密超文本傳輸協議),通過SSL/TLS完成雙向加密,加固全球資訊網上的安全通信,尤其是在交易支付場景下。
1.2 從IPFS網絡的局限性來看:
IPFS有潛力成為區塊鏈領域很棒的超級內容分發網絡,本身IPFS也自帶一些加密特性,但如果我們能通過一些有效的技術使得我們項目和業務在入網前(上傳到IPFS網絡前)前就加固一層安全屬性,將大大提高IPFS網絡的可用性和可信任性,讓更多企業和用戶願意投入使用這項技術。
1.3 從行業內安全性角度來看:
行業安全性問題應當是每個,都該重視的方面(我們不能只顧著開發區塊鏈業務,而忽視用戶、投資者的安全隱患),隨著區塊鏈市場的不斷擴大,整個生態的區塊鏈項目也日益增多,同時,由於各個公司水平參差不齊,項目方做事的態度褒貶不一,不靠譜的區塊鏈項目和合約漏洞數量也在與日俱增,類似美圖這樣的大公司之前也因為安全問題吃過大虧。
二、IPFS網絡的Encryption層設計
2.1 具有PKI 特性
玩密碼學的童鞋應該都不會陌生這個,PKI技術:Public Key Infrastructure ,也叫公鑰基礎設施,PKI是一種遵循標準的利用公鑰加密技術為電子商務的開展提供一套安全基礎平臺的技術和規範。
HTTP協議中PKI的使用:可參考HTTPS協議詳解(三):PKI 體系
IPFS協議中PKI的使用:Node ID生成,IPNS掛載,私有集群網絡搭建
2.1.1 PKI特性:Node ID生成
Eg:
difficulty=<integerparameter>n=Node{}do{n.PubKey,n.PrivKey=PKI.genKeyPair()n.NodeId=hash(n.PubKey)p=count_preceding_zero_bits(hash(n.NodeId))}while(p<difficulty)
這是IPFS白皮書中在初始化生成NodeID(n)時,所執行的一段偽代碼:
我們可以看到,在創建過程中將通過PKI.genKeyPair()(默認用的RSA非對稱加密算法)生成一套公鑰(n.PubKey)和私鑰(n.PrivKey),NodeId將通過hash(n.PubKey)公鑰進行籤名。
這樣做的好處是當Node 節點在第一次連接對等Peer方時,可以通過互相交換公鑰,來驗證hash(other.PublicKey) = other.NodeId是否成立 ,如果成立,則確定可信身份,保持通信,否則連接終止,防範網絡中的一些嗅探***。(這和我們在做後端微服務之前的接口通信時,常設置變量參數參與的對稱加密籤名來防止網絡***一樣)
在本地,我們可以通過ipfs id隨時來查看我們的公鑰(PublicKey)和其對應的NodeID:
免責聲明:本網站所刊登、轉載的各種稿件、圖片均有可靠的來源,目的是為了傳播更多的信息, 並不代表新訊網觀點,本網不承擔此類稿件侵權行為的連帶責任.本站自動屏蔽違反《廣告法》詞語。