PKCS#11标准解读第二篇
PKCS#11是使用非常普遍的密码设备接口,在实际应用中,国密的密码设备应用接口规范GMT0018与之作用相同,在技术体系架构中处于类似的位置。
在密码产品的开发中,按照PKCS#11或者GMT0018接口规范提供相应的接口封装,应用程序无需改动或者微小改动就可以更换底层密码设备。
PKCS#11的标准内容比较多,v2-20版本有400页,相应的,PKCS#11的标准解读,将按照概念及常用接口、角色、会话、对象、机制分别进行,最后介绍应用的调用流程,串起各个概念和接口。
此为第二篇,介绍两种令牌用户类型、应用程序的Cryptoki调用,以及会话。
一、用户
Cryptoki识别两种类型的用户,一种是安全官SO,一种是普通用户。
只有经过授权的普通用户可以访问令牌上的私有对象。有些令牌可能需要在用户执行任意密码运算之前经过授权,不管是否访问私有对象。
SO的作用是初始化令牌和设置普通用户的PIN。在SO设置普通用户的PIN之前,普通用户无法登录。
Cryptoki并不涉及SO和用户团体之间的关系。SO和普通用户可以是同一个人也可以是不同的人。
Cryptoki仅仅假设PIN是下表中字符的子集,不关心PIN如何填充和怎样产生。
二、应用程序调用Cryptoki
1、一个应用程序包含一个单个地址空间和在其中运行的控制线程。