计算机网络 | HTTPS、对称非对称加密方式 | [4]

摘要
本章主要介绍了从HTTP到HTTPS;
对称加密(共享密钥)和非对称加密(公开密钥);
以及身份认证方式;
未完待续额~

从HTTP到HTTPS

HTTP的缺点

  • 通信使用不加密的明文传输,有可能会被监听
  • 无法验证通信方身份,有可能遭遇伪装
  • 无法验证传输信息的完整性,有可能内容遭到篡改

针对缺点1:通信使用不加密的明文传输,有可能会被监听

通信加密

HTTP协议没有机密机制,但是可以结合SSL(secure socket layer 安全套接层)或者TLS(transport layer security 安全传输层协议)
加密通信内容

与SSL组合使用的HTTP称为HTTPS(HTTP secure 超文本传输安全协议)

内容加密

由于HTTP协议不具有加密机制,因此可以对传输的内容主体进行内容加密

不同于通信加密,对整个通信线路进行加密

仅仅对内容加密仍然存在内容被篡改的危险

针对缺点2:无法验证通信方身份,有可能遭遇伪装

由于HTTP机制实现本身非常简单,不管是谁发过来的请求,服务器能响应的都会响应
无法确定是不是真的接收请求的服务器
无法确定是不是真的接收响应的客户端
无法阻止海量请求下的DOS攻击(denial ofservice 拒绝服务攻击)

SSL使用证书来验证信息
所谓证书是由可信赖的安全的第三方机构颁布的,以此验证身份(身份证许可证

针对缺点3:无法验证传输信息的完整性,有可能内容遭到篡改

MD5算法生成散列值作为数字签名*(不过散列值也可能被修改)

HTTPS

HTTP + 加密 + 通信方人证 + 文件完整性检验 = HTTPS

对称加密和非对称加密

对称加密

也被称为共享密钥加密

通信双方共享相同的密钥,进行加解密

对信息加密的算法是公开的,但是密钥是保密的
加密和解密信息都需要密钥

但是一方进行加密时需要将密钥转交给解密的一方,很难保证转交密钥的安全性(因为如果转交密钥安全,那么传递信息也就安全了)

非对称加密

公开密钥加密方式很好的解决了共享密钥(对称加密方式)

公开密钥使用一堆非对称的密钥,一把称作私钥,一把称为公钥

公钥任何人都可以获得,而密钥不能让任何人获得

流程

发送信息的一方使用对方的公钥进行加密
然后接收方收到之后,使用自己的密钥进行解密

这样就不需要将密钥进行发送

HTTPS采用两者混合的加密机制

非对称加密方式更加安全,但是处理速度更慢

在交换密钥环节使用更安全的非对称加密,之后建立起通信交换报文阶段就使用速度更快的对称加密方式进行数据传输

缺陷

即使是非对称加密,也存在缺陷,例如无法确认收到的公开密钥就是理想的服务器发布的公开密钥

为了解决这个问题,可以使用由数字证书认证机构和其相关机构颁布的公开密钥证书

这是可信赖的第三方组织,不过,如何转交安全的公钥依然存在风险,所以多数浏览器发布的版本内部会植入常用的公钥

并且HTTPS的加密通信会消耗更多的CPU资源及内存资源,比HTTP慢2到100倍

身份认证机制

HTTP1.1使用的认证机制主要有

  • BASIC认证 基础认证
  • DIGEST认证(摘要认证)
  • SSL客户端认证
  • FormBase认证(基于表单认证)

由于使用上的便携性和安全性问题,BASIC和DIGEST认证几乎不怎么使用,SSL认证虽然安全性足够,但是因为费用问题尚未普及
最常用的认证多半是基于表单认证,表单认证机制是通过服务器端的web应用,将客户端发送过来的ID和密码与注册的时候提交的数据进行匹配

基于表单认证的标准规范尚未有定论,一般会使用cookie来管理session(会话)

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值