Androidの新しいバージョンには、必ず何らかのセキュリティ強化が伴います。今回の新バージョンであるAndroid Pでは、クラウドにアップロードする前にローカルでバックアップを暗号化できるようになったり、サードパーティ製アプリのトラフィックをHTTPSで暗号化するなど、例年よりも多くのセキュリティ強化が行われているようです。
クラウドバックアップのクライアント側暗号化
Android Pでは、バックアップをGoogleのクラウドにアップロードする前に、ユーザーが独自のPIN、パターン、またはパスワードで暗号化できるようになります。通常、クラウドに保存されるデータをPINやパターンで保護することは望ましくありません。なぜなら、これらのコードは脆弱で、簡単に総当たり攻撃で解読されてしまうからです。
スマートフォンでは、PINコードに加えて、デバイスのロック解除までに試行できる回数を制限し、ブルートフォース攻撃を大幅に遅らせる機能も備わっています。Googleは、ユーザーのバックアップの復号に一定回数失敗すると鍵を永久に破壊することでブルートフォース攻撃を防ぐよう設計された安全なハードウェアに暗号鍵を保管する新しいKey Vaultサービスを活用します。
ハードウェアセキュリティモジュール
2015年、Googleは「Project Vault」を発表すると約束しました。これは、microSDカードを小型のハードウェアセキュリティモジュール(HSM)に変えるというものでした。HSMは暗号鍵を保存・処理するデバイスで、通常は企業やクラウドサービスプロバイダーで使用されます。このプロジェクトは、Androidデバイスの強力なセキュリティを民主化する可能性がありました。しかし、発表直後にプロジェクトリーダーがGoogleを退職したため、このプロジェクトは行き詰まりを見せたようです。
Googleはこのプロジェクトを、スマートフォン(少なくとも、これを採用する意思のあるOEMのスマートフォン)に搭載される、強化版の「セキュアエンクレーブ」のようなものへと変貌させたようだ。HSMにはCPU、セキュアストレージ、真性乱数ジェネレーター、そして改ざんやアプリの不正サイドローディングを防ぐためのその他のメカニズムが搭載されている。
HSM は次のような暗号化アルゴリズムをサポートします。
RSA 2048AES 128および256ECDSA P-256HMAC-SHA256(8バイトから64バイトまでのキーサイズをサポート)Triple DES 168
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
ロック解除されたデバイスでのみ復号化を許可するオプション
Android Pでは、画面がロック解除されていない限りデバイスの暗号化を解除できないようにするunlockedDeviceRequiredフラグが導入されました。Googleは、画面がロックされている状態でもデバイスの暗号化を解除できること、そして悪意のある第三者が盗難されたデバイスからデータを盗む可能性があることをおそらく認識したと考えられます。
この機能はおそらくすべてのユーザーを対象としているはずですが、セキュリティ設定でチェックボックスをオンにするだけでは機能が有効にならないため、「true」に設定するフラグが設定されており、Googleはまだこの機能をすべてのユーザーが利用できるとは考えていないようです。また、Googleは、この機能の主なユーザーは企業顧客や医療業界のユーザーになる可能性があると述べています。
キーストアへの安全なキーのインポート
Google は開発者が暗号化されたキーをキーストア (暗号化キーを含むファイル) に安全にインポートできるようにもします。その場合、キーを使用してデータを復号化するときに、デバイスのメモリがそのキーの内容を読み取ることはできません。
この新しい機能により、HTTPS 暗号化や、秘密鍵をローカルに保存する必要がある他の形式の公開鍵暗号化を使用するサードパーティ アプリで使用される暗号化鍵が保護されるはずです。
Android 保護の確認
サードパーティの開発者は、「Protected Confirmation API」を使用できるようになります。これは、支払いの実行などの機密性の高い取引の承認または拒否を求めるプロンプトをユーザーの携帯電話に送信する安全なチャネルです。
ユーザーがトランザクションを承認すると、アプリは鍵付きハッシュメッセージ認証コード(HMAC)で保護された暗号署名を受け取ります。この署名は、ユーザーが実際にトランザクションを確認し承認したことを高い信頼性で示します。スマートフォンのTrusted Execution Environment(TEE)は、確認ダイアログとユーザー入力を保護するため、マルウェアによる乗っ取りを困難にします。
Wi-Fi Macのランダム化
Googleは、Wi-Fi MACアドレスのランダム化をユーザーのスマートフォンに導入する最後の企業の一つであるようです。iOSとWindows 10はすでにこの機能をサポートしています。技術的には、Android 5.0は数年前からこの機能のサポートを開始しましたが、深刻な欠陥があり、ほとんどのデバイスで無効になっているようです。
Android P では、接続する Wi-Fi ネットワークごとに新しい MAC アドレスを作成することでこの状況を変え、ユーザーが訪れたさまざまな場所で他人がユーザーを追跡することを困難にすると約束しています。
アプリのHTTPSがデフォルトで有効化
Android 8.0では、Googleは開発者にHTTPSを有効にしてHTTPトラフィックを制限するオプションを提供していましたが、これは必須ではありませんでした。Android Pでは、サードパーティの開発者はアプリでHTTPSをデフォルトで有効にする必要がありますが、暗号化されていないトラフィックを引き続き配信できる特定のドメインを指定することは可能です。
その他のセキュリティ機能
Android P では、アプリ向けに標準化された「BiometricPrompt」が提供されるため、ユーザーはアプリからの指紋プロンプトをより信頼できるようになります。
Google は開発者に、署名キーをローテーションできる新しい APK 署名スキーム (v3) も提供しました。
Android P は DNS over TLS もサポートするため、Google の 8.8.8.8 や Cloudflare の (よりプライバシーに配慮した) 1.1.1.1 などの DNS サービスを使用するときに、ISP や通信事業者がデータを収集する機会が少なくなります。
最近判明したように、Android P では、VPNService API を使用せずに、またユーザーからの明示的な同意なしに、アプリがユーザーのネットワーク アクティビティを監視することも制限されます。
もう一つのPでは、アプリが密かにマイクやカメラを使用することがなくなり、バックグラウンドでそのような操作を行った場合にはユーザーに通知が表示されます。これは最初から存在すべきだった機能の一つ、あるいは少なくとももっと早く登場すべきだった機能の一つです。
全体的に見て、Android P はセキュリティが大幅に強化されたように見えるが、セキュリティとプライバシーの姿勢を誇りとする Apple が次期 iOS バージョンで Google を上回るかどうかはまだ分からない。