07-PKI配置
本章节下载 (378.82 KB)
1.12.1 PKI实体向CA申请证书(采用RSA Keon CA服务器)
1.12.2 PKI实体向CA申请证书(采用Windows 2003 server CA服务器)
1.12.3 使用PKI证书体系的RSA证书签名方法进行IKE协商认证
PKI(Public Key Infrastructure,公钥基础设施)是一个利用公共密钥理论和技术来实现并提供信息安全服务的具有通用性的安全基础设施。
公共密钥体制也称为非对称密钥体制,是目前应用最广泛的一种加密体制,在这一体制中,它使用一个非对称的密钥对,分别是一个公开的加密密钥(公钥)和一个保密的解密密钥(私钥),用公钥加密的信息只能用私钥解密,反之亦然。由于公钥是公开的,需要在网上传送,故公钥的管理问题就是公共密钥体制所需要解决的关键问题。
目前,PKI系统中引出的数字证书机制就是一个很好的解决方案。基于公共密钥技术的数字证书是一个用户的身份和他所持有的公钥的结合,它是使用PKI系统的用户建立安全通信的信任基础。
基于数字证书的PKI系统,能够为网络通信和网络交易,特别是电子政务和电子商务业务,透明地提供一整套安全服务,主要包括身份认证、保密、数据完整性和不可否认性。
目前,我司的PKI可为安全协议IPsec(IP Security,IP安全)、SSL(Secure Sockets Layer,安全套接字层)、WAPI(WLAN Authentication and Privacy Infrastructure,无线局域网鉴别与保密基础结构)提供证书管理机制。
数字证书是一个经CA(Certificate Authority,证书颁发机构)签名的、包含公开密钥及相关的用户身份信息的文件,它建立了用户身份信息与用户公钥的关联。CA对数字证书的签名保证了证书的合法性和权威性。数字证书的格式遵循ITU-T X.509国际标准,目前最常用的为X.509 V3标准。一个数字证书中包含多个字段,包括证书签发者的名称、主体的公钥信息、CA对证书的数字签名、证书的有效期等。
本手册中涉及两类证书:本地(local)证书和CA(Certificate Authority)证书。本地证书是CA签发给用户的数字证书;CA证书是CA自身的证书。若PKI系统中存在多个CA,则会形成一个CA层次结构,最上层的CA是根CA,它拥有一个CA“自签名”的证书。
由于用户姓名的改变、私钥泄漏或业务中止等原因,需要存在一种方法将现行的证书撤消,即撤消公开密钥及相关的用户身份信息的绑定关系。在PKI中,所使用的这种方法为证书废除列表。任何一个证书被废除以后,CA就要发布CRL来声明该证书是无效的,并列出所有被废除的证书的序列号。CRL提供了一种检验证书有效性的方式。
当一个CRL的撤消信息过多时会导致CRL的发布规模变得非常庞大,且随着CRL大小的增加,网络资源的使用性能也会随之下降。为了避免这种情况,允许一个CA的撤消信息通过多个CRL发布出来,并且使用CRL发布点来指出这些小CRL的位置。
CA在受理证书请求、颁发证书、吊销证书和发布CRL时所采用的一套标准被称为CA策略。通常,CA以一种叫做证书惯例声明(CPS,Certification Practice Statement)的文档发布其策略,CA策略可以通过带外(如电话、磁盘、电子邮件等)或其他方式获取。由于不同的CA使用不同的方法验证公开密钥与实体之间的绑定,所以在选择信任的CA进行证书申请之前,必须理解CA策略,从而指导对实体进行相应的配置。
一个PKI体系由终端实体、证书机构、注册机构和PKI存储库四类实体共同组成,如下图1-1。
图1-1 PKI体系结构图
终端实体是PKI产品或服务的最终使用者,可以是个人、组织、设备(如路由器、交换机)或计算机中运行的进程。
CA是PKI的信任基础,是一个用于签发并管理数字证书的可信实体。其作用包括:发放证书、规定证书的有效期和通过发布CRL确保必要时可以废除证书。
RA是CA的延伸,可作为CA的一部分,也可以独立。RA功能包括个人身份审核、CRL管理、密钥对产生和密钥对备份等。PKI国际标准推荐由一个独立的RA来完成注册管理的任务,这样可以增强应用系统的安全性。
PKI存储库包括LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)服务器和普通数据库,用于对用户申请、证书、密钥、CRL和日志等信息进行存储和管理,并提供一定的查询功能。
LDAP提供了一种访问PKI存储库的方式,通过该协议来访问并管理PKI信息。LDAP服务器负责将RA服务器传输过来的用户信息以及数字证书进行存储,并提供目录浏览服务。用户通过访问LDAP服务器获取自己和其他用户的数字证书。
PKI技术的广泛应用能满足人们对网络交易安全保障的需求。作为一种基础设施,PKI的应用范围非常广泛,并且在不断发展之中,下面给出几个应用实例。
VPN是一种构建在公用通信基础设施上的专用数据通信网络,利用网络层安全协议(如IPsec)和建立在PKI上的加密与数字签名技术来获得机密性保护。
电子邮件的安全也要求机密、完整、认证和不可否认,而这些都可以利用PKI技术来实现。目前发展很快的安全电子邮件协议S/MIME(Secure/Multipurpose Internet Mail Extensions,安全/多用途Internet邮件扩充协议),是一个允许发送加密和有签名邮件的协议。该协议的实现需要依赖于PKI技术。
为了透明地解决Web的安全问题,在两个实体进行通信之前,先要建立SSL(Secure Sockets Layer,安全套接字层)连接,以此实现对应用层透明的安全通信。SSL协议允许在浏览器和服务器之间进行加密通信,并且利用PKI技术使用基于数字签名的方法对服务器和浏览器端进行身份验证。
针对一个使用PKI的网络,配置PKI的目的就是为指定的实体向CA申请一个本地证书,并由设备对证书的有效性进行验证。下面是PKI的工作过程:
(1) 实体向RA提出证书申请;
(2) RA审核实体身份,将实体身份信息和公开密钥以数字签名的方式发送给CA;
(3) CA验证数字签名,同意实体的申请,颁发证书;
(4) RA接收CA返回的证书,发送到LDAP服务器(或其它形式的发布点)以提供目录浏览服务,并通知实体证书发行成功;
(5) 实体获取证书,利用该证书可以与其它实体使用加密、数字签名进行安全通信;
(6) 实体希望撤消自己的证书时,向CA提交申请。CA批准实体撤消证书,并更新CRL,发布到LDAP服务器(或其它形式的发布点)。
表1-1 PKI配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置实体DN |
必选 |
||
配置PKI域 |
必选 |
||
PKI证书申请 |
自动申请证书 |
二者必选其一 |
|
手工申请证书 |
|||
手工获取证书 |
可选 |
||
配置PKI证书验证 |
可选 |
||
销毁本地RSA密钥对 |
可选 |
||
删除证书 |
可选 |
||
配置证书属性的访问控制策略 |
可选 |
一份证书是一个公开密钥与一个身份的绑定,而身份必须与一个特定的PKI实体相关联。实体DN(Distinguished Name,识别名)的参数是实体的身份信息,CA根据实体提供的身份信息来唯一标识证书申请者。
实体DN的参数包括:
· 实体通用名
· 实体所属国家代码,用标准的两字符代码表示。例如,“CN”是中国的合法国家代码,“US”是美国的合法国家代码
· 实体FQDN(Fully Qualified Domain Name,完全合格域名),是实体在网络中的唯一标识,由一个主机名和域名组成,可被解析为IP地址。例如,www是一个主机名,whatever.com是一个域名,则www.whatever.com就是一个FQDN。
· 设备序列号
· 实体IP地址
· 实体所在地理区域名称
· 实体所属组织名称
· 实体所属部门名称
· 实体所属州省
实体DN的配置必须与CA证书颁发策略相匹配,以确认实体DN的配置任务,如哪些实体参数为必选配置,哪些为可选配置。申请者的身份信息必须符合CA证书颁发策略,否则证书申请可能会失败。
表1-2 配置实体DN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个实体,并进入该实体视图 |
pki entity entity-name |
必选 缺省情况下,无实体存在 |
配置实体通用名 |
common-name name |
可选 缺省情况下,未配置实体的通用名 |
配置实体所属国家代码 |
country country-code-str |
可选 缺省情况下,未配置实体所属国家代码 |
配置实体FQDN |
fqdn name-str |
可选 缺省情况下,未配置实体FQDN |
配置实体的身份信息中包含设备序列号 |
include serial-number |
可选 缺省情况下,实体的身份不包含设备序列号 |
配置实体IP地址 |
ip ip-address |
可选 缺省情况下,未配置实体IP地址 |
配置实体所在地理区域名称 |
locality locality-name |
可选 缺省情况下,未配置实体所在地理区域 |
配置实体所属组织名称 |
organization org-name |
可选 缺省情况下,未配置实体所属组织 |
配置实体所属部门名称 |
organization-unit org-unit-name |
可选 缺省情况下,未配置实体所属部门 |
配置实体所属州省 |
state state-name |
可选 缺省情况下,未配置实体所属州省 |
· 目前一台设备上最多可以创建两个实体。
· Windows 2000 CA服务器对证书申请的数据长度有一定的限制。实体DN配置项超过一定数据长度时,申请证书没有回应。
实体在进行PKI证书申请操作之前需要配置一些注册信息来配合完成申请的过程。这些信息的集合就是一个实体的PKI域。
PKI域是一个本地概念,因此创建PKI域的目的是便于其它应用引用PKI的配置,比如IKE、SSL等。一个设备上配置的PKI域对CA和其它设备是不可见的,每一个PKI域有单独的域参数配置信息。
PKI域中包括以下参数:
· 信任的CA名称
在申请证书时,是通过一个可信实体认证机构,来完成实体证书的注册颁发,因此必须指定一个信任的CA名称。
· 实体名称
向CA发送证书申请请求时,必须指定所使用的实体名,以向CA表明自己的身份。
· 证书申请的注册机构
证书申请的受理一般由一个独立的注册机构(即RA)来承担,它接收用户的注册申请,审查用户的申请资格,并决定是否同意CA给其签发数字证书。注册机构并不给用户签发证书,而只是对用户进行资格审查。有时PKI把注册管理的职能交给CA来完成,而不设立独立运行的RA,但这并不是取消了PKI的注册功能,而只是将其作为CA的一项功能而已。PKI推荐独立使用RA作为注册审理机构。
· 注册服务器的URL
证书申请之前必须指定注册服务器的URL,随后实体可通过简单证书注册协议(SCEP,Simple Certification Enrollment Protocol)向该服务器提出证书申请,SCEP是专门用于与认证机构进行通信的协议。
· 证书申请状态查询的周期和次数
实体在发送证书申请后,如果CA采用手工验证申请,证书的发布会需要很长时间。在此期间,客户端需要定期发送状态查询,以便在证书签发后能及时获取到证书。客户端可以配置证书申请状态的查询周期和次数。
· LDAP服务器IP地址
在PKI系统中,用户的证书和CRL信息的存储是一个非常核心的问题。一般采用LDAP服务器来存储证书和CRL,这时就需要指定LDAP服务器的位置。
· 验证根证书时使用的指纹
当设备从CA获得根证书时,需要验证CA根证书的指纹,即根证书内容的散列值,该值对于每一个证书都是唯一的。如果CA根证书的指纹与在PKI域中配置的指纹不同,则设备将拒绝接收根证书。
表1-3 配置PKI域
配置任务 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个PKI域,并进入PKI域视图 |
pki domain domain-name |
必选 |
配置信任的CA名称 |
ca identifier name |
必选 缺省情况下,未配置信任的CA名称 |
指定实体名称 |
certificate request entity entity-name |
必选 缺省情况下,未指定实体名称 指定的实体名称必须已创建 |
配置证书申请的注册受理机构 |
certificate request from { ca | ra } |
必选 缺省情况下,未指定证书申请的注册受理机构 |
配置注册服务器URL |
certificate request url url-string |
必选 缺省情况下,未指定注册服务器URL |
配置证书申请状态查询的周期和次数 |
certificate request polling { count count | interval minutes } |
可选 缺省情况下,证书申请状态查询周期为20分钟,每一个周期内查询50次 |
配置LDAP服务器 |
ldap-server ip ip-address [ port port-number ] [ version version-number ] |
可选 缺省情况下,未指定LDAP服务器 |
配置验证根证书时使用的指纹 |
root-certificate fingerprint { md5 | sha1 } string |
当证书申请方式为自动方式时,此配置必选;当证书申请方式为手工方式时,此配置可选,若不配置,需要用户自行验证根证书指纹 缺省情况下,未指定验证根证书时使用的指纹 |
· 目前一台设备可支持同时创建32个PKI域。
· CA的名称只是在获取CA证书时使用,申请本地证书时不会用到。
· 目前,注册服务器URL的配置不支持域名解析。
证书申请就是实体向CA自我介绍的过程。实体向CA提供身份信息,以及相应的公开密钥,这些信息将成为颁发给该实体证书的主要组成部分。实体向CA提出证书申请,有离线和在线两种方式。离线申请方式下,CA允许申请方通过带外方式(如电话、磁盘、电子邮件等)向CA提供申请信息。
在线证书申请有手工发起和自动发起两种方式。
配置证书申请方式为自动方式后,当有应用协议与PKI联动时,如果应用协议中的实体无本地证书(例如,IKE协商采用数字签名方法进行身份认证,但在协商过程中没有发现本地证书),则实体自动通过SCEP协议向CA发起证书申请,并在申请成功后将本地证书获取到本地保存。在证书申请之前,若当前的PKI域中没有CA证书,也会首先自动获取CA证书。
表1-4 自动申请证书
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PKI域视图 |
pki domain domain-name |
- |
配置证书申请为自动方式 |
certificate request mode auto [ key-length key-length | password { cipher | simple } password | before-expire num-days [ regenerate ] ] * |
必选 缺省情况下,证书申请为手工方式 如果配置了num-days参数,会在证书快要过期时,按照配置的天数提前自动申请新的证书 如果配置了before-expire参数且未配置regenerate参数,在续签证书时,不会再生成新的密钥对,而是用当前使用的RSA密钥对申请证书 如果同时配置了before-expire和regenerate参数后,当前使用的密钥对不能再用于其它业务。在证书提前续签时生成新的本地RSA密钥对会覆盖原有的密钥对,对其他使用该密钥对的业务造成影响。建议配置public-key rsa general name命令指定专用的密钥对用于此种场景 |
配置申请证书使用的本地RSA密钥对 |
public-key rsa general name key-name |
可选 在配置自动申请证书方式后,如果有业务触发自动申请证书,会按指定的key-name创建RSA密钥对 |
· 对于系统自动申请到的证书,当它们即将过期时或正式过期后,系统不会自动向CA发起重新申请,这种情况下,可能会由于证书过期造成应用业务的中断。
· 命令public-key rsa general name的详细介绍可参考“安全命令参考”中的“公钥管理”。
配置证书申请方式为手工方式后,需要手工执行申请本地证书的工作。在手工申请本地证书之前,
必须保证当前的PKI域中已经存在CA证书和密钥对。
· PKI域中的CA证书用来验证获取到的本地证书的真实性和合法性。若PKI域中没有CA证书,则需要手工获取CA证书。
· 密钥对的产生是证书申请过程中重要的一步。申请过程使用了一对主机密钥:私钥和公钥。私钥由用户保留,公钥和其他信息则交由CA中心进行签名,从而产生证书。若PKI域中不存在密钥对,则需要生成本地密钥对。有关RSA密钥对的具体配置请参见“安全配置指导”中的“公钥管理”。
表1-5 手工申请证书
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PKI域视图 |
pki domain domain-name |
- |
配置证书申请为手工方式 |
certificate request mode manual |
可选 缺省情况下,证书申请为手工方式 |
退回系统视图 |
quit |
- |
手工获取CA证书 |
请参见1.6 |
必选 |
生成本地RSA密钥对 |
public-key local create rsa |
必选 缺省情况下,没有生成本地RSA密钥对 在FIPS模式下,RSA密钥对长度为2048比特 |
手工申请本地证书 |
pki request-certificate domain domain-name [ password ] [ pkcs10 [ filename filename ] ] |
必选 |
· 若本地证书已存在,为保证密钥对与现存证书的一致性,不应执行创建密钥对命令,必须在删除本地证书后再执行public-key local create命令生成新的密钥对。有关public-key local create命令的详细介绍,请参见“安全命令参考”中的“公钥管理”。
· 创建的新密钥对将覆盖旧密钥对。若本地已有RSA密钥对,执行public-key local create命令时,系统会提示是否替换原有密钥对。
· 如果本地证书已存在,则不允许再执行证书申请操作,以避免因相关配置的修改使得证书与注册信息不匹配。若想重新申请,请先使用pki delete-certificate命令删除存储于本地的CA证书与本地证书,然后再执行pki request-certificate domain命令。
· 当无法通过SCEP协议向CA在线申请证书时,可以首先通过执行指定参数pkcs10的命令pki request-certificate domain打印出本地的证书申请信息,或者通过执行指定pkcs10 filename filename参数的该命令将证书申请信息直接保存到本地的指定文件中,然后再通过带外方式将这些本地证书申请信息发送给CA进行证书申请。
· 证书申请之前必须保证实体时钟与CA的时钟同步,否则申请证书的有效期会出现异常。
· pki request-certificate domain配置不能被保存在配置文件中。
· 在FIPS模式下无法导入MD5证书。
MSR系列路由器各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
MSR800 |
FIPS模式 |
不支持 |
MSR 900 |
不支持 |
|
MSR900-E |
不支持 |
|
MSR 930 |
不支持 |
|
MSR 20-1X |
不支持 |
|
MSR 20 |
支持 |
|
MSR 30 |
支持,仅MSR 3016不支持 |
|
MSR 50 |
支持 |
|
MSR 2600 |
支持 |
|
MSR3600-51F |
支持 |
用户通过此配置可以将已存在的CA证书、本地证书证书获取至本地。获取证书有两种方式:离线方式和在线方式。离线方式下获取证书需要通过带外方式(如FTP、磁盘、电子邮件等)取得证书,然后将其导入至本地。
获取证书的目的有两个:
· 将CA签发的与实体所在安全域有关的证书存放到本地,以提高证书的查询效率,减少向PKI证书存储库查询的次数。
· 为证书的验证做好准备。
在线获取本地证书之前必须完成LDAP服务器的配置。
表1-6 手工获取证书
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
手工获取证书 |
在线方式 |
pki retrieval-certificate { ca | local } domain domain-name |
二者必选其一 |
离线方式导入证书 |
pki import-certificate { ca | local } domain domain-name { der | p12 | pem } [ filename filename ] |
· 如果本地已有CA证书存在,则不允许执行手工获取CA证书的操作,避免因相关配置的修改使得证书与注册信息不匹配。若想重新获取,请先使用pki delete-certificate命令删除CA证书与本地证书后,再执行此命令。
· pki retrieval-certificate配置不能被保存在配置文件中。
· 为保证设备上已申请的证书可用,请确保设备当前系统时间处于证书的有效期范围之内。
在使用每一个证书之前,必须对证书进行验证。证书验证包括对签发时间、签发者信息以及证书的有效性几方面进行验证。证书验证的核心是检查CA在证书上的签名,并确定证书仍在有效期内,而且未被废除,因此在进行证书验证操作之前必须首先获取CA证书。
配置证书验证时可以设置是否必须进行CRL检查。
· 如果配置为使能CRL检查,则检验证书的有效性,必须通过CRL判断。因此,在进行证书有效性验证之前,除了获取CA证书还必须获取CRL并下载至本地;
· 如果配置为不使能CRL检查,则仅需要获取CA证书来判断证书的有效性。
表1-7 配置使能CRL检查的证书验证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PKI域视图 |
pki domain domain-name |
- |
配置CRL发布点的URL |
crl url url-string |
可选 缺省情况下,未指定CRL发布点的URL |
配置CRL的更新周期 |
crl update-period hours |
可选 缺省情况下,根据CRL文件中的下次更新域进行更新 |
使能CRL检查 |
crl check enable |
可选 缺省情况下,CRL检查处于开启状态 |
退回系统视图 |
quit |
- |
获取CA证书 |
请参见1.6 |
必选 |
获取CRL并下载至本地 |
pki retrieval-crl domain domain-name |
必选 |
检验证书的有效性 |
pki validate-certificate { ca | local } domain domain-name |
必选 |
· CRL的更新周期是指本地从CRL存储服务器下载CRL的时间间隔。手工配置的CRL更新周期将优先于CRL文件中指定的更新时间。
· pki retrieval-crl domain命令不能被保存在配置文件中。
表1-8 配置不使能CRL检查的PKI证书验证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PKI域视图 |
pki domain domain-name |
- |
禁止CRL检查 |
crl check disable |
必选 缺省情况下,CRL检查处于开启状态 |
退回系统视图 |
quit |
- |
获取CA证书 |
请参见1.6 |
必选 |
检验证书的有效性 |
pki validate-certificate { ca | local } domain domain-name |
必选 |
由CA颁发的证书都会设置有效期,证书生命周期的长短由签发证书的CA中心来确定。当用户的私钥被泄漏或证书的有效期快到时,用户应该删除旧的密钥对,产生新的密钥对,重新申请新的证书。通过此配置用户可以销毁本地RSA密钥对。
表1-9 销毁本地RSA密钥对
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
销毁本地RSA密钥对 |
public-key local destroy rsa |
必选 |
命令public-key local destroy的详细介绍可参考“安全命令参考”中的“公钥管理”。
证书过期或希望重新申请证书,可以通过此配置删除一个已经存在的本地证书或CA证书。
表1-10 配置删除证书
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置删除证书 |
pki delete-certificate { ca | local } domain domain-name |
必选 |
通过配置证书属性的访问控制策略,可以对用户的访问权限进行进一步的控制,保证了与之通信的服务器的安全性。
表1-11 配置证书属性的访问控制策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建证书属性组,并进入证书属性组视图 |
pki certificate attribute-group group-name |
必选 缺省情况下,不存在证书属性组 |
配置证书颁发者名、证书主题名及备用主题名的属性规则 |
attribute id { alt-subject-name { fqdn | ip } | { issuer-name | subject-name } { dn | fqdn | ip } } { ctn | equ | nctn | nequ} attribute-value |
可选 缺省情况下,对证书颁发者名、证书主题名及备用主题名没有限制 |
退回系统视图 |
quit |
- |
创建证书属性访问控制策略,并进入证书属性访问控制策略视图 |
pki certificate access-control-policy policy-name |
必选 缺省情况下,不存在证书属性访问控制策略 |
配置证书属性控制规则 |
rule [ id ] { deny | permit } group-name |
必选 缺省情况下,不存在证书属性控制规则 group-name必须是已存在的证书属性组的名称 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后PKI的运行情况,通过查看显示信息验证配置的效果。
表1-12 PKI显示和维护
操作 |
命令 |
显示证书内容或证书申请状态 |
display pki certificate { { ca | local } domain domain-name | request-status } [ | { begin | exclude | include } regular-expression ] |
显示CRL内容 |
display pki crl domain domain-name [ | { begin | exclude | include } regular-expression ] |
显示证书属性组的信息 |
display pki certificate attribute-group { group-name | all } [ | { begin | exclude | include } regular-expression ] |
显示证书属性访问控制策略的信息 |
display pki certificate access-control-policy { policy-name | all } [ | { begin | exclude | include } regular-expression ] |
· 当采用Windows Server作为CA时,需要安装SCEP插件。此时,配置PKI domain时,需要使用certificate request from ra命令指定实体从RA注册申请证书。
· 当采用RSA Keon软件时,不需要安装SCEP插件。此时,配置PKI domain时,需要使用certificate request from ca命令指定实体从CA注册申请证书。
在作为PKI实体的设备Router上进行相关配置,实现以下需求:
· 设备向CA服务器申请本地证书
· 获取CRL为证书验证做准备
图1-2 PKI实体向CA申请证书组网图
(1) 配置CA服务器
· 创建CA服务器myca
在本例中,CA服务器上首先需要进行基本属性Nickname和Subject DN的配置。其它属性选择默认值。其中,Nickname为可信任的CA名称,Subject DN为CA的DN属性,包括CN、OU、O和C。
· 配置扩展属性
基本属性配置完毕之后,还需要在生成的CA服务器管理页面上对“Jurisdiction Configuration”进行配置,主要内容包括:根据需要选择合适的扩展选项;启动自动颁发证书功能;添加可以自动颁发证书的地址范围。
· 配置CRL发布
CA服务器的基本配置完成之后,需要进行CRL的相关配置。
本例中选择CRL的发布方式为HTTP,自动生成CRL发布点的URL为http://4.4.4.133:447/myca.crl。
以上配置完成之后,还需要保证设备的系统时钟与CA的时钟同步才可以正常使用设备来申请证书和获取CRL。
(2) 配置Router
· 配置实体命名空间
# 配置实体名称为aaa,通用名为router。
<Router> system-view
[Router] pki entity aaa
[Router-pki-entity-aaa] common-name router
[Router-pki-entity-aaa] quit
· 配置PKI域参数
# 创建并进入PKI域torsa。
[Router] pki domain torsa
# 配置可信任的CA名称为myca。
[Router-pki-domain-torsa] ca identifier myca
# 配置注册服务器URL,格式为http://host:port/Issuing Jurisdiction ID。其中的Issuing Jurisdiction ID为CA服务器上生成的16进制字符串。
[Router-pki-domain-torsa] certificate request url http://4.4.4.133:446/c95e970f632d27be5e8cbf80e971d9c4a9a93337
# 配置证书申请的注册受理机构为CA。
[Router-pki-domain-torsa] certificate request from ca
# 指定实体名称为aaa。
[Router-pki-domain-torsa] certificate request entity aaa
# 配置CRL发布点位置。
[Router-pki-domain-torsa] crl url http://4.4.4.133:447/myca.crl
[Router-pki-domain-torsa] quit
· 用RSA算法生成本地密钥对
[Router] public-key local create rsa
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
it will take a few minutes.
Press CTRL+C to abort.
Input the bits in the modulus [default = 1024]:
Generating Keys...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++
· 证书申请
# 获取CA证书并下载至本地。
[Router] pki retrieval-certificate ca domain torsa
Retrieving CA/RA certificates. Please wait a while......
The trusted CA's finger print is:
MD5 fingerprint:EDE9 0394 A273 B61A F1B3 0072 A0B1 F9AB
SHA1 fingerprint: 77F9 A077 2FB8 088C 550B A33C 2410 D354 23B2 73A8
Is the finger print correct?(Y/N):y
Saving CA/RA certificates chain, please wait a moment......
CA certificates retrieval success.
# 获取CRL并下载至本地。
[Router] pki retrieval-crl domain torsa
Connecting to server for retrieving CRL. Please wait a while.....
CRL retrieval success!
# 手工申请本地证书。
[Router] pki request-certificate domain torsa challenge-word
Certificate is being requested, please wait......
[Router]
Enrolling the local certificate,please wait a while......
Certificate request successfully!
Saving the local certificate to device......
Done!
# 通过以下显示命令可以查看获取的本地证书信息。
[Router] display pki certificate local domain torsa
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
9A96A48F 9A509FD7 05FFF4DF 104AD094
Issuer:
C=cn
O=org
OU=test
CN=myca
Validity
Not Before: Jan 8 09:26:53 2007 GMT
Not After : Jan 8 09:26:53 2008 GMT
Subject:
CN=router
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00D67D50 41046F6A 43610335 CA6C4B11
F8F89138 E4E905BD 43953BA2 623A54C0
EA3CB6E0 B04649CE C9CDDD38 34015970
981E96D9 FF4F7B73 A5155649 E583AC61
D3A5C849 CBDE350D 2A1926B7 0AE5EF5E
D1D8B08A DBF16205 7C2A4011 05F11094
73EB0549 A65D9E74 0F2953F2 D4F0042F
19103439 3D4F9359 88FB59F3 8D4B2F6C
2B
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 CRL Distribution Points:
URI:http://4.4.4.133:447/myca.crl
关于获取的CA证书及CRL文件的详细信息可以通过相应的显示命令来查看,此处略。具体内容请参考命令display pki certificate ca domain和display pki crl domain。
配置PKI实体Router向CA服务器申请本地证书。
图1-3 PKI实体向CA申请证书组网图
(1) 配置CA服务器
· 安装证书服务器组件
打开[控制面板]/[添加/删除程序],选择[添加/删除Windows组件]中的“证书服务”进行安装。
· 安装SCEP插件
由于Windows 2003 server作为CA服务器时,缺省情况下不支持SCEP,所以需要安装SCEP插件,才能使设备具备证书自动注册、获取等功能。插件安装完毕后,弹出提示框,提示框中的URL地址即为设备上配置的注册服务器地址。
· 修改证书服务的属性
完成上述配置后,打开[控制面板/管理工具]中的[证书颁发机构],如果安装成功,在[颁发的证书]中将存在两个CA颁发给RA的证书。选择[CA server 属性]中的“策略模块”的属性为“如果可以的话,按照证书模板中的设置。否则,将自动颁发证书(F)。”
· 修改IIS服务的属性
打开[控制面板/管理工具]中的[Internet 信息服务(IIS)管理器],将[默认网站 属性]中“主目录”的本地路径修改为证书服务保存的路径。另外,为了避免与已有的服务冲突,建议修改默认网站的TCP端口号为未使用的端口号。
以上配置完成之后,还需要保证设备的系统时钟与CA的时钟同步才可以正常使用设备来申请证书。
(2) 配置Router
· 配置实体命名空间
# 配置实体名称为aaa,通用名为router。
<Router> system-view
[Router] pki entity aaa
[Router-pki-entity-aaa] common-name router
[Router-pki-entity-aaa] quit
· 配置PKI域参数
# 创建并进入PKI域torsa。
[Router] pki domain torsa
# 配置可信任的CA名称为myca。
[Router-pki-domain-torsa] ca identifier myca
# 配置注册服务器URL,格式为http://host:port/certsrv/mscep/mscep.dll。其中,host:port为CA服务器的主机地址和端口号。
[Router-pki-domain-torsa] certificate request url http://4.4.4.1:8080/certsrv/mscep/mscep.dll
# 配置证书申请的注册受理机构为RA。
[Router-pki-domain-torsa] certificate request from ra
# 指定实体名称为aaa。
[Router-pki-domain-torsa] certificate request entity aaa
· 用RSA算法生成本地密钥对
[Router] public-key local create rsa
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
it will take a few minutes.
Press CTRL+C to abort.
Input the bits in the modulus [default = 1024]:
Generating Keys...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++
· 证书申请
# 获取CA证书并下载至本地。
[Router] pki retrieval-certificate ca domain torsa
Retrieving CA/RA certificates. Please wait a while......
The trusted CA's finger print is:
MD5 fingerprint:766C D2C8 9E46 845B 4DCE 439C 1C1F 83AB
SHA1 fingerprint:97E5 DDED AB39 3141 75FB DB5C E7F8 D7D7 7C9B 97B4
Is the finger print correct?(Y/N):y
Saving CA/RA certificates chain, please wait a moment......
CA certificates retrieval success.
# 手工申请本地证书。
[Router] pki request-certificate domain torsa challenge-word
Certificate is being requested, please wait......
[Router]
Enrolling the local certificate,please wait a while......
Certificate request successfully!
Saving the local certificate to device......
Done!
# 通过以下显示命令可以查看获取的本地证书信息。
[Router] display pki certificate local domain torsa
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
48FA0FD9 00000000 000C
Issuer:
CN=myca
Validity
Not Before: Nov 21 12:32:16 2007 GMT
Not After : Nov 21 12:42:16 2008 GMT
Subject:
CN=router
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00A6637A 8CDEA1AC B2E04A59 F7F6A9FE
5AEE52AE 14A392E4 E0E5D458 0D341113
0BF91E57 FA8C67AC 6CE8FEBB 5570178B
10242FDD D3947F5E 2DA70BD9 1FAF07E5
1D167CE1 FC20394F 476F5C08 C5067DF9
CB4D05E6 55DC11B6 9F4C014D EA600306
81D403CF 2D93BC5A 8AF3224D 1125E439
78ECEFE1 7FA9AE7B 877B50B8 3280509F
6B
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
B68E4107 91D7C44C 7ABCE3BA 9BF385F8 A448F4E1
X509v3 Authority Key Identifier:
keyid:9D823258 EADFEFA2 4A663E75 F416B6F6 D41EE4FE
X509v3 CRL Distribution Points:
URI:http://l00192b/CertEnroll/CA%20server.crl
URI:file://\\l00192b\CertEnroll\CA server.crl
Authority Information Access:
CA Issuers - URI:http://l00192b/CertEnroll/l00192b_CA%20server.crt
CA Issuers - URI:file://\\l00192b\CertEnroll\l00192b_CA server.crt
1.3.6.1.4.1.311.20.2:
.0.I.P.S.E.C.I.n.t.e.r.m.e.d.i.a.t.e.O.f.f.l.i.n.e
……(略)
关于获取的CA证书的详细信息可以通过相应的显示命令来查看,此处略。具体内容请参考命令display pki certificate ca domain。
· 在Router A和Router B之间建立一个IPsec安全隧道对子网10.1.1.0/24上的主机A与子网11.1.1.0/24上的主机B之间的数据流进行安全保护。
· 在Router A和Router B之间使用IKE自动协商建立安全通信,IKE认证策略采用PKI证书体系的RSA证书签名方法进行身份认证。
· Router A和Router B使用相同的CA。
图1-4 PKI进行IKE协商认证的组网图
(1) 配置Router A
# 配置实体命名空间。
<RouterA> system-view
[RouterA] pki entity en
[RouterA-pki-entity-en] ip 2.2.2.1
[RouterA-pki-entity-en] common-name routera
[RouterA-pki-entity-en] quit
# 配置PKI域参数。(证书申请的注册机构服务器的URL根据所使用的CA服务器的不同而有所不同,这里的配置只作为示例,请根据具体情况配置。)
[RouterA] pki domain 1
[RouterA-pki-domain-1] ca identifier CA1
[RouterA-pki-domain-1] certificate request url http://1.1.1.100/certsrv/mscep/mscep.dll
[RouterA-pki-domain-1] certificate request entity en
[RouterA-pki-domain-1] ldap-server ip 1.1.1.102
# 配置通过RA注册申请证书。
[RouterA-pki-domain-1] certificate request from ra
# 配置CRL发布点位置(若禁止CRL检查,则无需配置)。
[RouterA-pki-domain-1] crl url ldap://1.1.1.102
[RouterA-pki-domain-1] quit
# 用RSA算法生成本地的密钥对。
[RouterA] public-key local create rsa
# 证书申请。
[RouterA] pki retrieval-certificate ca domain 1
[RouterA] pki retrieval-crl domain 1
[RouterA] pki request-certificate domain 1
# 配置IKE提议1,使用数字签名(rsa-signature)方法为身份认证策略。
[RouterA] ike proposal 1
[RouterA-ike-proposal-1] authentication-method rsa-signature
[RouterA-ike-proposal-1] quit
# 在IKE对等体中引用PKI域的配置。
[RouterA] ike peer peer
[RouterA-ike-peer-peer] certificate domain 1
(2) 配置Router B
# 配置实体命名空间。
<RouterB> system-view
[RouterB] pki entity en
[RouterB-pki-entity-en] ip 3.3.3.1
[RouterB-pki-entity-en] common-name routerb
[RouterB-pki-entity-en] quit
# 配置PKI域参数。(证书申请的注册机构服务器的URL根据所使用的CA服务器的不同而有所不同,这里的配置只作为示例,请根据具体情况配置。)
[RouterB] pki domain 1
[RouterB-pki-domain-1] ca identifier CA1
[RouterB-pki-domain-1] certificate request url http://1.1.1.100/certsrv/mscep/mscep.dll
[RouterB-pki-domain-1] certificate request entity en
[RouterB-pki-domain-1] ldap-server ip 1.1.1.102
# 配置通过RA注册申请证书。
[RouterB-pki-domain-1] certificate request from ra
# 配置CRL发布点(若禁止CRL检查,则无需配置)。
[RouterB-pki-domain-1] crl url ldap://1.1.1.102
[RouterB-pki-domain-1] quit
# 用RSA算法生成本地的密钥对。
[RouterB] public-key local create rsa
# 证书申请。
[RouterB] pki retrieval-certificate ca domain 1
[RouterB] pki retrieval-crl domain 1
[RouterB] pki request-certificate domain 1
# 配置IKE提议1,使用rsa-signature方法为身份认证策略。
[RouterB] ike proposal 1
[RouterB-ike-proposal-1] authentication-method rsa-signature
[RouterB-ike-proposal-1] quit
# 在IKE对等体中引用PKI域的配置。
[RouterB]ike peer peer
[RouterB-ike-peer-peer]certificate domain 1
· 客户端通过HTTPS(Hypertext Transfer Protocol Secure,超文本传输协议的安全版本)协议远程访问设备(HTTPS服务器)。
· 通过SSL协议保证合法客户端安全登录HTTPS服务器。
· 为HTTPS服务器制定证书属性的访问控制策略,对客户端的访问权限进行控制。
图1-5 证书属性的访问控制策略应用组网图
· SSL配置的相关内容请参见“安全配置指导”中的“SSL”。
· HTTPS配置的相关内容请参见“基础配置指导”中的“配置通过Web网管登录设备”。
· SSL策略所引用的PKI域必须首先创建,PKI域参数的具体配置请参见1.12.1 中的“配置PKI域参数”。
(1) 配置HTTPS服务器
# 配置HTTPS服务器使用的SSL策略。
<Router> system-view
[Router] ssl server-policy myssl
[Router-ssl-server-policy-myssl] pki-domain 1
[Router-ssl-server-policy-myssl] client-verify enable
[Router-ssl-server-policy-myssl] quit
(2) 配置证书属性组
# 配置证书属性组mygroup1,并创建两个属性规则。规则1定义证书主题名的DN包含字符串aabbcc;规则2定义证书颁发者名中的IP地址等于10.0.0.1。
[Router] pki certificate attribute-group mygroup1
[Router-pki-cert-attribute-group-mygroup1] attribute 1 subject-name dn ctn aabbcc
[Router-pki-cert-attribute-group-mygroup1] attribute 2 issuer-name ip equ 10.0.0.1
[Router-pki-cert-attribute-group-mygroup1] quit
# 配置证书属性组mygroup2,并创建两个属性规则。规则1定义证书备用主题名中的FQDN不包含字符串apple;规则2定义证书颁发者名的DN包含字符串aabbcc。
[Router] pki certificate attribute-group mygroup2
[Router-pki-cert-attribute-group-mygroup2] attribute 1 alt-subject-name fqdn nctn apple
[Router-pki-cert-attribute-group-mygroup2] attribute 2 issuer-name dn ctn aabbcc
[Router-pki-cert-attribute-group-mygroup2] quit
(3) 配置证书访问控制策略
# 配置访问控制策略myacp,并建立两个控制规则。
[Router] pki certificate access-control-policy myacp
[Router-pki-cert-acp-myacp] rule 1 deny mygroup1
[Router-pki-cert-acp-myacp] rule 2 permit mygroup2
[Router-pki-cert-acp-myacp] quit
(4) 配置HTTPS服务器与相关策略进行关联,并启动HTTPS服务器
# 配置指定HTTPS服务器的SSL策略为myssl。
[Router] ip https ssl-server-policy myssl
# 配置指定HTTPS服务器的证书访问控制策略为myacp。
[Router] ip https certificate access-control-policy myacp
# 启动HTTPS服务器。
[Router] ip https enable
获取CA证书时失败。
可能有以下原因:
· 网络连接故障,如网线折断,接口松动;
· 没有设置信任的CA名称;
· 证书申请的注册服务器URL位置不正确或未配置;
· 没有配置证书申请注册受理机构;
· 设备的系统时钟与CA的时钟不同步。
· 排除物理连接故障;
· 查看各必配项是否都正确配置;
· 可通过ping命令测试注册服务器是否连接正常;
· 配置证书申请注册受理机构;
· 保持系统时钟与CA同步。
手工证书请求失败。
可能有以下原因:
· 网络连接故障,如网线折断,接口松动;
· 申请之前没有先获取CA证书;
· 当前的密钥对已经绑定证书;
· 没有设置信任的CA名称;
· 证书申请的注册服务器URL位置不正确或未配置;
· 没有配置证书申请注册受理机构;
· 没有配置实体DN中必配参数。
· 排除物理连接故障;
· 获取CA证书;
· 重新创建密钥对;
· 配置信任的CA名称;
· 可通过ping命令测试注册服务器是否连接正常;
· 配置证书申请注册受理机构;
· 可通过查看CA/RA注册策略选择相关的实体DN属性进行配置。
获取CRL发生失败。
可能有以下原因:
· 网络连接故障,如网线折断,接口松动;
· 获取CRL之前未先取得CA证书;
· 未设置LDAP服务器的IP地址;
· 未设置CRL发布点位置;
· CRL发布点的域名解析失败。
· 排除物理连接故障;
· 获取CA证书;
· 设置LDAP服务器的IP地址;
· 设置CRL发布点位置;
· 重新配置LDAP版本;
· 确保能够正常访问DNS服务器,并且保证DNS服务器能够解析配置的CRL发布点域名。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!