标准搜索结果: 'GB/T 37376-2019'
| 标准编号 | GB/T 37376-2019 (GB/T37376-2019) | | 中文名称 | 交通运输 数字证书格式 | | 英文名称 | Transportation - Digital Certificate Format | | 行业 | 国家标准 (推荐) | | 中标分类 | R07 | | 国际标准分类 | 03.220.20; 35.240.60 | | 字数估计 | 18,135 | | 发布日期 | 2019-05-10 | | 实施日期 | 2019-12-01 | | 发布机构 | 国家市场监督管理总局、中国国家标准化管理委员会 |
GB/T 37376-2019
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 数字证书格式 2
附录A(资料性附录) ITS设备证书格式示例 10
附录B(资料性附录) 证书撤销列表格式示例 12
参考文献 14
前言
本标准按照GB/T 1.1-2009给出的规则起草。
本标准由全国智能运输系统标准化技术委员会(SAC/TC268)提出并归口。
本标准起草单位:交通运输部公路科学研究院、北京中交国通智能交通系统技术有限公司、中关村
中交国通智能交通产业联盟、国家计算机网络与信息安全管理中心、北京信息科技大学、恒安嘉新(北
京)科技股份公司、北京航空航天大学。
本标准主要起草人:梅新明、周洲、孙婧、王立岩、武俊峰、宋向辉、陈晓光、刘鸿伟、王永建、赵童、
吴秋新、王云鹏、余贵珍。
引 言
本标准在国家对数字证书分类的基础上,结合交通运输信息系统各类应用场景,重点考虑了智能交
通系统应用中,各类数据安全服务对数字证书长度、运算效率等方面的要求,对ITS设备证书的格式进
行了规范化定义。
本标准凡涉及密码算法相关内容,均考虑了国产密码算法的应用与实现。
交通运输 数字证书格式
1 范围
本标准规定了交通运输信息系统中数字证书分类和数字证书格式。
本标准适用于交通运输信息系统中与数字证书应用相关的软硬件系统设计、研发及测试。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 25069-2010 信息安全技术 术语
GM/T 0015 基于SM2密码算法的数字证书格式规范
3 术语和定义
GB/T 25069-2010界定的以及下列术语和定义适用于本文件。
3.1
在较完善的交通基础设施之上,将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器
技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆
制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源
的综合运输系统。
3.2
合作式智能运输系统 cooperativeITS
通过人、车、路信息交互,实现车辆和基础设施之间、车辆与车辆、车辆与人之间的智能协同与配合
的一种智能运输系统。
3.3
数字证书 digitalcertificate
由国家认可的,具有权威性、可信性和公正性的第三方证书认证机构(CA)进行数字签名的一个可
信的数字化文件。
[GB/T 20518-2018,定义3.7]
3.4
ITS设备证书 ITSdevicecertificate
面向智能运输系统中的车载单元、路侧单元和移动终端等发放的具有特定格式的证书文件。
3.5
SM2密码算法 SM2algorithm
一种椭圆曲线密码算法,密钥长度为256比特。
4 缩略语
以下缩略语适用于本文件。
5 证书分类
交通运输系统中数字证书的签发和管理包括以下五类证书:
a) 机构证书---面向交通运输系统内部机构或服务单位发放;
b) 公务人员证书---面向交通运输系统计算机终端用户发放(工作人员);
c) 社会公众证书---面向交通运输系统计算机终端用户发放(外部用户);
d) 设备证书---面向交通运输系统的服务器、终端设备等发放;
e) ITS设备证书---面向交通运输系统中的车载单元、路侧单元和移动终端等发放。
6 数字证书格式
6.1 通用格式
机构证书、人员证书、社会公众证书、设备证书格式应符合GM/T 0015的要求。
6.2 ITS设备证书格式
6.2.1 基本元素说明
6.2.1.1 编码规则
使用ASN.1对数据结构进行描述,采用八位字节编码规则(OER)对数字证书格式的各项信息进行
编码。
6.2.1.2 基本数据类型
基本数据类型定义如下:
Uint3∷=INTEGER(0.7) --(hex) 07
Uint8∷=INTEGER(0.255) --(hex) ff
Uint16∷=INTEGER(0.65535) --(hex) ffff
6.2.1.3 8字节哈希值
8字节哈希值定义为HashedId8类型,结构如下:
HashedId8∷= OCTETSTRING(SIZE(8))
说明:本哈希值用来识别证书等数据,首先计算输入数据的哈希值,然后从哈希值中取8个最低有效字节,最
低的八个字节是32字节的散列的最后八个字节。
6.2.1.4 摘要算法
摘要算法定义为HashAlgorithm类型,结构如下:
HashAlgorithm ∷=ENUMERATED{
sgdsm3,
6.2.1.5 椭圆曲线算法
椭圆曲线算法定义为EccCurve类型,结构如下:
EccCurve∷=ENUMERATED{
sgdsm2,
brainpoolP256r1,
对称加密算法定义为SymmetricAlgorithm类型,结构如下:
SymmetricAlgorithm∷=ENUMERATED{
sgdsm4ecb,
sgdsm4cfb,
sgdsm4ofb,
6.2.1.7 签名公钥
签名公钥定义为PublicVerifyKey类型,结构如下:
PublicVerifyKey∷=SQUENCE{
curve EccCurve,
key ECCPoint,
本项描述了椭圆曲线上的一个点。该点被定义为ECCPoint类型,结构如下:
ECCPoint∷=CHOICE{
fil NULL,--consistencyw1363/X9.62
uncompressed SEQUENCE{
说明:
该结构表示一个用于验证签名的公钥;
国密算法时,ECCPoint均采用x-only形式。
6.2.1.8 加密公钥
加密公钥定义为PublicEncryptionKey类型,结构如下:
PublicEncryptionKey∷=SEQUENCE {
supportedSymmAlg SymmetricAlgorithm,
publicKey ECCPoint
说明:该结构表示一个用于非对称加密计算的公钥及其支持的对称密码算法。
6.2.1.9 32位时间
32位时间信息定义为Time32类型,结构如下:
Time32∷= Uint32
说明:Time32是一个32位无符号整数,高位优先编码格式,自2004年1月1日 UTC00:00:00开始,给出国
际原子时间的秒数。
6.2.1.10 地理有效区域
地理有效区域定义为GeographicRegion类型,结构如下:
GeographicRegion∷=CHOICE{
polygonalRegion PolygonalRegion,
说明:本项标识定义了证书应用地理区域,这些区域可以用来限制证书的有效性。
6.2.1.11 圆形区域
圆形地理有效区域定义为CircularRegion类型,结构如下:
CircularRegion∷=SEQUENCE{
radiusUint16
说明:圆形有效区域以中心点和以米为单位的半径确定,有效区域范围需距离中心点小于或等于半径;包含
海拔参数的某地理点是否在指定的圆形区域内,判断该点在参考椭球体表面的水平投影是否在此圆形区域内
即可。
6.2.1.12 矩形区域
矩形地理有效区域定义为RectangularRegion类型,结构如下:
RectangularRegion∷=SEQUENCE{
含海拔参数的某地理点是否在指定的矩形区域内,判断该点在参考椭球体表面的水平投影是否在此矩形区域内
即可。
6.2.1.13 多边形区域
多边形地理有效区域定义为PolygonalRegion类型,结构如下:
说明:多边形区域定义了一个地区使用一系列不同的地理点,通过连接指定的地理点,完成多边形连接并最
终指向第一点;包含海拔参数的某地理点是否在指定的多边形区域内,判断该点在参考椭球体表面的水平投影是
否在此多边形区域内即可。
6.2.1.14 二维位置信息
二维位置信息定义为TwoDLocation类型,结构如下:
TwoDLocation∷=SEQUENCE{
latitude Latitude,
longitude Longitude
说明:这个数据结构用于定义区域用于证书的有效性,纬度和经度字段包含上面定义的纬度和经度。
6.2.1.15 三维位置信息
三维位置信息定义为ThreeDLocation类型,结构如下:
ThreeDLocation∷=SEQUENCE {
latitude Latitude,
longitude Longitude,
elevation Elevation
Elevation∷= Uint16
说明:Elevation表示海拔,单位:分米(dm),取值范围-4095(0xF001)dm~61439(0xEFFF)dm。
纬度信息定义为Latitude类型,结构如下:
Latitude∷= NinetyDegreeInt
min(-900000000),
unknown(900000001)
}(-900000000.900000001)
说明:
纬度字段包含一个整数编码,精度为1微度;
允许的纬度值范围从-900000000~+900000000,值900000001表明纬度是不可用的。
6.2.1.17 经度
经度信息定义为Longitude类型,结构如下:
Longitude∷= OneEightyDegreeInt
min(-1799999999),
unknown(1800000001)
说明:
经度字段包含一个整数编码,精度为1微度;
允许的经度值范围从-1799999999~+1800000000,值1800000001表示经度是不可用的。
6.2.2 证书
6.2.2.1 证书结构
ITS设备数字证书即为合作式智能运输系统数字证书(Certificate),结构如下:
Certificate∷=SEQUENCE {
version Uint8,
issuerId IssuerId,
tbs tbsCert,
signature Signature
tbsCert∷ =SEQUENCE{
subjectInfo SubjectInfo,
ITS设备数字证书示例参见附录A。
6.2.2.2 版本
证书版本号,当前编码值为2。
6.2.2.3 签名者信息
证书签名者信息定义为IssuerId类型,结构如下:
IssuerId∷=CHOICE{
self NULL,
CertificateDigest∷=SEQUENCE {
algorithm HashAlgorithm,
digest HashedId8
说明:
self:自签名,无额外数据;
certificateDigest:用指定的摘要算法对证书计算 Hash,得到的标识。
6.2.2.4 主题信息
证书主题信息定义为SubjectInfo类型,结构如下:
SubjectInfo∷=SEQUENCE {
subjectType SubjectType,
SubjectType∷=ENUMERATED{
authorizationTicket,
rootCa,
crlSigner
说明:
当与认证机构通信时,ITS设备应使用SubjectType为enrolmentCredential的SubjectInfo的证书,此类证书
禁止用于签发ITS设备注册证书(授权证书)或用于与其他ITS设备认证通信;
当与其他ITS设备通信时,ITS设备应使用SubjectType为authorizationTicket的SubjectInfo的证书,此类证
书禁止用于签发ITS设备授权证书(注册证书);
认证机构为ITS设备签发注册证书时,SubjectType应当为enrolmentAuthority;
认证机构为其他认证机构签署证书时,SubjectType应当为rootCa;
证书撤销列表的签名者,SubjectType应当为crlSigner。
6.2.2.5 主题属性
证书主题属性定义为SubjectAttribute,结构如下:
SubjectAttribute∷=SEQUENCE{
SubjectAssurance∷= OCTETSTRING(SIZE(1))
说明:
verificationKey:符合PublicVerifyKey结构的公钥数据;
encryptionKey:符合PublicEncryptionKey结构的公钥数据,如果存在此内容,则表明接下来的响应数据要求
利用此公钥加密;
assuranceLevel:符合SubjectAssurance结构的主题信任级别,SubjectAssurance:本字段定义ITS设备密钥管
理的安全性评估及对应的安全级别,主题信任的规范以及信任水平的编码超出了本文档的范围,默认(没有担保)
应当将所有位设置为0;
itsAid:符合Uint64类型的一般智能交通应用标识;
ItsAid∷= Uint64;
itsAidSsp:符合ItsAidSsp结构的规定服务权限的智能交通应用列表;
ItsAidSsp∷=SEQUENCE{
itsAid ItsAid,
};
6.2.2.6 有效性限定
证书有效性限定定义为ValidityRestriction,结构如下:
ValidityRestriction∷=SEQUENCE{
ValidityPeriod∷=CHOICE{
timeEnd Time32,
TimeStartAndEnd∷=SEQUENCE{
endValidity Time32
说明:
timeEnd:符合Time32结构的证书截止日期;
timeStartAndEnd:符合Time32结构,包含证书有效起始日期以及证书截止日期;
Region:符合GeographicRegion结构的证书有效区域。
6.2.2.7 签名
基于公钥密码算法的签名值(Signature),结构如下:
Signature∷=SEQUENCE{
curve EccCurve,
r ECCPoint,
说明:
签名计算的原文为:Hash(data)||Hash(signer);其中data为待签数据的字节,signer为签名者;
当自签时,signer为零长字节数组;
当非自签时,为签名者证书的编码内容;
对证书签名和消息签名时均使用此方式。
6.3 证书撤销列表格式
CRL(证书撤销列表)结构如下:
Crl∷=SEQUENCE{
version Uint8
IssuerId IssuerId,
unsignedCrl ToBeSignedCrl,
说明:
version:CRL的版本,在本标准中此字段设置为1;
IssuerId:标识签名的密钥,该值不能取self,如果包含签名公钥的证书的subjectType为rootCa的话,该值只
unsignedCrl:未签名CRL;
Signature:CRL颁发机构签名值,签名基于unsignedCrl字段的内容计算得出;
ToBeSignedCrl∷=SEQUENCE{
crlSerial Uint32,
issueDate Time32,
nextCrl Time32,
entries SequenceOfRevokeInfo
};
crlSerial:计数器,从0开始,对于每次颁发CRL时,其值应该增加1;
nextCrl和issueDate指定了此CRL覆盖的时间段;
nextCrl:包含了预计的CRL发布时间;
RevokeInfo∷=SEQUENCE{
id HashedId10,
hashAlg HashAlgorithm,
expiry Time32 OPTIONAL,
};
id:被作废证书的 HashedId;
hashAlg:计算得到id的摘要算法;
expiry:被作废证书的失效时间;
证书撤销列表格式示例参见附录B。
附 录 A
(资料性附录)
ITS设备证书格式示例
A.1 概述
本附录给出一个符合数字证书格式的授权证书数据结构,整个证书结构共161字节。
A.2......
|