终端用户在智能卡上选择密钥的技巧是什么?


0

当给定智能卡上的multiple keys exist时,用户如何在给定的标识符之间进行选择......理想情况下不会损失隐私?

例如,假设我有一个政府颁发的ID,其中存储了一组用于加密的密钥,另一组用于不可否认。然后我在其上存储一个额外的第三方密钥。

  • 当我认证(或加密)政府数据(与第三方数据)时,我如何“选择”正在使用的证书?

  • 证书选择是OS,智能卡驱动程序还是智能卡本身的功能?

在选择卡本身上的证书,我envision a button I can press like this one here:

enter image description here

我之所以问这个问题是这样我也能理解,不仅正常的智能卡的使用,同时也实例,其中几个UProve令牌被发给类似的卡(交互可能会相同)

1

理论上,在Windows系统上,Certificate Propagation Service自动额外cts 全部来自插入的任何智能卡的证书,并将它们复制到当前用户的“我的”存储中。每个这样的证书都通过链接注册到智能卡中相应的私钥。当使用智能卡时,应用程序实际上会查找匹配的证书,可能会提示用户选择证书;一旦选择了证书,应用程序就会尝试访问私钥,在此时(并且仅在此时)调用智能卡驱动程序(在内部,应用程序会与“Microsoft Base Smart Card CSP”进行通信到卡特定的“小型驱动程序”)。

主要思想是应用程序看不到“智能卡”;他们使用私钥,他们通过他们的证书定位。 OS内部是否保存给定的私钥是否在智能卡中,或者两个密钥是否来自同一个智能卡。应用程序可以直接使用智能卡(使用winscard.dll),但大多数不会(例如Internet Explorer,在处理请求客户端证书的SSL服务器时,仅查看证书并且不关心智能卡)。

事情在其他操作系统或某些应用程序中有所不同。例如,Firefox只使用“加密设备”的通用API PKCS#11,并且在Windows上运行时完全忽视操作系统支持。那么,完全取决于Firefox决定如何管理智能卡。但主要原则仍然活跃:用户选择以证书为中心。