专栏首页FreeBufPHP成为首个在内核中嵌入加密库的编程语言

PHP成为首个在内核中嵌入加密库的编程语言

PHP团队最近投票一致通过了“将Libsodium库集成到PHP内核中”的决议,使得PHP成为首个使用公认现代加密库的编程语言。

Libsodium是个便捷,可交叉编译,现代化,易于使用的软件库;可用于加密,解密,签名,密码哈希等。

和PHP源代码一样,Libsodium是用C编写的。如今,很多公司,如Keybase,数字海洋,Riseup,Yandex,Wire和Zcash,已经他们的服务中部署Libsodium。

提出加入Libsodium建议的的开发者是来自Paragon Initiative公司的首席开发官Scott Arciszewski,他曾在过去的开发会议中提倡在PHP CMS中加入更强大的加密技术。

Libsodium将在PHP 7.2中出现

PHP团队决定在2017年年底推出的PHP 7.2中加入Libsodium。目前最新PHP版本为7.1.2。

Arciszewski解释了他为什么期望在PHP内核中嵌入Libsodium,主要原因就在于WordPress以及共享托管供应商——绝大部分共享主机供应商不允许用户安装自定义PHP扩展,因为许多未经测试或未知的扩展可能对其设备造成危害。

Arciszewski的想法是如果将Libsodium集成到PHP内核中,就可以摆脱对托管提供商的依赖,用户也不用再为PHP扩展的安全性担忧,因为以后的PHP版本将会默认支持加密库。

“共享主机提供商还是主要原因,因为VPS供应商(在我印象中,总是)一般是让你在自己虚拟机上以root权限运行的。”

除此之外,Arciszewski表示Libsodium的加入,同样也免去了说服WordPress团队去加强他们的安全建设的过程,因为他们自然会用PHP默认支持的强加密功能。

PHP需要Libsodium的其他原因

相关PHP加入Libsodium,Arciszewski还提出了更多原因,他认为Libsodium嵌入到PHP核心对PHP全局的安全性有很多好处。比如说:

1.显然Libsodium会让共享网络托管提供商为用户升级到PHP 7.2; 2.本次升级会告诉操作系统开发人员,“Libsodium是必要的;它是默认安装的一部分”; 3.PHP手册将会列出对libsodium扩展的说明,这意味着开发人员将有官方文档可依; 4.PHP 7.2+内部就能使用libsodium功能,例如PHP Archives(Phar扩展)很快就会有Ed25519签名; 5.在不对用户产生影响的情况下,那些需要libsodium的开源项目就可方便安装。

Arciszewski在邮件中提到:“我坚信安全应该属于每个人,而不应该只属于那些有能力为安全买单的1%的人。PHP在互联网上的占有率至少有82%,而libsodium又是大多数加密技术人员推荐的应用层加密库。

“在PHP开发者眼中,PHP和libsodium的联手应该是获得更好的安全性最为直接和合理的方式。许多开发者没有时间或加密方面的经验来搭建属于自己安全。”

为什么“第一个”是PHP,而不是Go或Erlang?

Arciszewski解释了使用加密库后的技术优势,以及为什么Libsodium是现在最现代化的加密库之一,详情点击阅读原文可查看。

另外他还解释了为什么PHP才是真正意义上“第一个”在其核心中支持“现代”加密库的编程语言——尽管Erlang和Go包含类似的库,但是它们的实施完整性与将来加入到PHP 7.2中的Libsodium不可同日而语。

在加入Libsodium到PHP之前,Arciszewski已经在WordPress之上进行了实践,他在WordPress 4.4中添加了一个强大的CSPRNG(加密安全伪随机数生成器),并发现WordPress更新过程中的几个缺陷,这将允许攻击者劫持互联网上的所有WordPress网站。

本文分享自微信公众号 - FreeBuf(freebuf),作者:bimeover

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-02-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP两版本大限将至,全球近七成网站需紧急更新

    作为最受欢迎的服务器端语言,PHP 各版本已经被全球近8成的网站采用。而根据PHP 给出的各版本的生命周期,2019年1月1日开始,PHP 5 最后一个版本 5...

    FB客服
  • Fracker:PHP函数调用追踪与分析工具

    Fracker是一套PHP函数调用追踪与分析的工具,其目标是在PHP应用程序的手动安全评估期间协助安全研究人员。

    FB客服
  • 保护你的隐私:10项你必须知道的iPhone/iPad iOS 8安全设置

    也许你并不知道,苹果iOS 8里包含了多项追踪你的地理位置和个人信息的功能,其中不少是默认开启的,很多APP和广告都在通过这些功能获取你的个人信息。 如果你忽视...

    FB客服
  • PHP相关概念及配置

    php MIME,http,html MIME:MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型 ...

    若与
  • 怎么快速判断 PHP 是 32 位还是 64位

    Swoole Compiler 加密是不支持使用 Debug 版本或 32 位的 PHP 的

    沈唁
  • 如何在Ubuntu 14.04上更改PHP设置

    PHP是一种服务器端脚本语言,被许多流行的CMS和博客平台使用,如WordPress和Drupal。它也是流行的LAMP和LEMP堆栈的一部分。在设置基于PHP...

    彼岸轮回
  • 网站渗透测试出来的漏洞为什么都是PHP代码

    近期许多网民跟我说为何出現系统漏洞的网站程序全是PHP开发设计的,而非常少有JAVA和Python的渗透案例,先不用说python,就PHP和Java谈一谈。在...

    网站安全专家
  • 纠结啊,PHP和前端学哪个?

    这个问题是一个先行者计划的成员向我提出的,我直接用群规的第四条回复了他。不知道的请自己去看。 有空的时候我也想了下,PHP和前端学哪个?这根本不算是一个问题,先...

    web前端教室
  • 你不知道的Node.js性能优化

    仅仅是简单的升级 Node.js 版本就可以轻松地获得性能提升,因为几乎任何新版本的 Node.js 都会比老版本性能更好,为什么?

    Starkwang
  • Node.js 为什么进程没有 exit?

    不知道各位 noder 们有没有碰到过这样一个疑问,当你写的 Node.js 代码是异步逻辑的时候,我们要怎么才能知道 Node.js 进程是什么,什么时候才会...

    五月君

扫码关注云+社区

领取腾讯云代金券