OpenSSH 安全性問題...

Twitter 上看到 Gasol 轉推的 OpenSSH 安全性問題:「OpenSSH Security Advisory: gcmrekey.adv」。

開頭就直接寫:

If exploited, this vulnerability might permit code execution with the privileges of the authenticated user and may therefore allow bypassing restricted shell/command configurations.

這噴飯了... OpenSSH 的安全性相當強,這次出這種包... XDDD

影響的範圍是 OpenSSH 6.2 與 6.3,並且 OpenSSL 有編 AES-GCM:

OpenSSH 6.2 and OpenSSH 6.3 when built against an OpenSSL that supports AES-GCM.

如果不允許升級到 OpenSSH 6.4,那麼暫時性的解法是不允許 AES-GCM,在 /etc/ssh/sshd_config 內可以設:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc

結果 FreeBSD 9.2 看起來在範圍內中槍,先上 workaround 再來等 freebsd-update 提供的修正吧...

因為 NIST 而換掉 AES?

Slashdot 上看到有人因為最近 NIST 被抖出來的事蹟 (SHA-3 的問題),而決定換掉 AES:「Silent Circle Moving Away From NIST Cipher Suites After NSA Revelations」。原報導在「Non-NIST Cipher Suite」。

換掉 AES 不確定這是不是好主意...

Rijndael 從 1998 年公開後,2001 年被選為 AES,之後被廣泛應用在所有資安協定上,也因為被廣泛應用,全世界打了這十多年下來,都還是屬於可用的狀態。換成其他 cipher 會比較安全嗎?

手機網路的不安全性...

在整理舊文章的時候看到有人對 GSM 網路以及 3G/LTE 網路的安全性進行分析:「On cellular encryption」。

2G 網路 (GSM 網路) 已經是不安全的架構,主因是 30 年前可用的技術受限,加上當時的美國法令嚴格管制加密技術出口,所以整個通訊協定放了一堆後門...

3G 網路建立時 AES 也還沒出來 (1998 年 NTT DoCoMo 建立第一個非商用性質的 3G 網路),當時選用的 KASUMI cipher 後來被打趴好幾次...

4G/LTE 用的技術就更新了,當然是另外的故事,不過還是把手機網路當作不安全的媒介會比較好...

加快 SSL 加解密速度...

看到 Ash Wu 貼的「5 easy tips to accelerate SSL」:

先列出原作者在文章裡給的結論:

ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:RC4+RSA:+HIGH:+MEDIUM

不過,現在考慮 SSL 效能以行動平台為主 (因為桌機用軟體計算也超快),而行動平台中 iOS 可以對 AES 與 SHA1 硬體加速 (iOS 4.3+),Android 一般的情況下看起來沒得用,所以就自己取捨啦...

把 SSH 換成 Mosh

Mosh 是一個取代 SSH (OpenSSH) 的工具,官方網站上是這樣介紹:

Mosh is a replacement for SSH. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.

Mosh 最大的特性是透過 UDP 加密傳輸 (AES-128 OCB mode),而且不綁定 IP address 後設計出這些特性:

  • 筆電休眠後再打開電腦就可以直接連上。
  • 登入 VPN 造成 IP 改變後也沒關係。

另外 Mosh 模擬了 local echo 機制,就算在 latency 偏高的網路下也還是可以感覺到不錯的反應速度。

不過是到了 1.2 之後支援 --ssh 這個參數才變得好用,在 client 端只要這樣跑 (假設 ssh port 在 1234):

mosh --ssh="ssh -p 1234 -v" gslin@server.example.com --server="env LANG=en_US.UTF-8 mosh-server"

Mosh 就會用 ssh 登入後自動執行 mosh-server 取得 shared key 給 mosh-client 用。如果本來就有使用 public key 機制的話就跟原來沒差了 :p

預設吃 port 60000-61000 其中的一個 UDP port,所以記得開 firewall...

SHA-3 最後審查...

Schneier on Security 上看到 SHA-3 的消息:「SHA-3 to Be Announced」。

1997 年,NIST 要找尋 Data Encryption Standard (DES) 的下一代標準,發起了有名的 AES 遴選計畫,也就是 Advanced Encryption Standard process

公開遴選 AES 的成果就是在 2001 年 NIST 選出 Rijndael,由 Vincent RijmenJoan Daemen 兩位比利時密碼學家所發展出的對稱式加密系統。這個成果以現在來看是相當受到好評的:從 1998 年 Rijndael 問世到現在已經將近 15 年,成為官方標準後也超過 10 年,在這麼長時間接受全世界密碼學家檢驗後,有效的攻擊 (full cycle,可以破解實際流量的演算法) 是 2009 年一系列針對 192bits 與 256bits 的攻擊 (Related-key attack),以及 2011 年針對所有 128bits/192bits/256bits 的攻擊 (Key-recovery attack),仍然都還不到「實用」的程度 (用合理的硬體與資源破解)。

因此,當 MD5SHA-1 被攻的亂七八糟時 (2004 年王小雲教授往 ePrint 上丟出有名的「Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD」論文,給出兩個 vector 直接給出證明已經找到 collision),NIST 也想要透過同樣的遴選過程建立標準。於是,在 2007 年 NIST 宣佈了遴選計畫,這套標準就叫做 SHA-3,遴選過程則可以在 NIST hash function competition 這邊查到。

歷經五年的競爭,SHA-3 終於要宣佈結果了... (也有可能宣佈「沒有得主」?)