如果用戶端選擇在此模式下使用 Google 安全瀏覽 v5,用戶端行為會與 v4 Update API 類似,但會使用 v5 的改良版 API 介面。用戶端會在本地資料庫中維護一組威脅清單,這些清單的格式為主機尾碼/路徑前置字元網址運算式的 SHA256 雜湊前置字元。每當用戶端想檢查特定網址時,系統就會使用本機威脅清單執行檢查。如果比對相符,用戶端會連線至伺服器,繼續進行檢查。
如上所述,用戶端也會維護本機快取,不必儲存在永久儲存空間中。
本機威脅清單網址檢查程序
如果用戶端使用「即時模式」程序,並傳回值 UNSURE,也會執行這項程序。
這項程序會採用單一網址 u,並傳回 SAFE 或 UNSAFE。
- 假設
expressions是網址u產生的後置字串/前置字串運算式清單。 - 假設
expressionHashes是清單,其中的元素是expressions中每個運算式的 SHA256 雜湊。 - 假設
expressionHashPrefixes是清單,其中的元素是expressionHashes中每個雜湊的前 4 個位元組。 - 針對每個
expressionHashPrefix的expressionHashPrefixes:- 在本地快取中查找
expressionHashPrefix。 - 如果找到快取項目:
- 判斷目前時間是否晚於到期時間。
- 如果大於:
- 從本機快取中移除找到的快取項目。
- 繼續使用迴路。
- 如果不是較大的值:
- 從
expressionHashPrefixes移除這個特定expressionHashPrefix。 - 檢查快取項目中是否含有
expressionHashes內的對應完整雜湊。 - 如果找到,則傳回
UNSAFE。 - 如果找不到,請繼續執行迴圈。
- 從
- 如果找不到快取項目,請繼續執行迴圈。
- 在本地快取中查找
- 針對每個
expressionHashPrefix的expressionHashPrefixes:- 在當地威脅清單資料庫中查詢
expressionHashPrefix。 - 如果系統在本地威脅清單資料庫中找不到
expressionHashPrefix,請從expressionHashPrefixes中移除。
- 在當地威脅清單資料庫中查詢
- 使用 RPC SearchHashes 或 REST 方法 hashes.search,將
expressionHashPrefixes傳送至 Google 安全瀏覽 v5 伺服器。如果發生錯誤 (包括網路錯誤、HTTP 錯誤等),請傳回SAFE。否則,請將回應設為從 SB 伺服器收到的response,其中包含完整雜湊清單,以及識別威脅性質 (社交工程、惡意軟體等) 的輔助資訊,還有快取到期時間expiration。 - 針對每個
fullHash的response:- 將
fullHash連同expiration插入本機快取。
- 將
- 針對每個
fullHash的response:- 假設
isFound是在expressionHashes中尋找fullHash的結果。 - 如果
isFound為 False,請繼續執行迴圈。 - 如果
isFound為 True,則傳回UNSAFE。
- 假設
- 回程日期:
SAFE。