驱动管家:安全、高效、精准的专业驱动下载站!

什么是https?使用非对称加密是完全安全的吗?

2018-01-14 11:16:22责编:llp   来源:驱动管家     人气:

每当我们讨论到信息安全的时候,我们最长接触到的信息加密传输的方式莫过于HTTPS了,当我们浏览器地址栏闪现出绿色时,就代表着这个网站支持HTTPS的加密信息传输方式,并且你与它的连接确实被加密了。但是HTTPS并不是一个单一的东西,它知识我们常见的HTTP协议和某个加密协议的一个混合,这个加密协议通常会是TLS。那么HTTPS为什么安全呢?其实我们需要先考虑HTTP为什么不安全。

什么是https?使用非对称加密是完全安全的吗?

假设你坐在一个教室里,你现在非常想把某个信息传递给教室里的另一个人,一般来说,会选择,传纸条。传纸条这个比喻其实非常正确,这就是互联网的一个基础协议TCP/IP协议基本的工作模式。而通常,HTTP协议的数据是使用TCP/IP协议进行发送的。HTTP指的是你在纸条上写明你要传送的目的地是哪个同学的坐位,然后再是要传递的内容。途径的同学拿到纸条后根据纸条上显示的地址依次传过去就好了。这样要面临的第一个问题就是:途径的同学可以完全知道你写了什么。

这就是HTTP面临的第一个问题,这个问题通常被叫做“窃听”或者“嗅探”,指的是和你在同一个网络下或者是途径的路由上的攻击者可以偷窥到你传输的内容。这是HTTPS要解决的第一个问题。这种问题通常是通过“加密”来解决的。从非常原始的角度来考虑,其实就是双方约定一个暗号。用什么字母去替代什么字母之类的。不过考虑到互联网每天有无数信息需要加密,这种原始的加密方法似乎不太适合。不过实际上方法也差不多,一般是采用一种叫做AES的算法来解决的。这种算法需要一个密钥key来加密整个信息,加密和解密所需要使用的key是一样的,所以这种加密一般也被称为“对称加密”。AES在数学上保证了,只要你使用的key足够足够足够足够的长,破解是几乎不可能的。

我们先假设这种破解确实是不可能的,而且目前也确实没有对AES本身能发动起有效的攻击的案例出现。

我们再回到这个教室,你接着要传小纸条,你把地址写上后,把要传输的内容用AES蹭蹭蹭加密了起来。刚准备传,问题来了。AES不是有一个key吗?key怎么给目的地啊?如果我把密钥直接写在纸条上,那么中间的人不依然可以解密吗?在现实中你可以通过一些其它方法来把密钥安全传输给目的地而不被其他人看见,但是在互联网上,要想这么做难度就很大了,毕竟传输终究要经过这些路由,所以要做加密,还得找一个更复杂的数学方法。

于是聪明的人们发明了一种更复杂的加密算法——非对称加密。这种加密或许理解起来比较困难,这种加密指的是可以生成一对密钥(k1,k2)。凡是k1加密的数据,k1自身不能解密,而需要k2才能解密;凡是k2加密的数据,k2不能解密,需要k1才能解密。这种算法事实上有很多,常用的是RSA,其基于的数学原理是两个大素数的乘积很容易算,而拿到这个乘积去算出是哪两个素数相乘就很复杂了。好在以目前的技术,分解大数的素因数确实比较困难,尤其是当这个大数足够大的时候(通常使用2的10次方个二进制位这么大),就算是超级计算机解密也需要非常长的时间。

现在利用这种非对称加密的方法,我们来设想一个场景。你继续想要传纸条,但是传纸条之前你先准备把接下来通讯的对称加密密钥给传输过去。于是你用RSA技术生成了一对k1、k2,你把k1用明文发送了出去,路经有人或许会截取,但是没有用,k1加密的数据需要用k2才能解密。而此时,k2在你自己的手里。k1送达目的地后,目的地的人会去准备一个接下来用于对称加密传输的密钥key,然后用收到的k1把key加密了,把加密好的数据传回来。路上的人就算截取到了,也解密不出key。等到了你自己手上,你用手上的k2把用k1加密的key解出来,现在全教室就只有你和你的目的地拥有key,你们就可以用AES算法进行对称加密的传输啦!这时候你和目的地的通讯将无法再被任何人窃听!

