大規模的P2P系統面臨著有問題的和敵對的節點的威脅。為了應付這種威脅,很多系統采用了冗余。然而,如果一個有惡意的實體模仿了多個身份,他就可以控制系統的很大一部分,破壞系統的冗余策略。我們把這種模仿多個身份的攻擊定義為“女巫攻擊”(Sybil Attack)。在女巫攻擊中,攻擊者通過創建大量的假名標識來破壞對等網絡的信譽系統,使用它們獲得不成比例的大的影響。
對等網絡上的實體是能夠訪問本地資源的一個軟件。實體通過呈現身份在對等網絡上通告自身。多于一個標識可以對應于單個實體。換句話說,身份到實體的映射是多對一的。對等網絡中的實體為了冗余、資源共享、可靠性和完整性而使用多個標識。
默認情況下,通常假定每個不同的標識對應于不同的本地實體。實際上,許多身份可以對應于相同的本地實體。這樣攻擊者就可以向對等網絡呈現多個身份,充當多個不同的節點,并可能能夠獲得對網絡的不成比例的控制水平,例如影響投票結果。
女巫攻擊包括以下6種類型:
直接通信:女巫節點直接與合法節點進行通信。
間接通信:沒有一個合法的節點能夠直接與女巫節點進行通信。相反,一個或多個惡意的節點宣稱它們能夠到達女巫節點。就是這個惡意節點自己接收或者攔截相關消息。
偽造身份:攻擊者可以產生任意的女巫身份,以進行攻擊。
盜用身份:攻擊者進行節點的身份盜用,在原有節點摧毀或者失效前很難檢測。
同時攻擊:攻擊者將其所有的女巫身份一次性地同時參與到一次網絡通信中。攻擊者可以循環使用它的多個女巫身份,讓人看起來是多個節點。這就是同時性。
非同時攻擊:攻擊者只在一個特定的時間周期里使用一部分女巫身份,而在另外一個時間段里使這些身份消失而以另外的女巫身份出現。這看起來就像網絡中正常的節點撤銷和加入。
傳統防止女巫攻擊的方法是采用一個信任的代理來認證實體。
驗證技術可用于防止女巫攻擊和消除偽裝敵方實體。本地實體可以基于中心化權威機構來驗證遠程身份,其確保身份和實體之間的一一對應,甚至可以提供反向查找。身份可以直接或間接地驗證。在直接驗證中,本地實體查詢中央授權機構以驗證遠程標識。在間接驗證中,本地實體依賴于已經接受的身份,繼而保證所討論的遠程身份的有效性。
這種辦法不適用于去中心化程度高的公有鏈。在像以PoW為共識機制的
區塊鏈,例如
比特幣或
以太坊,采用算力為獲得記賬權的依據,因此多節點的女巫攻擊失去意義。而像以PoS為共識機制的區塊鏈,例如點點幣,采用擁有的幣齡為獲得記賬權的依據,同樣,多節點的女巫攻擊也失去作用。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。