第三章 一個具層級性的動態群體簽章系統
第一節 參數定義
本系統主要是以[15]中的群體簽章系統加以演變,大部分參數將繼續沿 用,但仍有為了避免混淆而作的修改與新增部分,因此還是將所有系統所需 參數介紹如下。
a. ε >1、h、 p 為系統的安全參數, λ1、λ2、γ1、γ2 的取法需滿足 以下的關係:
(1) λ ε λ1>
(
2+h)
+2(2) λ2 >4 p
(3) γ1 >ε γ
(
2+h)
+2(4) γ2 > +λ1 2
b. 定義如下的區間 Λ =⎡⎣2λ1 −2 , 2λ2 λ1+2λ2⎤⎦、Γ =⎡⎣2γ1 −2 , 2γ2 γ1+2γ2⎤⎦,
1 2
( )
1 2 1 21. 層級初始 (Hierarchy initialization)
1.1. 決定各群體的階級高低及權力領域之關係,繪出類似如下之似樹狀圖,
1
(mod ) 近均勻分布(Uniform distribution)。步驟 2.3、2.4 仍依[15]中設定。
'
送給 GMi 且證明下列事實:
C2
4. 更新 (Update) (使用者 Ui j, 由時間 k 至 時間 k+1)
在時間 k 時,使用者 Ui j, 所擁有的私密金鑰為 ski j k, , =(xi j, ,si j k, , ,ti j k, , +1), 在 進 入 時 間 k+1 後 , 將 所 持 金 鑰 更 新 為 ski j k, , +1=(xi j, ,si j k, , +1,ti j k, , +2) 其 中
( )
, 2 , 3 , ,, , 1 , , 1 ei k ei k ei d(mod )
i j k i j k i
s + = t + + ⋅ +⋅⋅⋅⋅⋅⋅ n ti j k, , +2 =
(
ti j k, , +1)
ei k,+1(modni)。這是一個要達成前進式安全 (Forward secure) 必需的作法,讓每個時段 使用者的成員憑證不同,可以往後更新但無法往前回溯出之前的憑證,所以 簽章金鑰推導的過程必須是一個不可逆的程序,在更新過後即將舊的金鑰和 更新元件丟棄,如此便能保證在時段 k 入侵的攻擊者無法得到時段 k 之前 的簽章金鑰來偽造時段 k 之前的簽章,這樣才能達到前進式安全的特性。這 種觀念和更新方法主要是由[16]中來的。而我們又在參與程序根據欲給定使 用者的時限有技巧的給予憑證,可以讓一個在時段 c~d 間為合法的成員,到 達時段 d 之後,即無法繼續更新出合法的簽章金鑰,因此可達到使用者時限 (Time-bounded) 的設定。
5. 廢止 (Revoke) (在時段 k 時廢止使用者 Ui j, ,其合法時段為 c ~ d )
5.1. 管理者 GMi 利用更新的演算法算出 si j k, , 、si j k, , +1、…、 (即 在時段 k 之後到時段 d 之間所有時期之憑證,亦為簽章之私密金鑰),
並依其對應時間將其分別公佈在廢止憑證列表
, , i j d
s Ui j,
,
RLi k 、RLi k, +1 、……、
,
RLi d 中。
5.2. 管理者發出訊號指示系統行進到下一個時間。
在時段 k 時,若需對一成員,撤除其可合法代替群體簽章的權力,也就 是在給定某使用者合法時限後,時限未到即需將某使用者當時與之後的憑證
廢止的話,就必須執行此廢止程序。實際作法是系統需維護一組憑證廢止列
簽名程序中,主要是以 ElGamal 的加密方法來加密簽章者所持的憑證,
ii. 算出 ,並隨機選取 ,
示,傳送此簽章中的 部分,讓群體管理者用解開簽章用的私密金
體管理者 有權限能解開群體 的簽章的話,那麼 就會被 所
整除,因此步驟 8.1 中
GMI Gi Ti TI
0 0
( ) ( ) ( ) (mod
i i
I
i
I I
T T
T T
T T
KI K K K
= ⋅ = = i M) 可求得 ,再用 相同於群體設定時的抗碰撞雜湊函數 將 對應至一個 中的值,
此值即為群體 的私密金鑰
Ki
'
H Ki
ni
Z
Gi xi。然後經過驗證程序確定此簽章為正確的形 式且非被廢止的憑證所簽出,因為在驗證程序的後半部需用到 xi,因此步驟 8.1 必須先作。步驟 8.3 則是用 xi 來作 ElGamal 解密,算出的 即為此簽 章的憑證。最後在步驟 8.4 再附上一個知識簽章,證明前一步驟中用來解密 的
s
xi 確實為群體 Gi 的私密金鑰 xi。