索引
SafeBrowsing
(介面)BatchGetHashListsRequest
(訊息)BatchGetHashListsResponse
(訊息)FullHash
(訊息)FullHash.FullHashDetail
(訊息)GetHashListRequest
(訊息)HashList
(訊息)HashListMetadata
(訊息)HashListMetadata.HashLength
(列舉)LikelySafeType
(列舉)ListHashListsRequest
(訊息)ListHashListsResponse
(訊息)RiceDeltaEncoded128Bit
(訊息)RiceDeltaEncoded256Bit
(訊息)RiceDeltaEncoded32Bit
(訊息)RiceDeltaEncoded64Bit
(訊息)SearchHashesRequest
(訊息)SearchHashesResponse
(訊息)SizeConstraints
(訊息)ThreatAttribute
(列舉)ThreatType
(列舉)
SafeBrowsing
Safe Browsing API 可讓用戶端根據 Google 持續更新的不安全網頁資源清單,檢查網路資源 (最常見的網址)。
BatchGetHashLists |
---|
一次取得多份雜湊清單。 客戶經常需要取得多份雜湊清單,相較於使用一般的 Get 方法,我們較建議採用此方法多次。 這是標準批次 Get 方法 (由 https://google.aip.dev/231 定義),且 HTTP 方法也是 GET。 |
GetHashList |
---|
取得雜湊清單的最新內容。雜湊清單可能是威脅清單或非威脅清單,例如全域快取。 這是由 https://google.aip.dev/131 定義的標準 Get 方法,且 HTTP 方法也是 GET。 |
ListHashLists |
---|
列出雜湊清單。 在 V5 API 中,Google 絕不會移除此方法所傳回的雜湊清單。這可讓用戶端略過此方法,直接對需要的所有雜湊清單進行硬式編碼。 這是由 https://google.aip.dev/132 定義的標準 List 方法,而 HTTP 方法為 GET。 |
SearchHashes |
---|
搜尋符合指定前置字串的完整雜湊。 這是由 https://google.aip.dev/136 定義的自訂方法 (自訂方法是指在 Google 一般 API 開發命名法中具有自訂名稱的方法;這並不是指使用自訂 HTTP 方法)。 |
BatchGetHashListsRequest
要求同時取得多個雜湊清單的要求。
欄位 | |
---|---|
names[] |
必要欄位。特定雜湊清單的名稱。該清單「可能」為威脅清單,或可能是「全域快取」。名稱「不得」包含重複項目;如果名稱重複,用戶端就會收到錯誤訊息。 |
version[] |
用戶端現有的雜湊清單版本。如果這是用戶端首次擷取雜湊清單,該欄位應留空。否則,用戶端應提供先前從伺服器接收的版本。用戶端「不得」操控這些位元組。 用戶端不需要依照對應清單名稱的順序傳送版本。用戶端所傳送的要求中可能少於或更多的版本。然而,用戶端「不得」傳送多個名稱相同的版本;如果包含相同名稱,用戶端就會收到錯誤訊息。 記錄附註:在 API 的 V4 中,這個項目稱為 |
desired_hash_length |
傳回雜湊的所需雜湊前置字元長度 (以位元組為單位)。伺服器就會傳回符合指定長度的所有雜湊前置字串。 各種雜湊清單對 特別是 |
size_constraints |
每份清單的大小限制。如果省略,就不會有限制。請注意,這裡顯示的尺寸是單一清單,並未匯總所有清單的資料。 |
BatchGetHashListsResponse
包含多份雜湊清單的回應。
欄位 | |
---|---|
hash_lists[] |
雜湊清單的順序與要求中的指定順序相同。 |
FullHash
識別出一或多個相符項目的完整雜湊。
欄位 | |
---|---|
full_hash |
相符的完整雜湊。這是 SHA256 雜湊。長度為 32 個位元組。 |
full_hash_details[] |
未排序的清單。重複欄位,用於識別與這個完整雜湊相關的詳細資料。 |
FullHashDetail
比對完整雜湊的詳細資料。
前瞻相容性的重要須知:伺服器隨時可能加入新的威脅類型和威脅屬性;這些新增項目被視為小版本變更。根據 Google 的政策規定,Google 政策不得在 API 中公開次要版本號碼 (請參閱 https://cloud.google.com/apis/design/versioning 的說明,參閱版本管理政策的說明),因此用戶端必須準備好接收含有 ThreatType
列舉值或 ThreatAttribute
列舉值的 FullHashDetail
訊息,系統會將用戶端視為無效。因此,用戶端有責任檢查所有 ThreatType
和 ThreatAttribute
列舉值是否有效。如果有任何值視為無效,用戶端就「必須」忽略整個 FullHashDetail
訊息。
欄位 | |
---|---|
threat_type |
威脅類型。這個欄位永遠不會空白。 |
attributes[] |
未排序的清單。完整雜湊的其他屬性。可能為空白。 |
GetHashListRequest
要求取得雜湊清單的要求;雜湊清單可為威脅清單或非威脅清單,例如全域快取。
V5 新功能:為求明確,V4 中先前稱為 states
的 API 已重新命名為 version
。清單現已命名,平台類型和威脅項目類型已移除。目前無法讓多份清單有相同的威脅類型,或一份關注多種威脅類型的單一清單。用戶端可獲得指定所需雜湊長度的新功能。這是 V4 可變長度雜湊前置字串解答的一環,主要是發生在許多用戶端實作中,這是因為清單中的所有雜湊現在都只有單一長度,因此能更有效率地實作用戶端導入作業。限制已經過簡化,並移除了壓縮類型 (一律會套用壓縮)。
欄位 | |
---|---|
name |
必要欄位。此特定雜湊清單的名稱。這可能是威脅清單,也可能是全域快取。 |
version |
用戶端現有的雜湊清單版本。如果這是用戶端第一次擷取雜湊清單,這個欄位必須留空。否則,用戶端「必須」提供先前從伺服器接收到的版本。用戶端「不得」操控這些位元組。 第 5 版新功能:在 API 的第 4 版中,此功能稱為 |
desired_hash_length |
傳回雜湊的所需雜湊前置字元長度 (以位元組為單位)。伺服器就會傳回符合指定長度的所有雜湊前置字串。 各種雜湊清單對 |
size_constraints |
清單的大小限制。如果省略,就不會有限制。我們建議在所有具備處理能力、頻寬或儲存空間有限的裝置上皆使用限制條件。 |
HashList
以名稱識別的雜湊清單。
欄位 | |
---|---|
name |
雜湊清單的名稱。請注意,全域快取也只是雜湊清單,也可以在這裡指稱。 |
version |
雜湊清單的版本。用戶端「不得」操控這些位元組。 |
partial_update |
如果為 true,這是部分差異,包含根據用戶端現有項目新增和移除的項目。如果為 false,則表示完整的雜湊清單。 如果為 false,用戶端「必須」刪除這份雜湊清單所需的任何本機儲存版本。這表示用戶端所擁有的版本已嚴重過時,或系統認為用戶端資料已毀損。 為 true 時,用戶端必須套用累加原則再套用更新。 |
compressed_removals |
移除索引的 Rice-delta 編碼版本。由於每個雜湊清單肯定少於 2^32 個項目,因此系統會將索引視為 32 位元整數並進行編碼。 |
minimum_wait_duration |
用戶端至少應等候這段時間,才能再次取得雜湊清單。如果省略或為 0,用戶端「應該」立即擷取,因為指出伺服器有其他更新要傳送至用戶端,但因為用戶端指定的限制條件而無法傳送。 |
metadata |
雜湊清單相關中繼資料。這會由 |
聯集欄位 compressed_additions 。Rice-delta 編碼的新增項目版本。清單中所有新增內容的雜湊前置字元長度都相同。這可能是用戶端傳送的 desired_hash_length ,或是用戶端省略該欄位時,伺服器選擇的值。compressed_additions 只能採用下列其中一種設定: |
|
additions_four_bytes |
4 位元組新增的內容。 |
additions_eight_bytes |
8 位元組新增項目。 |
additions_sixteen_bytes |
16 位元組新增項目。 |
additions_thirty_two_bytes |
32 位元組新增項目。 |
聯集欄位 checksum 。這是套用提供的更新後,資料庫中所有雜湊的已排序清單總和檢查碼。這是「oneof」欄位,可讓系統接受多個雜湊演算法。伺服器也可能省略這個欄位 (在未提供更新的情況下),指出用戶端應使用現有的總和檢查碼。checksum 只能是下列其中一項: |
|
sha256_checksum |
所有雜湊的排序清單,並使用 SHA256 再次進行雜湊處理。 |
HashListMetadata
特定雜湊清單的相關中繼資料。
欄位 | |
---|---|
threat_types[] |
未排序的清單。如果不是空白,就會指定雜湊清單是一種威脅清單,而此雜湊會列出與雜湊或雜湊前置字串相關的威脅類型。如果該項目不代表威脅,則為空白;也就是說,該項目代表可能安全無虞的類型。 |
likely_safe_types[] |
未排序的清單。如果不是空白,就會指定雜湊清單代表一份可能的安全雜湊清單,並列舉這些雜湊可能安全無虞的方法。這個欄位與 Threat_types 欄位互斥。 |
mobile_optimized |
這份清單是否針對行動裝置 (Android 和 iOS) 進行最佳化。 |
description |
這份清單的清楚易懂說明。以英文書寫。 |
supported_hash_lengths[] |
此雜湊清單支援的雜湊長度。每個雜湊清單至少支援一個長度。所以這個欄位不會空白。 |
HashLength
雜湊清單中的雜湊長度。
列舉 | |
---|---|
HASH_LENGTH_UNSPECIFIED |
未指定長度。伺服器不會在回應用戶端時傳回這個值 (在 supported_hash_lengths 欄位),但用戶端可以將這個值傳送至伺服器 (位於 desired_hash_length 欄位),在此情況下,伺服器會自動挑選一個值。用戶端「應」讓伺服器選擇值。 |
FOUR_BYTES |
每個雜湊均為四位元組的前置字串。 |
EIGHT_BYTES |
每個雜湊均為八位元組的前置字串。 |
SIXTEEN_BYTES |
每個雜湊均為十六個位元組的前置字串。 |
THIRTY_TWO_BYTES |
每個雜湊均為 32 個位元組的完整雜湊。 |
LikelySafeType
可能安全網站類型。
請注意,SearchHashesResponse
刻意不含 LikelySafeType
。
列舉 | |
---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
不明。 |
GENERAL_BROWSING |
這個網站應該足以進行一般瀏覽。又稱為全域快取。 |
CSD |
此網站可能安全無虞,因此不需要執行用戶端偵測模型或密碼保護檢查。 |
DOWNLOAD |
這個網站可能安全無虞,因此不必檢查從該網站的下載內容。 |
ListHashListsRequest
要求列出可用雜湊清單的要求。
欄位 | |
---|---|
page_size |
要傳回的雜湊清單數量上限。服務傳回的產品數量可能會少於這個值。如果未指定,伺服器會選擇頁面大小,尺寸可能大於雜湊清單的數量,因此不需要進行分頁。 |
page_token |
屬於接收自前一個 |
ListHashListsResponse
包含雜湊清單中繼資料的回應。
欄位 | |
---|---|
hash_lists[] |
雜湊清單以任意順序排列。系統只會納入雜湊清單的相關中繼資料,不會納入內容。 |
next_page_token |
可做為 |
RiceDeltaEncoded128Bit
與 RiceDeltaEncoded32Bit
相同,差別在於前者會對 128 位元數字進行編碼。
欄位 | |
---|---|
first_value_hi |
編碼資料中第一個項目的上方 64 位元 (雜湊)。如果這個欄位空白,那麼上限的 64 位元全為零。 |
first_value_lo |
編碼資料中第一個項目 (雜湊) 的下限 (64 位元)。如果這個欄位留空,64 位元就會是零。 |
rice_parameter |
Golomb-Rice 參數。這個參數保證介於 99 到 126 (含) 之間。 |
entries_count |
已編碼資料中經過差異處理的項目數量。如果只編碼了一個整數,這個值將會是零,而單一值也會儲存在 |
encoded_data |
使用 Golomb-Rice 編碼器進行編碼的編碼差異。 |
RiceDeltaEncoded256Bit
與 RiceDeltaEncoded32Bit
相同,差別只在於編碼 256 位元數字。
欄位 | |
---|---|
first_value_first_part |
編碼資料中第一個項目的前 64 位元 (雜湊)。如果這個欄位空白,前 64 位元全為零。 |
first_value_second_part |
編碼資料中第一個項目的 65 到 128 位元 (雜湊)。如果這個欄位留空,65 到 128 位元都會全為零。 |
first_value_third_part |
編碼資料中第一個項目的 129 到 192 位元 (雜湊)。如果這個欄位留空,129 到 192 位元的值都會是零。 |
first_value_fourth_part |
編碼資料中第一個項目 (雜湊) 的最後 64 位元。如果這個欄位空白,最後 64 位元則為零。 |
rice_parameter |
Golomb-Rice 參數。此參數保證介於 227 到 254 (含) 之間。 |
entries_count |
已編碼資料中經過差異處理的項目數量。如果只編碼了一個整數,這個值將會是零,而單一值也會儲存在 |
encoded_data |
使用 Golomb-Rice 編碼器進行編碼的編碼差異。 |
RiceDeltaEncoded32Bit
Rice-Golomb 編碼的資料。用於雜湊或移除索引。我們保證此處的每個雜湊或索引長度皆相同,且長度為 32 位元。
一般而言,如果我們按照字母順序排序所有項目,會發現較高順序的變動頻率通常不會像較低點的一樣高。也就是說,如果我們也採用項目之間的相鄰差異,則高排序位元很可能是 0。這種攻擊手法是藉由選擇特定數目的位元來入侵這種極高的可能性,所有比這個數字更重要,都不是零,因此我們使用一元編碼。請參閱 rice_parameter
欄位。
歷史附註:此 API 的第 4 版首次使用 Rice-delta 編碼。V5 中做了兩個重大的改善:首先,Rice-delta 編碼現可使用超過 4 個位元組的雜湊前置字元;其次,編碼資料現在視為大端子,避免花費昂貴的排序步驟。
欄位 | |
---|---|
first_value |
編碼資料中的第一個項目 (雜湊或索引),或者如果只編碼一個雜湊前置字元或索引,則會是該項目的值。如果此欄位為空白,則項目為 0。 |
rice_parameter |
Golomb-Rice 參數。此參數保證介於 3 到 30 (含) 之間。 |
entries_count |
已編碼資料中經過差異處理的項目數量。如果只編碼了一個整數,這個值將會是零,而單一值也會儲存在 |
encoded_data |
使用 Golomb-Rice 編碼器進行編碼的編碼差異。 |
RiceDeltaEncoded64Bit
與 RiceDeltaEncoded32Bit
相同,差別在於前者會對 64 位元數字進行編碼。
欄位 | |
---|---|
first_value |
編碼資料中的第一個項目 (雜湊),或者如果只編碼一個雜湊前置字串,則該項目的值。如果此欄位為空白,則項目為 0。 |
rice_parameter |
Golomb-Rice 參數。此參數保證介於 35 到 62 (含) 之間。 |
entries_count |
已編碼資料中經過差異處理的項目數量。如果只編碼了一個整數,這個值將會是零,而單一值也會儲存在 |
encoded_data |
使用 Golomb-Rice 編碼器進行編碼的編碼差異。 |
SearchHashesRequest
用戶端問題搜尋特定雜湊前置字串的要求。
此操作僅可搜尋威脅清單,不會搜尋非威脅清單,例如全域快取。
V5 新功能:用戶端不需要在本機資料庫中指定 ClientInfo
或雜湊清單的狀態。這麼做是為了進一步保障隱私權。此外,客戶不需要傳送他們感興趣的威脅類型。
欄位 | |
---|---|
hash_prefixes[] |
必要欄位。要查詢的雜湊前置字串。用戶端不得傳送超過 1000 個雜湊前置字元。不過,按照網址處理程序的指示,用戶端「不」需要傳送超過 30 個雜湊前置字元。 目前,每個雜湊前置字串長度都必須剛好是 4 個位元組。這東西在未來會很放鬆。 |
filter |
選用設定。如果用戶端有意篩選,例如只擷取特定類型的威脅,您可以指定這個條件。如果省略,系統會傳回所有相符的威脅。因此,強烈建議您省略這項設定,讓安全瀏覽功能提供最完善的保護。 篩選器是使用 Google 一般運算語言指定,如需一般範例及範例,請造訪 https://github.com/google/cel-spec。以下列舉幾個適用的具體範例: 篩選器「 篩選器「 |
SearchHashesResponse
搜尋威脅雜湊後傳回的回應。
如果找不到任何結果,伺服器會傳回「OK」狀態 (HTTP 狀態碼 200),且 full_hashes
欄位空白,不會傳回 NOT_FOUND 狀態 (HTTP 狀態碼 404)。
V5 新功能:FullHash
和 FullHashDetail
有所區隔。如果雜湊值代表某個網站有多個威脅 (例如惡意軟體和 SOCIAL_ENGINEERING),則完整的雜湊值在 V4 中不需要傳送兩倍。此外,快取持續時間已簡化為單一 cache_duration
欄位。
欄位 | |
---|---|
full_hashes[] |
未排序的清單。找到的完整雜湊清單 (未排序)。 |
cache_duration |
用戶端快取持續時間。用戶端「必須」將這段時間長度新增至目前時間,才能決定到期時間。接著,無論回應中傳回多少完整雜湊,到期時間都會套用至用戶端在要求中查詢的每個雜湊前置字串。即使伺服器未傳回特定雜湊前置字元的完整雜湊,用戶端也「必須」快取這一點。 如果只有 重要事項:用戶端「不得」假設伺服器針對所有回應傳回相同的快取時間長度。伺服器可以視情況為不同的回應選擇不同的快取持續時間。 |
SizeConstraints
雜湊清單的大小限制。
欄位 | |
---|---|
max_update_entries |
項目數的大小上限。更新作業包含的項目不會超過這個值,但有可能更新包含的項目數量可能會少於這個值。這個值不得小於 1024。如果省略或設為零,就不會設定更新大小限制。 |
max_database_entries |
設定用戶端對於清單本機資料庫內有多少項目數量上限。(伺服器「可能」導致用戶端儲存的項目數量少於這個數量)。如果省略或設為零,系統就不會設定資料庫大小限制。 |
ThreatAttribute
威脅的屬性。這些屬性可能會讓特定威脅產生額外的意義,但不會影響威脅類型。舉例來說,某個屬性指定的信賴水準可能較低,但其他屬性可能會指定高信賴水準。日後可能會新增更多屬性。
列舉 | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
未知的屬性。如果伺服器傳回這個參數,用戶端應完全忽略包含的 FullHashDetail 。 |
CANARY |
表示 Threat_type 不應用於強制執行。 |
FRAME_ONLY |
表示 Threat_type 只可用於對頁框強制執行。 |
ThreatType
威脅類型。
列舉 | |
---|---|
THREAT_TYPE_UNSPECIFIED |
未知的威脅類型。如果伺服器傳回這個參數,用戶端應完全忽略包含的 FullHashDetail 。 |
MALWARE |
惡意軟體威脅類型。只要軟體或行動應用程式會刻意危害電腦、行動裝置、這些裝置執行的軟體或其使用者,就屬於惡意軟體。惡意軟體會帶來各種形式的惡意行為,包括未經使用者同意擅自安裝軟體,以及安裝病毒等有害軟體。 詳情請參閱這裡。 |
SOCIAL_ENGINEERING |
社交工程威脅類型。社交工程網頁會假裝代表第三方,意圖混淆觀眾進行操作,導致觀眾僅信任第三方的真人服務專員。網路釣魚是一種社交工程,會誘騙觀眾執行提供個人資訊 (如登入憑證) 的特定動作。 詳情請參閱這裡。 |
UNWANTED_SOFTWARE |
垃圾軟體威脅類型。垃圾軟體是指未遵循 Google 軟體規範,但非惡意軟體的軟體。 |
POTENTIALLY_HARMFUL_APPLICATION |
Google Play 安全防護為 Play 商店使用的可能有害應用程式威脅類型。 |