Brute-Force-Attack
協處理器 (Intel Phi) 是否對現代關鍵拉伸功能構成威脅?
現代密鑰拉伸函式(基於密碼的密鑰派生函式,也用於密碼散列)難以記憶以減輕並行攻擊,據我所知,這運作良好。去年有密碼雜湊競賽(PHC 2015),其中提出了新的密碼雜湊函式,Argon2 將成為新的推薦密碼雜湊。
在過去幾年中,英特爾推出了其至強融核協處理器,這些設備具有中等數量的核心和大記憶體。乍一看,這似乎是對這些記憶體硬 KDF 進行硬體加速字典攻擊(或蠻力)的完美武器。
真的可行嗎?如何?
如果是,有沒有辦法模擬這種架構在此類任務上的行為?
據我了解,像scrypt和Argon2這樣的記憶硬函式的關鍵思想是根據時區積來分析攻擊者的成本。時間是攻擊者花費的時間。面積是他們用於攻擊的矽片數量。攻擊者將分配給定區域,但一旦該數量固定:
- 更多核心意味著每個核心專用的記憶體更少;
- 更多專用於每個核心的記憶體意味著更少的核心。
這種分析應該仍然適用於您提出的協處理器。由於它們為每個核心提供大量記憶體,因此不可避免地會以更少的核心為代價,否則將無法放置在同一矽片區域中。但是如果函式的時域乘積成本分析是正確的,攻擊者應該無法通過這種方式獲得優勢;每個核心從其慷慨的記憶體分配中獲得的速度應該會導致並行度的相應損失。
順便注意一下:
- 記憶體複雜度意味著時間複雜度(使用記憶體需要時間)。因此,使用大量記憶體的算法必然會(至少)成比例地變慢。
- Argon2 支持或多或少獨立調整記憶體和時間成本。即,對於給定的記憶體量,我們總是可以進一步提高時間成本以阻止高記憶體但低並行度的攻擊者。