当前位置: 首页 > news >正文

返利网站方案宝安建网站公司

返利网站方案,宝安建网站公司,达州网站建设yufanse,近年网络营销成功案例为什么需要HTTPS 9个问题搞懂 https 来源 HTTP是明文传输的#xff0c;也就意味着#xff0c;介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理 等。 举个最常见的例子#xff0c;用户登陆。用户输入账号#xff0c;密码也就意味着介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理 等。 举个最常见的例子用户登陆。用户输入账号密码采用HTTP的话只要在代理服务器上做点手脚就可以拿到你的密码了。 用户登陆 -- 代理服务器做手脚-- 实际授权服务器 在发送端对密码进行加密没用的虽然别人不知道你原始密码是多少但能够拿到加密后的账号密码照样能登陆。   HTTPS是如何保障安全的   HTTPS其实就是secure http的意思啦也就是HTTP的安全升级版。 稍微了解网络基础的同学都知道HTTP是应用层协议位于HTTP协议之下是传输协议TCP。 TCP负责传输HTTP则定义了数据如何进行包装。   HTTP -- TCP 明文传输   HTTPS相对于HTTP有哪些不同呢   其实就是在HTTP跟TCP中间加多了一层加密层TLS/SSL。   神马是TLS/SSL   通俗的讲TLS、SSL其实是类似的东西SSL是个加密套件负责对HTTP的数据进行加密。 TLS是SSL的升级版。现在提到HTTPS加密套件基本指的是TLS。   传输加密的流程 原先是应用层将数据直接给到TCP进行传输现在改成应用层将数据给到TLS/SSL将数据加密后再给到TCP进行传输。 大致如图所示。 就是这么回事。将数据加密后再传输而不是任由数据在复杂而又充满危险的网络上明文裸奔在很大程度上确保了数据的安全。 这样的话即使数据被中间节点截获坏人也看不懂。   H   TTPS是如何加密数据的   对安全或密码学基础有了解的同学应该知道常见的加密手段。 一般来说加密分为对称加密、非对称加密也叫公开密钥加密。   对称加密   对称加密的意思就是加密数据用的密钥跟解密数据用的密钥是一样的。 对称加密的优点在于加密、解密效率通常比较高。缺点在于数据发送方、数据接收方需要协商、共享同一把密钥并确保密钥不泄露给其他人。 此外对于多个有数据交换需求的个体两两之间需要分配并维护一把密钥这个带来的成本基本是不可接受的。   非对称加密   非对称加密的意思就是加密数据用的密钥公钥跟解密数据用的密钥私钥是不一样的。 什么叫做公钥呢其实就是字面上的意思——公开的密钥谁都可以查到。因此非对称加密也叫做公开密钥加密。 相对应的私钥就是非公开的密钥一般是由网站的管理员持有。   公钥、私钥两个有什么联系呢   简单的说就是通过公钥加密的数据只能通过私钥解开。通过私钥加密的数据只能通过公钥解开。 很多同学都知道用私钥能解开公钥加密的数据但忽略了一点私钥加密的数据同样可以用公钥解密出来。 而这点对于理解HTTPS的整套加密、授权体系非常关键。   举个非对称加密的例子 登陆用户小明 授权网站某知名社交网站以下简称XX 小明都是某知名社交网站XX的用户XX出于安全考虑在登陆的地方用了非对称加密。 小明在登陆界面敲入账号、密码点击“登陆”。   于是浏览器利用公钥对小明的账号密码进行了加密并向XX发送登陆请求。 XX的登陆授权程序通过私钥将账号、密码解密并验证通过。之后将小明的个人信息含隐私 通过私钥加密后传输回浏览器。浏览器通过公钥解密数据并展示给小明。   步骤一 小明输入账号密码 -- 浏览器用公钥加密 -- 请求发送给XX 步骤二 XX用私钥解密验证通过 -- 步骤三 获取小明社交数据用私钥加密 -- 浏览器用公钥解密数据并展示。 用非对称加密就能解决数据传输安全的问题了吗 前面特意强调了一下私钥加密的数据公钥是可以解开的而公钥又是加密的。 也就是说非对称加密只能保证单向数据传输的安全性。   此外还有公钥如何分发/获取的问题。下面会对这两个问题进行进一步的探讨。   公开密钥加密两个明显的问题 前面举了小明登陆社交网站XX的例子并提到单纯使用公开密钥加密存在两个比较明显的问题。 公钥如何获取 数据传输仅单向安全   问题一公钥如何获取 浏览器是怎么获得XX的公钥的当然小明可以自己去网上查XX也可以将公钥贴在自己的主页。 然而对于一个动不动就成败上千万的社交网站来说会给用户造成极大的不便利 毕竟大部分用户都不知道“公钥”是什么东西。   问题二数据传输仅单向安全 前面提到公钥加密的数据只有私钥能解开于是小明的账号、密码是安全了半路不怕被拦截。 然后有个很大的问题私钥加密的数据公钥也能解开。加上公钥是公开的小明的隐私数据相当于在网上换了种方式裸奔。 中间代理服务器拿到了公钥后毫不犹豫的就可以解密小明的数据   下面就分别针对这两个问题进行解答。   问题一公钥如何获取 这里要涉及两个非常重要的概念证书、CA证书颁发机构。 证书 可以暂时把它理解为网站的身份证。这个身份证里包含了很多信息其中就包含了上面提到的公钥。 也就是说当小明、小王、小光等用户访问XX的时候再也不用满世界的找XX的公钥了。 当他们访问XX的时候XX就会把证书发给浏览器告诉他们说乖用这个里面的公钥加密数据。   这里有个问题所谓的“证书”是哪来的这就是下面要提到的CA负责的活了。   CA证书颁发机构   强调两点 可以颁发证书的CA有很多国内外都有。 只有少数CA被认为是权威、公正的这些CA颁发的证书浏览器才认为是信得过的。比如VeriSign。CA自己伪造证书的事情也不是没发生过。。。 证书颁发的细节这里先不展开可以先简单理解为网站向CA提交了申请CA审核通过后将证书颁发给网站用户访问网站的时候网站将证书给到用户。 至于证书的细节同样在后面讲到。   问题二数据传输仅单向安全   上面提到通过私钥加密的数据可以用公钥解密还原。 那么这是不是就意味着网站传给用户的数据是不安全的 答案是是三个叹号表示强调的三次方   看到这里可能你心里会有这样想用了HTTPS数据还是裸奔这么不靠谱还不如直接用HTTP来的省事。 但是为什么业界对网站HTTPS化的呼声越来越高呢这明显跟我们的感性认识相违背啊。 因为HTTPS虽然用到了公开密钥加密但同时也结合了其他手段如对称加密来确保授权、加密传输的效率、安全性。   概括来说整个简化的加密通信的流程就是 小明访问XXXX将自己的证书给到小明其实是给到浏览器小明不会有感知 浏览器从证书中拿到XX的公钥A 浏览器生成一个只有自己知道的对称密钥B用公钥A加密并传给XX其实是有协商的过程这里为了便于理解先简化 XX通过私钥解密拿到对称密钥B 浏览器、XX 之后的数据通信都用密钥B进行加密  这么说最后还是用对称加密 好像不对吧注意对于每个访问XX的用户生成的对称密钥B理论上来说都是不一样的。 比如小明、小王、小光可能生成的就是B1、B2、B3. 参考下图附上原图出处   证书可能存在哪些问题   了解了HTTPS加密通信的流程后对于数据裸奔的疑虑应该基本打消了。 然而细心的观众可能又有疑问了怎么样确保证书有合法有效的   证书非法可能有两种情况 证书是伪造的压根不是CA颁发的 证书被篡改过比如将XX网站的公钥给替换了 举个例子 我们知道这个世界上存在一种东西叫做代理于是上面小明登陆XX网站有可能是这样的 小明的登陆请求先到了代理服务器代理服务器再将请求转发到的授权服务器。 小明 -- 邪恶的代理服务器 -- 登陆授权服务器 小明 -- 邪恶的代理服务器 -- 登陆授权服务器   然后这个世界坏人太多了某一天代理服务器动了坏心思也有可能是被入侵 将小明的请求拦截了。同时返回了一个非法的证书。   小明 -- 邪恶的代理服务器 --x-- 登陆授权服务器 小明 -- 邪恶的代理服务器 --x-- 登陆授权服务器 如果善良的小明相信了这个证书那他就再次裸奔了。当然不能这样那么是通过什么机制来防止这种事情的放生的呢。 下面我们先来看看”证书”有哪些内容然后就可以大致猜到是如何进行预防的了。   证书简介 在正式介绍证书的格式前先插播个小广告科普下数字签名和摘要然后再对证书进行非深入的介绍。 为什么呢   因为数字签名、摘要是证书防伪非常关键的武器。   数字签名与摘要 简单的来说“摘要”就是对传输的内容通过hash算法计算出一段固定长度的串是不是联想到了文章摘要。 然后在通过CA的私钥对这段摘要进行加密加密后得到的结果就是“数字签名”。这里提到CA的私钥后面再进行介绍   明文 -- hash运算 -- 摘要 -- 私钥加密 -- 数字签名   结合上面内容我们知道这段数字签名只有CA的公钥才能够解密。 接下来我们再来看看神秘的“证书”究竟包含了什么内容然后就大致猜到是如何对非法证书进行预防的了。 数字签名、摘要进一步了解可参考 这篇文章。 证书格式 先无耻的贴上一大段内容证书格式来自这篇不错的文章《OpenSSL 与 SSL 数字证书概念贴》 内容非常多这里我们需要关注的有几个点   证书包含了颁发证书的机构的名字 -- CA 证书内容本身的数字签名用CA私钥加密 证书持有者的公钥 证书签名用到的hash算法 此外有一点需要补充下就是 CA本身有自己的证书江湖人称“根证书”。这个“根证书”是用来证明CA的身份的本质是一份普通的数字证书。 浏览器通常会内置大多数主流权威CA的根证书。 证书格式 1. 证书版本号(Version) 版本号指明X.509证书的格式版本现在的值可以为:1) 0: v1 2) 1: v2 3) 2: v3 也为将来的版本进行了预定义 2. 证书序列号(Serial Number) 序列号指定由CA分配给证书的唯一的数字型标识符。当证书被取消时实际上是将此证书的序列号放入由CA签发的CRL中 这也是序列号唯一的原因。 3. 签名算法标识符(Signature Algorithm) 签名算法标识用来指定由CA签发证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的: 1) 公开密钥算法 2) hash算法 example: sha256WithRSAEncryption 须向国际知名标准组织(如ISO)注册 4. 签发机构名(Issuer) 此域用来标识签发证书的CA的X.500 DN(DN-Distinguished Name)名字。包括: 1) 国家(C) 2) 省市(ST) 3) 地区(L) 4) 组织机构(O) 5) 单位部门(OU) 6) 通用名(CN) 7) 邮箱地址 5. 有效期(Validity) 指定证书的有效期包括: 1) 证书开始生效的日期时间 2) 证书失效的日期和时间 每次使用证书时需要检查证书是否在有效期内。 6. 证书用户名(Subject) 指定证书持有者的X.500唯一名字。包括: 1) 国家(C) 2) 省市(ST) 3) 地区(L) 4) 组织机构(O) 5) 单位部门(OU) 6) 通用名(CN) 7) 邮箱地址 7. 证书持有者公开密钥信息(Subject Public Key Info) 证书持有者公开密钥信息域包含两个重要信息: 1) 证书持有者的公开密钥的值 2) 公开密钥使用的算法标识符。此标识符包含公开密钥算法和hash算法。 8. 扩展项(extension) X.509 V3证书是在v2的基础上一标准形式或普通形式增加了扩展项以使证书能够附带额外信息。标准扩展是指 由X.509 V3版本定义的对V2版本增加的具有广泛应用前景的扩展项任何人都可以向一些权威机构如ISO来 注册一些其他扩展如果这些扩展项应用广泛也许以后会成为标准扩展项。 9. 签发者唯一标识符(Issuer Unique Identifier) 签发者唯一标识符在第2版加入证书定义中。此域用在当同一个X.500名字用于多个认证机构时用一比特字符串 来唯一标识签发者的X.500名字。可选。 10. 证书持有者唯一标识符(Subject Unique Identifier) 持有证书者唯一标识符在第2版的标准中加入X.509证书定义。此域用在当同一个X.500名字用于多个证书持有者时 用一比特字符串来唯一标识证书持有者的X.500名字。可选。 11. 签名算法(Signature Algorithm) 证书签发机构对证书上述内容的签名算法 example: sha256WithRSAEncryption 12. 签名值(Issuers Signature) 证书签发机构对证书上述内容的签名值 如何辨别非法证书 上面提到XX证书包含了如下内容 证书包含了颁发证书的机构的名字 -- CA 证书内容本身的数字签名用CA私钥加密 证书持有者的公钥 证书签名用到的hash算法 浏览器内置的CA的根证书包含了如下关键内容 CA的公钥非常重要 好了接下来针对之前提到的两种非法证书的场景讲解下怎么识别 完全伪造的证书 这种情况比较简单对证书进行检查 证书颁发的机构是伪造的浏览器不认识直接认为是危险证书 证书颁发的机构是确实存在的于是根据CA名找到对应内置的CA根证书、CA的公钥。 用CA的公钥对伪造的证书的摘要进行解密发现解不了。认为是危险证书 篡改过的证书 假设代理通过某种途径拿到XX的证书然后将证书的公钥偷偷修改成自己的然后喜滋滋的认为用户要上钩了。然而太单纯了 检查证书根据CA名找到对应的CA根证书以及CA的公钥。 用CA的公钥对证书的数字签名进行解密得到对应的证书摘要AA 根据证书签名使用的hash算法计算出当前证书的摘要BB 对比AA跟BB发现不一致-- 判定是危险证书 HTTPS握手流程 上面啰啰嗦嗦讲了一大通HTTPS如何确保数据加密传输的安全的机制基本都覆盖到了太过技术细节的就直接跳过了。 最后还有最后两个问题 网站是怎么把证书给到用户浏览器的 上面提到的对称密钥是怎么协商出来的 上面两个问题其实就是HTTPS握手阶段要干的事情。HTTPS的数据传输流程整体上跟HTTP是类似的同样包含两个阶段握手、数据传输。 握手证书下发密钥协商这个阶段都是明文的 数据传输这个阶段才是加密的用的就是握手阶段协商出来的对称密钥 阮老师的文章写的非常不错通俗易懂感兴趣的同学可以看下。 附《SSL/TLS协议运行机制的概述》http://www.ruanyifeng.com/blo...转载于:https://www.cnblogs.com/dhsz/p/7680530.html
http://www.sadfv.cn/news/333863/

