アプリケーション認証性

improve this page | report issue

概説

アプリケーションを適切に保護するには、事前定義のMobileFirstアプリケーション認証性セキュリティー検査 (appAuthenticity) を有効にします。この検査は、有効になっている場合、アプリケーションにサービスを提供する前に、アプリケーションの認証性を検証します。実稼働環境のアプリケーションでは、この機能が有効になっている必要があります。

アプリケーション認証性を有効にするには、MobileFirst Operations Console「 [ご使用のアプリケーション] 」「認証性」の画面上の指示に従うか、下記の情報を参考にできます。

可用性

  • アプリケーション認証性は、サポートされるすべてのプラットフォーム (iOS、Android、Windows 8.1 Universal、Windows 10 UWP) において Cordova アプリケーションとネイティブ・アプリケーションの両方で使用できます。

制限

  • アプリケーション認証性は、iOS の Bitcode はサポートしません。したがって、アプリケーション認証性を使用する前に、Xcode プロジェクトのプロパティーで Bitcode を使用不可に設定してください。

ジャンプ先:

アプリケーション認証性フロー

アプリケーション認証性セキュリティー検査は、MobileFirst Server へのアプリケーションの登録中に実行されます。これは、アプリケーションのインスタンスが初めてサーバーに接続しようとしたときに行われます。デフォルトでは、認証性チェックは再実行されません。

この動作をカスタマイズする方法については、アプリケーション認証性の構成を参照してください。

アプリケーション認証性の有効化

アプリケーションでアプリケーション認証性を有効にするには、以下のようにします。

  1. 任意のブラウザーで MobileFirst Operations Console を開きます。
  2. ご使用のアプリケーションをナビゲーション・サイドバーから選択し、「認証性」メニュー項目をクリックします。
  3. 「状況」ボックスで「オン/オフ」ボタンを切り替えます。

アプリケーション認証性を有効にする

アプリケーション認証性の無効化

開発中に行われたアプリケーションに対する変更によっては、認証性の検証が失敗することがあります。したがって、開発プロセス中にはアプリケーション認証性を無効にすることをお勧めします。実稼働環境のアプリケーションでは、この機能が有効になっている必要があります。

アプリケーション認証性を無効にするには、「状況」ボックスで「オン/オフ」ボタンを再度切り替えます。

アプリケーション認証性の構成

デフォルトで、アプリケーション認証性はクライアント登録時にのみチェックされます。ただし、その他のセキュリティー検査と同じように、リソースの保護の説明に従って、コンソールから appAuthenticity セキュリティー検査を使用してアプリケーションやリソースを保護できます。

以下のプロパティーを使用して、事前定義されているアプリケーション認証性セキュリティー検査を構成できます。

  • expirationSec: デフォルトは、3600 秒 (1 時間) に設定されます。認証性トークンが期限切れになるまでの期間を定義します。

認証性チェックが完了した後は、設定されている値に基づいてトークンが期限切れになるまで、チェックが再度行われることはありません。

expirationSec プロパティーを構成するには、次のようにします。

  1. MobileFirst Operations Console をロードし、「 [ご使用のアプリケーション] 」「セキュリティー」「セキュリティー検査の構成」にナビゲートし、「新規」をクリックします。

  2. appAuthenticity スコープ・エレメントを検索します。

  3. 新しい値を秒数で設定します。

コンソールでの expirationSec プロパティーの構成

Build Time Secret (BTS)

Build Time Secret (BTS) は、iOS アプリケーション専用の、認証性の検証を強化するためのオプション・ツールです。このツールは、ビルド時に決定され、かつ後から認証性の検証プロセスで使用される秘密鍵をアプリケーションに注入します。

BTS ツールは、MobileFirst Operations Console「ダウンロード・センター」からダウンロードできます。

Xcode で BTS ツールを使用するには、以下のようにします。

  1. 「ビルド・フェーズ (Build Phases)」タブで、+ ボタンをクリックして、新規の「スクリプト・フェーズの実行 (Run Script Phase)」を作成します。
  2. BTS ツールのパスをコピーして、作成した新規の「スクリプト・フェーズの実行 (Run Script Phase)」に貼り付けます。
  3. 「スクリプト・フェーズの実行 (run script phase)」を「ソースのコンパイル (Compile sources)」フェーズの上にドラッグします。

実動バージョンのアプリケーションをビルドする際には、このツールを使用する必要があります。

トラブルシューティング

リセット

アプリケーション認証性アルゴリズムは、アプリケーション・データとメタデータを検証で使用します。アプリケーション認証性を有効にした後でサーバーに接続する最初のデバイスが、このデータの一部を含む、アプリケーションの「指紋」を提供します。

この指紋は、アルゴリズムに新規データを提供することでリセットできます。これは、開発中 (例えば、Xcode でのアプリケーションの変更後) に役立ちます。指紋をリセットするには、mfpadm CLI から reset コマンドを使用します。

指紋のリセット後に、appAuthenticity セキュリティー検査は以前と同じように動作し続けます (これは、ユーザーには認識されません)。

検証タイプ

デフォルトでは、アプリケーション認証性が有効になっている場合、動的検証アルゴリズムが使用されます。動的なアプリケーション認証性検証では、モバイル・プラットフォーム固有の機能を使用して、アプリケーションの認証性を判別します。したがって、後方互換性のない変更をモバイル・オペレーティング・システムに導入した場合、検証が影響を受け、信頼できるアプリケーションがサーバーに接続できなくなる可能性があります。

そのような潜在的な問題を緩和するには、静的検証アルゴリズムを使用できます。この検証タイプは、OS 固有の変更に左右されにくくなっています。

検証タイプを切り替えるには、以下の mfpadm CLI を使用します。

mfpadm --url=  --user=  --passwordfile= --secure=false app version [RUNTIME] [APPNAME] [ENVIRONMENT] [VERSION] set authenticity-validation TYPE

TYPE には、dynamic または static のいずれかを指定できます。

SDK バージョン 8.0.0.0-MFPF-IF201701250919 以前のサポート

動的検証タイプと静的検証タイプは、2017 年 2 月以降にリリースされたクライアント SDK でのみサポートされます。SDK バージョン 8.0.0.0-MFPF-IF201701250919 以前では、レガシー・アプリケーション認証性ツールを使用してください。

mfp-app-authenticity ツールを使用してアプリケーション・バイナリー・ファイルに署名する必要があります。適格なバイナリー・ファイルは、iOS の場合は ipa、Android の場合は apk、および Windows 8.1 Universal と Windows 10 UWP の場合は appx です。

  1. MobileFirst Operations Console →「ダウンロード・センター」から mfp-app-authenticity ツールをダウンロードします。
  2. コマンド・ライン・ウィンドウを開き、コマンド java -jar path-to-mfp-app-authenticity.jar path-to-binary-file を実行します。

    例えば、次のとおりです。

    java -jar /Users/your-username/Desktop/mfp-app-authenticity.jar /Users/your-username/Desktop/MyBankApp.ipa
    

    このコマンドは、MyBankApp.ipa ファイルの次に MyBankApp.authenticity_data という名前の .authenticity_data ファイルを生成します。

  3. 以下の mfpadm CLI を使用して .authenticity_data ファイルをアップロードします。
      app version [RUNTIME-NAME] APP-NAME ENVIRONMENT VERSION set authenticity-data FILE
    
Last modified on June 20, 2017