应用安全支撑平台签名、验签函数接口及使用方法.docx
《应用安全支撑平台签名、验签函数接口及使用方法.docx》由会员分享,可在线阅读,更多相关《应用安全支撑平台签名、验签函数接口及使用方法.docx(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、SW/T XXXX2013ICS 35.240 L76 备案号:SW中华人民共和国税务行业标准税务系统数字证书应用接口规范TechnicalTechnical specificationspecification forfor digitaldigital certificatecertificate applicationapplication interfaceinterface toto taxtax systemsystem2013-11-XX 发布2013-11-XX 实施国国家家税税务务总总局局 发 布SW 72013SW 72013I目 次目 次 .I前 言 .III引 言 .I
2、V1范围 .12规范性引用文件 .13术语和定义 .13.1数字证书.13.2X.509.1 3.3用户密钥对.1 3.4容器.1 3.5签名及认证服务器.14符号和缩略语 .15接口概述 .25.1接口类型.2 5.2接口功能.2 5.3接口对应的密码设备.2 5.3.1 密码设备类型.2 5.3.2 密码设备标识.2 5.3.3 密钥容器名字.2 5.4接口采用的标准.2 5.5数据格式和接口标准.3 5.5.1 数据类型.3 5.5.2 身份认证.3 5.5.3 信息摘要.4 5.5.4 SHA-1 摘要算法 .4 5.5.5 SM3 摘要算法 .4 5.5.6 数字签名与验证.4 5.
3、5.7 数字信封.6 5.6算法名字说明.7附件 A (规范性附录) 服务器端接口 .9SW 72013IIA.1接口描述.9 A.2接口属性.9 A.3接口函数.9 A.3.1 打开密码设备.9 A.3.2 关闭密码设备.10 A.3.3 消息摘要.10 A.3.4 数字签名.10 A.3.5 验证签名.11 A.3.6 制作数字信封.12 A.3.7 解数字信封.13 A.3.8 生成服务器响应数据包.13 A.3.9 验证客户身份.13 A.3.10 读取证书.14 A.3.11 获取证书指定内容.14附件 B (规范性附录) 客户端接口 .15B.1接口描述.15 B.2接口属性.15
4、 B.3接口方法.15 B.3.1 打开密码设备.16 B.3.2 关闭密码设备.16 B.3.3 消息摘要函数.16 B.3.4 PKCS#1 格式数字签名 .17 B.3.5 验证 PKCS#1 格式数字签名.17 B.3.6 PKCS#7 格式数字签名 .18 B.3.7 验证 PKCS#7 格式数字签名.19 B.3.8 制作数字信封函数.19 B.3.9 解数字信封函数.20 B.3.10 生成客户认证请求 .20 B.3.11 生成客户认证凭据 .21 B.3.12 读取证书函数 .21 B.3.13 取证书序列号 .21 B.3.14 取证书信息 .21 B.3.15 检测设备
5、.22 B.3.16 验证口令 .22 B.3.17 验证并修改口令 .22附件 C (规范性附录) 返回错误代码说明 .23参考文献 .25SW 72013III前 言本规范规定了税务系统数字证书应用接口,包括客户端调用用户密码设备(如 USBKEY)接口和应 用服务器端调用签名及认证服务器接口,为完整实现税务系统数字证书身份认证、签名验签、数字信 封加解密等应用功能提供接口。 本规范是税务身份认证系统建设、运行管理、应用服务序列标准规范之一,定义了面向各级税务 部门、税务系统工作人员和纳税人服务的税务信息系统所需要的税务证书应用接口,作为税务系统推 广数字证书应用的技术开发规范。SW 72
6、013IV引 言目前,国内各类电子政务系统在应用数字证书服务中,各自采取不同的方法、函数等实现数字证 书应用功能,在调用方法、函数接口、服务功能等方面存在较大差异,使得同一数字证书在不同的应 用系统中无法兼容使用,增加了用户使用数字证书的复杂度和成本。对于税务系统身份认证系统证书 的推广应用,各省也存在不同的证书应用方式,所以迫切需要从税务行业角度,对税务身份认证系统 的证书应用接口进行规范和统一。因此,国家税务总局组织编写了税务系统数字证书应用接口规范 ,它是税务身份认证系统建设、运行管理和应用服务序列标准规范之一。 为了规范税务系统数字证书应用,提升数字证书的应用价值,本规范定义了证书应用
7、的环境函数、 证书解析函数、身份认证函数、签名验签函数、数字信封加解密函数等。通过以上函数的定义,可以 提供完善的证书应用服务功能,方便税务系统数字证书应用的推广,有利于提升税务信息业务系统的 安全等级,实现用户一证多用、一证通用。 税务系统数字证书应用接口的产品形态可包括:动态链接库(Windows 和 Linux)、ActiveX 控件、 Java 组件包等各种形态。本规范遵循国家密码管理局发布的密码技术标准和国家标准,本规范将随以上标准的变化进行修订。SW 720131税务系统数字证书应用接口规范税务系统数字证书应用接口规范1范围本规范规定了税务系统数字证书应用接口的类型、功能、数据格式
8、、接口协议标准、接口定义等 内容。 本规范适用于基于接口调用证书应用模式的税务应用系统开发与集成,包括通过签名及认证服务 器或安全应用支撑平台实现数字证书身份认证、签名验签、数字信封加解密等证书应用功能。2规范性引用文件下列标准所包含的条文,通过在本规范中引用而构成本规范的条文。 税务系统数字证书格式标准国家税务总局3术语和定义下列术语和定义适用于本规范。 3.1 数字证书 由认证机构签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及一些扩展信息 的数字文件,简称证书。本规范中是指由税务身份认证系统所签发的税务系统数字证书。3.2 X.509 被广泛使用的数字证书标准,由国际电联电
9、信委员会(ITU-T)制定的 PKI 标准。X.509 定义了 (但不仅限于)公钥证书、证书吊销列表、属性证书和证书路径验证算法等证书标准。 3.3 用户密钥对 存储在设备内部的应用于密码运算的非对称密钥对,包括签名密钥对和加密密钥对。 3.4 容器 密码设备中用于保存密钥所划分的存储空间的唯一性编号。 3.5 签名及认证服务器 签名及认证服务器作为密钥、证书存储和密码运算设备,进行证书、密钥和设备管理及高速密码 运算。签名及认证服务器采用安全中间件技术,为应用开发提供统一的、透明的证书应用开发接口, 把复杂的 PKI 技术转换为简单的调用接口或系统安全插件,为应用系统安全提供强有力的保证。签
10、名 及认证服务器的主要功能是提供数字证书身份认证、数字信封加解密和签名验签服务。4符号和缩略语下列符号和缩略语适用于本标准。API应用程序接口(Application Program Interface),简称应用接口CRL证书吊销列表(Certificate Revocation List)PEM私有加强邮件(Privacy Enhanced Mail)DER可区分编码规则(Distinguished Encoding Rules)LDAP轻量级目录访问协议(Lightweight Directory Access Protocol)OCSP在线证书状态协议(Online Certifica
11、te Status Protocol)OID对象标识符(Object Identifier)CSP加密服务提供者(Cryptographic Service Provider)SW 720132PKCS公钥密码标准(the Public-Key Cryptography Standards)ECC椭圆曲线算法(Elliptic Curve Cryptography)RSA一种公钥加密算法5接口概述5.1 接口类型 安全接口驻留在应用系统服务器端或客户端内部,由应用系统调用,实现读写加密设备信息、身 份认证、信息摘要、数字签名/验证、数字信封制作与解析等等。安全接口分为以下两个大类: 1)服务器
12、端接口 服务器端接口通过 TCP/IP 网络与签名及认证服务器进行联接,签名及认证服务器的功能通过安全 接口来实现,将复杂的密码运算转化为简单的接口调用来完成。 2)客户端接口 安全客户端接口,通过与系统客户端集成,分别为 B/S 结构和 C/S 结构系统的客户端提供身份认 证、数字签名/验证和安全通信的功能。 5.2 接口功能 安全接口实现的功能为: 1)身份认证,使用密码技术对通信双方实行基于证书的身份认证。 2)信息摘要和验证,对数据作摘要运算和对摘要结果进行验证。 3)数字签名和验签,实现数字签名和验证。 4)数字信封制作与解开,实现基于数字信封的数据加密和解密。 5)对证书的读取和解
13、析,对证书项信息进行解析。 5.3 接口对应的密码设备5.3.1密码设备类型安全接口支持的密码设备类型有: 1)USBKEY(电子钥匙,USB 接口) ; USBKEY 在客户端使用,具有通用的 PKCS#11 接口、微软 CSP 接口和符合国家标准的底层接口。 2)签名及认证服务器(网络接口) 。 签名及认证服务器在服务器端提供各种密码服务,在签名及认证服务器上实现各种密码运算。 为了内部处理的需要,每种密码设备有一个内部的设备类型编码: 1)具有 CSP 接口的 USBKEY、IC 卡等,按微软指定的类型进行编码,一般为 1; 2)签名及认证服务器的设备类型编码为 0x604。5.3.2密
14、码设备标识应用系统使用密码设备时,应指定密码设备的名字。按下述规则为每种密码设备指定一个名字: 具有 CSP 接口的 USBKEY,为注册的 CSP 名字。 对于签名及认证服务器,为接口模块的名字。一般在 Windows 下,为动态链接库的名字。在 Linux/Unix 下,为共享库的名字。5.3.3密钥容器名字在一个密码设备中,一般都可以容纳多对公私钥和多个证书,因此需要使用密钥容器的名字来标 识所使用的密钥和证书。 5.4 接口采用的标准 1)数字证书采用 X.509v3 标准; 2)数字签名、数字信封、数据摘要采用 PKCS#1 和 PKCS#7 标准; 3)服务器端接口符合 J2EE
15、规范;SW 7201334)密码设备接口采用国家标准、PKCS#11 或 CSP 标准; 5)数据编码格式采用 DER 和 PEM 标准。 5.5 数据格式和接口标准 下面描述接口采用的各种数据格式和接口标准。5.5.1数据类型使用以下几种类型数据格式(具体的类型定义与开发平台有关): 1)4 字节整数和无符号整数 2)8 位二进制字节数组 3)普通字符串 4)16 进制字符串 5)Base64 编码字符串 Base64 编码格式将二进制字节数组每 3 个字节一组转换为 4 个字符(俗称 3 变 4) ,较之 16 进制 字符串更节省存储空间,但转换要稍复杂一些。 首先将 3 个字节共 24
16、个 bit 分成 4 段,每个分段 6 个 bit,6 个 bit 组成 063 之间的一个数, 然后按下表映射为一个字符(0A ,1B ,63/):ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 如果原字节数组长度不是 3 的倍数,则先在原字节数组后补 1 到 2 个 0x0 字节,待转换完成后, 再将转换结果的最后 1 到 2 个字符替换为=号(替换的个数与补 0 的个数相同) 。例如,字节数组 b 转换为 Base64 格式时为:“EjShsg=“5.5.2身份认证每个用户都持有可唯一标识用户身份的私钥和由
17、 CA 签发的公钥证书,用户私有信息保存在电子钥 匙(USBKEY)或其它安全载体中。在访问应用系统时,用户出示自已的身份证明(签名和证书) ,实现基 于证书的身份认证过程。 身份认证分为单向或双向认证方式,在一般情况下采用服务器认证客户的单向认证方式,在必要 时可采用双向认证方式。 应用系统中,应用服务程序直接通过安全接口调用认证服务器对用户进行身份认证,用户身份信 息由应用系统自身进行维护和管理。 应用系统服务器端和客户端各需要执行两次调用,才能完成对一个用户的身份认证。下面对认证 流程进行较详细描述。 1)客户端请求(ClientHello) 客户插入 USBKEY,进行 USBKEY
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 利用 运用 安全 支撑 支持 平台 签名 函数 接口 使用方法
限制150内