热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTTP和HTTPSHTTPS为什么更安全?:http协议和https协议有什么关系吗

本文主要分享【http协议和https协议有什么关系吗】,技术文章【HTTP和HTTPSHTTPS为什么更安全?】为【rananie】投稿,如果你遇到面试题相关问题,本文相关知识或能到你。http

本文主要分享【http协议和https协议有什么关系吗】,技术文章【HTTP和HTTPS HTTPS为什么更安全?】为【rananie】投稿,如果你遇到面试题相关问题,本文相关知识或能到你。

http协议和https协议有什么关系吗

文章目录 HTTP和HTTPSHTTPS保证安全性的做法1.混合加密机制,加密HTTP的通信内容2.摘要算法 实现数据完整性验证3.使用公钥证书 证明公钥正确性 HTTP和HTTPS的区别

HTTP和HTTPS

HTTP 超文本传输协议,是实现网络通信的一种规范
HTTPS是安全的HTTP,引入安全层,将HTTP通信接口部分用SSL(Secure Sockets Layer 安全套接层)/TLS(Transport Layer Security 传输安全层)代替

SSL 在 1999 年被 IETF(互联网工程组)更名为 TLS

HTTP直接和TCP通信,HTTPS的话会先和SSL通信,再由SSL和TCP通信

HTTP和HTTPS HTTPS为什么更安全?:http协议和https协议有什么关系吗

HTTP存在的安全问题

通信使用明文,内容可能被窃听无法证明报文的完整性,报文可能已经被修改不验证通信方的身份,可能遭遇黑客伪造身份发布公钥
身份认证(Authentication),是指确认对方的真实身份,也就是证明你是你(可以比作人脸识别),它可以防止中间人攻击并建立用户信任。 HTTPS保证安全性的做法 使用混合加密机制,加密HTTP的通信内容,防止内容被监听。使用摘要算法 实现数据完整性验证使用公钥证书 证明公钥正确性 1.混合加密机制,加密HTTP的通信内容

用随机数产生对称算法使用的会话密钥(session key),再用公钥加密。对方拿到密文后用私钥解密,取出会话密钥。

为了安全 使用非对称密钥加密的方式交换后续需要的对称密钥通信交换报文阶段为了处理速度更快使用之前接收到的对称密钥加密

存在问题:上述方法解决了数据加密。但是在网络传输过程中,数据有可能被篡改,并且黑客可以伪造身份发布公钥,如果你获取到假的公钥,那么混合加密并没有多大作用。

-对称加密非对称加密原理加密和解密使用同一个密钥加密使用公钥,可以公开给任何人使用
解密使用私钥,接收方自己拥有特点有密钥就可以解密了,安全性不高
处理速度快处理复杂,处理速度慢 2.摘要算法 实现数据完整性验证

摘要算法可以理解成一种特殊的压缩算法,它能够把任意长度的数据压缩成固定长度、且唯一的摘要字符串,就好像是给这段数据生成了一个数字“指纹”。
摘要算法保证了数字摘要和原文是完全等价的

1.服务器对证书内容进行信息摘要计算 (常用算法有 SHA-256等),得到摘要信息,再用私钥把摘要信息加密,就得到了数字签名
2.服务器把数字证书连同数字签名一起发送给客户端
3.客户端用公钥解密数字签名,得到摘要信息
4.客户端用相同的信息摘要算法重新计算证书摘要信息,然后对这两个摘要信息进行比对,如果相同,则说明证书未被篡改,否则证书验证失败

3.使用公钥证书 证明公钥正确性

数字证书认证机构是客户端与服务器双方都可信赖的第三方机构。

1.服务器的运营人员向数字证书认证机构提出公开密钥的申请
2.数字证书认证机构在识别服务器的身份之后,利用自己的私有密钥对服务器的公钥部署数字签名。 (数字签名可以理解为用自己的私钥进行加密)
3.分配这个公开密钥,并将该公开密钥放入公钥证书后绑定在一起 --(我给你发个证书,里面有我给你分配的公开密钥、我同意的签名、你的相关信息和证书的相关信息)
4.服务器将公钥证书发送给客户端。

客户端可使用数字证书认证机构的公开密钥,对接到的证书上的数字签名进行验证,验证通过说明
1.认证服务器的公开密钥的是真实有效的数字证书认证机构
2.服务器的公开密钥是值得信任的

认证机构的公开密钥必须安全地转交给客户端,所以多数浏览器会内置常用认证机构地公开密钥

HTTP和HTTPS的区别

HTTP不安全,HTTPS是安全版本的HTTP = HTTP + SSL

HTTP存在的问题HTTPS的解决方案通信使用明文,内容可能被窃听混合加密机制,加密HTTP的通信内容不验证通信方的身份,可能遭遇伪装使用公钥证书 证明公钥的正确性无法证明报文的完整性,报文可能已经被修改摘要算法 实现数据完整性验证 http的端口号是80,https的端口号是443https需要申请证书。http的连接很简单,是无状态的,更高效。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

本文《HTTP和HTTPS HTTPS为什么更安全?》版权归rananie所有,引用HTTP和HTTPS HTTPS为什么更安全?需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 访问控制_身份认证和访问控制技术学习20199319
    身份认证技术1、常用的身份认证方法(1)静态口令认证的问题:静态口令,即由用户自己设置或者系统给 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • 初学反射基本原理
    反射:框架设计的灵魂*框架:半成品软件。可以在框架的基础上进行软件开发,简化编码*反射:将类的各个组成部分封装为其他对象 ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  •   一、GeoTrust证书的相关介绍    GeoTrust成立于2001年,其到2006年就占领了全球市场25%的市场份额,所以GeoTrust是目前全球第二大的数字证书颁发机 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • 阿里首席架构师科普RPC框架
    RPC概念及分类RPC全称为RemoteProcedureCall,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程 ... [详细]
author-avatar
手机用户2502896851
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有