阿里社招java面试题详解系列一(http缺点&Https浅析)
一、HTTP的缺陷:
1. 数据传输采用明文,缺乏加密措施,导致内容容易被第三方。
2. 通信双方的身份未进行验证,存在假冒身份的风险。
3. 无法验证报文的完整性,内容容易被篡改。
二、HTTPS的诞生:
什么是HTTPS?当HTTP与SSL(安全套接层)相结合时,我们称之为HTTPS(HTTP Secure,超文本传输安全协议)。
为了实现通信的保密性,HTTPS采用了加密处理。HTTP与SSL联手,对通信内容进行加密。一旦SSL建立起安全通信线路,HTTP就可以在这条线路上进行通信。简而言之,HTTPS = HTTP + 加密 + 身份验证 + 完整性保护。
使用HTTPS后,网址变得更加安全。在通信过程中,HTTP直接与TCP通信;但当使用SSL时,需要先与SSL通信,再由SSL与TCP完成通信。
三、SSL的工作原理:
在探讨SSL之前,我们先来了解两种主要的加密方法。
1. 共享密钥加密:加密与解密使用同一把密钥。在发送密钥的过程中,密钥有可能被窃取。那么,如何解决这一问题呢?答案就在接下来的介绍中。
2. 公开密钥加密(非对称密钥):公开密钥使用一对非对称密钥,一把是私有密钥,另一把是公开密钥。公开密钥可以随意发送,而私有密钥则严格保密。发送方使用对方的公开密钥进行加密,接收方使用私有密钥进行解密。除非拥有私有密钥,否则无法还原信息。
HTTPS结合了共享密钥加密和公开密钥加密的优势。共享密钥加密处理速度快,但密钥传输安全性较低;而公开密钥加密处理速度较慢,但能保证密钥的安全交换。两者的结合实现了优势互补。具体来说,就是利用公开密钥加密方式安全地交换共享密钥加密中的密钥,然后利用共享密钥加密方式进行通信,确保通信的安全性。
四、公开密钥的正确性验证:
如何确认收到的公开密钥确实是预想中的那台服务器发布的密钥呢?在传输过程中,公开的密钥有可能被替换。
为了解决这一问题,数字证书应运而生。通过数字证书认证机构及相关机构颁发的公开密钥证书,我们可以确认公开密钥的正确性。这些证书确保了公钥的真实性和可信度,为我们提供了安全的在线通信保障。
文章从网络整理,文章内容不代表本站观点,转账请注明【蓑衣网】