デバイス認証の評決を理解する

IBM® MaaS360® は、認証チェックを強化するためにPlay Integrity APIを統合し、より高速に、攻撃に対してより強く、ユーザーのプライバシーを重視したものにしました。

Play Integrity APIは、Androidデバイスの認証を提供することで、開発者や組織がアプリケーションにアクセスするデバイスの信頼性を評価するのに役立ちます。 デバイスの状態に応じて異なるセキュリティ・レベルを提供する。 改ざんされたアプリのバージョンや信頼できない環境など、潜在的に危険で不正なインタラクションを検出することで、アプリのバックエンドサーバーは適切なアクションで対応し、攻撃を防いで不正利用を減らす。

以下は認証の厳しさの違いである。
認証の厳格度 アンドロイド12以前 アンドロイド13以降
基礎 このデバイス認識判定は、アプリが基本的なシステム整合性チェックに合格したデバイス上で実行されていることを示すものである。 デバイスのブートローダーはロックまたはアンロックすることができ、ブート状態は検証済みまたは未検証にすることができます。 その場合、 Google、セキュリティ、プライバシー、アプリの互換性を保証することはできません。 このデバイス認識判定は、セキュリティ・チェックが物理的なアンドロイド搭載デバイスで行われたことを示している。 デバイスのブートローダーはロックまたはアンロックすることができ、ブート状態は検証済みまたは未検証にすることができます。 Play Protectの認証は受けていないかもしれないが、ハードウェアでバックアップされている。 また、 Google、セキュリティ、プライバシー、アプリの互換性を保証することはできず、デバイスがAndroidの仮想インスタンスなどのプロキシとして動作していないことを保証することはできません。 これは、キー認証が利用可能であれば、ルート化されたデバイスでもmeets-basic-integrityチェックをパスできることを意味する。

基本的な評決では、信頼の認証ルートが Google によって提供されることだけが要求される。

中程度 このデバイス認識判定は、デバイス上のアプリが本物のPlay Protect認証済みAndroid搭載デバイスであることを示すものである。 このデバイス認識判定は、デバイス上のアプリが本物のPlay Protect認証済みAndroid搭載デバイスであることを示すものである。 この検証では、デバイスのブートローダーがロックされ、ロードされたアンドロイドOSが認証されたデバイス・メーカー・イメージであることが要求される

デバイスのブートローダーがロックされ、ロードされたアンドロイドOSが認証されたデバイスメーカーのイメージであることをハードウェアが証明している。

ストロング このデバイス認識判定は、アプリが本物のPlay Protect認定Android搭載デバイス上で実行されていることを示すもので、ブートの完全性をハードウェアで裏付ける証明となります。 このデバイス認識判定は、Playプロテクト認証済みの純正アンドロイドハードウェア搭載デバイスで、最近のセキュリティアップデートが適用されていることを示すものです。 この要件は、デバイスがデバイスインテグリティ基準を満たし、すべてのパーティションについて過去1年以内にセキュリティアップデートを受けたことを義務付けている。 これには、アンドロイドOSとベンダー・パーティションの両方に対するパッチが含まれる。

この強い評決は、アンドロイドOSのパーティションパッチとベンダーのパーティションパッチを含む、デバイスのすべてのパーティションに対する過去1年間の適度なセキュリティアップデートを要求している。

IBM MaaS360 は、デバイス認証チェックのより強力なフレームワークをサポートする。 管理者は、 Device Attestation セクションから以下の認証チェックを選択できます。
基礎
Android 13以降では、ブートローダーの状態、ブート状態、Play Protect認証に関係なく、デバイスが物理的なデバイスであることが保証されます。
しかし、アンドロイド12以前については、基本的なシステムの完全性を保証し、未認識のアンドロイドバージョン、アンロックブートローダー、未検証ブート、メーカー認証の欠如を許可する。
中程度
アンドロイド13以降の場合、これは、ブートローダーがロックされ、OSが認証された、アンドロイド・プレイ・プロテクトの認証を受けたデバイスであることを保証する。
アンドロイド12以前の機種については、アンドロイド・プレイ・プロテクトの認証を受けていることが保証されます。
ストロング
アンドロイド13以降については、アンドロイド・プレイ・プロテクトの認証を受け、ブートローダーがロックされ、OSが認証され、過去1年以内にセキュリティ・アップデートを受けた端末であることが保証される。
アンドロイド12以前の場合、これはデバイスが Google Playサービスを実行することを保証し、ブートの完全性をハードウェアに裏打ちされた強力な証明となる。

アンドロイド13以降では、デフォルトで3つの整合性チェックがすべてハードウェア・バックされ、より高いセキュリティ基準が適用されるようになった。 ストロング・インテグリティの判定に合格するためには、デバイスに1年以内のセキュリティ・パッチを適用する必要があり、これは登録やコンプライアンスに影響を与える可能性がある。

注:
  • WPCO デバイスの場合、IT 管理者が隔離以外のアクションを選択した場合、EMM は Play Integrity API が古いデバイスで偽の否定を返す可能性があることを警告する必要があります。

デバイス登録時のデバイス認証の設定

以下の手順に従って、デバイスのコンプライアンスを検証するための新しい完全性チェックを選択します。
  1. IBM MaaS360 Portal ホームページから、 Setup > Settings > Directory and Enrollment > Advanced Enrollment Settings > Advanced Management for Android Devicesに進みます。
  2. Device's Attestation(デバイスの認証) セクションで、デバイス認証チェックのモードを選択します。

