5.3 電子簽名的驗證
5.3.1 驗證目標
對電子簽名的驗證必須符合電子簽名策略,驗證的結果有3種情況:
a) 簽名有效。這個結果意味著該電子簽名通過了驗證,并且符合電子簽名策略的所有要求;
b) 簽名無效。簽名無效基于以下二種情況:
1) 電子簽名的格式錯誤;
2) 數字簽名驗證失敗,例如:數字簽名完整性檢測失敗;驗證過程中所使用的數字證書已經無效或者被撤銷;
c) 不完全驗證。這個結果意味著電子簽名的格式沒有錯誤,數字簽名也已經通過驗證,但是沒有足夠的信息判斷該電子簽名是否符合其簽名策略的要求。例如,簽名策略需要一些附加信息,這些信息對數字簽名的有效性沒有任何影響,但是現在因為無法獲得,所以無法判斷是否符合簽名策略。在這種情況下,驗證者應根據策略要求用戶自行處理“部分正確”的電子簽名,也可在信息足夠時再度對電子簽名進行驗證。
5.3.2 驗證過程
如5.2.2條所述,簽名者和驗證者都可以收集所有的額外數據來完成一個電子簽名的創建和驗證,圖11描述了如何完成一個ES-C驗證的過程。
在收到簽名者的BES以后,驗證者根據被簽名數據和BES,首先驗證數字簽名的正確性、完a)整性和有效性;
b)驗證者根據電子簽名以及TSP提供的數據,檢查簽名是否符合簽名策略的要求;
c)如果簽名者沒有提供時間戳或者沒有提供可以信任的時間戳,則驗證者此時應自行添加一個時間戳。因此到這一步截止,至少應產生一個ES-T電子簽名;
d)如果簽名者沒有提供證書和證書撤銷參考信息,則驗證者需要收集所有必需的證書和證書撤銷信息,并在這些數據可以使用后,完成所有的驗證過程。然后記錄一個完整的證書和證書撤銷參考信息,創建ES-C電子簽名;
e)驗證者輸出驗證結果。
ES-C是標準中必須支持的格式,但是驗證者可以進一步擴展成需要的ES-X或者ES-A可選格式。
如果簽名者沒有提供ES-X,則在驗證者完成ES-C以后,驗證者將可以提供或記錄在ES-C中使用的完整的證書和證書撤銷數據(圖12中的步驟f),從而形成ES-X0格式,過程如圖12所示:
根據驗證者的選擇和實際情況,也可以創建一個ES-X1電子簽名,在整個ES-C上加蓋時間戳(圖13中步驟g),過程如圖13所示:
驗證者也可以創建一個ES-X2電子簽名,只在“證書和證書撤銷參考信息”上加蓋時間戳(圖14中步驟g’),過程如圖14所示:
最后,驗證者有必要針對需要長期保存的電子簽名創建ES-A格式,這種格式不需要馬上創建,但應在電子簽名中任何一項元素(如算法、密鑰、證書等)的安全性受威脅前創建。創建時,驗證者需要針對整個電子簽名的所有內容加蓋時間戳(圖15中步驟h),過程如圖15所示:
5.3.3 仲裁
如果簽名者和驗證者發生爭執,則需要提請仲裁者進行仲裁。針對提請仲裁的電子簽名類型,有以下這些考慮:
ES-C簽名可以作為仲裁使用的簽名類型,但必須符合下面3個條件:
a) 仲裁者知道如何獲得簽名者的證書、所有的交叉認證證書、需要的CRL以及ES-C可能提到的OCSP查詢;
b) 簽名所使用的整個證書鏈都是安全的,鏈上每個證書密鑰的安全性都還未受到威脅;
c) 在ES-C創建時所使用的各種密碼學技術,在仲裁時仍然是安全的。
如果條件a)不滿足,則原告方需要提供ES-X0電子簽名。
如果條件b)不滿足,則原告方需要提供ES-X1或者ES-X2電子簽名。
如果條件c)不滿足,則原告方需要提供ES-A電子簽名。
推薦文章: