windows selenium codeigniter transactions base64 Draggabilly vue网站 android项目实战 eclipse显示左边目录 python在线教程 asp建站系统 swing布局 高效能人士的七个习惯pdf adobe清理工具 超星网课助手 R语言初学者指南 脚本学习 编程之家 pro换肤 js继承的几种方式 七彩虹网驰版为什么坑 cad怎么拉伸 ps怎么做印章效果 cdr如何做立体字 图片格式转换工具 wmv格式转换器 网页音乐播放器代码 怎么退出小米账号 SQL基础教程 ppt删除文本框 wps表格分页设置 project2016中文版下载 打字手指对应的键 ipch 连发生成工具 ccproxy设置 微信hd版 spuninst 清单软件 vs2008教程
当前位置: 首页 > 学习教程  > 编程语言

HTTPS浅析

2020/7/24 10:43:50 文章标签:

HTTPS原理


Https简介

    HTTPS 可以认为是 HTTP + TLS。HTTP 协议大家耳熟能详了,目前大部分 WEB 应用和网站都是使用 HTTP 协议传输的。TLS 是传输层加密协议,它的前身是 SSL 协议,最早由 netscape 公司于 1995 年发布,1999 年经过 IETF 讨论和规范后,改名为 TLS。如果没有特别说明,SSL 和 TLS 说的都是同一个协议。


非对称加密

定义:
     1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。

简介:

  1. 非对称加密算法又称现代加密算法。
  2. 非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。
  3. 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey) 和私有密(privatekey)
  4. 公开密钥和私有密钥是一对
  5. 如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。
  6. 如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。
  7. 因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

小结:非对称加密是一对儿,用其中一个加密,只能用另一个解密(这也是为什么经常会听到公钥加密,私钥解密和私钥加密,公钥解密的说法了,这部分后面再讲)



HTTPS建立过程

在这里插入图片描述
小结:Https采用的是非对称加密+对称加密的一种模式,采用对称加密会比采用非对称加密快,在性能上也有一定的影响,查看详情


关于公私钥加密问题

公钥加密:
       私钥是保密的,也就是你一个人知道,公钥是公开的,所有人都知道。而且这个体系保证了:1、加密解密用一对密钥,一个加密一个解密,2、即便知道了加密用的密钥,也无法知道(不可计算或者多项式时间不可计算)解密用的密钥。所以A与B进行保密通信的过程是:A要给B发信息要用B的公钥加密,B用自己的私钥解密。而B给A发信息要用A的公钥加密,A用自己的私钥解密。

私钥加密(签名认证):
       认证要解决的问题是你要证明一个东西(比如说文件)真是你的,怎么证明?**用私钥!因为只有你一个人知道!**而非对称加密的两个密钥,随便用哪一个加密,可以用另一个解密,所以可以用公钥去验证私钥。

如果你想发布一个公告,需要一个手段来证明这确实是你本人发的,而不是其他人冒名顶替的。那你可以在你的公告开头或者结尾附上一段用你的私钥加密的内容(例如说就是你公告正文的一段话),那所有其他人都可以用你的公钥来解密,看看解出来的内容是不是相符的。如果是的话,那就说明这公告确实是你发的—因为只有你的公钥才能解开你的私钥加密的内容,而其他人是拿不到你的私钥的

以上能证明这个消息是不是你发的,但要想能证明有没有被修改过(虽然解不开加密内容,但是不代表我不能对截获的数据进行操作),可以把公告的原文做一次哈希,然后用你的私钥加密这段哈希作为签名,并一起公布出去。当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,就能证明收到的数据是完整的并且在传输过程中没有被动过手脚

本文链接: http://www.dtmao.cc/news_show_50325.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?