LibreSSL
SSL與TLS協定的開放原始碼實作,於2014年從OpenSSL分支出來 来自维基百科,自由的百科全书
LibreSSL是OpenSSL加密軟件庫的一個分支,是一個安全通訊協定(SSL)和傳輸層安全(TLS)協定的開源實現。在OpenSSL爆出心臟出血安全漏洞之後,一些OpenBSD開發者於2014年4月創立了LibreSSL,[3][4][5]目標是重構OpenSSL的代碼,以提供一個更安全的替代品。[6]LibreSSL復刻自OpenSSL庫的1.0.1g分支,它將遵循OpenBSD基金會在其他專案所使用的安全指導原則。[7]
歷史
在OpenSSL爆出心臟出血漏洞後的一周之內,OpenBSD開發團隊便決定自行維護一個OpenSSL分支。開發團隊於2014年4月11日註冊libressl.org域名,該專案於2014年4月22日公佈。
OpenBSD開發團隊隨即開始清理OpenSSL的代碼,在第一周,LibreSSL開發團隊刪去了90000多行的代碼。[8][9]一些陳舊或無用代碼被移除,同時對一些比較罕見的作業系統的支援也被移除。LibreSSL最初的目標平台是OpenBSD 5.6,但當代碼穩定之後,還移植至其他平台。[10]截至2014年4月[update],該專案仍在尋求「穩定的」外部資金支援。[9]
變化詳情
一些較顯着和重要的變化包括更換自訂的主記憶體存取呼叫為標準函數(例如strlcpy、calloc、asprintf、reallocarray等)。[11][12]這有助於在將來用更先進的主記憶體除錯器,或通過觀察程式的崩潰情況來發現緩衝區溢位等錯誤。CVS提交紀錄檔中也記錄了對潛在雙重釋放主記憶體的修復(包括空指標值的顯式分配)。[13]
原本不安全的種子生成方法(由內核原生提供)被移除,以確保亂數種子是通過安全的亂數生成器產生的。又新加入了一系列演算法,包括ChaCha20-Poly1305等。
加入了的完整性檢查,以檢查長度參數、無符號到有符號變量的賦值、指標值/方法返回值等數據的有效性。啟用了一些使之更加安全的編譯器選項和標誌(-Wuninitialized,-Werror等),這有助於發現潛在問題。為遵循良好的編程風格,專案也提高了代碼可讀性並清理空白字元,使之符合BSD的代碼風格(KNF)。移除了不必要或不安全的宏和變量;移除了未使用的或舊的程式集、應用程式、演示及文件檔案/代碼(Perl指令碼、C語言檔案等)。移除了對FIPS 140-2的支援、不安全的演算法Dual EC DRBG及舊的協定/加密器(SSLv2)。
參見
- TLS實現比較
- OpenSSH,OpenBSD社區所創的另一個保安軟件的分支
參考
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.