什么是SSL ?https是如何保证数据传输的安全【面试题详解】

今天爱分享给大家带来什么是SSL ?https是如何保证数据传输的安全【面试题详解】,希望能帮助到大家。

SSL代表安全套接字层。它是一种用于加密和验证应用程序(如浏览器)和Web服务器之间发送的数据的协议。 身份验证 , 加密Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。SSL/TLS协议作用:认证用户和服务,加密数据,维护数据的完整性的应用层协议加密和解密需要两个不同的密钥,故被称为非对称加密;加密和解密都使用同一个密钥的 对称加密。 优点在于加密、解密效率通常比较高HTTPS 是基于非对称加密的, 公钥是公开的,
(1)客户端向服务器端发起SSL连接请求;
(2) 服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥
(3)客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端
(4)服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密,
(5)进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和篡改。
因为数字签名、摘要是证书防伪非常关键的武器。 “摘要”就是对传输的内容,通过hash算法计算出一段固定长度的串。然后,在通过CA的私钥对这段摘要进行加密,加密后得到的结果就是“数字签名”

SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。
如何保证公钥不被篡改?
将公钥放在数字证书中。只要证书是可信的,公钥就是可信的。
公钥加密计算量太大,如何减少耗用的时间?
每一次对话(session),客户端和服务器端都生成一个”对话密钥”(session key),用它来加密信息。由于”对话密钥”是对称加密,所以运算速度非常快,而服务器公钥只用于加密”对话密钥”本身,这样就减少了加密运算的消耗时间。
(1) 客户端向服务器端索要并验证公钥。
(2) 双方协商生成”对话密钥”。
(3) 双方采用”对话密钥”进行加密通信。上面过程的前两步,又称为”握手阶段”(handshake)。

《计算机网络》书本:
SSL工作过程,A:客户端,B:服务器端
1.协商加密算法:A向B发送SSL版本号和可选加密算法,B选择自己支持的算法并告知A
2.服务器鉴别:B向A发送包含公钥的数字证书,A使用CA公开发布的公钥对证书进行验证
3.会话密钥计算:A产生一个随机秘密数,用B的公钥进行加密后发送给B,B根据协商的算法产生共享的对称会话密钥并发送给A.
4.安全数据传输:双方用会话密钥加密和解密它们之间传送的数据并验证其完整性

TCP对应的应用层协议
FTP:定义了文件传输协议,使用21端口.
Telnet:它是一种用于远程登陆的端口,23端口
SMTP:定义了简单邮件传送协议,服务器开放的是25号端口。
POP3:它是和SMTP对应,POP3用于接收邮件。
HTTP
UDP对应的应用层协议
DNS:用于域名解析服务,用的是53号端口
SNMP:简单网络管理协议,使用161号端口
TFTP(Trival File Transfer Protocal):简单文件传输协议,69

人已赞赏
软件

dns是什么?dns的工作原理【面试题详解】

2020-11-6 11:13:46

软件

鸿蒙OS是什么?【详解讲解】

2020-11-8 15:52:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();