Identity(身份)
1.什么是身份?
區塊鏈網絡中的不同參與者包括同伴,訂購者,客戶端應用程序,管理員等。這些參與者中的每一個 - 網絡內部或外部能夠使用服務的活動元素 - 都具有封裝在X.509數字證書中的數字身份。這些身份確實很重要,因為它們確定了對資源的確切權限以及對參與者在區塊鏈網絡中擁有的信息的訪問權限。
此外,數字身份還具有Fabric用于確定權限的一些其他屬性,并且它為身份和關聯屬性的并集提供了特殊名稱 - 主體。 Principal就像userIDs或groupIDs,但更靈活一點,因為它們可以包含actor的身份的各種屬性,例如actor的組織,組織單位,角色甚至是actor的特定身份。當我們談論主體時,它們是決定其權限的屬性。
要使身份可以驗證,它必須來自可信任的權威機構。會員服務提供商(MSP)是如何在Fabric中實現的。更具體地說,MSP是定義管理該組織的有效身份的規則的組件。 Fabric中的默認MSP實現使用X.509證書作為身份,采用傳統的公鑰基礎結構(PKI)分層模型(稍后將詳細介紹PKI)。
2.一個簡單的場景來解釋身份的使用
想象一下,你去超市購買一些雜貨。 在結賬時,您會看到一個標志,表示只接受Visa,Mastercard和AMEX卡。 如果您嘗試使用其他卡付款 - 我們稱之為“ImagineCard” - 無論該卡是否真實且您的帳戶中有足夠的資金都無關緊要。 它不會被接受。
擁有有效的信用卡是不夠的 - 它也必須被商店接受! PKI和MSP以相同的方式協同工作 - PKI提供身份列表,MSP說哪些是參與網絡的給定組織的成員。
PKI證書頒發機構和MSP提供了類似的功能組合。 PKI就像一個卡提供商 - 它分配了許多不同類型的可驗證身份。 另一方面,MSP類似于商店接受的卡提供商列表,確定哪些身份是商店支付網絡的可信成員(參與者)。 MSP將可驗證的身份轉變為區塊鏈網絡的成員。
讓我們更詳細地深入研究這些概念。
3.什么是PKIs?
公鑰基礎結構(PKI)是一組互聯網技術,是在網絡中提供安全通信的互聯網技術的集合。是PKI將S放入HTTPS中,如果你在Web瀏覽器上閱讀此文檔,你可能會使用PKI來確保它來自一個經過驗證的源。
公鑰基礎設施(PKI)的要素。PKI由證書頒發機構組成,它們向當事人發出數字證書(例如,服務的用戶、服務提供者),然后使用它們在與環境交換的消息中對自己進行認證,CA的證書吊銷列表(CRL)構成不再有效的證書的參考。 證書的撤銷可能由于多種原因而發生。 例如,證書可能被撤銷,因為與證書相關聯的加密私有材料已被公開。
雖然區塊鏈網絡不僅僅是一個通信網絡,但它依賴于PKI標準來確保各個網絡參與者之間的安全通信,并確保在區塊鏈上發布的消息得到適當的認證。 因此,了解PKI的基礎知識以及為什么MSP如此重要是非常重要的。
PKI有四個關鍵要素:
. 數字證書
. 公鑰和私鑰
. 證書頒發機構
. 證書吊銷列表
讓我們快速地描述這些PKI基礎知識,如果你想知道更多的細節,維基百科是一個很好的開始。
4.Digital Certificates(數字證書)
數字證書是包含與證書持有者有關的一組屬性的文檔。 最常見的證書類型是符合X.509標準的證書,它允許在其結構中編碼一方的識別細節。
例如,位于密歇根州底特律的Mitchell汽車制造部門的Mary Morris可能擁有一個數字證書,其SUBJECT屬性為C = US,ST = Michigan,L = Detroit,O = Mitchell Cars,OU = Manufacturing,CN = Mary Morris / UID = 123456。 瑪麗的證書類似于她的政府身份證 - 它提供了瑪麗的信息,她可以用來證明關于她的重要事實。 X.509證書中還有許多其他屬性,但現在讓我們專注于這些。
描述一個名為Mary Morris的當事人的數字證書。 Mary是證書的主題,突出顯示的SUBJECT文本顯示了關于Mary的重要事實。如您所見,證書還包含更多信息。最重要的是,Mary的公鑰是在她的證書中分發的,而她的私人簽名密鑰則不是。此簽名密鑰必須保密。
重要的是,瑪麗的所有屬性都可以使用稱為密碼學(字面意思,“秘密寫作”)的數學技術進行記錄,這樣篡改將使證書無效。只要對方信任證書頒發者(稱為證書頒發機構(CA)),密碼學就允許Mary將證書提交給其他人以證明其身份。只要CA安全地保存某些加密信息(意味著它自己的私人簽名密鑰),任何閱讀證書的人都可以確定有關Mary的信息沒有被篡改 - 它將始終具有Mary Morris的特定屬性。將Mary的X.509證書視為無法改變的數字身份證。
5.Authentication, Public keys, and Private Keys(身份驗證,公鑰,私鑰)
身份驗證和消息完整性是安全通信中的重要概念。身份驗證要求確保交換消息的各方創建特定消息的身份。對于具有“完整性”的消息意味著在其傳輸期間不能被修改。例如,您可能希望確保與真正的瑪麗莫里斯而不是模仿者進行溝通。或者,如果Mary向您發送了一條消息,您可能希望確保其在傳輸過程中沒有被其他任何人篡改過。
傳統的身份驗證機制依賴于數字簽名,顧名思義,它允許一方對其消息進行數字簽名。數字簽名還可以保證簽名消息的完整性。
從技術上講,數字簽名機制要求每一方保存兩個加密連接的密鑰:廣泛可用的公鑰和充當認證錨的私鑰,以及用于在消息上產生數字簽名的私鑰。數字簽名消息的接收者可以通過檢查附加簽名在預期發送者的公鑰下是否有效來驗證接收消息的來源和完整性。
私鑰和相應公鑰之間的唯一關系是使安全通信成為可能的加密魔法。密鑰之間的唯一數學關系使得私鑰可以用于在僅對應的公鑰可以匹配的消息上產生簽名,并且僅在相同的消息上。
在上面的示例中,Mary使用她的私鑰對郵件進行簽名。 任何使用她的公鑰查看簽名消息的人都可以驗證簽名。
6.Certificate Authorities(證書頒發機構)
如您所見,一個參與者或一個節點能夠通過一個由系統信任的機構發布的數字身份來參與
區塊鏈網絡。 在最常見的情況下,數字身份(或簡稱身份)具有符合X.509標準并由證書頒發機構(CA)頒發的經加密驗證的數字證書的形式。
CA是互聯網安全協議的常見部分,您可能已經聽說過一些比較流行的協議:Symantec(最初是Verisign),GeoTrust,DigiCert,GoDaddy和Comodo等。
證書頒發機構將證書分發給不同的參與者。這些證書由CA進行數字簽名,并將參與者與參與者的公鑰綁定在一起(并且可選地與屬性的綜合列表)綁定。因此,如果一個人信任CA(并且知道其公鑰),則可以信任特定參與者綁定到證書中包含的公鑰,并通過驗證參與者證書上的CA簽名來擁有所包含的屬性。
證書可以廣泛傳播,因為它們既不包括參與者也不包括CA的私鑰。因此,它們可以用作信任的錨,用于驗證來自不同參與者的消息。
CA也有一個證書,它們可以廣泛使用。這允許由給定CA頒發的身份驗證的消費者通過檢查證書只能由相應私鑰(CA)的持有者生成來驗證它們。
在區塊鏈設置中,希望與網絡交互的每個參與者都需要一個身份。在此設置中,您可能會說一個或多個CA可用于從數字角度定義組織的成員。 CA是為組織的參與者提供可驗證的數字身份的基礎。
7.Root CAs, Intermediate CAs and Chains of Trust(根CA、中間CA和信任鏈)
CA有兩種形式:根CA和中間CA. 由于Root CA(賽門鐵克,Geotrust等)必須安全地向互聯網用戶分發數億個證書,因此將此流程分散到所謂的中間CA中是有意義的。 這些中間CA具有由根CA或其他中間機構頒發的證書,允許為鏈中的任何CA頒發的任何證書建立“信任鏈”。 追溯到根CA的這種能力不僅允許CA的功能在仍然提供安全性的同時進行擴展 - 允許使用證書的組織充滿信心地使用中間CA--它限制了根CA的暴露,如果受到損害,它將會 危及整個信任鏈。 另一方面,如果中級CA受到損害,則曝光量會小得多。
只要每個中間CA的證書的頒發CA是根CA本身或具有對根CA的信任鏈,就在根CA和一組中間CA之間建立信任鏈。
中間CA在跨多個組織頒發證書時提供了巨大的靈活性,這在許可的區塊鏈系統(如Fabric)中非常有用。 例如,您將看到不同的組織可能使用不同的根CA,或者使用具有不同中間CA的相同根CA - 它確實取決于網絡的需求。
8.Fabric CA
這是因為CA非常重要,Fabric提供了一個內置的CA組件,允許您在您構成的區塊鏈網絡中創建CA. 此組件(稱為Fabric CA)是一個私有根CA提供程序,能夠管理具有X.509證書形式的Fabric參與者的數字身份。 由于Fabric CA是針對Fabric的根CA需求的自定義CA,因此它本身無法為瀏覽器中的常規/自動使用提供SSL證書。 但是,由于某些CA必須用于管理身份(即使在測試環境中),因此可以使用Fabric CA來提供和管理證書。 使用公共/商業根或中間CA來提供識別也是可能的 - 并且完全合適。
如果您有興趣,可以在CA文檔部分閱讀有關Fabric CA的更多信息。
9.Certificate Revocation Lists(證書撤銷列表)
證書撤銷列表(CRL)很容易理解 - 它只是CA知道由于某種原因而被撤銷的證書的引用列表。 如果您回想一下商店場景,CRL就像被盜信用卡列表一樣。
當第三方想要驗證另一方的身份時,它首先檢查頒發CA的CRL以確保證書尚未被撤銷。 驗證者不必檢查CRL,但如果不是,則他們冒著接受受損身份的風險。
使用CRL檢查證書是否仍然有效。 如果模仿者試圖將受損的數字證書傳遞給驗證方,則可以首先檢查頒發CA的CRL,以確保其未列為不再有效。
請注意,被撤銷的證書與證書過期非常不同。 撤銷的證書尚未過期 - 按其他措施,它們是完全有效的證書。 有關CRL的更多深入信息,請單擊此處。
現在您已經了解了PKI如何通過信任鏈提供可驗證的身份,下一步是了解如何使用這些身份來代表區塊鏈網絡的可信成員。 這就是會員服務提供商(MSP)發揮作用的地方 - 它確定了區塊鏈網絡中特定組織成員的各方。
要了解有關成員資格的更多信息,請查看有關MSP的概念文檔。
此文來源于http://hyperledger-fabric.readthedocs.io/en/release-1.1/identity/identity.html,翻譯多有不準的地方(英語水平有限),方便自己理解和學習.
總結
以上是生活随笔為你收集整理的Identity(身份)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南阳旅游(南阳最著名的十大旅游景区)
- 下一篇: 餐厅服务员(哪里急招杂工)