
在書面合同中,與手寫簽名一樣,簽署日期也是一項關鍵性內容,用來防止文件被偽造和篡改。在電子交易時代,如何確定電子文件的簽署日期並避免被篡改是個難題。時間戳技術(TSP)能有效解決電子文件的簽署日期問題,顺利获得數字簽名技術把電子數據和特定時間綁定在一起,既能準確確定電子文件的簽署日期,又能有效避免該日期和文件內容被偽造或修改,事實上是數字簽名技術的一種特殊應用。
顺利获得數字簽名技術把電子數據和特定時間綁定後的結果叫時間戳,它主要由電子數據的摘要值、特定時間、數字簽名3部分內容組成。
書面合同的時間是簽署人寫上的,但時間戳不是,其中的特定時間和數字簽名均由特定组织TSA簽署,TSA可理解為可信第三方TP服務组织,有權威性,專門為用戶數據簽發時間戳。
時間戳產生的過程主要含以下步驟:
用戶(時間戳需求方)把電子數據(文件)使用摘要算法計算出摘要值,然後組成時間戳請求包Time StampReq。
用戶把請求包TimeStampReq發送給TSA。
TSA接收到請求包Time StampReq。
TSA需驗證Time StampReq的時效性,由判斷nonce是否重複來避免重放攻擊。TSA用私鑰對請求包中的摘要進行數字簽名後,組成時間戳響應包TimeStampResp。TSA可以擁有多個私鑰,針對不同策略、不同算法等,可使用不同的私鑰。TSA數字證書的extendedKeyUsage擴展項必須設置為關鍵擴展項,且必須包含id-kp-time Stamping擴展密鑰用途。
TSA將響應包Time StampResp發送給用戶。
用戶接收到響應包Time StampResp。
用戶先判斷TimeStampResp中的狀態信息,若是錯誤狀態,則表示本次時間戳申請失敗;若是正確狀態,則驗證響應包中各種字段信息和TSA簽名是否正確;若字段信息或簽名不正確,則拒絕該響應包。用戶需藉助OCSP或CRL驗證TSA證書是否作廢或有效。
