这个只是自己记录和总结,写的只有自己看的懂。。
一,基本概念
1, 不对称加密:有两个秘钥,私钥和公钥。都可以对信息进行加密和解密。
2, 对称加密:只有一个秘钥对信息进行加密。
3, RSA:一种不对称加密的算法
4, Hash计算:Hash计算,这个过程是不可逆的。
5, 签名:就是保证发送的信息不被改过,首先将要发送的信息进行hash计算,得到一个值之后再加密做为一个签名和信息一起发出去。对方在接到信息后进行hash,再和收到的hash值对比是否一样。如果一样,值就没有改变。
二,SSL通信的基本过程
1, 用户向服务端发送请求:用户>>服务器 :hello
2, 服务器向用户发送数字证书,证书里包含了公钥:服务器>>用户 :数字证书
3, 用户收到数字证书后进行验证,若数字证书没有问题,就将一串数值用hash计算后发给服务器。服务器用私钥加密后再发给用户,用户用公钥解开这些信息,判断和发给服务器的hash是否相等,若相等,则认定服务的身份
用户>>服务器:用hash计算的值
服务器>>用户:将以上的值用私钥加密,用户会用公钥解密看下和发过去的是否一样。
4, 用户验证服务器的身份后,生成一个对称算法和密钥,并用服务器的公钥加密后发给服务器,服务器用自己的私钥解密后就用这个密钥进行对称加密。
用户>>服务器:对称加密算法和密钥并用服务器的公钥加密
服务器>>用户:得到密钥和加密算法后用此对后续传输的信息进行加密(信息也要进行hash,用于校验)