アプリケーション認証性
improve this page | report issue概説
アプリケーションを適切に保護するには、事前定義のMobileFirstアプリケーション認証性セキュリティー検査 (appAuthenticity
) を有効にします。 この検査は、有効になっている場合、アプリケーションにサービスを提供する前に、アプリケーションの認証性を検証します。 実稼働環境のアプリケーションでは、この機能が有効になっている必要があります。
アプリケーション認証性を有効にするには、MobileFirst Operations Console →「 [ご使用のアプリケーション] 」→「認証性」の画面上の指示に従うか、下記の情報を参考にできます。
可用性
- アプリケーション認証性は、サポートされるすべてのプラットフォーム (iOS、watchOS、Android、Windows 8.1 Universal、Windows 10 UWP) において Cordova アプリケーションとネイティブ・アプリケーションの両方で使用できます。
ジャンプ先:
アプリケーション認証性フロー
アプリケーション認証性セキュリティー検査は、MobileFirst Server へのアプリケーションの登録中に実行されます。これは、アプリケーションのインスタンスが初めてサーバーに接続しようとしたときに行われます。 デフォルトでは、認証性チェックは再実行されません。
アプリケーション認証性を有効にした後で、顧客が自分のアプリケーションに変更を行う必要が生じた場合、そのアプリケーションのバージョンをアップグレードする必要があります。
この動作をカスタマイズする方法については、アプリケーション認証性の構成を参照してください。
アプリケーション認証性の有効化
アプリケーションでアプリケーション認証性を有効にするには、以下のようにします。
- 任意のブラウザーで MobileFirst Operations Console を開きます。
- ご使用のアプリケーションをナビゲーション・サイドバーから選択し、「認証性」メニュー項目をクリックします。
- 「状況」ボックスで「オン/オフ」ボタンを切り替えます。
MobileFirst Server は、初めてサーバーへの接続を試行したときにアプリケーションの認証性を検証します。 この検証を保護リソースにも適用するには、appAuthenticity
セキュリティー検査を保護スコープに追加します。
アプリケーション認証性の無効化
開発中に行われたアプリケーションに対する変更によっては、認証性の検証が失敗することがあります。 したがって、開発プロセス中にはアプリケーション認証性を無効にすることをお勧めします。 実稼働環境のアプリケーションでは、この機能が有効になっている必要があります。
アプリケーション認証性を無効にするには、「状況」ボックスで「オン/オフ」ボタンを再度切り替えます。
アプリケーション認証性の構成
デフォルトで、アプリケーション認証性はクライアント登録時にのみチェックされます。 ただし、その他のセキュリティー検査と同じように、リソースの保護の説明に従って、コンソールから appAuthenticity
セキュリティー検査を使用してアプリケーションやリソースを保護できます。
以下のプロパティーを使用して、事前定義されているアプリケーション認証性セキュリティー検査を構成できます。
expirationSec
: デフォルトは、3600 秒 (1 時間) に設定されます。 認証性トークンが期限切れになるまでの期間を定義します。
認証性チェックが完了した後は、設定されている値に基づいてトークンが期限切れになるまで、チェックが再度行われることはありません。
expirationSec
プロパティーを構成するには、次のようにします。
-
MobileFirst Operations Console をロードし、「 [ご使用のアプリケーション] 」→「セキュリティー」→「セキュリティー検査の構成」にナビゲートし、「新規」をクリックします。
-
appAuthenticity
スコープ・エレメントを検索します。 -
新しい値を秒数で設定します。
Build Time Secret (BTS)
Build Time Secret (BTS) は、iOS アプリケーションおよび watchOS アプリケーション専用の、認証性の検証を強化するためのオプション・ツールです。 このツールは、ビルド時に決定され、かつ後から認証性の検証プロセスで使用される秘密鍵をアプリケーションに注入します。
BTS ツールは、MobileFirst Operations Console →「ダウンロード・センター」からダウンロードできます。
Xcode で BTS ツールを使用するには、以下のようにします。
- 「ビルド・フェーズ (Build Phases)」タブで、+ ボタンをクリックして、新規の「スクリプト・フェーズの実行 (Run Script Phase)」を作成します。
- BTS ツールのパスをコピーして、作成した新規の「スクリプトの実行フェーズ (Run Script Phase)」に貼り付けます。
- 「スクリプトの実行フェーズ (Run Script Phase)」を「ソースのコンパイル (Compile sources)」フェーズの上にドラッグします。
- このステップは、アプリケーション環境が watchOS の場合にのみ必要です。 BTS を有効にするには、開発者は、BTS ツールの場所の後に watchOS 拡張にパッケージ化された任意の Swift ファイル名を渡す必要があります。
例えば、watchOS 拡張パッケージに HelloWatchOS.swift
ファイルが含まれているとすると、開発者は BTS ツールのパスと共に HelloWatchOS
を引数として渡す必要があります。
実動バージョンのアプリケーションをビルドする際には、このツールを使用する必要があります。
トラブルシューティング
リセット
アプリケーション認証性アルゴリズムは、アプリケーション・データとメタデータを検証で使用します。 アプリケーション認証性を有効にした後でサーバーに接続する最初のデバイスが、このデータの一部を含む、アプリケーションの「指紋」を提供します。
この指紋は、アルゴリズムに新規データを提供することでリセットできます。 これは、開発中 (例えば、Xcode でのアプリケーションの変更後) に役立ちます。 指紋をリセットするには、mfpadm CLI から reset コマンドを使用します。
指紋のリセット後に、appAuthenticity セキュリティー検査は以前と同じように動作し続けます (これは、ユーザーには認識されません)。
検証タイプ
MobileFirst Platform Foundation は、アプリケーションに対して静的なアプリケーション認証性と動的なアプリケーション認証性を提供します。 これらの検証タイプは、アプリケーション認証性シードを生成するために使用されるアルゴリズムと属性で異なります。 デフォルトでは、アプリケーション認証性が有効になっている場合、動的検証アルゴリズムが使用されます。 どちらの検証タイプでも、アプリケーションのセキュリティーが確保されます。 動的なアプリケーション認証性では、アプリケーション認証性に厳密な検証とチェックを使用します。 静的なアプリケーション認証性では、わずかに緩和されたアルゴリズムを使用します。このアルゴリズムでは、動的なアプリケーション認証性で使用されるすべての検証チェックが使用されるわけではありません。
動的なアプリケーション認証性は、MobileFirst コンソールから構成可能です。 内部アルゴリズムでは、コンソールで選択されたオプションに基づいてアプリケーション認証性データの生成が管理されます。 静的なアプリケーション認証性では、mfpadm CLI を使用する必要があります。
静的なアプリケーション認証性を有効にして、検証タイプを切り替えるには、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
です。
- MobileFirst Operations Console →「ダウンロード・センター」から mfp-app-authenticity ツールをダウンロードします。
-
コマンド・ライン・ウィンドウを開き、コマンド
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
ファイルを生成します。 - 以下の mfpadm CLI を使用して
.authenticity_data
ファイルをアップロードします。app version [RUNTIME-NAME] APP-NAME ENVIRONMENT VERSION set authenticity-data FILE