このページを使用して、データベースの各テーブルに対して定義された暗号化可能属性に基づいて、データファイルを暗号化または復号化(つまりデータから暗号化を解除)することができます。4D のデータ暗号化についての詳細な情報に関しては、データの暗号化 の章を参照してください。
暗号化/復号化操作を行うたびに、新しいフォルダが作成されます。そのフォルダは"Replaced Files (Encrypting) <yyyy-mm-dd hh-mm-ss>" あるいは "Replaced Files (Decrypting) <yyyy-mm-dd hh-mm-ss>"と名前が付けられます。
注: 暗号化はメンテナンスモードでのみ利用可能です。この操作を標準モードで実行しようとした場合、データベースが閉じられて、メンテナンスモードで再起動されることを知らせる警告ダイアログが表示されます。
警告:
- データベースの暗号化は時間がかかる操作です。実行中は(ユーザーによって割り込み可能な)進捗インジケーターが表示されます。また、データベース暗号化はその操作の中に必ず圧縮のステップが含まれるという点に注意してください。
- 暗号化操作を行うたびに、その操作はデータファイルのコピーを作成し、その結果アプリケーションファイルのサイズは増大します。アプリケーションのサイズが手に負えなくなるほど巨大にならないよう、このことに注意する必要があります(4D アプリケーションがパッケージとして表示されるmacOSでは特に注意が必要です)。パッケージのサイズを最小化するためには、パッケージ内のコピーされたファイルを手動で削除することなどが有効と言えます。
MSC でデータファイルを初めて暗号化する場合、以下のような手順を踏む必要があります:
- ストラクチャーエディターにおいて、データを暗号化したいテーブルに対して暗号化可能属性をチェックします。詳細はテーブルプロパティ の章を参照してください。
- MSC の暗号化ページを開きます。
どのテーブルにも暗号化可能属性を付けないでページを開こうとした場合、ページに以下のメッセージが表示されます:

そうでない場合には、以下のメッセージが表示されます:

このメッセージは、少なくとも1つのテーブルに対して暗号化可能属性のステータスが変更されていて、データファイルがまだ暗号化されていないことを意味します。
注: すでに暗号化されているデータファイル、または復号化されたデータファイルに対して、暗号化可能属性のステータスが変更された場合にも同じメッセージが表示されます(以下参照)。 - 暗号化ピクチャーボタンをクリックします。

データファイルとのパスフレーズを入力するように聞かれます:

パスフレーズはデータ暗号化キーを生成するのに使用されます。パスフレーズはパスワードの強化版のようなもので、大量の文字を含めることもできます。例えば、"We all came out to Montreux" あるいは "My 1st Great Passphrase!!" のようなパスフレーズを入力することも可能です。
パスフレーズの安全性は、セキュリティレベルインジケーターによって確認できます:

(濃い緑色がもっとも安全なレベルであることを示します) - Enterを押して安全なパスフレーズの入力を確定します。
暗号化プロセスがスタートします。MSC が標準モードで開かれていた場合、データベースはメンテナンスモードで再起動されます。
4D では暗号化キーを保存することができます(以下の暗号化キーを保存する の段落を参照してください)。暗号化キーの保存は、このタイミングか、あるいは後ほど行うこともできます。また暗号化ログファイルを開くこともできます。
暗号化プロセスが正常に完了した場合、暗号化ページは暗号化メンテナンスオペレーション ボタンを表示します。
警告: 暗号化操作の最中、4D は新しい、空のデータファイルを作成したうえで、元のデータファイルからデータを注入します。"暗号化可能"テーブルに属しているレコードは暗号化されてコピーされ、他のレコードは単にコピーされるだけです(また圧縮オペレーションも実行されます)。操作が正常に完了した場合、もとのデータファイルは"Replaced Files (Encrypting)"フォルダへと移動されます。暗号化されたデータファイルを配布したい場合、データベースフォルダから暗号化されていないデーファイルを全て移動/削除しておくようにしてください。
データベースが暗号化されているとき(上記参照)、暗号化ページでは、標準のシナリオに対応した様々の暗号化メンテナンスオペレーションを提供します。

