Encryption

我應該在哪裡儲存加密密鑰文件?

  • February 7, 2017

假設我對除 /boot 之外的所有系統都使用 LUKS,並且我的 /home/user 目錄也已加密。在我的使用者帳戶安全的背景下(與 root 相比,我應該創建另一個加密容器來儲存我的密鑰文件,以便快速安裝加密驅動器?

起初,我希望在登錄我的使用者帳戶時自動安裝我的驅動器,但這似乎不太安全。加密拇指驅動器並將我的密鑰儲存在上面,這樣我必須首先解密/安裝拇指驅動器會更好嗎?

我在這里這裡看到了這種建議,但這引出了一個問題:如果我在我的使用者帳戶的上下文中解密包含密鑰文件的驅動器,它是否比我將它們儲存在 /home/ 的某個地方更安全使用者?

將密鑰文件儲存在與加密卷相同的位置是沒有用的。僅當解密密鑰與加密卷分開儲存時,加密才有用:在您的腦海中,在可移動設備(USB 密鑰、智能卡等)上等。

(有一種加密方式對儲存在同一位置的密鑰仍然有用:快速擦除。您可以通過擦除密鑰有效地擦除加密卷上的數據,您不需要擦除整個卷。但是那是邊緣的。)

要使用全盤加密,您需要在啟動時以一種或另一種方式輸入解密密鑰。因此,您要麼需要輸入密碼,要麼插入包含密鑰文件的可移動設備。

加密僅對竊取磁碟的人有用(無論是否有電腦的其餘部分)。它不能保護電腦上執行的軟體:作業系統的隔離和訪問控制機制可以做到這一點。啟動系統後,防止竊取電腦(包括在您離開時通過鍵入鍵盤暫時“竊取”電腦)的保護措施是螢幕鎖定。

如果這是一個單使用者系統,那麼除了全盤加密之外的額外加密有用的場景並不多。攻擊者可以訪問您的帳戶並且他們可以訪問您的所有文件,或者攻擊者無權訪問您的帳戶並且他們無法訪問任何內容,除非將磁碟放入他們的電腦中,這會給他們留下加密的磁碟並且(假設密鑰沒有隨磁碟被盜)無法解密。

如果您認為某些文件特別機密並且您不經常使用它們,那麼使用第二層加密可能會有優勢。如果是這種情況,則使用不同的密碼對其進行加密。然後,如果您的電腦被惡意軟體感染,那麼惡意軟體將無法訪問您所有最機密的文件,只能訪問您在發現惡意軟體之前輸入解密密鑰的文件。

第二層加密的另一個優點是防止相對複雜的攻擊者在電腦仍在執行時竊取電腦並從 RAM 中提取密鑰。您可以通過將電腦配置為在您不在電腦前時解除安裝解密的捲來防止這種情況。這需要第二層加密(除非您跳過全盤加密而只加密您的個人文件),因為系統文件必須保持可訪問性(解密軟體和讀取密鑰的介面必須可用)。我相信 iOS 和 Android 正在走向這樣的設置,如果他們還沒有達到這一點,但我不知道在 Linux 下設置它的簡單方法。

關於將密鑰文件本身儲存在加密容器上的方面,只有當加密容器受密碼保護而不是另一個密鑰文件保護時才有意義,並且僅當容器是可移動驅動器時才有用。使用密碼保護可移動驅動器意味著如果有人竊取了驅動器但無法猜出您的密碼,他們將無法解密您的數據。但是再一次,如果密鑰文件與數據位於同一媒體上,那麼首先擁有密鑰文件沒有任何好處。

引用自:https://unix.stackexchange.com/questions/342927