我在联想 ThinkPad L480 上全新安装了 Ubuntu 18.04.1,里面有一个兼容 Opal 2.0 的 NVMe SSD。据我所知,驱动器始终是加密的,但我需要设置密码,以便加密密钥本身也受到保护。
问题:
- 我对加密的假设正确吗?
- 如果是的话,我该如何设置密码?
答案1
符合 Opal 2 标准的自加密磁盘驱动器 (SED)
OP的初步理解是正确的:
- Opal 2 驱动器的内容始终通过工厂设置的媒体加密密钥 (MEK,也称为 DEK) 进行加密。
- 最初,媒体加密密钥不受保护(否则您无法访问驱动器)。
- 必须设置密码来保护驱动器。(密码实际上加密了 MEK。)
更正和/或修改此主题的其他帖子:
- 在安装 Opal 2 驱动器并设置密码之前,根本没有任何保护。
- Opal 2 驱动器不支持 ATA 密码。它们使用自己的预启动系统 (PBA) 进行解锁(见下文)。
- 一些早期的 SSD 型号(例如 Crucial MX100/MX200/MX300、Samsung EVO 840/850、Samsung T3/T5)中发现了漏洞,因此这些型号不应与 Opal 2 硬件加密一起使用。
在 Linux 上设置 Opal 2 驱动器的低级要求
在使用 Opal 2 SSD 进行安全全盘加密之前,必须进行设置:
- 应分配新的媒体加密密钥 (MEK) 以确保安全。(出厂设置的 MEK 可能存在漏洞,例如依赖于序列号。)
- 必须指定密码。
- 必须指定加密范围。
- 必须提供特殊的启动代码,即 PBA(预启动身份验证系统)来解锁驱动器。
在 Linux 发行版中,可以使用低级实用程序 ( sedutil-cli
) 来配置和管理 Opal 2 驱动器。但是,直接使用相当困难。随附的 PBAsedutil-cli
不支持国际键盘布局或安全启动。
如何在 Ubuntu(和其他 Linux 系统)上设置 Opal 2 驱动器
放松和恢复(ReaR)是许多发行版存储库中包含的灾难恢复工具,可以创建可启动的 USB 棒来设置 Opal 2 驱动器。它支持国际键盘、安全启动、通过 BIOS 和 UEFI 启动,以及在 Ubuntu 上输入密码的图形屏幕。
ReaR 可以从软件包存储库 ( apt install rear
) 或通过下载到用户目录中进行安装来自 GitHub(GitHub 版本更新。)ReaR 用户指南包含一节“快速入门:设置自加密磁盘“通过 5 个步骤解释该过程。
答案2
配备 Opal 支持 SSD 的联想 ThinkPad L480 使用三星“MZ-V6E500BW SSD 960 EVO NVMe M.2 500GB”、256GB,或英特尔“180GB 固态硬盘 SATA3.2”OPAL2.0 M.2 硬盘,具体取决于所选选项。显然英特尔固态硬盘具有一些与 vPro 相关的管理功能,而非英特尔硬盘则没有,例如远程擦除和启用/禁用某些加密模式的能力。
有时似乎还会使用其他驱动器,例如 Seagate 1200 Pro SSD;因此使用 Windows 时了解正在使用哪个驱动器,以便您可以访问制造商的网站。
一旦你安装了一个定制操作系统您需要使用该操作系统可用的工具。Linux 的两个主要工具是hdparm和sedutil, 看我关于 UNIX 和 Linux 的回答堆栈交换。
附加信息:
三星固态硬盘有可用软件设置其操作,这仅适用于某些 SSD 和操作系统,否则默认无密码,且启用加密。
对于“Ubuntu 12.04 LTS 及更高版本”(来源:用户手册,DC 工具包 .PDF,第 10 页)三星 SSD直流工具包设计用于与三星 SSD 产品配合使用,包括 PM863、PM863a、SM863、SM863a、PM963 非定制、860 DCT、883 DCT、983 DCT、983 DCT M.2 和 983 ZET。
该软件与其他制造商的 SSD 不兼容,也不一定能与其他三星 SSD 兼容。它还对 Windows Server 2012 R2、Widows Server 2016 RS1(版本 10.0.14393)、RHEL 5.7 至 6.4(6.4 及更高版本完全支持)和 CentOS 提供有限支持。
对于 Windows 和三星 SSD,使用的软件称为:“三星 SSD 魔术师 DC 2.0“。使用装有 Windows 和三星 Windows 软件的可启动 USB 驱动器是另一种设置 SSD 以供其他操作系统使用的选项,尽管不太方便。
用户手册企业版Magician 软件声称仅支持三星 SSD SM863 和 PM863。消费者版本索赔Magician SSD 管理实用程序旨在与所有三星 SSD 产品配合使用,包括 470 系列、750 系列、830 系列、840 系列、850 系列、860 系列、950 系列、960 系列和 970 系列。
在您的情况下,最好使用 hdparm 或获取 sedutil 设置。
如果您希望加密驱动器保持安全,请不要忘记将屏幕保护程序设置为较短的时间,并且休眠时间也应该很短,请参阅我上面链接的其他答案,已打开加密驱动器是成功启动后解锁
一篇关于 Arch Linux 的有用文章解释道ATA BIOS 密码和 sedutil 与驱动器在Linux下支持Opal,它解释了设置 的必要性libata.allow_tpm
。另请参阅 Stack Overflow 问答:“ATA 信任命令 - 如何设置 libata allow_tpm“尤其是戴尔的文章:”使用 SED 硬盘加密您的 Ubuntu 操作系统“他们解释了一个冗长的过程(最后修改时间:2019 年 1 月 2 日下午 1:05)。
答案3
您说得对,加密始终处于开启状态。系统启动后,数据将自动解密。执行驱动器加密和解密的密钥嵌入在硬件本身的芯片中。辅助 ATA 密码提供了额外的安全级别。请注意,如果丢失了辅助密码,将无法恢复数据。
许多自加密驱动器生产商都提供软件工具,使用户能够创建这个额外的密码。
如果你感兴趣的话这里
资料来源:
https://trustedcomputinggroup.org/wp-content/uploads/TCG_Storage-Opal_SSC_v2.01_rev1.00.pdf
https://www.ontrack.com/uk/blog/concepts-explained/what-is-the-tcg-opal/
答案4
请检查 sedcli 工具,https://github.com/sedcli/sedcli
您可以使用--ownership 命令