羣簽名的理解

最近在做相關項目的時候接觸到了一個名詞叫:羣簽名

什麼叫羣簽名呢,或者說羣簽名能夠達到什麼效果呢,我個人理解,如有不對,請批評指正:

羣簽名定義:假設有那麼一羣設備,他們屬於一個羣體,羣簽名達到的效果就是羣組裏面的任何一個設備對一段時間做了簽名,然後將這個簽名信息和其他附帶信息一起發給這個羣組的任何一個成員,然後任何一個成員都能對這個簽名信息進行驗籤,而且是使用同一個公鑰對其進行驗籤,但是呢,每個設備對數據的簽名又是使用的不同的私鑰,但是其他成員設備都可以使用同一個公鑰對簽名信息進行驗籤,這個就叫做羣簽名,不知道我說清楚沒有。

 

每個設備又是使用的同一個公鑰進行驗籤,但是每個設備簽名的私鑰有不一樣,大家是不是覺得很奇怪,它是怎麼實現這個功能的呢?

下面我將以我自己的理解來介紹下這個羣簽名的實現原理:

1、我們假設A、B、C三個設備屬於一個羣,還有一個類似CA認證機構的服務器W

2、服務器W還有自己的私鑰和公鑰證書

3、A設備生成自己的私鑰和公鑰,並將自己公鑰發給服務器W,服務器W接收到A的公鑰,然後使用自己的私鑰對A的公鑰進行簽名,並將簽名信息返回給A設備。此時,A設備就得到了服務器W對A公鑰的簽名信息

4、B、C設備重複步驟3的操作

5、A、B、C三個設備都向服務器W獲取W的公鑰證書

6、假設A要向B發送消息,則A使用自己的私鑰對要發送的消息進行簽名,然後將此簽名信息、W服務器對A公鑰的簽名信息和A設備的公鑰一起發給B,此時B使用W服務器公鑰證書對B發過來的公鑰進行驗籤,驗證通過後再使用A的公鑰對發送的消息進行驗籤,驗籤通過則交互完成。

7、後續A向C、B向A,B向C,C向A,C向B發送消息搜使用同樣的方式進行發送,在驗籤的過程中都使用W服務器的公鑰證書進行驗籤,而且A、B、C三個設備簽名的時候都使用的是自己的私鑰進行簽名,這樣就實現了羣簽名的功能

 

備註:

a、雖然羣簽名使用的是同一個公鑰(W服務器公鑰)在驗籤,但是每次驗證都要驗籤兩次,還需要使用設備的公鑰再驗籤一次

b、每個設備必須事先獲取到W服務器的公鑰證書

c、每個設備都必須要事先將自己的公鑰發給W服務器,並得到W服務器對公鑰的簽名信息

d、每次發送數據的時候都需要發送自己設備的公鑰和W服務器對公鑰的簽名信息

 

以上是我自己對羣簽名的理解,如果有不對的地方,歡迎大家批評指正留言,感謝大家!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章