华为根证书计划
1 目的
为了帮助用户识别可信安全的证书,避免证书滥发、错发等带来的风险,华为创建并维护一个根证书库用来管理华为信任的CA(Certification Authority)证书;纳入华为根证书库的CA证书需要满足相应的要求和规范,此根证书计划文档明确了对CA机构和证书的要求和约束。
2 对CA机构要求
本章节描述了HRCP(Huawei Root Certificate Program)对CA机构的要求,包含CA机构需遵守的证书基线规范要求,证书策略(CP,Certificate Policy)和证书实践声明(CPS,Certification Practice Statement),审计要求,CA机构的自我评估和沟通以及披露要求。
2.1 规范要求
用于TLS服务器的证书必须符合最新的CA/Browser Forum Baseline Requirements for TLS Server Certificates相关规定。
用于TLS服务器EV的证书必须符合最新的CA/Browser Forum EV Guidelines for TLS Server Certificates相关规定。
用于代码签名的证书必须符合最新的CA/Browser Forum Baseline Requirements for Code-Signing Certificates相关规定。
用于EV代码签名的证书必须符合最新的CA/Browser Forum EV Code Signing Certificate Guidelines相关规定。
用于签名或加密/解密电子邮件消息的证书必须符合最新的CA/Browser Forum Baseline Requirements for the Issuance and Management of Publicly-Trusted S/MIME Certificates相关规定。
如果HRCP的策略要求与TLS、代码签名或S/MIME基线要求不一致,则HRCP的策略要求优先。
2.2 CP和CPS
CA机构必须公开披露CP和CPS,以确认是否满足华为的要求,要求如下:
- 公开披露的文档必须向华为提供足够的信息,以确定CA机构遵守本政策;
- 公开披露的文档必须可从CA机构的官方网站上获取且必须向华为提供文档;
- 所有CP、CPS和组合CP/CPS必须至少每365天进行一次审查和更新,且有版本号记录(递增)以及修订记录和修订日期,即使没有对文档进行其他更改;
- 所有CP、CPS和组合CP/CPS必须按照RFC 3647结构,并至少包括RFC 3647中定义的每个部分和小节;
- CA机构要明确提供确定CP、CPS或组合CP/CPS适用于每个根证书和中间证书的说明描述;
- CA机构应维护从创建包含CA证书开始的每个CP、CPS和组合CP/CPS的所有历史版本的链接,无论此类CA证书的所有权或控制权是否发生变化,直到CA证书不在华为根证书库中。
2.3 审计要求
在被纳入到华为根证书库之前,CA机构必须向华为提供对其根证书及其PKI链中所有的中间证书的合格审计证明,此后至少每年提供一次。
2.3.1 审计标准
如果按照WebTrust标准进行审计,适用以下审计要求:
- WebTrust: Principles and Criteria for Certification Authorities 版本2.2.2或更高版本;
- WebTrust: Principles and Criteria for Certification Authorities – SSL Baseline 版本2.8或更高版本;
- WebTrust: Principles and Criteria for Certification Authorities – Extended Validation SSL 版本1.8或更高版本;
- WebTrust: Principles and Criteria for Certification Authorities – Code Signing Baseline Requirements 版本3.2或更高版本;
- WebTrust: Principles and Criteria for Certification Authorities – S/MIME 版本1.0.3或更高版本。
如果按照ETSI标准进行审计,适用以下审计要求:
- ETSI EN 319 411-1:Policy and security requirements for Trust Service Providers issuing certificates; Part 1: General requirements 版本1.4.1或更高版本;
- ETSI EN 319 411-2:Policy and security requirements for Trust Service Providers issuing certificates;Part 2: Requirements for trust service providers issuing EU qualified certificates 版本2.5.1或更高版本;
- ETSI TS 119 411-6:Policy and security requirements for Trust Service Providers issuing certificates; Part 6: Requirements for Trust Service Providers issuing publicly trusted S/MIME certificates 版本1.1.1或更高版本。
HRCP接受WebTrust和ETSI两种审计标准,对不同的证书用途作了更加详细的的审计要求说明。
对于WebTrust审计标准,参考如下:
对于ETSI审计标准,参考如下:
2.4 CA自我评估和临时评估
CA机构必须每年进行一次合规性自我评估,年度自我评估必须在CA机构最早出现的根记录“BR审计期结束日期”起的92天内完成并提交给华为。
CA机构应使用CCADB最新版本的合规性自我评估模板,不得使用在提交前90个日历日内已被取代的自我评估模板版本。
在某些必要场景下,华为可能会要求根证书计划参与者接受额外的临时审计,比如在CA证书私钥销毁场景或针对事件的补救验证场景。。
2.5 事件、沟通和披露要求
2.5.1 事件
对于CA机构错误签发、流程或操作问题,或者任何其他形式的不合规行为,都归类为事件,并且CA机构必须在获知后立即向华为报告。
在审计中记录为资质、修改意见或重大不符合项的任何事项也被视为事件,必须有相应的审计事件报告。
为响应事件,华为可能要求CA机构提交事件解决的计划或提交针对本次事件的审计报告。
2.5.2 沟通和披露要求
CA机构必须提供联系人沟通矩阵,包含联系人、官方邮件地址、联系方式,并保持沟通渠道及时有效。
CA机构必须每年向华为披露其完整的PKI层次结构。
CA机构必须在将注册根或中间证书的所有权转移给其他实体或个人之前至少30天通过邮件rootcaprogram@huawei.com通知华为。。
3 证书要求
3.1 技术要求
HRCP中的所有CA证书必须符合相应技术要求,如果华为判定某CA机构不符合以下要求,华为将拒绝该CA机构。
3.1.1 根证书要求
- 根证书必须是X.509 v3格式证书:
- 要添加到根证书库的证书必须是自签名根证书;
- 新生成的根证书有效期必须从提交之日起至少为8年,最长为15年;
- 禁止使用1024 RSA算法签发证书;
- 所有终端实体证书包含具有有效OCSP URL的AIA扩展, 还可以包含具有有效CRL URL的CDP扩展;其他证书包含有效的OCSP URL的AIA扩展或具有有效 CRL URL的CDP 扩展;
- 每个根证书的私钥和主题名称必须是唯一的,同一证书在后续根证书中重复使用私钥或主题名称可能会导致意外的证书链接问题。在生成新的根证书时,证书必须生成新的密钥并应用新的使用者名称,才有可能被纳入到根证书库;
- 根证书必须将服务器身份验证、S/MIME和代码签名等证书用途分开。签发的中间证书不得将服务器身份验证与S/MIME、代码签名结合使用,必须为每个用途场景使用单独的中间证书;
- 终端实体证书必须满足CA/Browser Forum 最新要求规范的算法类型和密钥大小;
- 所有终端实体证书的证书策略扩展需遵循CA/Browser Forum Baseline Requirements所定义的OID,且只能选择其中的1个OID值:
- 终端实体证书的Basic Constraints字段必须为False,并且pathLenConstraint字段必须缺失。
1) CN属性必须标识发布者,并且必须是唯一的;
2) CN属性必须使用业界通用的语言,并且方便阅读;
3) Basic Constraints必须为true;
4) KeyUsage extension 必须存在且标记为critical,KeyCertSign和CRLSign的值必须填充;如果根CA私钥用于对OCSP响应进行签名,则KeyUsage extension必须设置为digitalSignature;
a. 扩展验证(EV): 2.23.140.1.1
b. 域名验证(DV): 2.23.140.1.2.1
c. 组织验证(OV): 2.23.140.1.2.2
d. EV代码签名:2.23.140.1.3
e. 非EV代码签名:2.23.140.1.4.1
3.1.2 签名和密钥要求
算法 | 除代码签名和时间戳 | 代码签名和时间戳使用 |
---|---|---|
Digest Algorithms | SHA2(SHA256、SHA384、SHA512) | SHA2(SHA256、SHA384、SHA512) |
RSA | 2048 | 4096(仅限新根) |
ECC/ECDSA | NIST P-256、P-385、P-521 | NIST P-256、P-384、P-521 |
3.1.3 中间证书要求
- 中间证书需包含Basic Constraints扩展字段且值设置为True;
- 中间证书满足如下EKU要求(与根证书共享私钥的交叉证书除外):
- TLS服务器的中间证书,extendedKeyUsage字段值必须填充,填充id-kp-serverAuth或者 id-kp-serverAuth&id-kp-clientAuth;
- TLS服务器的终端实体证书,extendedKeyUsage字段值必须填充,填充id-kp-serverAuth或者id-kp-serverAuth&id-kp-clientAuth。
1) 必须包含EKU扩展;
2) EKU不得包含anyExtendedKeyUsage;
3) EKU不能同时包含id-kp-serverAuth和id-kp-emailProtection;
3.1.4 扩展密钥用途要求
CA机构必须为其根证书的所有EKU提供业务说明,表明当前签发一种或多种用途类型证书的公开证据,也可以是表达打算在短期内签发这些证书的业务计划,华为仅支持以下EKU:
- 服务器验证: 1.3.6.1.5.5.7.3.1;
- 客户端验证: 1.3.6.1.5.5.7.3.2;
- 代码签名: 1.3.6.1.5.5.7.3.3;
- 安全电子邮件: 1.3.6.1.5.5.7.3.4;
3.2 吊销要求
CA机构必须具有正式的吊销策略,根据CA/Browser Forum Baseline Requirements来吊销证书,必须具备24x7证书库在线检查机制并且必须能够检查其签发的所有未过期的证书状态。签发服务器身份验证的证书必须支持OCSP responder要求:最短有效期为八小时,最长有效期为七天;下一次更新必须在当前有效期到期前至少八小时前。
根CA签发的所有证书必须支持CRL分发点扩展和/或包含OCSP responderURL的AIA扩展。如果CA签发代码签名证书,则必须使用符合RFC 3161“Internet X.509公钥基础设施时间戳协议(TSP)”的时间戳颁发机构。
此外CA机构必须能够根据华为的要求在指定日期吊销证书。
4 CA变更运营要求
华为根证书库中的CA机构,如果存在以下情况,必须提前30天通过邮件rootcaprogram@huawei.com通知华为:
- CA证书的所有权或控制权发生变化;
- CA机构以外的组织获得对不受约束的中间证书的控制,该中间证书直接或间接地链接到根证书库中的证书;
- CA机构运营的所有权或控制权发生变化;
- CA机构的运营发生了变化,可能会影响其遵守HRCP要求的能力;
- CA机构的CP、CPS或CP/CPS组合的任何变更。
此外在任何变更过程中,CA机构必须继续满足HRCP的要求。如果发生上述事件之一,华为可能需要额外的审计作为保留证书在根证书库的条件。
5 申请
加入HRCP的CA机构在提交申请之前,需要满足所有适用的政策要求。
CA机构申请人填写申请,将申请提交到rootcaprogram@huawei.com,华为将按照初始申请时间顺序进行审核和进行相应的测试工作,并会在规定期限内告知CA机构结果。
6 根证书库管理
出于安全考虑的更改(如根或中间证书受损)要视为安全敏感更改,并且必须作为漏洞披露向华为提交报告。
华为保留从根证书库中去除特定CA机构的证书的权利。这包括但不限于华为认为CA机构对用户安全造成了不当风险,华为没有义务对以上决定作出解释。
如果CA机构持续或严重地不能维持预期的服务水平或不符合本政策的要求,华为将从根证书库中禁用或删除该CA机构的证书。
如果华为发现CA机构有意或故意错误签发证书,华为将采取认为适当的任何措施来保护华为的用户,将从根证书库中禁用或删除该CA机构的证书。错误签发的证书类别包括但不限于签发给本不该收到证书的、包含未正确验证的证书、具有不正确的技术限制的证书以及使用了不允许算法的证书。
如果CA机构的作为(或不作为)违反本政策,华为将从根证书库中禁用或删除该CA机构的证书,华为有权公布该事实,并可能通知相关新闻机构、政府或行业组织。
对于过期的根证书,华为将从根证书库中持续移除。
CA机构至少在过期前2年向华为申请其下一代根证书。
7 修订记录
版本信息 | 日期 | 发布说明 |
---|---|---|
V1.0 | 2024-06-21 | 首次发布 |