散列函数:MD5、SHA-1、SHA-2
验证数据的完整性,散列值也称为数据的指纹。
特点:固定大小、雪崩效应、单向、冲突避免
实际运用
2811#verify /md5 system:running-config
.Done!
verify /md5 (system:running-config) =569a4b5a051112ad07bdb6b452ab625a
对称密钥算法
使用相同密钥与算法进行加解密运算的算法就叫做对称密钥算法
特点:速度快、安全、紧凑
缺点:1.明文传输共享密钥容易出现中途劫持和窃听的问题
2.随着参与者数量的增加,密钥数量急剧膨胀长((n× (n-1))/2)
3.因为密钥数量过多,对密钥的管理和存储是一个很大的问题。
4.不支持数字签名和不可否认性。
非对称密钥算法
非对称密钥算法的主流协议为RSA,需要每一个参与者产生一对密钥。
共享公钥到服务器,严格保障私钥的安全性。根据这种操作的特点,也被称作公共密钥系统。
优点:
- 安全
- 由于不必担心交换的公钥被劫持,所以非对称密钥的分发更安全。
- 密钥数目和参与者数目相同。
- 在交换公钥之前不需要预先建立某种信任关系。
- 支持数字签名和不可否认性。
缺点:
速度慢、密文变长

密钥管理面临的挑战
在使用任何基于RSA服务之前,一个实体需要真实可靠的获取其他实体的公钥。
1.通过非信任的通道,公钥交换必须是安全的。
2.在密钥交换的过程中,公钥必须不能够被截获和更改。
3.交换呈现Full Mesh的复杂度。
4.由最终用户来确认密钥有效性,非常不靠谱。
PKI核心部分CA
CA(证书授权颁发机构)
PKI继承了这个概念并使其具有可扩展性
1.仅仅只有一个受信任的介绍者 (证书颁发机构)
2.CA签署每一个人的公钥
3.每个人都拥有CA的公钥


1.实体现在就可以通过非信任的网络来彼此交换被(CA)签了名的公钥了
2.收到的公钥都是被CA的公钥所确认的,CA的公钥在每一个实体本地必须是有效的。

申请证书
第一步:同步时间
时间是整个PK系统的重中之重,必须要先确保参加PK系统的设备和主机的时间同步。才能开始PKI的部署。
第二步:部署证书服务器
证书服务器是整个PK系统的核心,我们可以选择CiscoIOS或者微软的证书服务器
第三步:客客户端产生密钥
每一个实体在申请证书之前,需要预先产生RSA的密钥对。
第四步:验证证书服务器
每一个实体需要获取证书服务器的根证书,里包含证书服务器的公钥。获取了根证书后,可以通过fingerprint离线验证证书服务器。
第五步:申请个人证书
每一个实体发送自己的个人信息和公钥到证书服务器。
第六步:审核并签名证书
管理员对每一个证书请求进行审核,并且对个人信息和公钥内容进行数字签名,签名后的文件即为数字证书
第七步:分颁发数字证书
证书服务器把签名的证书颁发给实体。
申请方式
1.SCEP (Simple Certificate Enrollment Protocol))for VPN devices
2.File-based (PKCS#10)
3.Web-based (browser-to-CA)(主要用于MS证书服务器的申请)
SCEP介绍
1.主要用于在线证书申请。
2.主要由Cisco设计的技术。
3.VPN设备PKI证书申请的工业标准3.HTTP传输协议。
4.被绝大多数VPN和CA厂商支持。
5.为VPN设备(VPN最终用户)提供了简单而功能强大的证书申请方式。
PKCS#10介绍
1.主要用户离线证书申请
2.定义了证书请求的数据格式
3.证书请求包括:DN(Distinguished name)、个人信息Public key 公钥、Optional set of attributes 其它属性
证书吊销方式
1.CRL (证书吊销列表)
- 类似于通缉布告
- time-stamped (有效期)
- CA-signed(服务器签名)
- 客户周期性轮询CRL存储位(http/ldap/ftp...)获取当前CRL。
- 管理员一旦吊销证书,新的CRL就会被颁发,但是新的CRL并不会立即被客户获取,必须等老的CRL超期,才能获取新的CRL。
2.OCSP (Online Certificate Status Protocol)
- 在线式证书吊销状态查询协议,IOSCA暂不支持。