NSA 在 RSA 加密算法中安置后门是怎么一回事,有何影响?

NSA 在 RSA 加密算法中安置后门是怎么一回事,有何影响?

谢

邀请,前两天我看到这一篇新闻的时候,觉得这位小编真不容易,面对各种跟天书一样的专业概念,不仅要写新闻还要翻译英文材料,还很多翻译错误,我估计他写完了以后也不知道自己在写什么。

今年九月底的时候,在某t打头的微博网站上,看到一个朋友提及一篇题为《

》的新闻,文中提到当时斯诺等泄漏的文件显示NSA(美国国家安全局)曾经向某加密算法植入后门。文中并未提及是什么算法,他问我是不是指的是SSL。然后我查询了当时的一些新闻,发现这个算法指的是

。

Dual_EC_DRBG是一种伪随机数生成算法,利用的是双椭圆曲线,用于生成随机密钥。该算法中使用了一个常数Q,但是标准中并未提及选择这个常数的原因,因此,Dual_EC_DRBG和DES一样,因为常数来源不明而被怀疑有问题。不过DES尽管几十年来大家都怀疑有后门,但是从来没有人找出来后门是什么。

Dual_EC_DRBG就比较不幸了,2007年8月,两名微软的研究人员Dan Shumow和

就发现,Dual_EC_DRBG算法可以被植入后门[1]。他们提到,如果算法中使用的常数经过特殊选择,并且用来选择这些常数所使用的数据被算法设计者保存下来,那么该算法设计者在知道该算法生成随机序列的前32个字节的情况下,可以预知未来所有生成的“随机”序列。同时这两名研究人员也指出,该算法只是存在植入后门的可能,因为不知道算法的设计者是否知悉该缺陷,也不知道该算法的设计者是如何生成常数Q的,所以也无法确定他们是否能够知道那些后门数据,该结论不能认定NIST有意在该算法中植入后门。文章中提到解决该问题的方法是自行重新生成常数Q。

到了2013年9月,斯诺登曝光出文件之后,似乎基本可以确定NSA设计了一个带有缺陷的随机数生成算法并通过NIST确立为国家标准。12月份,路透社披露,NSA通过买通RSA公司,将Dual_EC_DRBG作为Bsafe中的首选随机数生成算法。

按照

,BSAFE是RSA公司开发的一个面向开发者的软件工具。开发者可以将BSAFE嵌入到程序中,使得他们开发的程序获得一些安全特性的支持,包括加解密、证书颁发、SSL等。在存储、通信过程中使用加解密算法时,使用有缺陷的伪随机数生成算法所生成的加解密密钥,有可能被攻击者预测到,从而使得保护的秘密泄漏。

RSA算法是由麻省理工学院的三位知名的犹太裔密码学专家Ron Rivest、Adi Shamir和Leonard Adleman于1977年首次发表,是一种集密钥交换和数字签名功能于一身的公共密钥密码算法(Public-key cryptography,文中错译为“公众密钥密码算法”)。三人于1982年成立RSA Security公司,开展密码算法、数字签名等业务。2006年,RSA公司被EMC公司以21亿美元的价格收购。

RSA算法虽然是RSA公司研制的,但是数学原理简单清晰,并经过长时间的学术界和工业界的研究和考验,是可信赖的公钥加密算法,并且没有植入后门。文中配图所提到的SecurID,也是RSA公司的产品,国内不少银行外观类似的动态口令设备是RSA公司的产品。但是由于不知道这类设备使用的动态口令生成算法是否是Dual_EC_DRBG,所以无法确定是否存在动态口令被预测的情况。另外值得一提的是,大约是2011年RSA出过一次SecurID的种子泄漏的事故,但是不知道那次事故泄漏的数据能够预测多少SecurID的动态口令。

新浪的那篇新闻中,小编混淆了RSA公司、RSA算法和RSA公司的密码产品。那位所谓的匿名安全砖家也是混淆视听,RSA算法是安全可靠并且值得信赖的;而RSA公司的其他安全产品,如果使用了Dual_EC_DRBG算法生成随机密钥,那么将有严重的安全隐患,没有使用该算法的产品安全性不好直接通过此次事件认定,需要对算法细节做更多的评估。

Ron Rivest是知名的密码学家,图灵奖得主。除了RSA算法之外,他发明的RC系列(RC2、RC4、RC5、RC6)和MD系列(MD2、MD3、MD4、MD5、MD6),也都是RSA公司的产品,都非常有知名度,并且在业内广泛使用,也都没有怀疑存在后门。

结合学术界流传已久的关于DES存在后门的“阴谋论”,有如下结论:除了一些知名的密码学的大牛,普通人和工程人员很难知道和验证一个密码学算法(包括加解密算法、摘要算法、随机数生成算法)是否存在后门和缺陷,我们应当避免使用实现中使用的参数来路不明的算法和最新推出性能和效果尚不明确的算法,优先使用久经考验、广泛接受并被学术界认可的算法

[1] Dan Shumow, Niels Ferguson. On the Possibility of a Back Door in the NIST SP800-90 Dual Ec Prng.