01 / 網絡安全原理
重播攻擊利用的是舊訊息仍然有效
攻擊者不一定要看懂或修改加密內容,只要截取一段曾被系統接受的請求,稍後原封不動再次送出,便可能造成重複操作。
傳輸加密能防止旁觀者直接讀取內容,但若合法客戶端、惡意程式或日誌洩漏可重用訊息,仍要有新鮮度檢查。
因此系統需要分辨『這段訊息的簽章正確』與『這段正確訊息是否已經用過』,兩者是不同問題。
02 / 網絡安全原理
Nonce 是一次性且難以預測的值
Nonce 源自 number used once,意思是只使用一次的值。伺服器可為每個操作產生足夠隨機或唯一的 nonce。
客戶端把 nonce、操作內容與其他必要欄位一起簽署或認證。任何一項被改動,驗證便應失敗。
系統接受後將 nonce 標記為已使用;相同請求再次到達,即使簽章仍正確,也因 nonce 重複而被拒絕。
Nonce 若太短、可預測或會重複,攻擊者可能猜中尚未使用的值。設計要有足夠熵與明確生命週期。
03 / 網絡安全原理
時間戳可限制窗口但不能單獨保證唯一
請求常同時帶時間戳,伺服器只接受例如五分鐘內的訊息。這能縮短可重播窗口,但五分鐘內同一請求仍可能被送多次。
把時間戳與 nonce 結合,可同時限制時效並識別重複。伺服器還要處理裝置時鐘偏差與記錄保存期限。
只依連續編號也有風險:若編號容易猜測且沒有簽章保護,攻擊者可能構造下一個值。唯一性與真實性要一起設計。
伺服器還要把 nonce 綁定特定帳戶與操作內容。否則某個情境取得的有效值,可能被錯誤搬到另一個情境使用。
04 / 網絡安全原理
重試機制要配合冪等鍵
網絡不穩時,正常客戶端也可能重送請求。若系統一律把重複視為新操作,使用者可能得到兩筆結果。
冪等鍵讓相同業務操作的重試返回原有結果,而不是再次執行;nonce 則可用於認證層防止未授權重播。
兩者目的相關但不完全相同。工程文件應說明唯一值由誰產生、保存多久、重試返回甚麼,以及衝突如何處理。
前端顯示『請勿重複按』只是體驗提示,不能取代伺服器端去重。安全界線必須在權威系統內執行。
05 / 網絡安全原理
看到技術名詞仍要核對實作證據
平台聲稱使用 nonce,不代表所有請求都正確綁定內容、簽章與帳戶。評估時需看技術範圍、測試方法與版本。
本站不測評或認證任何平台。若帳戶出現重複操作、陌生工作階段或驗證提示,應停止使用、保存紀錄並從可信渠道求助。
本文僅供知識分享,請理性看待;本站不接受投注、不提供註冊或博彩平台連結。技術防護不能取代時間、支出與帳戶安全界線。
使用者端可做的基本防護包括更新裝置、避免安裝不明擴充功能,以及不把完整請求、權杖或除錯紀錄公開貼到聊天群組。