smartcard - PKCS#11 智能卡令牌的最大尝试次数
问题描述
我的任务是查找输入 PKCS#11 智能卡令牌 PIN 码的最大尝试次数。我已经知道这里提到的 CK_TOKEN_INFO/TokenInfo 中的标志,即 CKF_USER_PIN_COUNT_LOW、CKF_USER_PIN_FINAL_TRY、CKF_USER_PIN_LOCKED。但不知何故,我的主管坚持认为智能卡内部的某个地方包含有关输入 PIN 的最大尝试次数的信息。
真的是里面的某个地方吗?
解决方案
当然:卡中的每个 PIN 对象都有各自的错误计数器。否则,一旦涉及多个客户端,就无法确保在给定次数的错误尝试后 PIN 确实会阻塞。
(PKCS 只是将通用命令转换为相应卡类型的特殊命令的附加层。)
问题是,以标准化方式提取错误计数器的方法几乎没有。这取决于卡类型及其配置之一。最好的机会是发送VERIFY
带有错误 PIN 数据的命令并查找“63 Cn”状态代码,其中 n 表示剩余的尝试次数。然而,在最坏的情况下,如果还有一次或多次尝试,则卡会响应“63 00”,如果 PIN 被阻止,则卡会响应“69 83”。有关详细信息,您必须参阅智能卡操作系统手册。
推荐阅读
- swift - 在覆盖视图上启用用户交互
- apache-kafka - Kafka Streams:跨拓扑共享 globalStateStore
- django - Django:在没有 django DB 的情况下使用 LDAP 组使用装饰器'user_passes_test'
- c# - 在 Unity 中,LoadRawTextureData() 提供的数据不足错误
- angular - 离子3中意外的结束标签离子列表
- visual-studio - 除非暂停并继续,否则 Visual Studio 中的调试会挂起
- java - Apache spark 的 generated.java 文件位置
- python - 大熊猫堆叠数据框
- c# - SSRS IAuthorizationExtension 从外部源获取用户角色
- matlab - Matlab - 交互式曲面图