(57)【要約】【課題】インデックスまたは基本キーが設定されているカラムを暗号化して保安を強化するインデックスカラム暗号化方法を提供する。【解決手段】 本発明のインデックスカラム暗号化方法は、暗号化しようとするカラムのインデックスを除去する段階と、前記カラムを暗号化する段階と、前記暗号化したカラムに対してインデックスを再生成する段階とを含む。インデックスを再生成する段階は、ＦＢＩ方法によって前記暗号化したカラムを復号化する段階と、前記復号化したデータを用いてビットマップインデックスを生成する段階とを含む。【選択図】図２
2007249252.tif 000002
【特許請求の範囲】
【請求項１】
データベースの内部にインデックスが設定されているカラムを暗号化する方法において、
暗号化しようとするカラムのインデックスを除去する段階と、
前記カラムを暗号化する段階と、
前記暗号化したカラムに対してインデックスを再生成する段階と、
を含む、インデックスカラム暗号化方法。
【請求項２】
前記インデックス再生成方法は、
ＦＢＩ(Function Based Index)方法によって、前記暗号化したカラムを復号化する段階と、
前記復号化したデータを用いてビットマップインデックス(Bit Map Index)を生成する段階と、
を含むことを特徴とする、請求項１に記載のインデックスカラム暗号化方法。
【請求項３】
データベースの内部にＰＫ(Primary Key)が設定されているカラムを暗号化する方法において、
暗号化しようとするカラムを参照するＦＫ(Foreign Key)を除去する段階と、
前記暗号化しようとするカラムのＰＫ(Primary Key)を除去する段階と、
初期ベクトル(fixed initial vector)方法を用いて前記カラムを暗号化する段階と、
前記暗号化したカラムのＰＫ(Primary Key)を再生成する段階と、
前記暗号化したカラムに対してビットマップインデックス(Bit Map Index)を生成する段階と、
前記暗号化したカラムを参照するＦＫ(Foreign Key)を暗号化する段階と、
を含む、ＰＫカラム暗号化方法。
【請求項４】
データベースの内部にインデックスが設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、
暗号化しようとするカラムのインデックスを除去する段階と、
前記カラムを暗号化する段階と、
前記暗号化したカラムに対してインデックスを再生成する段階と、
を含む、記録媒体。
【請求項５】
データベースの内部にＰＫ(Primary Key)が設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、
暗号化しようとするカラムを参照するＦＫ(Foreign Key)を除去する段階と、
前記暗号化しようとするカラムのＰＫ(Primary Key)を除去する段階と、
初期ベクトル(fixed initial vector)方法を用いて前記カラムを暗号化する段階と、
前記暗号化したカラムのＰＫ(Primary Key)を再生成する段階と、
前記暗号化したカラムに対してビットマップインデックス(Bit Map Index)を生成する段階と、
前記暗号化したカラムを参照するＦＫ(Foreign Key)を暗号化する段階と、
を含む、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラムを暗号化する方法に関するものである。
【背景技術】
【０００２】
一般に、データベースやファイルシステムなどのように大量の情報を補助記憶装置で管理するプログラムでデータをより効率よく管理しかつより速くアクセスできるようにするためにデータの位置情報と関連して維持する特別な形態の情報をインデックス(index)という。インデックスは、カラムがＷＨＥＲＥ節またはＪＯＩＮ条件式に頻繁に使用されるとき、カラム値が広く分布しているとき、カラム値にＮＵＬＬ値が多く含まれているとき、あるいはテーブルが大きくて質疑(query)するデータの量が１０％以下のときに主に生成する。ツリー構造のインデックスを用いてテーブル内の行に直接アクセスすることができる。
【０００３】
次に、従来のインデックスを図１に基づいて説明する。図１は従来のカラムに対して生成されたインデックスを示す例示図である。図１を参照すると、テーブル１０１は多数のカラムからなっている。テーブル１０１で所望のカラムに対してインデックスを生成すると、所望のカラムに対してテーブル行の固有番号ＲＯＷＩＤが生成される。すなわち、テーブル１０１で所望のカラムが社員番号(empno)列１０３である場合、社員番号列１０３に対するキー値を含む行のＲＯＷＩＤが含まれたインデックス１０５が生成される。
【０００４】
ビットマップインデックス１０７は、テーブルが多くの行を有し、キー列が少ない分布度(cardinality：カーディナリティ)を有するときに多用される。ビットマップにおいて、それぞれのビットが一つの行に該当するので、それぞれのビットをＲＯＷＩＤにマッピング(mapping)させると、所望のＲＯＷＩＤ情報を得ることができる。ビットマップにおいて、各ビットのビットポジションは、ビットマップにおける唯一な値なので、ＲＯＷＩＤと１：１でマッピング可能になる。ビットマップを生成しようとするテーブルの全行に一連番号を付し、ＲＯＷＩＤと一連番号をもってリストを構成する。序数(ordinal number)がリストに存在すれば、ビットマップの序数が示す位置のビットを「１」と設定する。
【０００５】
加工されたカラムに対してもインデックスを生成することができるが、それがファンクションベースインデックス（Function-Based Index）１０９である。ファンクションベースインデックス１０９とは、テーブルでカラムに対する関数値を用いてインデックスを生成することをいう。ファンクションベースインデックス１０９を生成すると、遂行速度を大きく改善することができる。
【０００６】
従来の技術は、カラム(column)で質疑(query)するときに速度を向上させるためにインデックスを生成したが、データベースシステムへのネットワーク接続だけ可能であれば、誰でもデータベースシステムにアクセスしてインデックスを用いて内部情報を検索し、あるいはシステムに変更を加えて致命的な危険を発生させるという問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明はこのような問題点に鑑みてなされたもので、その目的とするところは、インデックスまたは基本キー（ＰＫ：Primary Key）が設定されているカラムを暗号化するインデックスカラム暗号化方法を提供することにある。
【０００８】
本発明の他の目的は、インデックスまたは基本キーが設定されているカラムを暗号化して保安を強化するインデックスカラム暗号化方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、データベースの内部にインデックスが設定されているカラムを暗号化する方法において、暗号化しようとするカラムのインデックスを除去する段階と、前記カラムを暗号化する段階と、前記暗号化したカラムに対してインデックスを再生成する段階とを含む、インデックスカラム暗号化方法が提供される。
【００１０】
好適な実施例において、前記インデックス再生成方法は、ＦＢＩ(Function Based Index：ファンクションベースインデックス)方法によって、前記暗号化したカラムを復号化する段階と、前記復号化したデータを用いてビットマップインデックス(Bit Map Index)を生成する段階とを含むことを特徴とする。
【００１１】
本発明の他の観点によれば、データベースの内部にＰＫが設定されているカラムを暗号化する方法において、暗号化しようとするカラムを参照するＦＫ(Foreign Key：外部キー)を除去する段階と、前記暗号化しようとするカラムのＰＫ(Primary Key)を除去する段階と、初期ベクトル(fixed initial vector)方法を用いて前記カラムを暗号化する段階と、前記暗号化したカラムのＰＫを再生成する段階と、前記暗号化したカラムに対してビットマップインデックスを生成する段階と、前記暗号化したカラムを参照するＦＫを暗号化する段階とを含む、ＰＫカラム暗号化方法が提供される。
【００１２】
本発明の別の観点によれば、データベースの内部にインデックスが設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、暗号化しようとするカラムのインデックスを除去する段階と、前記カラムを暗号化する段階と、前記暗号化したカラムに対してインデックスを再生成する段階とを含む、記録媒体が提供される。
【００１３】
本発明の別の観点によれば、データベースの内部にＰＫが設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、暗号化しようとするカラムを参照するＦＫを除去する段階と、前記暗号化しようとするカラムのＰＫを除去する段階と、初期ベクトル方法を用いて前記カラムを暗号化する段階と、前記暗号化したカラムのＰＫを再生成する段階と、前記暗号化したカラムに対してビットマップインデックスを生成する段階と、前記暗号化したカラムを参照するＦＫを暗号化する段階とを含む、記録媒体が提供される。
【発明の効果】
【００１４】
本発明によれば、インデックスまたは基本キー（ＰＫ）が設定されているカラムを暗号化するインデックスカラム暗号化方法を提供することができる。
【００１５】
また、本発明によれば、インデックスまたは基本キーが設定されているカラムを暗号化して保安を強化するインデックスカラム暗号化方法を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照しながら、本発明の好適な実施例について詳細に説明する。
【００１７】
図２はインデックスカラム暗号化過程を示す順序図である。図２を参照すると、カラムに対するインデックスが予め生成された場合、暗号化しようとするカラムに対して生成されたインデックスを除去する（段階２０１）。インデックスを除去した後、所望のカラムを暗号化する（段階２０３）。暗号化したカラムに対するインデックスを再生成する（段階２０５）。暗号化したカラムに対してＦＢＩ(Function Based Index：ファンクションベースインデックス)方法によって暗号化された情報を復号化し、復号化されたデータをビットで整列してビットマップインデックスを生成する。
【００１８】
図３は本発明の好適な実施例に係る暗号化されたカラムを示す例示図である。社員情報に対するテーブル３０１において、社員番号に対して暗号化を行う場合、社員番号のカラムに対して生成されたインデックスを除去した後、社員番号のカラムに対して暗号化を行う。暗号化の適用されたカラム３０３に対して、ＦＢＩ方法によって、暗号化された社員番号を復号化する。復号化されたデータをビットで整列してビットマップインデックス３０５を生成する。
【００１９】
図４は本発明の好適な実施例に係るインデックスカラム暗号化方法を用いたデータ検索方法を示す例示図である。
【００２０】
図４を参照すると、データベース４０１は、内部に物理的なテーブル、テーブルの特定の暗号化カラムに対して生成されたビットマップインデックスを含む。情報を検索しようとする場合、例えば、特定の社員に対してその社員の社員番号を用いてその社員の職業を検索しようとする場合、データベース内のビットマップインデックスを用いて、社員番号に相応するＲＯＷＩＤを検索する。検索したＲＯＷＩＤを用いて、暗号化の適用されたカラム情報を探し出す。暗号化の適用されたカラム情報を用いて特定の社員の職業を探すことができる。
【００２１】
図５はＰＫ(Primary Key)とこれに対するＦＫ(Foreign Key)を示す例示図である。
【００２２】
図５を参照すると、関係データベースにおいて、物理的なテーブル５０１の特定のカラムに対するＰＫ５０３に対してＰＫを一つの情報として参照するＦＫ５０５がある。すなわち、ＰＫは他のテーブルでＦＫが参照することが可能なキーとしての資格を持つ。ＰＫは、データベース客体の唯一性を定義する客体を意味し、ＵＮＩＱＵＥ ＩＮＤＥＸとＮＯＴ ＮＵＬＬとの結合とも同一である。
【００２３】
図６は本発明の好適な実施例に係るＰＫカラム暗号化方法を示す順序図である。
【００２４】
図６を参照すると、ＰＫカラムを暗号化するためには、暗号化しようとするカラムを参照するＦＫを全て除去する（段階６０１）。ＦＫを除去した後、暗号化しようとするカラムのＰＫを除去する（段階６０３）。ＰＫ、ＦＫを全て除去した後、固定初期ベクトル(Fixed Initial Vector)を用いてカラムを暗号化する（段階６０５）。同一の原文に同一の初期ベクトルと同一の暗号化アルゴリズムを用いることにより、結果値が同一に生成できる。カラムを暗号化した後、暗号化カラムに対してＰＫを再生成する（段階６０７）。テーブルに対してＰＫを設定すると、ＰＫは自動的にＩＮＤＥＸを生成する（段階６０９）。また、暗復号化のために該当カラムのビットマップインデックスを生成する。その後、暗号化カラムを参照するＦＫを暗号化する（段階６１１）。
【００２５】
図７は本発明の好適な実施例に係る暗号化されたＰＫ及びこれを参照するＦＫを示す例示図である。図７を参照すると、物理的なテーブル７０１に対して社員番号という特定のカラムを選択し、初期ベクトルを用いてカラムを暗号化し、ＰＫ７０３、ＦＫ７０５を再生成する。ＰＫ７０３を生成すると、ＰＫインデックス７０７が生成される。このＰＫインデックスをビットマップインデックス７０９として生成することができる。
【００２６】
図８は本発明の好適な実施例に係るＰＫカラム暗号化方法を用いるために示したデータベースの内部構成図である。
【００２７】
図８を参照すると、データベース８０１は、内部に物理的なテーブル、テーブルの特定のカラムに対して暗号化過程で生成されたＰＫインデックス、及びビットマップインデックスを含む。特定の情報を検索しようとするとき、例えば、社員番号を知っている特定の社員に対する情報を知ろうとする場合、ＰＫカラム暗号化過程で生成されたＰＫインデックスとビットマップインデックスを用いて特定の社員番号に相応するＲＯＷＩＤを検索する。ビットマップインデックスから獲得したＲＯＩＷＩＤを用いて、暗号化の適用されたカラム情報を探し出す。暗号化の適用されたカラム情報を用いて特定の社員の職業を探すことができる。
【００２８】
図９は本発明の好適な実施例に係るＰＫカラム暗号化方法を用いてデータを挿入する方法を用いるために示したデータベースの内部構成図である。
【００２９】
図９を参照すると、データベース９０１は、内部に物理的なテーブル、テーブルの特定のカラムに対して暗号化過程で生成されたＰＫインデックス、及びビットマップインデックスを含む。特定の社員番号に対するデータを追加しようとする場合、物理的なテーブルを用いて特定の社員に対する情報を挿入して保存する。ＰＫインデックスまたはビットマップインデックスに特定の社員番号に対する情報を追加して挿入することができる。
【図面の簡単な説明】
【００３０】
【図１】従来のカラムに対して生成されたインデックスを示す例示図である。
【図２】インデックスカラム暗号化過程を示す順序図である。
【図３】本発明の好適な実施例に係る暗号化されたカラムを示す例示図である。
【図４】本発明の好適な実施例に係るインデックスカラム暗号化方法を用いたデータ検索方法を示す例示図である。
【図５】ＰＫ(Primary Key)とこれに対するＦＫ(Foreign Key)を示す例示図である。
【図６】本発明の好適な実施例に係るＰＫカラム暗号化方法を示す順序図である。
【図７】本発明の好適な実施例に係る暗号化されたＰＫを示す例示図である。
【図８】本発明の好適な実施例に係るＰＫカラム暗号化方法を用いるために示したデータベースの内部構成図である。
【図９】本発明の好適な実施例に係るＰＫカラム暗号化方法を用いてデータを挿入する方法を用いるために示したデータベースの内部構成図である。
【符号の説明】
【００３１】
２０３    カラム暗号化
２０５    暗号化カラムに対するインデックス再生成
３０３    暗号化したカラム
３０５    暗号化したカラムに対して生成されたインデックス
【図１】
2007249252.tif 000003
【図２】
2007249252.tif 000004
【図３】
2007249252.tif 000005
【図４】
2007249252.tif 000006
【図５】
2007249252.tif 000007
【図６】
2007249252.tif 000008
【図７】
2007249252.tif 000009
【図８】
2007249252.tif 000010
【図９】
2007249252.tif 000011