424371 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(1 ) 本發明是有關於一種密碼通訊及簽署群體簽章 (Group Signature)的方法,且特別是有關於一種在不安全 的通訊通道傳遞群體訊息時簽署群體簽章的方法,其可 以在群體中由複數個成員共同簽署一份電子文件。 隨著電腦與通訊技術的結合,資訊的收集和傳遞在 速度與數量等方面都急遽增加。多樣化的應用使得電子 傳輸已經取代傳統以紙為傳遞媒介的通訊方式。這個結 果使得資訊的運用度更加提高,但是相對的也使得該資 訊容易受到非法或未授權者的惡意攻擊。因此,如何將 資訊安全的技術與電子通訊系統相結合以保護資訊的私 密性及真確性,且不會遭受被動式的竊聽或主動式的竄 改,乃成為當務之急。 DES (Data Encryption Standard)是第一個可公開利 用並由美國政府背書的密碼演算法,它是一個單一金鑰 的密碼系統。所謂單一金鑰密碼系統就是加解密所使用 的金鑰可以很容易地互相推導,也就是說有了加密金鑰 便可以很容易的獲得解密金鑰,反之亦然。 在1976年,Diffie與Hellamn兩位學者提出了所謂” 公開金錄’’(Public key)密碼系統的觀念,用以解決單一金 鑰密碼系統中需要秘密交換金鑰的問題。在公開金鑰的 密碼系統中,每一個加密所用的金鑰就有一個相對應的 解密金鑰,這一對長得完全不一樣的金鑰有著密不可分 的關係,但是想要從其中一個金鑰導出它相對應的金鑰, 卻不是一件簡單的事。 -3· 本紙張尺度速用中國國家標隼(CNS ) A4規格(210X297公釐) I--------^------#------線. (請先閱讀背面之注意事項再填寫本頁) 經濟部中央樣準局員工消費合作社印策 —__B7 五、發明説明(2) 在這種公開金鑰密碼系統中,每個成員的加密金鑰 都必須么開讓大豕知道。如此一來,任何人只要利用接 收者公開的加密金鑰將機密文件加密,便可將加密的機 密文件透過不安全的管道安全地送到接收者處。由於只 有合法的接收者才會擁有該加密金鑰所對應的解密金 鑰,因此也只有合法的接收者才能解出被加密的機密文 件。 公開金鑰密碼系統具有一個非常獨特的特性,也就 疋所謂的數位簽章(Digital Signature)。數位簽章與傳統 的親筆簽名一樣,可用來鑑別該簽章的作者。數位簽章 就是對電子文件的簽署動作’其簽署結果可提供鑑別 (authentication)與不可否認性(non-repudiation)。要簽署 電子文件時’發送者必須先將該電子文件輸入所謂的單 向雜凑函數(one-way hash function)以獲得一段訊息摘要 (Message Digest)或雜凑值(Hash Value)。為 了安全起見, 單向雜湊函數必須具有兩個特性:由輸入訊息得到訊息 摘要非常容易,由訊息摘要反推回輪入訊息非常困難。 待獲得訊息摘要後,發送者便可利用未公開的解密金錄 將該訊息摘要加密’而這個加密的結果便是所謂的數位 簽章。隨後,發送者便可將數位簽章附在原始電子文件 後同時送給接收者以便日後驗證之用。 接收者則可以利用發送者所公開的加密金鑰對數位 簽章進行解密的動作,藉以還原出簽章時的訊息摘要。 另一方面’接收者亦可以將收到的電子文件輸入單向雜 -4- 本紙張尺度適用中國國家標率(CNS )八4规格(210X297公釐) I .I#------、訂------^ (請先閱讀背南之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 41243 7 1 I'五、發明説明(3) 湊函數以獲得一段訊息摘要,並將這段訊息摘要與由數 位簽章還原出來的訊息摘要做比較,若兩者相同則表示 該電子文件未被竄改過。 目前有兩個眾所周知的公開金鑰密碼系統能同時提 供加密與簽章,它們分別是安全性基於分解因數問題的 RSA系統(U.S. Patent No. 4,405,829)與安全性基於解 離散對數問題的ElGamal系統。最近,安全性基於橢圓 曲線的密碼系統(Elliptic Curve Cryptosystem ; ECC)也受 到注意並被IEEE PI 363考慮作為密碼系統的標準之一。 事實上,安全性基於橢圓曲線的密碼系統有許多特性與 安全性基於解離散對數問題的ElGamal系統是一樣的。 群體簽章則舆數位簽章非常類似,所不同的是:群 體簽章是由好幾個成員共同簽署一份電子文件,而數位 簽章則只是單純的個人行為。最簡單及直接的群體簽章 法便是請每個參與成員簽署自己的數位簽章,然後再將 這些成員的數位簽章收集起來即可。然而,這種架構會 使群體簽章的大小隨著參與成員的數目增加而變大,且 驗證的工作負擔亦會隨之加重。 有鑑於此,本發明的主要目的就是提出一種在不安 全通訊通道傳遞群體訊息時簽署群體簽章的方法,其可 以維持固定的群體簽章大小,無論參與成員的多寡,且 驗證群體簽章所花費的時間亦是固定的。因此,當多個 參與成員要簽署一份共同決定的電子文件時,本發明可 以在不增加群體簽章長度與驗證複雜性的前提下有效率 -5- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) I--------黎--------17------^ * -- (請先聞讀背面之:Ji'意事項再填寫本頁) 經濟部十央樣率局員工消費合作社印製 省24371 五、發明説明(4) 地達成群體簽章的簽署,且通訊量與計算時間的花費亦 可以大幅降低。 本發明的另一個目的就是提供一種在不安全通訊通 道傳遞群體訊息時簽署群體簽章的方法,其允許每個參 與成員同時產生ElGamal類型的群體簽章,而不是讓參 與成員分別簽署個人的數位簽章。 本發明的又一個目的就是提辩一種在不安全通訊通 道傳遞群體訊息時簽署群體簽章的方法,其允許每個參 與成員自行決定電子文件中欲簽署的部份,在應用上更 具彈性及實用性。 為達上述及其他目的,本發明乃提出一種簽署群體 簽章的方法,可在傳遞一共同決定的群體訊息於不安全 的通訊通道時,附加一群體簽章以便驗證群體成員的身 伤。舉例來說’簽署智慧卡(Smart Card)便是應用本發明 的-個例子。為了安全的理由,—張智慧卡可能要由好 幾個機構(amhodty)簽章後才能發行。此時,本發明便可 在不增加簽章長度與驗證的複雜性下有效率地完成群體 簽章。本發明簽署群體簽章的方法包括:⑷每個群體成 員選取-整數以計算出相對應的部分簽章,廣播給其他 群體成員;(b)每個群體成員計算所有部分簽章的乘積‘ 以及⑷每_體成員計算該群體訊息的雜凑值以得到一 訊息摘要,並配合該群體成員的私餘、選取整數及所有 部分簽章的乘積以計算出相對應的另—部分簽章,廣播 至-資料處理單位或通訊閘道處理器,該資料處理單位 -6· t 張尺度適财關家轉(CNS) A4 聽_ (21(3χ297&| 5—----—___ 1 ^ fϊτ1 ..m {請先閲讀背面之}ΐ·意事項再填寫本頁) 庄24371 A7 B7 經濟部中央標準局員工消費合作社印裝 五、發明説明(5) 或通訊閘道處理器則利用每個群體成員的公鑰以驗證部 分簽章的正確性,並計算所有另一部分簽章的總和以與 所有部分簽章的乘積共同組成該群體簽章。 另外,本發明亦提供一種簽署群體簽章的方法,可 在傳遞群體訊息於不安全的通訊通道時,讓每個成員自 行決定部分訊息,而群體訊息則為所有部分訊息的集合。 這種簽署群體簽章的方法包括:(a)每個群體成員選取一 整數以計算出相對應的部分簽章,廣播給其他群體成員; (b)每個群體成員計算所有部分簽章的乘積:(c)每個群體 成員自行計算該群體訊息中自行負責部分訊息的雜湊 值,廣播至其他群體成員;以及(d)每個群體成員連結所 有雜湊值以得到一訊息摘要,並配合該群體成員的私鑰、 選取整數及所有部分簽章的乘積以計算出相對應的另一 部分簽章,廣播至一資料處理單位,該資料處理單位則 利用每個群體成員的公鑰以驗證部分簽章的正確性,並 計算所有另一部分簽章的總和以與所有部分簽章的乘積 共同組成該群體簽章。 在上述簽署群體簽章的方法中,資料處理單位(Data Processing Unit , DPU)或通訊閘道處理器 (Communication Gateway Processor)是用來處理藉由網際 網路這類不安全的通訊管道而傳遞於一個或多個實體間 的訊息,其扮演的角色就是負責接收及驗證群體數位簽 章。該群體簽章為ElGamal類型的數位簽章。而所有部 分簽章及所有部分簽章的乘積均是在模(modulo)p中計算 1,—-------y------ΪΤ------^ (請先閱欢背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4规格(2丨OX”7公釐) 經濟部中央榇準局員Η消費合作社印製 424371 A7 B7 五、發明説明(6) 一" 一 出來的結果,其中p為所有群體成員認可的大質數。 另外,在上述簽署群體簽章的方法中,該群體簽章 的驗證步㈣包括:(a)驗證者制每個群體成員的公輪 以驗證群體成員的身份,並計算所有公錄的乘積以得到 _群體公錄;以及(b)驗證者利用該群體公餘以驗證 體簽章》 為讓本發明之上述和其他目的、特徵、和優點能更 明顯易僅’下文特舉-較佳實施例,並配合所附圖式, 作詳細說明如下: 圖式說明 第1圖是本發明在所有參與成員共同決定群體訊息 時,以多個私鑰簽署群體簽章的流程圖; 一 第2圖是本發明在每位參與成員自行負責部分訊 息’而群體訊息則為所有部分訊息的集合時,以多個私 鑰簽署群體簽章的流程圖; 第3圖是本㈣簽署龍簽細方法巾,驗證群體 簽章的流程圖;以及 ^ 第4圖是應用在本發明簽署群體簽章的方法中,六 種ElGamal類型的數位簽章及其相對應的驗證公式。八 較佳實施例 厶工 在本發明簽署群體簽章的方法中,如同E1Gamal類 型的數位簽章般’首先必須要選取一個所有群體成員均 能認可的大質數P。然後,每個群體成員再任選一個整 數’並依此整數计其出相對應的部公焚上' / # 资早(Partial 本紙張尺度適用中國國家標準(CNS ) A4祝格(210X297公釐} 1.·--------U------、玎------痒 (請先閲讀背面之:土意事項再填寫本頁} t t 經濟部中央榡隼局員工消費合作社印製 五、發明説明(7)
Signature;^這個部份簽章必須用廣播方式傳遞給所有其 他成員。接著,每個群體成員便可以自行在模(m〇dul〇) p 中計算所有部分簽章的乘積。由於這些步驟均與欲簽署 的訊息無關,因此可以離線(off-line)進行。 接著,若所有群體成員均擁有相同的簽署權限,也 就是說:所簽署的訊息是由所有群體成員共同決定的, 則每個群體成員便可以利用單向雜湊函數計算該訊息的 雜湊值。剩下的部分簽章則可以利用先前任選的整數、 訊息的雜湊值、群體成員的私錄、先前部分簽章的乘積 為參數計算出來。這個結果必須送到資料處理單位(Dpu) 或通訊閘道處理器以使資料處理單位(DPU)或通訊閘道 處理器得利用每個群體成員的公鑰來驗證每個群體成員 的部分簽章,並進一步合併這些部分簽章成為簡潔的群 體簽章。這個群體簽章的大小與每個群體成員所簽的個 人數位簽章大小相同。 另一方面,若每個群體成員擁有不同的簽署權限, 也就是說:每個群體成員可自行決定欲簽署的訊息(群體 訊息即是連結所有群體成員所自行決定欲簽署部分的訊 息)。每個群體成員自行計算欲簽署訊息的雜湊值,並用 廣播方式將該雜湊值傳送給所有其他成員◊當收到所有 其他成員所送出的雜湊值時,每個群體成員便可將所有 雜溱值連結(concatenation)成為新的雜湊值。剩下的部分 簽章則可利用新的雜湊值、群體成員的私鑰、先前任選 的整數為參數計算出來。這個結果必須送到資料處理單 ______-9· I紙張尺度適用中ΒΙΪ家樣準(CNS U4規ϋ2·丨0><297公釐)-—---- 1^--------1------IT------^ C請先閲讀背面之ίΑ意事項再填寫本頁) 424371 A7 B7 經濟部中央標率局員工消費合作社印製 五、發明説明(8 ) 位(DPU)或通訊閘道處理器以使資料處理單位(Dpu)或通 訊閘道處理器付利用每個群體成員的公錄來驗證每個群 體成員的部分簽章’並進一步合併這些部分簽章成為簡 潔的群體簽章。這個群體簽章的大小與每個群體成貢所 簽的個人數位簽章大小相同。 再者,當任何驗證者(verifier)想要驗證群體簽章 時,其資料處理單位(DPU)或通訊閘道處理器首先會檢 查所有群體成員的身份(identity) ’然後再使用群體公餘 來驗證群體簽章。群體公鑰就是所有群體成員的公餘在 模P中的乘積。由於這個簽章架構只需要一個簽章驗證 的步驟’所以大量的降低了傳統驗證群體簽章所需的計 算量β 接下來便根據圖式對本發明作更透徹地描述。 若資料處理單位(DPU)或通訊閘道處理器要產生一 個由t個群體成員所簽署的群髖簽章。假設這t個群體 成員分別為iva,…,ut,它們的私鑰分別為Xl,X2,..., Xt,而相對應的公鑰分別為yi = αχι mod Ρ,y2 = αχ2 mod P,…’ yt = m〇d p’其中p是一個所有群體成員所認 可的大質數且ct是在GF(p)中的原數(Primitive Element)。 依照ElGamal類型的數位簽章法,每個群體成員a必須 先選取一個秘密的整數h並計算相對應此整數的部分簽 章η = otki mod p ^接著,所有群體成員必須將這部分簽 章同時廣播給所有其他成員。隨後,每位群體成員便可 以自行计算所有部分簽章的乘積r = mod p。因為這 C請先閱讀背面之項再填寫本頁) t 本紙張尺度適财關家祿準(CNS ) M财^ ( 21ϋχ297公酱) 經濟部中央榡準局貝工消費合作社印製 42^3 71 ^ at ----------B7 五、發明説明(9 ) 部分簽章與欲簽署的群體訊息無關,因此上述計算步驟 可以離線處理。 若所有群體成員擁有相同的簽署權限,則所有群體 成員必須先對欲簽署的群體訊息m達成共識,接著求出 該群體訊息的雜湊值h(m)。剩下的部分簽章則根據該群 體訊息的雜湊值h(m) '每個群體成員的公鑰χ;、每個群 體成員任選的整數ki、所有部分簽章的乘積r而由~ = Wm) - kir m〇d P-1計算出來。這個結果必須送到資料 處理單位(DPU)或通訊閘道處理器。資料處理單位(〇ρυ) 或通訊閘道處理器則會利用每個群體成員的公鑰來驗證 相對應的部分簽章是否滿足yth(n〇= riraSi m〇d p '並進一 步合併這些部分簽章以與所有部分簽章的乘積合併成為 '群體訊息也的群體簽章O',勾,其中S = ^ m〇d p-i, /-=1 其大小與每個群體成員所簽的數位簽章相同。 若所有群體成員擁有不同的簽署權限,則所有群體 成員必須事先自行決定欲簽署的部分訊息’接著求出該 部分訊息的雜湊值,並用廣播的方式將該雜湊值傳送給 所有其他成員。在這個例子裡,群體訊息m便是由所有 部分訊息m丨’叫,“,,mt的雜湊值連結(c〇ncatenati〇n) 起來。在此應特別指出的是,須廣播傳送給所有其他成 員的内容是部分訊息的雜凑值而非部分訊息本身。這樣 的安排可以節省大量的通訊頻道(c〇mmunicati〇n Bandwidth)。待所有部分訊息的雜湊值收到後’每個群 體成員便可以自行計算出新的雜湊值h(m)=h(h(mi),
•IN 本紙張尺度適用中國國家標隼(CNS > Λ4規格 <請先閲讀背•面之;i意事項再填寫本頁) -策·
*tT 經濟部中央標準局員工消費合作社印裝 41:43 71 Ίί 五、發明説明(ίο) h(m2),…,h(mt)),其中 m=(h(mi),h(m2),…’ h(mt)) 是將所有部分訊息的雜凑值連結(c〇ncatenati〇n)起來的結 果隨後’剩下的部分簽章便可利用s; = Xihim) - kj mod P]計算出來。這個結果必須送到資料處理單元(DPU)或 通訊閘道處理器。資料處理單位(DPU)或通訊閘道處理 器則會利用每個群體成員的公鑰來驗證相對應的部分簽 章是否滿足yth(m) = Wi mod p-1、並進一步合併這些部 分簽章以與所有部分簽章的乘積合併成為群體訊息m的 群體簽章(r,s),其中s = mod p-1。這個群體簽章 的大小與個人所簽的數位簽章大小相同。 當任何驗證者(verifier)想要驗證群體簽章時,驗證 者的資料處理單位(DPU)或通訊閘道處理器會先檢查群 體的身份(identity),然後使用群體公鑰y = yiy2…ytm〇dp 來驗證群體簽章(r,s)是否滿足yh(m) = rras m〇d p。 請參考第1圓,此為本發明在所有參與成員擁有相 同簽署權限時’以多個私鑰簽署群體簽章的流程圖。 如圖中所示,在步驟1〇中’每個群體成員Ui任選 一個秘密的整數、並計算相對於該整數的部分簽章η = aki mod 這個部分簽章必須同時廣播給其他所有的成 員。接著,在步驟12中,每個群體成員將所有由廣播通 道收到的。卩分簽章相乘以得到1' = Σ' mod ρ。然後,在 Μ 步驟14中,由所有群體成員共同決定欲簽署的群體訊息 m。在步驟16中,每個群體成員計算群體訊息m的單向 _ -12- 本紙張尺度適用中國國家榇準(CNS) Α4· (210><297公釐) ~~ ---- ----------^------ΐτ------^ <- t請先閱讀背面之注意事項再填寫本頁) 414371^ Α7 Β7 經濟部中央標车局員工消費合作社印裝 五、發明説明(11 ) 雜凑值h(m) ’並利用Si = Xih(m) _ kir m〇d 計算出剩 下的部分簽章。這個結果必須送到資料處理單位(Dpu)。 最後,在步驟18中,資料處理單位(DPU)便可以利用每 個群體成員的公鑰來驗證相對應的部分簽章是否滿足 — ri aS| mod P-1、並進一步合併這些部分簽章成為 群體訊息m的群體簽章(r ’ s),其中s = m〇dp卜 i*\ 請參考第2圖,此為本發明在所有參與成員擁有不 同簽署權限時,以多個私鑰簽署群體簽章的流程圖β 如第2圖所示,在步驟20中,每個群體成員%任 選一個秘密的整數h並計算相對於此整數的部分簽章γ;= aki mod P,同時將此部份同步廣播給所有其他成員。接 下來,在步驟22中,每個群體成員計算所有由廣播通道 收到的部分簽章的乘積Γ= modp。然後,在步驟24 ί=1 中,每個群體成員自行決定欲簽署的部分訊息叫,並計 算此部分訊息的雜湊值Wmi)。將此雜湊值廣播給所有其 他成員。在步驟26中,每個群體成員便可以計算出新的 雜凑值 ·,}!(〇〇),其中 m=(h(m]), h(m2) ’…,h(mt))為所有部分訊息的雜溱值的連結。 接下來,剩下的部分簽章便可由Si = Xih(m) _ kir m()d p_ i 汁算出來。這個結果必須送到資料處理單位(DPU)或通 訊閘道處理器。最後’在步驟28中,資料處理單位(DPU) 則可以利用每個群體成員的公錄來驗證相對應的部分簽 章是否滿足yih(⑷=mod p、並進一步合併這些部分 -13- ----------% — * {請先閲讀背釘之?±-意事項再填寫本頁) 訂_ -線. 本紙張尺度適用中國國家標隼(CNS ) Μ現格(2丨〇>〇97公釐) 經濟部中央標準局員工消費合作社印製 五、發明説明(12) 簽早成為群體訊息ηι的群體簽章(j*,s),其中s== mod Μ ρ-1 ο
請參考第3圖,此為本發明簽署群體簽章的方法中, 驗證群體簽章的流程圖。如圖中所示,在步驟3〇中驗 證者的資料處理單位(DPU)或通訊閘道處理器會先檢杳 群體的身份(identity),然後計算出群體公鑰y = L mod p。在步驟32中,資料處理單位(〇111;)則會驗證群 體簽章(r ’ s)是否滿足 y h(m) = rrctSi mod p。 明參考第4圖,此為應用在本發明簽署群體簽章的 方法中,六種ElGamal類型的數位簽章及其相對應的驗 證公式。在此須說明的是,第4圖所列的數位簽章類型 及其相對應的驗證公式是以實際且具體的例子來描述本 發明,而不是將本發明限定在此。舉例來說,本發明並 不必限定於某種特定的公開金鑰密碼系統,像是由ieee P1363所草擬的橢圓曲線簽章方法,其與E1Gamai類型 的數位簽章有類似的特性,因此亦可以應用於本發明中。 綜上所述,本發明簽署群體簽章的方法,可在不安 全通訊通道傳遞共同決定的數位訊息時,附加一群體簽 章以便驗證參與成員的身份及電子文件是否遭受篡改。 本發明簽署群體簽章的方法,可維持固定的群體簽 章大小(無論參與成員的多寡),且驗證數位簽章所花費 的時間亦是固定的。因此,當多個參與成員要簽署一份 共同決定的群體訊息時,本發明得在不增加群體簽章長 度與驗證複雜性的前提下有效率地達成群體簽章的簽 本紙張尺度適用中國國家樣準(CNS ) Μ規格(21GX297公楚;} (請先閲讀背面之注意事項再填寫本頁) 裝 線- 亦24371 五、發明説明(13 ) 署,且通訊量與計算時間的花費亦可以大幅降低。 本發明簽署群體簽章的方法,可允許每個參與成貝 同時產生ElGamal類型的群體簽章,而不是讓參與成員 分別簽署個人的數位簽章。 本發明簽署群體簽章的方法,可允許每個參與成貝 自行決定電子文件中欲簽署的部份,在應用上更具彈性 及實用性。 雖然本發明已以較佳實施例揭露如上,然其並非用 以限定本發明,任何熟習此技藝者,在不脫離本發明之 精神和範圍内,當可做更動與潤飾,因此本發明之保護 範圍當視後附之申請專利範圍所界定者為準。 1.__--------¾------訂 (.請先閱玫背*-之注$項再填寫本頁) 經濟部中央標準局員工消費合作社印裂 I張 I紙 本 一逍 準 標 家 Μ S Ν -¾ 1