菲洛嘉青春动能素135HA FILLMED® NCTF 135HA LED指示灯的常见故障分析 智微智能 Elkhartlake K075终端,零售产业新选择 天空蓝拓客管理系统详细介绍版 muso公链项目 天使计划 是什么?[秘] 独家揭秘最前沿的家装“黑科技”——掌赋 天博体育欧洲杯特辑,东道主法兰西的失意2016 亚马逊的送货侦察员 学习听起来像挡泥板 Google Comics Factory使ML变得容易 笑着说-男性或女性 Amazon Rekognition中更好的人脸检测 关于Spaun的真相-大脑模拟 两个聊天机器人彼此聊天-有趣又怪异 GANPaint:将AI用于艺术 WCF和WF给予社区 从耳朵到脸 所有神经网络的深层缺陷 蠕虫在尾巴上平衡杆子 Kickstarter上的OpenCV AI套件 TensorFlow-Google的开源AI和计算引擎 众包取代新闻工作者 Google的DeepMind学会玩街机游戏 哑机器人V智能机器人 .NET与.NET 5融为一体 Google的深度学习-语音识别 LInQer将.NET LINQ移植到Javascript 机器人TED演讲-新的图灵测试? GAN的发明者加入苹果 您的智能手机会监视您键入的内容 人工智能帮助改善国际象棋 Zalando Flair NLP库已更新 TensorFlow 1.5包含移动版本 AlphaGo输了一场比赛-比分3-1 虚拟机器学习峰会 Microsoft开源AI调试工具 SharePoint走向移动 F#4.0发出文化变革的信号 克里斯蒂拍卖AI艺术品 人工智能如何区分 Facebook在蒙特利尔的新AI实验室 Mozilla想要您的声音 微软使用极深的神经网络赢得ImageNet 建立AI合作伙伴关系 .NET Core 3-Microsoft几乎回到了起点 神经网络-更好的销售商? Google使用AI查找您的住所 虹膜-适用于Android的Siri证明苹果没有优势 TensorFlow 2提供更快的模型训练 深度学习研究人员将为Google工作
您的位置:首页 >程序人生 >

Wycheproof项目揭示了流行的加密库中的错误

Google发布了Project Wycheproof,这是一组安全测试,用于检查加密软件库是否存在已知漏洞。开发了80多个测试用例后,已发现40多个安全漏洞。

googlelogo颜色120x44dp

为了具有良好的密码学,需要具备两个要素。首先是密码基元本身的强度。这是将其分类为合适的属性或不适合在其上构建应用程序的属性。例如,在“ SSL和TLS部署最佳实践-使用安全密码套件”中记录的TLS协议中,建议不要使用所有密码。例如,在该列表中,我们发现了一些不安全且必须避免的过时密码原语:

匿名Diffie-Hellman(ADH)套件不提供身份验证NULL密码套件不提供加密密码较弱的套件(通常为40位和56位)使用容易破解的加密RC4是不安全的3DES缓慢而脆弱

第二个因素是实现密码的库。您确定它没有错误吗?一个这样的反例是libmcrypt库中的mcrypt函数,该函数在PHP应用程序中很流行,尽管存在许多弱点,如在“将单词MCRYPT键入您的PHP代码中,您做错了”中所述。

寻找此类错误时,通常会使用代码审核,现在,Google工程师与Wycheproof项目一起努力,试图解决由于加密组件内部代码审核而直接导致的软件库安全性方面的问题谷歌在其产品中使用的产品,最终也找到了向公众展示的方式。

因此,项目Wycheproof项目是一组单元测试的集合,该项目检查密码软件库中RSA,椭圆曲线加密和经过身份验证的加密中的已知弱点。在项目存在的短时间内,通过完成80个漏洞已经发现了40多个错误单元测试.GitHub上提供的测试涵盖了一些最广泛使用的算法,例如:

RSADSAECDHD菲菲·赫尔曼

反对它们在Java密码体系结构提供程序中的实现,例如Bouncy Castle,Spongy Castle和OpenJDK中的默认提供程序。

为了运行这些测试,例如对于Bouncy Castle或OpenJDK,您需要安装Bazel,然后按以下方式运行测试:

bazel测试BouncyCastleAllTests

要么

bazel测试OpenJDKAllTests

已发现的最令人担忧的错误之一是Bouncy Castle的ECDHC实施泄露了私钥,因为在即将推出的TLS 1.3版本中,ECDCH将完全取代RSA进行密钥传输,因为此类库中托管了一个弱实施最重要的。

在实现算法时,很多事情都会出错,事实上,在TLS 1.3草案中,有一整节专门讨论实现陷阱,这在设计库或应用程序时可能会遇到:

您使用什么对策来防止定时攻击?验证RSA签名时,您是否接受NULL和缺少的参数?您是否验证RSA填充在散列值之后没有其他数据?使用Diffie-Hellman密钥交换时,您是否在协商的密钥中正确保留了前导零字节?TLS客户端是否检查发送的Diffie-Hellman参数服务器生成的Diffie-Hellman私有值,ECDSA“ k”参数和其他对安全性至关重要的值时,是否使用了强大的(最重要的是正确地种子了)随机数生成器?建议实现实现[RFC6979]中指定的“确定性ECDSA”。是否将Diffie-Hellman公钥值零填充到组大小?在对签名进行签名以防止RSA-CRT密钥泄漏后,您是否会验证签名?

由于此类Wycheproof项目已成为追求正确应用密码术的宝贵补充,因为正确处理太困难了,因此需要进行严格的测试或使用经过验证的安全产品,例如CMS领域,Paragonie的开源软件AirShip CMS与Drupal,Joomla或Wordpress等已知的易受攻击的漏洞相反。

googlelogo颜色120x44dp

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。