Android 11 開発者プレビュー: すべての新しいプライバシーとセキュリティ機能

click fraud protection

Google は、Pixel 2、3、3a、4 向けに最初の Android 11 Developer Preview をリリースしました。 ここでは、彼らが発表した新しいプライバシーとセキュリティ機能をすべて紹介します。

予定より早く、Google 本日、最初の開発者プレビューがリリースされました Android OS の次のバージョンである Android 11。 システム イメージは Pixel 2、Pixel 3、Pixel 3a、Pixel 4 で利用できますが、これらのいずれかを所有していない場合は、 デバイスの場合は、Android Studio エミュレータまたは汎用システムを介して開発者プレビューを試すこともできます。 画像。 Googleは、エキサイティングな新しいユーザー機能と開発者機能のほとんどを大規模な発表のために保存していますが、 Google I/O 2020にて、同社は、最初の開発者プレビューで利用可能な多数の変更点を共有しました。 Google が Android 11 Developer Preview 1 で発表したプライバシーとセキュリティ関連の新機能の概要を以下に示します。

Android 11 開発者プレビュー 1 - 新しいプライバシー機能

ワンタイム許可アクセス

Android は、アプリがその許可システムを通じてアクセスできるデータの種類を制御します。 Android 6.0 Marshmallow より前は、アプリはインストール時に権限の付与を要求していたため、ユーザーはアプリをインストールする前に、アプリに特定の権限を与えても問題ないかどうかを判断する必要がありました。 Android 6.0 Marshmallow では、位置情報へのアクセス、マイクへのアクセス、カメラへのアクセスなど、機密性の高いアクセス許可の選択セットに対する実行時アクセス許可が導入されました。 実行時権限はインストール後にのみ付与でき、それらを要求するアプリは、システムが提供するダイアログを通じてユーザーにアクセスを許可するよう求める必要があります。 最後に、Android 10 では、Google は、アプリがアクティブに使用されている間のみユーザーにアクセスを許可する特別なバージョンのランタイム権限を導入しました。 ただし、Google は位置情報の許可に「アプリの使用中」オプションのみを導入しました。

Android 11 では、Google はユーザーに、カメラやマイクへのアクセスなど、他の機密性の高いアクセス許可をさらにきめ細かく制御できるようにします。 同社は、Android 11 Developer Preview に新しい「ワンタイム許可」機能を導入しました。 アプリが 前景。 ユーザーがアプリから離れると、アプリはその権限にアクセスできなくなるため、再度リクエストする必要があります。

範囲指定されたストレージの変更

Android 10 ベータ 2, Googleは、アプリがAndroidの外部ストレージにアクセスする方法の根本的な変更を提案しました。 (ここでの外部ストレージとは、/data/media にあるユーザーおよび他のアプリに表示されるデータとして定義されます。) 「Scoped Storage」と呼ばれる変更は、READ_EXTERNAL_STORAGE の過度に広範な使用を排除することを目的としていました。 許可。 Google Play ストア上の非常に多くのアプリが、ユーザーがプライベートなドキュメント、写真、ビデオ、その他のファイルを保存している外部ストレージ全体へのアクセスを要求し、許可されていました。 スコープ付きストレージを使用すると、アプリにはデフォルトでプライベート データ ディレクトリを表示する機能のみが付与されます。 アプリが対象範囲ストレージの適用の下で READ_EXTERNAL_STORAGE 権限を保持している場合、MediaStore API を介してアクセスできる特定のメディア ファイルを表示できます。 あるいは、アプリはストレージ アクセス フレームワークを使用して、ユーザーがシステム ファイル ピッカーを通じてファイルを手動で選択できるようにすることもできます。 最後に、ファイル マネージャーなど、外部ストレージへの広範なアクセスを必要とするアプリは、ストレージ アクセス フレームワークを使用してリクエストを行うことができます。 ユーザーがアプリに外部ストレージのルート ディレクトリへのアクセスを許可することで、そのすべてのサブディレクトリへのアクセスが許可されます。 あまりにも。

