JSSEC技術部会 スマートフォン・サイバー攻撃対策ガイド
第15回「Android開発者認証について ~アプリ開発者が認識するべきリスクと対策~」
JSSEC技術部会マルウェア対策WG
KDDI株式会社 上松 晴信
近年、Androidアプリのセキュリティ強化の一環として、Googleは「開発者認証機能(Developer Verification)」を導入しています。これは、特にGoogle Playストア外で配布されるアプリに対して、開発者の身元確認を義務づける制度です。
(参照元:https://developer.android.com/developer-verification?hl=ja)
アプリのサイドローディング(公式アプリストアであるGoogle Playを通さずに、アプリを端末に直接インストールすること)は、ストア未公開のアプリを利用できることや、審査ポリシーに縛られない自由度などのメリットがあります。一方で、マルウェア混入や改ざんアプリをインストールしてしまうリスクが高いため、配布元の信頼性確認やセキュリティ対策が重要になります。
Android開発者認証とは
開発者認証機能には、マルウェアや偽アプリの拡散防止、ユーザーが「誰が作ったアプリか」を明確に把握できるようにすること、不正開発者のアカウントを即座に停止できるようにすることなどの目的があります。
また、2026年9月にブラジル・インドネシア・シンガポール・タイで義務化が開始され、2027年以降は日本を含む世界中に段階的に展開される予定です。
認証の手順としては、ステップ1の本人確認(Identity Verification)、ステップ2のアプリの所有権確認(App Ownership Verification)で構成されています。
ステップ1:本人確認(Identity Verification)
本人確認では、氏名、住所、電話番号、メールアドレスの提出、政府発行のID(運転免許証、パスポートなど)のアップロードが求められます。また、組織の場合はD-U-N-S番号と公式サイトの確認が必要になります。
ステップ2:アプリの所有権確認(App Ownership Verification)
アプリの所有権確認では、アプリのパッケージ名と署名鍵(SHA-256フィンガープリント)を登録します。Google Playの「Play App Signing」を利用している場合は、この確認が自動処理されます。
「Play App Signing」は、Google PlayがAndroidアプリの署名鍵(リリース鍵)を安全に保管・管理し、配信時の署名を代行する仕組みです。通常、Androidアプリは開発者が自分で署名鍵を管理し、その鍵でAPKやAABに署名して配布します。しかし、Play App Signingを使うと、署名鍵はGoogleの安全なインフラ上で保管され、開発者は「アップロード用鍵」でビルドしたアプリをPlay Consoleにアップロードするだけで済みます。Google Playはそのアプリに最終的な署名を行い、ユーザーへ配信します。
利用するコンソール
開発者認証に利用するコンソール(情報の確認や操作、管理を行うための画面や仕組み)は、Playストアで配布する開発者向けのGoogle Play Consoleと、Playストア外で配布する開発者向けのAndroid Developer Consoleがあります。Google Play以外でのみアプリを配信する場合は、Android Developer Consoleを使用してデベロッパーIDを管理し、アプリのパッケージ名を登録します。
Googleは、趣味や学習目的の開発者向けに、要件を緩和した専用アカウントを提供する予定です。今後、認証されていない開発者のアプリは、「Play Protect認定端末」ではインストール不可になる可能性があります。また、サイドローディングの自由度は今後制限される見込みです。
Play Protect認定端末とは
Play Protect認定端末は、Googleが定めるセキュリティ・互換性・品質基準を満たし、正式に認定されたAndroid端末のことです。Play Protect認定を受けた端末は、Google PlayストアやGoogle Play開発者サービスを正規に利用でき、Googleによるマルウェア検出や不正アプリの自動保護(Play Protect)が有効になります。
アプリ開発者が認識するべきリスク対策
Androidの開発者認証のために開発者が準備すべきことは、誰が責任を持ってそのアプリを配布しているのかを、Googleに明確に示せる状態を整えることです。
まず、開発者はGoogle Playデベロッパーアカウントを用意する必要があります。Googleアカウントを作成し、所定の登録手続きを行うことで、個人または法人として開発者アカウントを開設します。この時点で、Googleに対して「このアプリの配布主体は誰か」を公式に登録することになります。
次に重要となるのが、開発者自身の情報(本人情報・法人情報)の登録です。個人開発者の場合は、氏名、住所、国、連絡先メールアドレスや電話番号など、実在する個人であることを示す情報を正確に登録します。法人や組織として登録する場合は、法人名、所在地、代表的な連絡先、組織を代表する担当者の情報などを入力します。これらは単なる管理情報ではなく、ユーザーやGoogleが「信頼できる配布元かどうか」を判断するための基礎情報になります。
また、開発者認証の一環として、支払いプロファイル(決済情報)の設定も求められます。これはアプリ内課金を行わない場合でも必要で、クレジットカードや銀行口座などの情報を登録します。金銭のやり取りのためというよりは、責任主体が実在することの裏付けとしての意味合いが強くなっています。
Googleから指示があった場合には、本人確認(身元確認)への対応も必要です。具体的には、パスポートや運転免許証などの公的身分証明書の提出や、自撮り写真による確認、法人の場合は登記情報などの提出を求められることがあります。これはなりすましや不正な開発者を防ぐための措置で、新規登録時だけでなく、情報変更時やリスクが検知された場合にも実施されます。
さらに、開発者情報の一貫性と正確性も重要です。Play Console上の開発者名、支払いプロファイルの名義、ストアに表示される開発者情報、アプリ内で記載される運営者名などが食い違っていると、追加の確認や審査遅延、最悪の場合はアカウント制限につながることがあります。そのため、すべての情報を整合させておくことが望ましいです。
最後に、開発者認証は一度完了すれば終わりではありません。住所変更や法人化、支払い情報の変更などがあれば、再度確認や更新が求められます。常に最新かつ正確な情報を維持し、必要に応じて証明書類を提出できる状態にしておくことが、安定したアプリ運営につながります。
まとめ
「開発者認証機能(Developer Verification)」は、特にGoogle Playストア外で配布されるアプリに対して、開発者の身元確認を義務づける制度です。サイドローディングは自由度がある一方で、マルウェア混入や改ざんアプリをインストールしてしまうリスクが高いため、配布元の信頼性確認やセキュリティ対策が重要になります。
認証は、ステップ1の本人確認(Identity Verification)と、ステップ2のアプリの所有権確認(App Ownership Verification)で構成され、Play App Signingの利用状況や利用コンソール(Google Play Console/Android Developer Console)とも関係します。今後、認証されていない開発者のアプリがPlay Protect認定端末でインストール不可になる可能性もあるため、開発者としては「責任主体を明確に示せる状態」を整え、情報の整合性を保ちながら継続的に更新していくことが重要になってくると考えられます。
