• 沒有找到結果。

第四章 安全性分析與效能比較

4.1 安全性分析

而在免憑證簽章系統中,破壞者可能企圖去偽造簽章,而根據Al-Riyami和K. Paterson 的文獻 [1] 將可能的破壞者分為兩種,我們在分析演算法安全性的時候,將會分兩種攻

c. 如果ID的Public Key被更改過,A1無法得到此ID的Secret-Value d. 在Challenge Phase之前,A1不能替換目標ID的Public-Key 2. Type II 攻擊者:

我們通常假設這種攻擊者為 A2,而 A2 通常有以下幾種特點 a. A2 可以取得 KGC 的 Master-Key

b. A2 沒有辦法去替換使用者的公鑰部分。

c. A2 無法得到目標 ID 的 Partial-Private-Key 和 Secret-Value

在定義出這兩種主要的攻擊者之後,現在要分析我們提出的方案,是否在攻擊者之下,

可以成功的抵禦攻擊。而我們的方案必須符合本文章節2.7中所提到的幾種代理簽章法下 的安全性法則:

1.

Unforgeability:

的機率,解決 Computational Diffie-Hellman Problem。

證明:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

並且我們將用到的 Hash function 都視為 Random Oracle

4.

B 設 u 並且將( u )傳送給A

𝐇𝟎 𝐎𝐫𝐚𝐜𝐥𝐞

在任何時間,A1 都可以對H 作 Query,而H 是由 B 模擬成的一個 Random Oracle。

1.

B 會持有一份H -List,形式為(IDi H (IDi) xi ) 而這份 list 一開始是空的

2.

B 選擇亂數 xi ∈ 並且設定 H (IDi) xi 且要確定 H0-list 中沒有xi

最後 B 將H (IDi)回傳給A ,並且將(IDi H (IDi) xi )放入H list中。

Create-User

A1 在隨時都可以對 Create-User 這個 Oracle 作 query 以產生IDi 1.

Create-User 的 Input 為IDi 2.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

(IDi H (IDi) xi )

如果沒有,便先以IDi為 input,執行H -oracle。

確定H list中有(IDi H (IDi) xi )後執行以下:

如果IDi IDπ

B 選擇亂數xi,並且計算 IDi xi 相對應的 secret value 為 SIDi xi xi Partial-private-key 設定為 DIDi xi

如果IDi IDπ

B 選擇一亂數xπ,並且計算 IDπ xπ B 設定 secret value 為SIDπ

Partial-private-key 為 DIDπ

最後 B 將(IDi xi DIDi SIDi IDi)加到 L-list 中,並且將 IDi回傳給A

Partial-Private-Key-Extract

當 B 收到一個 (IDi)的 Query 時,B 會確認 L-list:

如果IDi IDπ,B returns failure 終止模擬。

如果IDi IDπ,B returns DIDi給A Public-Key-Replace

1.

input 為(IDi IDi) 2.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

B 會將 L-list 中的(IDi xi DIDi SIDi IDi) 改寫成 (IDi xi DIDi SIDi IDi )

Secret-Value-Extract

如果SIDi ⊥,B return failure 終止模擬。

如果SIDi ⊥,B return SIDi給A

𝐇𝟐-Oracle

:

在任何時刻裡,A1 可以 input ξ𝑖向H 作 query

為了回應這個 Query,B 手上持有一份H -list,型態為(ξ𝑖 H (ξ𝑖) 𝑐𝑖)。

如果ξ𝑖已經存在 H2-list 中,B 直接回應H (ξ𝑖) 若否

B 會計算H2(ξ𝑖) 𝑕𝑖𝑅 𝑧𝑞,且 H2-list 中沒有𝑕𝑖 B 回傳𝑕𝑖並且將之紀錄在 H2-List 中

𝐇𝟏-Oracle:

1.

input 為( i Ui IDi )

B 會隨機選擇𝑐𝑖 ∈ * +,其中 r,𝑐𝑖 - 𝛿

如果𝑐𝑖 B 選擇亂數βiϵ

要確定H -list 中沒有βi Oi βi

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

如果𝑐𝑖

B 選擇一亂數βiϵ 要確定 H1-list 中沒有βi Oi βi

最後 B 回傳Oi,並將( i Ui IDi Oi βi 𝑐𝑖)放入 H1-List 中

Proxy-Sign:

Input 為( i IDj)

如果IDj IDπ,那麼SIDπ ⊥且DIDπ ⊥ 便可以輕易地模擬出一份合法的簽章。

如果IDj IDπ,B 會先確認𝐻 -list 中是否已經有(mwi rAi IDAi IDi Ai δi Vi)如果沒 有,B 會生成以上𝐻 -list 中的這份 tuple。完成後,B 會隨機選取 c𝑖 /

1.

c𝑖

B 回報錯誤,並且終止模擬。

2.

c𝑖

已知H (mwi rAi IDAi IDi Ai ) i B 產生一份簽章為

S i (SID DID x x x 𝑃 x 𝑃) A (β )

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

U 𝑘𝐵 𝑃 𝑃

完成後,B 將 (𝑟𝐴 𝑤 𝑆 𝑈)回傳給 A1,且經過驗證,這是一份合法的簽章。

FORGERY

在所有的 query 之後,A1 製作出一份 Forgery Signature (𝑀 𝑆 𝐼𝐷 )

如果這份簽章是合法的,將會通過認證,又其中:

如果𝐼𝐷 𝐼𝐷𝜋

B 會終止程序,宣告失敗。

如果𝐼𝐷 𝐼𝐷𝜋 且從其中的 S d oxy V 經導算之後,可以發現

