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網站。
相關文章
- Zig成為薪酬最高的程式語言
- 用 PHP 寫一個"程式語言"PHP
- Python為什麼會成為人工智慧開發的首選語言?Python人工智慧
- Julia會成為下一個程式設計大語言嗎?程式設計
- Go 會接替 Java,成為下一個企業級程式語言嗎?GoJava
- 為什麼說php是最糟糕的,也是最好的程式語言PHP
- Kotlin-first - 谷歌宣佈Kotlin成為Android開發首選語言Kotlin谷歌Android
- “嵌入”在大語言模型中是解決把句子轉換成向量表示的技術模型
- C 語言程式構成要素
- C語言與嵌入式C語言的區別C語言
- PHP 並非好的入門程式語言PHP
- Python到底有何特點,成為了人工智慧首選語言?Python人工智慧
- 隋廣義揭祕鼎益豐是如何成為大眾心中靠譜的首選
- 嵌入式系統軟體及程式語言
- 何為程式語言?為什麼要學C語言?C語言
- PHP還是不是最好的語言?PHP在2019年 - stitcher.ioPHP
- 基於 10 大程式語言的 30 個深度學習庫深度學習
- 【譯】你的程式語言能做到這個嗎?(為什麼要學函數語言程式設計)函數程式設計
- spacejam/sled:使用Rust語言編寫的嵌入式資料庫Rust資料庫
- protobuf 在嵌入式ARM平臺的應用(c語言版)C語言
- 首個千億中文語言模型的使命,不止於規模與刷榜成績模型
- 為什麼大部分的 PHP 程式設計師轉不了 Go 語言?PHP程式設計師Go
- Rust為何無法成為超級語言?Rust
- Laravel 成為最佳 PHP 框架的 14 個理由!LaravelPHP框架
- Laravel成為最佳PHP框架的14個理由!LaravelPHP框架
- 手寫程式語言-如何為 GScript 編寫標準庫
- PHP轉Go系列 | 推薦一個強大的Go語言工具函式庫PHPGo函式
- Python或將成資料科學家首選語言Python資料科學
- JavaScript、Python和Go:誰將成為2021年最好的後端程式語言?JavaScriptPythonGo後端
- 嵌入式開發為什麼選擇C語言?C語言
- C2x將成為C語言的下一個ISO標準C語言
- 為什麼自制指令碼語言是程式語言的最高境界?指令碼
- c語言if語句是如何變成彙編程式碼的?C語言
- 各個語言演算法庫演算法
- 消除遊戲/猜成語/系統開發/成語猜謎/Python程式語言遊戲Python
- 2020 年 HackerEarth 調查:Go 語言成為最受歡迎的語言(內含 Go 語言圖譜下載)Go
- 各個程式語言語言的檔案/函式/變數的命名方法函式變數
- TIOBE 12月榜單: C# 即將成為2023 年度程式語言C#
- (嵌入式)Windows與Ubantu下的C語言程式的編譯執行WindowsC語言編譯