程式狂想筆記

一個攻城師奮鬥史

0%

API 防重放小記(replay attack)

最近思考怎麼預防尾造 API 回傳內容,剛好看到這幾篇文章
順便整理一下

簡單來說就是要做 sign 簽章,兩邊用一樣私鑰把內容加密(做簽章),資料傳到Server 再把私私鑰做簽章,看sign傳過來的值有沒有一樣

這時候我有想到兩邊問題,私鑰被知道不就無解,任何人不就能使用
這邊防禦是以中間人為考量,並非討論App是否被破解取得私鑰
也有想過用公鑰、私鑰做一次加密解密,還時會被APP解析破解取得加密密碼

這時候加入 token 能有效杜絕這個問題(不是開放API的話)
api Token 是無狀態,自然可以解決上面問題
session/token (http是无状态协议) - 簡書