DID A (S d l V ) SID A (S ( A(DID SID ) A ) V ) SID 而A 偽造簽名,成功的條件是:

ID IDπ,且c𝑖 在IDπ

DIDπ xπ

SIDπ xπ xπ 𝑃 xπ xπ 𝑏𝑃 將三式結合可以得到

2 ( A (S ( A(DID SID ) A ) V ) xπ xπ 𝑃 xπ xπ xπ )

𝑃𝑃𝐾:Partial-Private-Key queries

𝑃𝐾𝑅:Public-Key-Extract queries

𝑆𝑉 :Secret-Value Queries

𝑃𝑆 :Proxy-Sign Queries

的機率,解決 Computational Diffie-Hellman Problem in Polynomial Time

Setup:

並且我們將用到的 Hash Function 都視為 Random Oracle 4.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

如果IDi IDπ

B 選擇一亂數xπ,並且計算 IDπ xπ B 設定 Secret Value 為SIDπ

Partial-Private-Key 為 DIDπ s H (IDπ)

最後 B 將(IDi xi DIDi SIDi IDi)加到 L-list 中,並且將 IDi回傳給A

Public-Key-Replace 1.

Input 為(IDi ID) 2.

B 會將 L-List 中的(IDi xi DIDi SIDi IDi) 改寫成 (IDi ⊥ DIDiIDi )

Secret-Value-Extract

如果SIDi ⊥,B return failure 終止模擬。

如果SIDi ⊥,B return SIDi給A

H

-Oracle:

在任何時刻裡,A1 可以 input ξ𝑖向H 作 query

為了回應這個 Query,B 手上持有一份H -List,型態為(ξ𝑖 H2(ξ𝑖) 𝑐𝑖)。

如果ξ𝑖已經存在 H2-list 中,B 直接回應H (ξ𝑖) 若否

B 會計算H (ξ𝑖) 𝑕𝑖𝑅 𝑧𝑞,且H -list 中沒有𝑕𝑖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

B 回傳𝑕𝑖並且將之紀錄在H -List 中

H

-Oracle:

input 為(

i

U

i

IDi

)

B 選擇亂數βiϵ

要確定H -list 中沒有βi Oi βi

最後 B 將( i Ui IDi Oi βi)放入H -List 中

Proxy-Sign:

Input 為( i IDj)

如果IDj IDπ,那麼SIDπ ⊥且DIDπ s H (IDi) 便可模擬出一份合法的簽章。

如果IDj IDπ, B 回報錯誤,並且終止模擬。

FORGERY

在所有的 query 之後,A1 製作出一份 Forgery Signature (𝑀 𝑆 𝐼𝐷 )

𝑃𝐾𝑅:Public-Key-Replace queries

𝑆𝑉 :Secret-Value Queries

𝑃𝑆 :Proxy-Sign Queries

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

由Original Signer所授權給proxy Signer簽訂的。而且簽章的文件,必須符合授權書裡面 規定的形式。

 根據Unforgeability性質,得知我們的方案中,簽名並沒有辦法被攻擊者所偽造,因 此Verifier可以確認原始簽章者對授權書mw的簽章,進而確定此份授權書的完整性。

而根據mw便可以從中得知Original Signer、Proxy Signer的ID,以及對文件M的限制。

如此便可以確定Verifiability性質的符合。

3.

Secret Key Dependencies:

Delegation只能由Original Signer利用自己的私密金鑰產生,別人無法偽造。

 (rA d l mw)是對授權書mw的一份免憑證簽名。我們可以證明,其簽章是無法被 偽造的。

4.

Distinguishability:

接收者可以區分Signature是由Original Signer或者是Proxy Signer所簽發,而且可以找 到Proxy Signer和Original Signer之間的關係。

 接收者所收到的簽名為 (rA mw S U),從包含其中的授權書mw可以很輕易地分 辨原始簽章者和代理簽章者的ID,而且從Proxy-Signature-Verification演算法中可以發 現,原始簽章者的公開金鑰 A是H Hash Function中的一個輸入,而代理簽章者的 公開金鑰 是H Hash Function的一個輸入。從以上幾點可以證明

Distinguishability的正確性。

5.

Identifiability:

接收者可以很輕易地知道Original Signer跟Proxy Signer的身分ID。

 因為接收者所收到的簽名為 (rA mw S U),其中包含授權書mw,從中可以輕易

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

地查出Original Signer以及Proxy Signer的ID。

6.

Undeniability:

因為授權資訊是由Original Signer簽發,而且Proxy Signature只能用Proxy Signer利用 其Secret Key生成,所以兩者皆不可以否認自己做過簽名。

 因為接收者得到的簽名為 (rA mw S U),其中授權書mw中包含了Original Signer 所給予的授權條件。根據Unforgeability得知,Proxy Signature是不可偽造的,因 此可以得知此份Proxy Signature必定是由Proxy Signer所簽發,Undeniability可以直覺 地觀察出來。

7.

Non Repudiation:

Proxy Signer無法生出Original Signer的簽章,反之亦如此。

 從Undeniability可以知道,這安全性必定成立。

Hu 所提出的方案 [13],以及由 Rongbo Lu、Dake He、Changji Wang 三位學者提出的方 案[26]。

表 5.1 效能分析與比較表

Proxy-Sign Verification

Our Scheme 2M 4P+1E+3M2

我們將比較的重點放在方案中的 Proxy-Sign 以及 Verification 的演算法,其中 Proxy-Sign 演算法是由系統所執行,而 Verification 則是使用者在驗證簽章合法性時所必 須執行的演算法。

相關文件