主要内容
课程: 计算机和互联网 > 单元 4
课程 5: 安全的互联网协议安全传输层协议(TLS)
从开始到结束
我们将逐步熟悉用TLS将数据从一台电脑传输到另一台的过程。让我们把发送数据的电脑称作 客户端, 接收数据的电脑称作 服务器。
启动TLS
客户端一定会通知服务器它需要一个TLS连接而不是一个标准的不安全连接,因此它会发送一条消息,描述它希望用到的TLS协议版本和加密技术。
服务器确认协议
如果服务器无法提供客户端所需技术,连接就会中断。这可能会发生在现在的客户端试图连接旧版本的服务器的时候。
只要服务器能支持所需的TLS协议版本和其他选项,就会回复确认,并附加一个包含其公钥的数字凭证。
证书核实
服务器有数字凭证就如同它在说“我就是你所认为的那个人”。如果客户端不认为该证书合法,就会中断连接,不愿将私有数据发送给假冒者。
不然,客户端会核实证书,继续进行它的下一步。
生成共享密钥
现在客户端知道了服务器的公钥,那么理论上就可以用公钥加密来加密数据,然后服务器用对应的私钥解密。
但是,由于运算更加复杂,公钥加密比对称加密用的时间 更多 。如果可能的话,计算机偏向用对称加密以节约时间。
幸运的是,它们可以! 计算机可以 先 用公钥加密私有地生成一个共享密钥,接着 对之后的消息使用该密钥的对称加密。
客户端通过向服务器发送一条消息,使用预先掌握的密钥,加密到服务器的公用密匙。 客户端根据这个主密钥计算共享密钥(这比沿实际共享密钥发送更安全)并将共享密钥留给本地保存。
客户端也会发送消息“Finished”,它的内容会被共享密钥加密。
服务器确认共享密钥
现在服务器可以基于pre-master密钥计算共享密钥,并用其解密消息“Finished”。如果失败了,就会中断连接。
只要服务器能成功地用共享密钥解密客户端的消息,它就会发送一个确认消息和加密过的“Finished”。
发送安全数据
最后,客户端使用对称加密和共享密钥,安全地向服务器发送私人数据。
通常,同一个客户端需要多次向服务器发送数据,比如用户在一个网站的多个页面上填写表单。 在这种情况下,计算机可以用一个简短的过程来建立安全会话。
无处不在的TLS
互联网上各种安全通信都有用到TLS,比如邮件发送和文件上传。不过,最有名的莫过于其在安全网站浏览HTTPS中的应用。
感谢TLS同时使用公钥和对称加密技术,它在 TCP/IP 协议之上提供了一个安全层,我们越来越需要保护在互联网上传输的私有数据了。
🙋🏽🙋🏻♀️🙋🏿♂️您对此主题有任何疑问吗? 我们很乐意回答-只需在下面的问题区域中提问即可!