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網站。
相關文章
- 用 PHP 寫一個"程式語言"PHP
- 如何成為一個通曉多種程式語言的程式設計師程式設計師
- Kotlin成為正式的Android程式語言KotlinAndroid
- 我成為VB程式語言的愛好者~
- Python為什麼會成為人工智慧開發的首選語言?Python人工智慧
- Julia會成為下一個程式設計大語言嗎?程式設計
- 為什麼我不推薦 JavsScript 為首選程式語言
- 為什麼我不推薦JavsScript為首選程式語言
- Go 會接替 Java,成為下一個企業級程式語言嗎?GoJava
- 程式語言基本組成
- 不要再假裝 PHP 是一個好的程式語言PHP
- 為什麼說php是最糟糕的,也是最好的程式語言PHP
- 現代程式語言用什麼語言寫成?
- Python到底有何特點,成為了人工智慧首選語言?Python人工智慧
- C語言與嵌入式C語言的區別C語言
- 能讓你成為更優秀程式設計師的10個C語言資源程式設計師C語言
- 何為程式語言?為什麼要學C語言?C語言
- FinC:國人開發的嵌入式程式語言(轉)
- 嵌入式系統軟體及程式語言
- JavaScript成為移動開發的主要語言JavaScript移動開發
- 首個千億中文語言模型的使命,不止於規模與刷榜成績模型
- Kotlin-first - 谷歌宣佈Kotlin成為Android開發首選語言Kotlin谷歌Android
- 是什麼讓C#成為最值得學習的程式語言
- protobuf 在嵌入式ARM平臺的應用(c語言版)C語言
- PHP 並非好的入門程式語言PHP
- Laravel 成為最佳 PHP 框架的 14 個理由!LaravelPHP框架
- Laravel成為最佳PHP框架的14個理由!LaravelPHP框架
- 嵌入式開發為什麼選擇C語言?C語言
- 【譯】你的程式語言能做到這個嗎?(為什麼要學函數語言程式設計)函數程式設計
- spacejam/sled:使用Rust語言編寫的嵌入式資料庫Rust資料庫
- C2x將成為C語言的下一個ISO標準C語言
- C++ 能否成為你新的指令碼語言?C++指令碼
- PHP為什麼會被認為是草根語言?PHP
- 基於 10 大程式語言的 30 個深度學習庫深度學習
- Python或將成資料科學家首選語言Python資料科學
- 2011年7月程式語言排行榜:Objective-C將成為年度語言Object
- 程式語言的六個標準
- 為什麼需要更多的程式語言