2014-01-20 32 views
1

的從這個問題:Digitally sign a hash value of a file directly instead of file簽名的哈希值,而不是一個文件

我不知道這是沒有任何安全隱患或完整性問題簽署的哈希值,而不是一個文件的時候?

+0

只要您使用安全散列函數,它就是非常非常小的一個。 (如果您使用MD5,則存在非常大的風險,因爲您可以強制哈希衝突。) – towr

+0

感謝您的回答。你能詳細解釋一下嗎? – hienbt88

+0

從哪裏獲得這些散列值?如果您從某個遠程客戶端獲得它們,那麼風險可能是您的簽名組件上的哈希值可能已與其他哈希值進行交換,並且您實際上會爲某些您不打算簽署的文件創建簽名。如果您的簽名組件只接受文檔,您至少可以存儲這些文檔並且檢查這些文檔是否是正確的。這可能是一個審計問題。順便說一句,這個問題可能會更好地問http://security.stackexchange.com/ – mkl

回答

1

美國國家和國際數字簽署文件(PDF,Word,Excel)標準和數據符號表示原始文件/數據的散列值。

所以你會成爲好公司。

各個國家和國際標準機構定期發佈新的標準和規定,以確保哈希函數的安全。

例如,在2011年,美國標準研究所發佈了regulation(參見第6頁),指出:

2013年12月31日之後,密鑰長度提供安全的不到112位用於生成數字簽名的強度不得使用

(重點是在原)本條例適用於美國政府,但它也是常見的非政府機構/公司遵循它作爲最佳實踐的例子。

這實際上是什麼意思是不要使用SHA-1。相反,使用散列函數的SHA-2系列。

相關問題