商业虚拟专用网络技术四数据传输安全技术
一、数据传输安全技术
1、数据安全基本概念
数据是用于表示客观事物的未经加工的原始素材。在此篇中主要是指由电子设备产生的二机制文件,比如图片、音乐、视频、文档、程序及各种格式文件,存储于电子介质上的电子数据。
计算机信息化系统中的数据分为结构化数据和非结构化数据。
- 非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片, HTML、各类报表、图像和音频/视频信息等等。
- 结构化的数据,主要存储于数据库存中,简单来说就是数据库。如财务系统、各行业业务软件、办公OA系统。主要通过关系型数据库进行存储和管理。非结构化也存储在结构化的数据中。
信息是数据的内涵,信息是加载于数据之上,对数据作具有含义的解释。信息依赖数据来表达,数据则生动具体表达出信息。数据经过加工处理之后,就成为信息;而信息需要经过数字化转变成数据才能存储和传输。
在网络中经过物理介质传输过程中,数据存在被窃取、篡改、破坏或者假冒身份发出虚假信息的可能性。数据传输环节主要通过信道加密技术保障数据保密性,可以通过HTTPS、VPN 等技术建立加密传输链路。
安全四要素:
1、保密性(Confidentiality)是指严密控制各个可能泄密的环节,使信息在产生、传输、处理和存储的各个环节中不泄漏给非授权的个人和实体。
2、完整性(Integrity)是指存储在数据库中的所有数据值均正确的状态,主要是指数据的精确性(Accuracy) 和可靠性(Reliability)。数据在存储或传输过程中保持不被偶然或蓄意地修改、删除、伪造、乱序、重置等所破坏和丢失是数据完整性的特性。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。
3、身份验证(Authentication),有效的身份识别是信息安全的保障,在对数据的传输中,鉴别和授权必不可少,用来确保对方是正确的发送者,通过身份验证检查设置的印鉴或标识,判断数据是否源于此数据的创建者。
4、抗抵赖性
任何用户在使用网络信息资源的时候都会在系统中留下一定痕迹,操作用户无法否认自身在网络上的各项操作,整个操作过程均能够被有效记录。
2、数据加密和解密
2.1、数据加密技术简介
信息加密技术,就是采用数学方法对原始信息(通常称为“明文”)进行再组织,使得加密后在网络上公开传输的内容对于非法接收者来说成为无意义的文字(加密后的信息通常称为“密文”)。
未加密的数据通常称“明文”,加密后的数据称为“密文”。
2.2、对称密钥加密
对称密钥加密:双方共同持有这个密钥,发送方用这个密钥按照指定的算法将数据加密,再发出去;接收方用这个密钥将接收到的数据解密,以得到真实的数据含义。由于双方都持有这个密钥,而且内容相同,所以叫对称密钥。
发送方将明文和密钥,并输入参数作加密计算得出密文。接收方使用将密文和密钥,并输入参数作加密计算得出明文。
特点:双方共享加密/解密的算法,加密解密使用同样的密钥,对称加密执行效率高,适用于传输数据量大的场合。
缺点:此方法的密钥分发过程十分复杂,所花代价高。多人通信时,密钥组合的数量会出现爆炸性的膨胀,使密钥分发更加复杂化,n个人进行两两通信,总需要的密钥数为n(n-1)/2。通信双方必须统一密钥,才能发送保密的信息。如果发信者与收信人是素不相识的,这就无法向对方发送秘密信息了。
对称密钥的种类:
- 块密码算法 DES, 3DES 以及AES。
- 流密码算法RC4
算法 | 密钥 | 开发者 | 备注 |
---|---|---|---|
DES | 56位 | IBM为美国政府开发 | 1988ANSI不再支持,1998年三天破解 |
3DES | 3*56位 | IBM为美国政府开发 | 使用3条56位的密钥对数据进行三次加密。 |
RC4 | 密钥长度可变 | 罗纳德·李维斯特 | Github从2015年1月5日将停止对RC4的支持 |
AES | 128位/256位 | 比利时密码学家Joan Daemen和Vincent Rijmen | 应用范围很广,是美国联邦政采用的一种区块加密标准 |
2.2.1、流密码算法
流密码算法的原理:
流密码也称为序列密码,它是对明文以一位或者一个字节为单位进行操作。流密码采用一个短的种子密钥来控制密钥流发生器产生出长的密钥序列,供加解密使用。
流密码的加密过程:
种子密钥k输入到密钥流发生器,产生一系列密钥流,通过与同一时刻的一个字节或者一位明文流进行异或操作产生密文流。
2.2.2、块密码算法
块密码(Block Cipher)算法加解密的时候,不是一次性完成,而是把原文分成固定长度的块,每次对这些数据块进行处理。所以块密码算法也叫分组密码算法。
块密码算法的流程:
- 把明文M按照算法要求拆解成固定大小的明文块m-0 ~ m-n, 也就是一小块一小块的分组;
- 通过加密器对每一明文块进行加密;
- 把所有已加密的密文块再进行加密处理。
AES算法简介:
AES为分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。在AES标准规范中,分组长度只能是128位,也就是说,每个分组为16个字节(每个字节8位)。密钥的长度可以使用128位、192位或256位。密钥的长度不同,推荐加密轮数也不同,不同的密钥长度进行不同的轮数操作,有10轮,12轮,14轮,得到分组密文。迭代直到完成全部迭代过程。
AES | 密钥长度(32bit) | 分组长度(32bit) | 加密轮数 |
---|---|---|---|
AES-128 | 4Bytes | 4Bytes | 10 |
AES-192 | 6Bytes | 4Bytes | 12 |
AES-256 | 8Bytes | 4Bytes | 14 |
2.3、非对称密钥加密
非对称加密算法也称为公开密钥算法。此类算法为每个用户分配一对密钥:一个私有密钥和一个公开密钥。我们在上一些专业网或者交易网注册最常见这种方式,注册后下载一个私有密钥来我们的终端设备上。
公开密钥加密技术的优点:
(1)密钥少,便于管理。网络中的每一用户只需保存自己的解密密钥,则n个用户仅需产生n对密钥。
(2)密钥分配简单。加密密钥分发给用户,而解密密钥则由用户自己保管。
(3)不需要秘密的通道和复杂的协议来传送密钥。
(4)可以实现数字签名和数字鉴别。
公开密钥加密技术的缺点是加、解密速度慢。
算法 | 设计者 | 用途 | 安全性 |
---|---|---|---|
RAS | Ron Rivest、Adi Shamir、Leonard Adleman | 加密数字签名密钥交换 | 大整数的分解 |
DSA | 美国国家标准技术研究所 | 数字签名 | 离散对数 |
DH | Whitefield&Martin Hellma | 密钥交换 | 完全向前保密 |
2.3.1、RSA加密
RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。
非对称加密算法会产生两个密钥:公钥 (public key) 和私钥 (private key),密钥的作用:
- 如果用公钥对数据加密,那么只能用对应的私钥解密;
- 如果用私钥对数据加密,只能用对应的公钥进行解密。
这种因为加密和解密用的是不同的密钥,所以将这种加密算法称为非对称加密。
RSA加密对明文的长度有所限制,规定需加密的明文最大长度=密钥长度-11(单位是字节,即byte),所以在加密和解密的过程中需要分块进行。而密钥默认是1024位,即1024位/8位-11=128-11=117字节。所以默认加密前的明文最大长度117字节,解密密文最大长度为128字。那117字节怎么来的?RSA加密使用到了填充模式(padding),padding的作用是当明文小于117字节需要填充到117字节,而padding就占用了11个字节,padding也是参与加密的,所以1024位是由填充到117字节的明文加上padding构成。
过去被破解的最长RSA密钥是768个二进制位。目前主流可选值:1024、2048、3072、4096…。
重要概念:公钥和私钥成对出现。
举例说明:
1、公钥对数据加密,私钥解密
(1)、A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。
(2)、A传递自己的公钥给B,B用A的公钥对消息进行加密。
(3)、A接收到B加密的消息,利用A自己的私钥对消息进行解密。
2、私钥对数据加密,公钥解密
(1)A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。
(2)A用自己的私钥对消息加签,形成签名,并将加签的消息和消息本身一起传递给B。
(3)B收到消息后,在获取A的公钥进行验签,如果验签出来的内容与消息本身一致(分为内容和消息验证),证明消息是A回复的。
2.3.2、DSA算法
DSA (Digital Signature Algorithm) 是 Schnorr 和 ElGamal 签名算法的变种,被美国 NIST 作为 DSS (DigitalSignature Standard)。 DSA 是基于整数有限域离散对数难题的。
DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,它比RSA要快很多。
DSA是一种更高级的验证方式,它是一种公开密钥算法,不能用来加密数据,一般用于数字签名和认证。DSA 不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。私钥加密生成数字签名,公钥验证数据及签名,如果数据和签名不匹配则认为验证失败。数字签名的作用就是校验数据在传输过程中不被修改,数字签名,是单向加密的升级。
采用数字签名完成这些功能:
(1)确认信息是由签名者发送的;
(2)确认信息自签名后到收到为止,未被修改过;
DSA算法处理过程:
(1) 使用消息摘要算法将发送数据加密生成数字摘要。
(2) 发送方用自己的私钥对摘要再加密,形成数字签名。
(3) 将原文和加密的摘要同时传给对方。
(4) 接受方用发送方的公钥对摘要解密,同时对收到的数据用消息摘要算法产生同一摘要。
(5) 将解密后的摘要和收到的数据在接收方重新加密产生的摘要相互对比,如果两者一致,则说明在传送过程中信息没有破坏和篡改。否则,则说明信息已经失去安全性和保密性。
2.3.3、DH算法
迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange,简称“D–H”) 是一种安全协议。由公开密钥密码体制的奠基人 Diffie 和 Hellman 所提出的一种思想。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。
DH算法处理过程:
Ya是路由器A计算出来的随机值,Yb是路由器B计算出的随机值。
2.3、组合加解密技术
组合加解密技术就是将对称密钥算法的数据处理速度和不对称密钥算法对密钥的保密功能两方面优势结合。
不对称密钥算法的缺点是速度慢,但保密性好,对称密钥算法的优点是速度快适合大量数据交换,安全性弱于不对称密钥算法,还有就是如果发信者与收信人是素不相识的,这就无法向对方发送秘密信息了。
根据不对称密钥算法和对称算法的优缺点,A与B进行传输时,发送方使用对称密钥先对大量数据进行加密,然后使用不对称加密方法用接收方的公钥将发送方的对称密钥进行加密,将加密好的数据和加密后的对称密钥一起传送给接收方。
接收方接收到来自A的数据,用私钥解密出对称密钥,再使用对称密钥解密接收到大量数据。
3、摘要算法保证数据完整
3.1、哈希算法
上面DSA算法涉及到摘要,在加密算法中为保证数据的完整性,通常使用摘要算法(HASH),是指采用HASH函数对不同长度的数据进行HASH计算,会得到一段固定长度的结果,这个结果称为原数据的摘要,也称为消息验证码(Message Authentication Code,MAC)。
数据摘要算法也被称为哈希(Hash)算法或散列算法。
主流的摘要算法:
MD4、MD5:MD5生成128位固定长度的hash值,已经被破解
SHA-1:生成164位固定长度的hash值,已经被破解
SHA-2:生成224、256、384、512位的hash值
SHA-3:全新的算法和标准
以上将这部分内容得到固定的32位是密码和16位密码。这个就是摘要。
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密。只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。
数据摘要算法得到的结果的作用是验证文件完整性,存储用户口令。要想保证发送方的信息在传输中不被篡改,保障安全的做法是发送方先计算出将发出信息的摘要值,然后将摘要值与信息一同发送出去,接收方收到信息后,先根据收到的信息计算出摘要值,进行比对,如果一致则证明所接收的信息没有被更改。
Hash算法的么特点:
- 长度固定:无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。
- 单向函数:只能进行正向的信息摘要,而无法从摘要中恢复出任何的消息,甚至根本就找不到任何与原信息相关的信息。
- 无法更改:原始输入信息修改一点信息,产生的 hash 值不同。输入改变了,输出也就改变了。
- 冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突)。
黑客篡改情况
1、在公共网络中,黑客截获数据包并将信息内容更改:
2、在公共网络中,黑客截获数据包并将信息内容更改,而且也篡改了摘要值(这个摘要值是黑客更改后的信息内容后根据新内容生成的摘要值)。上面的摘要算法就无法发现数据被篡改。
3.2、HMAC算法
从黑客改变内容和改变摘要值使原来的方法对数据完整性保护失效,一种改进的HMAC算法应运而生,它要求通信双方共享密钥、约定算法、对报文进行Hash运算,形成固定长度的认证码。通信双方通过认证码的校验来确定报文的合法性。 HMAC算法可以用来作加密、数字签名、报文验证等 。
HMAC算法的安全性主要有以下几点保证:
(1)使用的密钥是双方事先约定的,第三方不可能知道。由上面介绍应用流程可以看出,作为非法截获信息的第三方,能够得到的信息只有作为“挑战”的随机数和作为“响应”的HMAC结果,无法根据这两个数据推算出密钥。由于不知道密钥,所以无法仿造出一致的响应。
(2)在HMAC算法的应用中,第三方不可能事先知道输出。
(3) HMAC算法与一般的加密重要的区别在于它具有“瞬时”性,即认证只在当时有效,而加密算法被破解后,以前的加密结果就可能被解密。
4、数字签名
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。
数字签名可以保证信息的完整性,具有不可抵赖性。
传统的方式是我们在文件上签字和盖章,特别在骑缝签名、骑缝盖章来保证文件的完整性,签字和盖章证明此文件是经过认可作为正式的规范。
在网络中我们应用传统的作法来防止伪造、抵赖、冒充和篡改问题,使用数字签名来代替签字和盖章形式来保障安全传输。
签名过程:
(1)、发送方将待发送的数据进行哈希(Hash)算法,得到原数据的摘要(MAC);
(2)、发送方将原数据的摘要(MAC)使用自己的密钥进行加密,得到加密后字符串;
(3)、将原数据与加密后字符串一起发送给接收方。
解密过程:
(1)、接收方解密后,得到原数据与加密后字符串;对原数据使用与发送方一样的哈希(Hash)算法计算出原数据的摘要(MAC);
(2)、接收方使用公钥(发送方)来对报文附加的数字签名进行解密,得到原数据的摘要(MAC);
(3)、比较以上两个原数据的摘要(MAC)是否相等。相等说明报文是合法的发送方,并且在传送过程中没有伪造、冒充和篡改问题。
5、数字证书
数字证书是一种权威性的电子文档。它提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构中心发行的,人们可以在互联网交往中用它来识别对方的身份。当然在数字证书认证的过程中,证书认证中心作为权威的、公正的、 可信赖的第三方,其作用是至关重要的。
在网络传输中,发送方与接收方需要传输公钥,接收方接收到公钥后,就存在如何鉴别这个收到的公钥是不是伪造的、篡改的问题?使用数据证书就可以解决这一问题,数据证书就相当于身份证一样,证书里包含可以确实身份的信息资料,接收方可以根据证书证明所接收的数据真假。
数据证书是几部分组成,发送方的公钥、发送方姓名、证书的颁发者的名称、证书的序列号、证书的颁发者的数字签名、证书的有效期限。
数据证书的获取需要向某颁证机构申请,申请过程中,将会生成两份密钥,一份是公钥、一份是私钥,公钥被写进申请者的数字证书中,私钥由申请者自己保存。申请成功后,颁证机构将用其私钥给申请者签发一份证书。
5.1、数字证书的分类
按照证书持有者的类型:
- 个人证书:CA中心给个人颁发的证书,仅代表个人身份,证书包含个人信息和个人公钥。
- 单位证书:CA中心给组织机构颁发的证书,代表机构的身份,包含机构单位的信息和单位公钥。
- 系统证书:CA中心给应用系统或者设备颁发的证书,代表系统的身份,包含系统的信息和系统的公钥。
按证书用途分类:
- 签名证书:签名证书只能用于签名和验证签名,为了密钥的安全,密钥对一般在客户端产生和保存。
- 加密证书:加密证书只能用于加密,其中密钥对由CA产生,通过保护算法和协议发送给用户保存,同时CA中心也保存该密钥对,以备管理和恢复。
按证书颁发者分类:
-
自签名证书:自签名证书又称为根证书,是自己颁发给自己的证书,即证书中的颁发者和主体名相同。设备不支持对其生成的自签名证书进行生命周期管理(如证书更新、证书撤销等)。
-
CA证书:CA自身的证书。如果PKI系统中没有多层级CA,CA证书就是自签名证书;如果有多层级 CA,则会形成一个CA层次结构,最上层的CA是根CA,它拥有一个CA“自签名”的证书。
按证书颁发对象分类:
- 本地证书:CA颁发给申请者的证书。
- 设备本地证书 :设备根据CA证书给自己颁发的证书,证书中的颁发者名称是CA服务器的名称。
5.2、数字证书的内容
目前最新版本为X.509 V3,若使用扩展项时,version=v3。序列号serialNumber为证书的唯一标识,每张证书的序列号不同。签名算法signatureAlgorithm和证书域中的签名算法相同。证书的签发者issuer是证书的颁发机构,是证书持有者的信任方。主体subject也是证书持有者,是证书的所属实体。有效期validity包含证书的生效日期和失效日期。主体公钥信息subjectPublicKeyInfo表示证书持有者的公钥信息。
版本 Version包含V1.0、V2.0、V3.0
证书序列号 Certificate Serial Number
签名算法 Certificate Signature Algorithm
签发者 Issuer
有效日期 Period of Validity
主体 Subject
所有人公钥 Subject’s Public Key Info
扩展项 EXtensions
5.3、数字证书的格式
格式 | 描述 |
---|---|
PKCS#12 | 以二进制格式保存证书,可以包含私钥,也可以不包含私钥。常用的后缀有:.P12和.PFX |
DER | 以二进制格式保存证书,不包含私钥。常用的后缀有:.DER、.CER和.CRT |
PEM | 以ASCII码格式保存证书,可包含私钥,也可不包含私钥。常用的后缀有:.PEM、.CER和.CRT |
6、PKI 体系概述
Public Key Infrastructure(PKI),中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。PKI采用多种技术,由多种实体协同运作的一种环境,包含软件、硬件、人、企业、多种服务、多种应用。
PKI的主要目的是用来发行“身份证明书”,这个身份证明书,被叫做“证明书”。发行“证明书”的机关叫做“认证机关”。还有一个就是统一管理证明书的证书“档案库”。这三个东西加起来,就是PKI的主要构成要素。PKI指的是证明书的制作和分发的一种机制。在这个机制的保障前提下,进行可信赖的网络通信。即安全的网路通信保障机制。
主要功能:是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务。
CA证书机构作用:是发放和管理数字证书,包括:证书的颁发、证书的更新、证书的撤销、证书的查询、证书的归档、证书废除列表CRL(Certificate RevocationList)的发布等。
RA注册机构作用:接受用户的证书注册和撤销申请,对用户进行资格审查。是注册机构RA提供用户和CA之间的一个接口。也可以独立,其功能包括个人身份审核、CRL管理、密钥产生和密钥对备份等。
PKI存储库包括LDAP目录服务器和普通数据库,PKI存储库作用:对用户申请、证书、密钥、CRL和日志等信息进行存储和管理,并提供一定的查询功能。
CRL(证书作废列表) 和 OSCP(在线证书状态协议):方便用户快速获得证书状态。
KMC:解决私钥的备份与恢复问题。
6.1、证书结构:
国际电联ITU标准,它定义了一个 开放的框架,并在一定的范围内可以进行扩展。X.509为证书及其CRL格式。
X.509 目前有三个版本:V1、V2和V3,其中V3是在V2的基础上加上扩展项后的版本,这些扩展包括由ISO文档(X.509-AM)定义的标准扩展,也包括 由其他组织或团体定义或注册的扩展项。X.509 V3版本证书格式,该版本证书通过增加标准扩展项对V1和V2证书进行了扩展。另外,根据实际需要,各个组织或团体也可以增加自己的私有扩展。
X.509 V3版本格式:
版本 Version包含V1.0、V2.0、V3.0
证书序列号 Certificate Serial Number
签名算法 Certificate Signature Algorithm
颁发者 Issuer
有效日期 Period of Validity
主体 Subject
所有人公钥 Subject’s Public Key Info
扩展信息:通常包含了证书的用法、CRL的发布地址等可选字段。
签名:颁发者用私钥对证书信息的签名。
扩展项 EXtensions X.509V3独有
6.2、9 PKI 工作过程
6.3、验证流程:
(1). 将客户端发来的数据解密 (如解开数字信封)。
(2). 将解密后的数据分解成原始数据,签名数据和客户证书三部分。
(3). 用CA根证书验证客户证书的签名完整性。
(4). 检查客户证书是否有效 (当前时间在证书结构中的所定义的有效期内)。
(5). 检查客户证书是否作废 (OCSP方式或CRL方式)。
(6). 验证客户证书结构中的证书用途。
(7). 客户证书验证原始数据的签名完整性。
7、加密技术总结
8、配置PKI
1、一份证书是一个公开密钥与一个身份的绑定,身份必须与一个特定的PKI实体相关联。本地证书是由CA进行数字签名并颁发的。它是公钥与PKI实体身份信息的绑定。PKI实体信息就是PKI实体的身份信息,CA根据PKI实体提供的身份信息来唯一标识证书申请者。因此,申请本地证书时,PKI实体必须将包含PKI实体信息的证书注册请求消息发送给CA。
配置实体:
[Switch] pki entity user01 //配置PKI实体为user01
[Switch-pki-entity-user01] common-name hello //配置PKI实体的通用名称
[Switch-pki-entity-user01] country cn //配置PKI实体所属的国家代码
[Switch-pki-entity-user01] email user123456@qq.com //配置PKI实体的电子邮箱地址
[Switch-pki-entity-user01] fqdn test.abc.com //配置PKI实体的FQDN域名
[Switch-pki-entity-user01] ip-address 10.5.0.2 //配置PKI实体的IP地址
[Switch-pki-entity-user01] state shenzhen //配置PKI实体所属的州或省
[Switch-pki-entity-user01] organization huawei //配置PKI实体所属的组织名称
[Switch-pki-entity-user01] organization-unit info //配置PKI实体所属的部门名称
2、本地证书是由CA进行数字签名并颁发的。它是公钥与PKI实体身份信息的绑定。因此,申请本地证书时,需先配置RSA密钥对生成公钥和私钥。公钥由PKI实体发送给CA,可以被对端用来加密明文;私钥由PKI实体保留,可以被用来数字签名和解密对端发送过来的密文。
创建RSA密钥对
执行命令pki rsa local-key-pair create key-name [ modulus modulus-size ] [ exportable ],创建证书申请时使用的RSA密钥对。
仅当配置exportable参数时,创建的RSA密钥对才可以被导出。
创建一个2048位的RSA密钥对rsa_scep,并设置为可以从设备上导出。
[Switch] pki rsa local-key-pair create rsa_scep exportable
Info: The name of the new key-pair will be: rsa_scep
The size of the public key ranges from 512 to 4096.
Input the bits in the modules:2048
Generating key-pairs... ..................+++
销毁指定的RSA密钥对
[Switch] pki rsa local-key-pair destroy rsa_scep
4、 通过SCEP协议申请和更新证书。
[Switch] pki realm abc //创建PKI域并进入PKI域视图 abc是域名称
[Switch-pki-realm-abc] ca id ca_root //配置PKI域信任的CA为ca_root自行命名
[Switch-pki-realm-abc] entity user01 //指定申请证书的PKI实体
//配置对CA证书进行验证时使用的CA证书数字指纹
[Switch-pki-realm-abc] fingerprint sha256
e71add0744360e91186b828412d279e06dcc15a4ab4bb3d13842820396b526a0
//配置CA服务器的URL,配置ra参数时,指定RA审核PKI实体申请本地证书时的身份信息。
[Switch-pki-realm-abc] enrollment-url http://10.1.0.1:80/certsrv/mscep/mscep.dll ra
[Switch-pki-realm-abc] rsa local-key-pair rsa_scep ///配置使用SCEP方式申请证书时使用的RSA密钥对
//配置签名证书注册请求消息使用的摘要算
[Switch-pki-realm-abc] enrollment-request signature message-digest-method sha-384
配置SCEP证书申请时使用的挑战密码,也是证书撤销密码。
[Switch-pki-realm-abc] password cipher 6AE73F21E6D3571D
PKI实体使用的挑战密码必须与CA服务器上设置的密码一致。如果CA服务器不要求使用挑战密码,则不用配置挑战密码。
5、开启证书自动注册和更新功能,指定证书有效期到60%时自动更新并同时更新RSA密钥。
[Switch-pki-realm-abc] auto-enroll 60 regenerate 2048
6、查看
查看已经导入内存的本地证书的内容。
display pki certificate local
查看已经导入内存的CA证书的内容。
display pki certificate ca
查看证书的注册状态。
display pki certificate enroll-status
查看OCSP响应缓存的统计信息。
display pki ocsp cache statistics
查看设备上已加载的CA证书、本地证书或者OCSP服务器证书的内容。
display pki certificate { ca | local | ocsp } realm realm-name