我正在寻找用于非对称解密目的的USB令牌解决方案。服务器已使用定期旋转的数据加密密钥(DEK)对敏感数据进行了加密,该密钥与加密的数据一起存储,并使用USB令牌(KEK)的预分配的公共密钥对其自身进行了加密。
用户(Web浏览器客户端)使用用户名和密码登录到单页应用程序。然后,用户插入USB令牌,这将触发以下顺序:
我研究了Yubikey之类的解决方案,但它似乎更着重于用户身份验证,而不是密码服务。以便携式格式实现基于硬件的密码的正确产品是什么?昂贵的HSM毫无疑问,因为多个用户应拥有一个可移植令牌的实例。另外,每个实例应包含相同的私钥。
答案 0 :(得分:1)
好主意,但是您遇到了一些问题
使用USB令牌私钥解密DEK's
当前,没有浏览器支持直接使用pkcs#11(智能卡或USB令牌密钥库协议)进行解密。
浏览器可以使用存储的密钥对进行身份验证,仅此而已。 (如果我错过了一些事情,请纠正我)。
尽管您可以使用一些本地实用程序(非Web)使用智能卡(gpg,openssl等)进行解密
此外,每个实例都应包含相同的私钥。
大多数严肃的智能卡都允许生成新的私钥,但是您不能导入自己的密钥材料(至少是我拥有的材料)。因此很难用相同的密钥对创建多个智能卡
您可以做的是为一组公共密钥加密DEK