HTTPSフィルタリングについて

Last-modified: 2023-12-28 (木) 17:18:26

Androidの非root広告ブロックアプリAdGuardを使ってChromeやアプリ内の広告を無料でスマホから消す方法


httpsとは

httpsは暗号化などの技術を用いて通常のhttpよりもセキュリティを高めた通信です。元々は個人情報のやりとりや決済サービスなどで利用されていましたが、現在では多くのウェブサイトがhttps化されており、その場合は広告もhttps通信で配信されています。また、アプリの広告もhttps通信で配信されることが多いです。

AdGuardのHTTPSフィルタリング

AdGuardは、ローカルVPNあるいはローカルHTTPプロキシとして通信を仲介し、通信内容に含まれている広告を除去しています。しかし、https通信は暗号化されているため、ウェブサイトと端末上のブラウザとの間でこの通信の内容を見たり、改変したりすることはできず、そのままでは広告ブロックできません。そこで、AdGuardでは証明書をインストールすることでHTTPSフィルタリングを可能にする機能が用意されています。

AdGuardのHTTPSフィルタリングでは、https通信を2つのhttps通信に分解して広告ブロックを行えるようにします。つまり、ウェブサイトと端末上のAdGuardとの間でhttps通信を確立し、端末上のAdGuardと端末上のブラウザとの間でhttps通信を確立します。AdGuardはhttps通信の仲介者ではなく当事者となるので、通信内容を確認して広告をブロックできるようになります。https通信の安全性に関わるため、端末に証明書をインストールしなければ、フィルタリングすることはできません。

証明書のインストールとアンインストール手順

設定→HTTPSフィルタリング→オン を選択すると証明書のインストール画面が表示されます。
Android11以降の場合は 次へ を2回タップしたあと手動で証明書をダウンロードして 暗号化と認証情報→ストレージからインストール→CA証明書 からインストールできます。
それ以外の場合は証明書名(好きな名前で構いません)を入力してOKをタップしてください。端末の設定により、警告画面や認証画面などが表示されることがあります。認証をしてしばらく待てばインストールが完了します。

証明書のアンインストールはAdGuardアプリの、HTTPSフィルタリング→セキュリティ証明書→削除から説明にしたがっておこなってください*1

ブロックできるようになる広告

HTTPSフィルタリングのメリットは、httpsを利用したウェブサイトでも広告ブロックができることです。とはいえ、HTTPSフィルタリングを使わないと一切ブロックできないというわけではありません。

ブラウザでの広告サーバー自体をブロックすることはHTTPSフィルタリングを使わなくても可能です。
HTTPSフィルタリングを使うとブロックできるようになる広告には次のようなものがあります。まず、一つのサーバーから広告もコンテンツも両方httpsで配信されている場合にはURLが秘匿されるため、ブロックするためにHTTPSフィルタリングが必要です。

つまり例えば example.com で https://ad.example.com のみが広告を配信している場合、HTTPSフィルタリングを使わなくても通信全体をブロックすることで広告ブロックが可能ですが https://example.com/ad で広告を配信している場合、HTTPSフィルタリングが必須になるということです。

また、要素非表示をするためには内容の改変(スタイルシートスクリプトの挿入など)が必要なのでHTTPSフィルタリングが必要です。
なのでURLがhttpsから始まるサイトの広告枠を消したいという場合はHTTPSフィルタリングが必要になります。

補足となりますがブラウザ以外のアプリは通常ユーザー証明書を信頼しないためHTTPSフィルタリングを利用することはできません。

安全性

HTTPSフィルタリングの最大のデメリットは、AdGuardに非常に大きな信頼を与える必要があることです。証明書をインストールすれば、AdGuardがhttps通信の内容を盗んだり改竄したりすることも理論的には可能になります。また、AdGuard社に悪意がなくとも、別の攻撃者がAdGuardの脆弱性を利用して情報を盗むということも考えられます。

またHTTPSフィルタリングの仕組み上、ブラウザ側からはサイトが使用する実際の証明書ではなくAdGuardによって発行された証明書しか確認できないというデメリットも存在します。

なお、HTTPSフィルタリングに限ったことではありませんが、セキュリティリスクを減らすため、AdGuardアプリは必ず公式サイトからダウンロードした最新のアプリを使いましょう。

まとめ

広告ブロックの必要性とセキュリティとを勘案して各自でオンにするかどうかを選択しましょう。


不具合等発生時には、「コメント欄」ではなく「不具合・広告相談所」に書き込んでください。
また、消えない広告については消えない広告の報告ご参照ください。

  • 今更だが「EV証明書のウェブサイトをフィルタ」という項目がどうにも意味が掴みにくい…ここでの「フィルタ」は該当サイトをHTTPSフィルタリングから除外するということかな? -- 2023-01-03 (火) 11:29:47
  • ↑自己解決「EV証明書のウェブサイトをHTTPSフィルタリングの対象にする」だ。説明文にあるように個人情報を扱うサイトに多いのに規定でオンなのが不思議 -- 2023-01-03 (火) 11:52:18
  • あー同じコードでブラウザの広告ブロックでは消えるのにAdGuardで消えない理由はそういうことだったのか -- 2023-04-10 (月) 00:03:21
  • 流石にhttps通信介は許せないよねぇ…捨てスマホとか風呂用スマホならガッツリ入れられるけど -- 2023-12-28 (木) 17:18:26

*1 信頼できる認証情報のユーザータブにある「AdGuard」とユーザー認証情報のインストールした証明書を両方削除で完全にアンインストールできる筈です