Ultrablue 项目使用教程
1. 项目介绍
Ultrablue(User-friendly Lightweight TPM Remote Attestation over Bluetooth)是一个解决方案,允许个人用户使用他们的手机执行启动状态验证。它由一个运行在计算机上的服务器(作为验证者)和一个运行在受信任手机上的图形客户端应用程序(作为验证者)组成。典型的用例是在解锁计算机之前验证启动链的完整性,以防止离线攻击。它还可以作为固件升级后安全启动问题的调试工具,或作为磁盘加密的第二因素。
2. 项目快速启动
2.1 安装要求
- 需要一个运行Linux的计算机,该计算机具有TPM和蓝牙接口(通常是笔记本电脑)。
- 需要一部移动电话(iOS或Android)。
2.2 安装步骤
2.2.1 在计算机上安装服务器
-
克隆项目仓库:
git clone https://github.com/ANSSI-FR/ultrablue.git cd ultrablue
-
构建并安装服务器:
make sudo make install
2.2.2 在手机上安装客户端
- 对于iOS用户,可以从App Store下载客户端应用。
- 对于Android用户,可以从Google Play Store下载客户端应用。
2.3 配置和启动
2.3.1 注册手机作为验证者
-
在计算机上启动服务器以进行注册:
sudo ultrablue-server -enroll -pcr-extend
-
在手机上运行客户端应用,点击右上角的“+”图标以显示二维码扫描器。
-
扫描计算机终端上显示的二维码,建立蓝牙低功耗通道并自动完成注册。
2.3.2 启动验证
-
在计算机上启动服务器:
sudo ultrablue-server
-
在手机上点击设备卡上的“▶️”图标,运行验证。
3. 应用案例和最佳实践
3.1 防止离线攻击
在解锁计算机之前验证启动链的完整性,确保计算机在启动过程中未被篡改。
3.2 调试安全启动问题
在固件升级后,使用Ultrablue验证启动链的完整性,帮助调试安全启动问题。
3.3 作为磁盘加密的第二因素
将Ultrablue作为磁盘加密的第二因素,确保只有在验证成功后才能解密磁盘。
4. 典型生态项目
4.1 Dracut 集成
Ultrablue提供了Dracut和systemd集成,使得在启动过程中自动执行验证变得更加容易。
4.2 虚拟机测试
项目提供了虚拟机脚本,使得测试和集成Ultrablue变得更加简单。
通过以上步骤,您可以快速启动并使用Ultrablue项目,确保您的计算机启动链的完整性和安全性。