SDKシグネチャーの設定

AdjustのSDKシグネチャーは、SDKスプーフィングによる不正インストールを防止します。このSDKスプーフィングとは、一般的に不正業者がアプリ計測ツール、もしくはアプリパブリッシャーのサーバーに対して、偽のインストール通信を送りインストール数を水増しする手口です。

Adjust SDKは、HTTPSなどの暗号化された通信チャネルを使用してAdjustのサーバーと通信します。しかし、このデータは不正業者によって傍受され、読み取られ、不正なインストールやその後の不正行為を引き起こす可能性があります。

この脆弱性に対処するため、Adjust SDKはインストール通信を受け取るたびに一意のデジタルシグネチャー(電子署名)を送信します。これによって、Adjustサーバーは新規インストールデータを全て検証し、デジタルシグネチャーがない不正インストールをアトリビューション対象から外すことができます。 

Adjust SDKシグネチャーを有効化することで、お客様のアトリビューションデータの正確性と安全性を確保できます。

ソリューションの仕組み

Adjust SDKがAdjustのサーバーに情報を送信する際、その情報はWebトラフィックの業界標準暗号化プロトコルであるTLSトランスポートレイヤーセキュリティを使用して暗号化されます。TLSは、不正業者が情報を読み取ることを防ぎますが、不正なインストールやイベントデータがアプリのエンドポイントに送信されるのをを防ぐことはできません。

SDKが送信するデータに暗号化シグネチャーを追加することで、Adjustのサーバーが第三者から送信された情報を拒否するようにすることができます。サーバーは全てのリクエストをチェックし、有効なシグネチャーがあることを確認します。署名されていない情報は全て拒否され、有効な情報のみを受け取ることができます。

事前準備

はじめに、以下の設定手順をご覧ください。

ご利用の条件

  • 全てのAdjustのお客様にSDKシグネチャーをご使用いただけます。
  • アプリにSDKシグネチャーを実装するには、担当のテクニカル アカウント マネージャーまたはsupport@adjust.comまでお問い合わせください。

SDKの設定

この機能は、Adjust SDKバージョン4.12.0以降が要件となります。

⚙️ iOS / Android / Unity / Cordova / Flutter / Titanium / Corona / Cocos2d-x / React Native

重要:
デフォルトでは、SDKシグネチャーは新しいアプリに対して有効化されません。つまり、SDKスプーフィング被害に対してプロテクションがない状態です。受信する全ての有効なインストールにシグネチャーが入っていることを確認した後に、シグネチャーを有効化することを推奨します。

SDKシグネチャ―の設定方法

SDKシグネチャーをSDK側で実装すると、全ての新規インストール通信に「署名」が追加されます。これによりAdjustのサーバーは、シグネチャーがない不正インストールを検出し、拒否することができます。 

アプリのSDKシグネチャーを設定するには、テクニカルアカウントマネージャー、または support@adjust.comまでお問い合わせください。

SDKシグネチャーを有効化

SDKシグネチャーを有効化するまでは、全てのインストールが受理されます。シグネチャーが有効化されると、Adjustのサーバーは一意のシグネチャーが入っていない、または無効なシグネチャーが入っている全てのインストール通信を直ちに却下するようになります。

 有効化のトグルOFF有効化のトグルON
Adjustのサーバーの動作「全て」のインストールを受理有効なシークレットを含むインストールのみを受理:

シークレットがないインストールもしくは無効なアプリシークレットが含まれているインストールを全て却下

有効化するタイミング

SDKシグネチャーを実装すると、受信されるインストールに一意のシグネチャーが含まれます。Adjustサーバーは、インストールリクエストを検証するために、このシグネチャーを使用します。なお、シグネチャーはアトリビューション期間が2期間ほど経過した後に有効化することを推奨します。

例:​ Adjustのデフォルトのアトリビューション期間である7日間の場合は、14日間が経過した後にSDKシグネチャーを有効化してください。これにより、以前にアプリをダウンロード済みで、アプリを開いたばかりのユーザーのデバイスにシグネチャーが追加されていなくても、インストールとして計上されます。 

注意:
場合によっては、全てのインストールにSDKシグネチャーが確認できるようになるまでに、推奨する2期間分のアトリビューション期間よりも時間がかかることがあります。例えば、SDKシグネチャーを追加して、1か月にわたってアプリアップデートを段階的にリリースする場合は、最終リリースの日から全てのインストールが新しいバージョンになるまでの時間を考慮してください。

有効化の手順

シグネチャーを有効化するには、以下の手順に従ってください。

  1. AppView​ で 全てのアプリ(All apps)​ を選択します。
  2. アプリを選択します。
  3. 不正防止(Protection)​ タブを選択します。
  4. SDKシグネチャー(SDK Signature)​ セクションで、 SDKシグネチャーを開く(Open SDK Signature)​ を選択します。
  5. SDKシグネチャーの有効化(Enforce SDK Signature)​ トグルをONにします。

アプリシークレットの管理

もう使用されなくなったアプリシークレットや、古いアプリのバージョンに関連するアプリシークレットは、無効化する必要があります。担当のテクニカルアカウントマネージャーまたは support@adjust.comに問い合わせて、無効化を進めてください。

ヒント:
アプリシークレットを無効化するタイミングは、アプリ開発の担当者ではなく、データ分析の担当者が決定するようにしてください。

アプリシークレットを無効化

Adjustでは、以下の場合にアプリシークレットを無効化することをお勧めします。

  • インストールレポートに役立たなくなった。
  • アプリの新バージョンを(全てのアプリのプラットフォームとストアで)リリースした。
  • 内部データの侵害やアプリシークレットの外部漏洩が疑われる。

アプリシークレットの無効化は、即時反映されます。SDKシグネチャーが有効化されると、無効化されたアプリシークレットとともに発生したアプリのインストールは全て却下され、Untrusted Devicesの下に分類されます。Adjustは、これらの却下された端末によるセッションおよびイベントの計測を継続しますが、この情報は、Adjustアドフラウド防止機能を使用している場合、ダッシュボードのレポートに表示されます。

よくあるご質問

デジタルシグネチャーとは?

アプリシークレットとは?

シグネチャーが無効な場合とシグネチャーが無い場合の違いは?