首頁>科技>

如果你一直在關注我們的部落格,你會聽到我們之前提到過術語"去中心化公鑰基礎設施(DPKI, decentralized public key infrastructure)",但你可能不知道它是什麼,也不知道它是如何工作的,更不用說為什麼它如此重要了。在這篇文章中,我們將研究傳統集中式PKI的當前做法,探索去中心化公鑰基礎設施(DPKI)的基礎概念,然後展示基於區塊鏈的DPKI如何在行業向下一代PKI進化時產生影響。

網際網路的PKI是集中式的

當今世界,網際網路PKI是公鑰基礎設施(PKI)最常見的應用形態。作為一個基於證書頒發機構(CA)的系統,它採用了一種集中式信任基礎設施。透過安全地傳遞公鑰和相應的私鑰相結合的機制,因特網上的通訊安全得到了保障。三方機構(如CA)負責提供公鑰的身份驗證和分發。CA的主要功能,是作為一個可信的第三方為網路使用者分發和管理數字證書。大多數web服務都是透過建立由CA簽名的金鑰來保護的。

集中式pki的問題

集中式pki(如基於CA的pki)由於依賴於一箇中心化的可信方,存在很多問題和侷限性。在一個集中的PKI系統中,使用者不能選擇自己的線上身份;相反,使用者的身份是由可信的第三方(CA)定義的。這個第三方有時是私人公司,有時是政府。這是一個大問題,因為它為攻擊者進行MITM(中間人)攻擊敞開了大門。有不同形式的MITM攻擊—ARP欺騙、IP欺騙、DNS欺騙、HTTPS欺騙和瀏覽器中的人(MITB)等等。許多事件已經表明,當您對第三方過於信任時,會增加MITM攻擊的風險。

實際上,攻擊者可以欺騙CA使其認為自己是其他人,或者甚至可以破壞CA以使其頒發流氓證書。例如,2011年發生的DigiNotar事件,因為一次攻擊,荷蘭證書頒發機構公司頒發了欺詐證書。另一起事件發生在2017年,駭客控制了巴西銀行的DNS伺服器,並欺騙CA向其頒發有效證書。

負責網路PKI的網際網路工程任務組(IETF)已經建立了一份備忘錄,描述了PKI的當前問題;一組圍繞重新啟動信任網的獨立的研究人員(包括Vitalik Buterin)在他們的出版物中評估了它的弱點,他們都同意目前的網路PKI實現已經過時。而過時的PKI設計帶來了很高的安全風險,因為單個故障點可以用來開啟任何加密的線上通訊。集中式PKI系統正努力跟上不斷髮展的數字環境;現代世界迫切需要一種設計更好、分散的PKI方法。

分散式PKI(DPKI)

分散式公鑰基礎設施(DPKI)是一種設計更好的PKI系統。Phil Zimmermann開發的加密程式Pretty Good Privacy(PGP)是在區塊鏈出現之前創造的分散信任系統。它在建立各方之間的信任關係方面存在問題。但今天,第三方已經沒有必要了。區塊鏈是一種構建更具競爭力、更安全的PKI系統的新方法。

但是區塊鏈將如何改進PKI呢?在去中心化PKI中,區塊鏈充當去中心化的鍵值儲存。它能夠保護讀取的資料,以防止MITM攻擊,並將第三方的力量降到最低。透過將區塊鏈技術的力量引入到系統中,DPKI解決了傳統PKI系統的問題。管理框架的分散性可以透過證書撤銷、消除單點故障以及對CA的誤用做出快速反應來解決CA系統的問題。區塊鏈能夠使過程透明、不變,防止攻擊者闖入,從而有效地避免了MITM攻擊。

作為一組重新啟動信任網的研究人員(包括Christopher Allen、Vitalik Buterin),他們在2015年的一份題為“分散式公鑰基礎設施”的出版物中進行了探索,作者指出,與傳統方法不同,DPKI確保任何第三方都不能損害整個系統的完整性和安全性。在區塊鏈驅動的DPKI中,新的第三方成為礦工或驗證者。信任是建立和維護的基礎上達成共識的協議。第三方,即礦工或驗證者,將必須遵守協議的規則,這將在經濟上獎勵和懲罰這些第三方,以有效地防止區塊內的不當行為。

此外,研究人員認為,金鑰管理的邏輯可以在區塊鏈的智慧合約上實施,Sivakumar P和Kunwar Singh博士在2017年發表的《Privacy based decentralized Public Key Infrastructure (PKI) implementation using Smart contract in Blockchain》論文中已成功實現了它。

然而,區塊鏈還不是完美的,因為它需要裝置來同步完整資料副本。 當今的Geth(Go-Ethereum)客戶端提供了多種型別的同步模式:完全同步,快速同步,輕度同步。 下表是Geth,FlyClient,BlockQuick,傳統Web PKI客戶端的不同型別的同步模式,信任模型,頻寬和持續時間的比較。

節點型別

信任模型

頻寬

持續時間

geth --syncmode=full

去中心化

~400GB

數天

geth --syncmode=fast

去中心化

~130GB

數小時

geth --syncmode=light

去中心化

~1.2GB

數分鐘

FlyClient

去中心化

~500KB

數秒

BlockQuick

去中心化

~20KB

分秒

Trad. Web PKI Client

中心化

~5KB

分秒

如表中所示,與標準TLS證書握手所需的傳統Web PKI客戶端的〜5kb大小相比,Geth客戶端的標準同步最多可佔用400GB的磁碟-這是一個巨大的使用者體驗降級。 此外,對於通常資源受限且計算能力有限的IoT裝置,400GB的標準過高,難以實用。

這就是Diode發揮作用的地方。 Diode團隊致力於以前所未有的低頻寬建立分散式信任。 我們已經開發了BlockQuick的原型-一種超輕量級客戶端協議-可以大大減少同步所需的時間和磁碟空間。 我們設計的DPKI基礎結構旨在提供一種框架,使開發人員能夠快速入門-例如,使開發人員能夠快速啟動其Arduino應用。

19
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 印尼電商面臨的4項監管困擾