整合性チェック
実行時にアプリの整合性を検証する
概要
Unveily は、アプリが改ざんされていないか、公式アプリストアを通じてインストールされたかを実行時に自動で検証します。Android は Google Play Integrity API、iOS は App Attest + DeviceCheck を使用し、いずれのプラットフォームでもライセンス検証の一環として SDK コアが自動的に実行します。
iOS の整合性検証
iOS でも整合性検証が実装されています。iOS では Apple の App Attest および DeviceCheck API を通じて、Android の Play Integrity と同等レベルの検証を自動的に行います。いずれのプラットフォームでも検証は SDK コア内部で実行され、整合性トークンが JavaScript に公開されることはありません。
開発者が別途コードを書く必要はありません。 アプリ起動時に SDK が自動的に整合性検証を行います。
| 検証項目 | 説明 |
|---|---|
| アプリの改ざん有無 | アプリのバイナリがオリジナルのビルドと一致するか確認します |
| インストール元 | 公式ストア(Google Play / App Store)を通じて正規にインストールされたか確認します |
| 端末の状態 | 端末の基本的なセキュリティ状態を確認します |
お客様が設定するものはありません
整合性検証は SDK が自動的に実行し、Unveily のライセンス保護の一部です。Unveily の整合性検証のために、お客様が Play Console や Google Cloud で設定するものはありません。(整合性トークンは SDK 内部でのみ扱われ、JavaScript にも公開されません。)
お客様アプリ自体の Play Integrity は完全に別物です
お客様が自社アプリのセキュリティのために Play Integrity(Android)や App Attest(iOS)を直接使いたい場合は、お客様自身の Google Cloud プロジェクトで独立して設定してください。これは Unveily SDK の整合性検証とは 完全に分離されており、SDK や Unveily のサーバーを経由しません。(Firebase を使う場合は、内部で Play Integrity を利用する Firebase App Check がバックエンド保護の最も簡単な方法です。)Play Integrity は 1 つのアプリ内で複数の Cloud プロジェクトを同時に使えるよう設計されているため、2 つの検証は同じ端末上で互いに干渉することなく並行して動作します。
整合性検証はどのように処理されますか
整合性検証は SDK コアと Unveily バックエンドの間で自動的に 処理されます。ライセンス検証の過程で SDK が整合性トークン(Android は Play Integrity、iOS は App Attest + DeviceCheck)を生成し、Unveily サーバーへ直接送信して、サーバーがそれを検証します。
整合性トークンを取得する JS API はありません
整合性トークンを JavaScript から取得する Bridge メソッドは存在しません。トークンは SDK 内部でのみ扱われ、Web コードに公開されることはありません。したがって、開発者がトークンを受け取ってサーバー側でデコードするコード(例: Play Integrity API を直接呼び出すコード)を書く必要はなく、その方式もサポートされていません。
開発者が別途コードを書く必要はありません。 整合性検証は SDK と Unveily サーバーの間で完全に自動的に行われます。