数字签名时间戳服务器的原理
時間戳服務工作流程:
◆ 用戶對文件數據進行Hash摘要處理;
◆ 用戶提出時間戳的請求,Hash值被傳遞給時間戳服務器;
◆ 時間戳服務器對哈希值和一個日期/時間記錄進行簽名,生成時間戳;
? ? ◆ 時間戳數據和文件信息綁定后返還,用戶進行下一步電子交易操作。
?
驗證工作流程?
一、用時間戳標記順序
時間戳服務:time-stamp service
時間戳標記:time-stamp token
可信第三方:trusted third part,TTP
時間戳服務機構:time-stamp authority,TSA
我們知道,對數據做數字簽名可以保證其完整性,進行數據源鑒別,提供抗抵賴性,但這些還不夠。
比如:假設A和B因為發表了內容完全相同的兩篇小說作品,從而產生了著作權歸屬的爭議。在這種情況下,兩人都能夠出示“自己的”小說的簽名,但對解決爭端毫無作用,這是因為缺少了判斷著作權歸屬的重要依據——時間先后順序。
再比如:假設C丟失了自己私鑰,于是向CA申請撤銷了自己的證書。此后,D聲稱C與自己簽訂了一項合同卻未依約執行,且經驗證,合同的數字簽名是用C的私鑰簽署的,C卻表示改簽名是自己的私鑰丟失后有人冒充所為。已知CA簽發的CRL中有證書撤銷的時間,在這種情況下,如果能通過合理可靠渠道證明合同所簽訂時間,從而判定合同簽訂和證書撤銷(私鑰失效)的時間,那么問題就迎刃而解了。
在數字業務中,標記一份文檔出現的時間或一件事的發生順序是很有必要的,這就像對原始數據加蓋了一枚包含權威時間信息的印章,故被稱為“時間戳”。在PKI中,時間戳服務可由第三方提供,并不失去公正性和權威性。
時間戳服務提供的結果稱為“時間戳標記”,它將當時的時間(可以是一個代表順序的數字)和原始數據綁定在一起,需要驗證的時候可作為證據證明原始數據在時間戳標明的時間之前已經存在,根據時間的不可重復性,時間戳就可用來判斷原始數據出現的(或其代表的時間的發生的)順序。
二、時間戳原理
結合例子來說明,假設A準備向網站運營者B提交作品,這時A需要向B證明作品完成的時間,這就需要一個滿足以下條件的時間戳服務提供者C:
1、時間戳標記中提供的時間信息是“權威”的。這里包含兩層意思:C提供的日期和時間是準確的;C只會用當時的真實時間標記,而不會故意標記虛假的信息。簡單說來,就是C必須是“可信第三方”。基于X.509 PKI,這點可用C的證書來保證,即相信了簽署其證書的CA,也就相信了C。
2、時間戳標記可提供數據來源鑒別以及完整性保護,即B可確信時間戳標記來自C且傳輸過程中未被篡改,這可依靠數字簽名來實現。一般情況下,使用非對稱密碼技術進行數字簽名。
3、時間信息與原文內容綁定在一起,以證明該時間正是C收到A此篇原文的時間。即,時間戳標記中要充分地包含原文的信息,加蓋時間戳之后原文不應再有改動,不論是自己做的改動還是別人篡改的。
為了即不透露原文又能抵抗篡改,可以使用雜湊算法。A自己計算原文件的雜湊值并交給C加蓋時間戳,在出示時間戳標記的時候,驗證者B根據收到的文件計算雜湊值并與時間戳標記中的比較,如果相同則證明與時間戳標記中的時間信息綁定的正是原文件。這樣,如果修改原文,哪怕只有一個比特,雜湊值也會有顯著的變化,而且其“碰撞自由”(collision-free,或稱“抗碰撞”,collision-resistant)的性質可避免他人或A自己在加蓋時間戳之后對原始數據的偽造或篡改。
根據以上原理,基于X.509 PKI的時間戳服務過程如下:
1、用戶對原始數據做雜湊運算。
2、用戶將雜湊值發給TSA
3、TSA將接收時間列在雜湊結果之后,并對整體進行數字簽名。
4、TSA將帶有數字簽名的雜湊值和時間信息發回給用戶。
三、時間戳服務機構(TSA)
TSA擁有用于數字簽名的私鑰和CA簽署的數字證書,其證書除了是合法的末端實體證書以外,還必須滿足以下兩個條件:
1、必須含有Extended Key Usage擴展,并且KeyPurposeId字段等于1.3.6.1.5.5.7.3.8,表明該證書主體可以擔任TSA,該密鑰可以用于時間戳服務。
2、如果含有Key Usage擴展,則digitalSignature位必須等于1,表明對應的密鑰可用作數字簽名。
另外,TSA也可以有多個策略,同一個TSA可以根據不同的策略擁有多個簽名算法,對應多個有不同安全需求的場景。
用戶與TSA的通信過程很簡單:
1、用戶向TSA發送時間戳請求
2、TSA返回包含時間戳標記或出錯信息的時間戳應答。
?
參考:中宇萬通時間戳服務器 - 時間戳服務器 - 北京中宇萬通科技股份有限公司
參考:數字證書基礎知識:時間戳服務簡介,時間戳服務為服務器端和客戶端應用提供可信的時間證明
總結
以上是生活随笔為你收集整理的数字签名时间戳服务器的原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android德州扑克计算器,学界 |
- 下一篇: Spring Data JPA 从入门到