This article is an automated machine-translation of an article in English. We know the translation isn't perfect, but we hope it's useful for people who don't read English.

金Dotcom公司的黑客攻击上万的加密技术,即使在我们说话的编码器 - 真正的“永久测试”的风格

Filed Under: Featured, Privacy

金Dotcom公司的新的文件共享存储企业, 兆丰 ,要保护本身不采取行动,打击盗版的指控。

它是通过使用加密技术,以确保它不看,确实看不出来,你已经上传。

这为您的隐私(包括兆丰自己的工作人员,其他人,不能窥探你的文件)和不可否认性,为万(万自己的工作人员,其他人,包括什至不能告诉你的文件可能)。

但是,为了兑现这一承诺,你必须得到加密的权利。

正如我们解释昨日 ,早期的迹象是,Mega的编码器已没有做过这样:我们写的有关问题与 (随机性), 重复数据删除不佳,所选择的数据在Mega的的注册电子邮件的,不必要的制作密码字典攻击的可能。

研究人员随后在黑客团体fail0verflow写了另一种加密错误:一个错误散列函数的使用进行身份验证的JavaScript代码,使整个服务工作。

我会尽量简短地解释一下。

你会希望一个安全的网站提供的所有内容通过HTTPS,包括(或许特别是)的JavaScript代码驱动器的加密技术。

兆丰使用HTTPS,但为了省钱,它提供了最“便宜”的服务器在分布式内容交付网络,使用1024位的RSA密钥,它的JavaScript。

→短的RSA密钥需要较少的CPU电源,让您获得更多的表现为一个给定的支出。但是,分布式的网络意味着更多的服务器,并要求widepsread密钥分配,所以你的风险增加的一个妥协。

为了提高整体安全性,兆丰也提供了,从中央服务器,使用2048位密钥,加密哈希列表中的“廉价席位”承载的内容。这些集中式服务器还提供了加密代码,需要验证这些哈希。

这意味着,你将不得不妥协的2048位受保护的服务器 1024位保护的服务器,以便为未经授权的脚本,从低安全性的网络的一部分。

罗!有您的安全蛋糕,但要提供一个巧妙的办法。

然而,昨天,fail0verflow 记录的加密代码提供从较高安全服务器。

用于验证的JavaScript从低安全服务器的哈希代码的函数h()如下:

<br /> function h(s) <br /> { <br /> var a = [0,0,0,0]; <br /> var aes = new sjcl.cipher.aes([111111,222222,333333,444444]); <br /> s += Array(16).join('X');</span> </p> <p> (I = s.length和-16 - ){ <br /> [(ⅰ&gt;&gt; 2)&3] ^ = s.charCodeAt(ⅰ)&lt;&lt;((7-i及3)&lt;&lt; 3); <br />如果((&15))= aes.encrypt(一); <br /> } <br />返回; <br /> } <br /> [/源代码] </p><p>不要担心,如果你不说话。所有你需要知道的是这样的: </p><ul><li style='font-size:95%;'> <tt>函数h()</tt>是公知的算法作为一个键控<a href="http://en.wikipedia.org/wiki/CBC-MAC" rel="nofollow">CBC-MAC</a> 。 </li><li style='font-size:95%;'> CBC-Mac是确保,除非关键是安全的。您可以创建一个伪造的,如果你知道的关键。 </li><li style='font-size:95%;'> <tt>在H()</tt>使用的密钥是硬有线和不安全。这是正确的:JavaScript数组<tt>[111111,222222,333333,444444]。</tt> </li></ul><p>哎哟。您不能使用CBC的MAC这样的。您需要使用适当的加密哈希。 </p><p> <a href="http://nakedsecurity.sophos.com/2012/10/04/sha-3-hash-competition-concludes-keccak/">SHA-3</a>或SHA-256可能是一个好主意。作为<tt>fail0verflow</tt>指出,SHA-1是“确定”,甚至MD5比上面的代码会更好,虽然MD5的被称为加密的弱点。 </p><p>一线希望,当然,云服务可以发出几乎瞬间。下一次用户访问您的网站只是为新的代码。 </p><p> (是的,你回避传统的变更控制,因为用户不选择是否或何时进行更新。但是,你也避免变更控制的不景气,因为用户没有选择是否或何时更新)。 </p><p> ,果然,今天下午,兆丰采取了<tt>fail0verflow</tt>的建议。 </p><p> 2048位保护的加密代码,可保护1024位保护的加密代码已经被更新为: </p><p> <span class="notranslate">1 <br /> function sha256(d) <br /> { <br /> h = new sjcl.hash.sha256(); <br /> for (var i = 0; i &lt; d.length; i += 131072) <br /> h = h.update(d.substr(i,131072)); <br /> return h.finalize(); <br /> } <br />

现在,使用SHA-256用硬接线的密钥而不是CBC-MAC。

Mega的编码器,以良好的工作很快得到修复。但是,如果你是依靠自己的隐私上万,你可能要问自己,为什么他们没有得到他们的加密实现的基本在前场右侧。

我们以前的文章提意见上提供了合理的建议,,Mega的主密码需要的是自我保护:确保自身的不可否认性,以避免随着其用户的数据。您的隐私和安全的排在第二位。

有两个非常简单的解决方案,如果这是真的。您可以选择一个或两个:使用不同的供应商,或自行对数据进行加密之前,你让万对其进行加密。

事实上,为什么不自己的数据进行加密自己,始终呢? ,毕竟这是你的数据。

You might like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

About the author

Paul Ducklin is a passionate security proselytiser. (That's like an evangelist, but more so!) He lives and breathes computer security, and would be happy for you to do so, too. Paul won the inaugural AusCERT Director's Award for Individual Excellence in Computer Security in 2009. Follow him on Twitter: @duckblog