搜索结果: GB/T 37374-2019, GB/T37374-2019, GBT 37374-2019, GBT37374-2019
| 标准编号 | GB/T 37374-2019 (GB/T37374-2019) | | 中文名称 | 智能交通 数字证书应用接口规范 | | 英文名称 | Intelligent Transport - Digital Certificate Application Interface | | 行业 | 国家标准 (推荐) | | 中标分类 | R07 | | 国际标准分类 | 03.220.20; 35.240.60 | | 字数估计 | 22,285 | | 发布日期 | 2019-05-10 | | 实施日期 | 2019-12-01 | | 发布机构 | 国家市场监督管理总局、中国国家标准化管理委员会 |
GB/T 37374-2019
Intelligent transport--Digital certificate application interface
ICS 03.220.20;35.240.60
R07
中华人民共和国国家标准
智能交通 数字证书应用接口规范
2019-05-10发布
2019-12-01实施
国 家 市 场 监 督 管 理 总 局
中国国家标准化管理委员会 发 布
目次
前言 Ⅰ
1 范围 1
2 规范性引用文件 1
3 术语和定义 1
4 缩略语 2
5 数字证书应用接口 2
6 安全消息语法 6
附录A(资料性附录) 合作式ITS安全签名消息示例 14
附录B(资料性附录) 合作式ITS安全加密消息示例 16
参考文献 18
前言
本标准按照GB/T 1.1-2009给出的规则起草。
本标准由全国智能运输系统标准化技术委员会(SAC/TC268)提出并归口。
本标准起草单位:交通运输部公路科学研究院、北京中交国通智能交通系统技术有限公司、中关村
中交国通智能交通产业联盟、国家计算机网络与信息安全管理中心、北京信息科技大学、恒安嘉新(北
京)科技股份公司、北京航空航天大学。
本标准主要起草人:梅新明、周洲、孙婧、王立岩、武俊峰、宋向辉、陈晓光、刘鸿伟、王永建、赵童、
吴秋新、王云鹏、余贵珍。
智能交通 数字证书应用接口规范
1 范围
本标准规定了智能运输系统中的数字证书应用接口和安全消息语法。
本标准适用于智能运输系统中数字证书应用相关的软硬件系统设计、研发及测试。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 25069-2010 信息安全技术 术语
GM/T 0010 SM2密码算法加密签名消息语法规范
3 术语和定义
GB/T 25069-2010界定的以及下列术语和定义适用于本文件。
3.1
在较完善的交通基础设施上,将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技
术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制
造,加强车辆、道路、使用者三者之间的联系,从而形成的一种保障安全、提高效率、改善环境、节约能源
的综合运输系统。
3.2
合作式智能运输系统 cooperativeITS
通过人、车、路信息交互,实现车辆和基础设施之间、车辆与车辆、车辆与人之间的智能协同与配合
的一种智能运输系统。
3.3
数字证书 digitalcertificate
由认证权威数字签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及一些扩展信
息的数字文件。
[GB/T 20518-2006,定义3.7]
3.4
SM2算法 SM2algorithm
一种椭圆曲线密码算法,密钥长度为256比特。
3.5
算法标识 algorithmidentifier
用于标明算法机制的数字化信息。
4 缩略语
以下缩略语适用于本文件。
OER:八位字节编码规则(OctetEncodingRules)
OFB:输出反馈模式(OutputFeedback)
5 数字证书应用接口
5.1 概述
数字证书应用接口包括消息签名与验证、采用非对称算法的消息加密与解密、采用对称算法的消息
加密与解密。
5.2 基本元素说明
5.2.1 椭圆曲线坐标
椭圆曲线坐标格式定义如下:
5.2.2 公钥结构
椭圆曲线公钥结构定义如下:
5.2.3 签名结构
签名结构定义如下:
5.2.4 对称加密结构
对称加密结构定义如下:
说明:
param为对称密码运算参数;
当分组模式为ECB时,param不使用;
当分组模式为CBC/CFB/OFB时,param存放iv;
当分组模式为CCM时,param存放nonce;
当param实际数据少于16字节时,后面补0;
注:分组密码算法的工作模式详见GB/T 17964要求。
5.2.5 非对称加密结构
非对称加密结构定义如下:
说明:
curve取值如下:
5.3 消息签名
消息签名接口定义如下:
描述: 对消息进行数字签名
参数: plain [IN]待签名的数据缓冲区指针。
plainLen [IN]待签名数据长度。
keyId [IN]签名密钥标识;当有多个签名密钥时,用来指定使用某个特
定的签名密钥。
sign [OUT]签名结果。
返回值: 0---成功;其他---错误号。
说明:
私钥签名的原文为:Hash(plain)||Hash(signCer);
5.4 验证签名
消息签名验证接口定义如下:
intsignerLen,PublicKeypk,Signaturesign)
描述: 验证消息数字签名
参数: plain [IN]签名原文数据缓冲区指针。
plainLen [IN]签名原文数据长度。
signer [IN]签名者证书的编码字节数据缓冲区指针。
signerLen [IN]签名者证书数据长度。
pk [IN]签名证书中的验签公钥。
sign [IN]签名值。
返回值: 0---验签成功;其他---验签失败。
5.5 消息非对称加密
消息非对称加密接口定义如下:
描述: 对消息进行数据加密
参数: plain [IN]要加密的原文。
plainLen [IN]原文长度。
symAlg [IN]对称加密算法,定义如下:
pk [IN]来自于证书或签名消息中的加密公钥。
kek [OUT]对随机产生的对称密钥使用加密公钥加密的结果。
cipherText [OUT]对称加密结果。
返回值: 0---加密成功;其他---错误。
说明:首先随机产生一个符合对称加密算法的对称密钥,使用对称密钥对原文加密,依次用公钥加
密对称密钥,产生对应的kek。
5.6 消息非对称解密
消息非对称解密接口定义如下:
unsignedchar*plain,int*plainLen)
描述: 对消息进行数据解密
参数: cipherText [IN]原始消息的对称加密密文。
symAlg [IN]对称密码算法,定义如下:
kek [IN]对随机产生的对称密钥使用加密公钥加密的结果。
plain [OUT]解密出的原始消息缓冲区指针。
plainLen [OUT]原始消息长度。
返回值: 0---解密成功;其他---错误。
说明:通过本方的非对称私钥解密kek的内容,得到对称密钥,再依指定的对称算法对cipherText
中的消息密文解密,得到消息原文。
5.7 消息对称加密
消息对称加密接口定义如下:
描述: 对消息进行数据加密
参数: plain [IN]要加密的原文。
plainLen [IN]原文长度。
symAlg [IN]对称加密算法,定义如下:
symmKey [IN]用于加密消息原文的对称密钥,明文。
symmKeyLen [IN]明文对称密钥的长度。
encryptedSymmKey [OUT]被内部对称密钥加密的symmKey的密文。
cipherText [OUT]消息密文。
返回值: 0---加密成功;其他---错误。
说明:如果加密成功,通过输出参数返回密文。
5.8 消息对称解密
消息对称解密接口定义如下:
描述: 对消息进行数据解密
参数: cipherText [IN]消息密文。
symAlg[in]:消息的对称加密算法,定义如下:
encryptedSymmKey [IN]加密消息的对称密钥的密文,可被内部特定对称密钥解密。
plain [OUT]原文。
plainLen [OUT]原文长度。
返回值: 0---解密成功;其他---错误。
说明:如果解密成功,通过输出参数返回原文。
5.9 摘要计算
摘要计算接口定义如下:
原型: intITS_digest(unsignedchar*plain,intplainLen,inthashAlg,unsignedchar*hash
描述: 对消息计算摘要
参数: plain [IN]要计算摘要的内容的数据缓冲区指针。
plainLen [IN]内容长度。
hashAlg [IN]摘要算法,定义如下:
#defineHashAlg_SM3 1
#defineHashAlg_SHA256 4
hash [OUT]摘要数据,32字节长。
返回值: 0---加密成功;其他---错误。
说明:用于计算证书、外部签名数据等内容的摘要。
6 安全消息语法
6.1 语法结构
安全消息语法结构分为两种类型:
a) 当应用证书类型为机构证书、公务人员证书、社会公众证书、设备证书时,安全消息语法结构遵
循GM/T 0010;
b) 当应用证书类型为ITS设备证书时,安全消息语法结构遵循本章定义。
6.2 基本元素说明
6.2.1 编码规则
安全消息语法由多种类型的基本元素构成。下面的基本元素数据结构和消息语法使用ASN.1进
行描述,并采用OER对签名消息和加密消息的各项信息进行编码。
6.2.2 基本数据类型
基本数据类型定义如下:
6.2.3 3字节哈希值
3字节哈希值定义为HashedId3类型,结构如下:
HashedId3∷= OCTETSTRING(SIZE(3))
说明:本哈希值用来识别证书等数据。首先计算输入数据的哈希值,取32字节的哈希值的低3个
字节。
6.2.4 8字节哈希值
8字节哈希值定义为HashedId8类型,结构如下:
HashedId8∷= OCTETSTRING(SIZE(8))
说明:本哈希值用来识别证书等数据。首先计算输入数据的哈希值,然后从哈希值中取8个最低有
效字节。最低的8个字节是32字节的散列的最后8个字节。
6.2.5 摘要算法
摘要算法被定义为HashAlgorithm类型,结构如下:
6.2.6 椭圆曲线算法
椭圆曲线算法定义为EccCurve类型,结构如下:
6.2.7 对称......
|