(57)【特許請求の範囲】
【請求項１】
データベースメンテナンスサービスを実行するデータベースアドミニストレータによって管理されるデータベースシステムの内部で暗号化を管理する方法であって、暗号化は、自動的に実行され、該データベースシステムのユーザは、該暗号化が実行されたことに気づかず、該データベースシステムの該ユーザは、該データベースシステムへアクセスするための該ユーザの権限を授与および制限するユーザアドミニストレータによって管理され、
該方法は、
該データベースシステムのカラムにデータを保存するように要求するリクエストを受信することであって、該カラムが暗号化カラムとして指定される、ことと、
該データベースシステムのプロファイルテーブルから該暗号化カラムの暗号化パラメータを回復することによって該暗号化カラムの暗号化パラメータを確立することであって、該暗号化パラメータは、暗号化モードと、キー長さと、整合性タイプとを含む、ことと、
該リクエストを受信することに応答して、暗号関数を用いて自動的にデータを暗号化することであって、該暗号関数は、データベースサーバを介して暗号化システムを制御するセキュリティアドミニストレータによって管理されるキーファイルに保存されたキーを用い、該キーファイルは、該暗号化システムに保存される、ことと、
該データシステムの保存関数を用いて該データベースシステムにデータを保存することと
を包含し、
該プロファイルテーブルと該キーファイルとは別個のエンティティである、方法。
【請求項２】
前記データベースシステムの前記暗号化カラムからデータを検索するように要求するリクエストを受信することと、
該データを検索するように要求するリクエストが前記データベースアドミニストレータから受信される場合、該データベースアドミニストレータが暗号化データを復号化することを防ぐことと、
該データを検索するように要求するリクエストが前記セキュリティアドミニストレータから受信される場合、該セキュリティアドミニストレータが暗号化データを復号化することを防ぐことと、
該データを検索するように要求するリクエストが該データベースシステムの許可されたユーザからのものである場合、該許可されたユーザが暗号化データを復号化することを認可することと
をさらに包含する、請求項１に記載の方法。
【請求項３】
前記セキュリテイアドミニストレータは、データ暗号化規格（ＤＥＳ）および三重ＤＥＳの内の１つを前記カラムの暗号化モードとして選択する、請求項１に記載の方法。
【請求項４】
前記セキュリティアドミニストレータと前記データベースアドミニストレータと前記ユーザアドミニストレータとは、異なる役割を果たし、前記データベースシステムは、該役割の内の１つの役割を果たすために選択された人が、該役割の内の別の役割を果たすために選択されることを、認可しない、請求項１に記載の方法。
【請求項５】
前記キーファイルを管理することは、
該キーファイルを作成することと、
該キーファイルに保存されるべき複数のキーを確立することと、
キー識別子と該キーファイルに保存されたキーとの間の関係を確立することと、
前記データベースシステムの暗号化ファイルと、該データベースシステムから離れた位置との内の１つに該キーファイルを保存することと、
該データベースシステムに関連するサーバ内の揮発メモリに、該キーファイルの不明瞭化コピーであって、該キーファイルを可逆に難読化させたものである不明瞭化コピーを移動させることと
を包含する、請求項１に記載の方法。
【請求項６】
暗号化されるべき前記カラムを特定するように要求するリクエストを前記セキュリティアドミニストレータから受信すると、該カラムが現時点でデータを含む場合には、該方法は、
該カラムが以前に暗号化された場合に古いキーを用いて該カラムを復号化することと、
新しいキーを用いて該カラムを暗号化することと
をさらに包含する、請求項１に記載の方法。
【請求項７】
前記暗号化カラムに関連するキー識別子が、前記データベースシステム内の該暗号化カラムを含むテーブルに関連するメタデータとして保存される、請求項５に記載の方法。
【請求項８】
命令を保存するコンピュータ読み出し可能な格納装置であって、該命令は、コンピュータによって実行されると、該コンピュータに、データベースメンテナンスサービスを実行するデータベースアドミニストレータによって管理されるデータベースシステムの内部で暗号化を管理する方法を実行させ、暗号化は、自動的に実行され、該データベースシステムのユーザは、該暗号化が実行されたことに気づかず、該データベースシステムの該ユーザは、該データベースシステムへアクセスするための該ユーザの権限を授与および制限するユーザアドミニストレータによって管理され、
該方法は、
該データベースシステムのカラムにデータを保存するように要求するリクエストを受信することであって、該カラムが暗号化カラムとして指定される、ことと、
該データベースシステムのプロファイルテーブルから該暗号化カラムの暗号化パラメータを回復することによって該暗号化カラムの暗号化パラメータを確立することであって、該暗号化パラメータは、暗号化モードと、キー長さと、整合性タイプとを含む、ことと、
該リクエストを受信することに応答して、暗号関数を用いて自動的にデータを暗号化することであって、該暗号関数は、データベースサーバを介して暗号化システムを制御するセキュリティアドミニストレータによって管理されるキーファイルに保存されたキーを用い、該キーファイルは、該暗号化システムに保存される、ことと、
該データシステムの保存関数を用いて該データベースシステムにデータを保存することと
を包含し、
該プロファイルテーブルと該キーファイルとは別個のエンティティである、コンピュータ読み出し可能な格納装置。
【請求項９】
前記方法は、
前記データベースシステムの前記暗号化カラムからデータを検索するように要求するリクエストを受信することと、
該データを検索するように要求するリクエストが前記データベースアドミニストレータから受信される場合、該データベースアドミニストレータが暗号化データを復号化することを防ぐことと、
該データを検索するように要求するリクエストが前記セキュリティアドミニストレータから受信される場合、該セキュリティアドミニストレータが暗号化データを復号化することを防ぐことと、
該データを検索するように要求するリクエストが該データベースシステムの許可されたユーザからのものである場合、該許可されたユーザが暗号化データを復号化することを認可することと
をさらに包含する、請求項８に記載のコンピュータ読み出し可能な格納装置。
【請求項１０】
前記セキュリテイアドミニストレータは、データ暗号化規格（ＤＥＳ）および三重ＤＥＳの内の１つを前記カラムの暗号化モードとして選択する、請求項８に記載のコンピュータ読み出し可能な格納装置。
【請求項１１】
前記セキュリティアドミニストレータと前記データベースアドミニストレータと前記ユーザアドミニストレータとは、異なる役割を果たし、前記データベースシステムは、該役割の内の１つの役割を果たすために選択された人が、該役割の内の別の役割を果たすために選択されることを、認可しない、請求項８に記載のコンピュータ読み出し可能な格納装置。
【請求項１２】
前記キーファイルを管理することは、
該キーファイルを作成することと、
該キーファイルに保存されるべき複数のキーを確立することと、
キー識別子と該キーファイルに保存されたキーとの間の関係を確立することと、
前記データベースシステムの暗号化ファイルと、該データベースシステムから離れた位置との内の１つに該キーファイルを保存することと、
該データベースシステムに関連するサーバ内の揮発メモリに、該キーファイルの不明瞭化コピーであって、該キーファイルを可逆に難読化させたものである不明瞭化コピーを移動させることと
を包含する、請求項８に記載のコンピュータ読み出し可能な格納装置。
【請求項１３】
暗号化されるべき前記カラムを特定するように要求するリクエストを前記セキュリティアドミニストレータから受信すると、該カラムが現時点でデータを含む場合には、該方法は、
該カラムが以前に暗号化された場合に古いキーを用いて該カラムを復号化することと、
新しいキーを用いて該カラムを暗号化することと
をさらに包含する、請求項８に記載のコンピュータ読み出し可能な格納装置。
【請求項１４】
前記暗号化カラムに関連するキー識別子が、前記データベースシステム内の該暗号化カラムを含むテーブルに関連するメタデータとして保存される、請求項１２に記載のコンピュータ読み出し可能な格納装置。
【請求項１５】
データベースメンテナンスサービスを実行するデータベースアドミニストレータによって管理されるデータベースシステムの内部の暗号化の管理を容易にする装置であって、暗号化は、自動的に実行され、該データベースシステムのユーザは、該暗号化が実行されたことに気づかず、該データベースシステムの該ユーザは、該データベースシステムへアクセスするための該ユーザの権限を授与および制限するユーザアドミニストレータによって管理され、
該装置は、
該データベースシステムのカラムにデータを保存するように要求するリクエストを受信するように構成される受信機構であって、該カラムが暗号化カラムとして指定される、受信機構と、
該暗号化カラムの暗号化パラメータを確立するように構成される確立機構であって、該暗号化パラメータは、暗号化モードと、キー長さと、整合性タイプとを含み、該確立機構は、該データベースシステムのプロファイルテーブルから該暗号化カラムの暗号化パラメータを回復するように構成される回復機構を含む、確立機構と、
暗号関数を用いてデータを暗号化するように構成される暗号化機構であって、該暗号関数は、データベースサーバを介して暗号化システムを制御するセキュリティアドミニストレータによって管理されるキーファイルに保存されたキーを用い、該キーファイルは、該暗号化システムに保存される、暗号化機構と、
該データシステムの保存関数を用いて該データベースシステムにデータを保存するように構成される保存機構と
を含み、
該プロファイルテーブルと該キーファイルとは別個のエンティティである、装置。
【請求項１６】
前記データベースシステムの前記暗号化カラムからデータを検索するように要求するリクエストを受信するようにさらに構成される前記受信機構と、
該データベースアドミニストレータおよび前記セキュリティアドミニストレータが暗号化データを復号化することを防ぐように構成されるアクセス機構と
をさらに含み、
該アクセス機構は、該データベースシステムの許可されたユーザが暗号化データを復号化することを認可するように構成される、請求項１５に記載の装置。
【請求項１７】
データ暗号化規格（ＤＥＳ）および三重ＤＥＳの内の１つを前記カラムの暗号化モードとして選択するように構成される選択機構をさらに含む、請求項１５に記載の装置。
【請求項１８】
前記セキュリティアドミニストレータと前記データベースアドミニストレータと前記ユーザアドミニストレータとは、異なる役割を果たし、前記データベースシステムは、該役割の内の１つの役割を果たすために選択された人が、該役割の内の別の役割を果たすために選択されることを、認可しない、請求項１５に記載の装置。
【請求項１９】
前記キーファイルを作成するように構成される作成機構をさらに含み、
前記確立機構は、該キーファイルに保存されるべき複数のキーを確立し、キー識別子と該キーファイルに保存されたキーとの間の関係を確立するようにさらに構成され、
前記データベースシステムの暗号化ファイルと該データベースシステムから離れた位置の内の１つに該キーファイルを保存するように構成される保存機構と、
該データベースシステムに関連するサーバ内の揮発メモリに、該キーファイルの不明瞭化コピーであって、該キーファイルを可逆に難読化させたものである不明瞭化コピーを移動させるように構成される移動機構と
をさらに含む、請求項１５に記載の装置。
【請求項２０】
前記カラムが以前に暗号化された場合に以前のキーを用いて該カラムを復号化するように構成される復号化機構をさらに含み、
前記暗号化機構は、新しいキーを用いて該カラムを暗号化するようにさらに構成される、請求項１５に記載の装置。
【請求項２１】
前記暗号化カラムに関連するキー識別子が、前記データベースシステム内の該暗号化カラムを含むテーブルに関連するメタデータとして保存される、請求項１９に記載の装置。
【発明の詳細な説明】
【０００１】
（発明の背景）
（発明の分野）
本発明は、コンピュータシステム内のコンピュータセキュリティおよびデータベースに関する。より詳細には、本発明は、データベースに格納されるべきデータを自動的に暗号化および復号化するための方法および装置に関する。
【０００２】
（関連技術）
現代のデータベースシステムは、大量の情報の格納および取り出しを行う。この情報のいくつか（クレジットカード番号、銀行残高、および核機密等）は機密（ｓｅｎｓｉｔｉｖｅ）であり、そのためこの情報が、悪意のある者の手に渡らないように保護されなければならない。
【０００３】
いくつかのデータベースシステムは、各クライアントに割り当てられたセキュリティプロファイルにおいて特定されたアクセス規制を用いることによって、特定の情報へのアクセスを制限することを可能にする。このようなシステムは、クライアントが、クライアントに権限が与えられたもの以外の情報にアクセスすることを回避する。通常これは、機密情報を保護し、これにより、ユーザがデータベースシステムがデータベースシステム内に格納された情報が秘密のままであることを確実にすると信頼するに至る。
【０００４】
しかし、これらのタイプのデータベースシステムには主要な弱点がある。このデータベースアドミニストレータ（ＤＢＡ）は、データベースシステム内に格納された全てのものへのアクセスを有する。この制限されないアクセスは、悪意のあるＤＢＡがデータベースシステムから情報を盗み、この盗んだ情報を違法目的に使用することを可能にする。なお、ＤＢＡに対してアクセス規制を実施することは実用的ではない。なぜなら、アクセス規制は、ＤＢＡが必要なデータベース保守機能を実行することを妨げるためである。
【０００５】
機密情報は、クライアントにおけるユーザアプリケーション内の機密情報を暗号化することによってＤＢＡに対して秘密を保持し得る。このアプローチでは、全ての機密情報はデータベースシステム内に暗号化された形態で格納され、その結果、ＤＢＡによる調査から保護される。このアプローチの利点は、ＤＢＡがデータベース保守機能を実行することについては制限を受けないことである。しかし、このアプローチの主な欠点は、機密情報を処理する全てのユーザアプリケーションが情報を暗号化および復号化し得る必要があることである。機密データを処理する多数のアプリケーションの全てにおいてこのような暗号化コードおよび復号化コードを提供することは非常に困難である。
【０００６】
必要とされていることは、ＤＢＡがデータベースシステムへの制限のないアクセスを有することを可能にしつつ、効率的な態様でデータベースシステム内の機密情報を保護する方法および装置である。
【０００７】
（要旨）
本発明の一実施形態は、データベースアドミニストレータによって管理されるデータベースシステム内の暗号化を管理するためのシステムを提供し、かつユーザアドミニストレータがデータベースシステムに関連しない場合は、データベースシステムのユーザを管理する。このシステムは、自動的に暗号化を実行し、データベースシステムのユーザに気付かれることなく実行する。このシステムは、データベースシステムのカラムにデータを格納するリクエストを受け取ることによって動作する。ユーザが、暗号化されたカラムとしてカラムを指定した場合、システムは、暗号化機能を使用してデータを自動的に暗号化する。この暗号化機能は、セキュリティアドミニストレータによって管理されたキーファイルに格納されたキーを使用する。データを暗号化した後、システムは、データベースシステムの格納機能を使用して、データベースシステムにデータを格納する。
【０００８】
本発明の一実施形態では、システムは、データベースシステムに格納された暗号化されたデータを復号化することを管理する。このシステムは、データベースシステムの暗号化されたカラムからデータを取り出すリクエストを受信することによって動作する。データを取り出すリクエストが、データベースシステムの認定されたユーザからなされる場合、システムは、認定されたユーザが暗号化されたデータを復号化することを可能にし、そうでなければ、データを取り出すリクエストが、データベースアドミニストレータ、セキュリティアドミニストレータ、または、ユーザアドミニストレータから受け取られる場合、システムは、暗号化されたデータを復号化することを妨げる。
【０００９】
本発明の一実施形態では、セキュリティアドミニストレータは、カラムに対する暗号化モードを選択する。暗号化のモードは、限定されないが、データ暗号化標準（ＤＥＳ）またはトリプルＤＥＳであり得る。
【００１０】
本発明の一実施形態では、セキュリティアドミニストレータ、データベースアドミニストレータ、およびユーザアドミニストレータは、異なる役割がある。これらの役割の内の１つに選択された者は、これらの役割の内の別の役割に選択されることができない。
【００１１】
本発明の一実施形態では、セキュリティアドミニストレータは、キーファイルを管理する。キーファイルを管理することによって、セキュリティアドミニストレータは、キーファイルを作成する。次に、セキュリティアドミニストレータは、どれくらいの数のキーがキーファイルに格納されるかを設定する。次いで、セキュリティアドミニストレータは、キーファイルに格納されたキー識別子とキーとの間の関係を設定する。このキーファイルは、データベースシステムにおける暗号化されたファイル等の位置またはデータベースシステムとは別の位置に格納され得る。最終的には、セキュリティアドミニストレータは、キーファイルの不明瞭化された（ｏｂｆｕｓｃａｔｅｄ）コピーをデータベースシステムに関連付けられたサーバ内部の揮発性メモリに移動させる。
【００１２】
本発明の一実施形態では、セキュリティアドミニストレータは、暗号化されるべきカラムを特定する。現在、このカラムが暗号化されたデータを含む場合、システムは、前回のキーを用いてデータを復号化する。暗号化されたデータを復号化した後、またはこのカラムが平文データを含む場合、このシステムは、新しいキーを用いてこのデータを暗号化する。
【００１３】
本発明の一実施形態では、暗号化されたカラムに関連付けられたキー識別子が、データベースシステム内に暗号化されたカラムを含むテーブルに関連付けられたメタデータとして格納される。
【００１４】
本発明の一実施形態では、セキュリティアドミニストレータは、暗号化されたカラムに対する暗号化パラメータを設定する。これらの暗号化パラメータは、限定されないが、暗号化モード、キー長さ、および完全性（ｉｎｔｅｇｒｉｔｙ）タイプを含む。セキュリティアドミニストレータは、暗号化されたカラムに対する暗号化パラメータを手動で入力し得る。さらにセキュリティアドミニストレータは、暗号化されたカラムに対する暗号化パラメータを保存または回復するために、データベースシステムにおいてプロファイルテーブルを設定する。
【００１５】
（詳細な説明）
以下の説明は、当業者が本発明を作成しかつ使用することを可能にするように示され、特定の用途およびその要求の点において提供される。開示された実施形態に対する様々な改変が、当業者に容易に明らかになり、本明細書中で規定される一般的な原理が本発明の精神および範囲を逸脱することなく、他の実施形態および用途に適用され得る。従って、本発明は示された実施形態に限定されることが意図されないが、本明細書中で開示された原理および特徴と一致する最も広い範囲が与えられる。
【００１６】
詳細な説明において説明されたデータ構造およびコードは、典型的には、コンピュータ読み出し可能媒体上に格納される。コンピュータ読み出し可能媒体は、コンピュータシステムで使用するためにコードおよび／またはデータを格納し得る任意のデバイスまたは媒体であり得る。これは、限定されないが、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、およびＤＶＤ（デジタルバーサタイルディスクまたはデジタルビデオディスク）等の磁気記憶装置および光記憶装置、ならびに伝達媒体（信号が変調される搬送波を有するかまたは有しない）に埋め込まれたコンピュータ命令信号を含む。例えば、伝達媒体は、インターネット等の通信ネットワークを含み得る。
【００１７】
（データベースシステム）
図１は、本発明の実施形態によるデータベースシステムを示す。図１に示されるようにクライアント１１０は、データベースサーバ１１２に接続される。クライアント１１０およびデータバースサーバ１１２は、限定されないが、マイクロプロセッサに基づくコンピュータシステム、メインフレームコンピュータ、デジタル信号プロセッサ、パーソナルオーガナイザ、デバイスコントローラ、および機器内の計算エンジンを含む任意のタイプのコンピュータシステムを含み得る。
【００１８】
またデータベースサーバ１１２は、データベース１１８に接続される。データベース１１８は、不揮発性記憶装置にデータを格納するための任意のタイプのシステムを含む。これは、限定されないが、磁気、光学、および磁気光学記憶装置、ならびに、フラッシュメモリおよび／またはバッテリバックアップメモリに基づく記憶装置を含む。
【００１９】
データベースサーバ１１２は、キー管理機能１１４および不明瞭化キーファイル１１６を含む。不明瞭化キーファイル１１６は、キーファイル１２０におけるデータのコピーを含む。キーファイル１２０は、データを暗号化および復号化するためのキーおよびキー識別子を含む。キーファイル１２０は、データベースシステムとは別のシステムに格納されるかまたはデータベース１１８における暗号化されたテーブルとして格納され得る。
【００２０】
ユーザ１０２は、クライアント１１０を介してデータベース１１８にアクセスする。ユーザアドミニストレータ１０４は、ユーザ１０２にデータベース１１８にアクセスする特権を与える。ユーザアドミニストレータ１０４は、データベースにアクセスできない。
【００２１】
セキュリティアドミニストレータ１０６は、データベースサーバ１１２を介して暗号化システムを管理する。暗号化システムを管理することは、限定されないが、キーファイル１２０を管理し、データベース１１８内のどのテーブルのカラムが暗号化されるかを特定することを含む。
【００２２】
データベースアドミニストレータ１０８は、データバックアップ、データ回復、格納割り当て等のサービスを実行することによってデータベースシステムを管理する。
【００２３】
データベースシステム内では、ユーザアドミニストレータ１０４、セキュリティアドミニストレータ１０６、およびデータベースアドミニストレータ１０８は異なる役割である。これらの役割の内の１つに選択された者は、これらの役割の内の別の役割に選択され得ない。
【００２４】
（データベースの詳細）
図２は、本発明の実施形態によるデータベースシステムの詳細を示す。キー管理機能１１４および不明瞭化キーファイル１１６に加えて、データベースサーバ１１２は、限定されないが、暗号化機能２０４、復号化機能２０６、格納機能２０８、取り出し機能２１０をさらに含む。
【００２５】
暗号化機能２０４は、不明瞭化キーファイル１１６からのキーを使用して、クライアント１１０から受信されたデータ２０２を暗号化する。復号化機能２０６は、不明瞭化キーファイル１１６からのキーを使用して、データベース１１８から受信されたデータ２１２を復号する。格納機能２０８は、データ２１２をデータベース１１８に格納する一方で、取り出し機能２１０は、データベース１１８からデータ２１２を取り出す。
【００２６】
データベース１１８は、限定されないが、テーブル２１８、プロフィール２２０、およびメタデータ２２２を含む。テーブル２１８は、カラム２２４、２２６、２２８、および２３０にわたる単一のロウにおいて配置された関連付けられたデータを用いて編成される。図２に示されるように、テーブル２１８の第１のロウは、カラム２２４においてＸＸＸ、カラム２２６においてナショナル識別子（ｎａｔｉｏｎａｌ  ｉｄｅｎｔｉｆｉｅｒ）ＮＩＤ、カラム２２８においてＹＹＹ、カラム２３０においてＺＺＺを含む。データ２１２がテーブル２１８のロウに格納され、テーブル２１８のロウから取り出される。
【００２７】
メタデータ２２２は、カラム２４０、２４２、２４４、および２４６において、テーブル２１８に対する暗号化パラメータを格納する。メタデータ２２２の第１のロウは、テーブル２１８におけるカラム２２６に関係する。カラム２４０は、カラム２２６が暗号化されたことを識別する。カラム２４２は、カラム２２６のデータを暗号化するための使用される不明瞭化キーファイル１１６内部のキーに対するキー識別子を含む。カラム２４４は暗号化モードを示す。この例では、データ暗号化基準（ＤＥＳ）暗号化が使用される。カラム２４６は、暗号化されたデータの改ざんを検出するために使用されるべきデータ完全性機構を示す。この例では、メッセージダイジェスト５（ＭＤ５）が使用される。暗号化パラメータが、メタデータ２２２に格納するためのパラメータ２１６としてデータサーバ１１２に供給される。
【００２８】
プロファイル２２０は、カラム２３２、２３４、２３６、および２３８におけるセキュリティアドミニストレータ１０６によって作成された暗号化プロファイルを格納する。プロファイル２２０の第１のロウはプロファイルを含む。カラム２３２は、プロファイルの名前９９９を示す。カラム２３４は、暗号化モードを示す。この例では、プロファイルは、データ暗号化標準（ＤＥＳ）暗号化が使用されることを示す。カラム２３６は、使用するキーの長さを示す。この例は、５６ビットのキー長さを示す。カラム２３８は、プロファイルと共に使用されるべきデータ完全性機構を示す。この例は、安全なハッシュアルゴリズム１（ＳＨＡ−１）が使用されることを示す。プロファイルは、プロファイル２１４としてデータベース１１８に供給される。
【００２９】
（キーファイルの作成）
図３は、本発明の実施形態による、キーファイル１２０を作成するプロセスを示すフローチャートである。キー管理機能１１４が、セキュリティアドミニストレータ１０６からキーファイル１２０を作成するリクエストを受信する場合、システムが開始する（ステップ３０２）。キー管理機能１１４は、セキュリティアドミニストレータ１０６から作成すべきキーの数を受信する（ステップ３０４）。次に、キー管理機能１１４は、セキュリティアドミニストレータ１０６からキーファイル１２０の名前を受信する（ステップ３０６）。またキー管理機能１１４は、セキュリティアドミニストレータ１０６からランダムキー発生器シードを受信する（ステップ３０８）。
【００３０】
キー管理機能１１４は、キーおよび整合キー識別子を作成する（ステップ３１０）。次に、キー管理機能１１４は、キーファイル１２０（ステップ３１２）を格納する。キーファイル１２０が、データベースシステムから離れた位置に格納され得るか、またはデータベース１１８内の暗号化されたテーブルとして格納され得ることに留意されたい。
【００３１】
最終的に、キー管理機能１１４は、キーファイル１２０の不明瞭なコピーを作成し、データベースサーバ１１２の揮発性メモリにおいて、不明瞭化キーファイル１１６としてこのコピーを格納する（ステップ３１４）。
【００３２】
（プロファイルの作成）
図４は、本発明の実施形態による暗号化プロファイルを作成するためのプロセスを示すフローチャートである。キー管理機能１１４が、セキュリティアドミニストレータ１０６から暗号化プロファイルを作成するリクエストを受信する場合、このシステムが開始する（ステップ４０２）。キー管理機能１１４は、セキュリティアドミニストレータ１０６からその作成すべきプロファイルの名前を受け取る（ステップ４０４）。次にキー管理機能１１４は、このプロファイルに関連付けるべき暗号化アルゴリズムを受信する（ステップ４０６）。次いで、キー管理機能１１４は、このプロファイルに関連付けるべきキーの長さを受信する（ステップ４０８）。次に、キー管理アルゴリズム１１４は、このプロファイルに関連付けるべきデータ完全性タイプを受信する（ステップ４１０）。キー管理機能１１４は、プロファイルを生成する（ステップ４１２）。最終的には、キー管理機能１１４は、プロファイル（カラム２３２、２３４、２３６、および２３８におけるプロファイルの名前、暗号化モード、キーの長さ、完全性タイプからなる）を、次の利用可能なプロファイル２２０のロウに格納する（ステップ４１４）。
【００３３】
（暗号化カラムの確立）
図５は、本発明の実施形態によって暗号化カラムとしてデータベースのカラムを確立するプロセスを示すフローチャートである。本システムは、データベースサーバ１１２がデータベース１１８のテーブル２１８のカラム（例えば、カラム２２６）を暗号化するように要求するリクエストを受信するときに開始する（工程５０２）。データベースサーバ１１２は、まず、セキュリティアドミニストレータ１０６がどのように暗号化パラメータを特定したかを判定する（工程５０４）。
【００３４】
暗号化パラメータがプロファイルを用いて供給される場合、データベース１１２は、データベース１１８のプロファイル２２０からプロファイル２１４を検索する（工程５０６）。暗号化パラメータ形式プロファイル２１４を検索した後または暗号化パラメータがステップ５０４にてリクエストに供給される場合、データベース１１２は、カラムが既にデータを含んでいるか否かを判定する（工程５０８）。
【００３５】
カラムが工程５０８にてデータを既に含む場合、データベース１１２は、メタデータ２２２を検査して、カラムのデータが以前に暗号化されたか否かを判定する（工程５１０）。カラムのデータが工程５１０にて以前に暗号化された場合に、検索関数２１０は、暗号文データをテーブル２１８から検索する（工程５１２）。次に、復号関数２０６は、メタデータ２２２から得られた以前のキーを用いてデータを復号化する（工程５１４）。
【００３６】
データが工程５１０にて暗号化されていない場合、検索関数２１０は、テーブル２１８から平文データを検索する（工程５１６）。平文が工程５１４または工程５１６の後に利用可能になるとき、暗号関数２０４は、データを暗号化する（工程５１８）。次に、保存関数２０８は、暗号文をテーブル２１８を保存する（工程５２０）。
【００３７】
カラムが工程５０８にてデータを含まない場合か、または暗号文データが工程５２０にて保存される後、データベース１１２は、メタデータ２２２のカラムの暗号化パラメータを保存する（工程５２２）。
【００３８】
（データベースのデータ保存）
図６は、本発明の実施形態によってデータベース１１８にデータを保存するプロセスのフローチャートである。本システムは、データベース１１２がクライアント１１０からデータ２０２を保存するように要求するリクエストを受信するときに開始する（工程６０２）。データベースサーバ１１２は、メタデータ２２２を調べて、データが保存されているカラムが暗号化されているか否かを判定する（工程６０４）。カラムが暗号化される場合（工程６０６）、データベースサーバ１１２は、メタデータ２２２からカラムの暗号化パラメータを受信する（工程６０８）。次いで、データベースサーバ１１２は、キー識別子（ＫＩＤ）に関連する暗号化キーを不明瞭化キーファイル（ｏｂｆｕｓｃａｔｅｄ  ｋｅｙｆｉｌｅ）１１６から検索する（工程６０９）。次に、暗号関数２０４は、データを暗号化する（工程６１０）。データが工程６１０にて暗号化される後またはカラムが工程６０６にて暗号化されていない場合、保存関数２０８がテーブル２１８にデータを保存する（工程６１２）。
【００３９】
（データベースからのデータ検索）
図７は、本発明の実施形態によってデータベース１１８からデータを検索するプロセスを示すフローチャートである。本システムは、データベースサーバ１１２がデータベース１１８からデータを検索するように要求するリクエストをクライアント１１０から受信するときに開始する（工程７０２）。検索関数２１０は、データベース１１８のテーブル２１８からデータを検索する（工程７０４）。次に、データベースサーバ１１２は、リクエストが許可されたユーザからのものか否かを判定する（工程７０９）。
【００４０】
リクエストが工程７０９にて許可されたユーザからのものである場合、データベースサーバ１１２は、メタデータ２２２を調べて、データに関連するカラムが暗号化されるか否かを判定する（工程７０８）。データベースサーバ１１２は、データが工程７０８にて暗号化されるか否かを判定する場合、データベースサーバ１１２は、メタデータ２２２から暗号化パラメータを検索する（工程７１０）。データベースサーバは、キー識別子（ＫＩＤ）を用いて、不明瞭化キーファイル１１６から復号化キーを検索する。
【００４１】
次に、復号関数２０６は、データを復号化する（工程７１２）。データが工程７１２にて復号化される後またはデータが工程７０８にて暗号化されてなかったと判定された場合、データベースサーバ１１２は、データをクライアント１１０に戻す（工程７１４）。リクエストが工程７０９にて許可されたユーザからのものである場合、データがクライアントに戻されない。詳細には、データベースアドミニストレータ、セキュリティアドミニストレータおよびユーザアドミニストレータは、許可されたユーザでなく、したがって、データベース内に格納された暗号化データを復号化し、受信することができない。
【００４２】
本発明の実施形態の上述の説明は、例示および説明のみを目的として提示されてきた。この説明は、完全なものであると意図されていないし、本発明を開示された形式に限定することを意図してもいない。したがって、多くの変更および変形は、当業者には明らかである。さらに、上述の開示は、本発明を限定することを意図していない。本発明の範囲は、特許請求の範囲によって規定されてる。
【図面の簡単な説明】
【図１】  図１は、本発明の実施形態によるデータベースシステムを示す。
【図２】  図２は、本発明の実施形態によるデータベースの詳細を示す。
【図３】  図３は、本発明の実施形態によるキーファイルを生成するプロセスを示すフローチャートである。
【図４】  図４は、本発明の実施形態による暗号化プロファイルを生成するプロセスを示すフローチャートである。
【図５】  図５は、本発明の実施形態による暗号化されたカラムとしてデータベースにおけるカラムを設定するプロセスを示すフローチャートである。
【図６】  図６は、本発明の実施形態によるデータベースシステムにデータを格納するプロセスを示すフローチャートである。
【図７】  図７は、本発明の実施形態によるデータベースシステムからデータを取り出すプロセスを示すフローチャートである。
【図１】
0004398145.tif 000002
【図２】
0004398145.tif 000003
【図３】
0004398145.tif 000004
【図４】
0004398145.tif 000005
【図５】
0004398145.tif 000006
【図６】
0004398145.tif 000007
【図７】
0004398145.tif 000008