首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PKCS#11 -如何在已经提供的智能卡上写入新证书时保护智能卡所有者不受恶意智能卡提供者的影响

PKCS#11 -如何在已经提供的智能卡上写入新证书时保护智能卡所有者不受恶意智能卡提供者的影响
EN

Stack Overflow用户
提问于 2019-02-28 10:44:53
回答 1查看 82关注 0票数 2

我目前正在学习PKCS#11,有一种我不知道该如何处理的场景。

这是一种情况:

  • 希望从提供者获得证书的客户输入他的数据,
  • 一个客户来到供应商设施,在那里他可以获得订购的智能卡,上面写着证书(例如,合格证书和商业证书),
  • 智能卡必须发生两件事:提供者必须为两个证书生成密钥对,然后在卡片上写入证书(这需要用户PIN)。

据我所知,智能卡有两种类型的用户:普通用户(用户PIN)和因此(所以PIN)。

那么问题是什么呢?当提供程序使用用户PIN生成密钥和编写证书时,我们可以通过SetPin互操作编程更改它,或者让客户稍后在家里用适当的软件对其进行更改。当客户端希望为他的智能卡获取新的证书时,就会发生问题,而在此阶段,提供者不知道智能卡的用户PIN (也就是说,他无法在智能卡上使用任何加密机制)。如果客户端为提供人提供密码,他就可以让客户用他的证书签署一些随机文档,而不是为了正确的原因使用PIN (利用PKCS#11机制编写新证书)。

所以我的问题是:

我们是否可以为某些令牌在卡上有第二个用户PIN (对于提供者和客户是分开的)?我们是否可以使某些PKCS#11机制只对特定用户可用(例如,只为提供者生成密钥对,以及仅为客户端使用证书签名文档)?

处理这类问题的标准方案是什么?我很高兴听到你的意见。

EN

回答 1

Stack Overflow用户

发布于 2019-02-28 16:31:14

虽然您正确地描述了用户和SO,但真正的卡片可能有更多的PIN和其他身份验证方法,例如生物鉴别和挑战响应测试(证明秘密对称密钥的知识)。

对于针对系统的身份验证,PIN机制是不合适的(可以通过重放攻击),而挑战响应是典型的解决方案。这也有一个优点,即它不允许执行签名。

另一个选项(如果密钥只能生成一次)将是通过证书文件的生命周期。未初始化的文件可能根本不需要身份验证,并且只有在写入证书之后,文件的生命周期才会发生更改。

您还可以重新排序整个过程,因此用户PIN还没有有效,因此在撰写证书时无法创建签名。只有在此之后,用户才选择一个PIN值并建立该值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54923803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档