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 サーバ - データベース管理 » セキュリティ » 安全なデータの管理 » データベースの暗号化と復号化

 

暗号化されたデータベースの作成

暗号化されたデータベースは、次の方法で作成できます。

  • データベース初期化ユーティリティ (dbinit) を使用し、強力な暗号化を有効にするための各種オプションを指定する。

    dbinit ユーティリティの -ep オプションと -ek オプションを使用すると、強力な暗号化が適用されたデータベースが作成され、プロンプト・ボックスまたはコマンド・ラインで暗号化キーを指定できます。dbinit -ea オプションは、暗号化アルゴリズムを AES または AES256 (FIPS 認定アルゴリズムの場合は AES_FIPS または AES256_FIPS) に設定します。初期化ユーティリティ (dbinit)を参照してください。

  • Sybase Central のデータベース作成ウィザードで強力に暗号化されたデータベースを作成する。データベースの作成 (Sybase Central)を参照してください。

  • データベースのアンロード・ユーティリティ (dbunload) を使用し、新規データベースを強力な暗号化で作成するためのオプションを指定する。-an オプションは、新規データベースを作成します。強力な暗号化と暗号化キーをプロンプト・ボックスまたはコマンド・ラインで指定するには、-ep オプションまたは -ek オプションを使用します。-ea オプションは、暗号化アルゴリズムを AES または AES256 (FIPS 認定アルゴリズムの場合は AES_FIPS または AES256_FIPS) に設定します。アンロード・ユーティリティ (dbunload)を参照してください。

  • Sybase Central のデータベース・アンロード・ウィザードを使用して、強力に暗号化されたデータベースを作成する。データベース・アンロード・ウィザードを使用したデータのエクスポートを参照してください。

  • 次の SQL 文を使用する。

♦  暗号化されたデータベースを作成するには、次の手順に従います (SQL の場合)。
  1. Interactive SQL から既存のデータベースに接続します。

  2. ENCRYPTION 句、KEY オプション、ALGORITHM オプションを含む CREATE DATABASE 文を実行します。

    たとえば、次の文は、FIPS 認定の 128 ビット AES 暗号化を使用して、c:\ ディレクトリにデータベース・ファイル myencrypteddb.db を作成します。

    CREATE DATABASE 'c:\\myencrypteddb.db'
    TRANSACTION LOG ON
    ENCRYPTED ON
      KEY '0kZ2o52AK#'
      ALGORITHM 'AES_FIPS';
♦  暗号化されたデータベースを作成するには、次の手順に従います (コマンド・プロンプトの場合)。
  1. dbinit ユーティリティを使用してデータベースを作成します。コマンド・プロンプトまたはウィンドウで暗号化キーを指定するには、-ek または -ep をそれぞれ指定します。

    次のコマンドは、強力に暗号化されたデータベースを作成し、暗号化キーとアルゴリズムを指定します。

    dbinit -ek "0kZ2o56AK#" -ea AES_FIPS "myencrypteddb.db"
  2. 次のコマンドを入力して、データベースを起動します。

    dbeng11 myencrypteddb.db -ek "0kZ2o56AK#"
♦  既存のデータベースを使用して、暗号化されたデータベースを作成するには、次の手順に従います (SQL の場合)。
  1. Interactive SQL から既存のデータベース (コピーするデータベース以外) に接続します。

  2. CREATE ENCRYPTED DATABASE 文を使用してデータベースを暗号化します。

    次の文では、データベース・ファイル demo.db の AES で暗号化されたコピーを作成し、そのコピーに encryptedDemo.db という名前を付けます。

    CREATE ENCRYPTED DATABASE 'encryptedDemo.db'
    FROM 'demo.db'
    KEY 'abc'
    ALGORITHM 'AES';

    CREATE ENCRYPTED DATABASE 文を実行すると、ファイルが暗号化 (上書き) されるのではなく、ファイルのコピーが暗号化形式で作成されます。データベースに関連付けられたトランザクション・ログ、トランザクション・ログ・ミラー、または DB 領域がある場合は、これらのファイルの暗号化されたコピーも作成されます。CREATE ENCRYPTED DATABASE 文を参照してください。

テクニカル・サポートのためのデータベースの暗号化

リカバリが必要なデータベースがあり、サポートに送信するために暗号化したい場合は、CREATE ENCRYPTED FILE 文を使用します。トランザクション・ログ、トランザクション・ログ・ミラー、DB 領域ファイルなどのデータベース関連ファイルもすべてこの文を使用して暗号化します。CREATE ENCRYPTED FILE 文を参照してください。

CREATE ENCRYPTED DATABASE 文と CREATE ENCRYPTED FILE 文の比較

既存のデータベースを暗号化する場合は CREATE ENCRYPTED DATABASE 文を使用します。CREATE ENCRYPTED FILE 文は、リカバリが必要なデータベースを暗号化する場合にのみ使用します。

どちらの文にも DBA 権限が必要であり、また文を実行するときに暗号化するデータベースに接続していることはできません。

CREATE ENCRYPTED FILE 文と CREATE ENCRYPTED DATABASE 文には次の違いがあります。

  • CREATE ENCRYPTED FILE 文はデータベース関連ファイル (トランザクション・ログ、トランザクション・ログ・ミラー、DB 領域) ごとに実行する必要がありますが、CREATE ENCRYPTED DATABASE 文では、データベース関連ファイルがすべて自動的に暗号化されます。

  • CREATE ENCRYPTED DATABASE 文はリカバリが必要なデータベースには使用できませんが、CREATE ENCRYPTED FILE 文は使用できます。

  • CREATE ENCRYPTED DATABASE 文は、プロシージャ、トリガ、またはバッチ内では使用できません。CREATE ENCRYPTED FILE 文は使用できます。

  • CREATE ENCRYPTED DATABASE 文では単純暗号化アルゴリズムがサポートされていますが、CREATE ENCRYPTED FILE 文ではこのアルゴリズムはサポートされていません。

参照

暗号化キーの詳細については、DatabaseKey 接続パラメータ [DBKEY] を参照してください。

Windows Mobile では、ARM プロセッサ用に AES_FIPS および AES256_FIPS アルゴリズムのみがサポートされています。

注意

FIPS は、すべてのプラットフォームで使用できるわけではありません。サポートされるプラットフォームのリストについては、[external link] http://www.ianywhere.jp/sas/os.html を参照してください。