Alpine Linux 決定將 OpenSSL 換成 LibreSSL

之前看到 Alpine Linux 是從 Docker 這邊看到的,可以弄出還蠻小巧的 image...

前幾天看到他們宣佈打算將 OpenSSL 換掉,換成 LibreSSL:「[alpine-devel] Alpine edge has switched to libressl」。而且理由也講的頗直接,覺得 OpenSSL 的改善速度還是不滿意,而且市場上有其他還不錯的方案可以選:

While OpenSSL is trying to fix the broken code, libressl has simply removed it.

這樣 LibreSSL 又多了生力軍,之前比較大的應該只有 OpenBSD...

OpenBSD 將 ACME Client (Let's Encrypt Client) 納入系統

看到 OpenBSD 直接把 ACME 協定的 client 放進系統內,而 ACME 也就是 Let's Encrypt 所使用的協定:「Let's Encrypt client imported into -current」:

CVSROOT:/cvs
Module name:src
Changes by:florian@cvs.openbsd.org2016/08/31 16:01:42

Added files:
usr.sbin/acme-client: ChangeLog Makefile acctproc.c base64.c 
                      certproc.c chngproc.c dbg.c dnsproc.c 
                      extern.h fileproc.c http.c http.h jsmn.c 
                      jsmn.h json.c keyproc.c letskencrypt.1 
                      main.c netproc.c revokeproc.c rsa.c rsa.h 
                      sandbox-pledge.c util-pledge.c util.c 

Log message:
Import Kristaps' letskencrypt and call it acme-client in tree.
OK to get it in deraadt@ (and probably beck@)

At least deraadt@, beck@ and otto@ are fine with the name and the
disagreements stopped.

用的是 acme-client,先前叫做 letskencrypt,以 C 開發的 ACME client。

Libreboot 成功的讓 FreeBSD/OpenBSD 開機

Libreboot 是一個 open source 版本的 BIOS/UEFI 替代品:

Libreboot is a free BIOS or UEFI replacement (free as in freedom); libre boot firmware that initializes the hardware and starts a bootloader for your operating system.

而最近的版本則是順利的在沒有修改作業系統來配合 Libreboot 的情況下將 FreeBSDOpenBSD (不過是 kOpenBSD) 開起來了:「Re: [Libreboot] GNU Libreboot, version 20160818 released」。

OpenSSH 降低對 OpenSSL 的相依性

這陣子 OpenSSH 的人努力降低對 OpenSSL 的相依性,目前 (2014-04-29 18:01:49 GMT) 已經拔到把 OpenSSL 拔掉後仍然有數個演算法可用 (離可用還是有一段距離):

make compiling against OpenSSL optional (make OPENSSL=no);
reduces algorithms to curve25519, aes-ctr, chacha, ed25519;
allows us to explore further options; with and ok djm

Curve25519 用在 ECDH,而 AES-CTR 與 ChaCha20+Poly1305 用在對稱加密,Ed25519 用在非對稱加密,其中三個剛好是一整套 djb 大全集 XD

不過缺了 RSA 還是有點痛啊,看看會不會實做出來吧?

OpenBSD 的 OpenSSL 清理工作

在「One week of OpenSSL cleanup」這篇提到了 OpenBSD 的 committer 最近花了不少時間在清理 OpenSSL (OpenBSD 內的 OpenSSL)。

All combined, there've been over 250 commits cleaning up OpenSSL. In one week.

清理的過程主要是針對 OpenBSD 所支援的平台,所以其他平台的支援都被拔乾淨了。即使如此,清過後的版本重新 porting 到各 Unux-like 平台應該是還蠻有希望的。

BSD Commit Log Search 這邊則可以搜尋到 OpenSSL 被清的情況:「http://freshbsd.org/search?project=openbsd&q=libssl」。

花些時間翻一翻,會可以看到 OpenSSL 很多習慣並不好 (尤其是在資安領域)。

像是 OpenSSL 預設居然沒有把所有的 code 都上 -Wall,這點讓人有點... 呃... 要怎麼說呢...:「58c7f6cb678b7e31b80d290b5823b16d70760801」。

然後看到大量的 potential double free fix,呃...

繼續看下去吧,看起來 OpenBSD 這一波 cleanup 應該會再爆出一些安全問題 (多冒出幾個 CVE 出來)。

OpenBSD 要支援 signed package 了...

Slashdot 上看到 OpenBSD 要支援 signed package 的消息:「OpenBSD Moving Towards Signed Packages — Based On D. J. Bernstein Crypto」。

使用的演算法是 djbEd25519,是基於橢圓曲線密碼系統的演算法。演算法名稱取自 2255-19 這個參數。

[ed25519] 23pp. (PDF) Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, Bo-Yin Yang. High-speed high-security signatures. Journal of Cryptographic Engineering 2 (2012), 77–89. Document ID: a1a62a2f76d23f65d622484ddd09caf8. URL: http://cr.yp.to/papers.html#ed25519. Date: 2011.09.26.

意外發現魯教授的名字出現在列表上...