面试常客,不得不复习,太功利了
近代的加密方法中加密算法是公开的,而密钥确实保密的
加密和解密都用同一个密钥,其有个最大挑战如何安全传递密钥,拥有密钥就拥有加密解密的能力,如果被互联网转发密钥被窃听,那么就失去了加密的意义
加密和解密使用不同的密钥,这两把密钥叫做公钥和私钥。客户端用服务器的公钥加密内容发送出去,服务器就用自己的密钥进行解密
公开密钥的处理更加复杂,效率更低,但没有共享密钥使用同把密钥的风险
采用共享和公开密钥混合机制,先用公开密钥将共享密钥加密发送给对方,然后确保交换的密钥安全前提下,使用共享密钥通信,综合了二者的优缺点
公开密钥还是存在一些问题,无法证明自身是货真价实的密钥。比如在使用交换公钥时遭到了中间人攻击,那么双方在一开始的交换密钥都被掉包,后续的通信对于中间人透明,此时需要使用证书来证明对方的身份,步骤:
HTTPS并非一种新协议,只是HTTP通信接口部分使用了SSL/TLS协议代替。正常HTTP直接和TCP通信,使用HTTPS时,HTTP先和SSL/TCL通信,然后后者再与TCP通信,简单就是应用层和传输层增加了SSL/TCL
SSL由网景公司提出,后标准化后称为TLS
由此出现了HTTPS
--------------------HTTPS当然也是基于TCP-------------------------------------
------------------------第一阶段的握手协商结束------------------------------------
参考
《图解TCP/IP》