相关文章:

  • 中国公司查询网站wordpress仿一淘
  • 苏州哪里做网站成都网站外包公司
  • 潍坊米搜网站建设网站 分辨率
  • 织梦系统网站地图模板下载品牌建设英文
  • 深圳三合一建设网站wordpress安装完怎么恢复数据库
  • 做网站系统网站数据库怎么配置
  • 新手搭建做网站虚拟主机网站301跳转
  • 建设部网站 造价工程师工信部 网站备案材料 复印件 电子版
  • 合肥微信网站敬请期待英文怎么写
  • 网站免费正能量入口国际学校网站如何建设
  • 自助网站建设软件沐雪专业网站建设
  • 泉州手机网站建设价格管理系统网站模板
  • 酒店网站建设功能遮罩层怎么做网页
  • 企业网站建设 西宁网站做编辑赚钱
  • 做搜狗网站优化排企业网站管理系统怎么用
  • 免费软件网站大全阿里云网站目录
  • 哈尔滨网站建设nsstd中国2022年企业500强一览表
  • 创建网站制作首页球形网架公司
  • c语言如何做网站网站开发公司内部数据字典
  • 网站自己怎么制作做一个app需要什么技术
  • 建设英文版网站天津环保网站建设概念
  • 自学网站建设与网页设计优购物官方网站直播
  • 拖拽式网站建设源码挪威网站后缀
  • 建立网站费用葫芦岛建设信息网站
  • 百度网站域名费一年多少钱莱州市招聘网站
  • 海通建设集团有限公司网站庆阳网站设计 贝壳下拉
  • 手机如何建免费网站wordpress专用空间
  • 电脑网站上的电影怎么下载物业网站开发
  • 优化网站推广网站深圳各区房价一览表
  • 自己做视频网站怎么处理高并发常州效果图制作