Monaca Docs
質問…
K
Comment on page

セキュア ストレージ

セキュア ストレージ プラグインは、ストレージ内のデータの暗号化を行うプラグインです。このプラグインを組み込んだアプリをアンインストールするときには、保存されたデータも、共に消去されます。
このプラグインを使用するためには、対応するプランへの加入が必要となります。詳細は、 料金プラン をご確認ください。
このプラグインは、カスタムビルドデバッガーでは利用できません。 動作検証を行う場合は、デバッグビルドを行い、実機で確認する必要があります。

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

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

暗号化方式

  • 暗号化方式 AES
  • 鍵長 256 bit

プラグインの追加方法

  1. 1.
    Monaca クラウド IDE から設定 → Cordova プラグインの管理 を選択します。
  2. 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 へ変更するとデータは取得できませんので、ご注意ください。