溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Hyperledger Fabric注冊(cè)及CA證書(shū)頒發(fā)

發(fā)布時(shí)間:2020-06-02 01:02:09 來(lái)源:網(wǎng)絡(luò) 閱讀:2048 作者:newthink 欄目:建站服務(wù)器

加入Fabric聯(lián)盟鏈的計(jì)算機(jī)結(jié)點(diǎn)和用戶(hù)都必須要經(jīng)過(guò)注冊(cè)并獲得CA頒發(fā)的證書(shū),才能在聯(lián)盟鏈中操作。證書(shū)頒發(fā)機(jī)構(gòu)可以提供的功能如下:

  • 身份的注冊(cè) 或連接到LDAP(Lightweight Directory Access Protocol,輕量目錄訪問(wèn)協(xié)議)作為用戶(hù)注冊(cè)表;

  • 簽發(fā)登記證書(shū)(ECerts)(Enrollment Certificates)

  • 簽發(fā)交易證書(shū)(TCerts)(Transaction Certificates),在Hyperledger Fabric blockchain上交易時(shí)提供匿名性和不可鏈接性。

  • 證書(shū)續(xù)期和撤銷(xiāo)

Fabric1.1可以使用原生的也可以使用第三方證書(shū)頒發(fā)機(jī)構(gòu),以聯(lián)盟鏈中注冊(cè)用戶(hù)為例,所有在聯(lián)盟鏈中的操作,用戶(hù)必須持用戶(hù)注冊(cè)證書(shū)生成的Token才能授權(quán)操作,無(wú)Token,在聯(lián)盟鏈中什么也做不了,所以,用戶(hù)注冊(cè)到聯(lián)盟鏈,第一步就是要生成Token,用戶(hù)注冊(cè)流程如下:

Hyperledger Fabric注冊(cè)及CA證書(shū)頒發(fā)

注冊(cè)成功的最終結(jié)果是CA頒發(fā)證書(shū),再通過(guò)證書(shū)生成Token,最終是Token發(fā)送給用戶(hù),用于用戶(hù)在聯(lián)盟鏈中增加、查詢(xún)的身份憑證。

CA的架構(gòu)圖如下 :

Hyperledger Fabric注冊(cè)及CA證書(shū)頒發(fā)

Fabric Server端由一個(gè)服務(wù)器集群組成,以樹(shù)形架構(gòu)組織CA Server節(jié)點(diǎn),包含一個(gè)Root 節(jié)點(diǎn)和多個(gè)中間節(jié)點(diǎn)。每個(gè)CA要么是根CA,要么是中間CA。每個(gè)中間CA都有一個(gè)父CA,它要么是根CA,要么是另一個(gè)中間CA。

可以通過(guò)Client或SDK與服務(wù)器集群中的CA服務(wù)器進(jìn)行交互。客戶(hù)端首先路由到HA代理,由代理進(jìn)行負(fù)載均衡,將客戶(hù)端連接至某一服務(wù)器的集群成員。

包括前端的一個(gè)高可用的代理服務(wù)器,連接著若干個(gè)CA Server集群,這些集群將數(shù)據(jù)共同存放在同一個(gè)數(shù)據(jù)服務(wù)器上。數(shù)據(jù)庫(kù)可能是MySQL、LDAP、PostgresSQL或者SQLite(集群環(huán)境中不推薦使用SQLite)。

集群中的所有CA服務(wù)器都共享相同的數(shù)據(jù)庫(kù),以跟蹤身份和證書(shū)。如果配置了LDAP,則將標(biāo)識(shí)信息保存在LDAP中而不是數(shù)據(jù)庫(kù)中。

Fabric Server端由一個(gè)服務(wù)器集群組成,以樹(shù)形架構(gòu)組織CA Server節(jié)點(diǎn),包含一個(gè)Root 節(jié)點(diǎn)和多個(gè)中間節(jié)點(diǎn)。每個(gè)CA要么是根CA,要么是中間CA。每個(gè)中間CA都有一個(gè)父CA,它要么是根CA,要么是另一個(gè)中間CA。

可以通過(guò)Client或SDK與服務(wù)器集群中的CA服務(wù)器進(jìn)行交互??蛻?hù)端首先路由到HA代理,由代理進(jìn)行負(fù)載均衡,將客戶(hù)端連接至某一服務(wù)器的集群成員。

包括前端的一個(gè)高可用的代理服務(wù)器,連接著若干個(gè)CA Server集群,這些集群將數(shù)據(jù)共同存放在同一個(gè)數(shù)據(jù)服務(wù)器上。數(shù)據(jù)庫(kù)可能是MySQL、LDAP、PostgresSQL。

集群中的所有CA服務(wù)器都共享相同的數(shù)據(jù)庫(kù),以跟蹤身份和證書(shū)。如果配置了LDAP,則將標(biāo)識(shí)信息保存在LDAP中而不是數(shù)據(jù)庫(kù)中。

證書(shū)的頒發(fā)過(guò)程和驗(yàn)證數(shù)字簽名的過(guò)程如下:

Hyperledger Fabric注冊(cè)及CA證書(shū)頒發(fā)

1、 證書(shū)包含了明文、密文和加密算法三要素。

2、 明文發(fā)給CA,CA用自己的私鑰簽發(fā)證書(shū)。具體算法是CA對(duì)證書(shū)明文做一次哈希運(yùn)算(SHA256)得到h2。再用自己的私鑰用RSA算法將h2加密,得到密文F’。此時(shí)有了一套完整的證書(shū)。

3、 驗(yàn)證數(shù)字證書(shū)時(shí):先用CA的公鑰解密密文F’,得到一個(gè)哈希值h3。再用證書(shū)明文F計(jì)算一次SHA256,得到密文h2。將h2和h3的值對(duì)比。如果相等,則證書(shū)校驗(yàn)通過(guò),說(shuō)明該客戶(hù)端持有的是CA頒發(fā)的證書(shū)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI