2014-09-26 102 views

回答

12

secure_compare doctring:

比較兩個字符串,同時防止Timing Attacks

通過迫使每一個人物的評價攻擊者無法利用它了猜測,其中的時間差異發生 - 在第一次差異時立即返回的「正常」實施,這將是可能的。

語義計數器result &= c1 == c2(成功時,他們都是一樣的)實際上是return c1 != c2(失敗/中止的第一個區別),而不是提出條件的問題。

現在,result &= c1 == c2相同result = result & (c1 == c2),其中&(也稱爲bitwsie-AND)是嚴格邏輯與過布爾。這意味着當且僅當的結果先前爲真且同情也爲真時,結果累加器的使用纔會保持爲真

+0

我真的會對裝配產生興趣,它的設置方式看起來好像可以減少爲每個for循環的半原子函數。這將有助於進一步保持行動線程安全的安全。 – 2014-09-26 19:26:51

+0

它仍然使它在某個時刻編譯。所以它仍然是一個可行的理由去思考。 – 2014-09-26 19:28:49

+0

@JeffLangemeier:由於字符串是不可變的,因此首先沒有線程安全問題。 – Blckknght 2014-09-26 19:28:56

相關問題