当然,这时候你可能会问两个问题。

既然非对称加密可以那么安全,为什么我们不直接用它来加密信息,而是去加密对称加密的密钥呢?

这是因为非对称加密的密码对生成和加密的消耗时间比较长,为了节省双方的计算时间,通常只用它来交换密钥,而非直接用来传输数据。

使用非对称加密是完全安全的吗?

听起来确实是挺安全的,但实际上,还有一种更恶劣的攻击是这种方法无法防范的,这就是传说中的“中间人攻击”。我们继续让你坐在教室里传小纸条。现在你和目的地上途径一个中间人,他有意想要知道你们的消息。由于这个描述比较复杂,我们将你称为A,你的目的地称为B,而中间人称为M。当你要和B完成第一次密钥交换的时候,途径了M。M知道你要进行密钥交换了,它把小纸条扣了下来,假装自己是B,伪造了一个key,然后用你发来的k1加密了key发还给你,你以为你和B完成了密钥交换,实际上你是和M完成了密钥交换。同时M和B完成一次密钥交换,让B误以为和你完成了密钥交换。现在,由A->B完整的加密,变成了A(加密连接1)->M(明文)->B(加密连接2)的情况了。这时候M依然可以知道A和B传输中的全部信息。

对于这种事,我们似乎很难找到一个解决方法来解决这个问题,除非我们能从源头保证,你密钥交换的对象是安全的。这时候我们就要认识互联网HTTPS和你传纸条的微妙区别了。你传纸条时,你和你的目的地的关系几乎是对等的。而你访问网站时,你访问的对象通常是一个比较大的服务供应商,他们有充沛的资源,也许可以证明他们的合法性。

这时候我们会引入一个第三方叫做CA。CA是一些非常权威的专门用于认证一个网站合法性的组织。服务商可以向他们申请一个证书,使得他们建立安全连接时可以带上CA的签名。而CA的安全性由操作系统或浏览器来认证。你的Windows、Mac、Linux、Chrome、Safari等会在安装时带上一个他们认为安全的CA证书列表。如果和你建立安全连接的人带着这些人的签名,那么认为这个安全连接是安全的,没有遭到中间人攻击。

CA证书通常情况下是安全的。因为一旦某个CA颁发出的某个证书被用于了非法用途,浏览器和操作系统一般会通过更新将整个CA颁发过的全部证书全部视为不安全。这使得CA通常在颁发证书时是比较小心的。

所以通过对称加密+非对称加密+CA认证这三个技术混合在一起,才使得HTTP的后面加上了一个S——Security。实际上HTTPS的协议比我这里描述的更复杂一些,我这里说的主要是基本的实现原理。因为其中任何一环稍有闪失,就会使得整个加密都将变得不安全。这也是为什么HTTPS的加密协议从SSL1.0升级到SSL3.0再被TLS1.0现在被TLS1.2取代,其背后都是一环环细节上的修改,以防任何地方的闪失。

但即使如此,你的HTTPS尽可能的保证了你传输的安全,但这种安全也不是绝对的。比如CA证书出了问题被用于了中间人攻击,在短期内,你的安全将会陷入直接的麻烦直到浏览器或操作系统重新更新了你的CA列表或者你手动调整了这个列表。但大多情况下不必杞人忧天,它基本上是安全的。

