1.pki特点(完整性<传输过程中不被篡改>、私密性、源认证、不可否认)
2.hash函数来确认完整性(中文名字,散列函数),特点: 1)固定大小2)雪崩效应3)单向4)冲突避免
3.加密算法,两种: 对称密钥加密(发起方和接收方使用相同的密钥和算法进行加解密),非对称密钥加密
4.对称密钥特点
优点:快、安全、紧凑
缺点: 1)传输密钥过程可能会被劫持2)随着用户量增长密钥数量急剧增加(n*(n-1)/2)3)密钥太多管理问题严重4)不支持数字签名和不可否认
5.常用对称密钥加密算法des,aes, rc4
6.非对称密钥,特点: 使用不同的密钥加解密。用途: 数据加密、数据签名
优点: 安全、密钥数与用户数相同、支持签名、支持不可否认
缺点: 非常慢(通常只加密几百位范围内的数据)、密文会变长
常用算法Rsa,dh,ecc
7.一个常用的巧妙的对称非对称密钥应用
用户A
1.随机生成56位密钥k------------------------3.使用用户B公钥采用非对称算法对密钥k进行加密得密钥K
2.使用对称算法des和k对明文数据进行加密得d------------------------------------------------------>4.把K和d传给用户B
----------->5.用户B使用私钥对K进行解密得到k------------>6.用户B使用对称算法des和k把数据d还原成明文
8.数字签名
用户A
1.使用明文进行hash得到散列值v---->2.使用非对称算法来对用户A的私钥和v进行加密得数字签名n------>3.把明文和n一起发给用户B
--------->4.用户B用用户A的公钥对n进行非对称算法解密得v-------->5.使用明文hash得散列值V--------->6.对比v和V,如果相等则数据完整、是A作的
9.数字证书,他出现的原因,是要解决公钥的分发问题。即,这个公钥到底是谁的。(由第三方来发证书,我们默认都信任这个第三方,CA)
10.一个完美的解决方案
用户A
加密的数据D
加密的摘要Z(签名,有签名才证明我有私钥)
数据证书S--------------->发给用户B--------->用户B利用第三方公钥来验证证书,验证通过后得到用户A公钥S-------->用户B用S来把Z解密得到散列h1------>用户B解密D---->
---------->用户B用D计算得到散列h2------->比较h1,h2------>如果相等则说明数据完整性、不可否认性、源认证、私密性
11.PKI(Public Key Infrastructure), 一个服务框架, 用来支持大范围部署基于公钥的技术
12.CA(Certificate Authority), 一个授权机构(可信任的第三方),它在网络中签名所有公钥
13.Certificates, 证书,一个被CA签名的文档,用于绑定名字和公钥(注,用CA的私钥进行了签名)
14.PKI的用户,人、设备(路由)、服务器
15.根证书, 证书扩展"基本约束",且类型为CA
16.证书标准X.509v3
17.PEM编码, 操作公钥、私钥
18.PKCS#7,封闭标准
19.PKCS#10, 请求数据标准
20.PKCS#12, 把私钥、公钥、证书加密打包保存, 微软使用这个标准生成的文件扩展名为pfx
21.微软证书,分为三类: 用户、计算机、服务
22.Linux证书,由应用程序来管理,每一个应用程序有一个自己的证书和密钥的存储位置
23.smartcard, 盾,存储私钥和证书,1)私钥不能被导出和复制, 2)有独立的芯片来签名(这样可确保私钥不进内存)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课