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
























