• 沒有找到結果。

第二章 相關研究

2. 非對稱式金鑰密碼系統(Asymmetric Key Cryptosystem):

2.7 代理簽章法

理事務。由此可見,Proxy Signature 在實際上的運用範圍,可以說是相當廣泛,而且 Proxy Signature 可以由一般的簽章方式改寫而成。基於這些原因,許多學者致力於 Proxy Signature 的發展,並且為了因應各種不同的情況生成許多不同的 Proxy Signature,像是 Proxy Multi-Signature [34]、Designated Verifier Proxy Signature [17]、ID-Based Proxy Signature [35]等等。

1. Unforgeability

只有原始簽章者所指派的代理者可以產生合法的代理簽章,除此之外其他人皆不能 產生合法的代理簽章。

2. Proxy signer deviation

代理簽章者無法在原始簽章者不知情的情況下產生一份代理簽章。

3. Secret key dependence

代理簽章者的代理簽章金鑰必須和原簽章者的私鑰有一定的關連性。

4. Verifiability

5. Distinguishability

代理簽章者產生的簽名,和原簽章者產生的簽章不同。驗證者可以區分兩者的不同。

6. Identifiability

原始簽章者可以從代理簽章者作出的簽名中,判斷出代理簽章者的身分。

驗證者可以從簽章及授權書中,知道原始簽章者和代理簽章者的身分。

7. Undeniability

代理簽章者不能否認自己曾經作出過的代理簽名。

在 Mambo 他們提出的代理簽章中,原簽章者給予代理簽章者權力的方式,可以分 為三種類型:

1. Full delegation

這種授權方式中,原始簽章者將其所擁有的簽章用的祕密金鑰完全交付給代理簽章 者,代理簽章者利用這個秘密金鑰簽屬文件。在這種授權中,代理簽章者產生的簽 名將會和原簽章者所產生的簽名完全一樣。此種簽名方式,通常稱 Proxy-unprotected,

驗證者無法得知此份簽名是由何者產生。

2. Partial Delegation

在這種授權方式中,代理簽章者用來簽章的金鑰,是由原始簽章者和代理簽章者合 作產生。假設原始簽章者的私密金鑰 s,原始簽章者會利用 s 和認證演算法的改變,

產生一個新的私密金鑰 d,並且利用安全的管道傳送給代理簽章者。代理簽章者便利 用 d 來對文件簽章,因此簽章的結果,將會和原始簽章者的簽章不同,如此可以讓 驗證者作出代理簽章以及原始簽章的區隔,也稱為 Proxy-Protected。

3. Delegation With Warrant

原始簽章者簽屬一份授權書給代理簽章者,經過代理簽章者驗證授權書的真偽後,

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

才執行代理簽章的動作。驗證者也可利用授權書來確認代理簽章者的身分、文件內 容或者是代理簽章的使用期限。如此可以證明代理簽章的確是由原始簽章者授權而 來。

在 1997 年時,Kim 等人提出一個代理簽章的方案 [19],並且制定了一種新的授權方 式,此授權方式包含了原本 Mambo 等人的方案中的 Partial delegation 以及 Delegation with Warrant,一般稱為 Partial Delegation with Warrant 在這種授權方式中,原始簽章者先設 定好該代理簽章者的簽屬權力,之後會利用秘密金鑰連同規範的簽暑權力計算後的結果,

將之交給代理簽章者。代理簽章者在接收到這一份訊息後,會利用自己的秘密金鑰去計 算出代理金鑰,可以有效的防止原始簽章者和代理簽章者的混淆。我們的方案便是利用 此種授權方式完成。

2.7.1 Mambo 等人的代理簽章法

Mambo 等人提出的這個代理簽章法,是基於 Schnorr 的簽名系統來加以改寫成代理 用的數位簽章方案。以下我們就來介紹 Mambo 等人提出的這套方案:

A 為原始簽章者,而 B 為代理簽章者。系統中原始簽章者 A 會將簽名的能力交付 給代理簽章者 B。系統執行以下的步驟:

1. Setup:

 選擇 p、q 兩個大質數,且滿足q p

 G ∈ 是一個 Order 為 q 的乘法群,選取 G1 中一生成元 g

 ( ):Hash-Function

2. Proxy Phase:

 A 選擇一亂數 ∈

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

 計算 kmod p

 sA xA mod p,其中xA為 A 的私密金鑰

 A 將( sA)傳送給代理簽章者 B

3. Proxy Key Generation

 B 收到( sA)後,計算 A k mod p是否成立,其中 A是原始簽章者 A 的公 開金鑰,若此式成立則確認其為真正的原始簽章者 A 發給。

 B 計算:

x sA x

x x y (x k ) x y x k x y A y 其中x 就是代理簽章者 B 的代理金鑰

4. Sign

 產生代理用的金鑰後,代理簽章者 B 可利用此金鑰對文件 m 作代理簽名 表示為:

S(x m),其中 S( ) 代表為一般簽名用的演算法。

對文件 m 產生的簽名表示為:(m A )

5. Verify

使用者在得到簽章後,會對此簽章做驗證的動作。

使用者利用( A )計算出 ,接著利用 這份公開金鑰來對簽章作驗證的工作。

要是在讓簽章者(Signer)對訊息做簽章,該訊息無法洩漏簽章的需求者(Requester) 和 訊息之關係,如此可以有效的保護使用者需要簽章的文件。

相關文件