Home » Posts tagged "crypto" (Page 2)

在攻擊時總是挑最弱的一環:NSA 對 DH 的攻擊

在「How is NSA breaking so much crypto?」這邊提到了 2012 年有文章說明 NSA 有能力解開部份的加密通訊,而後來 Snowden 所提供的資料也證實了這點:

In 2012, James Bamford published an article quoting anonymous former NSA officials stating that the agency had achieved a “computing breakthrough” that gave them “the ability to crack current public encryption.” The Snowden documents also hint at some extraordinary capabilities: they show that NSA has built extensive infrastructure to intercept and decrypt VPN traffic and suggest that the agency can decrypt at least some HTTPS and SSH connections on demand.

但在這之前一直都不清楚是怎麼解出來的,直到最近才猜測應該是 Diffie-Hellman 的強度以及實作問題:「Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice」。

而成果其實非常驚人,由於強度不夠以及實作問題,有相當可觀的數量是可被攻擊的:

We go on to consider Diffie-Hellman with 768- and 1024-bit groups. We estimate that even in the 1024-bit case, the computations are plausible given nation-state resources. A small number of fixed or standardized groups are used by millions of servers; performing precomputation for a single 1024-bit group would allow passive eavesdropping on 18% of popular HTTPS sites, and a second group would allow decryption of traffic to 66% of IPsec VPNs and 26% of SSH servers. A close reading of published NSA leaks shows that the agency’s attacks on VPNs are consistent with having achieved such a break. We conclude that moving to stronger key exchange methods should be a priority for the Internet community.

作者群給的建議有三個方向,一個是把長度加長到 2048 bits,另外一個是改用 ECDH,而最差的情況 (如果還是需要使用 1024 bits DH) 則是避免使用固定的 prime number。

對 SHA-1 的攻擊進展

Bruce Schneier 這邊看到對 SHA-1 的攻擊又有新的進展了:「SHA-1 Freestart Collision」。

這次的論文不是真的找出 collision,而是對 internal compression function 攻擊,不過即使如此,這是首次攻擊完整的 80 rounds:

We present in this article a freestart collision example for SHA-1, i.e., a collision for its internal compression function. This is the first practical break of the full SHA-1, reaching all 80 out of 80 steps, while only 10 days of computation on a 64 GPU cluster were necessary to perform the attack.

論文資訊可以在「The SHAppening: freestart collisions for SHA-1」這邊看到。

CloudFlare 對 Go 上面加解密系統的改善

CloudFlare 發佈了自己版本的 Go,修改了其中的 crypto subsystem:「Go crypto: bridging the performance gap」。

文章花了不少篇幅介紹 AEAD (Authenticated Encryption with Associated Data),而目前 CloudFlare 支援的是 AES-GCM 與 ChaCha20-Poly1305,也是兩大主流,分別佔了 60% 與 10% 的 HTTPS 流量:

As such today more than 60% of our client facing traffic is encrypted with AES-GCM, and about 10% is encrypted with ChaCha20-Poly1305.

CloudFlare 提供的改進使得速度快很多,並且有考慮到 side-channel attack 的問題:

Both implementations are constant-time and side-channel protected.

                         CloudFlare          Go 1.4.2        Speedup
AES-128-GCM           2,138.4 MB/sec          91.4 MB/sec     23.4X

P256 operations:
Base Multiply           26,249 ns/op        737,363 ns/op     28.1X
Multiply/ECDH comp     110,003 ns/op      1,995,365 ns/op     18.1X
Generate Key/ECDH gen   31,824 ns/op        753,174 ns/op     23.7X
ECDSA Sign              48,741 ns/op      1,015,006 ns/op     20.8X
ECDSA Verify           146,991 ns/op      3,086,282 ns/op     21.0X

RSA2048:
Sign                 3,733,747 ns/op      7,979,705 ns/op      2.1X
Sign 3-prime         1,973,009 ns/op      5,035,561 ns/op      2.6X

AES-GCM 與 EC 的改善主要是利用 CPU 指令集加速:

