2007年4月14日 星期六

電子簽章一定要有時戳(Timestamp)

由受信任的公正第三機構來提供時戳(Time Stamp)服務, 可以提供某一文件在某一時間點即已存在的證明.

電子簽章(Digital Signature)是將某一文件或交易與簽章人連結起來形成唯一的特徵. 電子簽章要確保「不可否認性」必需做到兩點: 第一是簽章與文件內容的唯一性, 第二是簽章人的憑證(Certificate)必須有效.

電子簽章(Digital Signature)是將某一文件或交易與簽章人連結起來形成唯一的特徵. 電子簽章要確保「不可否認性」必需做到兩點: 第一是簽章與文件內容的唯一性, 第二是簽章人的憑證(Certificate)必須有效.

為電子簽章證明時間

憑證可能被取銷(Revoked)或過期失效(Expired), 這雖然不會影響憑證失效前的的所有簽章, 但若缺乏可信賴的時戳, 將無法證明簽章是在憑證有效期內所為. 這會是一個重要的法律問題.
下面這個例子可說明某A如何否認他發出的電子簽章文件.
A在十二月一日送一封他簽名的信件給B, 承認他欠B一筆錢, 並承諾會在聖誕節時還給B
B在當天收到這封信, 經驗證電子簽章, 確為A所發出, 且內容無誤, 於是B就期待聖誕節到時A會還錢給他.
A在次日將其個人憑證撤銷
聖誕節到時, B向A要錢, 並出示A之前發給B的信件
A 拒絕承認此事, 並宣稱該信件簽章是假的
B無法證明該信件是在A憑證撤銷前所簽章的. 法院可能判B敗訴
上述問題的關鍵在, 無法證明文件的數位簽章是在該憑證有效期內所簽署的
如果當時B要求A的文件必須包括電子時戳的話, 除了驗明正身(Who & What) 還包括了A簽署這文件的時間 (When)
事後法院可以根據電子時戳來證明這文件是在A的憑藉撤銷前做的, A就無法否認這事了

時戳服務中心(TSA, Time Stamp Authority)

是一個提供大家信任的時戳機構, 它是一個被授權的第三方.

程式碼簽章 (Code Signing)

要確保軟體程式的完整性與可鑑識性, 尤其在經由網際網路下載的軟體, 更需要一個機制來確認軟體的身份與正確性, 以免使用到假冒的軟體或被竄改過的軟體(植入病毒或木馬), 所以軟體必須被簽章以證明身份與完整性, 簽章的有效性與其憑證是關連的, 如果憑證過期, 就無法證明軟體的身份與完整性, 這軟體就不值得信任, 軟體的發行者必須被迫使用新的憑證來簽章該軟體.
如果能在為軟體簽章時就使用電子時戳, 就能確認即使該簽章憑證已過期, 軟體仍然是可信任的.

與TSA有關的標準協議

1. Time Stamp Protocol: RFC 3161 協議裡定義了TSA的角色, 其服務的要求項目, 時戳需求(Request)與回復(Response)的格式與傳輸的協議
2. Network Time Protocol: RFC 1305 規定網路校時的方式 (NTP)
3. Simple Network Time Protocol: RFC 2030 (SNTP)

如何快速建置一個時戳伺服器?
http://www.asiapeak.com/ 玉山科技

沒有留言: