パッケージ | mx.data.crypto |
クラス | public class EncryptionKeyGenerator |
継承 | EncryptionKeyGenerator Object |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
このクラスで使用する技法およびアルゴリズムは、データの機密性および安全性が最大限に保護されるよう設計されています。使用するアプリケーションでユーザーごとにデータを暗号化する必要がある場合、つまりアプリケーションで 1 人のユーザーのみが自分のデータにアクセスできるようにする必要がある場合に、このクラスを使用して暗号化キーを生成します。他のユーザーからもデータにアクセス可能なことがアプリケーションの設計上明らかであっても、ユーザーごとにデータを暗号化したい場合があります。詳細については、「Flex での Adobe AIR アプリケーションの開発」ガイドの「データベースで暗号化を使用する場合の考慮事項」を参照してください。
入力したパスワードをもとに暗号化キーが生成されます。同一のマシンおよびユーザーアカウントを使用し、同一の AIR アプリケーションを実行した場合、どのパスワードを入力しても生成される暗号化キーは同じです。
パスワードから暗号化キーを生成するには、getEncryptionKey()
メソッドを使用します。getEncryptionKey()
メソッドを呼び出す前に、パスワードが「強力な」パスワードかどうかを確認するには、validateStrongPassword
メソッドを使用します。
また、EncryptionKeyGenerator にはユーティリティ定数 ENCRYPTED_DB_PASSWORD_ERROR_ID
が含まれています。この定数は、SQLError のエラー ID に一致し、暗号化されたデータベースを開くときに使用するコードが間違った暗号化キーを持つ場合に発生します。
このクラスは、最も高いレベルのデータの機密性および安全性を提供できる暗号化キーを作成するよう設計されています。このような高いレベルの安全性を実現するためには、以下に示すいくつかの安全性の原則に従う必要があります。
- ユーザーが入力したパスワードを、アプリケーションに保存しないでください。
-
getEncryptionKey()
メソッドによって返された暗号化キーを、アプリケーションに保存しないでください。 - その代わりに、ユーザーがアプリケーションを起動しデータベースにアクセスするたびに
getEncryptionKey()
メソッドを呼び出して暗号化キーを再生成するよう、アプリケーションのコードを作成する必要があります。
データセキュリティについての詳細、および EncryptionKeyGenerator クラスで使用するセキュリティ技術については、「Flex での Adobe AIR アプリケーションの開発」ガイドの「例:暗号化キーの生成と使用」を参照してください。
メソッド | 定義元 | ||
---|---|---|---|
EncryptionKeyGenerator インスタンスを新規作成します。 | EncryptionKeyGenerator | ||
パスワードを使用して、16 バイトの暗号化キーを生成します。 | EncryptionKeyGenerator | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
パスワードをチェックし、「強力な」パスワードかどうかを示す値を返します。 | EncryptionKeyGenerator | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
定数 | 定義元 | ||
---|---|---|---|
ENCRYPTED_DB_PASSWORD_ERROR_ID : uint = 3138 [静的]
この定数は SQLError のエラー ID(3138)に一致し、暗号化されたデータベースを開くときに使用するコードが間違った暗号化キーを持つ場合に発生します。 | EncryptionKeyGenerator |
EncryptionKeyGenerator | () | コンストラクター |
public function EncryptionKeyGenerator()
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
EncryptionKeyGenerator インスタンスを新規作成します。
getEncryptionKey | () | メソッド |
public function getEncryptionKey(password:String, overrideSaltELSKey:String = null):ByteArray
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
パスワードを使用して、16 バイトの暗号化キーを生成します。戻り値は、暗号化された AIR ローカル SQL(SQLite)データベースの暗号化キーとして使用できます。
同一のマシンおよびユーザーアカウントを使用し、同一の AIR アプリケーションを実行して getEncryptionKey()
メソッドを呼び出した場合、どのパスワードを入力しても生成される暗号化キーは同じです。
このメソッドは、最も高いレベルのデータの機密性および安全性を提供できる暗号化キーを作成するよう設計されています。このような高いレベルの安全性を実現するためには、いくつかの安全性の原則に従う必要があります。
- ユーザーが入力したパスワードを、アプリケーションに保存しないでください。
getEncryptionKey()
メソッドによって返された暗号化キーを、アプリケーションに保存しないでください。- その代わりに、ユーザーがアプリケーションを起動しデータベースにアクセスするたびに
getEncryptionKey()
メソッドを呼び出し暗号化キーを再生成します。
データセキュリティについての詳細、および EncryptionKeyGenerator クラスで使用するセキュリティ技術については、「Flex での Adobe AIR アプリケーションの開発」ガイドの「例:暗号化キーの生成と使用」を参照してください。
パラメーター
password:String — 暗号化キーの生成に使用するパスワードです。
| |
overrideSaltELSKey:String (default = null ) — EncryptionKeyGenerator は、暗号化キーを生成するプロセスの一環として、salt と呼ばれるランダムな値を作成し格納します。アプリケーションが getEncryptionKey() メソッドを最初に呼び出すとき、salt の値は AIR アプリケーションの暗号化されたローカルストア(ELS)に作成および格納されます。それ以降は、salt の値は ELS からロードされます。
salt 値の格納にカスタム文字列の ELS キーを使用する場合は、 |
ByteArray — 生成された暗号化キーで、16 バイトの ByteArray オブジェクトです。
|
例外
ArgumentError — 指定したパスワードが、validateStrongPassword() メソッドの詳細で説明される基準によると「強力な」パスワードでない場合
| |
ArgumentError — overrideSaltELSKey パラメーターに null でない値が指定され、その値が空の文字列("" )であった場合
|
validateStrongPassword | () | メソッド |
public function validateStrongPassword(password:String):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
パスワードをチェックし、「強力な」パスワードかどうかを示す値を返します。強力なパスワードの基準を以下に示します。
- 最小 8 文字
- 最大 32 文字
- 最低 1 つの小文字を含む
- 最低 1 つの大文字を含む
- 最低 1 つの数字または記号を含む
パラメーター
password:String — チェックするパスワード
|
Boolean — パスワードが強力なパスワードである(true )か、そうでない(false )かを示す値です。
|
ENCRYPTED_DB_PASSWORD_ERROR_ID | 定数 |
public static const ENCRYPTED_DB_PASSWORD_ERROR_ID:uint = 3138
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Adobe Digital Enterprise Platform Data Services for Java EE 3.1 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
この定数は SQLError のエラー ID(3138)に一致し、暗号化されたデータベースを開くときに使用するコードが間違った暗号化キーを持つ場合に発生します。
Tue Jun 12 2018, 10:34 AM Z