尤川豪   ·  4年前
445 貼文  ·  275 留言

驗證時 使用普通的字串比對寫法 會有資安問題?

字串比對 ... 字串比對 ...

今天留意到 php 有個函式叫 hash_equals ...

跟驗證相關的字串 用來比對時要使用 hash_equals?

直接用普通的字串比對寫法 會有資安問題?

仔細一查還真是如此 ...

https://security.stackexchange.com/questions/83660/simple-string-comparisons-not-secure-against-timing-attacks

原因是 hacker 可以藉由字串比對被拒絕的速度 知道是錯在字串的哪個大概位置 ...

越快得到 response 代表越前面就出錯 ... 越慢得到 response 代表越後面出錯 ...

本來暴力破解要猜 (可能字元^長度)的次數 ... 變成 (可能字元*長度)的次數 ...

我今天才知道 ...

學無止盡 ......

  分享   共 978 次點閱
按了喜歡:
共有 0 則留言
還沒有人留言。歡迎分享您的觀點、或是疑問。
您的留言
尤川豪
445 貼文  ·  275 留言

Devs.tw 是讓工程師寫筆記、網誌的平台。隨手紀錄、寫作,方便日後搜尋!

歡迎您一起加入寫作與分享的行列!

查看所有文章