
我正在編寫一個 Chef LWRP 來為 LUKS 容器添加金鑰,但我很難想出一種方法來確定我的金鑰是否已經存在。 cryptsetup luksAddKey
我會很高興多次添加相同的密鑰文件,所以我不能簡單地繼續調用luksAddKey
每次 Chef 運行。
到目前為止,我想出的最好的是
cryptsetup luksDump /dev/xvdf1 --dump-master-key --key-file <thenewkey> > /dev/null
那看起來:
- CPU密集型
- 不太安全
有人有更好的點子嗎?
謝謝!
答案1
我看不到在不解鎖卷的情況下測試密鑰的任何機會(至少指的是 CPU 負載)。但誰沒有這幾秒的CPU呢?每個系統是否有大量 LUKS 磁碟區?
您也可以這樣做:
每次新增金鑰時,您都會儲存文件的摘要(甚至不需要是安全摘要;甚至 MD5 也可以)。你建立一個目錄/etc/my_luks_keyfiles
。對於系統中的每個 LUKS 卷,您都可以使用 UUID ( cryptsetup luksUUID /dev/bla
) 建立子目錄。如果您新增金鑰,那麼您將建立一個文件,例如將時間戳記作為名稱,將摘要作為內容。如果刪除密鑰,則會刪除該檔案。如果您想知道金鑰是否處於活動狀態,則可以將目錄中的所有檔案與摘要進行比較(即您不需要傳輸金鑰檔案)。
如果檔案數量多於或少於活動插槽,那麼您就知道您搞砸了...