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

简介:

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

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网站。

作者:bimeover
来源:51CTO

相关文章
|
27天前
|
缓存 自然语言处理 PHP
深入PHP内核:理解OPcode和执行生命周期
在PHP的执行过程中,源代码经过词法分析、语法分析等一系列复杂的步骤后,最终会编译成一种叫做“操作码”(OPcode)的中间代码。本文将深入探讨PHP的操作码(OPcode)是什么,它是如何生成的,以及它在整个PHP脚本执行周期中扮演的角色。我们还将了解不同的OPcode优化技术,以及它们如何影响PHP应用程序的性能。通过本文,读者将对PHP的内部工作原理有更深刻的理解,为进一步的性能调优打下坚实的基础。
|
1月前
|
PHP 数据安全/隐私保护
在PHP中使用AES进行加密和解密
在PHP中使用AES进行加密和解密
|
1月前
|
数据采集 前端开发 PHP
深入PHP内核:探索高性能异步编程
【2月更文挑战第24天】在现代Web开发中,提供快速响应和高并发处理能力是至关重要的。传统的同步阻塞模型已无法满足现代互联网服务的需求。本文将深入探讨PHP语言中的异步编程概念,介绍其原理、实现方式以及如何通过异步编程提升应用性能。我们将剖析PHP的多线程扩展,如pthreads,以及事件驱动编程模型,重点关注它们在处理大量并发连接时的优势和潜在问题。此外,文中还将展示如何使用Swoole等高级框架来构建高效的异步应用。最后,我们将讨论异步编程在实际应用中的挑战与未来发展趋势。
14 1
|
2月前
|
Java API Maven
敏感数据的保护伞——SpringBoot Jasypt加密库的使用
我们经常会在yml配置文件中存放一些敏感数据,比如数据库的用户名、密码,第三方应用的秘钥等等。这些信息直接以明文形式展示在文件中,无疑是存在较大的安全隐患的,所以今天这篇文章,我会借助jasypt实现yml文件中敏感信息的加密处理。
169 1
敏感数据的保护伞——SpringBoot Jasypt加密库的使用
|
10天前
|
安全 PHP 开发工具
php代码加密 php-screw-plus
php代码加密 php-screw-plus
13 0
|
17天前
|
PHP 数据安全/隐私保护
PHP在线加密系统网站源码
这个是sg的加密,免费可用(目前)并不会收费 源码说明:下载直接上传即可
18 1
PHP在线加密系统网站源码
|
1月前
|
数据采集 存储 JavaScript
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
本文旨在介绍如何利用PHP中的simple_html_dom库结合爬虫代理IP技术来高效采集和分析汽车之家网站的电动车参数。通过实际示例和详细说明,读者将了解如何实现数据分析和爬虫技术的结合应用,从而更好地理解和应用相关技术。
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
|
3月前
|
PHP 数据安全/隐私保护
|
Java 数据安全/隐私保护
Java实现最电话号码的简单加密源码
Java实现最电话号码的简单加密源码
17 0
|
2月前
|
存储 安全 算法
【接口加密】Java中的接口加密实践
【接口加密】Java中的接口加密实践