這種方法的優點是認證雙方不需要時間同步,並且雙方都記得所使用的隨機數。如果在消息中發現任何以前使用過的隨機數,則認為是重放攻擊。缺點是使用的隨機數需要額外保存。如果記錄周期長,保存和查詢的成本就大。
這種方法的優點是不需要保存額外的信息。缺點是雙方需要精確的時間同步,同步越好越不容易被攻擊。但是當系統龐大,跨越地域廣時,要實現精確的時間同步並不容易。(受網絡條件和客戶端的限制)
即雙方在消息中增加壹個遞增的整數,只要收到不連續的序列號消息(太大或太小),就認為存在重放威脅。這種方法的優點是不需要時間同步,保存的信息量比隨機數法小。缺點是壹旦攻擊者成功解密消息,就可以得到序列號,從而通過每次遞增序列號來欺騙認證終端。
Nonce是只有效壹次的隨機字符串,要求每次參數都不壹樣,所以這個參數壹般和時間戳有關。為了方便起見,我們在這裏直接使用時間戳作為種子,隨機生成壹個16位的字符串作為nonce參數。
每個HTTP請求,都需要添加時間戳參數,然後用其他參數對時間戳進行數字簽名。因為正常的HTTP請求到達服務器的時間絕不會超過60s,所以服務器收到HTTP請求後,首先判斷時間戳參數與當前時間相比是否超過60s,如果超過60s,則認為是非法請求。
我們防止重放的常見機制是由時間戳和nonce構成的重放機制。
每個請求的時間戳不能超過當前時間特定的時間(60秒)。這樣,即使請求被攔截,也只能在60秒內進行重放攻擊,過期就失效了。
但是攻擊者還有60秒的攻擊時間。所以我們需要添加壹個nonce隨機數來防止在60秒內重復請求。
Chrome現在支持DNSOVERHTTPS加密服務。
在最新的GoogleChromeV83 MeV 83穩定版中,基於HTTPS的DNS (DNS-over-HTTPS)正式上線。
HTTPS上的DNS是壹種有爭議的互聯網隱私技術,它可以加密DNS連接並將其隱藏在常見的HTTPS流量中,從而使第三方(如ISP)無法知道您正在瀏覽的網站。