セキュア ストレージ

セキュア ストレージ プラグインは、ストレージ内のデータの暗号化を行うプラグインです。このプラグインを組み込んだアプリをアンインストールするときには、保存されたデータも、共に消去されます。

このプラグインを使用するためには、対応するプランへの加入が必要となります。詳細は、 料金プラン をご確認ください。

このプラグインは、カスタムビルドデバッガーでは利用できません。 動作検証を行う場合は、デバッグビルドを行い、実機で確認する必要があります。

サポート対象のプラットフォーム

  • Cordova 7.1 以降

  • iOS 9 以降

  • Android 4.1 以降

iOS 13 以降をサポート対象にする場合は、バージョン 2.2.0 以降を使用する必要があります。

暗号化方式

  • 暗号化方式 AES

  • 鍵長 256 bit

プラグインの追加方法

  1. Monaca クラウド IDE から設定 → Cordova プラグインの管理 を選択します。

  2. SecureStorage有効ボタンをクリックして、プロジェクトへ追加します。

メソッド

メソッド          

解説

データの保存用メソッド

keyvalue を使用して、ストレージにデータを保存します。コールバック ( 戻り値 : boolean ) を使用して、保存が完了したか ( True )、失敗したか ( false ) を確認します。 (false).

plugins.secureStorage.setItem(key, value, function(result) {

// result: true=success, false=error

});

データの取得用メソッド

指定された key を使用して、データを取得します。key と一致したデータがあれば、コールバックを使用して、そのデータを返します。一致するデータがなければ場合、null を返します。

plugins.secureStorage.getItem(key, function(value) {

// value: null = no such a value

});

データの削除用メソッド ( 1件 )

指定された key を使用して、データを削除します。コールバック ( 戻り値 : boolean ) を使用して、データの削除が成功したか ( True )、失敗したか ( false ) を確認します。

plugins.secureStorage.removeItem(key, function(result) {

// result: true=success, false=error

});

データの削除用メソッド ( 全件 )

ストレージ内のすべてのデータを削除します。コールバック ( 戻り値 : boolean ) を使用して、データの削除が成功したか ( True )、失敗したか ( false ) を確認します。

plugins.secureStorage.clear(function(result) {

// result: true=success, false=error

});

App Store への提出に際して

このプラグインでは、iOS SDK の暗号化ライブラリが採用されているため、アプリを App Store に提出し審査を受ける際、特別な設定が求められます。輸出コンプライアンス情報 において、次のとおり回答してください。

データ保存方式の変更

バージョン 2.0.0 より利用できる機能です。

暗号化データの保存方式を変更します。この変更でセキュリティを強化することができます。

セキュアストレージプラグインで保存されたデータは、保存が行われた端末でのみ読み込めるようになります。 アプリがバックアップされるなどして、別端末上で起動された場合、 本プラグインで保存されたデータは、保存された端末と異なるため読むことができなくなります。

保存方式を変更した場合、元に戻すことができませんのでご注意ください。 「Static」モードで保存したデータは、「Individual」モードでデータを取得できません。また、「Individual」モードで保存したデータは、「Static」モードでデータを取得できません。

設定方法

config.xml に次の内容を追加することで、individual モードとしてセキュリティが強化されます。

<preference name="SecureStorageMode" value="individual" />

プラグインバージョン 1 系からのデータ移行について

バージョン 1 系で保存されたデータは、指定されたモードに自動でデータ移行されます。 例として、バージョン 1 系で保存されたデータを、バージョン 2 系(Static モード)で処理した場合、バージョン 1 系で扱っていたデータは、Static モードで移行されます。

なお、バージョン 2 系を利用している途中で、Static から Individual へ変更するとデータは取得できませんので、ご注意ください。

プライバシーマニフェスト

このプラグインで必要となるプライバシーマニフェストは以下のようになります。(cordova-ios 7.1.0以上)

<platform name="ios">
  <privacy-manifest>
    <key>NSPrivacyTracking</key>
    <false/>
    <key>NSPrivacyTrackingDomains</key>
    <array/>
    <key>NSPrivacyAccessedAPITypes</key>
    <array>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array>
      <string>CA92.1</string>
      </array>
    </dict>
    </array>
    <key>NSPrivacyCollectedDataTypes</key>
    <array/>
  </privacy-manifest>
</platform>

マニフェストの記述方法について詳しくは https://ja.docs.monaca.io/release_notes/ios-privacy-manifest#puraibashmanifesutono を参照して下さい。

最終更新