Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » セキュリティ » 安全なデータの管理 » データベースの暗号化と復号化 » データベースの一部の暗号化

 

テーブル暗号化

テーブル暗号化によって、データベース全体の暗号化がもたらすようなパフォーマンスの低下を招くことなく、機密データが含まれるテーブルやマテリアライズド・ビューを暗号化することができます。テーブルの暗号化が有効な場合、暗号化されたテーブルのテーブル・ページ、関連するインデックス・ページ、テンポラリ・ファイルのページが暗号化されます。暗号化されたテーブルのトランザクションを含むトランザクション・ログのページも暗号化されます。

マテリアライズド・ビューの暗号化については、マテリアライズド・ビューの暗号化と復号化を参照してください。

データベース内のテーブルを暗号化するためには、テーブル暗号化を有効にしておく必要があります。テーブル暗号化の有効化は、データベースを初期化するときに行います。テーブル暗号化が有効になっているかどうかを確認するには、次のように DB_PROPERTY 関数を使用して EncryptionScope データベース・プロパティの値を取得します。

SELECT DB_PROPERTY( 'EncryptionScope' );

TABLE が返された場合は、テーブル暗号化が有効になっています。

テーブル暗号化で暗号化アルゴリズムが有効であるかどうかを確認するには、次のように DB_PROPERTY 関数を使用して Encryption データベース・プロパティの値を取得します。

SELECT DB_PROPERTY( 'Encryption' );

サポートされている暗号化アルゴリズムのリストについては、データベースの暗号化と復号化を参照してください。

テーブル暗号化がパフォーマンスに及ぼす影響

暗号化されたテーブルでは、各テーブル・ページがディスクへの書き込みと同時に暗号化され、ディスクから読み取るときに復号化されます。このプロセスはアプリケーションには影響しません。ただし、暗号化されたテーブルの読み込みや書き込みにおいてパフォーマンスが多少低下することがあります。既存のテーブルを暗号化または復号化する場合、テーブルのサイズによっては時間がかかることがあります。

暗号化されたテーブル内のカラムに対するインデックスのインデックス・ページ、暗号化されたテーブルのトランザクションを含むトランザクション・ログのページ、データベースのテンポラリ・ファイルのすべてのページも暗号化されます。その他のデータベースとトランザクション・ログ・ページは暗号化されません。

暗号化されたテーブルに圧縮されたカラムが含まれている場合があります。その場合、データは圧縮されてから暗号化されます。

テーブルの暗号化は必要記憶域には影響しません。

テーブル暗号化が有効であるデータベースの起動

テーブル暗号化が有効であるデータベースを起動する方法は、暗号化されたデータベースを起動する場合と同じです。たとえば、-ek オプションを指定してデータベースを起動する場合は、キーを指定する必要があります。-ep オプションを指定してデータベースを起動すると、キーの入力を要求されます。初期化ユーティリティ (dbinit)を参照してください。

データベース内のテーブル暗号化の有効化

テーブル暗号化を有効にする場合は、データベースの作成時に行う必要があります。データベースでテーブル暗号化が有効になっていない場合、またはデータベース暗号化が有効な場合は、テーブル暗号化を有効にしてデータベースを再作成する必要があります。

♦  テーブル暗号化を有効にしてデータベースを作成するには、次の手順に従います (SQL の場合)。
♦  テーブル暗号化を有効にしてデータベースを作成するには、次の手順に従います (コマンド・プロンプトの場合)。
♦  既存のデータベースを使用して、テーブル暗号化を有効にしてデータベースを作成するには、次の手順に従います (SQL の場合)。
テーブルの暗号化

データベース内のテーブルを暗号化するためには、そのデータベースでテーブル暗号化が有効になっている必要があります。データベース内のテーブル暗号化の有効化を参照してください。

テーブルを暗号化するときは、データベースの作成時に指定した暗号化のアルゴリズムとキーが使用されます。

♦  テーブルの作成時にテーブルを暗号化するには、次の手順に従います (SQL の場合)。
♦  作成済みのテーブルを暗号化するには、次の手順に従います (SQL の場合)。
参照