Encryption
僅 ChaCha20 是否足以保護靜態數據?
我想知道單獨使用 ChaCha20 是否足以保護儲存在磁碟上的文件,還是應該將 Poly1305 與它一起使用?AFAIK,Poly1305 用於保護身份驗證通道,但為了保護靜態數據,可以從作業系統的密鑰庫中讀取密鑰,這(通常)是相當安全的 - 對嗎?
如果是這樣,這是否意味著僅 ChaCha20 就足夠了?
謝謝
您真的不想在(幾乎) 任何情況下單獨使用 ChaCha20。
ChaCha20 為您做的是防止攻擊者(被動)讀取您的數據,這很好。但是 ChaCha 是一種所謂的流密碼,它通過對消息(您的文件處於靜止狀態)進行異或運算來工作。但是,如果您允許攻擊者解密除儲存的密文以外的任何內容,ChaCha 就不會阻止攻擊者(主動)讀取您的數據,正是這種工作方式。
如果對手現在掌握了您的驅動器/文件,他可以操縱該文件。例如,假設這是您第二天的金融交易計劃。知道接收者的賬戶 ID 所在位置並知道誰應該接收交易的攻擊者可以翻轉該位置的位,使其銀行賬戶成為目標。
Poly1305 旨在通過確保數據在不知道密鑰的情況下沒有更改來防止這種攻擊。假設攻擊者不知道 Poly1305 的密鑰,他就無法正確更新身份驗證標籤。如果他現在更改了密文的一位,則驗證將失敗,您會注意到有人更改了您的文件,從而保護您免受格式錯誤的操作( / 交易)。
TL;DR:ChaCha20 保護您的文件不被(被動)讀取,但不被操縱,這很容易導致嚴重的攻擊。所以除了ChaCha20,你真的很想用Poly1305。