Signature
長期文件歸檔問題的簽名和時間戳
我有一份用於長期(多年,甚至幾十年)存檔的 PDF 文件,我想用我的個人證書對其進行數字簽名,以確保其完整性。
據我了解,我需要在簽名上加上時間戳,以確保即使在證書到期後它仍然有效。
假設我使用了值得信賴的 TSA。據我了解,他們用自己的簽名簽署了時間戳。
現在,讓我們假設原來的 TSA 破產或受到損害,其證書被吊銷。我的文件會在沒有警告的情況下保持可讀嗎?
時間戳也是簽名;例如,請參見最常用的時間戳格式RFC 3161 。特別是,此類時間戳還依賴於證書(TSA 證書),因此也會過期。
所以你需要定期的時間戳;每當最新時間戳即將到期(但在到期之前)時,您需要獲取在前一個時間戳上計算的新時間戳。這種連結在幾個標準中都有描述,包括PAdES(它支持在 PDF 文件本身中嵌入簽名和時間戳);時間戳連結的一個更清晰的描述是證據記錄語法。
為了避免在時間戳到期日期之前意外失去 TSA(例如,由於妥協),您可以使用多個 TSA 並將它們交錯在鏈中:您從 TSA A獲得一個時間戳,然後立即從 TSA 獲得另一個時間戳B (電腦超過**A的時間戳)。每當任一時間戳即將到期時,使用兩個額外的時間戳擴展鏈,再次從A然後從B。使用交錯,您可以在失去任何一個 TSA 的情況下倖存下來(當然,不能同時失去兩者)。
答案似乎是否定的。如果 TSA 的私鑰被洩露(並因此被撤銷),則不能信任時間戳簽名,因為任何洩露它的人都可以使用舊時間戳簽署文件。在接受來自受損證書的時間戳簽名之前,使用者肯定希望得到警告。
那麼,如果這是您的威脅模型,那麼您有以下(可能還有更多)選項:
- 從多個 TSA 獲取簽名的時間戳。如果任何一個未被撤銷,則該簽名仍然可以信任。
- 使用門檻值簽名,這樣攻擊者就必須妥協多方才能偽造簽名(這比單方妥協的可能性要小得多)。