説明

インデックスカラム暗号化方法、PKカラム暗号化方法

【課題】インデックスまたは基本キーが設定されているカラムを暗号化して保安を強化するインデックスカラム暗号化方法を提供する。
【解決手段】 本発明のインデックスカラム暗号化方法は、暗号化しようとするカラムのインデックスを除去する段階と、前記カラムを暗号化する段階と、前記暗号化したカラムに対してインデックスを再生成する段階とを含む。インデックスを再生成する段階は、FBI方法によって前記暗号化したカラムを復号化する段階と、前記復号化したデータを用いてビットマップインデックスを生成する段階とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カラムを暗号化する方法に関するものである。
【背景技術】
【0002】
一般に、データベースやファイルシステムなどのように大量の情報を補助記憶装置で管理するプログラムでデータをより効率よく管理しかつより速くアクセスできるようにするためにデータの位置情報と関連して維持する特別な形態の情報をインデックス(index)という。インデックスは、カラムがWHERE節またはJOIN条件式に頻繁に使用されるとき、カラム値が広く分布しているとき、カラム値にNULL値が多く含まれているとき、あるいはテーブルが大きくて質疑(query)するデータの量が10%以下のときに主に生成する。ツリー構造のインデックスを用いてテーブル内の行に直接アクセスすることができる。
【0003】
次に、従来のインデックスを図1に基づいて説明する。図1は従来のカラムに対して生成されたインデックスを示す例示図である。図1を参照すると、テーブル101は多数のカラムからなっている。テーブル101で所望のカラムに対してインデックスを生成すると、所望のカラムに対してテーブル行の固有番号ROWIDが生成される。すなわち、テーブル101で所望のカラムが社員番号(empno)列103である場合、社員番号列103に対するキー値を含む行のROWIDが含まれたインデックス105が生成される。
【0004】
ビットマップインデックス107は、テーブルが多くの行を有し、キー列が少ない分布度(cardinality:カーディナリティ)を有するときに多用される。ビットマップにおいて、それぞれのビットが一つの行に該当するので、それぞれのビットをROWIDにマッピング(mapping)させると、所望のROWID情報を得ることができる。ビットマップにおいて、各ビットのビットポジションは、ビットマップにおける唯一な値なので、ROWIDと1:1でマッピング可能になる。ビットマップを生成しようとするテーブルの全行に一連番号を付し、ROWIDと一連番号をもってリストを構成する。序数(ordinal number)がリストに存在すれば、ビットマップの序数が示す位置のビットを「1」と設定する。
【0005】
加工されたカラムに対してもインデックスを生成することができるが、それがファンクションベースインデックス(Function-Based Index)109である。ファンクションベースインデックス109とは、テーブルでカラムに対する関数値を用いてインデックスを生成することをいう。ファンクションベースインデックス109を生成すると、遂行速度を大きく改善することができる。
【0006】
従来の技術は、カラム(column)で質疑(query)するときに速度を向上させるためにインデックスを生成したが、データベースシステムへのネットワーク接続だけ可能であれば、誰でもデータベースシステムにアクセスしてインデックスを用いて内部情報を検索し、あるいはシステムに変更を加えて致命的な危険を発生させるという問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【0007】
そこで、本発明はこのような問題点に鑑みてなされたもので、その目的とするところは、インデックスまたは基本キー(PK:Primary Key)が設定されているカラムを暗号化するインデックスカラム暗号化方法を提供することにある。
【0008】
本発明の他の目的は、インデックスまたは基本キーが設定されているカラムを暗号化して保安を強化するインデックスカラム暗号化方法を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある観点によれば、データベースの内部にインデックスが設定されているカラムを暗号化する方法において、暗号化しようとするカラムのインデックスを除去する段階と、前記カラムを暗号化する段階と、前記暗号化したカラムに対してインデックスを再生成する段階とを含む、インデックスカラム暗号化方法が提供される。
【0010】
好適な実施例において、前記インデックス再生成方法は、FBI(Function Based Index:ファンクションベースインデックス)方法によって、前記暗号化したカラムを復号化する段階と、前記復号化したデータを用いてビットマップインデックス(Bit Map Index)を生成する段階とを含むことを特徴とする。
【0011】
本発明の他の観点によれば、データベースの内部にPKが設定されているカラムを暗号化する方法において、暗号化しようとするカラムを参照するFK(Foreign Key:外部キー)を除去する段階と、前記暗号化しようとするカラムのPK(Primary Key)を除去する段階と、初期ベクトル(fixed initial vector)方法を用いて前記カラムを暗号化する段階と、前記暗号化したカラムのPKを再生成する段階と、前記暗号化したカラムに対してビットマップインデックスを生成する段階と、前記暗号化したカラムを参照するFKを暗号化する段階とを含む、PKカラム暗号化方法が提供される。
【0012】
本発明の別の観点によれば、データベースの内部にインデックスが設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、暗号化しようとするカラムのインデックスを除去する段階と、前記カラムを暗号化する段階と、前記暗号化したカラムに対してインデックスを再生成する段階とを含む、記録媒体が提供される。
【0013】
本発明の別の観点によれば、データベースの内部にPKが設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、暗号化しようとするカラムを参照するFKを除去する段階と、前記暗号化しようとするカラムのPKを除去する段階と、初期ベクトル方法を用いて前記カラムを暗号化する段階と、前記暗号化したカラムのPKを再生成する段階と、前記暗号化したカラムに対してビットマップインデックスを生成する段階と、前記暗号化したカラムを参照するFKを暗号化する段階とを含む、記録媒体が提供される。
【発明の効果】
【0014】
本発明によれば、インデックスまたは基本キー(PK)が設定されているカラムを暗号化するインデックスカラム暗号化方法を提供することができる。
【0015】
また、本発明によれば、インデックスまたは基本キーが設定されているカラムを暗号化して保安を強化するインデックスカラム暗号化方法を提供することができる。
【発明を実施するための最良の形態】
【0016】
以下に添付図面を参照しながら、本発明の好適な実施例について詳細に説明する。
【0017】
図2はインデックスカラム暗号化過程を示す順序図である。図2を参照すると、カラムに対するインデックスが予め生成された場合、暗号化しようとするカラムに対して生成されたインデックスを除去する(段階201)。インデックスを除去した後、所望のカラムを暗号化する(段階203)。暗号化したカラムに対するインデックスを再生成する(段階205)。暗号化したカラムに対してFBI(Function Based Index:ファンクションベースインデックス)方法によって暗号化された情報を復号化し、復号化されたデータをビットで整列してビットマップインデックスを生成する。
【0018】
図3は本発明の好適な実施例に係る暗号化されたカラムを示す例示図である。社員情報に対するテーブル301において、社員番号に対して暗号化を行う場合、社員番号のカラムに対して生成されたインデックスを除去した後、社員番号のカラムに対して暗号化を行う。暗号化の適用されたカラム303に対して、FBI方法によって、暗号化された社員番号を復号化する。復号化されたデータをビットで整列してビットマップインデックス305を生成する。
【0019】
図4は本発明の好適な実施例に係るインデックスカラム暗号化方法を用いたデータ検索方法を示す例示図である。
【0020】
図4を参照すると、データベース401は、内部に物理的なテーブル、テーブルの特定の暗号化カラムに対して生成されたビットマップインデックスを含む。情報を検索しようとする場合、例えば、特定の社員に対してその社員の社員番号を用いてその社員の職業を検索しようとする場合、データベース内のビットマップインデックスを用いて、社員番号に相応するROWIDを検索する。検索したROWIDを用いて、暗号化の適用されたカラム情報を探し出す。暗号化の適用されたカラム情報を用いて特定の社員の職業を探すことができる。
【0021】
図5はPK(Primary Key)とこれに対するFK(Foreign Key)を示す例示図である。
【0022】
図5を参照すると、関係データベースにおいて、物理的なテーブル501の特定のカラムに対するPK503に対してPKを一つの情報として参照するFK505がある。すなわち、PKは他のテーブルでFKが参照することが可能なキーとしての資格を持つ。PKは、データベース客体の唯一性を定義する客体を意味し、UNIQUE INDEXとNOT NULLとの結合とも同一である。
【0023】
図6は本発明の好適な実施例に係るPKカラム暗号化方法を示す順序図である。
【0024】
図6を参照すると、PKカラムを暗号化するためには、暗号化しようとするカラムを参照するFKを全て除去する(段階601)。FKを除去した後、暗号化しようとするカラムのPKを除去する(段階603)。PK、FKを全て除去した後、固定初期ベクトル(Fixed Initial Vector)を用いてカラムを暗号化する(段階605)。同一の原文に同一の初期ベクトルと同一の暗号化アルゴリズムを用いることにより、結果値が同一に生成できる。カラムを暗号化した後、暗号化カラムに対してPKを再生成する(段階607)。テーブルに対してPKを設定すると、PKは自動的にINDEXを生成する(段階609)。また、暗復号化のために該当カラムのビットマップインデックスを生成する。その後、暗号化カラムを参照するFKを暗号化する(段階611)。
【0025】
図7は本発明の好適な実施例に係る暗号化されたPK及びこれを参照するFKを示す例示図である。図7を参照すると、物理的なテーブル701に対して社員番号という特定のカラムを選択し、初期ベクトルを用いてカラムを暗号化し、PK703、FK705を再生成する。PK703を生成すると、PKインデックス707が生成される。このPKインデックスをビットマップインデックス709として生成することができる。
【0026】
図8は本発明の好適な実施例に係るPKカラム暗号化方法を用いるために示したデータベースの内部構成図である。
【0027】
図8を参照すると、データベース801は、内部に物理的なテーブル、テーブルの特定のカラムに対して暗号化過程で生成されたPKインデックス、及びビットマップインデックスを含む。特定の情報を検索しようとするとき、例えば、社員番号を知っている特定の社員に対する情報を知ろうとする場合、PKカラム暗号化過程で生成されたPKインデックスとビットマップインデックスを用いて特定の社員番号に相応するROWIDを検索する。ビットマップインデックスから獲得したROIWIDを用いて、暗号化の適用されたカラム情報を探し出す。暗号化の適用されたカラム情報を用いて特定の社員の職業を探すことができる。
【0028】
図9は本発明の好適な実施例に係るPKカラム暗号化方法を用いてデータを挿入する方法を用いるために示したデータベースの内部構成図である。
【0029】
図9を参照すると、データベース901は、内部に物理的なテーブル、テーブルの特定のカラムに対して暗号化過程で生成されたPKインデックス、及びビットマップインデックスを含む。特定の社員番号に対するデータを追加しようとする場合、物理的なテーブルを用いて特定の社員に対する情報を挿入して保存する。PKインデックスまたはビットマップインデックスに特定の社員番号に対する情報を追加して挿入することができる。
【図面の簡単な説明】
【0030】
【図1】従来のカラムに対して生成されたインデックスを示す例示図である。
【図2】インデックスカラム暗号化過程を示す順序図である。
【図3】本発明の好適な実施例に係る暗号化されたカラムを示す例示図である。
【図4】本発明の好適な実施例に係るインデックスカラム暗号化方法を用いたデータ検索方法を示す例示図である。
【図5】PK(Primary Key)とこれに対するFK(Foreign Key)を示す例示図である。
【図6】本発明の好適な実施例に係るPKカラム暗号化方法を示す順序図である。
【図7】本発明の好適な実施例に係る暗号化されたPKを示す例示図である。
【図8】本発明の好適な実施例に係るPKカラム暗号化方法を用いるために示したデータベースの内部構成図である。
【図9】本発明の好適な実施例に係るPKカラム暗号化方法を用いてデータを挿入する方法を用いるために示したデータベースの内部構成図である。
【符号の説明】
【0031】
203 カラム暗号化
205 暗号化カラムに対するインデックス再生成
303 暗号化したカラム
305 暗号化したカラムに対して生成されたインデックス

