很多安全系统都涉及到“随机数”的概念,就是为了让加密更安全,加密算法中会加入随机数,这样系统会变得更加安全和难以破解。不过可能很多人不知道,这种随机数的生成并没有你想得那么随机,随机数完全依赖于广阔的随机数据资源——而这些数据资源量并不足够庞大。
安全专家Bruce Potter表示,像Linux服务器生成的数据函数其实是很“low”的。他在2015美国黑帽客大会上表示,这个问题意味着所谓的随机数实际上也就比人们想得更容易猜到或者破解。
研究人员Sasha Moore先前在随机数生成研究方面,和Potter一起工作,他们对于自己的这项发现也都感到非常惊讶和害怕。就像BBC先前报道的那样,随机数的生成来源于一系列资源,包括将鼠标和键盘的移动转为二进制码。而Potter和Moore的研究则发现,许多Linux服务器生成的数据流不仅包含了相对低级的函数,而且也没有经过严格的测试。
“这些资源池很快就枯竭了,让加密系统的随机数生成机制根本得不到好的资源。这或许意味着,随机数更容易被猜到,系统也更容易受到暴力攻击的影响,因为随机数的生成并没有想象得那么靠谱。”
实际上,随机数的应用不仅限于加密、加大非法数据解密的难度,也可以应用于某些任务执行、数据存储命令的随机化,还有其他一些需要增加安全性的系统中。
Potter的研究揭示了目前比较流行的web服务器所用加密系统的内部问题,Potter表示:“这让我们很害怕,因为如果你对加密存在这样的未知性,那么情况就不是那么顺利了。”鉴于越来越多的资料都在线上,这些都依赖于加密和随机数,这样的问题确实是值得人们 警惕的。