ポリシーによるデバイス認証の有効化

デバイスの完全性を確保するために、認証チェックの頻度を管理することができます。 以下の手順に従って、デバイス認証を有効にして構成してください。
  1. IBM MaaS360 Portalのホームページから、 Security > Policiesに進みます。
  2. デバイス認証を有効にするAndroid MDMポリシーを選択します。 デフォルトでは、認証チェックは24時間ごとに行われる。 と周波数を設定する。
  3. View ] > [Configure settings ] > [ Security ] > [ Device Security ] > [ Enable Device Attestation ] をクリックします。
  4. チェックボックスを選択して、デバイスの認証チェックを有効にします。
  5. Select frequency(頻度の選択 )」に進み、認証チェックの頻度を1日1回、1日2回、2日に1回、1週間に1回から選択する。 デフォルトでは、頻度は1日1回に設定されている。

デバイス認証の失敗に対する実施ルールの設定

デバイスがルート化またはジェイルブレイクされている場合、デバイスが完全性チェックに失敗したときに自動アクションをトリガーするなど、デバイスが認証に失敗したときに取るアクションを指定するルールを定義することができます。 登録時に認証チェックが有効になっている場合、認証に失敗すると登録がブロックされる。 認証チェックを無効にすると、デバイスが認証に失敗しても登録は続行される。 登録が許可されても、システムはその後に認証ルールを強制することができる。 例えば、認証失敗時にデバイスをワイプするルールの場合、デバイスは登録直後にワイプされる。 以下の手順に従って、実施ルールを設定してください。
  1. IBM MaaS360 Portal ホームページから、「 Security(セキュリティ) 」 > 「 Compliance Rules(コンプライアンス・ルール) 」に進みます。
  2. Edit] をクリックし、 [Enforcement Rules ] > [Enforcement Action ] に進みます。
  3. アラート、選択ワイプ、フルワイプ、ポリシーの変更、デバイスの非表示などの強制アクションを選択します。

認証失敗の詳細を見る

以下の表は、Android 12以前とAndroid 13以降の認証失敗の詳細を示しています。
Android のバージョン 認証レベル 失敗の理由 故障理由の説明
アンドロイド12以前 中程度 デバイスの認証チェックに失敗しました。 中庸を期待したが、基本を受けた。 このアプリは、正規のPlayプロテクト認証を受けたAndroid搭載端末で実行されていない可能性があります。
アンドロイド12以前 ストロング デバイスの認証チェックに失敗しました。 ストロングを期待したが、ベーシックだった。 このアプリは、Play Protect認定のAndroidデバイス上で実行されていないか、デバイスがハードウェアベースのブート整合性検証をサポートしていない可能性があります。
アンドロイド12以前 ストロング デバイスの認証チェックに失敗しました。 強さを期待したが、中程度だった。 デバイスがハードウェアベースのブート整合性検証をサポートしていない可能性があります。
アンドロイド12以前 ベーシック、モデレート、ストロング デバイスに攻撃、システム侵害、またはエミュレータの兆候がある。 攻撃(APIフッキングなど)やシステム侵害(root化など)の兆候があるデバイス上でアプリが実行されている、またはアプリが物理的なデバイス上で実行されていない( Google Playの整合性チェックを通過しないエミュレータなど)。
アンドロイド13以降 中程度 デバイスの認証チェックに失敗しました。 中庸を期待したが、基本を受けた。 Play Protectの認証を受けていなかったり、ブートローダーがアンロックされていたり、未認証バージョンのAndroidが動作していたりする可能性があります。
アンドロイド13以降 ストロング デバイスの認証チェックに失敗しました。 ストロングを期待したが、ベーシックだった。 このデバイスは、Play Protectの認証を受けていない可能性があり、ブートローダーがアンロックされている可能性があり、未認証バージョンのAndroidが動作している可能性があり、Android OSやベンダーのパーティションを含むすべてのパーティションのセキュリティアップデートを過去1年間に受けていない可能性があります。
アンドロイド13以降 ストロング デバイスの認証チェックに失敗しました。 強さを期待したが、中程度だった。 このデバイスは、アンドロイドOSのパーティションパッチやベンダーのパーティションパッチなど、デバイスのすべてのパーティションに対するセキュリティアップデートを昨年受けていない可能性がある。
アンドロイド13以降 ベーシック、モデレート、ストロング デバイスに攻撃、システム侵害、またはエミュレータの兆候がある。 攻撃(APIフッキングなど)やシステム侵害(root化など)の兆候があるデバイス上でアプリが実行されている、またはアプリが物理的なデバイス上で実行されていない( Google Playの整合性チェックを通過しないエミュレータなど)。
以下の表は、すべてのAndroidバージョンにおける認証失敗の詳細を示しています。
Android のバージョン 認証レベル 失敗の理由
すべてのバージョン ベーシック、モデレート、ストロング デバイスのチェックに失敗
すべてのバージョン ベーシック、モデレート、ストロング トークンの復号化に失敗
すべてのバージョン ベーシック、モデレート、ストロング 破損したレスポンス
すべてのバージョン ベーシック、モデレート、ストロング アプリ/デバイスの整合性に失敗した
すべてのバージョン ベーシック、モデレート、ストロング エージェントパッケージ名の不一致
すべてのバージョン ベーシック、モデレート、ストロング エージェント証明書の不一致
すべてのバージョン ベーシック、モデレート、ストロング 空/評価されていない値の受信
すべてのバージョン ベーシック、モデレート、ストロング デバイスが認証チェックに不合格