Https,SSL/TSL学习

1.概念
Http超文本传输协议,传输的数据是明文的,不安全的。
Https就是在Http基础之上在Tcp/Ip和Http之间加了一层安全层SSL/TSL来保证数据的安全,可进行数据加密,身份信息认证等。
SSL:SecureSocketLayer安全套接字层是由网景公司发明,后来IFET标准化,标准化之后的名称为TSL(TransportLayerSecurity)传输层安全协议。用来加密数据保数据的安全性。
证书一般分为CA证书与自定义证书,CA证书一般都默认内置支持不需要特殊处理。自定义证书则需要手动处理,需要在客户端或者浏览器中内置证书的文件并设置,才可以支持访问,不然会报错。
Http 80端口, Https 443端口。
2.Https的作用
    认证用户和服务器,确保数据发送到正确的用户和服务器
    加密数据,防止数据中途被窃取
    保证数据的安全性,防止传输过程中被篡改
3.Https通信过程:
    一般服务器会有一个证书,浏览器会验证证书的合法性,对权威机构的证书一般都是直接认为合法,而对于自定义的证书,则需要验证。如果验证不通过则无法访问。对于自定义证书的网站,网上一般的做法是直接信任所有证书,但是这种做法是不安全的。

    由浏览器或者客户端发出请求携带支持的加密算法与Hash算法到服务端,服务器根据C/B支持支持的算法选择使用的算法。然后把身份内容证书返回给C/B,证书是由第三方权威机构颁发(证书一般包含服务器公钥,网址,颁发机构)。返回的内容会使用第三方的私钥加密。发送之后由C/B验证,一般C/B会内置第三方的公钥,通过公钥解密获得证书内容,选择相信证书之后,C/B会生成一个随机数作为后续通信的秘钥,之后会把这个随机数与Hash的结果通过公钥进行加密发送给服务器。服务器通过私钥揭秘之后获得这个随机数也就是秘钥并就要Hash结果,如果一致服务器就会通过这个随机数秘钥发送一段握手信息给C/B,C/B解密并Hash校验通过之后握手结束,之后的传输则通过之前的随机数秘钥使用对称算法加密并传输。
发布了11 篇原创文章 · 获赞 3 · 访问量 2747

猜你喜欢

转载自blog.csdn.net/KyungLip/article/details/79376970