(57)【要約】  データカラム暗号化装置および方法が開示される。スキーマ照会部は複数個のデータテーブルが保存されているデータベースで暗号化を遂行するデータテーブルである原本テーブルのスキーマを照会する。バックアップ遂行部は原本テーブルのスキーマに基づいてバックアップテーブルのスキーマ情報を生成し、バックアップテーブルのスキーマ情報を利用してバックアップテーブルを生成した後、原本テーブルのデータをバックアップテーブルにコピーし、原本テーブルにバックアップカラムを追加して原本テーブルを変更し、変更された原本テーブルに含まれている制約条件を非活性化した後、変更された原本テーブルに含まれている原本カラムをバックアップカラムにコピーする。暗号化部は変更された原本テーブルで暗号化が遂行されるカラムである暗号化対象カラムのデータを暗号化して変更された原本テーブルの原本カラムの各フィールドに記入する。そしてバックアップ遂行部は暗号化対象カラムのデータに対する暗号化が完了すれば、変更された原本テーブルでバックアップカラムを削除して制約条件を活性化する。
2016537706.tif 000002
【特許請求の範囲】
【請求項１】
複数個のデータテーブルが保存されているデータベースで暗号化を遂行するデータテーブルである原本テーブルのスキーマを照会するスキーマ照会部；
前記原本テーブルのスキーマに基づいてバックアップテーブルのスキーマ情報を生成し、前記バックアップテーブルのスキーマ情報を利用して前記バックアップテーブルを生成した後、原本テーブルのデータを前記バックアップテーブルにコピーし、前記原本テーブルにバックアップカラムを追加して前記原本テーブルを変更し、前記変更された原本テーブルに含まれている制約条件を非活性化した後、前記変更された原本テーブルに含まれている原本カラムを前記バックアップカラムにコピーするバックアップ遂行部；および
前記変更された原本テーブルで暗号化が遂行されるカラムである暗号化対象カラムのデータを暗号化して前記変更された原本テーブルの原本カラムの各フィールドに記入する暗号化部；を含み、
前記バックアップ遂行部は前記暗号化部によって前記暗号化対象カラムのデータに対する暗号化が完了すれば、前記変更された原本テーブルでバックアップカラムを削除し制約条件を活性化することを特徴とする、データカラム暗号化装置。
【請求項２】
前記制約条件の活性化の後、前記制約条件の非活性化時に前記データベースによって削除されたインデックスを再生成するインデックス生成部をさらに含むことを特徴とする、請求項１に記載のデータカラム暗号化装置。
【請求項３】
前記インデックス生成部は、前記制約条件の活性化の後、関数ベースインデックスとドメインインデックスを再生成することを特徴とする、請求項２に記載のデータカラム暗号化装置。
【請求項４】
前記バックアップ遂行部は、前記変更された原本テーブルから属性が変更されるカラムのデータを削除し、前記暗号化対象カラムのデータ形式をデータの暗号化を遂行する暗号化技法に対応する形式に変更することを特徴とする、請求項１または請求項２に記載のデータカラム暗号化装置。
【請求項５】
前記スキーマ照会部は、前記原本テーブルに対応してテーブルスクリプト、インデックススクリプトおよび制約条件スクリプトを照会することを特徴とする、請求項１または請求項２に記載のデータカラム暗号化装置。
【請求項６】
前記暗号化部は、前記暗号化対象カラムに設定されているデフォルト値を暗号化することを特徴とする、請求項１または請求項２に記載のデータカラム暗号化装置。
【請求項７】
前記バックアップ遂行部は、前記暗号化部によって前記暗号化対象カラムのデータに対する暗号化が完了した後、前記バックアップテーブルを削除することを特徴とする、請求項１または請求項２に記載のデータカラム暗号化装置。
【請求項８】
複数個のデータテーブルが保存されているデータベースで暗号化を遂行するデータテーブルである原本テーブルのスキーマを照会するスキーマ照会段階；
前記原本テーブルのスキーマに基づいてバックアップテーブルのスキーマ情報を生成し、前記バックアップテーブルのスキーマ情報を利用して前記バックアップテーブルを生成した後、原本テーブルのデータを前記バックアップテーブルにコピーするバックアップテーブル生成段階；
前記原本テーブルにバックアップカラムを追加して前記原本テーブルを変更し、前記変更された原本テーブルに含まれている制約条件を非活性化した後、前記変更された原本テーブルに含まれている原本カラムを前記バックアップカラムにコピーする原本テーブル変更段階；
前記変更された原本テーブルで暗号化が遂行されるカラムである暗号化対象カラムのデータを暗号化して前記変更された原本テーブルの原本カラムの各フィールドに記入する暗号化段階；および
前記暗号化対象カラムのデータに対する暗号化が完了すれば、前記変更された原本テーブルでバックアップカラムを削除して制約条件を活性化する制約条件活性化段階；を含むことを特徴とする、データカラム暗号化方法。
【請求項９】
前記制約条件の活性化の後、前記制約条件の非活性化時に前記データベースによって削除されたインデックスを再生成するインデックス生成段階をさらに含むことを特徴とする、請求項８に記載のデータカラム暗号化方法。
【請求項１０】
前記原本テーブル変更段階で、前記変更された原本テーブルから属性が変更されるカラムのデータを削除し、前記暗号化対象カラムのデータ形式をデータの暗号化を遂行する暗号化技法に対応する形式に変更することを特徴とする、請求項８または請求項９に記載のデータカラム暗号化方法。
【請求項１１】
前記暗号化段階で、前記暗号化対象カラムに設定されているデフォルト値を暗号化することを特徴とする、請求項８または請求項９に記載のデータカラム暗号化方法。
【請求項１２】
前記暗号化対象カラムのデータに対する暗号化が完了した後、前記バックアップテーブルを削除する段階をさらに含むことを特徴とする、請求項８または請求項９に記載のデータカラム暗号化方法。
【請求項１３】
請求項８または請求項９に記載されたデータカラム暗号化方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータカラム暗号化装置および方法に関するもので、より詳細には、テーブル形態で作成されたデータのカラムを暗号化する装置および方法に関するものである。
【背景技術】
【０００２】
現在、企業ではサービスまたは、内部運営のために顧客情報または、内部職員の情報を保存しているデータベースを構築して運営している。このようなデータベースには、顧客または、内部職員の住民票コード、住所、電話番号など多様な個人情報が含まれており、ハッキング技術の発達により、このような個人情報の流出が深刻な問題として台頭している。このような問題のため、政府は個人情報の保護に関する法律を制定して企業が保有している個人情報に対する流出防止対策を設けることを要求している。これに伴い、各企業は自社が保有しているデータベース２００に含まれている顧客または、内部職員の個人情報を暗号化して管理しており、この時、暗号化される対象データは個人情報の保護に関する法律に則して選定している。
【０００３】
一方、データベースには住民票コード、住所、電話番号など、個人情報を構成する実際のデータとともにインデックス、制約条件(Primary Key：PK、Foreign
Key：FKなど)などが含まれている。このような状況で、データベース管理者はデータベースに保存されている各テーブルと各テーブルのフィールドの中から個人情報の保護に関する法律に則して暗号化する対象テーブルと対象テーブルの対象フィールドを選定する。そして選定された対象テーブルおよび対象テーブルの対象フィールドに対して暗号化を遂行する。このような暗号化過程において、既存の暗号化技法はデータベースによって、制約条件のために関連した他のテーブルと衝突したり関係が破壊される問題が発生し、暗号化した後にもインデックスを利用して内部情報を検索したりシステムに変更を加えて致命的な危険を発生させる問題点がある。
【０００４】
韓国公開特許公報第２００６-００８７１０３号には暗号化しようとするカラムのインデックスを除去した後、カラムを暗号化し、暗号化したカラムに対してインデックスを再生成する構成を有するインデックスカラム暗号化方法が開示されている。このようなインデックスカラム暗号化方法によれば、インデックスやPKが設定されているカラムの暗号化時にセキュリティーを強化することができるという利点があるが、暗号化しようとするカラムのインデックスを除去した後暗号化を遂行するため、テーブルの暗号化過程でエラーが発生した時、原本テーブルが破損したり原本テーブルのデータが損失される問題がある。また、テーブルのデータの属性を維持したまま暗号化を遂行するため、暗号化技法によるデータ長の変更に対応することができないという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が達成しようとする技術的課題は、データカラムを暗号化する時に利用される暗号化技法に適応的に対応することができ、暗号化過程で発生し得るエラー状況に対応することができるデータカラム暗号化装置および方法を提供することにある。
【０００６】
本発明が達成しようとする他の技術的課題は、カラムを暗号化する時に利用される暗号化技法に適応的に対応することができ、暗号化過程で発生し得るエラー状況に対応することができるデータカラム暗号化方法をコンピュータで遂行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
前記の技術的課題を達成するための本発明に係るデータカラム暗号化装置は、複数個のデータテーブルが保存されているデータベースで暗号化を遂行するデータテーブルである原本テーブルのスキーマを照会するスキーマ照会部；前記原本テーブルのスキーマに基づいてバックアップテーブルのスキーマ情報を生成し、前記バックアップテーブルのスキーマ情報を利用して前記バックアップテーブルを生成した後、原本テーブルのデータを前記バックアップテーブルにコピーし、前記原本テーブルにバックアップカラムを追加して前記原本テーブルを変更し、前記変更された原本テーブルに含まれている制約条件を非活性化した後、前記変更された原本テーブルに含まれている原本カラムを前記バックアップカラムにコピーするバックアップ遂行部；および前記変更された原本テーブルで暗号化が遂行されるカラムである暗号化対象カラムのデータを暗号化して前記変更された原本テーブルの原本カラムの各フィールドに記入する暗号化部；を具備し、前記バックアップ遂行部は前記暗号化部によって前記暗号化対象カラムのデータに対する暗号化が完了すれば、前記変更された原本テーブルでバックアップカラムを削除して制約条件を活性化する。
【０００８】
前記の技術的課題を達成するための本発明に係るデータカラム暗号化方法は、複数個のデータテーブルが保存されているデータベースで暗号化を遂行するデータテーブルである原本テーブルのスキーマを照会するスキーマ照会段階；前記原本テーブルのスキーマに基づいてバックアップテーブルのスキーマ情報を生成し、前記バックアップテーブルのスキーマ情報を利用して前記バックアップテーブルを生成した後、原本テーブルのデータを前記バックアップテーブルにコピーするバックアップテーブル生成段階；前記原本テーブルにバックアップカラムを追加して前記原本テーブルを変更し、前記変更された原本テーブルに含まれている制約条件を非活性化した後、前記変更された原本テーブルに含まれている原本カラムを前記バックアップカラムにコピーする原本テーブル変更段階；前記変更された原本テーブルで暗号化が遂行されるカラムである暗号化対象カラムのデータを暗号化して前記変更された原本テーブルの原本カラムの各フィールドに記入する暗号化段階；および前記暗号化対象カラムのデータに対する暗号化が完了すれば、前記変更された原本テーブルでバックアップカラムを削除して制約条件を活性化する制約条件活性化段階；を有する。
【発明の効果】
【０００９】
本発明に係るデータカラム暗号化装置および方法によれば、原本テーブルに対してバックアップテーブルを生成した後、データカラムに対して暗号化を遂行する一方、原本テーブルのインデックスカラムを除去しないことによって暗号化過程の安定性を向上させることができ、カラムのデータの属性を変更した後、暗号化することによってカラムを暗号化する時に利用される暗号化技法に適応的に対応することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係るデータカラム暗号化装置の構成を図示した図面である。
【図２】本発明に係るデータカラム暗号化方法の好ましい実施例の遂行過程を図示したフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付された図面を参照して本発明に係るデータカラム暗号化装置および方法の好ましい実施例に対して詳細に説明する。
【００１２】
図１は本発明に係るデータカラム暗号化装置の構成を図示した図面である。図１を参照すれば、本発明に係るデータカラム暗号化装置１００は、スキーマ照会部１１０、バックアップ遂行部１２０、暗号化部１３０およびインデックス生成部１４０を具備する。
【００１３】
スキーマ照会部１１０はデータベース２００に保存されている複数個のデータテーブルの中で暗号化を遂行するデータテーブルである原本テーブルのスキーマを照会する。このような原本テーブルスキーマの照会はテーブルスクリプト照会、インデックススクリプト照会および制約条件スクリプト照会を含む。この時、スキーマ照会部１１０は本発明に係るデータカラム暗号化装置１００に備えられている保存手段(図示されず)にスキーマ照会結果を保存することができる。原本テーブルのスキーマはデータベース２００にすでに保存されているかスキーマ照会部１１０によりデータテーブルで生成することができ、表１〜表３にはそれぞれ原本テーブルが特定企業の部署コードと部署名を含む部署情報テーブルである場合に、原本テーブルのスキーマ情報、原本テーブルのデータおよびデータベース２００インデックスが記載されている。また、表４〜表６には原本テーブルが特定企業の職員情報が記載されている従業員情報テーブルである場合に原本テーブルのスキーマ情報、原本テーブルのデータおよびデータベース２００インデックスが記載されている。
【００１４】
【表１】
2016537706.tif 000003
【００１５】
【表２】
2016537706.tif 000004
【００１６】
【表３】
2016537706.tif 000005
バックアップ遂行部１２０は、照会された原本テーブルのスキーマに基づいてバックアップテーブルのスキーマ情報を生成する。そしてバックアップ遂行部１２０は、生成されたバックアップテーブルのスキーマ情報を利用してバックアップテーブルを生成した後、原本テーブルのデータをバックアップテーブルにコピーする。バックアップテーブルの生成時、バックアップテーブルに対するデータベースインデックスが生成され、この時“SYS_”で始まるインデックスはデータベース２００で生成し、残りのインデックスはバックアップ遂行部１２０が生成する。
【００１７】
表７および表８にはそれぞれ部署情報テーブルのバックアップの後および部署情報テーブルと職員情報テーブルのバックアップの後でデータベース２００に生成されたインデックスが記載されている。
【００１８】
【表４】
2016537706.tif 000006
【００１９】
【表５】
2016537706.tif 000007
次に、バックアップ遂行部１２０は、原本テーブルのPK、FK、Uniqueおよびインデックスを含む制約条件を非活性化(Disable)し、データベース２００で付与したインデックスであるSYS_Cで始まるインデックスはデータベース２００により自動で削除される。表９にはSYS_Cで始まるインデックスの削除後、データベース２００に保存されているインデックステーブルが記載されている。
【００２０】
【表６】
2016537706.tif 000008
次に、バックアップ遂行部１２０は、原本テーブルにバックアップカラムを追加して原本テーブルを変更し、変更された原本テーブルの原本カラムの中で属性が変更されるカラムの値を対応するバックアップカラムにコピーする。表１０と表１１にはそれぞれバックアップカラムの追加後に部署情報テーブルと職員情報テーブルのスキーマ情報が記載されており、表１２と表１３にはそれぞれバックアップカラムの追加後に部署情報テーブルと職員情報テーブルが記載されている。
【００２１】
【表７】
2016537706.tif 000009
【００２２】
【表８】
2016537706.tif 000010
【００２３】
【表９】
2016537706.tif 000011
【００２４】
【表１０】
2016537706.tif 000012
次に、バックアップ遂行部１２０は、変更された原本テーブルから属性が変更されるカラムのデータを削除する。これは、カラム属性を変更するためには属性が変更されるカラムのデータを空にしなければならないためである。表１２に記載された部署情報テーブルの場合に属性が変更されるカラムが存在しないので、データが削除されるカラムはないが、表１3に記載された職員情報テーブルの場合には、「社員番号」カラムの属性がINTEGERからCHARに変更されるので「社員番号」カラムのデータが削除される。また、バックアップ遂行部１２０は変更された原本テーブルの各カラムの中で暗号化が遂行される暗号化対象カラム(例えば、社員番号、部署コード、住民票コード、電話番号)のデータ形式をデータの暗号化を遂行する暗号化技法に対応する形式に変更する。例えば、適用される暗号化技法が暗号化対象データを２４ByteのVARCHAR２形式のデータに暗号化すれば、バックアップ遂行部１２０は暗号化対象カラムのデータ形式をVARCHAR２(２４Byte)に変更し、このような変更事項はスキーマテーブルに記録される。
【００２５】
暗号化部１３０は変更された原本テーブルで暗号化が遂行されるカラムである暗号化対象カラムのデータを暗号化して変更された原本テーブルの原本カラムの各フィールドに記入する。この時、暗号化部１３０は、カラムにデフォルト値が設定されていればデフォルト値も暗号化する。暗号化部１３０で暗号化対象カラムのデータを暗号化する技法は公知の暗号化技法を用いることができ、このような公知の暗号化技法は本発明が属する技術分野で通常の知識を有したものであれば明白な事項であるので詳細な説明は省略する。暗号化部１３０による暗号化対象カラムに存在するデータに対する暗号化が完了すれば、バックアップ遂行部１２０は変更された原本テーブルでバックアップカラム(すなわち、「社員番号_BAK」、「部署コード_BAK」、「電話番号_BAK」および「住民票コード_BAK」カラム)を削除し、制約条件を活性化(Enable)とする。
【００２６】
インデックス生成部１４０は暗号化対象カラムのデータに対する暗号化が完了した後、インデックステーブルのインデックスを生成する。SYS_Cで始まるインデックスの場合、制約条件の非活性化時にデータベース２００が自動で削除したので、暗号化が完了した後でインデックスを再生成する必要がある。前述した実施例の場合に社員番号と住民票コードに該当するインデックスはSYS_Cで始まるインデックスであるので、インデックス生成部１４０は社員番号と住民票コードに該当するインデックスを再生成する。また、部署コードのように、関数ベースのインデックスとPKのようなドメインインデックスの場合にもインデックス生成部１４０が暗号化対象カラムのデータに対する暗号化が完了した後、インデックスを再生成しなければならない。一方、使用者が付与した名前で作られたインデックスである場合には制約条件を活性化するとデータベース２００が自動で生成されるので、インデックス生成部１４０が別にインデックスを生成する必要がない。
【００２７】
以上のような、変更された原本テーブルに対する暗号化が終了すれば、バックアップ遂行部１２０はバックアップテーブルを削除する。仮に、変更された原本テーブルに対する暗号化過程でエラーが発生すれば、バックアップテーブルに基づいて原本テーブルを復元した後、再び暗号化過程が遂行される。この時、変更された原本テーブルに対する暗号化過程は、原本テーブルの制約条件非活性化から変更された原本テーブルの制約条件活性化までの過程全体を意味し、このような暗号化過程の遂行中にエラーが発生すれば、原本テーブルを復元した後、再び暗号化過程が遂行される。
【００２８】
図２は本発明に係るデータカラム暗号化方法の好ましい実施例の遂行過程を図示したフローチャートである。
【００２９】
図２を参照すれば、スキーマ照会部１１０はデータベース２００に保存されている複数個のデータテーブルの中で暗号化を遂行するデータテーブルである原本テーブルのスキーマを照会する(S２００)。次に、バックアップ遂行部１２０は照会された原本テーブルのスキーマに基づいてバックアップテーブルのスキーマ情報を生成する(S２１０)。そしてバックアップ遂行部１２０は生成されたバックアップテーブルのスキーマ情報を利用してバックアップテーブルを生成した後、原本テーブルのデータをバックアップテーブルにコピーする(S２２０)。
【００３０】
次に、バックアップ遂行部１２０は原本テーブルのPK、FK、Uniqueおよびインデックスを含む制約条件を非活性化(Disable)する(S２３０)。この時、データベース２００で付与したインデックスであるSYS_Cで始まるインデックスはデータベース２００により自動で削除される。
【００３１】
次に、バックアップ遂行部１２０は原本テーブルにバックアップカラムを追加して原本テーブルを変更する(S２４０)。次に、バックアップ遂行部１２０は追加されたバックアップカラムに対応する原本テーブルのカラムの中で属性が変更されるカラムの値をバックアップカラムにコピーする(S２５０)。次に、バックアップ遂行部１２０は変更された原本テーブルから属性が変更されるカラムのデータを削除し、変更された原本テーブルの各カラムの中で暗号化が遂行される暗号化対象カラムのデータ形式をデータの暗号化を遂行する暗号化技法に対応する形式に変更する(S２６０)。次に、暗号化部１３０は変更された原本テーブルで暗号化が遂行されるカラムである暗号化対象カラムのデータを暗号化して変更された原本テーブルの原本カラムの各フィールドに記入する(S２７０)。暗号化部１３０による暗号化対象カラムに存在するデータに対する暗号化が完了すれば、バックアップ遂行部１２０は変更された原本テーブルでバックアップカラムを削除し、制約条件を活性化する(S２８０)。
【００３２】
暗号化過程がエラーなしに完了すれば(S２９０)、インデックス生成部１４０は暗号化対象カラムのデータに対する暗号化が完了した後、インデックステーブルのインデックスを生成する(S３２０)。これとは違って、暗号化過程でエラーが発生すれば(S２９０)、バックアップ遂行部１２０はバックアップテーブルに基づいて原本テーブルを復元し(S３１０)、S２３０段階から再び遂行する。次に、バックアップ遂行部１２０はバックアップテーブルを削除する(S３００)。この時、S２９０段階での暗号化過程は、S２３０段階の原本テーブルの制約条件非活性化からS２８０段階の変更された原本テーブルの制約条件活性化までの過程全体を意味し、S２３０段階からS２８０段階の遂行中にエラーが発生すれば、S３１０段階を遂行することになる。そしてS３２０段階はS３００段階に先行して遂行され得る。
【００３３】
本発明はまた、コンピュータで読み取り可能な記録媒体にコンピュータが読み取り可能なコードで具現することが可能である。コンピュータが読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるすべての種類の記録装置を含む。コンピュータが読み取り可能な記録媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、また、キャリア波(例えばインターネットを通した伝送)の形態で具現されるものも含む。また、コンピュータが読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式でコンピュータが読み取り可能なコードが保存されて遂行され得る。
【００３４】
以上、本発明の好ましい実施例に対して図示して説明したが、本発明は前述した特定の好ましい実施例に限定されず、特許請求の範囲で請求する本発明の要旨を逸脱せず、当該発明が属する技術分野で通常の知識を有した者であれば、多様な変形実施が可能であり、そのような変更は特許請求の範囲の記載範囲内にあることはいうまでもない。
【図１】
2016537706.tif 000013
【図２】
2016537706.tif 000014
【国際調査報告】
2016537706.tif 000015
2016537706.tif 000016
2016537706.tif 000017
2016537706.tif 000018