Linux 黑話解析:什么是 LUKS 加密?
計算機安全旨在保護私密信息。有許多方法可以保護系統。一些用戶使用簡單的用戶名/密碼登錄方案進行基本保護。其他用戶可能會通過加密以不同的方式增加額外的保護,如使用 VPN 和磁盤加密。
如果你的計算機上有敏感的客戶數據(你可能在經營一家企業),或被視為知識產權的材料,或者你對隱私非常謹慎,你可能要考慮磁盤加密。
磁盤加密的一些好處包括:
- 保護系統免受黑客的攻擊
- 防止數據泄露
- 保護你免受潛在的責任問題
磁盤加密軟件可以防止臺式機硬盤驅動器、便攜式 USB 存儲設備或筆記本電腦被訪問,除非用戶輸入正確的身份驗證數據。如果你的筆記本電腦丟失或被盜,加密會保護磁盤上的數據。
如今,新的 Windows 系統默認配備了 BitLocker 加密。在 Linux 上,LUKS 是最常用的磁盤加密方式。
想知道什么是 LUKS?我會為你簡要介紹這個主題。
技術術語
在繼續之前,需要定義一些術語。LUKS 有很多內容,因此將其拆解為細項將有助于你進一步了解。
卷Volume:卷是一個邏輯存儲區域,可用于存儲數據。在磁盤加密的場景中卷指的是已加密以保護其內容的磁盤部分。
參數Parameters:參數是控制加密算法運行方式的設置。參數可能包括所使用的加密算法、密鑰大小以及有關如何執行加密的其他詳細信息。
加密類型Cipher type**:它是指用于加密的數學算法。它指的是用于保護加密卷上數據的具體加密算法。
密鑰大小Key size:密鑰大小是衡量加密算法強度的指標:密鑰大小越大,加密強度越高。通常以位數表示,例如 128 位加密或 256 位加密。
頭部Header:頭部是加密卷開頭的特殊區域,包含有關加密的信息,例如所使用的加密算法和加密密鑰。
下一個定義對于新手來說可能有些棘手,但了解它還是很重要的,尤其在處理 LUKS 時,這會非常有用。
容器Container:容器是一個特殊的文件,類似于虛擬加密卷。它可以用于存儲加密數據,就像加密分區一樣。不同之處在于容器是一個文件,可以存儲在未加密的分區上,而加密分區是整個磁盤的一部分,已經完全加密。因此,容器是 充當虛擬加密卷的文件。
LUKS 是什么以及它能做什么?
LUKS(Linux 統一密鑰設置Linux Unified Key Setup)是由 Clemens Fruhwirth 在 2004 年創建的磁盤加密規范,最初用于 Linux。它是一種知名的、安全的、高性能的磁盤加密方法,基于改進版本的 cryptsetup,使用 dm-crypt 作為磁盤加密后端。LUKS 也是網絡附加存儲(NAS)設備中常用的加密格式。
LUKS 還可以用于創建和運行加密容器。加密容器具有與 LUKS 全盤加密相同的保護級別。LUKS 還提供多種加密算法、多種加密模式和多種哈希函數,有 40 多種可能的組合。
LUKS 結構示意圖
任何文件系統都可以進行加密,包括交換分區。加密卷的開頭有一個未加密的頭部,它允許存儲多達 8 個(LUKS1)或 32 個(LUKS2)加密密鑰,以及諸如密碼類型和密鑰大小之類的加密參數。
這個頭部的存在是 LUKS 和 dm-crypt 的一個重要區別,因為頭部允許使用多個不同的密鑰短語,并能輕松更改和刪除它們。然而,值得提醒的是,如果頭部丟失或損壞,設備將無法解密。
LUKS 有兩個版本,LUKS2 具有更強的頭部損壞抗擊性,并默認使用 Argon2 加密算法(LUKS1 使用 PBKDF2)。在某些情況下,可以在兩個版本之間進行轉換,但是 LUKS1 可能不支持某些功能。
希望了解更多信息?
希望本文有助于你對 LUKS 和加密有一些了解。關于使用 LUKS 創建和使用加密分區的確切步驟會因個人需求而異,因此我不會在此處涵蓋安裝和設置方面的內容。
如果你想要一份指南來幫助你設置 LUKS,可以在這篇文章中找到一個很好的指南:《使用 LUKS 對 Linux 分區進行基本加密指南》。如果你對此還不熟悉,并且想要嘗試使用 LUKS,可以在虛擬機或閑置計算機上進行安全學習,以了解其工作原理。