[2021]阴谋论: windows XP中可能带有NSA后门? huoji 消息可能不属实,请自行辨别真假 2021-09-20 1125 次浏览 0 次点赞 **这篇文章消息不确定是否属实,仅仅是本人的一个小的想法与思考,请勿当真** 在审计windows XP代码的时候,在数字签名校验部分,PkcsPublicEncrypt、RSAPublicEncrypt这两个函数长这样: RSAPublicEncrypt: ![](https://key08.com/usr/uploads/2021/09/2609714416.png) PkcsPublicEncrypt: ![](https://key08.com/usr/uploads/2021/09/393499675.png) 按道理说,他们应该走标准的Pkcs、RSA加密算法,然而并不,在XP源码下,他们走到了一个叫做BSafeEncPublic的算法中: ![](https://key08.com/usr/uploads/2021/09/3065156119.png) ~~这个BSafeEncPublic源码是不公开的,是一个lib文件~~(有误,不是这个lib文件,但是目前也不知道是哪来的) ![](https://key08.com/usr/uploads/2021/09/1530459164.png) 百思不得其解,在查阅wiki后,发现这个算法挺有意思的: ![](https://key08.com/usr/uploads/2021/09/3832960814.png) > 从 2004 年到 2013 年,BSAFE 中默认的加密安全伪随机数生成器(CSPRNG) 是Dual_EC_DRBG,它包含一个据称来自NSA 的后门,以及一个有偏见且缓慢的 CSPRNG。[4]自 2005 年规范发布后不久,密码学社区就意识到 Dual_EC_DRBG 是一个非常糟糕的 CSPRNG,到 2007 年,很明显 CSPRNG 似乎被设计为包含 NSA 的隐藏后门,只能使用美国国家安全局通过密钥。[5] 2007 年,Bruce Schneier将后门描述为“太明显了,无法欺骗任何人使用它”。[5]后门在斯诺登泄密事件中得到证实在 2013 年,有人暗示 NSA 在 2004 年向 RSA Security 支付了 1000 万美元以默认使用 Dual_EC_DRBG,[3]尽管 RSA Security在 2004 年否认他们知道后门 不过时间有点对不上就是了,按照wiki说的bsafe默认设置为Dual_EC_DRBG的时间是2004年开始,但是微软的bsafe lib是2003年的,那么是真是假只能看微软的那个lib里面用的是啥随机生成算法了 更新: win7 ci.dll里面也有 ![](https://key08.com/usr/uploads/2021/09/1380179034.png) 不知道是故意隐藏代码不给看还是怎么滴,他的数字签名算法都是这玩意 哪怕是win7那时候已经说淘汰bsafe这个算法了还在用,**要么是名字正好重复了**,要么是故意使坏 本文由 huoji 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。 点赞 0
后续看了看,这个bsafe算法不涉及到随机数生成(因为直接用rsa的public key),因此是没问题的。