中国广播影视数字版权管理认证中心
技术实施指南
Technical Implementation Guide of China DRM Trust Authority
日期:2017 年 11月 01日
版本:
中国广播影视数字版权管理认证中心技术实施指南
目 录
目录 ................................................................................. I
中国广播影视数字版权管理认证中心技术实施指南 ......................................... 1
1 范围 ............................................................................... 1
2 规范性引用文件 ..................................................................... 1
3 术语和定义 ......................................................................... 2
4 缩略语 ............................................................................. 2
5 公钥体系结构 ....................................................................... 3
6 证书格式 ........................................................................... 6
7 OCSP协议 .......................................................................... 14
8 证书吊销列表 ...................................................................... 16
9 CDTA密钥管理 ...................................................................... 19
10 实施要求 ......................................................................... 21
中国广播影视数字版权管理认证中心技术实施指南
第 1 页 版本: 2017 年 11 月 01 日
中国广播影视数字版权管理认证中心技术实施指南
1 范围
本实施指南规定中国广播影视数字版权管理认证中心基于1K RSA, SHA-1, AES-128的公钥体系结
构、证书格式、在线证书状态协议、证书吊销列表、DRM密钥管理体系等。
本指南是对GT/T 277-2014中信任与安全体系部分的补充。
2 规范性引用文件
下列文件对于本指南的应用是必不可少的。凡是标注日期的引用文件,仅所标注日期的版本适用于
本指南。凡是不标注日期的引用文件,其最新版本(包括所有的修改单)适用于本指南。
GY/T 277-2014 互联网电视数字版权管理技术规范(Technical specification of digital
rights management for internet television)
NIST FIPS 197 高级数据加密标准(AES)(Advanced Encryption Standard)
NIST FIPS 180-2 安全哈希标准(Secure Hash Standard)
ISO/IEC 18033-2 信息技术-安全技术-加密算法-第2部分:非对称密钥(Information technologh-
Security techniques-Encryption algorithms-Part2:Asymmetric ciphers)
RFC 2104 密钥散列消息认证(HMAC:Keyed-Hashing for Message Authentication)
PKCS #1 RSA 加密标准
PKCS #8 私钥信息语法标准
PKCS #9 选定的对象类和属性类型
PKCS #10 证书请求语法标准
PKCS #12 个人信息交换语法
RFC 1738 统一资源定位符(Uniform Resource Locators)
RFC 2560 Internet 公钥基础设施–在线证书状态协议– OCSP( Internet Public Key
Infrastructure Online Certificate Status Protocol - OCSP)
RFC 2616 超文本传输协议HTTP/(Hypertext Transfer Protocol -- HTTP/)
RFC 3279 Internet 公钥基础设施:证书和CRL概述-算法和标识概述(Algorithms and
Identifiers for the Internet Public Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile)
RFC 3280 Internet 公钥基础设施:证书和 CRL 概述(Internet Public Key
Infrastructure Certificate and Certificate Revocation List (CRL) Profile)
RFC 3369 加密消息语法(Cryptographic Message Syntax)
RFC 3394 高级数据加密标准(AES)密钥包裹算法(Advanced Encryption Standard(AES) Key Wrap
Algorithm)
ANSI 金融业务的公钥加密-使用离散对数加密的对称密钥协议(Financial Services
Public Key Encryption:Using Discrete Logarithm Cryptography Symmetric Cryptographic
Protocols)
中国广播影视数字版权管理认证中心技术实施指南
第 2 页 版本: 2017 年 11 月 01 日
ANSI 金融业务的公钥加密–用整数分解加密法的密钥建立(Financial Services Public Key
Encryption:Key Establishment Using Integer Factorization Cryptography)
3 术语和定义
下列术语和定义适用于本指南。
根CA 公共密钥基础设施(PKI)拓扑层次结构顶部受信任的CA (Root CA)。
设备 安装有DRM代理的消费内容的实体(device)。
DRM 代理 设备中的可信实体,负责执行与DRM内容相关的许可和限制(DRM agent)。
设备 CA 为设备签发证书的CA (device CA)。
DRM 服务端 向DRM代理发送许可证的实体(DRM server)。
DRM 服务端CA 向DRM服务端签发证书的CA (DRM server CA)。
OCSP 响应器 生成OCSP响应的实体(OCSP Responder)。
加密 为了产生密文,即隐藏数据的信息内容,由密码算法对数据进行(可逆)变换
(encryption)。
解密 与加密过程相对应的逆过程,即由密码算法对密文数据进行逆变换(decryption)。
密钥 控制密码变换操作(例如:加密、解密、密码校验函数计算、签名生成或签名验证)
的符号序列(key)。
数字签名 附加在数据单元上的一些数据,或是对数据单元所作的密码变换,用于验证数字信
息来源的真实性和数据的完整性(digital signature)。
许可证 对数字媒体内容访问权限、使用规则和密钥等控制信息的描述(license)。
4 缩略语
下列缩略语适用于本指南。
AES 高级数据加密标准(Advanced Encryption Standard)
ARL 机构吊销列表(Authority Revocation List)
CA 证书中心(Certificate Authority)
CDTA 中国广播影视数字版权管理认证中心(ChinaDRM Trust Authority)
CRL 证书吊销列表(Certificate Revocation List)
ChinaDRM 中国数字版权管理(China Digital Rights Management)
DER 区分编码规则(Distinguished Encoding Rules)
DP 设备公钥(Device Public-Key)
DRM 数字版权管理(Digital Rights Management)
DVD-R 可记录式DVD(DVD-Recordable)
HMACK 基于散列函数的消息认证码密钥
HTTP 超文本传输协议(Hyper Text Transport Protocol)
ISO 国际标准化组织(International Organization for Standardization)
KDF 密钥导出函数(Key Derivation Function)
OCSP 在线证书状态协议(Online Certificate Status Protocol)
MAC 消息验证码(Message Authentication Code)
中国广播影视数字版权管理认证中心技术实施指南
第 3 页 版本: 2017 年 11 月 01 日
PKCS 公钥密码标准(The Public-Key Cryptography Standards)
PKI 公钥基础设施(Public Key Infrastructure)
LEK 许可证加密密钥 (License Encryption Key)
RFC 征求意见(Request For Comments)
RSA 一种公钥密码算法(Rivest,Shamir,Adleman)
5 公钥体系结构
概述
CDTA公钥体系结构包括根CA、DRM服务端CA、设备CA、OCSP响应器等,CDTA公钥体系结构见图1。
中国广播影视数字版权管理认证中心技术实施指南
第 4 页 版本: 2017 年 11 月 01 日
离线系统
在线系统
根 CA
DRM服务端
CA
设备 CA
设备CA
证书
设备CA证书
DRM服务端
CA 证书
设备证书
及密钥
DRM服
务端证书
设备
CRL
DRM服务端
CRL
DRM服务端
CA 证书
OCSP
证书
OSCP 响应器下载服务器
DRM服务端设备
DRM服务端
CRL
颁发机构吊
销列表
(ARLS)
根证书
设备
证书
DRM服务
端证书
DRM服务
端CA 证书
OCSP
响应
OCSP
证书
设备CA
证书
图1 CDTA公钥体系结构
根 CA
根CA负责生成和管理根证书、设备CA证书、DRM服务端CA证书、机构吊销列表(ARL)。
根证书:由根CA自己签发,根证书是CDTA信任链的根节点。
设备CA证书:用于认证CDTA设备CA的证书。
DRM服务端CA证书:用于认证CDTA DRM服务端CA的证书。
机构吊销列表ARL:被吊销的设备CA证书清单,供DRM服务端使用。
设备 CA
设备CA负责生成和管理设备证书、设备CRL以及间接设备CRL。
中国广播影视数字版权管理认证中心技术实施指南
第 5 页 版本: 2017 年 11 月 01 日
设备证书和对应的RSA密钥对由设备制造商向CDTA订购,CDTA安全地传递给设备制造商,设备制
造商把它们预装在设备中。
设备CRL包含被吊销的设备证书。
设备CRL可能包含间接设备CRL,间接设备CRL包含被主设备CA和其它设备CA吊销的设备证书。
设备
DRM服务端和DRM代理通过GY/T 277-2014规定的权利获取协议交互时,DRM代理使用的证书链包括
设备证书、设备CA证书,其中设备证书应排在证书链的第一个。
DRM服务端 CA
DRM服务端CA生成和管理DRM服务端证书、OCSP响应器证书、DRM服务端CRL。
DRM服务端证书:用于认证CDTA DRM服务端。
OCSP响应器证书:存储在 OCSP 响应器上,用于认证CDTA OCSP响应器。
DRM服务端CRL包含被吊销的DRM服务端证书,该CRL将发送给OCSP响应器用于DRM服务端证书在线
认证。
DRM服务端
DRM服务端和DRM代理通过GY/T 277-2014规定的权利获取协议交互时,DRM服务端证书链包括DRM服
务端证书、DRM服务端CA证书,其中DRM服务端证书应排在证书链的第一个。
OCSP响应器
OCSP响应器产生OCSP响应时,把OCSP证书作为OCSP响应的一部分提供给设备。
OCSP响应器不能为列入DRM服务端CRL中的DRM服务端提供OCSP服务。
中国广播影视数字版权管理认证中心技术实施指南
第 6 页 版本: 2017 年 11 月 01 日
6 证书格式
概述
CDTA的证书遵循RFC 3280规定的 DER编码的证书格式。证书颁发者和拥有者的属性采
用UTF8String编码,证书语法见表1。
表1 CDTA证书
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
TBSCertificate ::= SEQUENCE {
version [0] EXPLICIT Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3
extensions [3] EXPLICIT Extensions OPTIONAL
-- If present, version MUST be v3
}
中国广播影视数字版权管理认证中心技术实施指南
第 7 页 版本: 2017 年 11 月 01 日
根 CA证书
根CA证书是一个自签名的CA证书,DRM服务端和DRM代理以该证书为信任根来验证其他证书和吊销
列表。根CA证书将被分发到设备制造商和DRM服务端,证书分发方式不在本指南介绍。
根CA证书结构见表2。
表2 根 CA证书结构
字段 说明
Version 版本号,当前版本为 v3,整型值 2。
SerialNumber 序列号,由 CDTA 定义。
Signature 签名算法,sha-1 With RSA Encryption,见 RFC3279。
Issuer 颁发者,与主体域相同。
Validity
有效期,自签名之日起 50 年内有效,CDTA 可能在将来创建新的根 CA 或重
新签发现有的根 CA 证书。
Subject
主体,包含属性:
-国家/地区名称 (countryName)(例如"CN");
-单位名称 (oranizationName)(例如"CDTA");
-常用名 (commonName) (例如"Root CA")。
SubjectPublicKeyInfo
主体公钥信息,包含 2048位 RSA 公钥, 由 RFC3279 中定义的 pkcs-1 算法
标识符标识。
IssuerUniqueID 颁发者唯一标识符,不使用。
SubjectUniqueID 主体唯一标识符,不使用。
BasicConstraints extension
基本约束扩展,为必选、关键字段。cA 字段被设置为 TRUE,不使用
pathLenConstraint 字段。
CRLDistributionPoints extension CRL 分发点扩展,不使用。
KeyUsage extension
密钥使用扩展,为必选、 关键字段。只设置密钥使用位 keyCertSign 和
cRLSign。
AuthorityKeyIdentifier extension 颁发者密钥标识扩展,不使用。
SubjectKeyIdentifier extension
主体密钥标识扩展,为必选、 非关键字段。密钥标识符方法遵循
RFC3280,用 subjectPublicKey 字段中不包括标记、 长度和未使用的位
计算的 160 位的 sha-1 哈希值。
CertificatePolicies extension 证书策略扩展,不使用。
ExtKeyUsage extension 扩展密钥使用扩展,不使用。
Id pkix ocsp nocheck extension 不查 OCSP 响应器证书扩展,不使用。
SignatureAlgorithmId 签名算法标识,sha-1 with RSA Encryption, 见 RFC3279。
SignatureValue 签名值。
中国广播影视数字版权管理认证中心技术实施指南
第 8 页 版本: 2017 年 11 月 01 日
DRM服务端 CA证书
DRM服务端CA证书由根CA签发,DRM服务端保存该证书。DRM服务端可将该证书发给DRM代理作为DRM
服务端证书链的一部分。
DRM服务端CA证书结构见表3。
表3 DRM服务端 CA证书结构
字段 说明
Version 版本号,当前版本为 v3,整型值 2。
SerialNumber 序列号,CDTA 定义。
Signature 签名算法,sha-1 With RSA Encryption,见 RFC3279。
Issuer 颁发者,与 CDTA 根 CA 主体字段相同。
Validity 有效期,截止日期与根 CA 截止相同,开始日期为证书的生成时间。
Subject
主体,包含属性:
-国家/地区名称 (countryName)(例如"CN");
-单位名称 (organizationName)(例如"CDTA");
-常用名 (commonName) (例如 DRM Server CA 1")。
SubjectPublicKeyInfo
主体公钥信息,包含 2048 位 RSA 公钥,由 RFC 3279 中定义的 PKCS-1 算法
标识符标识。
IssuerUniqueID 颁发者唯一标识符,不使用。
SubjectUniqueID 主体唯一标识符,不使用。
BasicConstraints extension
基本约束扩展,必选、关键。cA 字段被设置为 TRUE,pathLenConstraint
字段设置为零。
CRLDistributionPoints extension CRL 分发点扩展,不使用。
KeyUsage extension
密钥使用扩展,必选、关键。只设置密钥使用位 keyCertSign 和
cRLSign。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、非关键。该扩展只包含 keyIdentifier 字
段,具有和相应 CDTA根 CA 证书的 subjectKeyIdentifier 扩展值相同的
值。
SubjectKeyIdentifier extension
主体密钥标识扩展,必选、非关键。密钥标识符方法遵循 RFC3280,用
subjectPublicKey 字段中不包括标记、长度和未使用的位计算的 160 位的
sha-1 哈希值。
CertificatePolicies extension 证书策略扩展,不使用。
ExtKeyUsage extension 扩展密钥使用扩展,不使用。
Id pkix ocsp nocheck extension 不查 OCSP 响应器证书扩展,不使用。
SignatureAlgorithmId 签名算法标识,Sha-1 With RSA Encryption,见 RFC3279。
SignatureValue 签名值。
中国广播影视数字版权管理认证中心技术实施指南
第 9 页 版本: 2017 年 11 月 01 日
DRM服务端证书
DRM服务端证书由DRM服务端CA签发,该证书是DRM服务端证书链的第一个证书。DRM服务端证书结构
见表4。
表4 DRM服务端证书结构
字段 说明
Version 版本号,当前版本为 v3,整型值 2。
SerialNumber 序列号,CDTA 定义。
Signature 签名算法,sha-1 With RSA Encryption,见 RFC3279。
Issuer 颁发者,与 DRM 服务端 CA 证书的主体字段相同。
Validity
有效期,有效期为签发日期起 5 年内,但不应晚于相应 DRM服务端 CA
证书的证书有效日期。
Subject
主体,
强制属性:
-组织名称 (organizationName)(如"示例名称")由 CDTA 定义;
可选属性:
- GY/T277-2014 中定义的附加特性,这些字段的值由 DRM 服务端提供。
SubjectPublicKeyInfo
主体公钥信息,包含 1024位 RSA 公钥,由 RFC3279 中定义的 pkcs-1
算法标识符标识。
IssuerUniqueID 颁发者唯一标识符,不使用。
SubjectUniqueID 主体唯一标识符,不使用。
BasicConstraints extension 基本约束扩展,不使用。
CRLDistributionPoints extension CRL 分发点扩展,不使用。
KeyUsage extension 密钥使用扩展,必选、关键。只设置密钥使用位 digitalSignature。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、 非关键。该扩展只包含 keyIdentifier
字段,具有和相应 DRM 服务端 CA 证书的 subjectKeyIdentifier 扩展
值相同的值。
SubjectKeyIdentifier extension 主体密钥标识扩展,不使用。
CertificatePolicies extension 证书策略扩展,不使用。
ExtKeyUsage extension
扩展密钥使用扩展,必选、 关键。该扩展包含 cdrm-kp-drmServer
对象标识符()。
Id pkix ocsp nocheck extension 不查 OCSP 响应器证书扩展,不使用。
SignatureAlgorithmId 签名算法标识,sha-1 With RSA Encryption,见 RFC3279。
SignatureValue 签名值。
中国广播影视数字版权管理认证中心技术实施指南
第 10 页 版本: 2017 年 11 月 01 日
OCSP 响应器证书
OCSP 响应器证书由DRM服务端CA签发,OCSP响应器保存该证书。设备发出OCSP请求时,该证书和
OCSP响应一同由DRM服务端发送给设备。OCSP响应器证书结构见表5。
表5 OCSP响应器证书结构
字段 说明
Version 版本号,当前版本为 v3,整型值 2。
SerialNumber 序列号,CDTA 定义。
Signature 签名算法,sha-1 With RSA Encryption,见 RFC3279。
Issuer 颁发者,与相应的 DRM 服务端 CA 主体字段相同。
Validity 有效期,3 个月有效期,但应在 DRM 服务端 CA 证书有效期内。
Subject
主体,包含属性:
-国家/地区名称 (countryName)(例如"CN");
-组织名称 (organizationName)(例如"CDTA");
-常用名 (commonName) (例如"OCSP Responder 1")。
SubjectPublicKeyInfo
主体公钥信息,包含 1024 位 RSA 公钥,由 RFC3279 中定义的 pkcs-1 算法
标识符标识。
IssuerUniqueID 颁发者唯一标识符,不使用。
SubjectUniqueID 主体唯一标识符,不使用。
BasicConstraints extension 基本约束扩展,不使用。
CRLDistributionPoints extension CRL 分发点扩展,不使用。
KeyUsage extension 密钥使用扩展,必选、 关键。只设置密钥使用法 digitalSignature。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、 非关键。该扩展只包含 keyIdentifier 字
段,具有和相应的 DRM 服务端 CA 证书的 subjectKeyIdentifier 扩展值
相同的值。
SubjectKeyIdentifier extension
主体密钥标识扩展,必选、 非关键。密钥标识符方法使用,见 RFC3279,
用 subjectPublicKey 字段中不包括标记、 长度和未使用的位计算的 160
位的 sha-1 哈希值。
CertificatePolicies extension 证书策略扩展,不使用。
ExtKeyUsage extension
扩展密钥使用扩展,必选、 关键。该扩展包含 id-kp-OCSPSigning 对象
标识符。
Id pkix ocsp nocheck extension 不查 OCSP 响应器证书扩展,必选、 非关键。扩展值为 NULL。
SignatureAlgorithmId 签名算法标识,sha-1 With RSA Encryption,见 RFC3279。
SignatureValue 签名值。
中国广播影视数字版权管理认证中心技术实施指南
第 11 页 版本: 2017 年 11 月 01 日
设备 CA 证书
设备CA证书由根CA签发,作为设备证书链的一部分保存在终端设备中。DRM服务端和DRM代理通过
GY/T 277-2014规定的权利获取协议交互时,DRM代理将该证书发给DRM服务端作为DRM代理证书链的一
部分。
设备CA证书结构见表6。
表6 设备 CA证书结构
字段 说明
Version 版本号,当前版本为 v3,整型值 2。
SerialNumber 序列号,CDTA 定义。
Signature 签名算法,sha-1 With RSA Encryption,见 RFC3279。
Issuer 颁发者,与 CDTA 根 CA 主体字段相同。
Validity
有效期,到期日期与根 CA 到期日期相同,开始日期为证书的生成时
间。
Subject
主体,包含属性:
-国家/地区名称 (countryName) (例如"CN");
-组织名称 (organizationName)(例如"CDTA");
-常用名 (commonName) (例如"Device CA 1")。
SubjectPublicKeyInfo
主体公钥信息,包含 2048位 RSA 公钥, 由 RFC3279 中定义的 pkcs-算
法标识符标识。
IssuerUniqueID 颁发者唯一标识符,不使用。
SubjectUniqueID 主体唯一标识符,不使用。
BasicConstraints extension
基本约束扩展,必选、 关键。cA 字段被设置为 TRUE。
PathLenConstraint 字段设置为零。
CRLDistributionPoints extension CRL 分发点扩展,不使用。
KeyUsage extension
密钥使用扩展,必选、 关键。对于 CDTA 拥有的设备 CA, 只设置密
钥使用位 keyCertSign 和 cRLSign 。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、 非关键。该扩展只包含 keyIdentifier
字段,具有和相应的 CDTA根 CA 证书的 subjectKeyIdentifier 扩展
值相同的值。
SubjectKeyIdentifier extension
主体密钥标识扩展,必选、 非关键。密钥标识符方法遵循 RFC3279,
用 subjectPublicKey 字段中不包括标记、 长度和未使用的位计算的
160 位的 sha-1 哈希值。
CertificatePolicies extension 证书策略扩展,不使用。
ExtKeyUsage extension 扩展密钥使用扩展,不使用。
Id pkix ocsp nocheck extension 不查 OCSP 响应器证书扩展,不使用。
SignatureAlgorithmId 签名算法标识,sha-1 With RSA Encryption,见 RFC3279。
SignatureValue 签名值。
中国广播影视数字版权管理认证中心技术实施指南
第 12 页 版本: 2017 年 11 月 01 日
设备证书
设备证书由设备CA签发。设备证书和证书对应的私钥将通过DVD-R发送给设备制造商或服务提供商,
设备制造商或服务提供商将设备证书置入设备。
DRM代理在接到请求时将设备证书发送给DRM服务端,作为设备证书链的第一个证书。
设备证书结构见表7。
表7 设备证书结构
字段 说明
Version 版本号,当前版本为 v3,整型值 2。
SerialNumber
序列号,CDTA 已颁发的设备证书内唯一的非负整数,用 DER 编码的
序列号字段的结构规定如下:
字节 1-2: CA 标识符。 第一个字节必须不是 00h 或者其最高有效
位不为零;
字节 3-6: 证书批次号, 设备 CA 内唯一;
字节 7-20:用证书公钥和当前日期和时间计算的 sha-1 哈希值的最低
14 字节。
序列号可用于在设备 CRL 中吊销一批密钥和证书,使用第 8 章中定
义的 CRL 机制。
Signature 签名算法,sha-1 With RSA Encryption,见 RFC3279。
Issuer 颁发者,与颁发设备 CA 证书的主体字段相同。
Validity 有效期,有效期为 20 年,但不应晚于相应设备 CA 证书的有效期。
Subject
主体,强制属性:
- 单位名称 (organizationName) 由 CDTA 给特定的设备制造商指定
的;
- 序列号(serialNumber) 由 CDTA 分配,通过计算公钥的 sha-1 哈
希值得到;
- 常用名(commonName) 含有如下定义的前缀,剩余部分由设备商或服
务商定义:
- “SW-” 标志实现了软件保护协议的客户端;
- “HW-” 标志实现了硬件保护协议的客户端;
- “EH-” 标志实现了增强型保护协议的客户端。
可选属性:
- GY/T 277-2014 指定的附加属性,这些属性值由设备制造商指定。
SubjectPublicKeyInfo
主体公钥信息,包含 1024 位 RSA 公钥, 由 RFC3279 中定义的 pkcs-1
算法标识符标识。
IssuerUniqueID 颁发者唯一标识符,不使用。
SubjectUniqueID 主体唯一标识符,不使用。
BasicConstraints extension 基本约束扩展,不使用。
CRLDistributionPoints extension
CRL 分发点扩展。
(a) 由 CDTA 管理的设备 CA 颁发的证书:不使用。
(b) 由辅助设备 CA 颁发的证书:必选、 非关键。
中国广播影视数字版权管理认证中心技术实施指南
第 13 页 版本: 2017 年 11 月 01 日
字段 说明
该扩展只包含一个 cRLIssuer 字段用来定义设备 CRL 颁发者的可分辨
名称。
KeyUsage extension
密钥使用扩展,必选、 关键。只设置密钥使用位 digitalSignature
和 keyEncipherment 。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、 非关键。该扩展只包含 keyIdentifier
字段,具有与相应设备 CA 证书的 subjectKeyIdentifier 扩展值相
同的值。
SubjectKeyIdentifier extension 主体密钥标识扩展,不使用。
CertificatePolicies extension 证书策略扩展,不使用。
ExtKeyUsage extension
扩展密钥使用扩展,必选、 关键。该扩展包含 cdrm-kp-drmAgent 对
象标识符 ()。
Id pkix ocsp nocheck extension 不查 OCSP 响应器证书扩展,不使用。
SignatureAlgorithmId 签名算法标识,sha-1 With RSA Encryption,见 RFC3279。
SignatureValue 签名值。
中国广播影视数字版权管理认证中心技术实施指南
第 14 页 版本: 2017 年 11 月 01 日
7 OCSP协议
概述
OCSP服务遵循RFC 2560规定。OCSP协议消息传输使用HTTP协议,DRM服务端和DRM代理之间按照GY/T
277-2014规定的权利获取协议交互时,DRM代理应检查DRM服务端证书的吊销状态。DRM服务端证书链包
含DRM服务端证书和DRM服务端CA证书,OCSP请求必须检查DRM服务端证书的吊销状态,但不要求检查DRM
服务端CA证书的吊销状态。
OCSP 请求
OCSP请求由DRM服务端代替设备发出。OCSP请求消息格式见表8。
表8 OCSP请求消息格式
字段 说明
Version 版本,v1(整数值 0)。
RequestorName 请求者名,可选;可包含在请求中,但 OCSP 响应器将忽略请求者名。
RequestList 请求列表,应包含一个请求列表。
Request 请求,应包含一个列表。
ReqCert 请求证书字段。
Hash-Algrithm 哈希算法,id-sha1,见 RFC3297。
IssuerName Hash 颁发者 DN 值的哈希值,该哈希值不应被截断。
IssuerKey Hash 颁发者公钥的哈希值,该哈希值将不应被截断。
SerialNumber 证书序列号。
SingleRequest-extension 单个请求的扩展,不使用。
RequestExtensions 请求(列表)的扩展,不应使用除以下定义以外的扩展。
id-pkix-ocsp-nonce
随机数,可选,非关键;如果给定,将在响应中重复随机数值。随机数的
值来源于设备,见 GY/T277-2014。
OptionalSignature 可选签名,可能包含在请求中,但 OCSP 响应器将其忽略。
中国广播影视数字版权管理认证中心技术实施指南
第 15 页 版本: 2017 年 11 月 01 日
OCSP 响应
OCSP响应消息由OCSP响应器发出。OCSP响应消息格式见表9。
表9 OCSP响应消息格式
字段 说明
ResponseStatus
响应状态,成功 - successful,异常请求 - malformedRequest,内部错
– internalError,等一会再试 – tryLater,必须签名 -
sigRequired,未经正常授权 – unauthorized as appropriate。
ResponseBytes 响应字段。
ResponseType 响应类型,OCSP 基本响应:id-pkix-ocsp-basic。
Response 响应,八位字节串包含 BasicOCSPResponse。
BasicOCSPResponse 基本`OCSP 响应
TbsResponseData 将被签名的响应数据。
Version 版本,v1 (整数值 0)。
ResponderID
响应器标识符,应使用密钥(不是名称)哈希。 密钥哈希算法应遵循
RFC2560,其值和 OCSP 响应器证书的扩展名域 subjectKeyIdentifier
的值相同。
ProducedAt 生成时间,生成此 OCSP 响应的时间。
Responses 响应列表。
CertID 证书标识。
HashAlgorithm 哈希算法,id-sha1,见 RFC3279,哈希值不应被截断。
IssuerName-Hash 颁发者名哈希,颁发者 DN 的哈希值。
IssuerKeyHash 颁发者公钥哈希,颁发者公钥的哈希值。
SerialNumber 证书序列号。
CertStatus
证书状态,可选择值:正常 - good、吊销 - revoked、未知 –
unknown。
ThisUpdate 本次修改时间,取自于 CRL 的 thisUpdate 字段值。
NextUpdate 下次修改时间,取自于 CRL 的 nextUpdate 字段值。
SingleExtensions 单个响应扩展,不使用。
ResponseExtensions 响应扩展,不应使用除以下定义以外的扩展。
Nonce(id-pkix-ocsp-nonce)
随机数,可选,非关键;如果请求给定,将在响应中重复这随机数。随机
数的值来源于设备,见 GY/T 277-2014 中的定义。
SignatureAlgorithm 签名算法,sha1 With RSA Encryption,见 RFC3279。
Signature 签名值,根据签名算法计算的签名值。
Certs
证书列表,OCSP 响应器证书由 OCSP 响应器通过每个 OCSP 响应提供给
DRM 服务端。但是在把响应传递给设备前,此证书可能从 OCSP 响应中去
除。DRM 服务端 CA 和根 CA 的证书不需要提供,它们应在设备置入证书
时已经预先置入。
中国广播影视数字版权管理认证中心技术实施指南
第 16 页 版本: 2017 年 11 月 01 日
8 证书吊销列表
概述
证书吊销列表包括CDTA ARL、设备CRL和DRM服务端CRL。
CDTA ARL由根CA生成,DRM服务端根据该证书吊销列表验证设备CA的证书状态。
设备CRL由设备CA生成,OCSP响应器根据设备CRL为DRM代理提供设备证书状态查询服务。
DRM服务端CRL由DRM服务端CA生成,OCSP响应器根据DRM服务端CRL为设备提供DRM服务端证书状态查
询服务。
证书吊销列表遵循RFC3280。证书吊销列表都为DER编码,证书颁发者和拥有者的属性采用
UTF8String编码。证书吊销列表语法见表10。
表10 证书吊销列表
CertificateList ::= SEQUENCE {
tbsCertList TBSCertList,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
TBSCertList ::= SEQUENCE {
version Version OPTIONAL,
-- if present, MUST be v2
signature AlgorithmIdentifier,
issuer Name,
thisUpdate Time,
nextUpdate Time OPTIONAL,
revokedCertificates SEQUENCE OF SEQUENCE {
userCertificate CertificateSerialNumber,
revocationDate Time,
crlEntryExtensions Extensions OPTIONAL
-- if present, MUST be v2
} OPTIONAL,
crlExtensions [0] EXPLICIT Extensions OPTIONAL
-- if present, MUST be v2
}
中国广播影视数字版权管理认证中心技术实施指南
第 17 页 版本: 2017 年 11 月 01 日
设备 CRL
设备CRL由主设备CA签发,包含主设备CA和其它辅助设备CA签发的证书吊销状态信息。DRM服务端用
该CRL验证设备证书的吊销状态。
辅助设备CA生成的CRL将被发送到主设备CA并由主设备CA产生设备CRL,然后提供给DRM服务端。
设备CRL格式见表11。
表11 设备 CRL格式
字段 说明
version 版本,v2 (整型值 1)。
Issuer 颁发者,与 CDTA 设备 CA 证书的主体字段值相同。
ThisUpdate 本次颁发时间。
NextUpdate 下次颁发时间,180 小时后,CDTA 可基于运行考虑修改此值。
RevokedCertificates entries 被吊销的证书条目。
UserCertificate 用户证书,吊销证书的序列号。
RevocationDate 吊销日期。
CertificateRange CRL extension
证书区间 CRL 扩展,可选、关键。在吊销一批证书时使用,DRM 服务端
应支持该扩展。
CertificateIssuer CRL extension
证书颁发者 CRL 扩展,可选、关键。 此扩展用于辅助设备 CA 颁发的
证书。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、 非关键。该扩展只包含
subjectKeyIdentifier 域,其值与颁发该 CRL 的设备 CA 证书的
keyIdentifier 字段扩展值相同。
CRLNumber extension CRL 序列号扩展,必选、 非关键。值是一个单调递增序列号。
IssuingDistributionPoint
证书分发点,可选、关键 。此扩展用于设备 CA 颁发的设备 CRL 中含
有的任何辅助设备 CA 颁发的证书。 布尔值 indirectCRL 字段被设
置为 TRUE。DRM 服务端应支持该扩展。
SignatureAlgorithmId 签名算法标识符,sha-1 with RSA Encryption,见 RFC3297。
Signature 签名值。
CertificateRange CRL extension:证书区间CRL扩展是CDTA自定义的CRL扩展项,在CDTA发布的
CRL中使用。该扩展用在将某一区间的一批证书序列号吊销,一般在CDTA的设备密钥DVD光盘被泄露时使
用。该扩展定义一个证书序列号区间,该证书序列号区间的起始值是UserCertificate字段定义的值,
结束值为CertificateRange CRL extension中的lastRevokedCertificate 字段定义的值,所有在此区
间内的证书序列号(包含起始和结束值)都是被吊销的证书的序列号。lastRevokedCertificate字段的
值应大于UserCertificate字段值。该扩展应标记为关键扩展。
id-xx-CDTA revokedCertificateRange OBJECT IDENTIFIER:: =
{iso(1) member-body(2) china(156) chinadrm(112560)} crL(3)
lastRevokedCertificate:: = CertificateSerialNumber
CDTA证书吊销列表的OID值为:
CertificateIssuer CRL extension:证书颁发者CRL扩展,见RFC3280。该扩展在本指南中用于指
明被吊销的证书是由辅助设备CA颁发的。该扩展为必选扩展,DRM服务端应支持该扩展。
中国广播影视数字版权管理认证中心技术实施指南
第 18 页 版本: 2017 年 11 月 01 日
DRM服务端 CRL
DRM服务端CRL由DRM服务端CA签发,包含由DRM服务端CA签发的DRM服务端证书和OCSP响应器证书的
吊销信息。该CRL被送到OCSP响应器用于生成OCSP响应,同时也被送到DRM服务端用于验证OCSP响应器证
书的吊销状态。DRM服务端CRL格式见表12。
表12 DRM服务端 CRL格式
字段 说明
version 版本,v2 (整型值 1)。
Signature 签名算法,sha-1 with RSA Encryption,见 RFC3297。
Issuer 颁发者,与 DRM 服务端 CA 证书的主体字段相同。
ThisUpdate 本次颁发时间。
NextUpdate
下次颁发时间,颁发日期的 180 小时后。CDTA 可基于运行考虑修改
此值。
RevokedCertificates entries 吊销条目。
UserCertificate 用户证书,吊销证书的序列号。
RevocationDate 吊销日期。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、 非关键。该扩展只包含
subjectKeyIdentifier 域,其值与许可证颁发 CA 证书的
keyIdentifier 字段扩展值相同。
CRLNumber extension CRL 序列号,必选、 非关键。该值是一个单调递增的序列号。
SignatureAlgorithmId 签名算法标识符,sha-1 with RSA Encryption,见 RFC3297。
Signature 签名值。
中国广播影视数字版权管理认证中心技术实施指南
第 19 页 版本: 2017 年 11 月 01 日
CDTA ARL
CDTA ARL由CDTA根CA签发,用来验证设备CA的吊销状态。CDTA ARL格式见表13。
表13 CDTA ARL格式
字段 说明
version 版本,v2 (整型值 1)。
Signature 签名算法,sha-1 with RSA Encryption,见 RFC3297。
Issuer 颁发者,与 CDTA 根 CA 证书的主体字段相同。
ThisUpdate 本次颁发时间。
NextUpdate 下次颁发时间,8 个月。CDTA 可基于运行考虑修改此值。
RevokedCertificates entries 吊销条目。
UserCertificate 用户证书,吊销证书的序列号。
RevocationDate 吊销日期。
AuthorityKeyIdentifier extension
颁发者密钥标识扩展,必选、 非关键。该扩展只包含
subjectKeyIdentifier 域,其值与 CDTA 根 CA 证书的
keyIdentifier 字段扩展值相同。
CRLNumber extension CRL 序列号,必选、 非关键。值是一个单调递增序列号。
SignatureAlgorithmId 签名算法标识符,sha-1 with RSA Encryption,见 RFC3297。
Signature 签名值。
9 CDTA密钥管理
概述
遵循本指南和GY/T 277-2014的DRM系统支持以下密钥管理规则。
I2OSP()整数到字节串函数
I2OSP 把一个非负整数转换成PKCS#1定义的指定长度的八位字节串。
OS2IP()字节串到整数函数
OS2IP 把一个八位字节串转换成PKCS#1定义的非负整数。
KDF()
KDF 是定义的密钥导出函数KDF2,是一个基于哈希函数的简单密钥导出函数。本指南规定的
哈希函数为SHA-1。
KDF 接受三个参数:
Z:一个任意长度的共享密钥值字节串;
otherInfo:导出密钥的其他信息,一个任意长度的字节串(可能是空字符串);
kLen:密钥长度,kLen 应是一个整数,最多(232–1)hLen, 这里 hLen 是以八位字节数计的哈希
函数输出的长度。
中国广播影视数字版权管理认证中心技术实施指南
第 20 页 版本: 2017 年 11 月 01 日
KDF 操作的输出是密钥K,它是一个 kLen长度的字节串。KDF操作如下(n表示大于或等于n的最
小整数):
(1) 设T是空字符串;
(2) 计数器从1到 kLen / hLen ,D为4字节无符号的big-endian 表示的计数器,T = T | HASH
(Z | D | otherInfo);
(3) 输出 T 的前 kLen 个字节作为派生密钥K。
AES-WRAP()
AES-WRAP 是由RFC-3394定义基于AES的对称密钥包装方法,它输入一个密钥加密密钥KEK和被包裹
的密钥K。该方法产生的包裹结果C如下:
C = AES-WRAP(KEK, K)。
相应的解密过程是:
K = AES-UNWRAP(KEK, C)。
KEK的传输
RSAES-KEM-KWS 是定义的一种非对称加密方法,基于ISO/IEC 18033 的通用混合加密。该方
法使用CDRM设备的RSA公钥 P=(m, e),由模数m和公开指数e组成,安全地把对称密钥材料从CDRM服务端
传递给CDRM设备。
CDRM 服务端
CDRM 服务端产生一个按统计规律均匀分布在区间[0,……,m-1]的随机整数Z。
将Z值按以下方式转换为密钥加密密钥(KEK):
o KEK = KDF(I2OSP(Z, mLen), NULL, kekLen)
mLen 是以字节计算的模数m的长度
NULL 是空字串
kekLen 设置为KEK所需的长度(以字节计)。
CDRM服务端用CDRM设备公钥P对Z加密,如下所示:
o C = I2OSP((P, Z), mLen)
I2OSP 定义如上
是 PKCS#1 中定义的原函数RSAEP,定义为
(P,Z)= Ze mod m
C 被传输到CDRM设备。
CDRM 设备
收到C之后,
CDRM 设备获得Z如下:
o C1 = OS2IP(C, mLen)
o Z = (PrivKeyDevice, C1) = C1
d
mod m
OS2IP 如上定义
是 PKCS#1 中定义的原函数RDADP
o CDRM设备从Z计算KEK如下:
KEK = KDF(I2OSP(Z, mLen), NULL, kekLen)
中国广播影视数字版权管理认证中心技术实施指南
第 21 页 版本: 2017 年 11 月 01 日
HMACK 和 LEK 的传输
CDRM 服务端使用 AES-WRAP()用KEK对 HMACK 和 LEK 进行加密,产生 CHMACK 和 CLEK 以便放入许
可证中。注:HMACK 和 LEK 都是128位密钥。
CHMACK = AES-WRAP(KEK, HMACK)
CLEK = AES-WRAP(KEK, LEK)
CDRM 设备使用AES-UNWRAP()对 CHMACK 和 CLEK 进行解密如下:
HMACK = AES-UNWRAP(KEK, CHMACK)
LEK = AES-UNWRAP(KEK, CLEK)
CEK的传输
LEK 用于通过AES-WRAP()对 CEK 加密以便放入许可证中并传输给 CDRM 设备:
CDRM 服务端:CCEK = AES-WRAP(LEK, CEK)
CDRM 设备: CEK = AES-UNWRAP(LEK, CCEK)
10 实施要求
除本指南规定的内容外,CDTA服务提供商的 DRM系统还应符合 GY/T 277-2014和 CDTA服务提供商
协议;CDTA客户端使用者的产品还应符合 GY/T 277-2014和 CDTA客户端使用者协议。