対象範囲付きストレージの強制は、Android 10 のすべてのアプリに対して有効になるように設定されていましたが、 開発者からのフィードバックと批判を経て、 グーグル 変更を緩和した、API レベル 29 (Android 10) をターゲットとするアプリにのみ必要です。 2020 年 8 月 1 日以降、Google Play ストアに送信されるすべての新しいアプリは Android 10 をターゲットにする必要があり、2020 年 11 月 1 日以降の既存のアプリのすべてのアップデートにも同じことが当てはまります。 さらに、Android 11 では、ファイル マネージャー アプリの開発者 申告書を提出しなければならない 外部ストレージへの広範なアクセスを許可するよう Google に通知します。 承認されると、ファイル マネージャー アプリは MediaStore をフィルターされていないビューで表示されますが、外部アプリ ディレクトリにはアクセスできなくなります。

さらに、Google は Android 11 Developer Preview の Scoped Storage に他の変更を導入しました。 アプリは、生のファイル パスを取得し、MediaStore 内のメディア ファイルのバッチ編集操作を実行することをオプトインできます。 DocumentsUI が更新され、ユーザーにとってよりシンプルになりました。 これらの変更は、 Android デベロッパー サミット 昨年のリリースでは、今後の Android 11 リリースで Scoped Storage がさらに強化されることが約束されています。

Android 11 開発者プレビュー 1 - 新しいセキュリティ機能

モバイル運転免許証のサポート

昨年初めから、Google は AOSP の IdentityCredential API と HAL. この機能は、身分証明書、特に ISO 18013-5 準拠のモバイル運転免許証をモバイル デバイスに安全に保存するための基礎を築きます。 Google公式 この機能は Google I/O 2019 で発表されました, そして今回、ついに Android 11 Developer Preview 1 でサポートされるようになりました。

Googleはプレスリリースでこの機能について多くを語らなかったが、この機能は公開で開発されているため、計画されている内容の多くはすでにわかっている。 I/O 2019 で Google は、電子パスポートの実装を標準化するために ISO と協力していると述べました。 eパスポートがいつ利用可能になるかはまだわかりませんが、米国のいくつかの州ではすでにeDLが導入されているか、試験段階にあります。 Googleはまた、開発者がIDアプリを作成できるように、Jetpackライブラリの提供に取り組んでいると述べた。 ただし、適切なサポートにはデバイス上の安全なハードウェアが必要であるため、開発者がどれくらい早くこの機能をテストできるようになるかはわかりません。 の Qualcomm Snapdragon 865 のセキュア プロセッシング ユニット IdentityCredential API をサポートしますが、SPU が SoC に統合されているため、API のダイレクト アクセス モードをサポートしない可能性があります。 ダイレクト アクセス モードを使用すると、Android を起動するのに十分な電力がない場合でも、ユーザーは保存された電子 ID を取得できます。 この API の詳細については、以下をお勧めします 最初の報道を読む Android ハードウェアを活用したセキュリティ チームのリーダーである Shawn Willden が意見を提供しました。

新しいプロジェクトのメインライン モジュール

新しく発売されたデバイス向けの Android 10 の最大の変更点の 1 つは、 プロジェクトのメインラインは、その名前にもかかわらず、Android 上のメインライン Linux カーネルのサポートとは何の関係もありません。 (ちなみに、このプロジェクトは Generic Kernel Image と呼ばれており、まだ開発中です。)代わりに、Project Mainline の目的は次のとおりです。 Googleは、主要なフレームワークコンポーネントとシステムアプリケーションの制御をOEMから奪い取る。 各メインライン モジュールは、APK としてカプセル化されます。 または APEXファイル Google は Play ストアを通じて更新できます。 ユーザーは、デバイス上でアップデートを「Google Play システム アップデート」(GPSU) として認識し、アップデートは列車のように定期的にリリースされます。 これらは同時にダウンロードされ、インストールされます)。

プロジェクト メインラインの利点。 出典: Google。

Google は特定のメインライン モジュールを含めることを義務付けており、Google I/O 2019 の時点では 13 のメインライン モジュールが含まれていました。 現在、Google は Android 11 Developer Preview 1 に合計 20 個のメインライン モジュールを必須としています。

初期のメインライン モジュール (@ Google I/O 2019)

現在のメインライン モジュール (Android 11 Developer Preview 1 用)*

角度

キャプティブポータルへのログイン

キャプティブポータルへのログイン

コンクリプト

コンクリプト

DNSリゾルバー

DNSリゾルバー

ドキュメントUI

ドキュメントUI

拡張サービス

拡張サービス

メディアコーデック

メディアコーデック

メディアフレームワークコンポーネント

メディアフレームワークコンポーネント

モジュールのメタデータ

モジュールのメタデータ

ネットワークスタック

ネットワークスタック

ネットワークスタック権限の構成

