(57)【特許請求の範囲】
【請求項１】
ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、前記座標値を含む領域情報を、マスク対象領域情報として生成するマスク対象領域情報生成部、及び
前記マスク対象領域情報生成部によって生成された前記マスク対象領域情報をサーバへ送信するマスク対象領域情報送信部
を含むユーザ端末と、
前記ユーザ端末から送信された前記マスク対象領域情報を受信するマスク対象領域情報受信部、
前記マスク対象領域情報受信部によって受信した前記マスク対象領域情報を記憶するマスク対象領域情報データベース、
前記ユーザ端末又はプロキシサーバから送信された前記ユーザに関するユーザデータを受信するユーザデータ受信部、及び
前記受信したユーザデータに含まれる文字列を、前記マスク文字列空間上の座標値に変換し、前記変換された前記座標値が、前記マスク対象領域情報に含まれる場合、前記受信したユーザデータに含まれる文字列のマスク処理を行うマスク処理部
を含むサーバと、
を含むマスク処理システム。
【請求項２】
前記マスク対象領域情報生成部は、ハッシュ関数を用いて、ユーザに関するマスク対象文字列を、マスク文字列空間上の座標値としてハッシュ値に変換し、前記ハッシュ値の先頭の所定ビットを、前記マスク対象領域情報として生成する請求項１に記載のマスク処理システム。
【請求項３】
前記マスク対象領域情報生成部は、ユーザに関するマスク対象文字列を、前記マスク文字列空間上の座標値に変換し、前記座標値と、前記マスク対象文字列の文字数、又は前記マスク対象文字列が他のユーザに関する文字列と重複する確率とに基づいて、前記マスク対象領域情報を生成する請求項１に記載のマスク処理システム。
【請求項４】
ユーザ端末とサーバとを含むマスク処理システムにおけるマスク処理方法であって、
前記ユーザ端末のマスク対象領域情報生成部が、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、前記座標値を含む領域情報を、マスク対象領域情報として生成し、
前記ユーザ端末のマスク対象領域情報送信部が、前記マスク対象領域情報生成部によって生成された前記マスク対象領域情報をサーバへ送信し、
前記サーバのマスク対象領域情報受信部が、前記ユーザ端末から送信された前記マスク対象領域情報を受信し、前記受信した前記マスク対象領域情報をマスク対象領域情報データベースに記憶し、
前記ユーザ端末又はプロキシサーバのユーザデータ送信部が、前記ユーザに関するユーザデータを前記サーバへ送信し、
前記サーバのユーザデータ受信部が、前記ユーザ端末から送信されたユーザデータを受信し、
前記サーバのマスク処理部が、前記受信したユーザデータに含まれる文字列を、前記マスク文字列空間上の座標値に変換し、前記変換された前記座標値が、前記マスク対象領域情報に含まれる場合、前記受信したユーザデータに含まれる文字列のマスク処理を行う
マスク処理方法。
【請求項５】
ユーザ端末から送信された、ユーザに関するマスク対象文字列を変換したマスク文字列空間上の座標値を含むマスク対象領域情報を受信するマスク対象領域情報受信部と、
前記マスク対象領域情報受信部によって受信した前記マスク対象領域情報を記憶するマスク対象領域データベース、
前記ユーザ端末又はプロキシサーバから送信された前記ユーザに関するユーザデータを受信するユーザデータ受信部、及び
前記受信したユーザデータに含まれる文字列を、前記マスク文字列空間上の座標値に変換し、前記変換された前記座標値が、前記マスク対象領域情報に含まれる場合、前記受信したユーザデータに含まれる文字列のマスク処理を行うマスク処理部
を含むサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザデータに対してマスク処理を行うためのマスク処理システム、マスク処理方法、ユーザ端末、及びサーバに関する。
【背景技術】
【０００２】
ユーザが利用する端末上の操作履歴を取得し、保存する技術がある（例えば、特許文献１、非特許文献１）。
【０００３】
ユーザ端末上では、さまざまなデータが利用される。たとえば、Ｗｅｂページを閲覧した際の閲覧履歴データなども収集される。収集されたＷｅｂ閲覧履歴データ中には、ユーザにとって公開したくない情報が含まれることがある。たとえば、個人情報に関連する文字列などが含まれることがある。これらのユーザ端末にて収集されたデータに対して、個人情報などに関連する文字列を他の文字列に置き換えるマスキング処理を行うシステムが存在する（例えば、特許文献２）。
【０００４】
また、ユーザ端末上ではなく、ネットワーク上のプロキシサーバなどでユーザに関するデータを収集するシステムも存在する（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７４１３８号公報
【特許文献２】特開２０１２−１１３６０６号公報
【特許文献３】特開２０１４−９６１１７号公報
【非特許文献】
【０００６】
【非特許文献１】田中明通、内山匡、“PC操作履歴収集システム「メモリ・リトリーバ」”、NTT技術ジャーナル2010.07号、P12-15
【発明の概要】
【発明が解決しようとする課題】
【０００７】
サーバ上でユーザに関するデータを収集する場合、ユーザの個人情報などのマスキングしたい文字列に関する情報についても、サーバ上で管理し、該当する文字列が収集された際にマスキング処理を行うことが必要となる。
【０００８】
この際、ユーザごとのマスキングしたい文字列に関する情報をサーバ上で管理する場合、情報の漏えいや、盗難に対して厳格な管理や運用が求められることになるが、盗難や漏えいの可能性を完全に無くすことは困難である。
【０００９】
よって、ユーザごとのマスク対象文字列をサーバ上に配置しながらも、ユーザ自身の個人情報が容易に判明しないようにしつつ、マスク処理を可能とすることが求められる。
【００１０】
本発明は上記の事情に鑑みてなされたものであり、マスク対象の情報を適切にマスク処理することができるマスク処理システム、マスク処理方法、ユーザ端末、及びサーバを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のマスク処理システムは、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、前記座標値を含む領域情報を、マスク対象領域情報として生成するマスク対象領域情報生成部、及び前記マスク対象領域情報生成部によって生成された前記マスク対象領域情報をサーバへ送信するマスク対象領域情報送信部を含むユーザ端末と、前記ユーザ端末から送信された前記マスク対象領域情報を受信するマスク対象領域情報受信部、前記マスク対象領域情報受信部によって受信した前記マスク対象領域情報を記憶するマスク対象領域情報データベース、前記ユーザ端末又はプロキシサーバから送信された前記ユーザに関するユーザデータを受信するユーザデータ受信部、及び前記マスク対象領域情報に基づいて、前記受信したユーザデータに含まれる文字列のマスク処理を行うマスク処理部を含むサーバと、を含む。
【００１２】
本発明のマスク処理方法は、ユーザ端末とサーバとを含むマスク処理システムにおけるマスク処理方法であって、前記ユーザ端末のマスク対象領域情報生成部が、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、前記座標値を含む領域情報を、マスク対象領域情報として生成し、前記ユーザ端末のマスク対象領域情報送信部が、前記マスク対象領域情報生成部によって生成された前記マスク対象領域情報をサーバへ送信し、前記サーバのマスク対象領域情報受信部が、前記ユーザ端末から送信された前記マスク対象領域情報を受信し、前記受信した前記マスク対象領域情報をマスク対象領域情報データベースに記憶し、前記ユーザ端末又はプロキシサーバのユーザデータ送信部が、前記ユーザに関するユーザデータを前記サーバへ送信し、前記サーバのユーザデータ受信部が、前記ユーザ端末から送信されたユーザデータを受信し、前記サーバのマスク処理部が、前記マスク対象領域情報に基づいて、前記受信したユーザデータに含まれる文字列のマスク処理を行う。
【００１３】
本発明のユーザ端末は、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、前記座標値を含む領域情報を、マスク対象領域情報として生成するマスク対象領域情報生成部と、前記マスク対象領域情報生成部によって生成された前記マスク対象領域情報を、前記マスク対象領域情報をマスク対象領域情報データベースに記憶するサーバへ送信するマスク対象領域情報送信部と、前記ユーザのユーザデータを、前記マスク対象領域情報に基づいて前記ユーザデータに含まれる文字列のマスク処理を行う前記サーバへ送信するユーザデータ送信部と、を含む。
【００１４】
本発明のサーバは、ユーザ端末から送信された、ユーザに関するマスク対象文字列を変換したマスク文字列空間上の座標値を含むマスク対象領域情報を受信するマスク対象領域情報受信部と、前記マスク対象領域情報受信部によって受信した前記マスク対象領域情報を記憶するマスク対象領域データベース、前記ユーザ端末又はプロキシサーバから送信された前記ユーザに関するユーザデータを受信するユーザデータ受信部、及び前記マスク対象領域情報に基づいて、前記受信したユーザデータに含まれる文字列のマスク処理を行うマスク処理部を含む。
【００１５】
本発明の前記マスク処理部は、前記受信したユーザデータに含まれる文字列を、前記マスク文字列空間上の座標値に変換し、前記変換された前記座標値が、前記マスク対象領域情報に含まれる場合、前記ユーザデータに含まれる前記文字列のマスク処理を行うようにすることができる。
【００１６】
本発明の前記サーバは、前記マスク対象領域情報受信部によって受信した前記マスク対象領域情報に含まれるマスク対象文字列候補を選定するマスク対象文字列候補選定部を更に含み、前記マスク対象領域情報データベースは、前記マスク対象文字列候補選定部によって選定された前記マスク対象文字列候補を記憶し、前記マスク処理部は、前記受信したユーザデータに含まれる文字列が、前記マスク対象文字列候補と一致する場合に、前記ユーザデータに含まれる前記文字列のマスク処理を行うようにすることができる。
【００１７】
本発明の前記マスク対象領域情報生成部は、ハッシュ関数を用いて、ユーザに関するマスク対象文字列を、マスク文字列空間上の座標値としてハッシュ値に変換し、前記ハッシュ値の先頭の所定ビットを、前記マスク対象領域情報として生成するようにすることができる。
【００１８】
本発明の前記マスク対象領域情報生成部は、ユーザに関するマスク対象文字列を、前記マスク文字列空間上の座標値に変換し、前記座標値と、前記マスク対象文字列の文字数、又は前記マスク対象文字列が他のユーザに関する文字列と重複する確率とに基づいて、前記マスク対象領域情報を生成するようにすることができる。
【発明の効果】
【００１９】
以上説明したように、本発明のマスク処理システム、マスク処理方法、ユーザ端末、及びサーバによれば、ユーザ端末において、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、当該座標値を含む領域情報を、マスク対象領域情報として生成し、生成されたマスク対象領域情報をサーバへ送信し、サーバにおいて、ユーザ端末から送信されたマスク対象領域情報を記憶し、マスク対象領域情報に基づいて、受信したユーザデータに含まれる文字列のマスク処理を行うことにより、マスク対象の情報を適切にマスク処理することができる、という効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態に係るマスク処理システムの構成を示すブロック図である。
【図２】ユーザ端末におけるマスク対象領域情報の生成及びサーバにおけるマスク対象領域情報の登録の概要を示す図である。
【図３】本発明の第１の実施の形態に係るマスク処理システムのユーザ端末におけるマスク対象領域情報生成処理ルーチンの内容を示すフローチャートである。
【図４】本発明の第１の実施の形態に係るマスク処理システムのサーバにおけるマスク対象領域情報登録処理ルーチンの内容を示すフローチャートである。
【図５】本発明の第１の実施の形態に係るマスク処理システムのユーザ端末におけるユーザデータ収集処理ルーチンの内容を示すフローチャートである。
【図６】本発明の第１の実施の形態に係るマスク処理システムのサーバにおけるマスク処理ルーチンの内容を示すフローチャートである。
【図７】本発明の第２の実施の形態に係るマスク処理システムの構成を示すブロック図である。
【図８】マスク文字列空間上のマスク対象文字列候補を表すイメージ図である。
【図９】マスク対象文字列候補が選択される過程を表すイメージ図である。
【図１０】本発明の第２の実施の形態に係るマスク処理システムの処理の概要を示すブロック図である。
【図１１】本発明の第２の実施の形態に係るマスク処理システムのサーバにおけるマスク対象領域情報登録処理ルーチンの内容を示すフローチャートである。
【図１２】本発明の第２の実施の形態に係るマスク処理システムのサーバにおけるマスク処理ルーチンの内容を示すフローチャートである。
【図１３】辞書データベースの更新処理の概要を表すイメージ図である。
【図１４】マスク対象領域情報に含まれるマスク対象文字列候補の数に応じてマスク対象領域のサイズを拡大又は縮小する処理を表すイメージ図である。
【図１５】本発明の第３の実施の形態に係るマスク処理システムの構成を示すブロック図である。
【図１６】本発明の第４の実施の形態に係るマスク処理システムの処理の概要を示すブロック図である。
【図１７】本発明の第４の実施の形態を、第２の実施の形態に適用させた場合のマスク処理システムの処理の概要を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２２】
＜本発明の実施の形態の概要＞
本発明の実施の形態は、ユーザに関するデータをサーバ上で文字列変換する技術に関する。
【００２３】
本発明の実施の形態では、ユーザのマスク対象文字列をマスク文字列空間上の座標値に変換し、当該座標値を含む領域情報をマスク対象領域情報としてサーバに配置し、サーバによって受信されたユーザデータ中に含まれる文字列が当該マスク対象領域に含まれる場合、当該文字列のマスク処理を行う。
【００２４】
本発明の実施の形態では、ユーザ端末上での操作情報や、ユーザがＷｅｂブラウザにて閲覧したＷｅｂページの履歴情報などをユーザデータとして扱う場合を例に説明する。
【００２５】
［第１の実施の形態］
＜システム構成＞
図１に示すように、本発明の第１の実施の形態に係るマスク処理システム１００は、ユーザ端末１０と、サーバ３０とを備える。ユーザ端末１０とサーバ３０とは、インターネットなどのネットワーク１１を介して接続されている。
【００２６】
［ユーザ端末１０］
ユーザ端末１０は、マスク対象領域情報出力部１２と、ユーザデータ出力部２２とを備えている。
【００２７】
マスク対象領域情報出力部１２は、マスク情報登録部１４と、マスク文字列空間座標算出部１６と、マスク対象領域情報生成部１８と、マスク対象領域情報送信部２０とを備えている。
【００２８】
マスク情報登録部１４は、入力部（図示省略）により入力されたユーザに関するマスク対象文字列を受け付ける。マスク対象文字列は、ユーザがマスク対象としたい文字列である。マスク情報登録部１４は、ユーザがマスクしたい文字列であるマスク対象文字列を受け付け、メモリ（図示省略）に登録する。
【００２９】
例えば、ユーザの個人情報に関連する文字列などをマスク対象文字列とすることができ、氏名（姓・名）、住所、電話番号、クレジットカード番号、などを含むものとする。
【００３０】
マスク文字列空間座標算出部１６は、マスク情報登録部１４によってメモリ（図示省略）に登録されたマスク対象文字列をマスク文字列空間上の座標値に変換する。具体的には、マスク文字列空間座標算出部１６は、マスク対象文字列として登録された項目（例えば、氏名、電話番号、住所、など）の、それぞれでマスク文字列空間上の座標値を算出する。
【００３１】
本実施の形態では、マスク文字列空間座標算出部１６は、ハッシュ関数を用いて、マスク情報登録部１４によって登録されたマスク対象文字列を、マスク文字列空間上の座標値として一定ビット長のハッシュ値に変換する。
【００３２】
例えば、マスク対象文字列がユーザの氏名（姓）である場合、マスク文字列空間座標算出部１６は、マスク文字列空間上におけるユーザ氏名（姓）の座標値を算出する。ユーザの氏名（姓）が「通研」であり、ハッシュ関数としてＭＤ５（Message Digest Algorithm 5）を用いる場合には、マスク文字列空間座標算出部１６による処理によって３２ビットのハッシュ値（3c9680c6fdb15c559b7219e77a25c9d2）が得られる。マスク文字列空間座標算出部１６による処理によって得られたハッシュ値は、マスク文字列空間上の座標値として扱われる。
【００３３】
マスク対象領域情報生成部１８は、マスク文字列空間座標算出部１６によって算出された座標値を含む領域情報を、マスク対象領域情報として生成する。
【００３４】
具体的には、マスク文字列空間座標算出部１６によって算出された一定ビット長のハッシュ値を当該座標値として扱う場合、マスク対象領域情報生成部１８は、算出されたハッシュ値のうち、先頭から特定のビット数の部分をマスク対象領域情報として生成する。
【００３５】
例えば、マスク対象領域情報生成部１８は、座標値のうち先頭から８ビット分を用いるとすることで、マスク対象領域情報を決定することができる。例えば、座標値として３２ビットのハッシュ値（3c9680c6fdb15c559b7219e77a25c9d2）が得られた場合、先頭から８ビットの（3c9680c6）がマスク対象領域情報となる。
【００３６】
なお、ハッシュ値の算出アルゴリズムとして用いられるハッシュ関数は、ユーザ端末１０とサーバ３０とで揃える必要があるが、上記ＭＤ５、ＳＨＡ−１（Secure Hash Algorithm）などを利用しても良い。
【００３７】
図２に、マスク文字列空間座標算出部１６及びマスク対象領域情報生成部１８の処理の概要を表すイメージ図を示す。図２に示すように、マスク文字列空間座標算出部１６は、マスク対象文字列をマスク文字列空間上の座標値に変換する。そして、マスク対象領域情報生成部１８は、マスク文字列空間座標算出部１６の処理によって得られた座標値に基づいて、マスク対象領域情報を生成する。
【００３８】
マスク対象領域情報送信部２０は、マスク対象領域情報生成部１８によって生成されたマスク対象領域情報をサーバ３０へ送信する。
【００３９】
ユーザデータ出力部２２は、ユーザデータ収集部２４と、ユーザデータ送信部２６とを備えている。
【００４０】
ユーザデータ収集部２４は、ユーザのＷｅｂページの閲覧履歴情報などを、ユーザに関するユーザデータとして収集する。
【００４１】
ユーザデータ送信部２６は、ユーザデータ収集部２４によって収集されたユーザデータを、サーバ３０へ送信する。
【００４２】
［サーバ３０］
サーバ３０は、マスク対象領域データ取得部３２と、ユーザデータ取得部４０とを備えている。サーバ３０は、ユーザ端末１０から送信されたマスク対象領域情報に基づいて、ユーザ端末１０から送信されたユーザデータに含まれる文字列のマスク処理を行う。
【００４３】
マスク対象領域データ取得部３２は、マスク対象領域情報受信部３４と、マスク対象領域情報登録部３６と、マスク対象領域情報データベース３８とを備えている。
【００４４】
マスク対象領域情報受信部３４は、ユーザ端末１０から送信されたマスク対象領域情報を受信する。上述したように、マスク対象領域情報は、ユーザに関するマスク対象文字列を変換したマスク文字列空間上の座標値を含む。
【００４５】
マスク対象領域情報登録部３６は、上記図２に示すように、マスク対象領域情報受信部３４によって受信されたマスク対象領域情報を、マスク対象領域情報データベース３８に登録する。
【００４６】
マスク対象領域情報データベース３８には、マスク対象領域情報登録部３６によって登録されたマスク対象領域情報が記憶される。マスク対象領域情報は、ユーザごとに登録される。マスク対象領域情報データベース３８では、対象ユーザが識別できるようにマスク対象領域情報が記憶される。マスク対象領域情報について対象ユーザを識別可能とすることで、ユーザ端末から送信されたユーザデータに対し、当該ユーザに対するマスク対象領域情報を適用できるようにする。
【００４７】
ユーザデータ取得部４０は、ユーザデータ受信部４２と、マスク処理部４４と、マスク処理後ユーザデータ蓄積部４６と、マスク済みユーザデータデータベース４８とを備えている。
【００４８】
ユーザデータ受信部４２は、ユーザ端末１０から送信されたユーザデータを受信する。
【００４９】
マスク処理部４４は、マスク対象領域情報データベース３８に記憶されたマスク対象領域情報に基づいて、ユーザデータ受信部４２によって受信されたユーザデータに含まれる文字列のマスク処理を行う。
【００５０】
具体的には、マスク処理部４４は、受信したユーザデータに含まれる文字列を、マスク文字列空間上の座標値に変換する。そして、マスク処理部４４は、変換された座標値が、マスク対象領域情報データベース３８に記憶された当該ユーザのマスク対象領域情報に含まれる場合、変換された座標値に対応する、ユーザデータに含まれる当該文字列のマスク処理を行う。
【００５１】
例えば、ユーザデータがユーザのＷｅｂページの閲覧履歴情報であり、閲覧履歴情報中にユーザの氏名などの情報が含まれる場合について説明する。また、具体的なマスク対象文字列の検出方法の一例を以下で説明する。
【００５２】
例えば、マスク処理部４４は、受信したユーザデータに対し、形態素解析を行い、ユーザデータを形態素に分解する。
【００５３】
次に、マスク処理部４４は、形態素解析によって分解された文字列に対し、ハッシュ関数を用いてハッシュ値を計算する。
【００５４】
次に、マスク処理部４４は、計算されたハッシュ値と、マスク対象領域情報データベース３８に登録された当該ユーザのマスク対象領域情報とを比較し、マスク対象領域情報に含まれる文字列を検出する。
【００５５】
具体的には、マスク処理部４４は、形態素解析によって分解された文字列のハッシュ値の先頭部分が、マスク対象領域情報データベース３８に登録されたマスク対象領域情報と一致する場合、当該文字列をマスク対象文字列として判定する。
【００５６】
例えば、形態素解析結果にユーザの氏名（姓）「通研」が含まれていた場合、上述したように座標値としてハッシュ値（3c9680c6fdb15c559b7219e77a25c9d2）が得られる。ユーザ氏名（姓）「通研」がマスク対象文字列であれば、マスク対象領域情報データベース３８には、「通研」に対応するマスク対象領域情報として（3c9680c6）が登録されている。
【００５７】
従って、形態素解析によって分解された「通研」のハッシュ値の先頭部分（3c9680c6）は、マスク対象領域情報データベース３８に登録されたマスク対象領域情報（3c9680c6）と一致するため、マスク処理部４４は、当該文字列をマスク対象文字列として判定する。
【００５８】
そして、マスク処理部４４は、マスク対象文字列であると判定された当該文字列について、マスク処理として、他の文字列に変換する処理を行う。
【００５９】
また、事前にユーザデータの文書情報の構造が判明している場合は、構造情報を用いて、マスク対象文字列が含まれる箇所を選定するようにしても良い。
【００６０】
マスク処理後ユーザデータ蓄積部４６は、マスク処理部４４によってマスク処理が行われたユーザデータを、マスク済みユーザデータデータベース４８に格納する。
【００６１】
マスク済みユーザデータデータベース４８には、マスク処理が行われたユーザデータが格納される。
【００６２】
＜マスク処理システムの作用＞
マスク処理システム１００は、マスク対象領域情報の生成処理及び登録処理と、ユーザデータの収集処理及びマスク処理とを実行する。
まず、マスク対象領域情報の生成処理及び登録処理について説明する。
【００６３】
＜マスク対象領域情報生成処理ルーチン＞
ユーザ端末１０に、マスク対象文字列が入力されると、ユーザ端末１０において、図３に示すマスク対象領域情報生成処理ルーチンが実行される。マスク対象領域情報生成処理ルーチンは、マスク対象文字列が入力される毎に実行される。
【００６４】
まず、ステップＳ１００において、マスク情報登録部１４は、マスク対象文字列を受け付ける。
【００６５】
そして、ステップＳ１０２において、マスク情報登録部１４は、上記ステップＳ１００で受け付けたマスク対象文字列をメモリ（図示省略）に登録する。
【００６６】
ステップＳ１０４において、マスク文字列空間座標算出部１６は、上記ステップＳ１０２で登録されたマスク対象文字列をマスク文字列空間上の座標値に変換する。
【００６７】
ステップＳ１０６において、マスク対象領域情報生成部１８は、上記ステップＳ１０４で変換された座標値を含む領域情報を、マスク対象領域情報として生成する。
【００６８】
そして、ステップＳ１０８において、マスク対象領域情報送信部２０は、上記ステップＳ１０６で生成されたマスク対象領域情報をサーバ３０へ送信して、マスク対象領域情報生成処理ルーチンを終了する。
【００６９】
＜マスク対象領域情報登録処理ルーチン＞
ユーザ端末１０からマスク対象領域情報が送信され、サーバ３０がマスク対象領域情報を受信すると、サーバ３０において、図４に示すマスク対象領域情報登録処理ルーチンが実行される。マスク対象領域情報登録処理ルーチンは、マスク対象領域情報が受信される毎に実行される。
【００７０】
ステップＳ２００において、マスク対象領域情報受信部３４は、ユーザ端末１０から送信されたマスク対象領域情報を受信する。
【００７１】
ステップＳ２０２において、マスク対象領域情報登録部３６は、上記ステップＳ２００で受信されたマスク対象領域情報を、マスク対象領域情報データベース３８に登録して、マスク対象領域情報登録処理ルーチンを終了する。
【００７２】
次に、ユーザデータの収集処理及びマスク処理について説明する。
【００７３】
＜ユーザデータ収集処理ルーチン＞
ユーザが、ユーザ端末１０を用いて例えばＷｅｂ閲覧行動を行っているときに、ユーザ端末１０において、図５に示すユーザデータ収集処理ルーチンが実行される。
【００７４】
ステップＳ３００において、ユーザデータ収集部２４は、ユーザのＷｅｂページの閲覧履歴情報などを、ユーザに関するユーザデータとして収集する。
【００７５】
ステップＳ３０２において、ユーザデータ送信部２６は、上記ステップＳ３００で収集されたユーザデータを、サーバ３０へ送信する。
【００７６】
＜マスク処理ルーチン＞
ユーザ端末１０からユーザデータが送信され、サーバ３０がユーザデータを受信すると、サーバ３０において、図６に示すマスク処理ルーチンが実行される。マスク処理ルーチンは、ユーザデータが受信される毎に実行される。
【００７７】
ステップＳ４００において、ユーザデータ受信部４２は、ユーザ端末１０から送信されたユーザデータを受信する。
【００７８】
ステップＳ４０２において、マスク処理部４４は、上記ステップＳ４００で受信したユーザデータに含まれる文字列の各々を、マスク文字列空間上の座標値に変換する。
【００７９】
ステップＳ４０４において、マスク処理部４４は、マスク対象領域情報データベース３８に記憶されたマスク対象領域情報を参照する。
【００８０】
ステップＳ４０６において、マスク処理部４４は、上記ステップＳ４００で受信したユーザデータに含まれる文字列の各々のうち、対象の文字列を選択する。
【００８１】
ステップＳ４０８において、マスク処理部４４は、上記ステップＳ４０６で選択された対象の文字列についての上記ステップＳ４０２で得られた座標値が、上記ステップＳ４０４で参照したマスク対象領域情報に含まれるか否かを判定する。座標値が上記ステップＳ４０４で参照したマスク対象領域情報に含まれる場合、ステップＳ４１０へ進む。一方、座標値が上記ステップＳ４０４で参照したマスク対象領域情報に含まれない場合、ステップＳ４１２へ進む。
【００８２】
ステップＳ４１０において、マスク処理部４４は、上記ステップＳ４０６で選択した対象の文字列に対してマスク処理を行う。
【００８３】
ステップＳ４１２において、上記ステップＳ４００で受信したユーザデータに含まれる全ての文字列について、上記ステップＳ４０６〜Ｓ４１０の処理を実行したか否かを判定する。上記ステップＳ４０６〜Ｓ４１０の処理を実行していない文字列が存在する場合には、上記ステップＳ４０６へ戻り、当該文字列を対象の文字列として選択する。一方、上記ステップＳ４００で受信したユーザデータに含まれる全ての文字列について、上記ステップＳ４０６〜Ｓ４１０の処理を実行した場合には、マスク処理ルーチンを終了する。
【００８４】
以上説明したように、本発明の第１の実施の形態に係るマスク処理システム１００によれば、ユーザ端末において、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、当該座標値を含む領域情報を、マスク対象領域情報として生成し、生成されたマスク対象領域情報をサーバへ送信し、サーバにおいて、ユーザ端末から送信されたマスク対象領域情報を記憶し、マスク対象領域情報に基づいて、受信したユーザデータに含まれる文字列のマスク処理を行うことにより、マスク対象の情報を適切にマスク処理することができる。
【００８５】
また、サーバ上には、ユーザ自身の個人情報文字列ではなく、マスク対象領域情報が保存されマスク処理に利用されることで、ユーザ自身の個人情報を容易に特定しづらく、より安全な状態でサーバ上でのマスク処理が可能となる。
【００８６】
[第２の実施の形態]
次に、図７を参照して、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００８７】
第２の実施の形態では、マスク対象領域情報に含まれるマスク対象文字列候補を選定し、受信したユーザデータに含まれる文字列が、マスク対象文字列候補と一致する場合に、ユーザデータに含まれる文字列のマスク処理を行う点が、第１の実施の形態と異なっている。
【００８８】
上記第１の実施の形態では、マスク対象領域情報をマスク対象領域情報データベース３８に保存するとしたが、マスク対象領域に含まれる文字列の候補が限定的であれば、マスク対象領域の代わりに、当該領域に含まれるマスク対象文字列の候補文字列をデータベースに保管しても良い。第２の実施の形態では、サーバにおいて、マスク対象領域情報を受信した後、マスク対象候補とする文字列を選定する場合を例に説明する。
【００８９】
＜システム構成＞
図７に示すように、本発明の第２の実施の形態に係るマスク処理システム２００は、ユーザ端末１０と、サーバ２３０とを備える。ユーザ端末１０とサーバ２３０とは、インターネットなどのネットワーク１１を介して接続されている。
【００９０】
［サーバ２３０］
サーバ２３０は、マスク対象領域データ取得部２３２と、ユーザデータ取得部２４０とを備えている。サーバ２３０は、ユーザ端末１０から送信されたマスク対象領域情報に基づいて、ユーザ端末１０から送信されたユーザデータに含まれる文字列のマスク処理を行う。
【００９１】
マスク対象領域データ取得部２３２は、マスク対象領域情報受信部３４と、辞書データベース２３３と、マスク対象文字列候補選定部２３４と、マスク対象文字列候補登録部２３６と、マスク対象領域情報データベース２３８とを備えている。
【００９２】
辞書データベース２３３には、複数の候補文字列と当該候補文字列について予め変換されたマスク文字列空間上の座標値との組み合わせの各々を表す辞書データが記憶されている。
【００９３】
図８に、辞書データベース２３３を生成する際のイメージ図を示す。以下では、候補文字列が、事前に想定される場合を例に説明する。なお、図８に示す例では、苗字を想定するが、苗字に特定しない文字列の場合は、マスク対象文字列の１文字ずつを、マスク文字列空間上の座標値に変換したものを用いても良い。
【００９４】
例えば、ユーザ端末１０から氏名（姓・名）が送信されることを想定する場合、複数の苗字が格納された苗字辞書、又は複数の人名が格納された人名辞書を事前に用いて、苗字辞書又は人名辞書に含まれる文字列の各々を、マスク文字列空間の座標値に変換しておき、候補文字列と当該候補文字列の座標値との組み合わせの各々を辞書データとして辞書データベース２３３に格納しておく。
【００９５】
なお、辞書データベースに事前に格納することができる候補文字列としては、ユーザ募集などの際に、氏名、メールアドレス情報などを収集している場合、これらを元に辞書データベースを生成することが可能である。また、電話番号、カード番号についても、入力パターンが限定されるので、事前に辞書データを作成することが可能である。
【００９６】
また、辞書データベースに事前に格納することが難しい候補文字列としては、自由記述による文字列などが挙げられる。この場合には、マスク対象文字列に含まれる各文字について、１文字ずつ特定の文字コードに変換し、変換された文字コードをマスク文字列空間上の座標値に変換しても良い。
【００９７】
例えば、文字コードをマスク文字列空間に変換した場合の座標値を、事前に計算しておく。そして、ユーザ端末１０上で、文字コードに基づいて、マスク対象文字列に含まれる各文字について、１文字ずつマスク文字列空間上の座標値に変換し、マスク対象領域情報を生成する。ユーザ端末１０は、生成したマスク対象領域情報をサーバ２３０へ送信し、サーバ２３０では、受信したマスク対象領域情報に基づいて、該当領域内に含まれるマスク対象文字列候補を選択する。
【００９８】
マスク対象文字列候補選定部２３４は、マスク対象領域情報受信部３４によって受信したマスク対象領域情報に含まれるマスク対象文字列候補を選定する。具体的には、マスク対象文字列候補選定部２３４は、辞書データベース２３３に記憶された辞書データから、マスク対象領域情報に含まれる座標値を有する候補文字列をマスク対象文字列候補として選定する。
【００９９】
図９に、マスク対象文字列候補選定部２３４の処理のイメージ図を示す。図９に示すように、マスク対象文字列候補選定部２３４は、マスク対象領域情報に含まれる座標値を有する候補文字列をマスク対象文字列候補として選定する。
【０１００】
マスク対象文字列候補登録部２３６は、マスク対象文字列候補選定部２３４によって選定されたマスク対象文字列候補を、マスク対象領域情報データベース２３８に登録する。
【０１０１】
マスク対象領域情報データベース２３８には、マスク対象文字列候補選定部２３４によって選定されたマスク対象文字列候補が記憶される。マスク対象領域情報データベース２３８では、対象ユーザが識別できるようにマスク対象文字列候補が記憶される。
【０１０２】
ユーザデータ取得部２４０は、ユーザデータ受信部４２と、マスク処理部２４４と、マスク処理後ユーザデータ蓄積部４６と、マスク済みユーザデータデータベース４８とを備えている。
【０１０３】
マスク処理部２４４は、ユーザデータ受信部４２により受信したユーザデータに含まれる文字列が、マスク対象領域情報データベース２３８に記憶されたマスク対象文字列候補と一致する場合に、ユーザデータに含まれる当該文字列のマスク処理を行う。
【０１０４】
図１０に、第２の実施の形態に係るマスク処理システム２００の動作の概念図を示す。
【０１０５】
ユーザ端末１０では、図１０（Ａ）に示すように、マスク対象文字列をマスク文字列空間上の座標値に変換する。このとき、変換の方法としては、例えば、ハッシュ関数などを用いる。そして、図１０（Ｂ）に示すように、変換された座標を含む領域をマスク対象領域情報とする。このとき、当該領域は、領域中に変換された座標を含むものとする。また、領域中には、変換された座標以外の座標を含むことが可能なことが望ましい。
そしてユーザ端末１０は、サーバ２３０へマスク対象領域情報を送信する。
【０１０６】
サーバ２３０では、図１０（Ｃ）に示すように、ユーザ端末１０から送信されたマスク対象領域情報に含まれる、マスク対象文字列候補を選定する。そして、図１０（Ｄ）に示すように、選定されたマスク対象文字列候補をもとに、該当する文字列がユーザデータ中に存在する場合にマスク処理を行う。
【０１０７】
＜マスク処理システムの作用＞
マスク処理システム２００は、マスク対象領域情報の生成処理及び登録処理と、ユーザデータの収集処理及びマスク処理とを実行する。
まず、マスク対象領域情報の生成処理及び登録処理について説明する。
【０１０８】
＜マスク対象領域情報生成処理ルーチン＞
ユーザ端末１０に、マスク対象文字列が入力されると、ユーザ端末１０において、上記図３に示すマスク対象領域情報生成処理ルーチンが実行される。マスク対象領域情報生成処理ルーチンは、マスク対象文字列が入力される毎に実行される。
【０１０９】
＜マスク対象領域情報登録処理ルーチン＞
サーバ２３０へマスク対象領域情報が送信され、サーバ２３０がマスク対象領域情報を受信すると、サーバ２３０において、図１１に示すマスク対象領域情報登録処理ルーチンが実行される。マスク対象領域情報登録処理ルーチンは、マスク対象領域情報が受信される毎に実行される。
【０１１０】
ステップＳ２００において、マスク対象領域情報受信部３４は、ユーザ端末１０から送信されたマスク対象領域情報を受信する。
【０１１１】
ステップＳ５００において、マスク対象文字列候補選定部２３４は、辞書データベース２３３に記憶された辞書データから、上記ステップＳ２００で受信したマスク対象領域情報に含まれるマスク対象文字列候補を選定する。
【０１１２】
ステップＳ５０２において、マスク対象文字列候補登録部２３６は、上記ステップＳ４００で選定されたマスク対象文字列候補を、マスク対象領域情報データベース２３８に登録して、マスク対象領域情報登録処理ルーチンを終了する。
【０１１３】
次に、ユーザデータの収集処理及びマスク処理について説明する。
【０１１４】
＜ユーザデータ収集処理ルーチン＞
ユーザが、ユーザ端末１０を用いて例えばＷｅｂ閲覧行動を行っているときに、ユーザ端末１０において、上記図５に示すユーザデータ収集処理ルーチンが実行される。
【０１１５】
＜マスク処理ルーチン＞
サーバ２３０へユーザデータが送信され、サーバ２３０がユーザデータを受信すると、サーバ２３０において、図１２に示すマスク処理ルーチンが実行される。マスク処理ルーチンは、ユーザデータが受信される毎に実行される。
【０１１６】
ステップＳ４００において、ユーザデータ受信部４２は、ユーザ端末１０から送信されたユーザデータを受信する。
【０１１７】
ステップＳ６０４において、マスク処理部２４４は、マスク対象領域情報データベース２３８に記憶されたマスク対象文字列候補を参照する。
【０１１８】
ステップＳ４０６において、マスク処理部２４４は、上記ステップＳ４００で受信したユーザデータに含まれる文字列の各々のうち、対象の文字列を選択する。
【０１１９】
ステップＳ６０８において、マスク処理部２４４は、上記ステップＳ４０６で選択した対象の文字列が、上記ステップＳ６０４で参照したマスク対象文字列候補と一致するか否かを判定する。対象の文字列が上記ステップＳ６０４で参照したマスク対象文字列候補と一致する場合、ステップＳ６１０へ進む。一方、対象の文字列が上記ステップＳ６０４で参照したマスク対象文字列候補と一致しない場合、ステップＳ４１２へ進む。
【０１２０】
ステップＳ６１０において、マスク処理部２４４は、上記ステップＳ４０６で選択した対象の文字列に対してマスク処理を行う。
【０１２１】
ステップＳ４１２において、上記ステップＳ４００で受信したユーザデータに含まれる全ての文字列について、上記ステップＳ４０６〜Ｓ６１０の処理を実行したか否かを判定する。上記ステップＳ４０６〜Ｓ６１０の処理を実行していない文字列が存在する場合には、上記ステップＳ４０６へ戻り、当該文字列を対象の文字列として選択する。一方、上記ステップＳ４００で受信したユーザデータに含まれる全ての文字列について、上記ステップＳ４０６〜Ｓ６１０の処理を実行した場合には、マスク処理ルーチンを終了する。
【０１２２】
なお、第２の実施の形態に係るマスク処理システム２００の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１２３】
以上説明したように、本発明の第２の実施の形態に係るマスク処理システム２００によれば、ユーザ端末において、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、当該座標値を含む領域情報を、マスク対象領域情報として生成し、生成されたマスク対象領域情報をサーバへ送信し、サーバにおいて、ユーザ端末から送信されたマスク対象領域情報に含まれるマスク対象文字列候補を選定し、マスク対象文字列候補に基づいて、受信したユーザデータに含まれる文字列のマスク処理を行うことにより、マスク対象の情報を適切にマスク処理することができる。
【０１２４】
なお、上記第２の実施の形態において、マスク対象文字列が辞書データベース２３３に記憶されていない場合には、辞書データベース２３３を更新するようにしてもよい。
【０１２５】
例えば、サーバ２３０は、辞書データベース２３３に記憶されている辞書データを、ユーザ端末１０へ送信し、ユーザ端末１０は辞書データを受信する。そして、ユーザ端末１０は、マスク情報登録部１４によって登録されたマスク対象文字列が、受信した辞書データに含まれるか否かを判定する。マスク対象文字列が辞書データに含まれない場合には、当該マスク対象文字列の座標値と、当該マスク対象文字列と、周辺文字列と、当該周辺文字列の座標値とを組み合わせてサーバ２３０に送信する。なお、辞書データに存在していなかったマスク対象文字列及び当該マスク対象文字列の座標値だけをサーバ２３０に送信しても良いが、さらに、周辺文字列と当該周辺文字列の座標値とを合わせて送信することで、サーバ２３０に送信されたデータからユーザのマスクしたい文字列であるマスク対象文字列を選択することが難しくなり、ユーザ自身の個人情報が容易に判明しなくなる。
サーバ２３０側では、ユーザ端末１０から送信されたマスク対象文字列と、マスク対象文字列の座標値と、周辺文字列と、周辺文字列の座標値とを、辞書データベース２３３へ追加する。
【０１２６】
図１３に、辞書データベース２３３の更新処理のイメージ図を示す。例えば、図１３に示すように、新たなマスク対象文字列「通研」が登録された場合には、「通研」の座標値と、マスク対象文字列「通研」と、周辺文字列「山田」「鈴木」「佐藤」と、周辺文字列「山田」「鈴木」「佐藤」の座標値とを組み合わせてサーバ２３０に送信する。サーバ２３０側では、ユーザ端末１０から送信された「通研」の座標値と、「通研」と、周辺文字列「山田」「鈴木」「佐藤」と、周辺文字列「山田」「鈴木」「佐藤」の座標値とを、辞書データベース２３３へ追加する。なお、サーバ２３０側では、未登録のマスク対象文字列及び当該マスク対象文字列の座標値のみを、辞書データベース２３３に追加する、としても良い。
【０１２７】
また、上記第２の実施の形態において、辞書データベース２３３に記憶されている辞書データに応じて、マスク対象領域のサイズを拡大・縮小し、マスク対象領域情報を生成してもよい。
【０１２８】
例えば、ユーザ端末１０がサーバ２３０から送信された辞書データを受信する場合について説明する。マスク対象領域のサイズに関する情報の初期値として、ある値を持たせる。その後、初期値で設定されたマスク対象領域の範囲に含まれる、辞書データのデータ数によって、マスク対象領域を拡大・縮小し、その結果をマスク対象領域情報として保存する、としても良い。
【０１２９】
図１４に、辞書データに応じてマスク対象領域のサイズを拡大・縮小する場合のイメージ図を示す。図１４（Ａ）に示すように、ユーザのマスク対象文字列「通研」をマスク文字列空間中の座標値に変換する。そして、図１４（Ｂ）に示すように、マスク対象文字列「通研」の座標値の近傍をチェックし、初期値として持ったマスク対象領域からサイズを拡大・縮小する。具体的には、ユーザのマスク対象文字列の座標値から一定範囲に含まれる辞書データが少ない（疎な）場合には、マスク対象領域の領域サイズを拡大し、一定数を超えるようにする。また、ユーザのマスク対象文字列の座標値から一定範囲に含まれる辞書データが多数ある（密な）場合は、マスク対象領域の領域サイズを縮小し、一定数のみを含むように変換する。
【０１３０】
［第３の実施の形態］
＜システム構成＞
次に、図１５を参照して、第３の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１３１】
第３の実施の形態では、ユーザデータをプロキシサーバにて収集する点が、第１又は第２の実施の形態と異なっている。
【０１３２】
上記第１又は第２の実施の形態では、ユーザ端末上で収集されたユーザデータをサーバに送信する場合を例に説明したが、ユーザデータをプロキシサーバにて収集することも可能である。第３の実施の形態では、ユーザデータをプロキシサーバにて収集する場合について説明する。
【０１３３】
＜システム構成＞
図１５に示すように、本発明の第３の実施の形態に係るマスク処理システム３００は、ユーザ端末３１０と、プロキシサーバ３２１と、サーバ３０とを備える。ユーザ端末３１０とプロキシサーバ３２１とサーバ３０とは、インターネットなどのネットワーク１１を介して接続されている。なお、ネットワーク１１には、内部ネットワークと外部ネットワークとが含まれる。
【０１３４】
［ユーザ端末３１０］
ユーザ端末３１０は、マスク対象領域情報出力部１２を備えている。ユーザ端末３１０において、例えばユーザがＷｅｂ閲覧をする際には、プロキシサーバ３２１を介してＷｅｂへのアクセスが行われる。
【０１３５】
マスク対象領域情報出力部１２は、第１の実施の形態と同様に、マスク対象領域情報生成部１８によって生成されたマスク対象領域情報を、プロキシサーバ３２１を介してサーバ３０へ送信する。マスク対象領域情報出力部１２は、マスク情報登録部１４と、マスク文字列空間座標算出部１６と、マスク対象領域情報生成部１８と、マスク対象領域情報送信部２０とを備えている。
【０１３６】
［プロキシサーバ３２１］
プロキシサーバ３２１は、ユーザデータ出力部３２２を備えている。プロキシサーバ３２１は、例えばユーザ端末がプロキシサーバ３２１を介してＷｅｂへのアクセスを行うときに、ユーザのＷｅｂ閲覧の操作情報をユーザデータとして収集し、収集されたユーザデータをサーバ３０へ送信する。
【０１３７】
ユーザデータ出力部３２２は、ユーザデータ収集部３２４と、ユーザデータ送信部３２６とを備えている。
【０１３８】
ユーザデータ収集部３２４は、例えば、ユーザ端末３１０がプロキシサーバ３２１を介してＷｅｂへアクセスするときに、Ｗｅｂページ閲覧履歴情報などをユーザデータとして収集する。
【０１３９】
ユーザデータ送信部３２６は、ユーザデータ収集部３２４によって収集されたユーザデータを、サーバ３０へ送信する。
【０１４０】
なお、第３の実施の形態に係るマスク処理システムの他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１４１】
以上説明したように、本発明の第３の実施の形態に係るマスク処理システム３００によれば、ユーザ端末において、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、当該座標値を含む領域情報を、マスク対象領域情報として生成し、生成されたマスク対象領域情報をサーバへ送信し、サーバにおいて、プロキシサーバから送信されたマスク対象領域情報に含まれるマスク対象文字列候補を選定し、マスク対象文字列候補に基づいて、受信したユーザデータに含まれる文字列のマスク処理を行うことにより、マスク対象の情報を適切にマスク処理することができる。
【０１４２】
なお、本発明の第３の実施の形態を、上記第２の実施の形態に適用してもよい。
【０１４３】
［第４の実施の形態］
＜システム構成＞
次に、第４の実施の形態について説明する。なお、第４の実施の形態に係るマスク処理システムの構成は、第１の実施の形態と同様の構成となるため、同一符号を付して説明を省略する。
【０１４４】
第４の実施の形態では、マスク文字列空間を多次元ベクトル空間として定義する点が、第１〜第３の実施の形態と異なっている。
【０１４５】
図１６に、多次元ベクトルを想定したマスク文字列空間での処理の概要を示す。
【０１４６】
図１６に示すように、第４の実施の形態では、ハッシュ関数を用いてハッシュ値を求めるだけでなく、マスク対象文字列の文字列数や、当該文字列と同一の文字列が他のユーザでも指定される確率値などを用いて、多次元のベクトルとして扱う。具体的には、以下に示すように、マスク対象文字列の文字列数や、マスク対象文字列が他のユーザに関する文字列と重複する確率を表すユーザ群重複確率などを多次元ベクトルの要素の一部として扱う。
【０１４７】
（マスク対象文字列の文字列数、ハッシュ値、ユーザ群重複確率…）→（Ｘ，Ｙ，Ｚ，α，β，・・・）
【０１４８】
例えば、ユーザ群重複確率については、ユーザ群のうち、１００人あたり同一のマスク対象文字列を持つユーザが存在する確率を示すとしても良い。特に、姓名については、同姓・同名の存在数に関する統計データが得られるのであれば、同姓、同名となる確率を示すとしてもよい。
【０１４９】
また、例えば、以下に示すように、日本における氏名の苗字は多数存在しているが、一部の苗字が人口における大半を占めている。そこで、ユーザの苗字が重複する可能性について考慮するため、ユーザ群重複確率を用いる、としても良い。多次元ベクトルの一要素として、ユーザ群重複確率などの値を利用することで、偏りを考慮することが可能となる。
【０１５０】
佐藤、田中、山田…  などについては、ユーザ群重複確率：高
通研…  などについては、ユーザ群重複確率：低
【０１５１】
例えば、上記第１の実施の形態の場合、異なるマスク文字列が同一のマスク領域情報を持つ可能性がある。このとき、文字列数が２文字、３文字と異なる文字列であっても同一のマスク領域として選定される可能性があり、余計なマスキング処理を増やすことになる。そこで、文字列数を考慮することにより、文字列数が異なるものはマスク領域から除外することにより、余計なマスキング処理を減らしつつ、効率化を行うことが可能となる。
【０１５２】
第４の実施の形態に係るマスク処理システム１００のユーザ端末１０におけるマスク対象領域情報生成部１８は、マスク文字列空間座標算出部１６によって変換された座標値と、マスク対象文字列の文字数、及びマスク対象文字列が他のユーザに関する文字列と重複する確率を表すユーザ群重複確率とに基づいて、座標値、マスク対象文字列の文字数、及びマスク対象文字列のユーザ群重複確率を表す多次元ベクトルを、マスク対象領域情報として生成する。なお、ユーザ群重複確率については、マスク対象文字列毎に予め求められたユーザ群重複確率を用いればよい。
【０１５３】
第４の実施の形態に係るマスク処理システム１００のサーバ３０におけるマスク処理部４４は、マスク対象領域情報データベース３８に記憶されたマスク対象領域情報に基づいて、ユーザデータ受信部４２によって受信されたユーザデータに含まれる文字列のマスク処理を行う。
【０１５４】
具体的には、マスク処理部４４は、受信したユーザデータに含まれる文字列を、マスク文字列空間上の座標値に変換する。そして、マスク処理部４４は、ユーザデータ含まれる文字列の座標値、当該文字列の文字数、及び当該文字列のユーザ群重複確率を表す多次元ベクトルが、マスク対象領域情報データベース３８に記憶された当該ユーザのマスク対象領域情報に含まれる場合、当該文字列のマスク処理を行う。
【０１５５】
以上説明したように、本発明の第４の実施の形態に係るマスク処理システムによれば、ユーザ端末において、ユーザに関するマスク対象文字列をマスク文字列空間上の座標値に変換し、当該座標値と、マスク対象文字列の文字数、及びマスク対象文字列が他のユーザに関する文字列と重複する確率を表すユーザ群重複確率とに基づいて、マスク対象領域情報を生成し、生成されたマスク対象領域情報をサーバへ送信し、サーバにおいて、ユーザ端末から送信されたマスク対象領域情報に含まれるマスク対象文字列候補を選定し、マスク対象文字列候補に基づいて、受信したユーザデータに含まれる文字列のマスク処理を行うことにより、マスク対象の情報を適切にマスク処理することができる。
【０１５６】
なお、本発明の第４の実施の形態を、上記第２〜第３の実施の形態に適用してもよい。上記第４の実施の形態を、上記第２の実施の形態に適用する場合、図１７に示すように、予め用意された複数のマスク対象文字列候補の各々について、ハッシュ関数を用いて、マスク文字列空間上の座標値として一定ビット長のハッシュ値に変換し、当該座標値と、マスク対象文字列の文字数、及びユーザ群重複確率とに基づいて、マスク対象領域情報に含まれるマスク対象文字列候補を選定すればよい。
【０１５７】
本発明は、上記実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１５８】
例えば、ユーザデータとしては、Ｗｅｂページの閲覧情報ではなく、ユーザのＰＣなどの操作ログを対象としてもよい。また、ユーザデータとして、社内の電子文書などを対象とし、マスク対象文字列として機密情報に関連する文字列を対象としても良い。例えば、取引企業の社名などをマスク対象文字列として扱うとして、機密文書中のマスク対象文字列のマスク処理を行うとしても良い。
【０１５９】
また、上記実施の形態では、ハッシュ関数を用いて、マスク対象文字列をマスク文字列空間上の座標値へ変換する場合を例に説明したが、これに限定されるものではなく、他の手法によってマスク対象文字列をマスク文字列空間上の座標値へ変換してもよい。例えば、文字コードの変換による処理によって、マスク対象文字列をマスク文字列空間上の座標値へ変換してもよい。
【０１６０】
また、上記の第４の実施の形態では、座標値、マスク対象文字列の文字数、及びマスク対象文字列のユーザ群重複確率を表す多次元ベクトルを、マスク対象領域情報として生成する場合を例に説明したが、多次元ベクトルはこれに限定されるものではない。また、座標値、マスク対象文字列の文字数、及びマスク対象文字列のユーザ群重複確率の少なくとも１つに基づいて、マスク対象領域情報を生成するようにしてもよい。
【０１６１】
また、上述のユーザ端末及びサーバは、内部にコンピュータシステムを有しているが、コンピュータシステムは、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１６２】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１６３】
１０，３１０  ユーザ端末
１１   ネットワーク
１２   マスク対象領域情報出力部
１４   マスク情報登録部
１６   マスク文字列空間座標算出部
１８   マスク対象領域情報生成部
２０   マスク対象領域情報送信部
２２，３２２  ユーザデータ出力部
２４，３２４  ユーザデータ収集部
２６，３２６  ユーザデータ送信部
３０，２３０  サーバ
３２，２３２  マスク対象領域データ取得部
３４   マスク対象領域情報受信部
３６   マスク対象領域情報登録部
３８，２３８  マスク対象領域情報データベース
４０，２４０  ユーザデータ取得部
４２   ユーザデータ受信部
４４，２４４  マスク処理部
４６   マスク処理後ユーザデータ蓄積部
４８   マスク済みユーザデータデータベース
１００，２００，３００      マスク処理システム
２３３ 辞書データベース
２３４ マスク対象文字列候補選定部
２３６ マスク対象文字列候補登録部
３２１ プロキシサーバ
【図１】
0006420728.tif 000002
【図２】
0006420728.tif 000003
【図３】
0006420728.tif 000004
【図４】
0006420728.tif 000005
【図５】
0006420728.tif 000006
【図６】
0006420728.tif 000007
【図７】
0006420728.tif 000008
【図８】
0006420728.tif 000009
【図９】
0006420728.tif 000010
【図１０】
0006420728.tif 000011
【図１１】
0006420728.tif 000012
【図１２】
0006420728.tif 000013
【図１３】
0006420728.tif 000014
【図１４】
0006420728.tif 000015
【図１５】
0006420728.tif 000016
【図１６】
0006420728.tif 000017
【図１７】
0006420728.tif 000018