1、LD2022-06-22 发布2022-07-01 实施LD/T 02.52022代替 LD/T 30.52009中华人民共和国劳动和劳动安全行业标准人力资源社会保障电子认证体系规范第 5 部分:数字证书载体规范Specifications for human resources and social security electronicauthentication systemPart 5: Specification for digital certificate storage carriers中华人民共和国人力资源和社会保障部发布ICS 35.040CCS L 80学兔兔 标准下载L
2、D/T 02.5-2022I目次前言.III引言.IV1 范围.12 规范性引用文件.13 术语和定义.14 缩略语.25 数字证书载体分类.26 数字证书载体硬件要求.26.1 基本技术要求.26.2 管理要求. 46.3 安全要求. 47 数字证书载体软件要求.47.1 应用接口. 47.2 安装与卸载. 7附录 A (资料性) 数字证书载体外观.10附录 B (资料性) 数字证书载体接口函数描述.10学兔兔 标准下载LD/T 02.5-2022III前言本文件按照 GB/T 1.1-2020标准化工作导则 第 1 部分:标准化文件的结构和起草规则的规定起草。LD/T 02人力资源社会保障
3、电子认证体系系列规范,已经发布了以下五个部分:第1部分:框架规范第2部分:电子认证系统技术规范第3部分:数字证书格式规范第4部分:数字证书应用接口规范第5部分:数字证书载体规范本文件为LD/T 02的第5部分。本文件代替LD/T 30.52009 人力资源社会保障电子认证体系 第5部分: 证书载体规范 ,与LD/T30.52009相比,除结构调整和编辑性改动外,主要技术变化如下:a)更改了本部分规范的名称为 人力资源社会保障电子认证体系 第5部分: 数字证书载体规范 ;b)增加了部分规范性引用文件(见第2章,2009版第2章);c)删除了“证书载体”“证书撤销列表(CRL)”“数字证书”等术语
4、和定义(见第3章,2009版第3章);d)更改了部分缩略语,并删除了“CSP”缩略语(见第4章,2009版第4章);e)增加了数字证书载体分类的描述(见第5章);f)更改了证书载体硬件规范,增加了支持国产算法、支持国产操作系统相关内容描述(见第6章,2009版第5章);g)更改了证书载体软件规范,删除了关于“CSP”的相关描述,并增加了接口规范描述,以及支持国产算法、支持国产操作系统相关内容描述(见第7章,2009版第6章);h)更改了数字证书载体接口函数规范要求, 并根据在正文中被提及的先后顺序调整附录编号 (见附录B,2009版附录A);i)更改了数字证书载体外观要求,根据证书类型,结合业
5、务需求,对“智能密码钥匙”形式的数字证书载体类型、 载体序列号及外观颜色做出新的要求, 并根据在正文中被提及的先后顺序调整附录编号(见附录A,2009版附录B)。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本文件由中华人民共和国人力资源社会保障部信息中心提出并归口。本文件起草单位:中华人民共和国人力资源社会保障部信息中心、普华诚信信息技术有限公司、北京数字认证股份有限公司。本文件主要起草人马丹蕾、张嵩、王岩、耿建军、唐淑静、韩晓颖、成勇、王祥宇、李娜、王智飞、郭丽芳、高五星、李述胜。本文件所代替的历次版本发布情况为:-LD/T 30.52009人力资源社会保障
6、电子认证体系 第 5 部分:证书载体规范;-本次为第一次修订。学兔兔 标准下载LD/T 02.5-2022IV引言为适应人力资源社会保障信息化发展要求,满足人力资源社会保障网络信任体系建设和管理的需要, 人力资源社会保障部组织并制定了人力资源社会保障电子认证体系系列规范。 随着我国商用密码技术的发展、 国产密码算法的标准发布, 以及人力资源社会保障行业的业务发展, 需要对行业标准 LD/T 302009人力资源社会保障电子认证体系规范进行修改和完善。本次修订, 是在充分借鉴原标准的框架和结构的基础上, 根据人力资源社会保障行业特点和电子认证业务发展需求, 对电子认证体系总体结构和电子认证系统整
7、体建设规划进行扩充完善, 以符合国家及国家密码主管部门相关标准规范要求,满足人力资源社会保障业务和管理需求,推进 SM2 算法在人社信息系统中的应用, 另一方面, 也可有效配合 中华人民共和国密码法 、中华人民共和国网络安全法 、密码管理及密码应用安全测评工作、等级保护工作的落实与实施。LD/T 02描述了人力资源社会保障电子认证体系总体结构和电子认证系统整体建设规划,规定了各级人力资源社会保障部门电子认证系统建设和应用要求,由以下五个部分构成。-第1部分:框架规范-第2部分:电子认证系统技术规范-第3部分:数字证书格式规范-第4部分:数字证书应用接口规范-第5部分:数字证书载体规范LD/T
8、02的第1部分,是人力资源社会保障电子认证体系系列规范的总纲,规定了电子认证体系规范的总体框架。LD/T 02的第2部分第5部分分别从电子认证系统技术、数字证书格式、数字证书应用接口、数字证书载体四个方面提出具体规范要求。本部分重点引用了GB/T 35291-2017,并在此基础上,扩展了数字证书载体基本技术要求、数字证书载体管理要求、 软件的安装卸载以及数字证书载体外观设计要求等相关内容, 从满足人力资源社会保障业务需求的角度,对本行业发放的数字证书载体的软硬件和外观提出规范和要求。学兔兔 标准下载LD/T 02.5-20221人力资源社会保障电子认证体系规范第 5 部分:数字证书载体规范1
9、范围本文件给出了数字证书载体分类,规定了数字证书载体硬件和软件要求。注:本标准主要规范智能密码钥匙的技术指标,第三代社会保障卡应符合 LD/T 32。本文件适用于人力资源社会保障数字证书载体(智能密码钥匙)的设计、应用开发、使用和检测。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。 其中, 注日期的引用文件仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 25056-2018信息安全技术 证书认证系统密码及其相关安全技术规范GB/T 32905信息安全技术 SM3 密码杂凑算法GB/T 32907信息安全
10、技术 SM4分组密码算法GB/T 35276-2017信息安全技术 SM2密码算法使用规范GB/T 35291-2017信息安全技术 智能密码钥匙应用接口规范GB/T 36322-2018信息安全技术 密码设备应用接口规范GB/T 37092-2018信息安全技术 密码模块安全要求LD/T 32社会保障卡规范ISO7816-4接触式卡智能卡与外界交互的介面3术语和定义GB/T 35291、GB/T 36322 界定的和下列术语和定义适用于本文件。3.1加密encrypt对数据进行密码变换以产生密文的过程。来源:GB/T 36322-2018,3.53.2解密decrypt加密过程对应的逆过程。
11、来源:GB/T 36322-2018,3.3学兔兔 标准下载LD/T 02.5-202223.3设备认证device authentication智能密码钥匙对应用程序的认证。来源:GB/T 35291-2017,3.23.4设备认证密钥device authentication key用于设备认证的密钥。来源:GB/T 35291-2017,3.33.5会话密钥session key处于层次化密钥结构中的最底层,尽在一次会话中使用的密钥。来源:GB/T 36322-2018,3.103.6用户密钥 user key存储在设备内部的用于应用密码运算的非对称密钥,包含签名密钥对和加密密钥对。来源
12、:GB/T 36322-2018,3.114缩略语下列缩略语适用于本文件:API:应用程序接口,简称应用接口(Application Program Interface)CA:证书认证机构(Certification Authority)CRL:证书撤销列表(Certificate Revocation List)PKCS:公钥密码标准(the Public-Key Cryptography Standard)PIN:个人身份识别码(Personal Identification Number)Admin PIN:管理员PINUser PIN:用户PIN5数字证书载体分类数字证书载体的安全性须
13、符合 GB/T 37092-2018 中安全等级第二级及以上相关要求。目前,人力资源社会保障电子认证系统所采用的数字证书载体分为智能密码钥匙和第三代社会保障卡两类。6数字证书载体硬件要求6.1基本技术要求数字证书载体的基本技术要求见表 1。表 1数字证书载体基本技术要求名称名称要求要求备注备注外形及尺寸符合人力资源社会保障部规定的数字证学兔兔 标准下载LD/T 02.5-20223书载体外观要求,见附录 A存储容量=128K Bytes (32K 型)CPU 芯片位数=32 位功耗=10 万存储有效期(年)=10存放温度-4070工作温度060湿度要求10%90%工作电压4.5V5.5V适用浏
14、览器国产浏览器以及 IE、火狐、Chrome 等主流浏览器及相应版本适用操作系统国产 Linux 桌面操作系统、WindowsXP、Windows7、Windows8、Windows10 等主流操作系统支持简体中文、繁体中文、英文非对称算法符合 GB/T 35276-2017,密钥对应在芯片中生成,且私钥不能导出。如 SM2 算法对称算法符合 GB/T 32907如 SM4 算法杂凑算法符合 GB/T 32905如 SM3 算法公钥私钥对生成时间=30 秒数字签名和验证时间1 秒/次密钥的签名验证速度SM2 公私钥对生成速度50 ms/次SM2 签名速度10 ms/次SM2 验签速度1.5Mb
15、psSM4 加解密速度1Mbps存储要求a)公私钥对:=2 个,b)数字证书:=2 张。证书载体容器至少可同时存储2张数字证书和2个密钥对,以支持双证书。安全性要求a)管理员登录认证后,方可解锁用户PIN;b)用户登录认证后,方可产生密钥对、导入密钥和证书,使用密钥和证书;c)用户口令连续 10 次输错后应自动锁死。硬件真随机数发生器支持学兔兔 标准下载LD/T 02.5-202246.2管理要求6.2.1数字证书载体初始化数字证书载体的初始化就是对数字证书载体进行区间划分,使其按照相关规范进行初始化。初始化工具由各数字证书载体供应商提供。初始化工具应有两种形式,一类是可执行的初始化工具,另一
16、类是动态库dll接口文件,并可根据动态库文件开发通用的初始化工具。6.2.2口令管理数字证书载体的客户端管理工具应具备校验口令和修改口令的功能。口令长度应为6-16位,应是字母、数字和特殊字符组成的混合体,口令不得采用有特殊意义的(如姓名、生日、电话号码等)数字和词组。6.2.3锁死与解锁数字证书载体连续 10 次输错口令应自动锁死。 密码锁死后, 即使输入正确的口令也不能使用证书,必须由管理员口令解锁后才能继续使用。 管理员口令需随机生成, 解锁操作应在安全可控的前提下执行。解锁口令的长度应为6-16位。6.2.4其他同一个终端可以同时使用多个数字证书载体, 以标准接口调用数字证书载体设备时
17、, 系统会自动弹出设备选择框(列出设备的卷标名称),由用户选择设备。6.3安全要求6.3.1基本安全要求数字证书载体的安全机制要求保障系统运行稳定可靠,数据访问安全可控,数据传输安全保密,可抵御外部攻击。数字证书载体必须能产生SM2等非对称密钥对,私钥不能被读取,使用前应经过访问权限认证。6.3.2密钥和密码的存放数字证书载体应该能保证非对称密钥和对称密钥的安全性。 对称密钥在导出时必须加密保护, 非对称密钥的私钥不允许导出,非对称密钥的公钥支持查看、导出。7数字证书载体软件要求7.1应用接口数字证书载体软件应用接口应符合GB/T 35291规定的要求。7.1.1设备管理设备管理主要完成设备的
18、插拔响应、枚举、连接、断开、获取设备状态、设置设备信息、获取设备信息、锁定设备、解锁设备和设备命令传输等操作。使用者不必知道设备类型和具体的驱动模式,只需要通过本文件提供的接口,即可完成设备管理功能。设备管理函数如表 2 所示。学兔兔 标准下载LD/T 02.5-20225表 2设备管理函数函数名称功能SKF_WaitForDevEvent等待设备插拔事件SKF_CancelWaiForDevEvent取消等待设备插拔事件SKF_EnumDev枚举设备SKF_ConnectDev连接设备SKF_DisconnectDev断开设备SKF_GetDevState获取设备状态SKF_SetLabel
19、设置设备标签SKF_GetDevInfo获取设备信息SKF_LockDev锁定设备SKF_UnlockDev解锁设备SKF_Transmit设备命令传输7.1.2访问控制访问控制分为设备级访问控制和应用级访问控制。设备级访问控制:包括内部认证和外部认证,用来进行设备之间的相互认证;应用级访问控制:分为管理员和用户权限二级权限控制。管理员负责为用户提供 PIN 的初始化和解锁等服务。用户拥有设备使用权,使用设备提供的功能,存储自己的私有数据。对于每一个设备而言,可以同时存在一个或多个应用,每个应用之间的访问控制相互独立。访问控制函数如表 3 所示。表 3访问控制函数函数名称功能SKF_Chang
20、eDevAuthKey修改设备认证密钥SKF_DevAuth设备认证SKF_ChangePIN修改 PINSKF_GetPINInfo获得 PIN 码信息SKF_VerifyPIN校验 PINSKF_UnblockPIN解锁 PINSKF_ClearSecureState清除应用安全状态7.1.3应用管理一个设备可以建立一个或多个应用,每个应用之间的权限管理和密码服务彼此独立。在每一个应用中都有相对应的文件体系和加密服务体系。应用管理主要完成应用的创建、枚举、删除、打开、关闭操作。应用管理函数如表4所示。表 4应用管理函数函数名称功能SKF_CreateApplication创建应用SKF_E
21、numApplication枚举应用SKF_DeleteApplication删除应用学兔兔 标准下载LD/T 02.5-20226SKF_OpenApplication打开应用SKF_CloseApplication关闭应用7.1.4文件管理文件管理函数用于满足用户扩展开发的需要,包括对文件的创建、删除、枚举、获取设备信息、读写操作,如表 5 所示。表 5文件管理函数函数名称功能SKF_CreateFile创建文件SKF_DeleteFile删除文件SKF_EnumFiles枚举文件SKF_GetFileInfo获取文件信息SKF_ReadFile读文件SKF_WriteFile写文件7.1
22、.5容器管理容器管理函数用于满足各种不同应用的管理, 包括对容器的创建、 删除、 枚举、 打开和关闭等操作,如表6所示。表 6容器管理系列函数函数名称功能SKF_CreateContainer创建容器SKF_DeleteContainer删除容器SKF_EnumContainer枚举容器SKF_OpenContainer打开容器SKF_CloseContainer关闭容器SKF_GetContainerType获取容器类型SKF_ImportCertificate导入数字证书SKF_ExportCertificate导出数字证书7.1.6密码服务密码服务函数用于密码运算服务,包括密钥的生成、导
23、入、导出、加密解密、签名验证等,如表 7所示。会话密钥支持国产算法如 SM1、SM4,非对称密钥目前支持 256 位 SM2、2048 位 RSA。表 7密码服务函数函数名称功能SKF_GenRandom生成随机数SKF_GenExtRSAKey生成外部 RSA 密钥对SKF_GenRSAKeyPair生成 RSA 签名密钥对SKF_ImportRSAKeyPair导入 RSA 加密密钥对SKF_RSASignDataRSA 签名学兔兔 标准下载LD/T 02.5-20227SKF_RSAVerifyRSA 验签SKF_RSAExportSessionKeyRSA 生成并导出会话密钥SKF_E
24、xtRSAPubKeyOperationRSA 外来公钥运算SKF_GenECCKeyPair生成 ECC 签名密钥对SKF_ImportECCKeyPair导入 ECC 加密密钥对SKF_ECCSignDataECC 签名SKF_ECCVerifyECC 验签SKF_ECCExportSessionKeyECC 生成并导出会话密钥SKF_ExtECCEncryptECC 外来公钥加密SKF_ExtECCVerifyECC 外来公钥验签SKF_GenerateAgrementDataWithECCECC 生成密钥协商参数并输出SKF_GenerateKeyWithECCECC 计算会话密钥SK
25、F_GenerateAgrementDataAndKeyWithECCECC 产生协商数据并计算会话密钥SKF_ImportSessionKey导入会话密钥SKF_ExportPublicKey导出公钥SKF_EncryptInit加密初始化SKF_Encrypt单组数据加密SKF_EncryptUpdate多组数据加密SKF_EncryptFinal结束加密SKF_DecryptInit解密初始化SKF_Decrypt单组数据解密SKF_DecryptUpdate多组数据解密SKF_DecryptFinal结束解密SKF_DigestInit密码杂凑初始化SKF_Digest单组数据密码杂凑
26、SKF_DigestUpdate多组数据密码杂凑SKF_DigestFinal结束密码杂凑SKF_MacInit消息鉴别码运算初始化SKF_Mac单组数据消息鉴别码运算SKF_MacUpdate多组数据消息鉴别码运算SKF_MacFinal结束消息鉴别码运算SKF_CloseHandle关闭密码对象句柄数字证书载体的接口函数的描述见附录B。7.2安装与卸载7.2.1安装程序要求a)基本要求:1)同一型号的智能密码钥匙安装程序应将驱动程序、 数字证书载体开发接口、 管理工具封装在一起,共用一个安装程序;2)安装程序要能够自动识别用户的国产 Linux 桌面操作系统或 Windows 操作系统版本
27、并自动安装相应的兼容性插件;学兔兔 标准下载LD/T 02.5-202283)智能密码钥匙在安装过程中应给予用户足够的提示信息, 但要尽量减少与用户的交互, 简化安装过程;4)智能密码钥匙安装程序应兼容国产 Linux 桌面操作系统或 Windows XP Windows 7、Windows8、Windows 10 等操作系统,并包含必要的系统补丁;5)安装程序自动检测客户机操作系统语言环境,如简体中文、繁体中文或英文,将对应的语言环境自动安装到客户机;6)安装程序提示文字要简洁易懂、便于理解。菜单设计应清晰合理、方便查找。安装界面中提示信息的字体采用中文宋体 9 号字,英文采用 Arial
28、12 号字体。b)可选要求:1)安装成功后在开始菜单中提供卸载子菜单;2)安装成功后在控制面板中提供卸载接口;3)安装成功后在系统应用商店或系统自带的软件中心提供卸载接口;4)管理工具应具备校验口令的功能。7.2.2卸载程序要求a)基本要求:1)卸载程序应兼容国产Linux桌面操作系统或WindowsXP、Windows 7、 Windows8、 Windows10 等系列操作系统;2)卸载程序不需要客户干预,能自动完成卸载,包括:i. 执行完卸载过程后,要求能正确清除掉开始菜单中的相关子菜单、控制面板、系统应用商店或系统自带的软件中心中的相应卸载接口,ii. 执行完卸载过程后,要求能正确清除
29、掉系统中相应的安装目录,iii. 卸载驱动程序时不要删除系统本身自带的库和注册表信息中原有的键值;3)卸载程序不自动执行重新启动计算机,卸载完成后可提示客户重新启动计算机。b)可选要求:1)卸载完成后不能在文件系统或注册表中留下残余组件;2)通过开始菜单中提供卸载子菜单,能将驱动程序卸载;3)通过控制面板中的“添加/删除程序” ,或系统应用商店、系统自带的软件中心中相应软件程序的“卸载” ,能将驱动程序卸载;4)再次运行安装程序能自动卸载。7.2.3驱动程序的兼容性要求驱动程序应满足下列要求。a)驱动程序的编写应符合 PC/SC 标准。b)驱动程序的编写应符合微软的驱动编写标准。c)安装后添加
30、的文件路径和注册表信息中应带有产品的特有信息或标记。d)驱动程序不能拷贝系统本身自带的库到系统的目录下, 如果使用了操作系统的动态库, 建议尽量使用静态绑定。e)不同的智能密码钥匙必须相互兼容,安装在同一台机器上都能正常工作,不会相互影响。7.2.4接口动态库命名接口动态库命名规则如下:a)数字证书载体动态库的文件名命名规则为“hrssxxxxyy.dll” ,其中 xxxx 为厂商代码,yy 为产品代码;学兔兔 标准下载LD/T 02.5-20229b)动态库导出的接口函数应为 C 语言函数;c)厂商代码和产品代码由人力资源社会保障部统一管理。学兔兔 标准下载LD/T 02.5-202210
31、附附录录A( (资料性资料性) )数字证书载体外观数字证书载体外观人力资源社会保障数字证书载体(智能密码钥匙)的外形及尺寸如图 A.1 所示。图 A.1 数字证书载体的外形及尺寸示意图如图 A.1 所示,智能密码钥匙正面应标识证书类型,智能密码钥匙背面应标识序列号。以智能密码钥匙作为数字证书载体, 有以下几种类型: 面向人力资源社会保障部门的政府工作人员发放的人员证书, 以及面向人力资源社会保障部门机构和社会企事业单位的发放的机构证书。 其外形名称和颜色的分类如下:a) 人员:名称为“人员证书” ,颜色为金属银白色;b) 机构:名称为“机构证书” , 颜色为金属银白色。数字证书载体外形上的序列
32、号由 16 位字母或数字组成,按以下规则编码:a) 第 1 位为生产厂商编号;b) 第 2 位为产品型号,可为字母或数字,与生产厂商定义的产品型号相对应;c) 第 3 位为证书类型,分别与机构证书、人员证书等相对应;d) 第 4 位至第 7 位为市级行政区划(4 位) ;e) 第 8 位至第 9 位为生产年份(2 位) ;f)第 10 位至第 11 位为产品生产批次(2 位) ;g) 第 12 位至第 16 位为产品流水号(5 位) 。学兔兔 标准下载LD/T 02.5-202211附附录录B( (资料性资料性) )数字证书载体接口函数描述数字证书载体接口函数描述B.1 数据类型定义数据类型定
33、义如表B.1所示。表 B.1数据类型类型名称类型名称描述描述定义定义BOOL布尔类型,取值为 TRUE 或FALSEBYTE字节类型,无符号 8 位整数typedef UINT8 BYTECHAR字符类型,无符号 8 位整数typedef UINT8 CHARSHORT短整数,有符号 16 位typedef INT16 SHORTUSHORT无符号 16 位整数typedef UINT16 USHORTLONG长整数,有符号 32 位整数typedef INT32 LONGULONG长整数,无符号 32 位整数typedef UINT32 ULONGUINT无符号 32 位整数typedef
34、UINT32 UINTWORD字类型,无符号 16 位整数typedef UINT16 WORDDWORD双字类型, 无符号 32 位整数typedef UINT32 DWORDFLAGS标志类型, 无符号 32 位整数typedef UINT32 FLAGSLPSTR8 位字符串指针, 按照 UTF8格式存储及交换typedef CHAR * LPSTRHANDLE句柄,指向任意数据对象的起始地址typedefvoid * HANDLEDEVHANDLE设备句柄typedef HANDLE DEVHANDLEHAPPLICATION应用句柄Typedef HANDLE HAPPLICATIO
35、NHCONTAINER容器句柄typedef HANDLE HCONTAINERa) 常量定义数据常标识的定义如表B.2所示。表 B.2常量定义类型名称类型名称描述描述定义定义TRUE0 x00000001布尔值为真FALSE0 x00000000布尔值为假DEVAPI_stdcall_stdcall 函数调用方式ADMIN_TYPE0管理员 PIN 类型USER_TYPE1用户 PIN 类型学兔兔 标准下载LD/T 02.5-202212b) 版本数据1)类型定义typedef struct Struct_VersionBYTE major;BYTE minor;VERSION;2)数据项描
36、述版本数据类型数据项描述如表 B.3 所示。表 B.3 版本数据类型数据项描述数据项数据项类型类型意义意义备备 注注majorBYTE主版本号主版本号和次版本号以“.”分隔,例如 Version 1.0,主版本号为 1,次版本号为 0;Version 2.10,主版本号为 2,次版本号为 10。minorBYTE次版本号c) 设备信息1)类型定义typedef struct Struct_DEVINFOVERSION VersionCHAR Manufacturer64;CHAR Issuer64;CHAR Label64;CHAR SerialNumber32;VERSION HWVersi
37、on;VERSION FirmwareVersion;ULONGAlgSymCap;ULONGAlgAsymCap ;ULONGAlgHashCap ;ULONGDevAuthAlgId ;ULONGTotalSpace ;ULONGFreeSpace ;ULONGMaxECCBufferSize ;ULONGMaxBufferSize ;BYTE Reserved64 ;DEVINFO_SKF,*PDEVINFO_SKF;2)数据项描述设备信息数据类型数据项描述如表 B.4 所示。学兔兔 标准下载LD/T 02.5-202213表 B.4 设备信息数据类型数据项描述数据项数据项类型类型意义意
38、义备注备注VersionVERSION版本号数据结构版本号, 本结构的版本号为 1.0ManufacturerCHAR 数组设备厂商信息以0为结束符的 ASCII字符串IssuerCHAR 数组发行厂商信息以0为结束符的 ASCII字符串LabelCHAR 数组设备标签以0为结束符的 ASCII字符串SerialNumberCHAR 数组序列号以0为结束符的 ASCII字符串HWVersionVERSION设备硬件版本FirmwareVersionVERSION设备本身固件版本AlgSymCapULONG分组密码算法标识AlgAsymCapULONG非对称密码算法标识AlgHashCapULO
39、NG密码杂凑算法标识DevAuthAlgIdULONG设备认证使用的分组密码算法标识TotalSpaceULONG设备总空间大小FreeSpaceULONG用户可用空间的大小MaxECCBufferSizeULONG能够处理的 ECC 加密数据大小MaxBufferSizeULONG能够处理的分组运算和杂凑运算的数据大小ReservedULONG保留扩展d) RSA公钥数据结构1)类型定义typedef struct Struct_RSAPUBLICKEYBLOBULONG AlgID;ULONG BitLen;BYTEModulusMAX_RSA_MODULUS_LEN;BYTEPublic
40、ExponentMAX_RSA_EXPONENT_LEN;RSAPUBLICKEYBLOB, *PRSAPUBLICKEYBLOB;MAX_RSA_MODULUS_LEN 为算法模数的最大长度;MAX_RSA_EXPONENT_LEN 为算法指数的最大长度。2)数据项描述RSA 公钥数据结构数据类型数据项描述如表 B.5 所示。学兔兔 标准下载LD/T 02.5-202214表 B.5RSA 公钥数据结构数据类型数据项描述数据项数据项类型类型意义意义备注备注AlgIDULONG算法标识号BitLenULONG模数的实际位长度必须是 8 的倍数ModulusBYTE 数组模数 n = p * q
41、实际长度为 BitLen/8 字节#define MAX_RSA_MODULUS_LEN 256#define MAX_RSA_EXPONENT_LEN 4PublicExponentBYTE 数组公开密钥 e一般为 00010001e) RSA私钥数据结构1)类型定义typedef struct Struct_RSAPRIVATEKEYBLOB ULONG AlgID;ULONG BitLen;BYTEModulusMAX_RSA_MODULUS_LEN;BYTEPublicExponentMAX_RSA_MODULUS_LEN;BYTEPrivateExponentMAX_RSA_EXPO
42、NENT _LEN;BYTEPrime1MAX_RSA_MODULUS_LEN/2;BYTEPrime2MAX_RSA_MODULUS_LEN/2;BYTEPrime1ExponentMAX_RSA_MODULUS_LEN/2;BYTEPrime2ExponentMAX_RSA_MODULUS_LEN/2;BYTECoefficientMAX_RSA_MODULUS_LEN/2;RSAPRIVATEKEYBLOB, *PRSAPRIVATEKEYBLOB;MAX_RSA_MODULUS_LEN 为 RSA 算法模数的最大长度;MAX_RSA_EXPONENT_LEN 为算法指数的最大长度。2)
43、数据项描述RSA 私钥数据结构数据类型数据项描述如表 B.6 所示。表 B.6RSA 私钥数据结构数据类型数据项描述数据项数据项类型类型意义意义备注备注AlgIDULONG算法标识号BitLenULONG模数的实际位长度必须是 8 的倍数ModulusBYTE 数组模数 n = p * q实际长度为 BitLen/8 字节PublicExponentULONG公开密钥 e一般为 00010001PrivateExponentBYTE 数组私有密钥 d实际长度为 BitLen/8 字节Prime1BYTE 数组素数 p实际长度为 BitLen/16 字节Prime2BYTE 数组素数 q实际长度
44、为 BitLen/16 字节Prime1ExponentBYTE 数组d mod (p-1)的值实际长度为 BitLen/16 字节Prime2ExponentBYTE 数组d mod (q -1)的值实际长度为 BitLen/16 字节学兔兔 标准下载LD/T 02.5-202215CoefficientBYTE 数组q 模 p 的乘法逆元实际长度为 BitLen/16 字节f) ECC公钥数据结构1)类型定义typedef struct Struct_ECCPUBLICKEYBLOBULONG BitLen;BYTEXCoordinateECC_MAX _XCOORDINATE_BITS_
45、LEN/8;BYTEYCoordinateECC_MAX _YCOORDINATE_BITS_LEN/8;ECCPUBLICKEYBLOB,*PECCPUBLICKEYBLOB ;ECC_MAX_XCOORDINATE_LEN 为 ECC 算法 X 坐标的最大长度ECC_MAX_YCOORDINATE_LEN 为 ECC 算法 Y 坐标的最大长度。2)数据项描述ECC 公钥数据结构数据类型数据项描述如 B.7 所示。表 B.7 ECC 公钥数据结构数据类型数据项描述数据项数据项类型类型意义意义备注备注BitLenULONG模数的实际位长度必须是 8 的倍数XCoordinateBYTE 数组曲
46、线上点的 X 坐标有限域上的整数#defineECC_MAX_XCOORDINATE_BITS_LEN 512YCoordinateBYTE 数组曲线上点的 Y 坐标有限域上的整数#defineECC_MAX_YCOORDINATE_BITS_LEN 512g) ECC私钥数据结构1)类型定义typedef struct Struct_ECCPRIVATEKEYBLOBULONG BitLen;BYTEPrivateKeyECC_MAX _MODULUS_BITS_LEN/8;ECCPRIVATEKEYBLOB,*PECCPRIVATEKEYBLOB ;ECC_MAX _MODULUS_BIT
47、S_LEN 为 ECC 算法模数的最大长度2)数据项描述ECC 私钥数据结构数据类型数据项描述如表 B.8 所示。表 B.8ECC 私钥数据结构数据类型数据项描述数据项数据项类型类型意义意义备注备注BitLenULONG模数的实际位长度必须是 8 的倍数学兔兔 标准下载LD/T 02.5-202216PrivateKeyBYTE 数组私有密钥有限域上的整数#defineECC_MAX_MODULUS_BITS_LEN512h) ECC密文数据结构1)类型定义typedef struet Struet_ECCCIPHERBLOBBYTEXcoordinateECC_MAX_XCOORDINATE
48、_BITS_LEN/8;BYTEYCoordinateECC_MAX_XCOORDINATE_BITS_LEN/8;BYTEHASH32 ;ULONGCipherLen ;BYTECipher1 ;ECCCIPHERBLOB,*PECCCIPHERBLOB2)数据项描述ECC 密文数据结构数据类型数据项描述如表 B.9 所示。表 B.9ECC 密文数据结构数据类型数据项描述数据项数据项类型类型意义意义备注备注XCoordinateBYTE 数组与 y 组成椭圆曲线上的点(x,y)YCoordinateBYTE 数组与 x 组成椭圆曲线上的点(x,y)HASHBYTE 数组明文的杂凑值Ciphe
49、rLenULONG密文数据长度CipherBYTE 数组密文数据实际长度为 CipherLeni) ECC签名数据结构1)类型定义typedef struet Struet_ECCSIGNATUREBLOBBYTE rECC_MAX_XCOORDINATE_BITS_LEN/8;BYTE sECC_MAX_XCOORDINATE_BITS_LEN/8;ECCSIGNATUREBLOB,*PECCSIGNATUREBLOBECC_MAX_MODULUS_BITS_LEN为ECC算法X坐标的最大比特长度。2)数据项描述ECC 签名数据结构数据类型数据项描述如表 B.10 所示。表 B.10ECC
50、签名数据结构数据类型数据项描述数据项数据项类型类型意义意义备注备注rBYTE 数组签名结果的 r 部分sBYTE 数组签名结果的 s 部分学兔兔 标准下载LD/T 02.5-202217j) 分组密码参数1)类型定义typedef struet Struet_BLOCKCIPHERPARAMBYTEIVMAX_IV_LEN ;ULONGIVLen;ULONGPaddingType ;ULONGFeedBitLen;BLOCKCIPHERPARAM,*PBLOCKCIPHERPARAM;2)数据项描述ECC 签名数据结构数据类型数据项描述如表 B.11 所示。表 B.11ECC 签名数据结构数据
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100