在Ruhr学院的研究者发现XML加密协议中存在的严重安全漏洞,并在本次芝加哥举行的ACM展会上予以发表。“一切都变得不安全”是这次漏洞发现所传递的消息。XML加密协议是一种用于服务器与服务器之间传递敏感和不敏
感信息的一种协议。它的加密算法基于块加密的连缀,不过很显然,它并不是想象中的那么安全。

原文在这

根据研究人员声明,他们可以通过发送被稍加变动的密文到服务
器,并根据其返回的错误信息来破解这种加密。

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

研究者们用一个非常广泛使用的开源XML加密协议的实现和一些企业内使用XML加密的闭源系统进行测试。结果是:他们都能破解信息。

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

目前来说,修复这个安全问题需要W3C修订对XML加密的标准。这可不是件容易办到的事。

澳门新葡亰,这就是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算法进行对称加密的传输啦!这时候你和目的地的通讯将无法再被任何人窃听!

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

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

网站地图xml地图