デバイス識別子の収集
説明
デバイス識別子の収集
デバイス識別子とは、ハードウェアベース、プラットフォームによって提供されるもの、またはアプリケーションによって生成されるものを問わず、長期にわたって安定しており、セッション間でデバイスまたはユーザーを一意に識別するために使用できる値を指します。これらの識別子は、デバイスの認識とアクティビティの長期的な相関付けを可能にしますが、同時に重大なプライバシー上の懸念も生じさせます。
通常、以下の3つのファミリーが存在します:
ハードウェアベースの識別子
ハードウェア識別子は、デバイスの物理コンポーネントまたはファームウェアから取得され、通常、デバイスの寿命が尽きるまで一定です。
- IMEI / MEID: 従来、モバイルデバイスを識別するために使用されてきた一意のモデム識別子です。最近のオペレーティングシステムでは、アクセスが厳しく制限されています。
- シリアル番号: メーカーによって割り当てられた一意のハードウェア識別子です。一般的に、通常のアプリケーションからはアクセスできません。
プラットフォーム提供の識別子
オペレーティングシステムは、スコープや権限が制限された識別子を公開します。
- Android ID: 最近のAndroidバージョンにおいて、同じアプリおよび署名キーに対する再インストールを越えて持続する、安定したアプリスコープの識別子です。
- IDFV (Identifier for Vendor): 同じベンダーに属するアプリ間で共有されるiOSの識別子であり、ベンダーのすべてのアプリがアンインストールされた場合にのみリセットされます。
- IDFA (Advertising Identifier): 広告および分析に使用される、ユーザーがリセット可能な識別子であり、最新のプライバシーフレームワークの下では、ユーザーの同意がある場合にのみ利用可能です。
アプリケーション生成の識別子
アプリケーションは、独自の識別子を生成し、永続的に保存することができます。
- カスタム UUID: ローカルストレージまたはセキュアなシステムのキーチェーンに保存されるランダムな識別子で、アプリの再インストール後も残存する可能性があります。
- 派生またはハッシュ化された識別子: デバイスの属性を組み合わせて作成された値です。
これらの識別子は、経時的なユーザーアクティビティの相関付けに使用できる場合、デバイス識別子として機能します。
プライバシーと規制に関する考慮事項
GDPR、CCPA、および同様のフレームワークなどの主要なプライバシー規制の下では、永続的なデバイス識別子はユーザーまたはデバイスの識別や追跡を可能にするため、個人データとして分類されます。不適切な取り扱いは、以下に違反する可能性があります:
- データ最小化(Data minimization)
- 目的制限(Purpose limitation)
- 透明性の要件(Transparency requirements)
- 同意の義務(Consent obligations)
プラットフォームのポリシー(Apple App Store、Google Playなど)では、分析、広告、またはユーザーの明示的な許可なしにアプリを横断した追跡に永続的な識別子を使用することをさらに制限しています。
セキュリティとコンプライアンスへの影響
永続的な識別子は、以下の目的で悪用される可能性があります:
- デバイスフィンガープリンティング
- クロスアプリまたはクロスサービスのトラッキング
- 行動プロファイリング
このため、これらの収集には慎重な取り扱いと正当な理由が必要です。
推奨事項
推奨事項
永続的なデバイス識別子を安全かつプライバシーを尊重して取り扱うには、追跡リスクを最小限に抑え、プライバシー規制を遵守するベストプラクティスに従うことが極めて重要です。推奨される一般的な戦略は以下の2つです:
-
収集の制限とより安全な識別子の優先: アプリケーションのコア機能に厳密に必要な場合にのみ、永続的なデバイス識別子を収集してください。業務上の強力な必要性がない限り、IMEIやシリアル番号などのハードウェアベースの識別子は避けてください。収集が必要な場合は、プラットフォームが承認したアプリスコープの識別子(AndroidのApp Set ID、iOSのIDFVなど)、またはアプリのライフサイクル中のみ安全に保存される、エフェメラルまたはカスタム生成されたUUIDなど、より安全な代替手段を優先してください。
-
透明性と同意: 永続的な識別子を収集する目的を明確に文書化してください。プライバシーポリシーで収集の慣行を開示し、法的に必要な場合はユーザーの同意を取得してください。
-
安全なストレージ: すべての永続的な識別子を、プラットフォームが提供するセキュアなストレージメカニズム(Android Keystore、iOS Keychainなど)を使用して安全に保存してください。識別子をプレーンテキストで保存したり、他のアプリからアクセス可能な場所に保存したりしないでください。
-
クロスアプリ追跡の回避: プラットフォームのポリシーとユーザーの同意によって明示的に許可されていない限り、広告、分析、または複数のアプリ間での追跡に永続的な識別子を使用しないでください。
これらのベストプラクティスに従うことで、アプリケーションはプライバシーリスクを軽減し、規制要件に準拠し、ユーザーの信頼を維持することができます。