logo资料库

智能 IC 卡及智能密码钥匙密码应用接口规范.pdf

第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
资料共42页,剩余部分请下载后查看
前 言
范围
规范性引用文件
术语和定义
缩略语
结构模型
层次关系
设备的应用结构
数据类型定义
算法标识
分组密码算法标识
非对称密码算法标识
密码杂凑算法标识
基本数据类型
常量定义
复合数据类型
版本
设备信息
RSA公钥数据结构
RSA私钥数据结构
ECC公钥数据结构
ECC私钥数据结构
ECC密文数据结构
ECC签名数据结构
分组密码参数
ECC加密密钥对保护结构
文件属性
权限类型
设备状态
接口函数
设备管理
概述
等待设备插拔事件
取消等待设备插拔事件
枚举设备
连接设备
断开连接
获取设备状态
设置设备标签
获取设备信息
锁定设备
解锁设备
设备命令传输
访问控制
概述
修改设备认证密钥
设备认证
修改PIN
获取PIN信息
校验PIN
解锁PIN
清除应用安全状态
应用管理
概述
创建应用
枚举应用
删除应用
打开应用
关闭应用
文件管理
概述
创建文件
删除文件
枚举文件
获取文件属性
读文件
写文件
容器管理
概述
创建容器
删除容器
打开容器
关闭容器
枚举容器
获得容器类型
导入数字证书
导出数字证书
密码服务
概述
生成随机数
生成外部RSA密钥对
生成RSA签名密钥对
导入RSA加密密钥对
RSA签名
RSA验签
RSA生成并导出会话密钥
RSA外来公钥运算
RSA外来私钥运算
生成ECC签名密钥对
导入ECC加密密钥对
ECC签名
ECC验签
ECC生成并导出会话密钥
ECC外来公钥加密
ECC外来私钥解密
ECC外来私钥签名
ECC外来公钥验签
ECC生成密钥协商参数并输出
ECC产生协商数据并计算会话密钥
ECC计算会话密钥
导出公钥
导入会话密钥
明文导入会话密钥
加密初始化
单组数据加密
多组数据加密
结束加密
解密初始化
单组数据解密
多组数据解密
结束解密
密码杂凑初始化
单组数据密码杂凑
多组数据密码杂凑
结束密码杂凑
消息鉴别码运算初始化
单组数据消息鉴别码运算
多组数据消息鉴别码运算
结束消息鉴别码运算
关闭密码对象句柄
设备的安全要求
设备使用阶段
权限管理
权限分类
权限使用
设备认证
PIN码安全要求
密钥安全要求
设备抗攻击要求
附录A (规范性附录) 错误代码定义和说明
智能 IC 卡及智能密码钥匙 密码应用接口规范 Smart Card and Smart Token Cryptography Application Interface Specification 国 家 密 码 管 理 局 2 0 1 0 年 4 月 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
目 次 前 言 ............................................................................. IV 1 范围............................................................................. 1 2 规范性引用文件 ................................................................... 1 3 术语和定义 ....................................................................... 1 4 缩略语........................................................................... 2 5 结构模型 ......................................................................... 2 5.1 层次关系 ....................................................................... 2 5.2 设备的应用结构 ................................................................. 3 6 数据类型定义 ..................................................................... 4 6.1 算法标识 ....................................................................... 4 6.1.1 分组密码算法标识 ............................................................. 4 6.1.2 非对称密码算法标识 ........................................................... 5 6.1.3 密码杂凑算法标识 ............................................................. 5 6.2 基本数据类型 ................................................................... 5 6.3 常量定义 ....................................................................... 6 6.4 复合数据类型 ................................................................... 6 6.4.1 版本 ......................................................................... 6 6.4.2 设备信息 ..................................................................... 6 6.4.3 RSA 公钥数据结构 .............................................................. 7 6.4.4 RSA 私钥数据结构 .............................................................. 8 6.4.5 ECC 公钥数据结构 .............................................................. 8 6.4.6 ECC 私钥数据结构 .............................................................. 9 6.4.7 ECC 密文数据结构 .............................................................. 9 6.4.8 ECC 签名数据结构 .............................................................. 9 6.4.9 分组密码参数 ................................................................ 10 6.4.10 文件属性 ................................................................... 10 6.4.11 权限类型 ................................................................... 11 6.4.12 设备状态 ................................................................... 11 7 接口函数 ........................................................................ 11 7.1 设备管理 ...................................................................... 11 7.1.1 概述 ........................................................................ 11 7.1.2 等待设备插拔事件 ............................................................ 12 7.1.3 取消等待设备插拔事件 ........................................................ 12 7.1.4 枚举设备 .................................................................... 12 7.1.5 连接设备 .................................................................... 13 7.1.6 断开连接 .................................................................... 13 7.1.7 获取设备状态 ................................................................ 13 7.1.8 设置设备标签 ................................................................ 13 7.1.9 获取设备信息 ................................................................ 13 7.1.10 锁定设备 ................................................................... 13 7.1.11 解锁设备 ................................................................... 13 7.1.12 设备命令传输 ............................................................... 14 7.2 访问控制 ...................................................................... 14 7.2.1 概述 ........................................................................ 14 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
7.2.2 修改设备认证密钥 ............................................................ 14 7.2.3 设备认证 .................................................................... 14 7.2.4 修改 PIN .................................................................... 15 7.2.5 获取 PIN 信息 ................................................................ 15 7.2.6 校验 PIN .................................................................... 15 7.2.7 解锁 PIN .................................................................... 15 7.2.8 清除应用安全状态 ............................................................ 16 7.3 应用管理 ...................................................................... 16 7.3.1 概述 ........................................................................ 16 7.3.2 创建应用 .................................................................... 16 7.3.3 枚举应用 .................................................................... 16 7.3.4 删除应用 .................................................................... 17 7.3.5 打开应用 .................................................................... 17 7.3.6 关闭应用 .................................................................... 17 7.4 文件管理 ...................................................................... 17 7.4.1 概述 ........................................................................ 17 7.4.2 创建文件 .................................................................... 17 7.4.3 删除文件 .................................................................... 18 7.4.4 枚举文件 .................................................................... 18 7.4.5 获取文件属性 ................................................................ 18 7.4.6 读文件 ...................................................................... 18 7.4.7 写文件 ...................................................................... 19 7.5 容器管理 ...................................................................... 19 7.5.1 概述 ........................................................................ 19 7.5.2 创建容器 .................................................................... 19 7.5.3 删除容器 .................................................................... 20 7.5.4 打开容器 .................................................................... 20 7.5.5 关闭容器 .................................................................... 20 7.5.6 枚举容器 .................................................................... 20 7.6 密码服务 ...................................................................... 20 7.6.1 概述 ........................................................................ 21 7.6.2 生成随机数 .................................................................. 22 7.6.3 生成外部 RSA 密钥对 .......................................................... 22 7.6.4 生成 RSA 签名密钥对 .......................................................... 23 7.6.5 导入 RSA 加密密钥对 .......................................................... 23 7.6.6 RSA 签名 ..................................................................... 23 7.6.7 RSA 验签 ..................................................................... 23 7.6.8 RSA 生成并导出会话密钥 ....................................................... 24 7.6.9 RSA 外来公钥运算 ............................................................. 24 7.6.10 RSA 外来私钥运算 ............................................................ 24 7.6.11 生成 ECC 签名密钥对 ......................................................... 25 7.6.12 导入 ECC 加密密钥对 ......................................................... 25 7.6.13 ECC 签名 .................................................................... 25 7.6.14 ECC 验签 .................................................................... 25 7.6.15 ECC 生成并导出会话密钥 ...................................................... 26 7.6.16 ECC 外来公钥加密 ............................................................ 26 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
7.6.17 ECC 外来私钥解密 ............................................................ 26 7.6.18 ECC 外来私钥签名 ............................................................ 27 7.6.19 ECC 外来公钥验签 ............................................................ 27 7.6.20 ECC 生成密钥协商参数并输出 .................................................. 27 7.6.21 ECC 产生协商数据并计算会话密钥 .............................................. 27 7.6.22 ECC 计算会话密钥 ............................................................ 28 7.6.23 导出公钥 ................................................................... 28 7.6.24 导入会话密钥 ............................................................... 29 7.6.25 明文导入会话密钥 ........................................................... 29 7.6.26 加密初始化 ................................................................. 29 7.6.27 单组数据加密 ............................................................... 29 7.6.28 多组数据加密 ............................................................... 30 7.6.29 结束加密 ................................................................... 30 7.6.30 解密初始化 ................................................................. 30 7.6.31 单组数据解密 ............................................................... 30 7.6.32 多组数据解密 ............................................................... 31 7.6.33 结束解密 ................................................................... 31 7.6.34 密码杂凑初始化 ............................................................. 31 7.6.35 单组数据密码杂凑 ........................................................... 32 7.6.36 多组数据密码杂凑 ........................................................... 32 7.6.37 结束密码杂凑 ............................................................... 32 7.6.38 消息鉴别码运算初始化 ....................................................... 33 7.6.39 单组数据消息鉴别码运算 ..................................................... 33 7.6.40 多组数据消息鉴别码运算 ..................................................... 33 7.6.41 结束消息鉴别码运算 ......................................................... 33 7.6.42 关闭密码对象句柄 ........................................................... 34 8 设备的安全要求 .................................................................. 34 8.1 设备使用阶段 .................................................................. 34 8.2 权限管理 ...................................................................... 34 8.2.1 权限分类 .................................................................... 34 8.2.2 权限使用 .................................................................... 34 8.2.3 设备认证 .................................................................... 34 8.2.4 PIN 码安全要求 ............................................................... 34 8.3 密钥安全要求 .................................................................. 35 8.4 设备抗攻击要求 ................................................................ 35 附录 A (规范性附录) 错误代码定义和说明 ............................................ 36 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
前 言 本规范涉及的密码算法按照国家密码管理部门的要求使用。 本规范的附录 A 为规范性附录。 本规范由国家密码管理局提出并归口。 本规范起草单位:北京海泰方圆科技有限公司、北京握奇智能科技有限公司、北京大明五洲科 技有限公司、恒宝股份有限公司、深圳市明华澳汉科技股份有限公司、武汉天喻信息产业股份有限 公司、北京飞天诚信科技有限公司、华翔腾数码科技有限公司。 本规范主要起草人:石玉平、柳增寿、胡俊义、管延军、项莉、雷继业、胡鹏、赵再兴、段晓 毅、刘玉峰、刘伟丰、陈吉、何永福、李高锋、黄东杰、王建承、汪雪林、赵李明。 本规范责任专家:刘平、郭宝安。 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
智能 IC 卡及智能密码钥匙密码应用接口规范 1 范围 本规范规定了基于 PKI 密码体制的智能 IC 卡及智能密码钥匙密码应用接口,描述了密码应用接 口的函数、数据类型、参数的定义和设备的安全要求。 本规范适用于智能 IC 卡及智能密码钥匙产品的研制、使用和检测。 2 规范性引用文件 下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所 有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的 各方研究是否可使用这些的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。 GB/T AAAAA 公钥密码基础设施应用技术体系 SM2 算法使用规范 3 术语和定义 以下术语和定义适用于本规范。 3.1 应用 application 包括容器、设备认证密钥和文件的一种结构,具备独立的权限管理。 3.2 容器 container 特指密钥容器,是一个用于存放非对称密钥对和会话密钥的逻辑对象。 3.3 设备 device 智能 IC 卡及智能密码钥匙的统称。 3.4 设备认证 device authentication 智能 IC 卡或智能密码钥匙对应用程序的认证。 3.5 设备认证密钥 device authentication key 用于设备认证的密钥。 3.6 设备标签 label 设备的别名,可以由用户进行设定并存储于设备内部。 3.7 消息鉴别码 message authentication code (MAC) 消息鉴别算法的输出。 3.8 管理员 PIN Administrator PIN 管理员的密码,为ASCII字符串。 3.9 用户 PIN User PIN 用户的个人密码,为 ASCII 字符串。 3.10 智能 IC 卡 smart card 含 CPU 的 IC 卡,这里指能完成密码功能的 IC 卡。 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
3.11 智能密码钥匙 smart token 能完成密码功能和安全存储的终端密码产品,一般采用 USB 接口。 3.12 SM1 算法 SM1 algorithm 一种国家商用密码分组加密算法,分组长度为128比特,密钥长度为128比特。 3.13 SM2 算法 SM2 algorithm 一种国家商用密码非对称密码算法,密钥长度为256比特。 3.14 SM3 算法 SM3 algorithm 一种国家商用密码密码杂凑算法,输出长度为256比特。 3.15 SMS4 算法 SMS4 algorithm 一种国家商用密码分组加密算法,分组长度为128比特,密钥长度为128比特。 3.16 SSF33 算法 SSF33 algorithm 一种国家商用密码分组加密算法,分组长度为128比特,密钥长度为128比特。 4 缩略语 下列缩略语适用于本规范: API PKI PKCS#1 应用编程接口(Application Programming Interface) 公钥基础设施(Public Key Infrastructure) PKCS#5 公钥密码使用标准系列规范中的第1部分,定义RSA公开密钥算法加密和签名机制 (the Public-Key Cryptography Standard Part 1) 公钥密码使用标准系列规范中的第5部分,描述一种利用从口令派生出来的安全密 钥加密字符串的方法(the Public-Key Cryptography Standard Part 5) 个人身份识别码(Personal Identification Number) PIN MAC 消息鉴别码(Message Authentication Code) ECC 椭圆曲线密码算法(Elliptic Curve Cryptography) 5 结构模型 5.1 层次关系 智能 IC 卡及智能密码钥匙密码应用接口位于智能 IC 卡及智能密码钥匙应用程序与设备之间, 如图 1 所示。 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
智能IC卡及智能密码钥匙应用程序 智能IC卡及智能密码钥匙密码应用接口 智能IC卡及智能密码钥匙设备驱动 设备1 设备2 …… 设备n 图 1 接口在应用层次关系中的位置 5.2 设备的应用结构 一个设备中存在设备认证密钥和多个应用,应用之间相互独立。设备的逻辑结构如图 2 所示。 设备认证密钥 应用1 应用n 图 2 设备逻辑结构 应用由管理员 PIN、用户 PIN、文件和容器组成,可以存在多个文件和多个容器。 每个应用维护各自的与管理员 PIN 和用户 PIN 相关的权限状态。 应用的逻辑结构如图 3 所示。 资料来源网络,版权归原作者所有。 更多业内资料,请登录一卡通世界网免费下载:www.yktworld.com
分享到:
收藏