セキュリティ上の理由から、暗号化メンテナンスオペレーションは全てカレントのデータ暗号化キーを入力する必要があります。
- データ暗号化キーが既に4D キーチェーン(*)に読み込まれている場合、そのキーは4D によって自動的に再利用されます。
- データ暗号化キーが見つからない場合、それを入力する必要があります。以下のようなダイアログが表示されます:

この段階では2つの選択肢があります:
- カレントのパスフレーズ(**) を入力してをOK クリックする
または - USB キーなどのデバイス(データ暗号化キーをファイルに保存する参照)を接続して、デバイスをスキャンボタンをクリックする
(*) 4D キーチェーンは、アプリケーションのセッション中に入力された全ての有効なデータ暗号化キーを保管します。
(**) カレントのパスフレーズとは、カレントのデータ暗号化キーを生成するのに使用されたパスフレーズです。
詳細な情報については概念と用語 の段落を参照してください。
いずれの場合においても、有効なパスフレーズ・暗号化キーが提供されると、4D は(まだメンテナンスモードではなかった場合は)メンテナンスモードで再起動し、そして選択されたオペレーションを実行します。
この操作は、データを格納している1つ以上のテーブルにおいて暗号化可能属性が変更された場合に有用です。この場合、データの整合性を保つために、4D はアプリケーション内のそのテーブルのレコードへの書き込みアクセスを禁止します。その後、有効な暗号化ステータスを得るためにデータの再暗号化が必要になります。
- カレントの暗号化キーでデータを再暗号化をクリック
- カレントのデータ暗号化キーを入力(カレントの暗号化キーを入力するを参照)
データファイルはカレントのデータ暗号化キーで正常に再暗号化され、確認メッセージが表示されます:

この操作はカレントの暗号化データキーを変更したい場合に有用です。例えば、セキュリティ上のルール(3ヶ月ごとにパスプレーズを変更する必要があるなど)を遵守するために変更を行いたいケースなどが考えられます。
- パスフレーズを変更してデータを再暗号化するをクリックします。
- カレントのデータ暗号化キーを入力します(カレントの暗号化キーを入力する参照)。
- 新しいパスフレーズを入力します(セキュリティのため、2度入力するように聞かれます):

データファイルは新しいキーで暗号化され、確認メッセージが表示されます:

この操作はデータファイルから全ての暗号化を取り除きます。データを暗号化しておきたくない場合、以下の手順に従って下さい:
- 全てのデータを復号化するをクリックします。
- カレントのデータ暗号化キーを入力します(カレントの暗号化キーを入力する参照)
データは完全に復号化され、確認メッセージが表示されます:

注: この操作はテーブルの暗号化可能属性のステータスを変更します。データファイルが復号化されると、テーブルの暗号化ステータスは暗号化可能属性と合致しなくなります。ステータスを合致させるためには、データベースのストラクチャーレベルにおいて全ての暗号化可能属性を選択解除しなければなりません。
4D ではデータ暗号化キーを専用のファイルに保存しておくことができます。このファイルをUSB キーなどの外部デバイスに保存しておくと、暗号化されたデータベースを使うのが簡単になります。なぜならユーザーは暗号化されたデータにアクセスするためには、データベースを開く前にデバイスを接続してキーを提供すればよいからです。詳細な情報については、データ暗号化キーをファイルに保存する の段落を参照して下さい。
毎回新しいパスフレーズが提供されるたびに(以下のタイミングで)暗号化キーを保存することができます:
- データベースが最初に暗号化された時
- データベースが新しいパスフレーズで再暗号化された時
注: 連続した暗号化キーを同じデバイスに保存することが可能です。
暗号化オペレーションが完了すると、4D はデータベースのLogs フォルダ内にファイルを生成します。このファイルはXML 形式で作成され、"<DatabaseName>_Encrypt_Log_<yyyy-mm-dd hh-mm-ss>.xml" または "<DatabaseName>_Decrypt_Log_<yyyy-mm-dd hh-mm-ss>.xml"という名前がつけられています。
新しくログファイルが生成されるたび、MSC ページにログファイルを開くボタンが表示されます。
このログファイルには暗号化/復号化プロセスの間に実行された内部オペレーションが全て記録されているほか、エラー(あれば)が記録されています。