DH:双方共有一些参数,共同协商加密算法,除此之外双方还有属于自己的私有参数,通过共有参数、私有参数和算法信息来进行加密,然后双方将计算后的结果进行交换,交换完成后再和属于自己私有的参数进行特殊算法,经过双反计算后的结果是相同的,而这个结果就是密钥。
如:A有p和g两个参数,A还有一个属于自己的私有参数x;
B有p和g两个参数,B还有一个属于自己的私有参数y;
A和B有相同的加密算法即:
A:p^x%g
B:p^y%g
然后双方交换计算后的结果,此时
A拿到B的p^y%g,B拿到A的p^x%g,双方再和自己私有参数进行相同的算法,即
A:对p^y%g 再求x次方得(p^y%G)^x=p^xy%g
B:对p^x%g 再求y次方得(p^x%G)^y=P^xy%g
最后A和B的结果是一样的
注意:整个过程中对于第三方人员来说只能获取p,g两个值,AB双方交换的是经过计算后的值,因此这种加密算法是很安全的。
5)一次加密通信过程:
发送者:
1.使用单向加密算法提取生成数据的特征码; (单向加密技术)
2.使用自己的私钥加密特征码附在数据的后面; (公钥加密技术)
3.生成用于对称加密的临时密钥;
4.用此临时密钥加密数据和已经使用私钥加密后的特征码;(对称加密技术)
5.使用接收方的公钥加密此临时密钥,附在对称加密后的数据的后方;(密钥交换技术)
接收者:
1.使用自己的私钥解密加密的临时密钥,从而获取对称密钥;
2.使用对称密钥解密对称加密的 数据和私钥加密的特征码密文; 从而获取数据和特征码密文;
3.使用发送方的公钥解密特征码密文,从而获取计算生成的特征码;
4.使用与对方同样的单向加密算法计算数据的特征码,并与解密而来的进行比较。
6)CA和证书
★PKI: Public Key Infrastructure
公钥基础设施:
签证机构:CA(Certificate Authority)
注册机构:RA
证书吊销列表:CRL
证书存取库:
★X.509:定义了证书的结构以及认证协议标准
版本号:version
序列号:serial number CA用于唯一标识此证书;
签名算法标志:
颁发者:即CA自己的名称;
有效期限:两个日期,起始日期和终止日期
主体名称:证书拥有者自己的名字
主体公钥:证书拥有者自己的公钥信息
发行者的唯一标识:
证书主体的唯一标识
CRL分发点:
扩展信息
发行者签名:CA对此证书的数字签名
★验证证书过程:
1.用CA的公钥去解密CA的全名,能解密说明证书来源可靠;
2.用同样的加密算法去加密证书取得特征码,与解密出的特征码相比较,如果二者相同,说明证书完整性可靠;
3.检查证书的有效期限在不在当前合理的有效范围内
4.验证主体名称和期望通信的对方是否一致
5.检查证书是否被吊销。
★ 证书类型:
证书授权机构的证书
服务器
用户证书
★ 获取证书两种方法:
1.使用证书授权机构;
生成签名请求(csr)
将csr发送给CA
从CA处接收签名
2.自签名的证书;
自已签发自己的公钥
3.SSL
1)介绍
★SSL: Secure Socket Layer
安全套接层,是为网络通信提供安全及数据完整性的一种安全协议;