热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

了解HTTPS

HTTP的缺点通讯使用明文,内容可能会被窃听不验证通信方的身份,可能遭遇伪装无法证明报文的完整性,所以有可能被篡改HTTP+加密+认证+完整性保护HTTPS为了解决HTTP安全的问

HTTP的缺点

  • 通讯使用明文,内容可能会被窃听
  • 不验证通信方的身份,可能遭遇伪装
  • 无法证明报文的完整性,所以有可能被篡改

HTTP+加密+认证+完整性保护=HTTPS

为了解决HTTP安全的问题,我们需要在HTTP协议的基础上加入加密处理和认证等机制,这种加密及认证机制的HTTP称为HTTPS

HTTPS不是一种新协议,只是HTTP通信节后部分用SSL和TLS协议代替而已。
所谓HTTPS就是身披SSL协议外壳的HTTP!
《了解HTTPS》

采用SSL后,HTTP就拥有了HTTPS的加密,证书和完整性保护这些功能

SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telnet等协议均可配合SSL协议使用,是一种广泛的网络安全技术。

加密技术

共享加密的问题

使用同一个密钥加密解密
《了解HTTPS》

在网络上转发密钥时,可能会被黑客截取密钥,加密也就没有意义了。

使用两把密钥的公开密钥加密

采用非对称的一对密钥,一把私有密钥,一把公开密钥,其中私有密钥不能让任何人知道,公开密钥可以随意发布。
发送方使用公开密钥进行加密处理,对方收到被加密的信息后,用自己的私有密钥进行解密。
《了解HTTPS》

要想根据密文和公有密钥来破解出原文是很困难的,这需要对离散对数进行求值,并非一件容易的事。

HTTPS采用混合加密

HTTPS采用共享密钥和公开密钥加密两种方式并用的混合加密机制,在密钥交换环节使用公开是密钥加密方式,之后建立通信交换报文阶段则使用共享密钥加密方式。

《了解HTTPS》

证明公开密钥的正确性的证书

如何证明收到的公开密钥就是原本预想的那台服务器发行的公开密钥?在公开密钥传输的过程中,如何确保公开密钥不会被攻击者给替换掉了?

为了解决上述问题,可以使用有数字证书认证机构和其相关机关颁发的公开密钥证书。数字证书认证机构处于客户端与服务端双方都可以信赖的第三方机构的立场上。首先,服务器的运营人员向数字证书认证机构提出公开密钥的申请,数字证书认证机构在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书绑定在一起。

服务器会将这份有数字证书认证机构颁发的公钥证书发送给客户端,以进行公开密钥加密方式通信,公钥证书亦可以叫数字证书或证书。

接收到证书的客户端可使用数字证书认证机构的公开密钥,对那张证书上的数字签名进行验证,一旦通过验证,客户端便可确认认证服务器的公开密钥是真实有效的数字证书认证机构,服务器的公开密钥是值得信赖的。

对于认证机关的公开密钥如何安全的转移给客户端,使用通信方式,安全转交是一件很困难的事,所以,大多数浏览器开发商发布版本时,会在内部植入常用的认证机关的公开密钥。

《了解HTTPS》

客户端证书

HTTPS还可以使用客户端证书,证明服务器正在通信的对方是合法的客户端。
列如,银行的网上银行就采用了客户端证书,在登录网银时不仅要求输入ID和密码,还会要求用户的客户端证书,以确认用户是否从特定的诊断访问。


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
author-avatar
诸子百家101_350
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有