暗号化キー情報を設定する¶
UTIL.ENCRYPT(データを暗号化する関数) 、 UTIL.DECRYPT(暗号化したデータを復号する関数) を使用することで、データを暗号化、または、復号することができます。
暗号化キー(暗号化および復号に必要となるパスワード)は以下に説明する管理機能を使用して、ユーザー自身で作成・管理を行ってください。
重要
ここで作成する「暗号化キーファイル」は暗号化機能の文字通り「鍵」であり、センシティブな機密情報となります。以下の記事をよく読んでいただいたうえでご利用ください。
- 暗号化キーの設定をするにはシステム管理者の権限が必要です。
- 暗号化キーの設定は暗号化関数、および、復号関数を使用しているアプリを正しく動作させるために必要な設定です。アプリ開発者はもちろん、利用者にも参照できるように設定する必要があります。
- 暗号化関数、および、復号関数にて適用される暗号化アルゴリズムは ’AES-256’ となります。
- 暗号化したデータは暗号化キーがない限り復号することはできません。
- 「暗号化キーファイル」はアクセス管理等を施し、厳重に管理していただく必要があります。
注意
暗号化キーを作成する際、「CryptAcquireContext(暗号化) 失敗: アクセスが拒否されました。 (5)」のエラーが表示される場合があります。
その場合、C:/ProgramData/Microsoft/Crypto/RSA/MachineKeys フォルダの Everyone グループに「特殊なアクセス許可」を付与する必要があります。
「特殊なアクセス許可」を付与するには、以下のコマンドを実行してください。(必要に応じて管理者権限で実行してください。)
icacls "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /inheritance:e /grant Everyone:(RD,RA,REA,WD,AD,WA,WEA,RC)
参考
- 暗号化関数の使用例については、UTIL.ENCRYPT(データを暗号化する関数) を参照してください。
- 復号関数の使用例については、UTIL.DECRYPT(暗号化したデータを復号する関数) を参照してください。
暗号化キーを作成する¶
データを暗号化、または、暗号化データを復号するために必要な鍵である暗号化キーファイルを作成します。
- 管理画面の「システム」タブを開きます。
- 「暗号化キー」の「作成」ボタンをクリックします。
- 「暗号化キー作成」ダイアログにて、「作成」ボタンをクリックして暗号化キーファイルを作成します。保存先の選択ダイアログが表示されるので任意の場所に保存します。
暗号化キーファイルの作成方法は2通りあります。
- ランダムなパスワードで暗号化キーファイルを作成する(既定)
- 任意のパスワードで暗号化キーファイルを作成する(オプション)
既定の作成では、ランダムなパスワードで暗号化キーファイルを作成します。また、「任意のパスワードを指定して暗号化キーを作成する」チェックボタンにチェックし、任意のパスワードを入力して暗号化キーファイルを作成することもできます。パスワードは大文字小文字が区別されます。
注意
- 既定ではランダムなパスワードで暗号化キーファイルを作成します。同じパスワードの暗号化キーファイルを再び作ることはできないため、紛失しないように注意してください。
- 対して、オプションである任意のパスワードで暗号化キーファイルを作成した場合、同じパスワードで再度同じ暗号化キーファイルを作成することができます。そのため、入力するパスワードは厳重に管理していただく必要があります。
- 暗号化キーが漏えいした場合、第三者がデータを復号できてしまうおそれがあります。作成した暗号化キーファイルは厳重に管理してください。漏えいが疑われる場合は新しい暗号化キーでデータを暗号化しなおすことができます。暗号化したテーブルデータを置き換える を参照してください。
暗号化キー情報を登録する¶
作成した暗号化キーファイルを暗号化関数、または、復号関数で使用するための設定をします。
「暗号化キー」の「設定」ボタンをクリックして、「暗号化キー名」と「配置ロケーション」を設定して登録します。
登録した配置ロケーションに暗号化キーファイルを配置し、暗号化関数、または、復号関数で「暗号化キー名」を引数に指定することで使用することができます。
- 管理画面の「システム」タブを開きます。
- 「暗号化キー」の「設定」ボタンをクリックします。
- 「暗号化キー設定」ダイアログにて、「暗号化キー追加」ボタンをクリックして「暗号化キー追加」ダイアログを開きます。
- 「暗号化キー追加」ダイアログにて、「暗号化キー名」と「配置ロケーション」を設定し、「追加」ボタンをクリックします。
[1] 暗号化キー名(必須)
暗号化キーを識別する一意の名前を指定します(大文字小文字は区別されません)。ここで設定した暗号化キー名は暗号化関数または復号関数の引数として使用します。[2] 配置ロケーション(必須)
作成した暗号化キーファイルを配置するロケーションを指定します。Web サーバーの URL を指定するか、もしくは、ローカルファイルパスを指定します。暗号化関数、または、復号関数実行時に設定した配置ロケーションの暗号化キーファイルを読み込みます。ローカルファイルパスを設定する場合は、「…」ボタンで暗号化キーファイルを選択することで設定もできます。[3] 説明(任意)
暗号化キーの説明を設定します。[4] 「この暗号化キーをデフォルトキーとして登録する」チェックボタン
このチェックボタンを有効にすると ’default’ という暗号化キー名として登録され、デフォルトキーという扱いになります。デフォルトキーを使う場合は、暗号化関数、または、復号関数にて指定する暗号化キー名を省略することができます。
「暗号化キー設定」ダイアログに対象の情報が追加されていることを確認し、「登録」ボタンをクリックします。
ヒント
登録した暗号化キーの情報は設定したユーザーには即時反映されますが、それ以外のログイン中のユーザーに対しては再ログインした際に反映されます。
注意
- 暗号化キーファイルの情報は、CELF のデータベースに保持されることはなく、CELF サービスの提供者であっても復号できません。
- 登録した暗号化キー名はアプリ開発者に通知する必要があります。
- 暗号化キーファイルの配置ロケーションに Web サーバーの URL を設定した場合は、適切なアクセス管理を施すことをお勧めします。
- 暗号化キーファイルの配置ロケーションにローカルファイルパスを設定した場合は、開発者、および、利用者に暗号化キーファイルを配布し、配置ロケーションを通知します。配布した暗号化キーファイルは配置ロケーションと同じパスに配置する必要があります。
- 暗号化キーファイルは復号を許可するユーザーの PC にのみ配布、または、許可するユーザーのみがアクセスできるパスに配置してください。
暗号化キー情報を編集する¶
登録した暗号化キー情報を編集します。
- 「暗号化キー設定」ダイアログにて、登録した暗号化キー情報のレコードの「編集」ボタンをクリックして「暗号化キー編集」ダイアログを開きます。
- 「暗号化キー編集」ダイアログにて、「配置ロケーション」と「説明」を編集することができます。編集した場合は「更新」ボタンをクリックします。
- 「暗号化キー設定」ダイアログに編集した情報が反映されていることを確認し、「登録」ボタンをクリックします。
ヒント
編集した暗号化キーの情報は設定したユーザーには即時反映されますが、それ以外のログイン中のユーザーに対しては再ログインした際に反映されます。
注意
配置ロケーションにローカルファイルパスを設定している場合、以下に当てはまる配置ロケーションの変更については、暗号化キーファイルが読み込めなくなるため、暗号化関数、または、復号関数が失敗します。
必要に応じて、開発者、および、利用者に新しいロケーションの通知、または、暗号化キーファイルの再配布をしてください。
- 今まで使用していた暗号化キーファイルと同じ内容の暗号化キーファイルの配置ロケーションを変更した場合
- 今まで使用していた暗号化キーファイルと同じ内容の暗号化キーファイルのファイル名を変更した場合
注意
以下に当てはまる配置ロケーションの変更については、既存の暗号化データが復号できなくなります。
- 今まで使用していた暗号化キーファイルと異なる内容の暗号化キーファイルを配置ロケーションに設定した場合
暗号化キーファイルを刷新する場合は、既存暗号化データを復号できなくなります。データベースのテーブルに暗号化データを保存している場合は、必要に応じてデータの置き換えをする必要があります。
そのため、暗号化キーの編集は計画を立てたうえで、慎重におこなってください。
参考
- 暗号化データの置き換え方法については 暗号化したテーブルデータを置き換える を参照してください。
暗号化キー情報を削除する¶
登録した暗号化キー情報を削除します。
- 「暗号化キー設定」ダイアログにて、登録した暗号化キー情報のレコードの「削除」ボタンをクリックします。
- 確認ダイアログが表示されますので、メッセージを確認の上、「OK」ボタンをクリックします。
- 「暗号化キー設定」ダイアログに対象の情報が削除されていることを確認し、「登録」ボタンをクリックします。
ヒント
削除した暗号化キーの情報は設定したユーザーには即時反映されますが、それ以外のログイン中のユーザーに対しては再ログインした際に反映されます。
注意
- 暗号化キー情報を削除することで、この暗号化キー情報を参照していた暗号化関数、または、復号関数処理時に暗号化キーファイルが読み込めなくなり、関数が失敗します。
- 使用中の暗号化キー情報がある場合は削除しないことをお勧めします。
- 暗号化キー情報を削除する場合は計画を立て、データベースのテーブルに暗号化データを保存している場合は、既存データの置き換えを行ったうえで慎重におこなってください。
参考
- 暗号化データの置き換え方法については 暗号化したテーブルデータを置き換える を参照してください。