【特許請求の範囲】
【請求項1】
データベースの内部にインデックスが設定されているカラムを暗号化する方法において、
暗号化しようとするカラムのインデックスを除去する段階と、
前記カラムを暗号化する段階と、
前記暗号化したカラムに対してインデックスを再生成する段階と、
を含む、インデックスカラム暗号化方法。
【請求項2】
前記インデックス再生成方法は、
FBI(Function Based Index)方法によって、前記暗号化したカラムを復号化する段階と、
前記復号化したデータを用いてビットマップインデックス(Bit Map Index)を生成する段階と、
を含むことを特徴とする、請求項1に記載のインデックスカラム暗号化方法。
【請求項3】
データベースの内部にPK(Primary Key)が設定されているカラムを暗号化する方法において、
暗号化しようとするカラムを参照するFK(Foreign Key)を除去する段階と、
前記暗号化しようとするカラムのPK(Primary Key)を除去する段階と、
初期ベクトル(fixed initial vector)方法を用いて前記カラムを暗号化する段階と、
前記暗号化したカラムのPK(Primary Key)を再生成する段階と、
前記暗号化したカラムに対してビットマップインデックス(Bit Map Index)を生成する段階と、
前記暗号化したカラムを参照するFK(Foreign Key)を暗号化する段階と、
を含む、PKカラム暗号化方法。
【請求項4】
データベースの内部にインデックスが設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、
暗号化しようとするカラムのインデックスを除去する段階と、
前記カラムを暗号化する段階と、
前記暗号化したカラムに対してインデックスを再生成する段階と、
を含む、記録媒体。
【請求項5】
データベースの内部にPK(Primary Key)が設定されているカラムを暗号化するために、デジタル処理装置によって実行できる命令語のプログラムが類型的に具現されており、デジタル処理装置によってカラムを暗号化する方法が、
暗号化しようとするカラムを参照するFK(Foreign Key)を除去する段階と、
前記暗号化しようとするカラムのPK(Primary Key)を除去する段階と、
初期ベクトル(fixed initial vector)方法を用いて前記カラムを暗号化する段階と、
前記暗号化したカラムのPK(Primary Key)を再生成する段階と、
前記暗号化したカラムに対してビットマップインデックス(Bit Map Index)を生成する段階と、
前記暗号化したカラムを参照するFK(Foreign Key)を暗号化する段階と、
を含む、記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−249252(P2007−249252A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2005−100021(P2005−100021)
【出願日】平成17年3月30日(2005.3.30)
【出願人】(505112037)ペンタ・セキュリティ・システムズ・インコーポレーテッド (6)
【Fターム(参考)】