概要

Safe Browsing API とは何ですか?

次のセーフ ブラウジング API は、非商用目的でのみ使用できます。商用目的(「販売または収益創出目的」)で API を使用して悪意のある URL を検出する必要がある場合は、Web Risk API をご覧ください。

Safe Browsing API(v4)を使用すると、クライアント アプリケーションで、常に更新される Google の安全でないウェブリソースのリストに照らし合わせて URL をチェックできます。安全でないウェブリソースの例としては、ソーシャル エンジニアリング サイト(フィッシング サイトや詐欺サイト)や、マルウェアまたは望ましくないソフトウェアをホストするサイトがあります。セーフ ブラウジング リストに記載されている URL は安全ではないとみなされます。

URL がセーフ ブラウジング リストにあるかどうかを判断するために、クライアントは Lookup API(v4)または Update API(v4)を使用できます。

Lookup API(v4)

Lookup API を使用すると、クライアント アプリケーションが Google セーフ ブラウジング サーバーにステータスを確認するための URL を送信します。この API は Update API の複雑さを回避できるため、シンプルで使いやすい API です。

メリット:

  • シンプルな URL チェック: HTTP POST リクエストを実際の URL とともに送信すると、サーバーは URL の状態(安全または安全でない)を返します。

デメリット:

  • プライバシー: URL はハッシュ化されないため、サーバーが検索する URL を認識します。
  • 応答時間: すべての検索リクエストがサーバーによって処理されます。検索の応答時間は保証されません。

クエリされた URL のプライバシーをあまり気にせず、ネットワーク リクエストによるレイテンシを許容できる場合は、Lookup API を使用することをおすすめします。

Update API(v4)

Update API を使用すると、クライアント アプリケーションで Safe Browsing リストの暗号化バージョンをダウンロードして、URL のローカル クライアントサイド チェックを行うことができます。Update API は、高頻度で低遅延の判定を必要とするクライアント向けに設計されています。この API は、複数のウェブブラウザやソフトウェア プラットフォームで、多数のユーザーを保護するために使用されています。

メリット:

  • プライバシー: サーバーとのデータ交換頻度が低く(ローカルのハッシュ プレフィックスと一致した後のみ)、ハッシュ化された URL を使用するため、サーバーはクライアントがクエリした実際の URL がわかりません。
  • 応答時間: セーフ ブラウジング リストのコピーを含むローカル データベースを維持します。URL を確認するたびにサーバーにクエリする必要はありません。

デメリット:

  • 実装: ローカル データベースを設定し、セーフ ブラウジング リストのローカルコピーをダウンロードして定期的に更新する必要があります(可変長の SHA256 ハッシュとして保存されます)。
  • 複雑な URL のチェック: URL の正規化、サフィックス/プレフィックス式の作成、SHA256 ハッシュの計算(セーフ ブラウジング リストのローカルコピーとサーバーに保存されたセーフ ブラウジング リストを比較するため)を行う方法を認識している必要があります。

クエリされた URL のプライバシーやネットワーク リクエストによって誘導されるレイテンシが心配な場合は、Update API を使用します。