專利名稱:一種線性電子事務的數字簽名方法
技術領域:
本發明涉及信息安全技術,特別涉及一種用于涉及線性實體活動的電子事務的數 字簽名方法。
背景技術:
隨著全球性信息化浪潮的出現,信息網絡技術的應用正日益普及和廣泛,應用層 次正在深入,應用領域從傳統的、小型業務系統逐漸向大型、關鍵業務系統擴展,典型的如 黨政機關信息系統、金融業務系統、證券業務系統、企業商務系統等。在這些業務系統中,業 務流程(包括業務數據的處理和傳送等)都在計算機網絡環境下實現,以下將所有這些利 用信息網絡技術實現的業務活動稱為電子事務。在實際應用中,電子事務一般可分解為一系列相互之間具有一定時間順序或因果 關系鏈的操作步驟,每個操作步驟都由相應的業務部門負責完成,由于這類操作步驟是電 子事務流程中的基本組成單元,因此以下又將其稱為原子活動,并將負責完成操作步驟的 業務部門稱為實體。在計算機網絡環境下,用于處理操作步驟的計算機可視為節點。需要 特別說明的是,由于業務部門實體與處理操作步驟的計算機是對應的,因此在本說明書中 二者是等同或等價的。這些節點通過網絡相互連接在一起,所處理的事務對象為以電子文 件形式表示并且在節點之間傳送的信息,因此這勢必涉及到一個信息安全的問題。這里所 謂的信息安全具體包括以下兩個方面的含義首先是保證傳輸數據的安全和實體的身份確 認,也就是說,通過提供一定的信息鑒別機制來確保電子文件數據的完整性與真實性和事 務處理過程中的操作實體的合法性;其次是確保文件傳遞過程本身的真實性,這包括事務 處理過程中信息傳送的一致性、因果性、合法性、安全性與完整性。在傳統事務處理中,書面文件的真實性根據親筆簽名或印章來驗證。但在電子事 務中,計算機網絡中傳輸的文件則采用數字簽名技術來認證發送方的真實身份。為此,數字 簽名機制應至少確保發送方事后不能否認發送的報文簽名、接收方能夠核實發送方對報文 的簽名和接收方不能偽造發送方的報文簽名。數字簽名機制包括兩個過程,首先是簽名者 用其私有信息(如私有密鑰)進行簽名,其次是文件接收方使用公開的信息(如公開密鑰) 來驗證發送方的真實身份。可見,數字簽名實質上是一組電子代碼。以下以某國家機關發布行政法規為例來具體描述電子事務流程中的信息安全問 題。如圖1所示,假設根據政府部門的有關規定,該行政法規的制訂過程必須包含起草、修 改、審核、批準和發布等多個操作步驟或原子活動并且按照下列流程或路徑完成,其中該 行政法規首先由A部門起草并將草稿送至B部門;然后,B部門對該草稿進行修改并將修改 稿傳送給C部門;而C部門對修改稿進行審核修改并將審核稿傳送給D部門;接著,D部門 對C部門的審核稿進行審批,并將審批通過的審批稿送至E部門;最后,E部門在收到審批 稿時,只有確認該行政法規公文已經上述各個部門處理并且處理流程或路徑與規定的完全 一致后才予以公布。在上述實例中,各部門在對行政法規著手處理之前,首先必須利用一定 的身份鑒別機制確認行政法規電子文件的確是由規定的部門提供的,例如B部門所處理的電子文件應是由A部門提供,因此必須確認該文件的確由A部門提供;其次,各部門還必須 利用一定的文件內容鑒別機制確認接收到的電子文件是完整和真實的,換句話說,該電子 文件未被非法篡改或截取。特別是,作為最后一道環節的E部門,其在公布該項行政法規之 前,除了要完成上述鑒別之外,還必須確認該行政法規公文己經上述各個部門處理并且處 理流程或路徑與規定的完全一致。在實際應用中,一個事務實例往往有多個實體參與,并且每個實體的身份都要引 入數字簽名機制予以認證,對此目前已經有多種涉及多實體事務處理的數字簽名協議。然而,在現有的事務數字簽名方法中,還沒有一種能夠提供針對線性電子事務進 行數字簽名的方法。
發明內容
本發明所要解決的技術問題是提供一種線性電子事務的數字簽名方法。為解決上述技術問題,本發明的技術方案如下一種線性電子事務的數字簽名方法,該線性電子事務由計算機節點Ai按照A1, A2,...,Ai,...,An的順序依次處理,其中,1彡i彡n,2彡η彡1000, i,n為整數,該方法包 括以下步驟(1)構造與具體電子信息M無關的節點私鑰(Pr(Ai) I 1彡i彡η}和事務公鑰Pk(A1,
Ag,· ··,An);(2)對給定的電子信息Μ,依次在每個節點&處計算出該節點的電子簽名Sig(M, Ai);(3)建立驗證式Ver (X,Y,Z) = 0,其中X,Y,Z是參數,使得1) Ver (M, Sig (Μ, An), Pk (A1, A2, ... , An)) = 0 ;2)在M和P1^A1, A2, ... , An)固定的情況下,若不經過節點電子簽名計算步驟,則 很難找到一個值 Y0,使得 Ver (M,Y0, Pk (A1, A2,..., An)) =0;(4)驗證 An 發送的信息 M連帶簽名 Sig (M,An),即(M,Sig (M,An)),若 Ver (M,Sig (M, An), Pk (A1, A2, ...,An)) =0,則判斷信息M的事務數字簽名成功;反之,判斷信息M的事務 數字簽名失敗。所述構造私鑰和公鑰的步驟包括(1)選取素數ρ和ρ的方冪q,得到q個元素的有限域K = Zq ;(2)為計算機節點Ai生成矩陣Mi = Cli,)ain,ail2,ai21,ai22是隨機選取的小于q的正整數,令Pr(Ai) = Mi,并將Mi分發到對 應的節點Ai處;(3)令?!^六”^,···,An) = M1XM2X. . . XMn,并將 k (A1, A2, · · ·,An)發送到輔助節 點V處。所述計算簽名的步驟包括(1)選取有限域K里的元素 ,a2, a3, a4,a6,以3次方程y2+aiXy+a3y = x3+a2x2+a4x+a6在K里的所有的解加上無窮遠點0生成K上的一條橢圓曲線E ;
(2)選取一個不同于ρ的素數1以及另一正整數k,使得1除盡qk-l ;(3)在橢圓曲線E里選取一個1階的點P,得到點P生成的含1個元素的循環群G ;(4)隨機選取正整數ζ使ζ < q ;(5)計算橢圓曲線EiWAQ = zP,并將點P和Q發送到輔助節點V處;(6)確定兩個 Hash 函數 H1, H2 ;(7)在節點A1WM1對電子信息M進行簽名,得到節點A1的簽名Sig(Mj1) = ( ε n, ε 12,Q),其中 ε η = (H1 (M) am+H2 (M) a121) Qε 12 = (H1 (M) a112+H2 (M) a122) Q ;⑶令j = 1 ;(9)節點Aj將附帶其簽名的電子信息(M,Sig(M,Aj))發送到節點AJ+1 ;(10)在節點Aj+1以Mj+1對(M,Sig(M, Aj))繼續進行簽名,得到節點Aj+1的簽名 Sig(M,AJ+1) = ( ε J+ia, ε J+1,2,Q),其中ε J+ia = (H1 (M) aJ+ljll+H2 (M) aJ+lj21) ε nε J+lj2 = (H1 (M) aJ+ljl2+H2 (M) aJ+lj22) ε 12 ;(11)令 j = j+1 若 j ( n-1,跳轉(9);否則,進入(12);(12)節點An將附帶其簽名的電子信息(M,Sig(M,An))發送到輔助節點V處。所述建立驗證式的步驟包括在群G上定義一雙線性函數τ (x,y),并發送到輔助 節點V處。所述驗證An發送的信息M連帶簽名Sig (M,An)的步驟包括,在輔助節點V處(1)記
/C^ ι Ci 2 \PkCAliA2i ^jAn) = ( c J;(2)驗證下面兩個等式τ(εηνΡ) ? TiHx(M)Cx^H2(M)CiuQ )τ(εη2,Ρ) ? TiHl(M)Cl2+H2(M)C22,Q )若兩個等式中至少一個不成立,則判斷信息M的事務數字簽名失敗;反之,判斷信 息M的事務數字簽名成功。本發明的用于線性電子事務數字簽名的方法能判斷電子信息是否完整和真實,以 及線性電子事務的處理是否與規定的處理流程或路徑完全一致。
圖1是本發明所應用的一種現實事務流程的示意圖;圖2是本發明中線性事務電子簽名應用的系統的結構示意圖;圖3是線性事務電子簽名的方法流程圖。
具體實施例方式下面根據附圖,給出本發明的較佳實施例,并予以詳細描述,使能更好地理解本發 明的功能、特點。
所謂的線性電子事務,指實體(組織)為了某一目的而將相關電子信息以一定的 處理流程交由計算機網絡環境中多個節點(終端)處理,該處理流程有如下的約束首先,這些處理節點是排序的,電子信息在這些節點逐次進行處理;其次,如果電子信息在這些節點中的任一節點處理失敗,或者電子信息沒有根據 節點排序要求,逐次地去所有節點上進行處理,均認為對該電子信息的電子事務處理失敗。根據上述對線性電子事務的定義,電子事務蘊含下面的上下文1)網絡環境中指定而且已經排序的計算機節點< i Sn),其中, 2 ^ η ^ 1000,BP =A1 ^ A2 ^ .. . Ai. . . — An.針對本發明中的線性事務數字簽名,需要為每個節點Ai指派標識信息^ (Ai)(以 后就簡稱為Ai的私鑰)以及一個事務公鑰Pk。其中,決定Pk的兩個因素是第一是節點 {Aj 1 ^ i ^nj的順序,第二是這些節點的私鑰。以后Pk記為Pk(ApA2P-^An).2)要處理的電子信息M.3)對電子信息M和節點Ai,指派電子簽名Sig(Mji) (1彡i彡n),其中Sig(Mj1) 由 W A1 的私鑰 Pr (A1)決定;Sig(M5Ai) (i > 1)由 M,Sig(M,Ah)和 Ai 的私鑰 Pr(Ai)三者 共同決定。4)建立事務驗證式Ver,它的形式如下式所示Ver (M,Sig (M, An),Pk (A1, A2,..., An)) = 0.綜上,本發明中的事務數字簽名的目標就是第一,構造與具體電子信息無關的節點私鑰(Pr(Ai) l^i^n}和事務公鑰Pk(A1, Ag,· ··,An);第二,對給定的電子信息M,依次在每個節點< i < η)處計算出該節點的電 子簽名 Sig (M,Ai) (1 ^ i ^ η);第三,建立驗證式Ver (X,Y,Ζ) = 0,其中X,Y,Z是參數,使得l)Ver (M, Sig (M, An),Pk (A1, A2, ...,An)) = 0 ;2)在M和P1^A1, A2, ... , An)固定的情況下,若不經過節點電子簽名計算步驟,則 很難找到一個值 Y0,使得 Ver (M,Y0, Pk (A1, A2,... ,An)) = 0.本發明中的處理線性事務電子簽名的方法包括首先向現有的線性網絡節點 IAiI 1 ^ i ^nj中增加輔助節點,這些輔助節點包括以下三個節點,S卩{AyDj},增加節點 后的網絡結構圖如圖2所示。其中D節點主要用于生成針對每個網絡節點的私鑰{已(Ai) I 1彡i彡η}和公鑰P1^A1, A2, ...,An)及向每個網絡節點分發私鑰(Pr(Ai) 1 ^ i ^ η};V節點主要用于驗證網絡節點An發送的信息Μ,和簽名Sig(M,An);Atl節點作為線性事務處理中的發起節點,用于發送電子信息M.本領域內一般技術人員應該知道,這三個節點可以僅位于一個節點中,例如一網 絡服務器。除增加上述節點外,還需要設置數字簽名方案的整體參數。選取素數ρ和ρ的方冪q,就可以得到q個元素的有限域K = \。這里的q通常 就是奇素數P自己,或者當P = 2時,q是2的一個方冪。一般說來q只要取一個160比特 大小的整數(相當于48位十進制數)就能保證足夠的安全性。當q等于奇素數P時,有限域里的元素可以表示成一個不超過q的正整數或0。當q是2的方冪時,有限域里的元素可 以表示成一個系數是0或1的多項式,這些系數排列起來仍可用一個不超過q的正整數或
0表示。再通過適當選取有限域K里的元素a2,a3, a4, a6,得到一個3次方程^+^xj+h^j = x3+a2x2+a4x+a6這個方程在K里的所有的解(x,y)再加上無窮遠點0就可生成K上的一條橢圓曲 線E。還需要取一個不同于ρ的素數1以及另一正整數k,使得1除盡qk-l。這里的k通 常可取2或3,最多不超過6。顯然1不超過qk,也就是不超過480比特。然后可以在橢圓 曲線E里取一個1階的點P,把點P生成的含1個元素的循環群記為G。在群G上可以定義一個雙線性函數τ (χ, y),并發送到輔助節點V處。它的變量 是橢圓曲線E上的兩個點X,y,函數值取在K的擴張域Fqk內。Fqk的元素可以表示成系數 在K內的一個k-Ι次多項式,因此可以表示成一個整數的數組。總之,在這一步我們選定了如下一些整體參數素數p,1,正整數q,k;一條橢圓曲線Ε;橢圓曲線E上的一個點P = (xP, yP);點P生成的群G上的一個給定的雙線性函數τ ()。這些參數都是公開的,在所有簽名過程中保持不變。而且橢圓曲線上的加法運算 以及雙線性函數都有現成公開算法可以迅速計算。還將用到兩個公開的Hash函數H1 {信息 M} — ZqH2 {信息 M} — Zq下面對本發明的電子簽名方法進行詳述,參照圖3,本發明的電子簽名方法包括密 鑰管理步驟100,網絡節點簽名步驟200,以及事務簽名驗證步驟300.在密鑰管理步驟100中首先在輔助節點G上生成矩陣Mi = I a J其中,ain, ail2, ai21, ai22是隨機選取的小于q的正整數,1彡i彡η·令網絡節點Ai處的私鑰為Mi,即Pr(Ai) = Mi, 1彡i彡η·輔助節點D將這些私鑰PJAi)安全分發到對應網絡節點Ai處。在分發中做到除 網絡節點Ai外,沒有第三方知道這些私鑰Pr(Ai) ,1 ^ i ^n0此外,令所有網絡節點的公鑰Pk為所有網絡節點私鑰的乘積,即Pk(A1, A2, ... , An) = M1XM2X. . . XMn0將P1^A1, A2, ... , An)發送到輔助節點V處。私鑰與節點的順序無關,公鑰與節點的順序有關。因此,若增加或減少節點,僅僅 需要為增加的節點分配私鑰,并重新計算公鑰即可。至此,密鑰管理步驟100完畢,進入網絡節點簽名步驟200.如前所述,需要發送的電子信息M由作為線性事務發起者的網絡節點Atl首先發出
8并順序發送至下一網絡節點A1,網絡節點A1接收到節點Atl發送的電子信息M后,即開始進 行在該節點的節點簽名步驟。由此可見,在網絡節點Atl處,電子信息M并沒有進行電子簽 名。在網絡節點A1的簽名步驟如下首先,在節點A1,隨機選取正整數ζ使ζ < q (如前述方法參數定義步驟所述);其次,計算橢圓曲線上的點Q = zP,并將點P和Q發送到輔助節點V處;在網絡節點A1用從輔助節點D處接收到的私鑰M1,即矩陣卜fl"2、對電子信息M進行簽名,得到ε n = (H1 (M) am+H2 (M) a121) Qε 12 = (H1 (M) a112+H2 (M) a122) Q.則可知在網絡節點A1的簽名為Sig(M5A1) = ( ε η, ε 12,Q) ·至此,在A1網絡節點的簽名結束,網絡節點A1隨后將附帶其簽名的電子信息(M, Sig(M, A1))發送到線性事務序列中的下一網絡節點,即網絡節點A2。同理,網絡節點A2接收到前一網絡節點A1發送的經簽名的電子信息(M,Sig(M, A1)) = (Μ,εη, ε12,Q)后,就用自己的從輔助節點D接收到的私鑰PXA2)= °2η α η
\a22\ am)對該帶有前一節點的電子簽名的電子信息繼續進行簽名ε 21 = (H1 (M) a211+H2 (M) a221) ε ηε 22 = (H1 (M) a212+H2 (M) a222) ε 12得到A2節點的簽名Sig (Μ,A2) = ( ε 21,ε 22,Q)網絡節點A2將(M,Sig(Μ, A2))繼續發送到下一網絡節點A3 ;此過程重復,直到線 性事務序列中的最后一個網絡節點Αη。即網絡節點An接收到節點Alri發送的(M, Sig(MjAnJ)其用私鑰 (α α Λ
Γ π"nil " 12
\an2\an22j簽名ε η1 = (H1 (M) anll+H2 (M) an21) ε n_iaEn2 = (H1 (M) anl2+H2 (M) an22) ε n_1>2形成An的簽名Sig (Μ, An) = ( εη1, ε η2, Q)An將信息M連帶簽名Sig (Μ, An), BP (Μ, Sig (Μ, An))發送到輔助節點V處。節點簽 名步驟完成。輔助節點V接收到最后的網絡節點發出的電子信息連帶簽名后,開始進行事務簽名驗證步驟300 ;事務簽名驗證步驟將在節點V處進行。在節點V處,有從輔助節點D發出的事務 公鑰Pk (A1, A2, ... , An),有雙線性對τ,還有橢圓曲線上的點P和Q。記PkCAljA2,…,AJ = (^ai ^12).輔助節點V接收源自節點An發送的信息M和簽名Sig (M,An),即(M,Sig (M,An))。驗證開始后,首先回憶Sig(M,An) = (εη1, En2,Q),其中ε nl,、,Q均為橢圓曲 線E上的點。驗證下面兩個等式τ{εηλ,Ρ) ? T(HXm)Cu + H2(M)c2],Q )τ(εη2,Ρ) i t(Hx(m)c12+H2(m)c22,Q )如果該兩個等式有一個不成立,則表明Sig(M,An)不是通過節點數字簽名步驟完 成的,即信息M沒有按照事務流流程進行處理,信息M的事務數字簽名失敗;反之,信息M按 照事務流流程進行了處理,信息M的事務數字簽名成功。至此,事務數字簽名驗證步驟完 成。顯然,在上述教導下,可能對本發明進行多種修正和變型,并在所附權利要求的范 圍內,本發明可實施為不同于具體描述的方式。
權利要求
一種線性電子事務的數字簽名方法,該線性電子事務由計算機節點Ai按照A1,A2,...,Ai,...,An的順序依次處理,其中,1≤i≤n,2≤n≤1000,i,n為整數,該方法包括以下步驟(1 1)構造與具體電子信息M無關的節點私鑰{Pr(Ai)|1≤i≤n}和事務公鑰Pk(A1,A2,...,An);(1 2)對給定的電子信息M,依次在每個節點Ai處計算出該節點的電子簽名Sig(M,Ai);(1 3)建立驗證式Ver(X,Y,Z)=0,其中X,Y,Z是參數,使得1)Ver(M,Sig(M,An),Pk(A1,A2,...,An))=0;2)在M和Pk(A1,A2,...,An)固定的情況下,若不經過節點電子簽名計算步驟,則很難找到一個值Y0,使得Ver(M,Y0,Pk(A1,A2,..,An))=0;(1 4)驗證An發送的信息M連帶簽名Sig(M,An),即(M,Sig(M,An)),若Ver(M,Sig(M,An),Pk(A1,A2,...,An))=0,則判斷信息M的事務數字簽名成功;反之,判斷信息M的事務數字簽名失敗。
2.如權利要求1所述的數字簽名方法,其特征在于,所述步驟(1-1)包括 (2-1)選取素數ρ和ρ的方冪q,得到q個元素的有限域K = Zq ;(2-2)為計算機節點Ai生成矩陣M- = Γ3111 ail2)ain,ail2,ai21,ai22是隨機選取的小于q的正整數,令PjAi) = Mi,并將Mi分發到對應的 節點Ai處;(2-3)令 Pk(A1, A2, ... , An) = M1XM2X. . . XMn,并將 P1^A1, A2, ... , An)發送到輔助節 點V處。
3.如權利要求2所述的數字簽名方法,其特征在于,所述步驟(1-2)包括(3-1)選取有限域 K 里的元素 a” a2,a3,a4,a6,以 3 次方程 y2+alXy+a3y = x3+a2x2+a4x+a6 在K里的所有的解加上無窮遠點0生成K上的一條橢圓曲線E ;(3-2)選取一個不同于ρ的素數1以及另一正整數k,使得1除盡qk-l;(3-3)在橢圓曲線E里選取一個1階的點P,得到點P生成的含1個元素的循環群G ;(3-4)隨機選取正整數ζ使ζ < q ;(3-5)計算橢圓曲線EiWAQ = zP,并將點P和Q發送到輔助節點V處; (3-6)確定兩個Hash函數H1, H2 ;(3-7)在節點A1WM1對電子信息M進行簽名,得到節點A1的簽名Sig(M5A1) = ( ε n, ε 12,Q),其中ε π = (H1 (M)am+H2(M)a121)Q ε 12 = (H1 (M) a112+H2(M) a122)Q ; (3-8)令 j = 1 ;(3-9)節點A^將附帶其簽名的電子信息(M,Sig(M,Aj))發送到節點A_j+1 ; (3-10)在節點Aj+1以^+1對(M,Sig(M,Aj))繼續進行簽名,得到節點Aj+1的簽名Sig (M, AJ+1) = ε J+ljl' ε j+1,2,Q),其中ε J+ia = (H1 (M)aJ+ljll+H2(M)aJ+lj21) ε η ε J+i,2 = (H1 (M) aJ+ljl2+H2(M) aJ+lj22) ε 12 ;(3-11)令 j = j+1 若 j ( n-1,跳轉(3-9);否則,進入(3-12);(3-12)節點An將附帶其簽名的電子信息(M,Sig (M, An))發送到輔助節點V處。
4.如權利要求3所述的數字簽名方法,其特征在于,所述步驟(1-3)包括 在群G上定義一雙線性函數τ (χ, y),并發送到輔助節點V處;
5.如權利要求4所述的數字簽名方法,其特征在于,所述步驟(1-4)包括,在輔助節點 V處(5-1)記!^(A1, A2l ,..,An) = ι Γ I;(5-2)驗證下面兩個等式r( ,P) ? TiHl(M)Cu+H2(M)C21,Q )Φη2,Ρ) I τ(Η}(Μ)αη+H2(M)C22,Q )若兩個等式中至少一個不成立,則判斷信息M的事務數字簽名失敗;反之,判斷信息M 的事務數字簽名成功。
6.如權利要求2所述的數字簽名方法,其特征在于,當ρ為奇素數時,q= P。
全文摘要
本發明公開了一種線性電子事務的數字簽名方法,該線性電子事務由計算機節點Ai按照A1,A2,...,Ai,...,An的順序依次處理,其中,1≤i≤n,2≤n≤1000,i,n為整數,該方法包括以下步驟構造與具體電子信息M無關的節點私鑰和事務公鑰;對給定的電子信息M,依次在每個節點Ai處計算出該節點的電子簽名;建立驗證式;驗證An發送的信息M連帶簽名。本發明的線性電子事務數字簽名的方法能判斷電子信息是否完整和真實,以及線性電子事務的處理是否與規定的處理流程或路徑完全一致。
文檔編號H04L9/32GK101951317SQ201010251010
公開日2011年1月19日 申請日期2010年8月11日 優先權日2010年8月11日
發明者張舒敏, 徐璡晶, 施文明, 朱維嘉, 朱銘杰, 湯國斌, 汪振華, 王瑋, 陳志杰 申請人:上海燕托計算機有限公司;上海市經濟和信息化委員會信息中心