Stream-Cipher

流密碼與 OTP,具有 /dev/urandom 和安全密鑰交換

  • January 21, 2021

我的應用程序將在辦公室環境中工作,使用者可以直接安全地收集一個長的一次性便箋簿。例如,它可能是 USB 驅動器上的 16Gb。這會讓我很高興,除了 OTP 將由它生成/dev/urandom,因此不是“真正隨機的”。

我知道這/dev/urandom對於大多數加密用途是可以接受的,但我的 OTP 將不再是資訊理論上的安全。

在這種情況下,我應該繼續沿 OTP 路徑,還是使用流密碼?還有其他因素需要考慮嗎?(注意:我相信工作人員可以安全地儲存他們的 OTP)。

還有其他因素需要考慮嗎?(注意:我相信工作人員可以安全地儲存他們的 OTP)。

明顯的問題是數據的認證和密鑰的儲存。我會假設被加密的數據對於每個員工都是個人的,並且不會在員工之間傳輸。

您注意到員工可以將他們的 OTP 安全地儲存在 USB 驅動器上。如果他們迷路了怎麼辦?如果用於密鑰的儲存不會失去並且安全,則可以將數據儲存在那裡。

我認為您必須質疑物理儲存的實際安全。以類似於資訊論安全的方式,它肯定永遠不會接近不受無限物理權力的影響。

為了不影響方案的安全性,需要仔細實施數據驗證,並且需要使用填充數據。根據維基百科

通用散列提供了一種在任意安全範圍內對消息進行身份驗證的方法(即,對於任何 $ p > 0 $ ,足夠大的散列確保即使是計算無界的攻擊者成功偽造的可能性也小於 $ p $ )

根據樂於助人的使用者雨披:

您可以使用 OTP 進行數據身份驗證(並保留資訊安全屬性);例如,使用 epsilon 幾乎通用散列函式(OTP 提供 UH 密鑰和異或散列輸出)

不使用數據身份驗證意味著數據可能被篡改,因此這種情況似乎不太可能發生。

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