[T]herefore we created assembly implementations of Elliptic Curves and AES-GCM for Go on the amd64 architecture, supporting the AES and CLMUL NI to bring performance up to par with the OpenSSL implementation we use for Universal SSL.

不過 RSA 的部份雖然幅度也不小 (比起 AES 與 EC 的部份是不大,不過純就數字來看,快了一倍多也不少),不過沒提到怎麼改善,只稍微帶過:

In addition the fork includes small improvements to Go's RSA implementation.

Crypto 101

Crypto 101 是一本近代密碼學的入門書,目前還在寫,原始的 TeX source 可以在 GitHub 的「crypto101/book」這邊看到。

其實內容不淺,講了很多新東西 (看到 Salsa20 出現的時候...),而且也講了很多攻擊方式。高階的東西 (SSL/TLS、PGP 系列) 也拉出來講。

等到完成的時候應該是很不錯的資料 :p

djb 的密碼學陰謀論

Daniel J. Bernstein (djb) 在巴西 H2HC 11 的的演講投影片:「Making sure crypto stays insecure」(PDF)。

對政府單位來說,並不樂見有安全的密碼系統。因為安全的密碼系統對於政府監控人民是個麻煩。

如果十年前拿出來講,可能大多數人會覺得投影片裡面的內容太過於「被害妄想」,但經過 Edward Snowden 的努力後,被證實政府完全站在人民的反面。

在演算法裡面藏後門 (經典的 Dual_EC_DRBG);干擾標準的制定,讓實做變得複雜,於是就會變得難以正確實做;在標準裡面故意低估安全威脅 (尤其是 timing attack 類);放出過時消息宣稱加密的成本很高 (指時間成本)。

這種種事情的透漏,甚至讓小說作者 cancel 掉小說的續集 (第三集),因為他發現他要寫的故事內容 NSA 都已經做過了:「Sci-fi Author Charles Stross Cancels Trilogy: the NSA Is Already Doing It」。

很精彩的投影片,對資安有興趣的人都應該看一看。

TrueCrypt 官方以「不安全」的原因要求大家停用 TrueCrypt...

TrueCrypt 是相當有名的磁碟加密軟體,而官網上突然宣佈這些事情讓大家相當驚愕,今天打開 Zite 時發現所有人都是在講這件事情,已經震驚了整個資安領域...

Bruce Schneier 寫了一篇「TrueCrypt WTF」,猜測的可能性包括了:

Speculations include a massive hack of the TrueCrypt developers, some Lavabit-like forced shutdown, and an internal power struggle within TrueCrypt. I suppose we'll have to wait and see what develops.

不知道實際上發生了什麼事情,接下來應該會有更多消息出來,要盯著看了...

Small Characteristic DLP (Discrete Log Problem) 被解決

最近幾天在密碼學領域還蠻紅的話題 (雖然預印本在去年就發了),EUROCRYPT 2014 上發表對 DLP (Discrete Log Problem) 的重大進展。

論文在 arXiv 上可以取得:「A quasi-polynomial algorithm for discrete logarithm in finite fields of small characteristic」。

針對使用小特徵值的有限域 (finite field) 的 DLP 問題 (也就是 Zqk 上) 直接從 sub-exponential 降到 nO(logn) (quasi-polynomial)。最常見到的應該是 Z2n

雖然現有被廣泛使用的密碼系統在使用 DLP 建構時都是用 Zp,但這次的成果絕對寫下了 DLP cryptoanalysis 上的里程碑...

橢圓曲線密碼學...

Bruce Schneier 的 blog 上看到這篇推薦文章,介紹橢圓曲線密碼學的基礎:「Elliptic Curve Crypto Primer」。被推薦的文章是「A (relatively easy to understand) primer on elliptic curve cryptography」這篇。

當初在學校的時候學這個是靠著數學系代數的背景硬吃,看了一下這篇介紹,講得超級淺啊...

建議要再研究的人還是看看 1985 年的「Elliptic curve cryptosystems」,只有七頁,這篇就是 ECC 的起源。

Archives