Hash

如何驗證時間戳?

  • June 23, 2015

您輸入一個輸入,雜湊值作為輸出,然後當有人輸入輸入時,應用雜湊函式來查看它是否與儲存在某個數據庫中的原始值相同,如果我沒記錯的話,這就是它的工作原理.

但是我現在在理解時間戳時遇到了一些麻煩,我剛剛使用了時間戳服務univerisign

我將文件發送到時間戳,我相信輸入是文件和日期,並通過使用 sha512 創建文件簽名,這正是所做的:我的文件是 example.pdf:

標題

測試文件。

使用服務後,出現example.pdf:

標題

04_02-2012

測試文件。

它還有一個名為 example.pdf.ers 的文件,我相信它是雜湊值,但我如何證明由 Universign 加蓋時間戳的文件的有效性?

網路是這樣回答的:

Universign 使用IETF RFC 3161 標准定義的時間戳協議。您可以使用任何符合此標準的軟體來檢查您的時間戳印章。

這是什麼意思?

  • 我的 example.pdf 文件與上面寫有相同日期的假文件 fake.pdf 有何不同?
  • 我的 example.pdf 是否具有任何安全特性,或者它只是一個普通的 pdf 文件以及它儲存在 example.pdf.ers 中的所有驗證資訊?

我認為如果 universign 能夠給我一份文件證明,那麼聰明的人可以通過提供包括日期在內的虛假輸入輕鬆創建文件的虛假證明,也許這與組織的證書有關這種情況下,universign 並非所有時間戳都有效,並且可能 example.pdf.ers 保存在 universign.eu 數據庫中,這就是它有效的原因。

請注意,我的問題雖然很長,但我只是在製定它時嘗試回答它,這完全是為了理解時間戳的驗證。

實際上,Universign 會按照RFC 4998的描述生成“證據記錄” 。證據記錄又依賴於RFC 3161所涉及的標準時間戳。證據記錄可以嵌入多個嵌套的時間戳;這用於長期存檔,當您希望時間戳在時間戳權威證書的有效期結束後保持可驗證性時,或者甚至當最初使用的雜湊函式之一損壞時。證據記錄語法 (ERS) 包括定期維護的規定,即在需要時噴塗新的油漆層(新的時間戳)。

作為一般基礎,時間戳授權 (TSA) 的工作方式如下:它接收文件散列,並在包含散列值和目前日期的結構上應用數字簽名——日期由 TSA 測量,而不是由客戶提供。簽名在驗證後“證明”涉及 TSA,並且由於我們相信 TSA 擁有維護良好的時鐘並且從不簽署任何沒有為其寫入目前日期的結構,這證明了文件雜湊自宣布日期(至少)以來存在。雜湊函式名義上不受原像的影響,這反過來證明了該文件在該日期的存在。

信任的基石是 TSA 的“誠實”,從行政上講,它通過認證。各種機構機構通過審計和程序以及需要砍伐整片森林的大量文件來驗證 TSA 已經制定並以可審計的方式保持足夠的安全性。就Universign而言,他們可以吹噓可以從法國政府獲得的認證;實際上,法國說:“他們的時間戳足夠好,可以在法律訴訟中用作證據,舉證責任在於反對的人所述時間戳的有效性”。可以假設這或多或少會擴展到歐洲其他地區,至少在不久的將來(電子簽名和時間戳的法律體系傳播緩慢,但歐洲正試圖推動它們以一種協調一致的方式進行——與往常一樣,在美國,事情的運作方式不同,因此 Universign 時間戳在美國法院的法律地位得到的保證要少得多)。

我沒有嘗試過universign的服務,他們網站上的描述並不清楚它是如何工作的。

所以我看了一下RFC 3161,它定義了一個時間戳協議。

本質上,那裡定義的服務

  • 接受要加時間戳的消息(或文件)的雜湊值,以及一些參數
  • 產生一個時間戳記號。

這個時間戳記令牌實際上只不過是一個(編碼的)資料結構,由以下數據欄位及其數字簽名組成。

  • 一些元數據(版本,使用的策略)
  • 沖壓時間(以及可選的精度測量)
  • 一個序列號
  • 消息/文件的雜湊

數字簽名將這些欄位連結在一起,並且是時間戳服務斷言在指定時間看到此散列的證明。

我假設您的 example.pdf.ers 文件就是這樣一個時間戳標記。您可以使用任何支持RFC 2630中定義的加密消息語法的程序來檢查它的有效性(即它確實是由該服務生成的)。然後,您還必須查看這些欄位,看看它們是否有意義……以及散列是否真的是相關文件的散列。

現在,該網站似乎不接受TimeStampReqRFC 中定義的結構,而是有一個數據上傳表單,如果是 PDF 文件,它似乎修改了這個文件以包含日期(如果我理解這個問題對 - 我沒試過)。所以很可能網站本身就是對文件進行雜湊處理,然後在內部呼叫 RFC 中描述的服務來進行時間戳,並返回TimeStampReq(以及修改後的 PDF)。

因此,要檢查文件的時間戳,您(或為您執行此操作的應用程序)必須使用相同的雜湊算法(包括在內)再次對其進行雜湊處理,比較雜湊值,然後檢查數字簽名。(您還應該檢查任何證明時間戳服務的證書,並檢查相關的密鑰撤銷列表。)

僅修改後的 PDF 並不能證明任何事情。

引用自:https://crypto.stackexchange.com/questions/1816