过去,我使用SmartCard存储随机生成的密钥文件,TrueCrypt使用该密钥文件打开其卷。 TrueCrypt使用PKCS#11读取SmartCard并访问密钥文件。
现在我想用EncFS做类似的事情。我想将其xml配置存储在SmartCard中。 EncFS xml配置有1KB,所以它适合,我甚至可以在一个智能卡中存储一些不同的配置文件。
但是只要我能够搜索它,EncFS就不支持PKCS#11。因此,我的想法是将SmartCard用作非常小且安全的存储pendrive。它的只读内容将作为普通的Windows驱动器号挂载,而EncFS将读取其文件。
知道如何实现这个目标吗?
答案 0 :(得分:1)
这是一项非常有趣的任务。 PKCS#11设备通常能够保存通用BLOB,尽管这些blob的大小受到严格限制(通常为几百字节)。 BLOB具有短文本标签,因此您可以将它们视为文件。
我知道这个任务可以通过我们的产品完全用户模式完成(SecureBlackbox用于PKCS#11访问和回调文件系统来创建虚拟驱动器),也许您也可以选择其他选项。我不认为您能够从纯内核模式驱动程序访问PKCS#11,因为大多数PKCS#11"驱动程序"是用户模式的DLL。
这种方法的唯一问题是常见的PKCS#11设备(智能卡,USB令牌)非常慢,并且它们要求您在提供任何信息之前登录。
另一个可能的问题是EncFS需要这个文件。如果您在登录后阅读,那就没问题。但是如果要在系统引导期间读取文件,那么任务将变得更加复杂(如果可能的话 - 这取决于EncFS读取文件的确切阶段)。