当然了,路由也可以选择直接丢包,它看不到的,也不让你看到。

  • 什么是物联网?怎么保证物联网的安全?

    什么是物联网?怎么保证物联网的安全?

    物联网(Internet of Things)是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化3个重要特征。物联网安

    详情2018-01-11 18:13:51责编:llp   来源:驱动管家     
  • 什么是xss?xss攻击有哪些主要途径?

    什么是xss?xss攻击有哪些主要途径?

    一、什么是XSSXSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS

    详情2018-01-12 14:14:29责编:llp   来源:驱动管家     
  • 黑客攻防:入侵装有软件防火墙的网站

    黑客攻防:入侵装有软件防火墙的网站

      一、踩点  ping www 111 com 发现超时,可以是有防火墙或做了策略。再用superscan扫一下,发现开放的端口有很多个,初步估计是软件防火墙。  二、注入  从源文件里搜索关键字asp,找到了一个注

    详情2018-01-13 17:21:38责编:llp   来源:驱动管家     
  • 杀毒软件是怎么被破坏的?破坏杀毒软件的方法

    杀毒软件是怎么被破坏的?破坏杀毒软件的方法

    最近有调查报告显示,知名品牌的杀毒软件对新型计算机病毒的查杀率只有20%,而漏杀率却高达80%。那么是什么原因造成这种状况的?到底是如今的病毒过于厉害,还是杀毒软件的能力有限?今天我们就通过实例来看看是

    详情2018-01-10 10:48:06责编:llp   来源:驱动管家     
  • 恶意程序:开发工具blackhole是怎么勒索的?

    恶意程序:开发工具blackhole是怎么勒索的?

    随着时代的发展,当代木马恶意软件的趋势并不仅仅是通过洪水般的广告让你电脑当机或者是偷取你的银行密码,而是会将你的电脑锁住,让你不能干任何事情,除非你交了“赎金”。最近流行的“勒索软件”首次发现是在a

    详情2018-01-02 16:03:19责编:llp   来源:驱动管家     
  • 网站域名被劫持了怎么办?网站域名被劫持的预防方法

    网站域名被劫持了怎么办?网站域名被劫持的预防方法

    网站域名被劫持,网站dns被劫持,域名跳转到别的网站怎么解决? 出现网站域名跳转到其他网站,这一现象很可能是域名被劫持。【网站域名被劫持——概念】简单来说,域名劫持就是把原本准备访问某网站的用户,在不

    详情2018-01-07 15:53:11责编:llp   来源:驱动管家     
  • 网吧破解怎么做?怎么破解网吧?

    网吧破解怎么做?怎么破解网吧?

    解万象秘笈 一 用Alt Ctrl Del组合键(万象) 开机后,当出现蓝背景时,立即按组合键,弹出“关闭程序”对话框,若里面有“client”后则立即关闭,当发现“未知”程序时也要关闭,因为万象会启动两次。万象被结束了,

    详情2018-01-05 09:14:06责编:llp   来源:驱动管家     
  • phpwind论坛存在哪些漏洞?哪个漏洞最严重?

    phpwind论坛存在哪些漏洞?哪个漏洞最严重?

    PHPWIND 论坛是一款流行的PHP 论坛,界面美观,功能也比较强大。但大家仔细看一下会发现不论是从界面功能还是代码风格,它和 DISCUZ 都非常相似,具体原因我想也就不用说了,毕竟 DISCUZ 出来比它要早很多

    详情2018-01-13 13:59:36责编:llp   来源:驱动管家     
  • ewebeditor漏洞利用的原理 ewebeditor漏洞如何利用?

    ewebeditor漏洞利用的原理 ewebeditor漏洞如何利用?

    漏洞的利用原理很简单,请看Upload asp文件:任何情况下都不允许上传asp脚本文件sAllowExt = Replace(UCase(sAllowExt), "ASP ", " ")修补方法:用以下语句替换上面那局话dim sFileType,Un_FileType,FileTypes

    详情2018-01-07 09:12:54责编:llp   来源:驱动管家     
  • windows系统开机密码可以怎么破解?破解windows系统开机密码有哪些方法?

    windows系统开机密码可以怎么破解?破解windows系统开机密码有哪些方法?

    Windows系统开机密码从Windows 98开始就被人津津乐道,最早的密码保护可以用形同虚设来形容。直到后来的Windows 2000输入法漏洞,微软才意识到问题的严重性,而面对使用范围非常广泛的Windows XP系统来说,密

    详情2018-01-10 14:59:51责编:llp   来源:驱动管家