USB 驱动器/记忆棒上的硬件加密

USB 驱动器/记忆棒上的硬件加密

我想知道是否有可能即时加密和解密 USB 驱动器或使用某些微控制器或单板计算机(例如 Raspberry Pi)。

例如,我想加密我的 USB 驱动器,将其连接到电视并观看电影。我的电视不支持解密,所以我需要一个驱动器和电视之间的设备。

如果我能使用 Raspberry Pi 来实现此目的,那将非常方便。有什么建议吗?

答案1

USB 区分主机(即您的计算机)和设备(例如鼠标、USB 驱动器、网络摄像头)。这些通常不可互换(例外情况见下文)。大多数 x86 计算机仅支持在主机模式下工作。

您的用例需要两者——主机支持以连接到您的 USB 驱动器,以及设备支持以连接到您的电视。

单板计算机通常支持设备模式(如果 USB 端口可以在主机模式和设备模式之间切换,则通常标记为“USB OTG”)。

在 Raspberry 世界中,型号 A 和 Zero 似乎支持 USB OTG(https://learn.adafruit.com/turning-your-raspberry-pi-zero-into-a-usb-gadget/overview),但它们只有一个 USB 端口,因此在您的用例中无法使用它们。

其他支持设备模式并具有多个 USB 端口的 SBC 例如有 BeagleBoard(至少是“绿色”和“黑色 rev C”型号)、CubieBoard(至少是 CB 3(又名 CubieTruck),可能还有其他型号)和 Odroid C2。

另一个需要考虑的点是 SBC 是否能够足够快地加密/解密。

软件部分很简单:

  • 安装 USB 驱动器并设置设备加密

    警告:您打算如何处理加密密钥?将键盘和屏幕连接到 SBC?

  • 将解密后的文件系统导出为 USB 块设备。Linux 内核将 USB 设备模式称为“USB gadget 模式”,并包含将文件或块设备导出为 USB 存储设备的驱动程序。

相关内容