Public-Key

為什麼要使用時間戳,有人怎麼知道它是正確的?

  • April 2, 2021

假設A要發送消息,那麼每個收到消息的人都可以確定它來自A。然後A發送消息message|timestamp|E(A_private_key, Hash(message|timestamp))

時間戳有什麼好處?收到消息的人如何知道它是正確的時間戳?為什麼不發送message|E(A_private_key, Hash(message))

實際上,我猜您是在談論數字簽名而不是公鑰加密(因為您希望具有消息真實性而不是機密性)。

使用時間戳是否有意義取決於您的應用程序。基本上,這個想法是驗證者可以確定簽名何時發布,特別是消息在某個特定時間點之前存在。

但是,使用上述方法,驗證者無法確定,因為簽名者 ( $ A $ ) 可能包括一個任意的時間戳(這不一定是正確的,可能是“回溯”)。這是否真的是一個問題,再次取決於您的應用程序。

為了解決上面提到的“回溯”問題,從而確保消息的正確日期,有所謂的可信時間戳方法。

如果 $ A $ 然後基本上使用基於數字簽名的可信時間戳 $ A $ 讓受信任的第三方(TSA - 時間戳權威)簽署消息以及時間戳( $ A $ 只需要發送消息的雜湊值而不是消息本身,如果 $ A $ 不想透露消息)然後 $ A $ 使用 TTP+消息對時間戳+簽名進行簽名 $ A $ 自己的私人簽名密鑰。現在,每個人都擁有 $ A $ 的真實公鑰並信任 TSA 可以確定消息在時間戳之前存在。

您還可以在此處查看有關時間戳的更詳細討論。

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