天天看點

API設計中防重播攻擊

HTTPS資料加密是否可以防止重播攻擊?

否,加密可以有效防止明文資料被監聽,但是卻防止不了重播攻擊。

防重放機制

我們在設計接口的時候,最怕一個接口被使用者截取用于重播攻擊。重播攻擊是什麼呢?就是把你的請求原封不動地再發送一次,兩次...n次,一般正常的請求都會通過驗證進入到正常邏輯中,如果這個正常邏輯是插入資料庫操作,那麼一旦插入資料庫的語句寫的不好,就有可能出現多條重複的資料。一旦是比較慢的查詢操作,就可能導緻資料庫堵住等情況。

付款接口,或者購買接口會造成損失

需要采用防重放的機制來做請求驗證。

timestamp+nonce

服務端