我可以為多個驅動器使用 luks 分離頭嗎?
我可以為多個驅動器使用相同的單個 LUKS 分離頭嗎?
這樣做我應該記住什麼?如果驅動器根本不同(不同的尺寸、製造等),這也可能嗎?
原因:我想在帶有 LUKS 的單個系統中使用多個驅動器,但從安全形度來看,使用不同的標頭沒有任何好處。但也許有技術原因不這樣做?
技術的
是的,您絕對可以將 LUKS 標頭從一個磁碟複製到另一個磁碟。確切地說,您可以將其從塊設備複製到另一個塊設備,這意味著您可以安全地將 LUKS 標頭從分區(塊設備)複製到代表整個磁碟的塊設備。你可以簡單地做:
dd if=/path/to/block/deviceA of=/path/to/block/deviceB bs=2M count=1
但是有一個技術限制,如果您使用諸如
udev
通過 UUID 辨識塊設備並將它們分配給特定設備文件之類的東西,udev
則可能會感到困惑,因為所有驅動器都將具有相同的 UUID。這是因為 LUKS 標頭包含 UUID。請注意,這與在
/etc/fstab
.mount
將查看位於 od LUKS 上的文件系統的 UUID(只要驅動器已解密)。LUKS 標頭可用於任何塊設備這一事實也意味著設備的大小與標頭無關。如果您在單個分區上使用標頭,則分區表知道塊設備的大小,如果您在整個磁碟上使用它,則核心知道它的大小。
安全
從安全的角度來看**,複製 LUKS 標頭是一個壞主意**。LUKS 標頭包含用於加密數據的加密密鑰,即數據是使用標頭內的密鑰加密的,而不是使用從密碼生成的密鑰。然後,LUKS 標頭儲存此加密密鑰,該密鑰在由密碼生成的密鑰下進行了多次加密。
如果磁碟可以使用 3 個不同的密碼進行解密,則密鑰將儲存 3 次:每次都使用由一個密碼生成的密鑰進行加密。
例如,假設您有 2 個磁碟,每個磁碟都可以使用 2 個密碼解密,並且您將 LUKS 標頭從一個磁碟複製到另一個磁碟。現在,如果其中一個密碼被洩露,則加密密鑰也被洩露。如果攻擊者設法獲得了diskA並通過使用洩露的密碼獲得了密鑰,那麼您需要破壞diskB上的數據,因為攻擊者可以解密它。
在相同的情況下(一個密碼被洩露),如果您沒有複製 LUKS 標頭,恢復會容易得多。如果磁碟A 擁有攻擊者並且他擁有磁碟A 的加密密鑰,他仍然無法解密磁碟B 上的數據。他當然可以使用洩露的密碼從diskB獲取diskB的加密密鑰,但是,如果你比攻擊者更快,你可以禁用diskB的洩露密碼(這通過覆蓋儲存在洩露下的加密密鑰來實現)密碼)。
因此,使用不同的標題有好處。標頭的目的之一是允許使用不同的密碼,並使每個塊設備上加密的數據在不同的密鑰下加密,儘管用於解密驅動器的密碼是相同的。