ネットワークスタック権限の構成

パーミッションコントローラー

パーミッションコントローラー

タイムゾーンデータ

タイムゾーンデータ

新しい権限モジュール

新しいメディアプロバイダーモジュール

新しいニューラル ネットワーク API (NNAPI) モジュール

*注意: 公開時点では、Google は現在必要なメインライン モジュールの完全なリストを提供していません。 完全なリストが完成したら、この表を更新します。

生体認証プロンプト変更

Android 9 Pieの導入 BiometricPrompt API、生体認証ハードウェア用の統合 API。 この API は、指紋、顔、虹彩など、保存された生体認証を通じてユーザーに挑戦する方法を開発者に提供します。 BiometricPrompt が登場する前は、開発者は独自の認証ダイアログを作成し、指紋認証のみをサポートする FingerprintManager API を使用してユーザーに要求する必要がありました。 虹彩スキャナーを備えた Galaxy スマートフォンでは、開発者はユーザーに挑戦するために Samsung の SDK を使用する必要がありました。 BiometricPrompt を使用すると、開発者はサポートされている任意の生体認証方法でユーザーに挑戦することができ、システムはユーザーにダイアログを提供します。 したがって、開発者は、特定の種類の生体認証ハードウェアのサポートを具体的に提供することについて心配する必要がなくなり、認証ダイアログの UI をコーディングする必要もなくなりました。 の Pixel 4 の安全な顔認識ハードウェアたとえば、BiometricPrompt を使用するアプリの認証に使用できます。

BiometricPromptを使用した顔認証。

Android 11 Developer Preview 1 の BiometricPrompt の新機能は何ですか? Google は、強力な認証情報、弱い認証情報、デバイス認証情報という 3 つの新しい認証タイプを追加しました。 Android 11 より前では、開発者は BiometricPrompt を使用する場合、デバイスの安全な生体認証ハードウェア (指紋スキャナー、3D 顔認識スキャナー、または虹彩スキャナー) のみをクエリできました。 Android 11 Developer Preview 1 以降、開発者は、多くの携帯電話に搭載されているソフトウェアベースの顔認識ソリューションなど、「弱い」とみなされる生体認証方式をクエリすることもできます。 たとえば、Google 以前に複数のSamsung Galaxy携帯電話をブラックリストに登録した 暗号ベースの認証を試行するときに弱い顔認識認証子を返すため。 アプリに必要な生体認証の粒度レベルを決定するのは開発者次第です。

BLOB の安全なストレージと共有

BlobstoreManager と呼ばれる新しい API により、アプリがデータ BLOB を相互に共有することがより簡単かつ安全になります。 Google は、新しい BlobstoreManager API の理想的な使用例として、機械学習モデルを共有するアプリを挙げています。

プラットフォームの強化

Android の攻撃対象領域を減らすために、Google は以下を使用しています。 LLVM サニタイザー 「メモリの誤用バグと潜在的に危険な未定義の動作」を特定するため。 Google は現在、これらの使用を拡大しています BoundSan、IntSan、CFI、Shadow-Call Stack などのいくつかのセキュリティ クリティカルなコンポーネントに対するコンパイラ ベースのサニタイザ。 本番環境でメモリの問題を検出するために、Google は「」を有効にしています。ヒープポインタのタグ付け" Android 11 以降をターゲットとするすべてのアプリ。 ヒープ ポインターのタグ付けは、ARM Top-byte Ignore (TBI) のカーネル サポートを備えた ARMv8 64 ビット デバイスでサポートされています。 ハードウェアはメモリにアクセスする際にポインタの先頭バイトを無視します。」 Google は開発者に対し、これらの強化による改善は可能性があると警告しています。 「より再現性の高いアプリのクラッシュが発生する」ため、開発者は新しい Android 11 でアプリを徹底的にテストする必要があります。 プレビューします。 システム内の多くのメモリ エラーを見つけて修正するために、Google は、と呼ばれるメモリ エラー検出ツールを使用しました。 ハードウェア支援の AddressSanitizer (ファサン)。 Google は、HWASan 対応の事前構築済みシステム イメージを提供しています AOSP ビルドサーバー上 独自のアプリのメモリ エラーを見つけて修正することに興味がある場合に備えて。


Google は、ユーザーのプライバシーを保護し、セキュリティを向上させるための追加機能を必ず発表するため、最新の情報を入手するために Android 11 の内容に常に注目してください。

XDA の Android 11 ニュース