(57)【要約】【課題】  データベースのサイズを増加させることなく頻度分析に対する耐性を強化する。【解決手段】  文字列付加処理部３が、文字列抽出部２によって抽出された、例えば句読点等、検索に使用されない意味の無い文字列の後に、暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加することにより、平文には存在しないダミーデータを付加して頻度を攪乱する方法に比べてデータサイズを増加させることなく頻度を攪乱させ、頻度分析による攻撃に対して耐性を強化する。【選択図】      図１
2005072917.tif 000002
【特許請求の範囲】
【請求項１】
頻度分布による平文の推定行為に対し、ダミーデータを挿入して頻度を攪乱する暗号化データ作成装置であって、
ある文書から単語文字列を抽出すると共に、意味の無い文字列を前記ダミーデータの対象として抽出する文字列抽出部と、
前記対象となる文字列の後に、前記暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加する文字列付加処理部と、
を備えることを特徴とする暗号化データ作成装置。
【請求項２】
前記文字列付加処理部は、
順次更新される任意の値と鍵を用いてハッシュ演算を施して前記付加される文字列を生成し、前記生成される文字列を２項分布に従い選択し、前記偏りを持つ文字列を生成することを特徴とする請求項１に記載の暗号化データ作成装置。
【請求項３】
頻度分布による平文の推定行為に対し、ダミーデータを挿入して頻度を攪乱する暗号化データ作成方法であって、
ある文書から単語文字列を抽出すると共に、意味の無い文字列を前記ダミーデータの対象として抽出する過程と、
前記対象となる文字列の後に、前記暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加する過程と、
を含むことを特徴とする暗号化データ作成装置。
【請求項４】
頻度分布による平文の推定行為に対し、ダミーデータを挿入して頻度を攪乱する暗号化データ作成装置に用いられるプログラムであって、
ある文書から単語文字列を抽出すると共に、意味の無い文字列を前記ダミーデータの対象として抽出する処理と、
前記対象となる文字列の後に、前記暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、頻度分布による平文の推定行為に対し、ダミーデータを挿入して頻度を攪乱する、暗号化データ作成装置および方法ならびにそのプログラムに関する。
【背景技術】
【０００２】
近年、様々なデータを電子データに変換し、オンラインで保管および管理することによって作業を効率化する試みが多くの企業でなされている。
それに伴い、「データセンター」事業と称される、データベースに必要な資材および環境を提供するサービスも出現している。このような形態において、データベース環境を管理する管理者と実際にデータベースを利用する利用者とが異なることから、管理者によって利用者の機密情報が盗聴されることを防ぐために、利用者が保存するデータを暗号化することが考えられる。
【０００３】
ところで、上記した利用形態において、「頻度分析」と称される古典的な攻撃が脅威となる。「頻度分析」とは、データベース等から多数の暗号文を収集し、暗号化された各単語の出現頻度を集計して一般的な出現頻度との比較を行うことによりって平文を推定する分析方法である。
上記した古典的な頻度分析に対し、平文には存在しないダミーデータを挿入することにより、その頻度を攪乱するデータ暗号化方法およびシステムが存在する（例えば、特許文献１参照）。
【特許文献１】特開２００１−３５６９５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した特許文献１に開示された技術によれば、コンピュータに格納されたデータが理解され盗用されることはなくなるが、頻度攪乱のためにダミーデータを多数挿入することからデータベースのデータサイズが増加する欠点があった。
本発明は上記事情に鑑みてなされたものであり、データベースのサイズを増加させることなく頻度分析に対する耐性を強化した、暗号化データ作成装置および方法ならびにそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記した課題を解決するために本発明は、頻度分布による平文の推定行為に対し、ダミーデータを挿入して頻度を攪乱する暗号化データ作成装置であって、ある文書から単語文字列を抽出すると共に、意味の無い文字列を前記ダミーデータの対象として抽出する文字列抽出部と、前記対象となる文字列の後に、前記暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加する文字列付加処理部と、を備えることを特徴とする。
本発明によれば、文字列付加処理部が、文字列抽出部によって抽出された、例えば、句読点等、検索に使用されない意味の無い文字列の後に、暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加することにより、平文には存在しないダミーデータを付加して頻度を攪乱する方法に比べてデータサイズを増加させることなく頻度を攪乱させ、頻度分析による攻撃に対して耐性を強化した暗号化データ作成装置を提供することができる。
【０００６】
また、本発明において、前記文字列付加処理部は、順次更新される任意の値と鍵を用いてハッシュ演算を施して前記付加される文字列を生成し、前記生成される文字列を２項分布に従い選択し、前記偏りを持つ文字列を生成することを特徴とする。
本発明によれば、文字列付加処理部が、ハッシュ演算により生成される乱数に２項分布に従って順位を付し（偏り）、ダミーデータの後に付加する文字列として割当てることで、データサイズを増加させることなく頻度を攪乱させ、頻度分析による攻撃に対して耐性を強化した暗号化データ作成装置を提供することができる。
【０００７】
上記した課題を解決するために本発明は、頻度分布による平文の推定行為に対し、ダミーデータを挿入して頻度を攪乱する暗号化データ作成方法であって、ある文書から単語文字列を抽出すると共に、意味の無い文字列を前記ダミーデータの対象として抽出する過程と、前記対象となる文字列の後に、前記暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加する過程と、を含むことを特徴とする。
【０００８】
上記した課題を解決するために本発明は、頻度分布による平文の推定行為に対し、ダミーデータを挿入して頻度を攪乱する暗号化データ作成装置に用いられるプログラムであって、ある文書から単語文字列を抽出すると共に、意味の無い文字列を前記ダミーデータの対象として抽出する処理と、前記対象となる文字列の後に、前記暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加する処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、平文をダミーデータとして頻度を攪乱させる従来技術に比較してデータのサイズを増加させることなく頻度分析に対する耐性を強化することができる。
このことにより、暗号化したままの状態で検索できる暗号化ＤＢを構築する際に、より安全な機密性を持った暗号化システムを提供できる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明実施形態の内部構成を機能展開して示したブロック図である。本発明の暗号化データ作成装置は、入力文書１と、文字列抽出部２と、文字列付加処理部３と、暗号化処理部４と、出力文書５で構成される。
文字列抽出部２は、入力文書１から単語文字列を抽出する他に、意味の無い文字列をダミーデータの対象として抽出して文字列付加処理部３へ供給する機能を持つ。ここで、意味の無い文字列とは、日本語であれば、句読点等、検索に使用されない文字列のことをいう。また、文字列付加処理部３は、ダミーデータの対象となる文字列の後に、暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加する機能を持つ。文字列付加処理部３はまた、順次更新される任意の値と鍵を用いてハッシュ演算を施して付加される文字列を生成し、ここで生成される文字列を２項分布に従い選択し、偏りを持つ文字列を生成する。
【００１１】
暗号化処理部４は、文字列抽出部によって抽出された文字列ならびに文字列付加処理部３で生成された文字列を個々に共通暗号鍵で暗号化して出力文書５に保存する機能を持つ。
【００１２】
図１に示す暗号化データ作成装置の概略動作を説明すれば以下のようになる。すなわち、頻度分析に対し、頻度を攪乱させるための方法としてある種のダミーコードを挿入することが有効であることは周知のとおりである。更に、ダミーコードを挿入してもデータサイズが増加しないように、ここでは、文字列抽出部２が、入力文書１から句読点等、通常検索に使用されない文字列をダミーコードの対象として抽出する。
そして、文字列付加処理部３が、対象となる文字列の後にランダムな文字列を追加することで複数のランダムな文字列を生成する。このとき、上記した文字列のランダム性は、完全にランダムなものではなく、データベース等のデータ使用環境における出現頻度の分布を考慮してある偏りを設けることとする。以下に詳細を述べる。
【００１３】
図３は、本発明実施形態の動作を説明するために引用したフローチャートであり、具体的には本発明の暗号化データ作成のためのプログラムの処理手順を示す。以下、図３に示すフローチャートを参照しながら図１に示す本発明実施形態の動作について詳細に説明する。
まず、文字抽出部２は、入力文書１から平文を読み出して単語単位に分割して出力すると共に（Ｓ３１、Ｓ３２）、分割された単語のうち、検索に使用しない意味の無い文字列の抽出も行う（Ｓ３３Ｙｅｓ）。ここでは、通常、検索に使用されない文字列（日本語における句読点等）をダミーデータの対象とする。ここで、句読点が検出された場合、その文字列に対し文字列付加処理部３によるパディングデータの生成処理（Ｓ３４）が実行される。
【００１４】
図２に、文字列単位で生成されるパディングデータのフォーマットの一例が示されている。パディングデータは固定長であり、句読点等、ダミーコードとして抽出された適用単語、パディング長、特殊パディングデータ、既存パディングデータの各データ項目から成る。
特殊パディングデータと既存パディングデータを合計したパディング長Ｌは固定であり、その中で特殊パディングデータ長Ａが設定により変更されるため、既存パディングデータ長（Ｌ−Ａ）はそれに応じて変更される。ここで、既存パディングデータは、先頭に“１”、後ろに“０”を並べた暗号化データとする。
以下、文字列付加処理部３による特殊パディングデータ生成処理のためのアルゴリズムについて説明する。
【００１５】
特殊パディングの頻度分布は完全にランダムではなく準ランダムとし、頻度に偏りを持たせるために定義される度数分布曲線につき、概略２項分布を利用して近似することする。
すなわち、図４の動作概念図に示されるように、特殊パディングデータは、初期値と処理鍵を元に生成され、まず、初期値として任意の値が設定され、ハッシュ関数演算を２段実行することで乱数データが生成される。初期値はシーケンシャルに更新され（＋ｄ）、都度上記したハッシュ関数演算処理が施され、特殊パディングデータ候補としての乱数データが生成される（Ｓ３４）。
ここで得られる複数の乱数データのうち、上位Ａバイトを最も頻度の高い特殊パディングデータとして割付け、次のＡバイトを次に頻度の高い特殊パディンググデータとして割付ける。ここでは２項分布に従って選択された乱数が選択され割付けられる（Ｓ３５）。
【００１６】
文字列付加処理部３は、上記のようにして割付けられた特殊パディングデータをダミーコードとして抽出された文字列に付加し（Ｓ３６）、暗号化処理部４へ供給する。
暗号化処理部４は、文字列抽出部２によって抽出された文字列、ならびに文字列付加処理部３で生成された文字列を個々に共通暗号鍵で暗号化して出力文書５に保存する（Ｓ３７、Ｓ３８）。
このように、文字列付加処理部３が、文字列抽出部２によって抽出された例えば句読点等、検索に使用されない意味の無い文字列の後に、暗号化データの使用環境における出現頻度を反映した偏りを持つ文字列を付加することにより、平文には存在しないダミーデータを付加して頻度を攪乱する方法に比べてデータサイズを増加させることなく頻度を攪乱させ、頻度分析による攻撃に対して耐性を強化した暗号化データ作成装置を提供することができる。
【実施例】
【００１７】
図５は、本発明の暗号化データ作成装置の適用例を説明するために引用した図である。ここでは、ある会社が社内の重要文書のデータベース管理をデータセンターに委託する場合を想定している。
利用者端末１２には本発明の暗号化データ作成のためのプログラム（ここでは暗号化モジュール１２４）がインストールされており、ＬＡＮ（Local Area Network）１３経由で社内の管理サーバ１１に接続されている。また、管理サーバ１１は、インターネット３０等の公衆回線を経由してデータセンター２０の暗号化ＤＢ２２に接続されている。
【００１８】
利用者が、利用者Ｉ／Ｆ１２２を用いてデータを作成し保存したい場合、暗号化モジュール１２４を起動してそのデータを暗号化し、通信モジュール１２３、そしてインターネット３０を経由してデータセンター２０をアクセスし、ＤＢ検索登録モジュール２１を介して暗号化ＤＢ２２にアップロードする。
一方、検索を行う場合、利用者は、検索したいキーワードを暗号化してインターネット３０経由でデータセンター２０へ送信する。データセンター２ではＤＢ検索登録モモジュール２１を起動し、このＤＢ検索登録モモジュール２１は、暗号化ＤＢ２２を検索して暗号化された状態でマッチング処理を行い、一致したデータを抽出して返信する。利用者端末１２は、返信されてきたデータを復号化モジュール１２５により復号化して利用者へ提供する。
【００１９】
上記したシステムに本発明を適用すれば、データのサイズを増加させることなく頻度分析に対する耐性を強化することができ、暗号化したままの状態で検索できる暗号化ＤＢ２２を構築する際に、より安全な機密性を持った暗号化システムを提供できる。このことにより、利用者は暗号化されたＤＢの中から必要とするデータを暗号化されたままで抽出することができる。
【００２０】
なお、図１に示す文字列抽出部２と、文字列付加処理部３と、暗号化処理部４のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによっても本発明の暗号化データ作成装置を実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウェアを含む。
【００２１】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００２２】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００２３】
【図１】本発明実施形態の内部構成を機能展開して示したブロック図である。
【図２】パディングデータのデータフォーマットの一例を示す図である。
【図３】本発明実施形態の動作を示すフローチャートである。
【図４】本発明実施形態の動作概念を示す図である。
【図５】本発明の適用例を示す図である。
【符号の説明】
【００２４】
１…入力文書、２…文字列抽出部、３…文字列付加処理部、４…暗号化処理部、５…出力文書
【図１】
2005072917.tif 000003
【図２】
2005072917.tif 000004
【図３】
2005072917.tif 000005
【図４】
2005072917.tif 000006
【図５】
2005072917.tif 000007