盲簽名
出自 MBA智库百科(https://wiki.mbalib.com/)
盲簽名(Blind Signature)
目錄 |
盲簽名是相對於一般的數字簽名而言的概念,是指簽名人員雖然對某個消息簽了名,但他並不知道所簽消息的具體內容,也就是說對簽名人而言,消息被盲化處理過。為了說明盲簽名的思想和實現過程,設甲為消息擁有者,乙為簽名人.盲簽名協議要實現的目標是:甲希望乙對他的某個消息進行簽名,但又不想讓乙知道消息的具體內容;乙的任務就是對消息進行簽名,保證在將來某一時刻以公證人的身份來證實簽名的真實性,而並不關心消息的具體內容。一般來說,盲簽名協議包含如下幾個步驟:
1、消息盲化。甲將原消息m進行盲化處理得m',然後將盲消息m'傳送給乙。進行盲化處理的方法很多,例如,可隨機選取某個數,稱該隨機數為盲因數,把原消息數值化後,與盲因數相乘即可得到盲消息。
2、對盲消息簽名。乙應用通常的數字簽名方法對耐進行簽名,並將其簽名sig(m')送給甲。
3、恢復簽名。甲通過除去盲因數的方法,從盲簽名sig(m')中得到相關原消息m的簽名、sig(m')。將來出現糾紛時,當甲拿出乙的盲簽名,而乙顯然不能否認其簽名,這樣就可以證明原消息的真實性。
盲簽名不僅保留了數字簽名的各類特性,而且還擁有以下一些特殊的性質:
1、盲性。消息的內容對簽名人來說是盲化的,簽名人看不到消息的內容。
2、不可追蹤性。簽名者僅知sig(m'),而不知aig(m}.即使簽名者保留sig(m')及其他有關數據,仍難以找出、sig(m)和、sig(m')之間的內在聯繫,不可對消息m的擁有者進行追蹤。
1、按照不同的盲化對象劃分
盲消息簽名方案:盲消息簽名僅對待簽名的消息m進行盲化。在盲消息簽名方案中,簽名者對盲消息m簽名,並不知道真實消息m的具體內容.這類簽名的特性是sig(m)= sig(m')或sig(m)含sig(m')中的部分數據.盲消息簽名方案在電子商務中一般不用於構造電子貨幣支付系統。
簽名被盲化方案:在盲參數簽名方案中,簽名者知道所簽消息m的具體內容,消息擁有者僅對簽名sig(m')進行盲化,即改變sig(m')而得到新的簽名sig(m) ,但又不影響對新簽名的驗證.盲參數簽名的這些性質可以用於電子商務系統CA中心,為交易雙方頒發口令;另外,利用盲參數簽名方案還可以構造代理簽名機制中的原始簽名人和代理簽名人之間的授權方程,以用於多層CA機制中證書的簽發和驗證。
2、按照消息擁有者對簽名人是否可以追蹤進行分類
弱盲簽名:在弱盲簽名方案中,消息擁有者對消息m和簽名sig(m')進行了盲化.若簽名者保留sig(m')及有關數據,待sig(m)公開後,簽名者可以找出sig(m')和sig(m)的內在聯繫,從而達到對消息m擁有者的追蹤。
強盲簽名:在強盲簽名方案中,消息擁有者對消息m和簽名sig(m')進行了盲化,即使簽名者保留sig(m')及其他有關數據,仍難以找出sig(m)和sig(m')之間的內在聯繫,不可能對消息m的擁有者進行追蹤.在電子支付系統和電子投票系統中,為了保障用戶和投票者的匿名性及保密性,往往都採用強盲簽名技術。
3、按照簽名人數的多少來劃分
簡單盲簽名(同盲消息簽名方案):如果簽名人為單個人,則這時的簽名就是普通的盲簽名.
多重(群)盲消息簽名:若簽名人為一群人,則這時的簽名就是多重(群)盲消息簽名.該類簽名方案必須經多人同時盲簽名才可生效。
4、按照簽名人是否接受別人的代理來劃分。
簡單盲簽名:如果簽名人不受別人委托,這時的簽名就是普通的盲簽名。
代理盲簽名:如果原始簽名人委托代理簽名人行使其簽名權,則這時的簽名就稱為代理盲簽名。
一般來說,一個好的盲簽名應該具有以下的性質:
1. 不可偽造性。除了簽名者本人外,任何人都不能以他的名義生成有效的盲簽名。這是一條最基本的性質。
2. 不可抵賴性。簽名者一旦簽署了某個消息,他無法否認自己對消息的簽名。
3. 盲性。簽名者雖然對某個消息進行了簽名,但他不可能得到消息的具體內容。
4. 不可跟蹤性。一旦消息的簽名公開後,簽名者不能確定自己何時簽署的這條消息。
滿足上面幾條性質的盲簽名,被認為是安全的。這四條性質既是我們設計盲簽名所應遵循的標準,又是我們判斷盲簽名性能優劣的根據。
另外,方案的可操作性和實現的效率也是我們設計盲簽名時必須考慮的重要因素。一個盲簽名的可操作性和實現速度取決於以下幾個方面:
1、密鑰的長度;
2、盲簽名的長度;
3、盲簽名的演算法和驗證演算法。