GB/T38629-2020

信息安全技术签名验签服务器技术规范

Informationsecuritytechnology—Technicalspecificationsforsignatureverificationserver

本文分享国家标准信息安全技术签名验签服务器技术规范的全文阅读和高清PDF的下载,信息安全技术签名验签服务器技术规范的编号:GB/T38629-2020。信息安全技术签名验签服务器技术规范共有25页,发布于2020-11-01
  • 中国标准分类号(CCS)L80
  • 国际标准分类号(ICS)35.040
  • 实施日期2020-11-01
  • 文件格式PDF
  • 文本页数25页
  • 文件大小1.39M

以图片形式预览信息安全技术签名验签服务器技术规范

信息安全技术签名验签服务器技术规范


国家标准 GB/T38629一2020 信息安全技术 签名验签服务器技术规范 Informationseeuritytechnology- Technicalspecifieationsforsignatureverifieationserver 2020-04-28发布 2020-11-01实施 国家市场监督管理总局 发布 国家标涯花警理委员会国家标准
GB/T38629一2020 次 目 前言 范围 2 规范性引用文件 3 术语和定义 缩略语 4 签名验签服务器的功能要求 ##+ 5.1初始化功能 5.2与公钥基础设施的连接配置功能 5.3应用管理功能 5,4证书管理和验证功能 数字签名和验签功能 5.5 日志管理功能 5.6 5.7时间源同步功能 签名验签服务器的安全要求 接口要求 6.1 系统要求 6.2 使用要求 6.3 6.4管理要求 6.5设备物理安全防护 6.6网络部署要求 6.7服务接口 6.8环境适应性 6.9可靠性 6.10其他 消息协议语法规则 7.1概述 7.2协议内容 7.3请求协议 7.4响应协议 7.5协议接口功能说明 附录A规范性附录基于HTTP的消息协议语法规则 18 附录B(规范性附录响应码定义和说明
GB/38629一2020 前 言 本标准按照GB/T1.1一2009给出的规则起草 请注意本文件的某些内容可能涉及专利 本文件的发布机构不承担识别这些专利的责任 本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口 本标准起草单位:山东得安信息技术有限公司、成都卫士通信息产业股份公司,无锡江南信息安全 工程技术中心、兴唐通信科技有限公司、格尔软件股份有限公司、长春吉大正元信息技术股份有限公司、 上海市数字证书认证中心有限公司北京数字认证股份有限公司、北京创原天地科技有限公司、北京三 未信安科技发展有限公司北京信安世纪科技股份有限公司 本标准主要起草人马洪富、孔凡玉、罗俊、徐明翼、王妮娜、郑强、赵丽丽、韩玮,李述胜、肖青海、 高志权、汪宗斌
GB/38629一2020 信息安全技术 签名验签服务器技术规范 范围 本标准规定了签名验签服务器的功能要求、安全要求和消息协议语法规则等内容 本标准适用于签名验签服务器的研制和使用 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注目期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T9813.3一2017计算机通用规范第3部分;服务器 GB/T19713一2005信息技术安全技术公钥基础设施在线证书状态协议 GB/T250692010信息安全技术术语 信息安全技术sM3密码杂凑算法 GB/T32905 GB/T32918所有部分)信息安全技术SM2椭圆曲线公钥密码算法 GB/T33560-2017信息安全技术密码应用标识规范 GB/T35275信息安全技术SM2密码算法加密签名消息语法规范 GB/T35276信息安全技术SM2密码算法使用规范 GB/T35291一2017信息安全技术智能密码钥匙应用接口规范 GB/T36322信息安全技术密码设备应用接口规范 证书应用综合服务接口规花 GM/T0020 GM/T0028密码模块安全要求 GM/T0039密码模块安全检测要求 术语和定义 GB/T25069-2010界定的以及下列术语和定义适用于本文件 3.1 安全域seeuritydomain 在信息系统巾,单一安全策略下运行的实体的汇集 例如,由单个或一组认证机构采用同一安全策 略创建的各公钥证书的汇集 [[GB/T250692010,定义2.2.1.17] 3.2 签名验签服务器sigmatureverificationserver 用于服务端的,为应用实体提供基于K1体系和数字证书的数字签名、验证签名等运算功能的服 务器,保证关键业务信息的真实性、完整性和不可否认性 3.3 用户 user 与应用实体进行通信或认证的个人、机构或系统
GB/T38629一2020 注:其数字证书可导人到签名验签服务器中 3.4 SMM2算法sM2algorithm 由GB/T32918定义的一种椭圆曲线密码算法 3.5 SM3算法SM3lgorithm 由GB/T32905定义的一种杂凑算法 缩略语 下列缩略语适用于本文件 lnterface API:应用程序接口ApplicationProgram AsN.l:抽象语法记法1AbstracSyntaxNotationOne) CA;证书认证机构(CertifcationAuthority CRL;证书撤销列表(CertificateRevocationList) OcsP:在线证书状态查询协议(OnlineCertificateStatusProtocol PKI;公钥密码基础设施(PublicKeyInfrastructure) S 签名验签服务器的功能要求 5.1初始化功能 签名验签服务器的初始化应主要包括系统配置、生成管理员和审计员、创建密钥、申请证书和导人 证书等,使设备处于正常工作状态 5.2与公钥基础设施的连接配置功能 5.2.1CRL连接配置 签名验签服务器应支持CRL连接配置功能,通过配置管理界面,提供从CRL发布点获取CRL导 人CRL等功能 5.2.20CSP连接配置 签名验签服务器应支持oCsP连接配置功能,通过配置管理界面,进行OCSP服务的连接配置管 理 OcSP服务的连接配置应遵循GB/T197132005中6.1的规定 5.3应用管理功能 签名验签服务器的应用管理功能应包括应用实体的注册、配置密钥、设置私钥授权码等,并按照安 全机制对应用实体的信息进行安全存储 应用实体注册的内容应包括设置应用实体名称,配置密钥索 引号、导人证书等 5.4证书管理和验证功能 5.4.1应用实体的密钥产生,证书申请 在签名验签服务器注册的应用实体,应由签名验签服务器产生应用实体的签名密钥对和证书请求, 并支持通过管理界面导人应用实体的签名证书、加密证书和加密密钥对 加密密钥对的保护结构应遵
GB/38629一2020 循GB/T35291一2017中6.4.10的规定 5.4.2证书导入和存储 签名验签服务器应支持用户证书、根证书或证书链的导人,导人时应对证书的有效性进行验证 5.4.3应用实体的证书更新 应用实体的证书更新时应保存原来的证书,以防止以前的签名不能验证 5.4.4证书验证 签名验签服务器应支持对证书的有效性的验证,包括验证证书有效期、验证证书签名有效性、验证 证书状态 5.4.5备份和恢复 签名验签服务器应支持备份和恢复功能,包括密钥、证书等数据的备份和恢复 备份操作产生的备份文件可存储到签名验签服务器外的存储介质中,应采取措施保证备份文件的 机密性和完整性 5.5数字签名和验签功能 签名验签服务器应支持sM2算法的数字签名和数字验签功能,提供对数据,消息、文件等多种格式 的运算方式 数据的结构应遵循GB/T35275和GB/T35276 5.6日志管理功能 签名验签服务器应提供日志记录、查看,审计和导出功能,具备相应的配置管理和查看界面 日志内容包括 系统管理日志,包括登录认证、系统配置、密钥管理等操作; a 异常事件,包括认证失败、非法访问等异常事件的记录 b 如与设备管理中心连接,对相应操作进行记录; c d 对应用接口的调用进行日志记录 5.7时间源同步功能 签名验签服务器应能够配置连接时间源服务器,自动同步时间 签名验签服务器的安全要求 6.1接口要求 签名验签服务器调用密码设备的接口应遵循GB/T36322 6.2系统要求 签名验签服务器所使用的操作系统应进行安全加固,保障其安全性 6.3使用要求 签名验签服务器只接受合法的操作指令,并防止非授权用户的使用
GB/T38629一2020 6.4管理要求 6.4.1 管理工具 签名验签服务器通过管理工具实现对该签名验签服务器的管理功能 6.4.2管理员身份鉴别 签名验签服务器应具备完善的身份鉴别机制,签名验签服务器应设置管理员和审计员,管理员和审 计员应通过智能密码钥匙、智能Ic卡等硬件介质与口令相结合的方式登录系统,并使用证书进行身份 验证 各类管理员通过身份鉴别后执行自己权限范围内的相关管理操作 6.4.3设备管理 6.4.3.1设备初始化 签名验签服务器的初始化,除应由厂商进行的操作外,系统配置、密钥的生成(恢复)与安装,生成管 理员和审计员等均应由用户方设备管理人员完成 6.4.3.2设备自检 签名验签服务器应具备自检功能,应具备状态和功能自检功能,能够进行密码算法正确性检查、随 机数发生器检查、存储密钥和数据的完整性检查等,检查不通过时应报警并停止工作 6.5设备物理安全防护 签名验签服务器在工艺设计,硬件配置等方面应采取相应的保护措施,保证设备基本的物理安全防 护功能 6.6网络部署要求 签名验签服务器应部署在应用系统的安全域内,只为安全域内的应用实体和用户服务,不应为安全 域外的应用实体和用户使用 6.7服务接口 以基于HTTP的wEB方式提供服务的签名验签服务器,接口要求见附录A,响应码的定义见附 录B 以消息协议方式提供服务的签名验签服务器,接口要求见第7章,响应码的定义见附录B 以应用程序接口方式提供服务的签名验签服务器,其接口应遵循GM/T0020 6.8环境适应性 签名验签服务器的工作环境应遵循GB/T9813.3一2017中5.8的规定 6.9可靠性 签名验签服务器的平均失效间隔工作时间应遵循GB/T9813.3一2017中4.9的规定 6.10其他 签名验签服务器的其他安全要求应遵循GM/T0028和GM/T0039
GB/38629一2020 消息协议语法规则 7.1概述 签名验签服务的消息协议接口采用请求响应模式,如图1所示 协议模型由请求者、响应者和它们 之间的交互协议组成 通过本协议,请求者将数字签名、验证数字签名等请求发送给响应者,由响应者 完成签名验签服务并返回结果 本规则中的接口消息协议包括导出证书、解析证书、验证证书有效性 数字签名、验证数字签名、消息签名验证消息签名等服务功能,每个服务都按照请求一响应的步骤执 行 请求者可通过规则获得签名验签功能,而不必关心下层PKI公钥密码基础设施的实现细节 签名验签请求 请求者 响应者 签名验签响应 图1签名验签服务的消息协议接口模式 请求者组织业务服务请求,发送到响应者,并延缓自身的事务处理过程,等待响应者响应返回;响应 者接收到来自请求者的业务服务请求后,检查请求的合法性,根据请求类型处理服务请求,并将处理结 果返回给请求者 下面的协议内容将按照图1所示的框架进行 7.2协议内容 协议内容如下: 请求 a 也称业务服务请求,包含请求者业务请求的类型、性质以及特性数据等,该请求将被发送到响 应者并得到服务 服务请求包括如下数据: 协议版本(当前版本为1) 请求类型; 请求包; 请求时间 b响应 指响应者对来自请求者请求的处理响应 响应者的响应包括如下数据 协议版本(当前版本为1); 响应类型; 响应包; 响应时间 异常情况 当响应者处理发生错误时,需要向请求者发送错误信息 错误可以是下列两类: 一请求失败;响应者验证来自请求者业务请求数据失败,请求者收到该响应后应重新组织业 务请求数据进行发送 内部处理失败;响应者处理请求者业务请求过程中发生内部错误,响应者通知请求者该请 求处理失败,请求者需重新组织业务请求数据进行发送 本规则采用抽象语法记法1(ASN.1)来描述具体协议内容 如果无特殊说明,默认使用ASN.1显
GB/T38629一2020 式标记 7.3请求协议 7.3.1请求数据格式 请求者请求数据的基本格式如下: sVSRequest:=SEQUENCE VersionDEFAULTvI. version ReqType, reqType rrequest Request, [[o]IMPLICITGeneralizedTimeOPTIONAL. reqTime [1]IMPLICITReqTimmeStampTokenOPTIONAL reqTimeStampToken [2]IMPLICITExtAttributesOPTONAL extAttributes 其中 Version::=INTEGERvl(0) ReqType:;=INTEGER6 exportCert 0), parseCert o validateCert 3). ignData verifySignedData signDatalnit GO. signDataUpdate m7 nDataFinal signl 8. verifySignedDatalnit 9. veriflySignedDataUpdate ao7 verifySignedDataFinal 1) signMessage 12) verifySignedMessage Request:;=ocTETsTRING: [o]IMPL.lcTExportUserCertReg exportUserCertReg []IMPL.IcTParseCertRceq parseCertReg [2]IMPLIcTValidateCertReq validateCertReg [3]IMPLIcTsignDataReq signDataReg [4]IMPLIcTVerifysignedDataReq verifySignedDataReg sgnDatalnitlRee [5]IMPLIcTsignDatalnitReq []IMPLIcTSignDataUpdateReq, sgnDtaUpdateRe [7]IMPLIcTsignDataFinalIReq ignDataFinalIReq verifySignedDatalnitRee [8]IMPLICTVerifySignedDatalnitRee verifySignedDataUpdateReqg [9]IMPLICTVerifySignedDataUpdateRe eg rifySignedDataFinalIRe [[10]IMPLICTVerifySignedDataFinalRe ver .eg egq
GB/38629一2020 signMessageReq [11]IMPLIcTSignMessageReq verifySignedMessageReg [12]IMPLIcTVerifySignedMessageReqg ReqTimeStampToken:;=TimeStampToken ExtAttributes::=SETOFAttribute 7.3.2sVSRequest及其结构解释 sVSRequest包含了请求语法中的重要信息,本条将对该结构作详细的描述和解释 协议版本 a 本项描述了请求语法的版本号,当前版本为1,取整型值0 b 请求类型 本项描述了不同业务的请求类型值,0999为保留值,不可占用 请求包 请求包与请求类型值之间的对应关系如表1所示 表1请求包与请求类型值的对应关系 请求类型字符措述 请求类型值 请求包说明 导出证书请求包 exportCert parseCert 解析证书请求包 validateCert 验证证书有效性请求包 ignData 单包数字签名请求包 verifySignedData 单包验证数字签名请求包 多包数字签名初始化请求包 signDatalnit 多包数字签名更新请求包 haae ignDatal signDataFinal 多包数字签名结束请求包 verifySignedDatalnit 多包验证数字签名初始化请求包 verifySignedDataUpdate 多包验证数字签名更新请求包 verifySignedDataFinal l0 多包验证数字签名结束请求包 signMessage ll 单包消息签名请求包 单包验证消息签名请求包 verifySignedMessage 12 请求时间 d 请求者产生请求的时间,采用GeneralizedTime语法表示 请求时间戳 request内容的时间戳 如包含此项数据,签名服务器应验证该时间戳 扩展数据 f 依据实际业务需求添加的扩展数据 7.4响应协议 7.4.1响应数据格式 响应者响应的基本格式如下
GB/T38629一2020 svsRespond=sEQUENcE6 version VersionDEFAULTvI. respType RespType rrespond Respond [[o]IMPLICITGeneralizedTimeOPTIONAL. respTime [1]IMPLIcITRespTimeStampTokenoPTIoNAL respTimeStampToken extAttributes [2]IMPLICITExtAttributesOPTIONAL 其中 version:;=INTEGERvl(o RespType;;=INTEGER exportCert 0). 1). parseCert 2). validateCert 3> signData 4) verifySignedData D) signDatalnit O7 aUpdate signDatal T ignDataFinal verifySignedDatalnit verifySignedDataUpdate 10). verifySignedDataFinal signMessage 1l) verifySignedMessage 12 Re OCTETSTRING Respond:;一 [0]IMPLlICTExportUserCertResp exportUserCertResp [1]IMPLICTParseCertResp, parseCertResp [2]IMPLIcCTValidateCertResp validateCertResp [3]MPLIcTsignDataResp signDataResp []MPLIcTvVerifysignedataRcesp verifySignedDataResp []MPLIcTsignDatalnitResp signDatalnitResp nDataUpdateResp [6]IMPLICTSignDataUpdateResp sign signDataFinalRe [7]IMPLICTSignDataFinalResp esp verifySignedDatalnitResp [8]IMPLICTVerifySignedDatalnitResp verifySignedDataUpdateResp []IMPL.IcTverifysignedDataUpdateResp [10IMPLIcTVerifySignedDataFinalIResp verifySignedDataFinalResp [11]IMPLIcTsignMessageResp signMessageResp verifySignedMessageResp 12]IMPLICTVerifySignedMessageResp respTimeStampToken;;=TimeStampToken SETOFAttribute ExtAttributes ::=
GB/38629一2020 7.4.2sVSRe kespomd及其结构解释 SVvSRespond包含了响应语法中的重要信息,本条将对该结构作详细的描述和解释 协议版本 a 本项描述了响应语法的版本号,当前版本为1,取整型值0. 响应类型 b 本项描述了不同业务的响应类型值,0~999为保留值,不可占用 响应包 响应包与响应类型值之间的对应关系如表2所示 表2响应包与相应类型值的对应关系 应答类型字符描述 应答类型值 响应包说明 xportCert 导出证书响应包 parseCert 解析证书响应包 验证证书有效性响应包 validateCert 单包数字签名响应包 signData verifySignedData 单包验证数字签名响应包 signDatalnit 多包数字签名初始化响应包 signDtaUpdate 多包数字签名更新响应包 signDataFinal 多包数字签名结束响应包 verifySignedDatalnit 多包验证数字签名初始化响应包 verilySignedDataUpdate 包验证数字签名更新响应包 多1 10 多包验正数字签名结束响应包 verilySignedDataFinal signMessage 11 单包消息签名响应包 12 verifySignedMessage 单包验证消息签名响应包 d 响应时间 响应者产生响应的时间,采用GeneralizedTime语法表示 响应时间戳 respond内容的时间戳 如包含此项数据,客户端应验证该时间戳 扩展数据 fD 依据实际业务需求添加的扩展数据 7.5协议接口功能说明 导出证书 7.5.1 -ExportCertReq包 ExporCerReq包为导出证书请求格式包,当rqIype取值exporCert时,请求包采用本子 包,其具体格式如下 ExportCertReq;=SEQUENCE identification OCTETsTRING
GB/T38629一2020 identifieation表明要导出证书的标识 >xwwnrcerResp包 ExportCertResp包为导出证书响应格式包,当respType取值exportCert时,响应包采用本子 包,其具体格式如下 rtCertRes :=SEQUENCE Exor esPp:: INTEGER, epVale ue CertificateOPTIONAL cert respValue表明响应码,0表示成功,非0表示错误 表明导出的证书 cert" 7.5.2解析证书 Parse(CertReq包 ParseCetReq包为解析证书请求格式包,当reqTyp取值parseCert时,请求包采用本子包 其具体格式如下 ParseCertReg;=SEQUENCE INTEGER iinfoType cert Certificate infoType表明要解析证书信息的类型,应遵循GB/T335602017中6.3.4的规定 cert表示要解析的数字证书 ParseCertResp包 ParseCertResp包为解析证书响应格式包,当respType取值parseCert时,响应包采用本子 包,其具体格式如下 ParseCertResp::=SEQUENCE respValue INTEGER OcTESTRINGOPTIONAL info respValue表明响应码,0表示成功,非0表示错误 info表示获取的证书信息 7.5.3验证证书有效性 ValidateCertReq包 ValidateCertRe包为验证证书有效性请求格式包,当reqType取值validateCert时,请求包采 用本子包,其具体格式如下 ValidateCertReq:;=SEQUENCE飞 Certificate cert BoOLEANDEFAUTFAL.SE ocsp ert表示要验证证书有效性的数字证书 ocsp表示是否获取证书OCSP状态,默认值为FAL.SE ValidateCertResp包 10
GB/38629一2020 ValidateCertResp包为验证证书有效性响应格式包,当respType取值validateCert时,响应包 采用本子包,其具体格式如下: valdatcertRep:=sEoUENCE spValue INTEGER、 respP INTEGEROPTIONA state respValue表明响应码,0表示成功,非0表示错误; e表明获取的证书OCSP状态标识. state 7.5.4单包数字签名 SignDataReq包 SignDataReq包为单包数字签名请求格式包,当reqType取值signData时,请求包采用本子 包,其具体格式如下 SignDataReg::=SEQUENCE ignMethodl INTEGER, keylndex INTEGER. OcTETsTRING keyValue [o]IMPLlICTINTEGERoPTINAL signerIDLen 1]IMPLIcTOcTETsTRINGOPTIONAL signerID NTEGER inDatalen OcTETsTRING iinData signMethod表明使用的签名算法类型,应遵循GB/T335602017中6.2.4的规定; keylndex表示签名者私钥的索引值,如十进制1表示索引值为1的密钥; keyValue表示签名者私钥权限标识码; signerIDL.en表示签名者的ID长度,当signMethod为sGD_SM3_SM2时有效 signerlID表示签名者的ID值,当signMethod为sGD_SM3_SM2时有效; inDataL.en表示待签名的数据原文长度; inData表示待签名的数据原文 SignDataResp包 SignDataResp包为单包数字签名响应格式包,当respType取值signData时,响应包采用本子 包,其具体格式如下 SignDataResp:;=SEQUENCE respValue NTEGER 0cTETSTRINGOPTIONAL signature respValue表明响应码,0表示成功,非0表示错误 signature表示签名值,数据的结构应遵循GB/T35276 7.5.5单包验证数字签名 GB/T38629一2020 VerifySignedDataReq:;:=sSEQUENCE《 sgnMehod INTEGER, INTEGER, type [oIMPL.ICTCerifieateOPTIONAL cert certSN [1]IMPLICTOCTETSTRINGOPTIONAL signerIDL.en [2]IMPLIC'TINTEGEROPTIONAL [3]IMPLICTOCTETSTRINGOPTIONAL signerID inDataLen INTEGER inData OCTETSTRING, 0CTETSTRING, SIgnature verifylevel INTEGER signMethod表明使用的签名算法类型,应遵循GB/T335602017中6.2.4的规定; type表示使用验证数字签名时使用证书或证书序列号,1表示使用证书,2表示使用证书序 列号; et表示签名证书,pe取值I时有效 ersN表示签名证书序列号,yp取值2时有效 signerIDLen表示签名者的ID长度,当signMethod为sGD_SM3_sM2时有效 ignerID表示签名者的ID值,当signMethod为sGD_SM3_SM2时有效 inDataLen表示待签名的数据原文长度, inData表示待签名的数据原文 signature表示签名值,数据的结构应遵循GB/T35276; verifylevel表示证书验证级别.0;验证时间,1:验证时间和根证书签名,2;验证时间、根证书 签名和CRL -VerifySignedDataResp包 VerifysignedDataResp包为单包验证数字签名响应格式包.当respIype取值verifySignedlData时 响应包采用本子包,其具体格式如下 VerifySignedDataResp:;=SEQUENCE respValue INTEGER respValue表明响应码,0表示成功,非0表示错误 7.5.6多包数字签名初始化 SignDatalnitReq包 SignDatalnitReq包为多包数字签名初始化请求格式包,当reqType取值signDatalnit时,请求 包采用本子包,其具体格式如下 SignDatalnitReq::=sSEQUENCE ignMethod INTEGER, signerPublicKey [0]IMPL.ICTOCTETSTRING;OPTIONAL erlDLen [1]IMPLICTINTEGEROPTlONAL signer erID [2]IMPLICTOCTETSTRINGOPTIONAL signer signMethod表明使用的签名算法类型,应遵循GB/T33560-2017中6.2.4的规定; 12
GB/T38629一2020 signerPubliekey表示签名者公钥,当signMethod为sGD_SM3_SM2时有效; signerlIDL.en表示签名者的D长度,当signMethod为sG;D_SM3_SM2时有效; signerID表示签名者的ID值,当signMethod为sGD_SM3_SM2时有效; DatalnitResp包 sigD DatalnitResp包为多包数字签名初始化响应格式包,当respType取值signDatalnit时,响 sigD 应包采用本子包,其具体格式如下 SEQUENCE signDhatahnitRep:1- pValue INTEGER respP SessionlD OCTETSTRINGOPTIONAL respValue表明响应码,0表示成功,非0表示错误; SessionID表示会话标识 7.5.7多包数字签名更新 SignDataUpdateReq包 seaDaUpdaneR叫包为多包数字签名更新请求格式包,当rerType取值sienaDaslpdare 时,请求包采用本子包,其具体格式如下 sEQUENCE SignDataUpdateReg::= OcTETSTRING SessionlD NTEGER, inDatalen OCTETSTRING iinData SessionlD表示会话标识; inDataLen表示数据明文长度; inData表示数据明文 SignDataUpdateResp包 SignDataUpdateResp包为多包数字签名更新响应格式包,当respType取值signDataUpdate 时,响应包采用本子包.其具体格式如下 SigaDataUpdaeResp:=sEoUENE respValue INTEGER. OcTETsTRINGOPTIONAL SessionlD respValue表明响应码,0表示成功,非0表示错误 SessionlID表示会话标识 7.5.8多包数字签名结束 SignDataFinalReq包 SignDataFinalReq包为多包数字签名结束请求格式包,当reqType取值signDataFinal时,请 求包采用本子包,其具体格式如下: SignDataFinalRe keq::=SEQUENCE keylndex NTEGER OCTETSTRING, keyValue OcCTETSTRING SessionlD 13
GB/T38629一2020 keylndex表示签名者私钥的索引值,如十进制1表示索引值为1的密钥; yValue表示签名者私钥权限标识码; key SessionlD表示会话标识 SignDataFinalResp包 SignDataFinalResp包为多包数字签名结束响应格式包,当respType取值signDataFinal时 响应包采用本子包,其具体格式如下 SignDataFinalResp:;=sSEQUENCE《 respValue INTEGER, OCTETSTRINGOPTIONAL sIgnature respValue表明响应码,0表示成功,非0表示错误; signature表示签名值,数据的结构应遵循GB/T35276 7.5.9多包验证数字签名初始化 VerifySignedDatalnitReq包 verifySignedDatalhmitReq包为多包验证数字签名初始化请求格式包,当reqType取值verilfy signedDatalnit时,请求包采用本子包,其具体格式如下 VerifySignedDatalnitReq:;=SEQUENCE INTEGER signMethod [o]IMPLICrOCTErsTRNGOPTIONAL signerPublicKey [1]IMPL.IcCTINTEGEROPrIONAL. signerlDLen [2]IMPLIcT0CTETsTRINGOPTIONAL, signerlD signMethod表明使用的签名算法类型,应遵循GB/T335602017中6.2.4的规定 signerPublicKey表示签名者公钥,当signMethod为sGD_SM3_SM2时有效; signerIDL.en表示签名者的ID长度,当signMethod为sGD_SM3_SM2时有效 signerID表示签名者的ID值,当signMethod为sGD_SM3_SM2时有效 VerifySignedlDatalnitResp包 VerifySignedDatalnitResp包为多包验证数字签名初始化响应格式包,当respType取值veri- ySignedDatalnit时,响应包采用本子包,其具体格式如下 VerifySignedDatalnitResp:;=SEQUENCE respValue INTEGER. OCTETSTRINGOPTIONAL sesionlD espValue表明响应码,0表示成功,非0表示错误 SessionlID表示会话标识 7.5.10多包验证数字签名更新 VerifySignedDataUpdateReq包 VerifySignedDataUpdateReq包为多包验证数字签名更新请求格式包,当reqType取值veri- fySignedDataUpdate时,请求包采用本子包,其具体格式如下: VerifySignedDataUpdateRec keq::=SEQUENCE《 14
GB/38629一2020 SessionlD OCTETSTRING, inDataLen INTEGER iinData OCTETSTRING SessionlD表示会话标识; inDataLen表示数据明文长度; inData表示数据明文 VerifySignedDataUpdateResp包 VerifySignedDataUpdateResp包为多包验证数字签名更新响应格式包,当respType取值ver ifySignedDataUpdate时,响应包采用本子包,其具体格式如下 VerifySignedDataUpdateResp:;=SEQUENCE respValue INTEGER, OCTETSTRINGOPTIONA SessionlD respValue表明响应码,0表示成功,非0表示错误; SessionlD表示会话标识 多包验证数字签名结束 7.5.11 -VerifySignedDataFinalReq包 VerifySignedDataFinalReq包为多包验证数字签名结束请求格式包,当reqType取值verify SignedDataFinal时,请求包采用本子包,其具体格式如下 VerifySignedDataFinalReq:;=sEQUENCE NTEGER type [[o]IMPLICTCertifieateoPTIoNAL cert certSN [1]IMPLICT0cTETsSTRINGOPTIONAL OcTETsTRING SessionlD OcTETsTRING signature NTEGER verifylevel ype表示使用验证数字签名时使用证书或证书序列号,1表示使用证书,2表示使用证书序 列号; cert表示签名证书,type取值1时有效; certSN表示签名证书序列号,type取值2时有效 SessionlD表示会话标识 signature表示签名值,数据的结构应遵循GB/T35276 verifyL.evel表示证书验证级别,0;验证时间,l;验证时间和根证书签名,2;验证时间、根证书 签名和CRL VerifySignedDataFinalRe 包 esp VerifySignedDataFinalResp包为多包验证数字签名结束响应格式包,当respType取值veri- fsignednaaFiml时,响应包采用本子包,其具体格式如下 VerifySignedDataFinalResp::=SEQUENCE《 pValue INTEGER resp 15
GB/T38629一2020 respValue表明响应码,0表示成功,非0表示错误 7.5.12消息签名 SignMesugeReq包 SignMessageReq包为消息签名请求格式包,当reqType取值signMessage时,请求包采用本 子包,其具体格式如下 SignMessageReq3;=SEQUENCE! sgnMethod INTEGER, INTEGER keylndex OCTETSTRING, keyValue signerIDL.en [o]IMPLICTINTEG,EROPTIONAL [1]IMPLIcTocTETSTRINGoPTIoNAL. signerID inDatalen INTEGER, inData OCTETSTRING, originalText [o]IMPLICTBO0OLEANOPTIONAL [1]IMPLIcTB0oLEANoPToNAL. certificateChain [[2]IMPLIcTB0oLEANoPTIONAL cr ignMethod表明使用的签名算法类型,应遵循GB/T335602017中6.2.4的规定 keylndex表示签名者私钥的索引值,如十进制1表示索引值为1的密钥; keyValue表示签名者私钥权限标识码; signerIDLen表示签名者的ID长度,当signMethod为sGD_SM3_sM2时有效 signerID表示签名者的ID值,当signMethod为sGD_SM3_SM2时有效; inDataLen表示待签名的数据长度; inData表示待签名的数据; originalText表示是否附加原文选项, certificateChain表示是否附加证书链选项; crl表示是否附加黑名单选项 SignMessageResp包 SignMessageResp包为消息签名响应格式包,当respType取值signMessage时,响应包采用 本子包,其具体格式如下 SignMessageResp;=sSEQUENCE respValue NTEGER. signedMessage OCTETSTRINGOPTIONAL espValue表明响应码,0表示成功,非0表示错误 sgnecdMessage表示消息签名数据消息的结构应遵循GB/T35275. 7.5.13验证消息签名 VerifySignedMessageReq包 VerifySignedlMessageReq包为验证消息签名请求格式包,当reqType取值verifySignedlMessage 时,请求包采用本子包,其具体格式如下: SEQUENCE VerifySignedMessageRe 16
GB/38629一2020 inDataLen INTEGEROPTIONAL inData OCTETSTRINGOPTIONAL sgnerIDLem [OIMPLICTINTEGEROPTIONAL [1]IMPLICTOCTETSTRINGOPTIONAL, signeriID sgnedlMessage OCTETSTRING inDatalen表示数据原文长度,消息签名不附加原文时有效 inData表示数据原文,消息签名不附加原文时有效; signerIDL.en表示签名者的ID长度,当消息签名的签名算法为sGD_SM3_SM2时有效; signerID表示签名者的ID值,当消息签名的签名算法为SGD_SM3_SM2时有效 signedMessage表示输人的消息签名数据,消息的结构应遵循GB/T35275 essageResp包 VerifySignedMess VerifySignedMessageResp包为验证消息签名响应格式包,当respType取值verifySigner Mesage时,响应包采用本子包,其具体格式如下 VerifySignedMessageResp::=SEQUENCE respValue INTEGER respValue表明响应码,0表示成功,非0表示错误 17
GB/T38629一2020 附 录 A 规范性附录) 基于HHTP的消息协议语法规则 A.1 概述 第7章中描述的ASN.1格式是一种二进制格式,考虑到签名验证服务将被广泛用于各种wEB系 统,而wEB系统更善于处理文本,为此在第7章的基础上,另行设计了一套基于HTTP协议的消息协 议接口,便于各类wEB系统调用 其工作原理与第7章中的请求响应模式类似,不同的是将消息格式从二进制的ASN.1格式,转换 为易于在wEB应用和HTTP协议中传递的文本格式 本附录只描述了从第7章的消息格式到对应HTTP格式的转换规则,而不再复述第7章中每个请 求,响应的业务含义 A.2ASN.1数据类型到HIP格式的转化规则 表A.1AsN.1数据类型到HI格式的转化规则 AsN.1类型 HTTP字段类型 示例 INTEGER 数字的十进制文本表示 123 文本TRUE和FALSE BO(OLEAN 带时区格式的时间字符串 GeneraizedTime 20131001120000Z十0800 YY YYMMDDhhmm[ss[.s,..]Z十hhmml-hhmm) 0(CTETSTRING 对0CTETSTRING进行BASE64编码后的结果 验证证书有效性请求包 Certificate 对DER格式的证书进行BASE64编码后的结果 A.3HTTP请求的转换规则urlencoded格式 第7章中的请求分为两层结构,外层是公共结构 SVSReguest::=SEQUENCE VersionDEFAULTvl, verSIOn eqType ReqType. Request, request rregTime GreneralizedTime 这 -层结构在转换为HTTP时,被转化为HHTTPRee cequestHeader中的字段,原则如下 所有请求都采用HTTP的POST模式; a b reqType作为URL的最终一级资源名,目录允许自定义,如;/SignServer/SignDat ata; 18
GB/T38629一2020 version被作为一个自定义的HTTP字段sVSRequest-Version; c d) eqTime被作为一个自定义的HTTP字段sVS-Request-Time: HTTPHleader中的Co -Type为appliceation/x-www-form-urlencoded e ontent- HTTPHader中的Conten-Length为第7章中请求数据的实际长度 个转换的实例如下: POsT/SignServer/SignDataHTTP/1.I\r\n SVS-Re Request-Version;vIl\r\n svsRepuest-Time,2013a10oo120o0Z十080o\rn Content-Type:applieation/x-www-form-urlencoded\r\n Content-Length:实际请求body长度\r\nm \r\n signMethod= 注 将reqType直接作为wEB路径,而不是自定义的HTTP字段,是为了能在通用的wEB负载设备上进行 1 负载 注2;允许自定义URL.目录目的是允许灵话部署多套服务,对前端应用加以区分 注3.contentType和Content-Le Length是HTTP协议的标准字段,此处按照其原意进行使用 注4:HTTP协议中的其他标准字段如Host、User-Agent等,在此不再标出 第7章中代表业务请求实体的Request类型,将被转换为一个HTTP的form表单 paraml=valuel¶m2=value2paramN=valueN 比如7.5.4单包数字签名请求,将被转换为以下文本格式的表单 signMethod=一签名算法类型&.keylndex=私钥的索引&.keyValue一私钥权限标识码&.inDataLenm =1024&.inData=Base64编码的待签名的数据原文 A.4HTTP响应的转换规则urlencoded格式 第7章中的响应分为两层结构,外层是公共结构 sVsRespond:;=sEQUENCE version VersionDEFAUTvl, respType RespType, respond Respond, respTime GeneralizedTime 这一层结构在转换为HTTP时,被转化为HTTPResponseHeader中的字段,原则如下 respType被作为一个自定义的HTTP字段SVS-Re a esponse-type; b version被作为一个自定义的HTTP字段SVS-Res pOnse-verSion; respTime被作为一个自定义的HTTP字段sVSResponse-Time:; d 代表业务响应实体的Res esponse类型,也被转换为一个HTTP的form表单; 以7.5.4单包数字签名请求为例,其转换后HTTP响应如下 HTTP200OK\r\n SVS-Response se-Type:SignData\r\n SVS-Response scVersion;vl\r\nm SVS-Re keponse-Time:201310o11200o0Z十080o\r\n text/htm l .charset一 Content-Type =GB2312\\n 19
GB/T38629一2020 Content-L.ength;实际响应body的长度\r\n \r\n pValue=0&. -signature=Base64编码的签名结果 resp A.5HTP请求的转换规则(json格式 第7章中的请求 svsRequestt=sEoUENcE versionDEFAUL.TvI. version reqType ReqType, Request. request GeneralizedTime rreqTime 在转换为HTTP时,被转化为HTTPRequestbody中以json格式表示的数据,原则如下 所有请求都采用HTTP的POST模式; a b reqType被作为URL的路径 以7.5.4单包数字签名请求为例,其转换后HTTP请求如下 POST/SignDataHTTP/1.I\r\n C Content-Type:applieation/json\r\n Content-Length:实际请求body长度\r\n \r\n versio""vl" reqType";"signData" request signMethod""签名算法类型" keylndex":"私钥的索引", "keyValae"“私钥权限标识吗" "nDataL.en";"待签名的数据原文长度". "nDat";"Base64编码的待签名的数据原文" "reqTime""带时区格式的时间字符串"” 注1将reqType直接作为wEB路径,是为了能在通用的wEB负载设备上进行负载 注2;Content-Type和Content-length是HTTP协议的标准字段,此处按照其原意进行使用 注3对应HTP协议中的其他标准字段如H Host.UserAgent t等,在此不再标出 A.6HTP响应的转换规则json格式 第7章中的响应 sVSRespond::=SEQUENCE VersionDEFAULTv1 version respType RespType 20
GB/38629一2020 Respond respond GeneralizedTime espTime 在转换为HTTP时,被转化为HTTPResponsebody中以json格式表示的数据 以7.5.4单包数字签名请求为例,其转换后HTTP响应如下 HTTP200OK\\n Content- tType:applieation/jsonic charset =UTF-8\r\n Content-Le Length;实际响应body的长陛\r\n" r\n "version""v1" "reqType""signData" "respond' "espValue";"响应码" "Base64编码的签名结果" "signature" "regTime";"带时区格式的时间字符串" 21
GB/T38629一2020 附 录 B 规范性附录) 响应码定义和说明 响应码定义和说明见表B.1 表B.1响应码定义和说明 宏描述 预定义值 说明 正常返回 GM_SU(CCESS 错误码起始值 GM_ERROR_BASE Ox04000000 GMERRORCRTID 0x0400000 错误的证书标识 GML_ERROR_CERT_INFo_TYPE 错误的证书信息类型 0x04000002 GM_ERROR_SERVER_CONNECT 0x04000003 CRL或OCSP服务器无法连接 0x04000004 签名算法类型错误 GM_ERROR_SIGN_METHOD GM_ERROR_KEY_INDEX 0x04000005 签名者私钥索引值错误 GMERROR_KEY_VALUE 0x04000006 签名者私钥权限标识码错误 GM_ERR(OR_CERT 0x04000007 证书非法或服务器内不存在 _ERRORLCERT.DBCoE 证书解码错误 GM 0x04000008 GM_ERRoR_CERT_INVALDAF 证书过期 0x04000009 0x0400000A 证书尚未生效 GML_ERRoR_CERT_INVALD_BF GM_ERROR_CERT_REMOVED 0x0400000B 证书已被撤销 GM_INVALID_SIGNATURE 0x0400000C 签名无效 GM_INVALID_DATA_FORMAT 0x0400000D 数据格式错误 GM_SYSTEM_FAIlURE 0x0400000E 系统内部错误 0x0400000F0x040000FF预留 22

信息安全技术签名验签服务器技术规范GB/T38629-2020简述

随着互联网的快速发展,越来越多的信息需要在线上进行传输和处理。而数字证书和电子签名作为保障信息安全的重要手段,在网络应用中得到了广泛的应用。然而,单纯的数字证书和电子签名并不能完全保证信息的真实性和合法性,因此需要使用签名验签服务器技术来进一步提高其安全性和可信度。

GB/T38629-2020《信息安全技术 签名验签服务器技术规范》围绕签名验签服务器技术进行了详尽的规范。该规范明确了签名验签服务器的定义、功能、分类、架构等方面的要求,并对其相应的安全性、可靠性、易用性等进行了规定。

该规范要求签名验签服务器应具有以下安全性特点:

  • 支持多种加密算法和协议,保证数据传输的机密性
  • 支持数字证书验证、电子签名验证和时间戳验证等功能,确保信息真实性和完整性
  • 具有防篡改、防重放、防拒绝服务等安全措施,阻止各种攻击行为

此外,规范还要求签名验签服务器应该具备较高的可靠性和易用性,以便于企业和个人用户在日常业务中使用。对于签名验签服务器的部署和管理也进行了详细描述。

总的来说,GB/T38629-2020《信息安全技术 签名验签服务器技术规范》的发布,为保障数字证书和电子签名的安全性和可信度提供了重要的指导和规范标准。希望相关单位和个人能够严格遵守规范要求,积极采取有效的安全措施,共同维护网络信息安全。

和信息安全技术签名验签服务器技术规范类似的标准

信息安全技术汽车电子系统网络安全指南
上一篇 本文分享国家标准信息安全技术汽车电子系统网络安全指南的全文阅读和高清PDF的下载,信息安全技术汽车电子系统网络安全指南的编号:GB/T38628-2020。信息安全技术汽车电子系统网络安全指南共有30页,发布于2020-11-01
信息技术实时定位多源融合定位数据接口
本文分享国家标准信息技术实时定位多源融合定位数据接口的全文阅读和高清PDF的下载,信息技术实时定位多源融合定位数据接口的编号:GB/T38630-2020。信息技术实时定位多源融合定位数据接口共有22页,发布于2020-11-01 下一篇
相关推荐