ICS xx.xxx.xx Lxx
中华人民共和国国家标准 GB/T XXXXX—200×
智能IC卡及智能密码钥匙
密码应用接口规范
Smart Card and Smart Token
Cryptography Application Interface Specification
2009-××-××发布 2009-××-××实施 国家质量监督检验检疫总局 发布 GBXX/T ××××-2009
目 次
前 言 ............................................................................. 4 引 言 ............................................................................. 5
1 2 3 4 5
范围 ............................................................................ 6 规范性引用文件 .................................................................. 6 术语和定义 ...................................................................... 6 缩略语 .......................................................................... 7 结构模型 ........................................................................ 7 5.1 层次关系 ................................................................... 7 5.2 设备的应用结构 ............................................................. 8 数据类型定义 .................................................................... 9 6.1 算法标识 ................................................................... 9
6.1.1 分组密码算法标识 ....................................................... 9 6.1.2 非对称密码算法标识 .................................................... 10 6.1.3 密码杂凑算法标识 ...................................................... 10 6.2 基本数据类型 .............................................................. 10 6.3 常量定义 .................................................................. 11 6.4 复合数据类型 .............................................................. 11
6.4.1 版本 .................................................................. 11 6.4.2 设备信息 .............................................................. 12 6.4.3 RSA公钥交换数据块 ................................................... 13 6.4.4 RSA私钥交换数据块 ................................................... 13 6.4.5 ECC公钥交换数据块 ................................................... 14 6.4.6 ECC私钥交换数据块 ................................................... 14 6.4.7 分组密码参数 .......................................................... 15 6.4.8 文件属性 .............................................................. 15 6.4.9 权限类型 .............................................................. 15 6.4.10 设备状态 .............................................................. 16 接口函数 ....................................................................... 16 7.1 设备管理 .................................................................. 16
7.1.1 等待设备插拔事件 ...................................................... 16 7.1.2 枚举设备 .............................................................. 16 7.1.3 连接设备 .............................................................. 17 7.1.4 断开连接 .............................................................. 17 7.1.5 获取设备状态 .......................................................... 17 7.1.6 设置设备标签 .......................................................... 17 7.1.7 获取设备信息 .......................................................... 18 7.1.8 锁定设备 .............................................................. 18 7.1.9 解锁设备 .............................................................. 18 7.2 访问控制 .................................................................. 18
7.2.1 修改设备认证密钥 ...................................................... 19 7.2.2 设备认证 .............................................................. 19 7.2.3 修改PIN .............................................................. 19 7.2.4 获取PIN信息.......................................................... 20 7.2.5 校验PIN .............................................................. 20
1
6
7
GBXX/T ××××-2009
7.2.6 解锁PIN .............................................................. 20 7.2.7 清除应用安全状态 ...................................................... 21 7.3 应用管理 .................................................................. 21
7.3.1 创建应用 .............................................................. 21 7.3.2 枚举应用 .............................................................. 22 7.3.3 删除应用 .............................................................. 22 7.3.4 打开应用 .............................................................. 22 7.3.5 关闭应用 .............................................................. 22 7.4 文件管理 .................................................................. 23
7.4.1 创建文件 .............................................................. 23 7.4.2 删除文件 .............................................................. 23 7.4.3 枚举文件 .............................................................. 24 7.4.4 获取文件属性 .......................................................... 24 7.4.5 读文件 ................................................................ 24 7.4.6 写文件 ................................................................ 25 7.5 容器管理 .................................................................. 25
7.5.1 创建容器 .............................................................. 25 7.5.2 删除容器 .............................................................. 26 7.5.3 打开容器 .............................................................. 26 7.5.4 关闭容器 .............................................................. 26 7.5.5 枚举容器 .............................................................. 26 7.6 密码服务 .................................................................. 27
7.6.1 生成随机数 ............................................................ 28 7.6.2 生成外部RSA密钥对 ................................................... 28 7.6.3 生成RSA签名密钥对 ................................................... 28 7.6.4 导入RSA加密密钥对 ................................................... 28 7.6.5 RSA签名 ............................................................. 29 7.6.6 RSA验签 ............................................................. 29 7.6.7 RSA生成并导出会话密钥 ............................................... 30 7.6.8 RSA外来公钥运算 ..................................................... 30 7.6.9 RSA外来私钥运算 ..................................................... 30 7.6.10 生成ECC签名密钥对 ................................................... 31 7.6.11 导入ECC加密密钥对 ................................................... 31 7.6.12 ECC签名 ............................................................. 32 7.6.13 ECC验签 ............................................................. 32 7.6.14 ECC生成并导出会话密钥 ............................................... 32 7.6.15 ECC外来公钥加密 ..................................................... 33 7.6.16 ECC外来私钥解密 ..................................................... 33 7.6.17 ECC外来私钥签名 ..................................................... 33 7.6.18 ECC外来公钥验签 ..................................................... 34 7.6.19 ECC生成密钥协商参数并输出 ........................................... 34 7.6.20 ECC计算会话密钥 ...................................... 错误!未定义书签。 7.6.21 ECC产生协商数据并计算会话密钥 ....................................... 34 7.6.22 导出公钥 .............................................................. 35 7.6.23 导入会话密钥 .......................................................... 36 7.6.24 明文导入会话密钥 ...................................................... 36 2
7.6.25 7.6.26 7.6.27 7.6.28 7.6.29 7.6.30 7.6.31 7.6.32 7.6.33 7.6.34 7.6.35 7.6.36 7.6.37 7.6.38 7.6.39 7.6.40 7.6.41 7.6.42
GBXX/T ××××-2009
加密初始化 ............................................................ 36 单组数据加密 .......................................................... 36 多组数据加密 .......................................................... 37 结束加密 .............................................................. 37 解密初始化 ............................................................ 38 单组数据解密 .......................................................... 38 多组数据解密 .......................................................... 38 结束解密 .............................................................. 39 杂凑初始化 ............................................................ 39 单组数据杂凑 .......................................................... 39 多组数据杂凑 .......................................................... 39 结束杂凑 .............................................................. 40 初始化消息鉴别码 ...................................................... 40 单组数据消息鉴别码 .................................................... 40 多组数据消息鉴别码 .................................................... 41 结束消息鉴别码 ........................................................ 41 关闭密码对象句柄 ...................................................... 41 设备命令传输 .......................................................... 41
8
设备的安全要求 ................................................................. 41
8.1 设备使用阶段 .............................................................. 41 8.2 权限管理 .................................................................. 42
8.2.1 权限分类 .............................................................. 42 8.2.2 权限使用 .............................................................. 42 8.2.3 设备认证 .............................................................. 42 8.2.4 PIN码安全要求 ........................................................ 42 8.3 密钥安全要求 .............................................................. 42 8.4 设备抗攻击要求 ............................................................ 42
附录A (规范性附录) 密码服务接口错误代码定义和说明 .................................. 43
3
GBXX/T ××××-2009
前 言
本规范涉及的密码算法按照国家密码管理部门的要求使用。 本规范的附录A为规范性附录。
本规范由国家密码管理局提出并归口。
本规范起草单位:北京海泰方圆科技有限公司、北京握奇智能科技有限公司、北京大明五洲科技有限公司、恒宝股份有限公司、深圳市明华澳汉科技股份有限公司、武汉天喻信息产业股份有限公司、北京飞天诚信科技有限公司、华翔腾数码科技有限公司。
本规范主要起草人:管延军、石玉平、柳增寿、胡俊义、项莉、雷继业、胡鹏、赵再兴、段晓毅、刘玉峰、刘伟丰、陈吉、何永福、李高锋、黄东杰。
本规范责任专家:刘平、郭宝安。 4