(57)【要約】【課題】機密文字列に該当するか否かを判断するために用いる辞書を効果的に作成してこれを伏字処理に用いることができる機密情報隠蔽システムを提供する。【解決手段】本発明に係る機密情報隠蔽システムは、インターネット上で公開されている文字列は機密度が低いとみなし、電子データ内に記載しても機密情報を公開することにならない公開文字列のリストとして、公開文字列辞書に登録する。【選択図】図１
2016012271.tif 000002
【特許請求の範囲】
【請求項１】
電子データが記述している機密情報を隠蔽するシステムであって、
前記電子データが記述している機密文字列を別の文字列に置き換える処理をコンピュータに実行させる置換プログラム、
前記電子データ内に記載すると機密情報を公開することに該当する機密文字列のリストを保持する非公開文字列辞書、
前記電子データ内に記載しても機密情報を公開することに該当しない公開文字列のリストを保持する第１公開文字列辞書、
前記第１公開文字列辞書を作成または更新する処理を前記コンピュータに実行させる辞書作成プログラム、
を有し、
前記置換プログラムは、前記コンピュータに、
前記電子データが記載している文字列のうち前記非公開文字列辞書が保持しているものについては前記機密文字列とみなして別の文字列に置き換えるステップ、
前記電子データが記載している文字列のうち前記第１公開文字列辞書が保持していないものについては前記機密文字列とみなして別の文字列に置き換えるステップ、
を実行させ、
前記辞書作成プログラムは、前記コンピュータに、
インターネット上で公開されている文字列を収集して前記公開文字列として前記第１公開文字列辞書に格納するステップを実行させる
ことを特徴とする機密情報隠蔽システム。
【請求項２】
前記機密情報隠蔽システムは、
前記非公開文字列辞書に対して前記機密文字列をマニュアル操作により登録する処理をコンピュータに実行させるプログラムを有する
ことを特徴とする請求項１記載の機密情報隠蔽システム。
【請求項３】
前記機密情報隠蔽システムは、
前記電子データ内に記載しても機密情報を公開することに該当しない公開文字列のリストを保持する第２公開文字列辞書、
前記第２公開文字列辞書に対して前記公開文字列をマニュアル操作により登録する処理をコンピュータに実行させるプログラム、
を有し、
前記置換プログラムは、前記コンピュータに、
前記電子データが記載している文字列のうち前記第１公開文字列辞書が保持しておらず前記第２公開文字列辞書が保持しているものについては、前記機密文字列に該当しないものとみなさせる
ことを特徴とする請求項１または２記載の機密情報隠蔽システム。
【請求項４】
前記置換プログラムは、前記電子データが記載している前記機密文字列を別の文字列に置き換えるステップにおいて、前記コンピュータに、置き換え前後の文字数をランダムに変更させる
ことを特徴とする請求項１から３のいずれか１項記載の機密情報隠蔽システム。
【請求項５】
前記辞書作成プログラムは、前記コンピュータに、
インターネットから収集した文字列を形態素解析した上で名詞を抽出し、抽出した名詞を前記第１公開文字列辞書に格納するステップを実行させ、
前記置換プログラムは、前記コンピュータに、
前記電子データが記載している文字列を形態素解析した上で名詞を抽出し、抽出した名詞のうち前記第１公開文字列辞書が保持していないものについては前記機密文字列とみなして別の文字列に置き換えるステップを実行させる
ことを特徴とする請求項１から４のいずれか１項記載の機密情報隠蔽システム。
【請求項６】
前記機密情報隠蔽システムは、前記第１公開文字列辞書を複数備え、
前記辞書作成プログラムは、前記コンピュータに、インターネットから収集した文字列を前記複数の第１公開文字列辞書のいずれかに対して前記公開文字列として格納させ、
前記置換プログラムは、前記コンピュータに、
前記電子データが記載している名詞のうち各前記第１公開文字列辞書が保持している前記公開文字列と合致するものを前記第１公開文字列辞書それぞれについて抽出するステップ、
前記第１公開文字列辞書それぞれについて抽出した前記公開文字列をマージして得られる文字列集合から前記非公開文字列辞書が保持している前記機密文字列を除去するステップ、
前記電子データが記載している名詞のうち前記機密文字列を除去した前記文字列集合内に含まれないものを他の文字列に置き換えるステップ、
を実行させる
ことを特徴とする請求項５記載の機密情報隠蔽システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データが記述している機密情報を隠蔽する技術に関する。
【背景技術】
【０００２】
文書データなどの文字列を記載している電子データは、機密情報を含んでいる場合がある。例えば企業の情報システムに関する設計文書は、当該企業の名称、システム構成、システム略称、などを記載しているが、これら設計文書が第３者の手に渡ると当該企業が使用しているシステム技術が第３者に知られることとなり、セキュリティの観点から好ましくない。
【０００３】
上記のような不都合を回避する手段としては、例えばオペレータがマニュアル作業により企業名を別の文字列に置き換えることが考えられる。これにより、少なくともその設計文書がどの企業のシステム構成を記載したものであるか分からなくなるので、セキュリティリスクを緩和することができると考えられる。
【０００４】
下記特許文献１は、機密情報を伏字処理する際における構文上の問題を解決する技術について開示している。同文献は、機密情報を伏字処理することにより当該機密情報が漏洩することを回避した上で、伏字処理により構文上の情報が欠落することを抑制することを目的としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３３１３２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１記載のような伏字処理を実施するためには、伏字処理の対象となる文字列をあらかじめ辞書として保持しておくことが必要である。この辞書内に、伏字処理の対象とすべき文字列を漏れなくリストアップすることができれば、機密情報の漏洩を効果的に抑制できると考えられる。例えば企業名などの固有名詞は伏字処理の対象とすべき有力な候補である。
【０００７】
しかし実際の文書データは、必ずしも固有名詞とはいえない文字列であっても、機密情報やその所有者などを特定するヒントとなり得る文字列を記載している場合がある。例えばある企業の社内情報システムを開発するプロジェクトにおいて、当該情報システムに対して独自の愛称を付与している場合、その愛称がユニークなものであれば、その愛称と当該企業は強い関連性を有していることになる。このとき、システム設計文書内の当該企業名を別の文字列に置き換えたとしても、システム愛称が元のまま記載されていれば、結果として当該企業名を特定できる可能性がある。
【０００８】
本発明は、上記のような課題に鑑みてなされたものであり、機密文字列に該当するか否かを判断するために用いる辞書を効果的に作成してこれを伏字処理に用いることができる機密情報隠蔽システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る機密情報隠蔽システムは、インターネット上で公開されている文字列は機密度が低いとみなし、電子データ内に記載しても機密情報を公開することにならない公開文字列のリストとして、公開文字列辞書に登録する。
【発明の効果】
【００１０】
本発明に係る機密情報隠蔽システムによれば、マニュアル作業によって作成した非公開文字列辞書が全ての機密文字列をカバーできていない場合であっても、インターネットから自動的に収集した文字列によってこれを補完することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係る機密情報隠蔽システム１０００の構成図である。
【図２】実施形態２に係る機密情報隠蔽システム１０００の構成図である。
【図３】実施形態２において置換プログラム１２０が電子データ１４１に対して伏字処理を実施する手順を説明する概念図である。
【発明を実施するための形態】
【００１２】
＜実施の形態１：システム構成＞
図１は、本発明の実施形態１に係る機密情報隠蔽システム１０００の構成図である。機密情報隠蔽システム１０００は、電子データ１４１が記載している機密文字列を第３者へ公開しないようにするシステムであり、コンピュータ１００、非公開文字列辞書２１０、第１公開文字列辞書２２０、第２公開文字列辞書２３０を有する。
【００１３】
コンピュータ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、置換プログラム１２０、辞書作成プログラム１３０、記憶部１４０を備える。ＣＰＵ１１０は、置換プログラム１２０と辞書作成プログラム１３０を実行するプロセッサである。置換プログラム１２０と辞書作成プログラム１３０の詳細については後述する。記憶部１４０は例えばハードディスク装置などの記憶装置であり、電子データ１４１を格納している。電子データ１４１は、文字列を記載したデータファイルであり、典型的には文書データである。
【００１４】
置換プログラム１２０と辞書作成プログラム１３０は、記憶部１４０その他の記憶装置内に格納することができる。以下では記載の便宜上、これらプログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのはＣＰＵ１１０である。
【００１５】
非公開文字列辞書２１０は、電子データ１４１内に記載しこれが第３者に公開されると機密情報を公開することになる文字列のリスト（機密文字列のリスト）を保持する。オペレータは、マニュアル作業により機密文字列を非公開文字列辞書２１０に登録する。機密文字列に該当するものとしては、例えば上述のように企業名や当該企業固有のサービス名などの固有名称がこれに相当する。非公開文字列辞書２１０に機密文字列を登録する処理は、コンピュータ１００上の上記各プログラムが実施してもよいしその他適当なプログラムが実施してもよい。
【００１６】
第１公開文字列辞書２２０は、電子データ１４１内に記載しこれが第３者に公開されても機密情報を公開することにならない文字列のリスト（公開文字列のリスト）を保持する。具体的には、インターネット上で公開されている文字列を公開文字列として第１公開文字列辞書２２０に登録することができる。インターネット上で公開されている文字列はもはや機密情報ではないと考えられるからである。辞書作成プログラム１３０は、例えば周期的にあるいはオペレータの指示にしたがって、インターネット上で公開されている文字列を収集する。この収集処理は、例えば公知のＷｅｂクローリング技術を用いて実装することができるが、これに限られるものではない。
【００１７】
第２公開文字列辞書２３０は、第１公開文字列辞書２２０と同様に公開文字列のリストを保持する。ただし第２公開文字列辞書２３０が保持する公開文字列は、オペレータがマニュアル作業により登録する。第２公開文字列辞書２３０に公開文字列を登録する処理は、コンピュータ１００上の上記各プログラムが実施してもよいしその他適当なプログラムが実施してもよい。
【００１８】
第１公開文字列辞書２２０が保持している公開文字列が少ない時点においては、公開しても支障ないとみなされる文字列が少ないので、電子データ１４１内の大多数の文字列が機密文字列とみなされる可能性がある。このような事態を回避するため、明らかに公開しても支障がない文字列については、オペレータがマニュアル作業により第２公開文字列辞書２３０内にあらかじめ登録しておくこととした。第１公開文字列辞書２２０が十分な個数の公開文字列を保持している場合は、第２公開文字列辞書２３０は必ずしも必要ない。
【００１９】
各文字列辞書は、文字列リストを記述したデータファイルとこれを格納する記憶装置によって実装することができる。検索効率を考慮して、ＲＤＢＭＳ（Ｒｅｌａｔｉｏｎａｌ  ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）上にデータベースを構築して各文字列リストを格納してもよい。各文字列辞書は別個に構成することもできるし、１つの辞書またはデータベース内にこれら辞書を構築して例えばテーブル名などによって各辞書を区別するようにしてもよい。
【００２０】
＜実施の形態１：処理手順＞
以下では置換プログラム１２０が電子データ１４１に対して伏字処理を実施する手順について説明する。
【００２１】
（ステップ１：用語抽出）
置換プログラム１２０は、電子データ１４１に対して伏字処理を実施する際に、まず電子データ１４１が記載している文字列に対して形態素解析を実施し、電子データ１４１が記載している用語を抽出する。ここで抽出する用語は、典型的には名詞であるが、例えば名詞／形容詞／形容動詞／副詞の組み合わせなども候補としてよい。各辞書が保持している文字列リストについても同様である。
【００２２】
（ステップ２：非公開文字列辞書２１０を照会）
置換プログラム１２０は、ステップ１で抽出した各用語が非公開文字列辞書２１０内に登録されているか否かを非公開文字列辞書２１０へ照会する。登録されている場合は、その文字列を電子データ１４１内に記載すべきではないことになる。非公開文字列辞書２１０がデータベースとして構成されている場合は、例えば各用語を検索条件としてその用語が非公開文字列辞書２１０内に存在するか否かを照会するＳＱＬ文を発行すればよい。非公開文字列辞書２１０がデータベースまたはこれに類似するシステムではない場合は、適当な文字列比較を実施すればよい。その他の文字列辞書についても同様である。
【００２３】
（ステップ３：機密文字列を置き換える）
置換プログラム１２０は、ステップ１で抽出した各用語が非公開文字列辞書２１０内に登録されている場合は、電子データ１４１内の当該用語を他の文字列に置き換える。例えば「○○○」などのように元の用語が何であったかを知ることが困難な文字列に置き換えればよい。置き換え前後の文字列間の関連を推測し難くするためには、置き換え前後の文字数をランダムに変更することが望ましい。
【００２４】
（ステップ３：第２公開文字列辞書２３０を照会）
置換プログラム１２０は、ステップ１で抽出した各用語が第２公開文字列辞書２３０内に登録されているか否かを第２公開文字列辞書２３０へ照会する。登録されている場合は、その文字列を電子データ１４１内に記載しても支障ないことになる。第２公開文字列辞書２３０は電子データ１４１内に記載してもよい文字列をマニュアル作業によって明示的に登録したものであるため、第１公開文字列辞書２２０よりも優先度が高いものとみなし、第１公開文字列辞書２２０よりも先に照会することとした。第２公開文字列辞書２３０を用いない場合は本ステップを省略する。
【００２５】
（ステップ５：第１公開文字列辞書２２０を照会）
置換プログラム１２０は、ステップ１で抽出した各用語が第１公開文字列辞書２２０内に登録されているか否かを第１公開文字列辞書２２０へ照会する。登録されていない場合は、その文字列を電子データ１４１内に記載すべきではないことになる。例えば各用語を検索条件としてその用語が第１公開文字列辞書２２０内に存在するか否かを照会し、ヒットしなければその用語は公開文字列として登録されていない（＝電子データ１４１内に記載すべきではない）ことになる。ただし第１公開文字列辞書２２０内に登録されていない用語であっても、第２公開文字列辞書２３０内に登録されている場合は、その用語は電子データ１４１内に記載しても支障ないものとみなし、以下のステップ６の対象外とする。
【００２６】
（ステップ６：機密文字列を置き換える）
置換プログラム１２０は、ステップ１で抽出した各用語が第１公開文字列辞書２２０内に登録されていない場合は、当該用語は機密文字列とみなし、電子データ１４１内の当該用語を他の文字列に置き換える。置き換え手法はステップ３と同様である。
【００２７】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る機密情報隠蔽システム１０００は、インターネットから収集した文字列は公開文字列とみなして第１公開文字列辞書２２０に登録し、非公開文字列辞書２１０が保持している文字列および第１公開文字列辞書２２０が保持していない文字列は機密文字列とみなして他の文字列に置き換える。第１公開文字列辞書２２０を用いて非公開文字列辞書２１０を補完することにより、マニュアル作業によってカバーすることが困難である特殊な機密用語であっても、これが第３者へ公開されるリスクを抑制することができる。
【００２８】
＜実施の形態２＞
図２は、本発明の実施形態２に係る機密情報隠蔽システム１０００の構成図である。実施形態１とは異なり、第１公開文字列辞書２２０が複数設けられている。その他の辞書は実施形態１と同様である。
【００２９】
第１公開文字列辞書２２０は、インターネットから収集した文字列を網羅的に保持するので、そのサイズが膨大になる可能性がある。そこで本実施形態２においては、第１公開文字列辞書２２０を複数に分割し、それぞれが独立平行的に公開文字列を保持することとした。辞書作成プログラム１３０は、インターネットから文字列を収集すると、これをいずれかの第１公開文字列辞書２２０に格納する。例えば第１公開文字列辞書２２０ａ〜２２０ｃに対して順番に巡回的に文字列を格納してもよいし、いずれかの第１公開文字列辞書２２０をランダムに選択して格納してもよい。
【００３０】
以下に説明するように、本実施形態２において置換プログラム１２０は、電子データ１４１が記載している名詞が機密文字列に該当するか否かを判定する。各文字列辞書もこれに対応して、機密文字列または公開文字列として名詞を保持するものとする。したがって辞書作成プログラム１３０は、インターネットから収集した文字列に対してあらかじめ形態素解析を実施し、名詞を抽出した上で第１公開文字列辞書２２０に登録する。
【００３１】
図３は、本実施形態２において置換プログラム１２０が電子データ１４１に対して伏字処理を実施する手順を説明する概念図である。以下図３にしたがって、本実施形態２における伏字処理について説明する。
【００３２】
（図３：ステップ（１）形態素解析）
置換プログラム１２０は、電子データ１４１が記載している文字列に対して形態素解析を実施し、名詞を抽出する。以下のステップにおいては、本ステップで抽出した名詞群を対象とする。
【００３３】
（図３：ステップ（２）公開文字列を照会）
置換プログラム１２０は、ステップ（１）で抽出した各名詞が各公開文字列辞書２２０内に登録されているか否かを、各公開文字列辞書２２０に対してそれぞれ照会する。置換プログラム１２０は、各公開文字列辞書２２０内に登録されている名詞は電子データ１４１内に記載して支障ないものとみなし、これを公開文字列リストとして保持する。各第１公開文字列辞書２２０はそれぞれ異なる公開文字列を保持しているので、各第１公開文字列辞書２２０から得られる公開文字列リストは互いに異なる。置換プログラム１２０はこれら公開文字列リストをマージして重複文字列などを削除し、単一の公開文字列リストを得る。
【００３４】
（図３：ステップ（３）機密文字列を削除）
置換プログラム１２０は、ステップ（２）で得た公開文字列リストから、非公開文字列辞書２１０内に登録されている文字列を除去する。これにより、電子データ１４１内において記載しても支障ない名詞を列挙した公開文字列リストが得られる。
【００３５】
（図３：第２公開文字列辞書２３０についての補足）
本実施形態２において第２公開文字列辞書２３０を用いる場合は、例えばステップ（２）と（３）の間において、置換プログラム１２０はステップ（１）で抽出した各名詞が第２公開文字列辞書２３０内に登録されているか否かを照会し、登録されている名詞をステップ（２）の公開文字列リストとマージする。重複する名詞は削除する。
【００３６】
置換プログラム１２０は、電子データ１４１が記載している名詞のうち、ステップ（３）によって得られた公開文字列リストに該当するものはそのまま残し、その他の名詞は実施形態１と同様に他の文字列に置き換える。それ以外の文字列は元のまま残す。これにより、実施形態１と同様に電子データ１４１内の機密文字列を第３者へ公開しないようにすることができる。
【００３７】
＜実施の形態２：まとめ＞
以上のように、本実施形態２に係る機密情報隠蔽システム１０００は、複数の第１公開文字列辞書２２０を備え、電子データ１４１が記載している名詞のうち各第１公開文字列辞書２２０内に格納されているものを特定した上で、非公開文字列辞書２１０が格納している機密文字列を除去する。これにより、実施形態１と同様に電子データ１４１内の機密文字列を特定し、他の文字列に置き換えることができる。
【００３８】
また本実施形態２に係る機密情報隠蔽システム１０００は、複数の第１公開文字列辞書２２０を備えるので、インターネットから収集した公開文字列が膨大な量になったとしても、これを照会する処理を各第１公開文字列辞書２２０間で分散することができる。
【００３９】
また本実施形態２に係る機密情報隠蔽システム１０００は、各第１公開文字列辞書２２０から得られた公開文字列リストをマージするので、各第１公開文字列辞書２２０が保持している公開文字列間で重複があったとしても、マージ実施時に重複を除去することができる。したがって辞書作成プログラム１３０は、各第１公開文字列辞書２２０がどのような公開文字列を保持しているかをあまり意識することなく、インターネットから収集した文字列を各第１公開文字列辞書２２０に対してアドホックに登録することができる。したがって第１公開文字列辞書２２０が複数存在していても、辞書作成プログラム１３０の処理を複雑化する必要はない点で有利である。
【００４０】
本実施形態２で説明した機密情報隠蔽システムの動作は、実施形態１と併用することもできる。例えば第１公開文字列辞書２２０が１つのみである場合は実施形態１を用い、２つ以上ある場合は本実施形態２を用いる、などのように２つの機能をあらかじめ備えておいてシステム構成に応じて使い分けることができる。
【００４１】
＜本発明の変形例について＞
以上の実施形態１〜２においては、第１公開文字列辞書２２０が保持している文字列は電子データ１４１内に記載してもよいものと判断することを説明した。ただしインターネット上における出現頻度が極端に少ない文字列については、近似的に非公開文字列と同様に取り扱うこともできる。そこで第１公開文字列辞書２２０内において、インターネットから収集した公開文字列とともにその出現頻度を保持しておき、出現頻度が所定閾値以下の公開文字列については非公開文字列辞書２１０が保持している機密文字列と同様に取り扱うこともできる。
【００４２】
実施形態２においては、各文字列辞書は名詞を保持していることを説明したが、例えば名詞と形容詞の組み合わせも機密文字列または公開文字列として用いることができる。名詞または名詞と形容詞の組み合わせを機密文字列または公開文字列として用いる場合、図３のステップ（２）において作成する公開文字列リストは名詞または名詞と形容詞の組み合わせのリストである。またステップ（１）において抽出するのは、名詞または名詞と形容詞の組み合わせである。置換プログラム１２０は、電子データ１４１が記載している名詞または名詞と形容詞の組み合わせのうち、ステップ（３）によって得られた公開文字列リストに該当するものはそのまま残し、その他の名詞または名詞と形容詞の組み合わせは実施形態１と同様に他の文字列に置き換える。それ以外の文字列は元のまま残す。形容動詞、副詞、その他品詞をさらに組み合わせる場合も同様である。
【符号の説明】
【００４３】
１００：コンピュータ、１１０：ＣＰＵ、１２０：置換プログラム、１３０：辞書作成プログラム、１４０：記憶部、１４１：電子データ、２１０：非公開文字列辞書、２２０：第１公開文字列辞書、２３０：第２公開文字列辞書、１０００：機密情報隠蔽システム。
【図１】
2016012271.tif 000003
【図２】
2016012271.tif 000004
【図３】
2016012271.tif 000005