(57)【特許請求の範囲】
【請求項１】
保護レベルを算出するためのデータを保持する端末と、当該端末に接続される第１の装置及び第２の装置とを有する保護レベル算出システムに適用される保護レベル算出方法であって、
前記端末に接続される外部装置の所定の記憶部に、データの保護レベルを算出するために用いられる複数の文字列を格納する格納ステップと、
前記端末が、前記保護レベルを算出するためのデータを第１のデータ及び第２のデータに分割し、前記第１のデータを前記第１の装置に送信し、前記第２のデータを前記第２の装置に送信する第１の演算命令ステップと、
前記外部装置が、前記所定の記憶部に格納された複数の文字列から選択した一つの文字列を第１の文字列及び第２の文字列に分割し、前記第１の文字列を前記第１の装置に送信し、前記第２の文字列を前記第２の装置に送信する第２の演算命令ステップと、
前記第１の装置が、前記第１のデータ及び前記第１の文字列とテキストマッチングを行なう論理回路とから、前記第２のデータ及び前記第２の文字列を入力することで、前記データと前記選択された一つの文字列とのテキストマッチングの演算結果を出力出来る変換データを生成し、当該生成した変換データを前記第２の装置に送信する変換データ生成ステップと、
前記第２の装置が、前記第１の装置から受信した前記変換データに前記第２のデータ及び前記第２の文字列を入力することで前記演算結果を算出し、当該算出した演算結果を、前記外部装置に送信する演算結果算出ステップと、
前記外部装置が、前記所定の記憶部が記憶する全ての文字列に対する全演算結果を受信するまで、前記第２の演算命令ステップの処理を繰り返すことで、前記変換データ生成ステップ及び前記演算結果算出ステップの処理が繰り返して実行されるように制御する第３の演算命令ステップと、
前記外部装置が、前記第３の演算命令ステップの制御により前記全演算結果を受信した場合に、当該受信した全演算結果を用いて、保護レベルを算出する保護レベル算出ステップと、
を含んだことを特徴とする保護レベル算出方法。
【請求項２】
前記端末、又は、前記外部装置が、前記保護レベル算出ステップにより算出された前記保護レベルに応じて、当該保護レベルの算出元となったデータに対して、外部持ち出しに関する制約を設定する設定ステップを更に含んだことを特徴とする請求項１に記載の保護レベル算出方法。
【請求項３】
保護レベルを算出するためのデータを保持する端末と、当該端末に接続される第１の装置及び第２の装置とを有する保護レベル算出システムであって、
前記端末に接続される外部装置が、データの保護レベルを算出するために用いられる複数の文字列を記憶する所定の記憶部と、
前記端末が、前記保護レベルを算出するためのデータを第１のデータ及び第２のデータに分割し、前記第１のデータを前記第１の装置に送信し、前記第２のデータを前記第２の装置に送信する第１の演算命令部と、
前記外部装置が、前記所定の記憶部に格納された複数の文字列から選択した一つの文字列を第１の文字列及び第２の文字列に分割し、前記第１の文字列を前記第１の装置に送信し、前記第２の文字列を前記第２の装置に送信する第２の演算命令部と、
前記第１の装置が、前記第１のデータ及び前記第１の文字列とテキストマッチングを行なう論理回路とから、前記第２のデータ及び前記第２の文字列を入力することで、前記データと前記選択された一つの文字列とのテキストマッチングの演算結果を出力出来る変換データを生成し、当該生成した変換データを前記第２の装置に送信する変換データ生成部と、
前記第２の装置が、前記第１の装置から受信した前記変換データに前記第２のデータ及び前記第２の文字列を入力することで前記演算結果を算出し、当該算出した演算結果を、前記外部装置に送信する演算結果算出部と、
前記外部装置が、前記所定の記憶部が記憶する全ての文字列に対する全演算結果を受信するまで、前記第２の演算命令部による処理を繰り返すことで、前記変換データ生成部及び前記演算結果算出部の処理が繰り返して実行されるように制御する第３の演算命令部と、
前記外部装置が、前記第３の演算命令部の制御により前記全演算結果を受信した場合に、当該受信した全演算結果を用いて、保護レベルを算出する保護レベル算出部と、
を備えたことを特徴とする保護レベル算出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、保護レベル算出方法及び保護レベル算出システムに関する。
【背景技術】
【０００２】
近年、企業において管理すべき機密情報の漏洩が数多く発生しており、機密情報の漏洩を起こした企業は、個人情報保護の観点から責任を問われ、損害を受ける事態となっている。特に、個人情報を格納した端末や記憶媒体を社外に持ち出し、これを紛失したり、盗難されたりすることで生じる情報漏洩は、未だ後を絶たず、漏洩事件を起こした企業が責任を問われるといったケースが散見される。
【０００３】
個人情報を格納した端末や記憶媒体の紛失又は盗難は、従業員の意識の低さや無知などから、従業員が、自身が管理している端末や記憶媒体の中にどの程度の個人情報が格納されているのか知らない、又は、自覚できていないために、端末や記憶媒体の取り扱いに際してのセキュリティの意識が低くなってしまうことに一因がある。このような現状から、企業内におけるＩＴ資産の資産管理を適切に実施することが求められており、機密情報漏洩を防止するための方法が提案されている。
【０００４】
一例を挙げると、かかる方法には、情報が漏洩した際にどの程度の危険性があるかを事前に把握するために、情報（電子ファイル）の内容をチェックして、当該情報（電子ファイル）の総合的な保護レベルを判定する方法がある。保護レベルを判定する方法では、まず、個人情報辞書が用意され、辞書内のキーワードが情報（電子ファイル）に含まれるか否かが検索され、ヒットしたキーワード群から個人を特定可能か否かが評価される。これにより、機密性のレベルが計量化され、情報（電子ファイル）の総合的な保護レベルが判定される。
【０００５】
また、情報処理を行なう際に、情報漏洩を防止するため、情報を秘匿したままで四則演算などの論理回路演算を行なうことを可能とする方法も知られている。かかる方法では、論理回路において実現することが可能なすべての演算を対象として秘密計算を行なうことが可能である。
【０００６】
また、二者間で共通集合を秘密裏に計算することが出来る暗号プロトコルを用い、自分の保持する情報と相手の保持する情報が同一のものであるか否かを判定することが可能となる技術も知られている。また、かかる技術を応用して、複数の企業におけるウィルス検体を比較し、特定のサーバへの攻撃を行なうスピア型サイバー攻撃を検知判定するシステムも知られている。このシステムでは、秘匿化したデータ同士を突き合わせて共通集合を得ることで、セキュアなマッチングが行なわれる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−３２３５１１号公報
【特許文献２】特開２００９−１９９０６８号公報
【非特許文献】
【０００８】
【非特許文献１】“スピア型サイバー攻撃判定システム開発のための共同実証実験を開始−特定の組織に限定したサイバー攻撃を早期に検知するシステムの実現に向けて−”、［online］、［平成２２年１２月６日検索］、インターネット＜http://www2.nict.go.jp/pub/whatsnew/press/h19/080303/080303_1.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、上記した保護レベルを判定する方法は、電子ファイルのテキスト情報と個人情報辞書とのテキストマッチングにより、個人情報となり得るキーワードを抽出する方法である。しかし、重要な電子ファイルを保存する際には、当該電子ファイルを暗号化するようルールとして定めている企業もある。
【００１０】
このため、ファイルが暗号化されている場合には、上記した保護レベルを判定する方法では、個人情報がヒットせず、保護レベルの判定が出来ない。また、暗号化されたファイルが置かれている状況で、上記した保護レベルを判定する方法を用いて保護レベルの判定を行なうためには、マッチングを行なう度に暗号化された電子ファイルを復号する方法が考えられるが、マッチングを行なう際に暗号化されているデータを一旦復号することで、セキュリティレベルが低下する可能性がある。
【００１１】
すなわち、上記した従来の技術では、情報を秘匿した状態で、当該情報の保護レベルを判定することが出来ないという課題があった。
【００１２】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、情報を秘匿した状態で、当該情報の保護レベルを判定することが可能となる保護レベル算出方法及び保護レベル算出システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本願の開示する保護レベル算出方法は、保護レベルを算出するためのデータを保持する端末と、当該端末に接続される第１の装置及び第２の装置とを有する保護レベル算出システムに適用される。本願の開示する保護レベル算出方法は、前記端末に接続される外部装置の所定の記憶部に、データの保護レベルを算出するために用いられる複数の文字列を格納する格納ステップと、前記端末が、前記保護レベルを算出するためのデータを第１のデータ及び第２のデータに分割し、前記第１のデータを前記第１の装置に送信し、前記第２のデータを前記第２の装置に送信する第１の演算命令ステップと、前記外部装置が、前記所定の記憶部に格納された複数の文字列から選択した一つの文字列を第１の文字列及び第２の文字列に分割し、前記第１の文字列を前記第１の装置に送信し、前記第２の文字列を前記第２の装置に送信する第２の演算命令ステップと、を含む。また、本願の開示する保護レベル算出方法は、前記第１の装置が、前記第１のデータ及び前記第１の文字列とテキストマッチングを行なう論理回路とから、前記第２のデータ及び前記第２の文字列を入力することで、前記データと前記選択された一つの文字列とのテキストマッチングの演算結果を出力出来る変換データを生成し、当該生成した変換データを前記第２の装置に送信する変換データ生成ステップと、前記第２の装置が、前記第１の装置から受信した前記変換データに前記第２のデータ及び前記第２の文字列を入力することで前記演算結果を算出し、当該算出した演算結果を、前記外部装置に送信する演算結果算出ステップと、を含む。また、本願の開示する保護レベル算出方法は、前記外部装置が、前記所定の記憶部が記憶する全ての文字列に対する全演算結果を受信するまで、前記第２の演算命令ステップの処理を繰り返すことで、前記変換データ生成ステップ及び前記演算結果算出ステップの処理が繰り返して実行されるように制御する第３の演算命令ステップと、前記外部装置が、前記第３の演算命令ステップの制御により前記全演算結果を受信した場合に、当該受信した全演算結果を用いて、保護レベルを算出する保護レベル算出ステップと、を含む。
【００１４】
また、本願の開示する保護レベル算出システムは、保護レベルを算出するためのデータを保持する端末と、当該端末に接続される第１の装置及び第２の装置とを有する。本願の開示する保護レベル算出システムは、前記端末に接続される外部装置が、データの保護レベルを算出するために用いられる複数の文字列を記憶する所定の記憶部と、前記端末が、前記保護レベルを算出するためのデータを第１のデータ及び第２のデータに分割し、前記第１のデータを前記第１の装置に送信し、前記第２のデータを前記第２の装置に送信する第１の演算命令部と、前記外部装置が、前記所定の記憶部に格納された複数の文字列から選択した一つの文字列を第１の文字列及び第２の文字列に分割し、前記第１の文字列を前記第１の装置に送信し、前記第２の文字列を前記第２の装置に送信する第２の演算命令部と、を備える。また、本願の開示する保護レベル算出システムは、前記第１の装置が、前記第１のデータ及び前記第１の文字列とテキストマッチングを行なう論理回路とから、前記第２のデータ及び前記第２の文字列を入力することで、前記データと前記選択された一つの文字列とのテキストマッチングの演算結果を出力出来る変換データを生成し、当該生成した変換データを前記第２の装置に送信する変換データ生成部と、前記第２の装置が、前記第１の装置から受信した前記変換データに前記第２のデータ及び前記第２の文字列を入力することで前記演算結果を算出し、当該算出した演算結果を、前記外部装置に送信する演算結果算出部と、を備える。また、本願の開示する保護レベル算出システムは、前記外部装置が、前記所定の記憶部が記憶する全ての文字列に対する全演算結果を受信するまで、前記第２の演算命令部による処理を繰り返すことで、前記変換データ生成部及び前記演算結果算出部の処理が繰り返して実行されるように制御する第３の演算命令部と、前記外部装置が、前記第３の演算命令部の制御により前記全演算結果を受信した場合に、当該受信した全演算結果を用いて、保護レベルを算出する保護レベル算出部と、を備える。
【発明の効果】
【００１５】
本願の開示する保護レベル算出方法及び保護レベル算出システムによれば、情報を秘匿した状態で、当該情報の保護レベルを判定することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本実施例に係る保護レベル算出システムの構成例を説明するための図である。
【図２】図２は、キーワード記憶部の一例を説明するための図である。
【図３】図３は、第１の演算命令部を説明するための図である。
【図４】図４は、第２の演算命令部を説明するための図である。
【図５】図５は、保護レベル算出部の処理の一例を説明するための図である。
【図６】図６は、設定部の処理の一例を説明するための図である。
【図７】図７は、本実施例に係る保護レベル算出システムの演算結果を取得するまでの処理を説明するためのシーケンス図である。
【図８】図８は、で本実施例に係る保護レベル算出システムの演算結果を取得後の処理を説明するためのフローチャートある。
【図９】図９は、本実施例に係る保護レベル算出システムの変形例を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、本願の開示する保護レベル算出方法及び保護レベル算出システムの実施例を詳細に説明する。以下では、本願の開示する保護レベル算出方法を実行する保護レベル算出システムを実施例として説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例】
【００１８】
本実施例に係る保護レベル算出システムについて、図１などを参照して説明する。図１は、本実施例に係る保護レベル算出システムの構成例を説明するための図である。
【００１９】
図１に示すように、本実施例に係る保護レベル算出システムは、クライアント端末１０と、第１のサーバ２０と、第２のサーバ３０を有する。また、本実施例に係る保護レベル算出システムは、図１に示すように、外部装置４０を有する。そして、クライアント端末１０と、第１のサーバ２０と、第２のサーバ３０と、外部装置４０とは、ネットワークを介して接続される。図１に示す一例では、クライアント端末１０と、第１のサーバ２０と、第２のサーバ３０と、外部装置４０とは、ＬＡＮ（Local  Area  Network）１００により接続される。
【００２０】
例えば、クライアント端末１０のユーザａは、企業Ａの社員であり、クライアント端末１０は、企業Ｂからユーザａに支給されたパーソナルコンピュータであり、保護レベルを算出するためのデータを保持する。また、第１のサーバ２０及び第２のサーバ３０それぞれは、企業Ａにおいて、情報漏洩防止用に設置されたサーバである。なお、図１に示す一例では、クライアント端末１０が一台のみ示されているが、実際には、本実施例に係る保護レベル算出システムは、複数のクライアント端末１０を有する。
【００２１】
図１に示すクライアント端末１０が有するデータ記憶部１１は、クライアント端末１０が保持するデータを記憶する。具体的には、データ記憶部１１は、ユーザａが作成した電子データや、ユーザａに提供された電子データなどを記憶する。例えば、データ記憶部１１は、プレゼンテーション用資料や、見積書、企業Ａ内での議事録、企業Ａと他の企業との議事録といった内部資料の電子データを記憶する。
【００２２】
そして、本実施例に係る保護レベル算出システムは、クライアント端末１０が保持するデータ（情報）の保護レベルを算出する。ここで、本実施例に係る保護レベル算出システムは、情報を秘匿した状態で、当該情報の保護レベルを判定するために、図１に示す各部が設置される。すなわち、クライアント端末１０は、図１に示すように、第１の演算命令部１３ａを有する。また、外部装置４０は、キーワード記憶部１２と、第２の演算命令部１３ｂと、第３の演算命令部１３ｃと、保護レベル算出部１４と、設定部１５とを有する。ここで、第１の演算命令部１３ａ、第２の演算命令部１３ｂ及び第３の演算命令部１３ｃは、後述する秘密計算方法により保護レベルを演算するための命令を行なう演算命令部１３として機能する（図１を参照）。なお、外部装置４０は、クライアント端末１０と同様にパーソナルコンピュータであっても良いし、ワークステーションであっても良い。
【００２３】
また、第１のサーバ２０は、図１に示すように、第１の記憶部２０ａと変換データ生成部２０ｂとを有する。また、第２のサーバ３０は、第２の記憶部３０ａと演算結果算出部３０ｂとを有する。以下、本実施例に係る保護レベル算出システムが実行する処理手順に沿って、各部を説明する。
【００２４】
外部装置４０が有するキーワード記憶部１２は、データ記憶部１１が記憶するデータの保護レベルを算出するために用いられる複数の文字列（キーワード）を記憶する。図２は、キーワード記憶部の一例を説明するための図である。
【００２５】
例えば、キーワード記憶部１２は、図２に示すように、「辞書１」として複数の「苗字：鈴木、斉藤、佐藤、伊藤、・・・」をキーワードとして記憶する。また、キーワード記憶部１２は、図２に示すように、「辞書２」として複数の「名前」をキーワードとして記憶する。また、キーワード記憶部１２は、図２に示すように、「辞書３」として複数の「住所：東京都中央区、・・・・・」をキーワードとして記憶する。なお、図２に示す一例では、キーワードが全て漢字表記となっているが、例えば、キーワードは、漢字表記の文字列だけでなく、平仮名表記やカタカナ表記、ローマ字表記の文字列も含まれる。また、キーワードは、日本語の他にも、英語、中国語なども含まれても良い。また、図２には示さないが、キーワード記憶部１２は、メールアドレスの辞書、機密レベルを示す文言（例えば、社外秘、部外秘など）の辞書、電話番号の辞書、郵便番号の辞書なども記憶する。
【００２６】
また、キーワード記憶部１２は、図２に示すように、「辞書１」及び「辞書２」に「係数：１．０」を対応付けて記憶し、「辞書３」に「係数：２．０」を対応付けて記憶する。なお、キーワード記憶部１２が記憶する「係数」は、後に詳述する保護レベル算出部１４の処理に用いられる値である。
【００２７】
キーワード記憶部１２に格納される複数のキーワードは、保護レベル算出対象となるデータ（以下、対象データと記載する）とのテキストマッチングに用いられる文字列である。複数のキーワードは、例えば、保護レベル算出システムの管理者によりキーワード記憶部１２に格納される。
【００２８】
図１に戻って、クライアント端末１０が有する第１の演算命令部１３ａは、対象データを第１のデータ及び第２のデータに分割する。そして、第１の演算命令部１３ａは、対象データを断片化した第１のデータを第１のサーバ２０に送信する。これにより、第１のデータは、第１の記憶部２０ａに格納される。また、第１の演算命令部１３ａは、対象データを断片化した第２のデータを第２のサーバ３０に送信する。これにより、第２のデータは、第２の記憶部３０ａに格納される。
【００２９】
具体的には、第１の演算命令部１３ａは、分割演算子を用いることで、以下の式（１）を満たす（ｓ，ｔ）をデータ「ｍ」からランダムに生成する。
【００３０】
【数１】
0005468534.tif 000002
【００３１】
図３は、第１の演算命令部を説明するための図である。一例を挙げると、第１の演算命令部１３ａは、データ記憶部１１に新規に格納された電子データを「対象データ：Ｄ」とする。例えば、後述する保護レベル算出部１４は、データ記憶部１１に新規に格納されたデータを、「対象データ：Ｄ」として、第１の演算命令部１３ａに通知する。そして、第１の演算命令部１３ａは、「対象データ：Ｄ」を式（１）の「ｍ」とすることで、図３に示すように、式（１）の「ｔ」に対応する「第１のデータ：α」と、式（１）の「ｓ」に対応する「第２のデータ：β」とをランダムに生成する。
【００３２】
そして、第１の演算命令部１３ａは、ＬＡＮ１００を介して、図３に示すように、「第１のデータ：α」を第１の記憶部２０ａに格納する。また、第１の演算命令部１３ａは、ＬＡＮ１００を介して、図３に示すように、「第２のデータ：β」を第２の記憶部３０ａに格納する。
【００３３】
図１に戻って、外部装置４０が有する第２の演算命令部１３ｂは、キーワード記憶部１２に格納された複数の文字列から選択した一つの文字列を第１の文字列及び第２の文字列に分割する。そして、第２の演算命令部１３ｂは、第１の文字列を第１のサーバ２０に送信する。これにより、変換データ生成部２０ｂは、第１の文字列を受信する。また、第２の演算命令部１３ｂは、第２の文字列を第２のサーバ３０に送信する。これにより、演算結果算出部３０ｂは、第２の文字列を受信する。
【００３４】
まず、第２の演算命令部１３ｂは、キーワード記憶部１２に格納されている複数のキーワードから一つのキーワード「ｄ」を選択する。例えば、第２の演算命令部１３ｂは、図２に示すキーワード群から「鈴木」を選択する。
【００３５】
図４は、第２の演算命令部を説明するための図である。そして、第２の演算命令部１３ｂは、「キーワード：ｄ」を式（１）の「ｍ」とすることで、図４に示すように、式（１）の「ｔ」に対応する「第１の文字列：ｄα」と、式（１）の「ｓ」に対応する「第２の文字列：ｄβ」とをランダムに生成する。
【００３６】
そして、第２の演算命令部１３ｂは、ＬＡＮ１００を介して、図４に示すように、「ｄ」を断片化した「第１の文字列：ｄα」を変換データ生成部２０ｂに送信する。また、第２の演算命令部１３ｂは、ＬＡＮ１００を介して、図４に示すように、「ｄ」を断片化した「第２の文字列：ｄβ」を演算結果算出部３０ｂに送信する。
【００３７】
図１に戻って、第１のサーバ２０が有する変換データ生成部２０ｂは、第１のデータ（α）及び第１の文字列（ｄα）とテキストマッチングを行なう論理回路とを用い変換データを生成する。ここで、変換データ生成部２０ｂが生成する変換データは、第２のデータ（β）及び第２の文字列（ｄβ）を入力することで、対象データ（Ｄ）と選択された一つのキーワード（ｄ）とのテキストマッチングの演算結果を出力出来るデータである。そして、変換データ生成部２０ｂは、生成した変換データを第２のサーバ３０の演算結果算出部３０ｂに送信する。
【００３８】
そして、演算結果算出部３０ｂは、変換データ生成部２０ｂから受信した変換データに第２のデータ及び第２の文字列を入力することで演算結果を算出する。
【００３９】
ここで、変換データ生成部２０ｂ及び演算結果算出部３０ｂは、特開２００９−１９９０６８号公報に開示されている秘密計算方法を用いて変換データを生成し、演算結果を算出する。以下、変換データ生成部２０ｂが実行する処理の一例について、数式を用いて簡単に説明する。なお、以下の数式では、対象データ（Ｄ）及びキーワード（ｄ）を「ｍ」として記載し、テキストマッチングを行なう論理回路を「ｆ」として記載する。また、以下の数式では、第１のデータ（α）及び第１の文字列（ｄα）を「ｔ」として記載し、第２のデータ（β）及び第２の文字列（ｄβ）を「ｓ」として記載する。
【００４０】
まず、変換データ生成部２０ｂは、「ｆ」の各ワイヤー「ｉ」に対して、以下の式（２）に示す固定長の乱数を２つ生成し、それぞれ「０」及び「１」に対応させる。
【００４１】
【数２】
0005468534.tif 000003
【００４２】
そして、変換データ生成部２０ｂは、ランダムビット「ｃｉ」を生成する。ここで、変換データ生成部２０ｂは、以下の式（３）により「１−ｃ」を定義する。
【００４３】
【数３】
0005468534.tif 000004
【００４４】
そして、変換データ生成部２０ｂは、以下の式（４）に示す値をワイヤー「ｉ」に対応させる。
【００４５】
【数４】
0005468534.tif 000005
【００４６】
ただし、変換データ生成部２０ｂは、ワイヤー「ｉ」が「ｍ」の下位「ｗ」番目のビット「ｍｗ」を入力とする場合、「ｔ」の下位「ｔ」番目のビットを「ｔｗ」として、以下の式（５）に示す値をワイヤー「ｉ」に対応させる。
【００４７】
【数５】
0005468534.tif 000006
【００４８】
そして、変換データ生成部２０ｂは、「ｉ」及び「ｊ」を入力ワイヤー、「ｋ」を出力ワイヤーとする論理ゲート「ｇ」に対して、以下の式（６）に示す４つのラベル付きデータを行単位でランダムな順番に並べたものを「Ｔｇ」とする。
【００４９】
【数６】
0005468534.tif 000007
【００５０】
ここで、変換データ生成部２０ｂは、式（６）のコロン（：）の左側を「ラベル」とし、式（６）のコロン（：）の右側を「データ」とする。なお、式（６）に示す「Ｆｗ（ｘ）」は、「ｘ」及び「Ｗ」を入力した場合に、固定長の乱数を出力する関数である。
【００５１】
変換データ生成部２０ｂは、『式（６）に示す「Ｔｇ」の集合』を上記の変換データとして生成する。そして、変換データ生成部２０ｂは、「Ｔｇの集合」を演算結果算出部３０ｂに送信する。
【００５２】
演算結果算出部３０ｂは、「ｓ」を用いて、以下の式（７）で示す値を求める。
【００５３】
【数７】
0005468534.tif 000008
【００５４】
この際、演算結果算出部３０ｂは、変換データ生成部２０ｂと、紛失通信（ＯＴ：Oblivious  Transfer）プロトコルの一種である「1-out-of-2  ＯＴプロトコル」を実行し、「ｓ」の下位「ｗ」番目のビット「ｓｗ」を入力とするデータを以下の式（８）により得る。
【００５５】
【数８】
0005468534.tif 000009
【００５６】
式（７）及び式（８）で示す手順では、「1-out-of-2  ＯＴプロトコル」が用いられている。このプロトコルでは、第１のサーバ２０がデータ「ｄ０，ｄ１」を保有し、第２のサーバ３０がビット「ｂ」を保有する時、第２のサーバ３０は、「ｄｂ」を得ることが出来る。しかし、このプロトコルでは、第１のサーバ２０は、「ｂ」を得ることが出来ない。また、このプロトコルでは、第２のサーバ３０は、以下の式（９）の値を得ることが出来ない。
【００５７】
【数９】
0005468534.tif 000010
【００５８】
そして、演算結果算出部３０ｂは、「Ｔｇ」及び式（７）を用いて、論理回路「ｆ」の最終段のワイヤーの出力である式（１０）を得る。ここで、「ｂ＝ｍｗ」とする。
【００５９】
【数１０】
0005468534.tif 000011
【００６０】
式（１０）を得るための処理は、以下のものとなる。すなわち、演算結果算出部３０ｂに対して、入力ワイヤー「ｉ」及び「ｊ」と出力ワイヤー「ｋ」との論理ゲート「ｇ」に対応する「Ｔｇ」と、以下の式（１１）に示す値とが与えられたとする。
【００６１】
【数１１】
0005468534.tif 000012
【００６２】
かかる場合、演算結果算出部３０ｂは、まず、「Ｔｇ」から以下の式（１２）となるラベルを持つデータである式（１３）取り出す。
【００６３】
【数１２】
0005468534.tif 000013
【００６４】
【数１３】
0005468534.tif 000014
【００６５】
そして、演算結果算出部３０ｂは、以下の式（１４）に示す値を算出する。
【００６６】
【数１４】
0005468534.tif 000015
【００６７】
これにより、演算結果算出部３０ｂは、出力ワイヤー「ｋ」に対応するデータである以下の式（１５）を得る。
【００６８】
【数１５】
0005468534.tif 000016
【００６９】
演算結果算出部３０ｂは、他のゲートについても、同様の処理を行なうことで、最終段のワイヤーの出力である式（１０）を得る。
【００７０】
演算結果算出部３０ｂは、式（１０）において「ｃｋ＝０」とすることにより、テキストマッチングを行なう論理回路「ｆ」の演算結果「ｂ’」を算出する。具体的には、演算結果算出部３０ｂは、対象データ（Ｄ）中にキーワード（ｄ）が出現した頻度を算出する。
【００７１】
そして、演算結果算出部３０ｂは、算出した演算結果を、外部装置４０に送信する。具体的には、演算結果算出部３０ｂは、算出した演算結果を、図１に示す第３の演算命令部１３ｃに送信し、第３の演算命令部１３ｃは、受信した演算結果を保護レベル算出部１４に通知する。
【００７２】
第３の演算命令部１３ｃは、キーワード記憶部１２が記憶する全ての文字列（キーワード）に対する全演算結果を受信するまで、第２の演算命令部１３ｂによる処理を繰り返すことで、変換データ生成部２０ｂ及び演算結果算出部３０ｂの処理が繰り返して実行されるように制御する。
【００７３】
そして、保護レベル算出部１４は、第３の演算命令部１３ｃの制御により全演算結果を受信した場合に、当該受信した全演算結果を用いて、対象データの保護レベルを算出する。
【００７４】
図５は、保護レベル算出部の処理の一例を説明するための図である。例えば、保護レベル算出部１４は、図５の（Ａ）に示すように、「辞書１（苗字）」内の全キーワードが「対象データ：Ｄ」にて出現する頻度が「１００」であった場合、「辞書１（苗字）」の係数「１．０」と「１００」とを乗算した乗算値「１００」を算出する。また、保護レベル算出部１４は、図５の（Ａ）に示すように、「辞書２（名前）」内の全キーワードが「対象データ：Ｄ」にて出現する頻度が「１００」であった場合、「辞書２（名前）」の係数「１．０」と「１００」とを乗算した乗算値「１００」を算出する。また、保護レベル算出部１４は、図５の（Ａ）に示すように、「辞書３（住所）」内の全キーワードが「対象データ：Ｄ」にて出現する頻度が「２００」であった場合、「辞書３（住所）」の係数「２．０」と「２００」とを乗算した乗算値「４００」を算出する。
【００７５】
保護レベル算出部１４は、かかる処理を全ての辞書において行なう。そして、保護レベル算出部１４は、図５の（Ａ）に示すように、乗算値の合計値「Ｓ（Ｄ）」を算出する。
【００７６】
そして、保護レベル算出部１４は、図５の（Ｂ）に示すように、「Ｓ（Ｄ）」に応じて、保護レベルを算出する。例えば、保護レベル算出部１４は、第１の閾値及び第２の閾値を用いて、保護レベルを算出する。例えば、保護レベル算出部１４は、「Ｓ（Ｄ）」が第１の閾値以下である場合、保護レベル「低」と算出する。また、保護レベル算出部１４は、「Ｓ（Ｄ）」が第１の閾値より大きく、かつ、第２の閾値以下である場合、保護レベル「中」と算出する。また、保護レベル算出部１４は、「Ｓ（Ｄ）」が第２の閾値より大きい場合、保護レベル「高」と算出する。
【００７７】
なお、保護レベル算出部１４は、全演算結果を規格化した値として、「Ｓ（Ｄ）」を「頻度の合計値」で乗算した値を用いて保護レベルを算出しても良い。また、保護レベル算出部１４が保護レベルを算出する際に用いられるポリシーは、保護レベル算出システムの管理者により任意に設定することが可能である。ポリシーの一例としては、「辞書１」の頻度が「１５０」以上であり、「辞書３」の頻度が「２００」以上であった場合には、保護レベル「高」とするポリシーが挙げられる。
【００７８】
また、上記では、保護レベルが３段階で算出される場合について説明したが、本実施例にて算出される保護レベルは、任意の段階で設定されて良い。例えば、本実施例にて算出される保護レベルは、１０段階である場合であっても良い。
【００７９】
図１に戻って、外部装置４０が有する設定部１５は、保護レベル算出部１４により算出された保護レベルに応じて、当該保護レベルの算出元となった対象データ「Ｄ」に対して、外部持ち出しに関する制約を設定する。すなわち、設定部１５は、対象データ「Ｄ」の外部持ち出しに関する制約をクライアント端末１０に対して設定する。
【００８０】
図６は、設定部の処理の一例を説明するための図である。例えば、設定部１５は、図６に示すように、「保護レベル：高」が算出された対象データ「Ｄ」に対しては、「外部持ち出し禁止」の制約を設定する。これにより、ユーザａが、例えば、ＵＳＢ（Universal  Serial  Bus）メモリをクライアント端末１０に接続して対象データ「Ｄ」をコピーしようとしても、設定部１５が設定した制約により、コピー不可となる。また、ユーザａが、例えば、対象データ「Ｄ」をメールに添付した上で送信しようとしても、設定部１５が設定した制約により、添付不可となる。
【００８１】
また、設定部１５は、図６に示すように、「保護レベル：中」が算出された対象データ「Ｄ」に対しては、「暗号化の上、外部持ち出し可」の制約を設定する。これにより、ユーザａは、対象データ「Ｄ」を暗号化した場合のみ、ＵＳＢメモリにコピーしたり、メールにて送信したりすることが出来る。
【００８２】
また、設定部１５は、図６に示すように、「保護レベル：低」が算出された対象データ「Ｄ」に対しては、「外部持ち出し可」の制約を設定する。
【００８３】
次に、図７および図８を用いて、本実施例に係る保護レベル算出システムの処理の流れを説明する。図７は、本実施例に係る保護レベル算出システムの演算結果を取得するまでの処理を説明するためのシーケンス図である。また、図８は、本実施例に係る保護レベル算出システムの演算結果を取得後の処理を説明するためのフローチャートである。
【００８４】
図７に示すように、本実施例に係る保護レベル算出システムは、データ記憶部１１に新規のデータ「対象データ（Ｄ）」が格納されると、保護レベル算出部１４は、対象データ（Ｄ）の処理を演算命令部１３（第１の演算命令部１３ａ）に依頼する（ステップＳ１０１）。そして、演算命令部１３（第１の演算命令部１３ａ）は、対象データ（Ｄ）をα及びβに断片化する（ステップＳ１０２）。
【００８５】
そして、演算命令部１３（第１の演算命令部１３ａ）は、αを第１の記憶部２０ａに送信し（ステップＳ１０３）、第１の記憶部２０ａは、αを格納する（ステップＳ１０４）。また、演算命令部１３（第１の演算命令部１３ａ）は、βを第２の記憶部３０ａに送信し（ステップＳ１０５）、第２の記憶部３０ａは、βを格納する（ステップＳ１０６）。
【００８６】
その後、演算命令部１３（第２の演算命令部１３ｂ）は、キーワード記憶部１２から選択したキーワード（ｄ）をｄα及びｄβに断片化する（ステップＳ１０７）。
【００８７】
そして、演算命令部１３（第２の演算命令部１３ｂ）は、ｄαを変換データ生成部２０ｂに送信し（ステップＳ１０８）、変換データ生成部２０ｂは、ｄαを受信する（ステップＳ１０９）。また、演算命令部１３（第２の演算命令部１３ｂ）は、ｄβを演算結果算出部３０ｂに送信し（ステップＳ１１０）、演算結果算出部３０ｂは、ｄβを受信する（ステップＳ１１１）。
【００８８】
そして、変換データ生成部２０ｂは、αを第１の記憶部２０ａから抽出し、α、ｄα及びテキストマッチングを行なう論理回路から変換データを生成する（ステップＳ１１２）。続いて、変換データ生成部２０ｂは、変換データを演算結果算出部３０ｂに送信し（ステップＳ１１３）、演算結果算出部３０ｂは、変換データを受信する（ステップＳ１１４）。
【００８９】
そして、演算結果算出部３０ｂは、βを第２の記憶部３０ａから抽出し、β及びｄβを変換データに入力して演算結果を算出し（ステップＳ１１５）、演算結果を演算命令部１３（第３の演算命令部１３ｃ）に送信する（ステップＳ１１６）。
【００９０】
そして、演算命令部１３（第３の演算命令部１３ｃ）は、演算結果を受信し、受信した演算結果を保護レベル算出部１４に通知し（ステップＳ１１７）、保護レベル算出部１４は、演算結果を受信する（ステップＳ１１８）。
【００９１】
そして、演算命令部１３（第３の演算命令部１３ｃ）は、全演算結果を受信するまで、ステップＳ１０７〜ステップＳ１１８の処理が繰り返されるように制御する（ステップＳ１１９）。
【００９２】
これにより、全てのキーワードのマッチング処理が行なわれ、保護レベル算出部１４は、全演算結果を受信する。なお、上記では、第２の演算命令部１３ｂによりキーワードの選択処理が行なわれる場合を説明したが、キーワードの選択処理は、保護レベル算出部１４により行なわれる場合であっても良い。かかる場合、保護レベル算出部１４は、選択したキーワードを第２の演算命令部１３ｂに通知し、第２の演算命令部１３ｂは、通知されたキーワードの分割（断片化）処理及び送信処理を行なう。
【００９３】
そして、図８に示すように、保護レベル算出部１４は、演算命令部１３（第３の演算命令部１３ｃ）の制御により全演算結果を受信したか否かを判定する（ステップＳ２０１）。ここで、全演算結果を受信していない場合（ステップＳ２０１否定）、保護レベル算出部１４は、全演算結果を受信するまで待機する。
【００９４】
一方、全演算結果を受信した場合（ステップＳ２０１肯定）、保護レベル算出部１４は、保護レベルを算出する（ステップＳ２０２）。
【００９５】
そして、設定部１５は、保護レベルに応じて、対象データ「Ｄ」に対して制約を設定し（ステップＳ２０３）、処理を終了する。
【００９６】
なお、上記では、新規にデータがクライアント端末に格納されたタイミングで保護レベル算出処理が実行される場合について説明したが、本実施例は、これに限定されるものではない。例えば、本実施例は、保護レベル算出処理が、所定の間隔（例えば、一ヶ月）で実行され、対象データが、当該所定の間隔にて新規に格納されたデータ群である場合であっても良い。また、本実施例は、キーワード記憶部１２のキーワード群が更新された場合に、データ記憶部１１に格納されているデータ全てに対して、保護レベル算出処理が行なわれても良い。
【００９７】
また、上記では、第１のサーバ２０にて変換データが生成され、第２のサーバ３０にて演算結果が算出される場合について説明したが、本実施例は、これに限定されるものではない。例えば、本実施例は、第２のサーバ３０にて変換データが生成され、第１のサーバ２０にて演算結果が算出される場合であっても良い。また、本実施例は、第１のサーバ２０及び第２のサーバ３０双方が、変換データ生成処理及び演算結果算出処理を実行可能とし、対象データ毎に、又は、キーワード毎に、変換データ生成処理及び演算結果算出処理を行なうサーバを変更する場合であっても良い。
【００９８】
上述したように、本実施例では、キーワード記憶部１２は、データの保護レベルを算出するために用いられる複数の文字列を記憶する。第１の演算命令部１３ａは、保護レベルを算出するためのデータを第１のデータ及び第２のデータに分割し、第１のデータを第１のサーバ２０に送信し、第２のデータを第２のサーバ３０に送信する。第２の演算命令部１３ｂは、キーワード記憶部１２に格納された複数の文字列から選択した一つの文字列を第１の文字列及び第２の文字列に分割し、第１の文字列を第１のサーバ２０に送信し、第２の文字列を第２のサーバ３０に送信する。
【００９９】
そして、変換データ生成部２０ｂは、第１のデータ及び第１の文字列とテキストマッチングを行なう論理回路とから、第２のデータ及び第２の文字列を入力することで、データと選択された一つの文字列とのテキストマッチングの演算結果を出力出来る変換データを生成し、当該生成した変換データを第２のサーバ３０に送信する。そして、演算結果算出部３０ｂは、第１のサーバ２０から受信した変換データに第２のデータ及び第２の文字列を入力することで演算結果を算出し、当該算出した演算結果を、クライアント端末１０に送信する。
【０１００】
第３の演算命令部１３ｃは、キーワード記憶部１２が記憶する全ての文字列に対する全演算結果を受信するまで、第２の演算命令部１３ｂによる処理を繰り返すことで、変換データ生成部２０ｂ及び演算結果算出部３０ｂの処理が繰り返して実行されるように制御する。保護レベル算出部１４は、第３の演算命令部１３ｃの制御により全演算結果を受信した場合に、当該受信した全演算結果を用いて、保護レベルを算出する。
【０１０１】
すなわち、本実施例では、キーワード群の保管、キーワードの選択、キーワードの分割及び全演算結果が算出されるまでの繰り返し制御と、保護レベル算出処理が外部装置４０内で集約されて実行される。また、本実施例では、データを断片化して２つのサーバに保管することにより、例えば、社員がデータの断片が保管されている記憶媒体を持ち出しても元のデータを復号することはできず、情報漏洩につながることがない。例えば、２つの断片を保管している記憶媒体をそれぞれ別の管理者が管理することにより、管理者不正への耐性も高めることが出来る。
【０１０２】
また、本実施例では、キーワードも断片化した上で、第１のサーバ２０及び第２のサーバ３０の間で秘密計算を行なって、演算結果を算出する。すなわち、本実施例では、対象データ及びキーワードを復号することなく、第１のサーバ２０は、変換データを生成し、第２のサーバ３０は、演算結果を算出することが出来る。換言すれば、本実施例では、データを保管している記憶媒体（データ記憶部１１）がどの程度重要なファイルを保持しているか、及び、どの程度の保護レベルを必要としているかを、データを暗号化したままの状態で算出するので、セキュリティレベルを低下させることがない。
【０１０３】
従って、本実施例では、情報を秘匿した状態で、当該情報の保護レベルを判定することが可能となる。
【０１０４】
なお、第１のサーバ２０及び第２のサーバ３０は、全演算結果が算出された場合、格納していた第１のデータ及び第２のデータを破棄しても良い。かかる処理により、情報漏洩防止を強化することが可能となる。
【０１０５】
また、本実施例では、設定部１５は、保護レベル算出部１４により算出された保護レベルに応じて、当該保護レベルの算出元となったデータに対して、外部持ち出しに関する制約を設定する。従って、本実施例では、情報を秘匿した状態で算出された当該情報の保護レベルに応じて適切な制約を課することが出来、情報漏洩防止をより強化することが可能となる。
【０１０６】
なお、上記では、設定部１５が外部装置４０内に設置される場合について説明した。しかし、本実施例は、図９に示すように、設定部１５がクライアント端末１０内に設置される場合であっても良い。図９は、本実施例に係る保護レベル算出システムの変形例を説明するための図である。かかる場合、設定部１５は、対象データの保護レベルを外部装置４０の保護レベル算出部１５から受信し、受信した保護レベルに基づいて、制約を設定する。
【０１０７】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうことも出来る。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することが出来る。
【０１０８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが出来る。具体的には、本実施例は、外部装置４０の機能が、第１のサーバ２０に統合される場合や、第２のサーバ３０に統合される場合であっても良い。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０９】
なお、本実施例で説明した保護レベル算出方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することが出来る。このプログラムは、インターネットなどのネットワークを介して配布することが出来る。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することも出来る。
【産業上の利用可能性】
【０１１０】
以上のように、本発明に係る保護レベル算出方法及び保護レベル算出システムは、情報の保護レベルを算出する場合に有用であり、特に、情報を秘匿した状態で、当該情報の保護レベルを判定することに適する。
【符号の説明】
【０１１１】
１０  クライアント端末
１１  データ記憶部
１２  キーワード記憶部
１３  演算命令部
１３ａ  第１の演算命令部
１３ｂ  第２の演算命令部
１３ｃ  第３の演算命令部
１４  保護レベル算出部
１５  設定部
２０  第１のサーバ
２０ａ  第１の記憶部
２０ｂ  変換データ生成部
３０  第２のサーバ
３０ａ  第２の記憶部
３０ｂ  演算結果算出部
４０  外部装置
【図１】
0005468534.tif 000017
【図２】
0005468534.tif 000018
【図３】
0005468534.tif 000019
【図４】
0005468534.tif 000020
【図５】
0005468534.tif 000021
【図６】
0005468534.tif 000022
【図７】
0005468534.tif 000023
【図８】
0005468534.tif 000024
【図９】
0005468534.tif 000025