加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 公告

阿里社招java面试题详解系列一(http缺点&Https浅析)

时间:2024-11-13 13:43:38  来源:http://www.baidu.com/  作者:亲卫队请问

一、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结合了共享密钥加密和公开密钥加密的优势。共享密钥加密处理速度快,但密钥传输安全性较低;而公开密钥加密处理速度较慢,但能保证密钥的安全交换。两者的结合实现了优势互补。具体来说,就是利用公开密钥加密方式安全地交换共享密钥加密中的密钥,然后利用共享密钥加密方式进行通信,确保通信的安全性。

四、公开密钥的正确性验证:

如何确认收到的公开密钥确实是预想中的那台服务器发布的密钥呢?在传输过程中,公开的密钥有可能被替换。

为了解决这一问题,数字证书应运而生。通过数字证书认证机构及相关机构颁发的公开密钥证书,我们可以确认公开密钥的正确性。这些证书确保了公钥的真实性和可信度,为我们提供了安全的在线通信保障。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门