#博学谷IT学习技术支持#
之前有介绍过证书,https双向认证的一些内容
证书类型、自签CA证书、https双向认证(一篇就懂系列)
这次就来看下https的原理
1.什么是https
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer)超文本传输安全协议 ,是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。
2.https原理
关于https的原理,我们在这里进行一次细致化的讲解
1.https协议是http+ssl/tls;就是在http协议的基础上增加了内容加密和身份验证,保证数据在传输过程中的安全性;
2.http的默认端口为80,https的默认端口为443;不启动80端口,也是可以访问https的
3.https四次握手主要是为了验证身份,协商只有浏览器与服务端知道对称加密秘钥。
4.服务器下发的证书,是由CA机构的进行签发的。CA机构使用自己的私钥进行加密,只有使用对应CA机构的公钥可解密。 操作系统和浏览器都会内置CA机构的证书,在获取到服务器的证书的时候,使用CA公钥解密,获取服务端证书;保证了证书的正确性;
5.获取证书后,会随机生成一个密码串(对称加密中的salt),并将salt使用服务端的公钥进行加密,然后使用salt对已交互的握手信息通过协商的加密算法进行mac运算,并将运算后的hash以及加密后的salt发送给服务端;
6.服务端使用私钥,获取到的加密salt进行解密,获取salt值,然后使用协商后的加密算法和salt对已交互的握手信息进行mac运算,并将运算后的hash值与客户端传递的hash值进行比较,如果hash值相同,则此次加密算法协商成功。
https的原理先介绍这些,后续会将使用案例补充上!!!
|