2

过去,我使用 SmartCard 存储随机生成的密钥文件,TrueCrypt 使用该密钥文件打开其卷。TrueCrypt 使用 PKCS#11 读取智能卡并访问密钥文件。

现在我想用 EncFS 做类似的事情。我想将其 xml 配置存储在智能卡中。EncFS xml 配置有 1KB,所以很合适,我什至可以在一张 SmartCard 中存储几个不同的配置文件。

但是 EncFS 不支持 PKCS#11,只要我能够搜索到它。所以,我的想法是将 SmartCard 用作一个非常小且安全的存储笔式驱动器。它的只读内容将作为普通的 Windows 驱动器号挂载,EncFS 将读取其文件。

知道如何实现吗?

4

1 回答 1

1

这是一项非常有趣的任务。PKCS#11 设备通常能够保存通用 BLOB,尽管这些 Blob 的大小受到严格限制(通常为几百字节)。BLOB 具有短文本标签,因此您可以将它们视为文件。

我知道这项任务可以使用我们的产品完全在用户模式下完成(用于 PKCS#11 访问的 SecureBlackbox 和用于创建虚拟驱动器的回调文件系统),也许您也可以选择其他选项。我认为您无法从纯内核模式驱动程序访问 PKCS#11,因为大多数 PKCS#11“驱动程序”都是用户模式 ​​DLL。

这种方法的唯一问题是常见的 PKCS#11 设备(智能卡、USB 令牌)非常慢,而且它们要求您在提供任何信息之前先登录。

另一个可能的问题是 EncFS 何时需要此文件。如果要登录后阅读,那没关系。但是,如果要在系统引导期间读取文件,那么任务将变得更加复杂(如果可能的话——这取决于 EncFS 读取文件的系统引导的确切阶段)。

于 2016-01-18T01:31:20.393 回答