CloudFlare 宣佈停用 RC4,並且支援 ChaCha20+Poly1305

CloudFlare 同時宣佈了停用 RC4 與支援 ChaCha20+Poly1305 的計畫:「End of the road for RC4」、「Do the ChaCha: better mobile performance with cryptography」。

2014 年年初的時候,CloudFlare 先把 RC4 從 TLS 1.1+ 的連線拿掉,而 2014 年五月時,再把 RC4 搬到 cipherlist 裡優先權最低的,成功的讓 99.9991% 的 request 改用 AES3DES (大約五個 9 ):

而九個月後的現在,CloudFlare 上 RC4 使用的比率則是降到了 0.000002%,反過來說也就是 99.999998% 的等級 (七個 9),也讓 CloudFlare 決定直接停用掉 RC4。

另外一個重大的新進展則是 ChaCha20+Poly1305,兩個都是 Daniel J. Bernstein 的作品。其中 ChaCha20 是 stream cipher,Poly1305 是 MAC。

由於 RC4 已經不夠安全,在行動平台上要夠安全必須使用 AES,但 AES 在 ARM 上面還沒有普及:在 Nexus 6 用的 ARMv7 不支援,是透過 Qualcomm Snapdragon 805 的加掛模組做的,而在低階手機支援度就更不用說了。

Google 大力推動 ChaCha20+Poly1305 的目的,是為了在行動平台上找到一個與 RC4 可以匹敵的速度,而且有著可以超越 AES-GCM 安全性的 cipher+MAC。

在 CloudFlare 採用 ChaCha20+Poly1305 前,Google 是唯一一個在 HTTPS 上大幅採用的單位,而瀏覽器的部份也只有 Google Chrome 有支援。雖然 Firefox 一直有喊著要支援,但這是個雞生蛋蛋生雞的問題,可以看到進度不怎麼快 (Bug 917571 - Support ChaCha20+Poly1305 cipher suites)。

CloudFlare 支援之後,使用 ChaCha20+Poly1305 的 pool 瞬間大了不少。可以看到一上線的使用率不算低,瞬間就有 10% 了:

希望可以推動 Firefox 快一點支援... (這是養大 pool 的下一步)

各種有趣的小板子...

Slashdot 的「Ringing In 2015 With 40 Linux-Friendly Hacker SBCs」報導了「Ringing in 2015 with 40 Linux-friendly hacker SBCs」這篇文章,裡面介紹了不少可以跑 Linux 的小板子。

還蠻多有趣的板子,大多都是 ARM,不過還是有一些 x86 的板子可以玩,另外還有一張 MIPS 的板子...

另外翻了翻還看到 SAMA5D3 Xplained 這張有兩個網卡的板子 (不過是 GE + FE),好像可以拿來做些有趣的東西?

不過上次從 zonble 那邊弄來的 Raspberry Pi 好像都還沒動...

Opus 1.1 釋出...

Opus 是個 royalty-free 的 audio codec,據官方說法是個多用途的 codec (而且表現都很好):

前幾天 Opus 終於釋出 1.1 版 (1.0 版已經是一年前的事情):「Opus 1.1 Released」。

這個版本在 ARM 上的效能大幅提昇 (包括了壓縮與解壓縮),很明顯是針對行動裝置的改善:「[opus] Opus 1.1 released」。

不過好像都沒看到 bitrate 夠高時的比較...

ARM Server 與 Intel Server 的比較...

在「ARM Based Server Cluster Benchmarked」看到有人對 ARMIntel 的 x86 (x86_64) 架構比較。原文在「Calxeda's ARM server tested」,ARM 的部份是以 Calxedas 的 server 測試。

重點其實在第 13 頁:

So on the one hand, no, the current Calxeda servers are no Intel Xeon killers (yet). However, we feel that the Calxeda's ECX-1000 server node is revolutionary technology. When we ran 16 VMs (instead of 24), the dual low power Xeon was capable of achieving the same performance per VM as the Calxeda server nodes. That this 24 node system could offer 50% more throughput at 10% lower power than one of the best Xeon machines available was honestly surprising to us.

雖然知道 ARM 的單位能量所產生的效能比較好,但比我想像中少... 我以為同樣電力會到兩倍。如果只有 50%+ 的話,也難怪各家都還在評估,而非大力換掉 :o

RoboVM:用 Java 開發 iOS 程式...

這一樣是在 OSnews 上看到的,RoboVM 釋出第一版 0.0.1:「RoboVM 0.0.1 released」,官方的新聞稿在:「RoboVM 0.0.1 released — iOS && Java == true」。

RoboVM 能夠將 Java bytecode 轉成 x86 或 ARM 的 native code,目前以 Android runtime class 為主。這葫蘆裡想要賣什麼藥應該很清楚...

我覺得這是個「有趣」的專案... 但不覺得會發展起來,畢竟兩個平台不是只有 code 的差異而已 :o

NaCl (Native Client) 總算要支援 ARM 了...

OSnews 上看到 NaCl 要支援 ARM 了,在這之前的版本都只能跑在 x86 family 上面:「Native client now supports ARM」。

另外在 The Chromium Blog 上也提到這件事情:「Native Client support on ARM」。

下一個預定要完成的計畫是 Portable Native Client (PNaCl),希望用 LLVM 一統江湖... XD

在 Raspberry Pi 上跑 FreeBSD...

Raspberry Pi 的官方網站上提到可以在 Raspberry Pi 上跑 FreeBSD 的消息:「FreeBSD is here!」。

不過這是 community (unofficial) 版本,而且是 10-CURRENT,維護者自己也說這還不是 production-ready,主要是給大家嘗鮮用...

目前如果要拿來做一些正事,還是以 Linux 為主吧,畢竟是主力平台。