(57)【要約】【課題】  印刷文書に限らずディスプレイに表示された文書についても誰向けに表示したものであるかが判明するように表示することができる情報処理システムを提供すること。【解決手段】  前記個人情報リスト中の各個人に割当てられた個人ＩＤを異なる個人ＩＤに変換するモジュールと、姓と名との間に空白なし、半角の空白を挿入、全角の空白を挿入するモジュールと、郵便番号の数字を半角ないしは全角で表記するモジュールと、住所表記の際に都道府県名を表記ないしは表記しないモジュールと、住所の番地表記の際に丁目、番、号の数字を半角ないしは全角で表記するモジュールなどの個人情報リスト中の情報の表記形式を変換する複数のモジュールを備え、閲覧者ＩＤに応じて、前記各モジュールにより前記個人情報リストを構成する前記各情報の表記形式を異ならせ、閲覧者ＩＤに応じて前記個人情報リストの表記形式が異なるリストを表示または印刷することを備える。【選択図】        図３
2006139007.tif 000002
【特許請求の範囲】
【請求項１】
個人情報リストを表示ないしは印刷する情報処理システムにおいて、
前記個人情報リスト中の各個人に割当てられた個人ＩＤを異なる個人ＩＤに変換するモジュール、
姓と名との間に空白なし、半角の空白を挿入、全角の空白を挿入するモジュール、
郵便番号の数字を半角ないしは全角で表記するモジュール、
住所表記の際に都道府県名を表記ないしは表記しないモジュール、
住所の番地表記の際に丁目、番、号の数字を半角ないしは全角で表記するモジュール、
住所の番地表記の際に丁目、番、号という文字を表記ないしは表記しないモジュール、
住所の番地表記の際に丁目、番、号という文字を表記しない場合に間の区切り文字を変えるモジュール、
住所中のアパートの号室の表記の際に号室という文字を表記ないしは表記しないモジュール、
住所中のアパートの号室の数字を半角ないしは全角で表記するモジュール、
生年月日を表記する際に、年、月、日という文字を表記ないしは表記しないモジュール、
生年月日を表記する際に、西暦か和暦かを変えるモジュール、
または生年月日を和暦で表記する際に、元号を大正と昭和と平成か、大と昭と平か、ＴとＳとＨかに変えるモジュールの各モジュールのうち複数のモジュールと、
閲覧者ＩＤに応じて、前記各モジュールにより前記個人情報リストを構成する前記各情報の表記形式を異ならせ、閲覧者ＩＤに応じて前記個人情報リストの表記形式が異なるリストを表示または印刷することを備えることを特徴とする情報処理システム。
【請求項２】
閲覧者ＩＤに応じて、前記個人情報リストに存在しない偽者の個人情報を付加して表示または印刷させる手段をさらに備えることを特徴とする請求項１に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顧客情報に代表される個人情報を表示したり、印刷する情報処理システムに係り、特に、どの閲覧者に向けて表示／印刷した個人情報かが特定可能なように、閲覧者に応じて表示または印刷の表記方法を異ならせるようにする情報処理システムに関するものである。
【背景技術】
【０００２】
近時において、数千から数百万名にのぼる顧客情報の漏洩事件が続発している。多くの事件は顧客情報へのアクセス権限がある組織内部の閲覧者が、印刷したり外部媒体に保管して名簿業者に売っていると考えられるが、その閲覧者が特定できない場合が多い。
対策の１つとして挙げられるのが、下記の特許文献１にあるように、該当の顧客個人がアクセスキーを設定して閲覧者を制限する方法である。これは閲覧者やその所属グループや権限でアクセス認可を行うアクセス制御方法の一種である。
また、アクセス制御方法と異なる手法が、閲覧情報に透かしを入れる方法である。非特許文献１にあるように、印刷した文字の一部を変更、この変更方法を閲覧者ごとに変えることにより、文書が漏洩した際の閲覧者を特定することができる。
また、印刷物に人目にはわかりにくい方法で、複写禁止や追跡のための情報を埋め込む方法として、赤外線や紫外線を使って検出できるインクを使う下記の特許文献２に記載された法やイエロー色を使う方法が知られている。
これらの方法は、閲覧者を特定する情報を印刷文書に埋め込むのに利用できる。
【０００３】
【特許文献１】特開２００２−２０３１０９号公報
【特許文献２】特開平７−３１９３４７号公報
【非特許文献１】日立製作所，  紙に印刷された情報の追跡を可能にする、透かし強度を調節可能な二値画像電子透かし技術を開発，  ニュースリリース２００３年１０月３日， http://www.hitachi.co.jp/New/cnews/031003.html
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記技術は印刷文書を対象にしており、電子ファイルやディスプレイに表示された情報に対しては適用できない。外部記憶媒体の大容量化で電子ファイルにも適用する必要があり、現実に事件も発生している。また、デジタルカメラや携帯電話機に付属したデジタルカメラの普及により、ディスプレイに表示された情報を簡単に持出すことができる。よって、印刷文書だけを対象としただけでは、不十分である。
【０００５】
本発明の目的は、印刷文書に限らずディスプレイに表示された文書についても誰向けに表示したものであるかが判明するように表示することができる情報処理システムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、個人情報リストを表示ないしは印刷する情報処理システムにおいて、
前記個人情報リスト中の各個人に割当てられた個人ＩＤを異なる個人ＩＤに変換するモジュールと、
姓と名との間に空白なし、半角の空白を挿入、全角の空白を挿入するモジュールと、
郵便番号の数字を半角ないしは全角で表記するモジュールと、
住所表記の際に都道府県名を表記ないしは表記しないモジュールと、
住所の番地表記の際に丁目、番、号の数字を半角ないしは全角で表記するモジュールと、
住所の番地表記の際に丁目、番、号という文字を表記ないしは表記しないモジュールと、
住所の番地表記の際に丁目、番、号という文字を表記しない場合に間の区切り文字を変えるモジュールと、
住所中のアパートの号室の表記の際に号室という文字を表記ないしは表記しないモジュールと、
住所中のアパートの号室の数字を半角ないしは全角で表記するモジュールと、
生年月日を表記する際に、年、月、日という文字を表記ないしは表記しないモジュールと、
生年月日を表記する際に、西暦か和暦かを変えるモジュールと、
生年月日を和暦で表記する際に、元号を大正と昭和と平成か、大と昭と平か、ＴとＳとＨかに変えるモジュールの各モジュールのうち複数のモジュールと、
閲覧者ＩＤに応じて、前記各モジュールにより前記個人情報リストを構成する前記各情報の表記形式を異ならせ、閲覧者ＩＤに応じて前記個人情報リストの表記形式が異なるリストを表示または印刷することを備えることを特徴とする。
また、閲覧者ＩＤに応じて、前記個人情報リストに存在しない偽者の個人情報を付加して表示または印刷させる手段をさらに備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、不正に組織から流出した顧客や住民の個人情報のリストの名前や住所や生年月日の表記の方法から、誰向けに印刷したか、画面に表示したか、表形式のファイルにしたかが判明し、リストを漏洩した不正者を特定することができる。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明の対象となる顧客の個人情報を格納している顧客データベースのスキーマを示している。
図１において、１０１は顧客のＩＤであり、ここでは数字６桁の形式になっている。
１０２は顧客の姓、１０３は顧客の名、１０４は顧客居住地の郵便番号、１０５は顧客居住地の都道府県名、１０６は顧客居住地の市区町村である。本発明では住所のうち都道府県と番地を除いた部分を市区町村と呼ぶ。例えば、「東京都品川区南品川１−２−３」という住所では、「品川区南品川」を市区町村と呼ぶ。
１０７は顧客の居住地の番地であり、上記例では「１−２−３」に相当する。１０８は顧客の居住地のアパート名ないしはマンション名、ビル名である。１０９は顧客の居住地がアパートないしはマンション、ビルの場合、その部屋番号に相当する号室である。
１１０は顧客の生年月日であり、西暦表示でＹＹＹＹＭＭＤＤ形式の８桁の数字である。
【０００９】
図２は、図１のデータベースへのアクセス権限者である閲覧者が図１のデータベースを検索して、結果を表示する様々な形式を示している。
図１に示されていたデータを表示しているが、同じデータについて表示形式を変えて３通り表示している。これは閲覧者ＩＤに応じて同じデータでも異なって表示される例を示しており、本発明の核となるアイデアを示している。
図２において、２０４は顧客ＩＤを示しているが、図１の顧客データベースに格納されている顧客ＩＤ１０１とは異なって、閲覧者ＩＤにより、本来の顧客ＩＤを異ならせた形式の顧客ＩＤが表示されている。
２０５は顧客の氏名を示しているが、姓と名の間の幅が異なっている。
２０１は姓と名を続けて表示している。２０２では姓と名の間に半角の空白を挿入している。
２０３では全角の空白を挿入している。他にも任意の幅のスペースを姓と名との間に挿入可能であるが、本実施形態では単純化のために空白なし、半角空白、全角空白の３種類を用いる。これは電子ファイルに格納した場合でも有効である。
２０６は郵便番号であるが、番号の数字を半角と全角の文字で変えている。文字のフォントを変えれば様々な方法で表示可能であるが、本実施形態では単純化のため全角か半角かの２種類を用いる。
２０７は住所である。住所の場合には多種の表現が可能である。（１）都道府県名の有無、（２）番地表記の中での「丁目」、「番」、「号」の有無、（３）番地の数字が全角か半角か、（４）番地の丁目、番、号の区切り文字が「−」か「〜」か、（５）マンションやアパートの部屋番号の数字が全角か半角か、（６）生年月日表記の際の西暦が和暦か、年月日を「年」、「月」、「日」で区切るか「／」で区切るか、元号の表記は「昭和」か「昭」か「Ｓ」か、を組み合わせることで同じ住所でも様々な表示方法が可能である。
【００１０】
図３は、本発明に係る情報処理システムの実施形態を示すシステム構成図である。
図３において、３０１はデータベース検索部であり、図１に示したスキーマを持つ顧客データベース３００を検索するモジュールである。データベース検索は、ネットワークで接続されたデータベースサーバに問合せ文３１９を送信して検索結果を受信する方法やローカルのファイルを検索する方法など、いくつかの方法があるが、方法は本発明の本質ではないので詳細は記述しない。ただし、データベースのスキーマが図１に示したような構成であることは重要である。
３０２は閲覧者のＩＤである。本形態では閲覧者ＩＤは数値で示されると仮定する。
３０３は閲覧者ＩＤ３０２を元に、表示方法を選択するキーとなる情報を生成するモジュールである。本情報は各表示情報生成部への入力となる。各生成部への入力長は、それぞれ異なる。また、一部キー情報を組み合わせて閲覧者を特定できることが必要である。本実施形態では、顧客ＩＤ生成部３０４への入力は閲覧者ＩＤをそのまま利用し、氏名生成部３０５は０〜２の値、郵便番号生成部３０６は０〜１の値、住所名生成部３０７は０〜１の値、番地生成部３０８は０〜４の値、アパート名生成部３０９は０〜１の値、生年月日生成部３１０は０〜７の値をとる。このキー生成方法については図１１で説明する。
３０４は顧客ＩＤ生成部である。本モジュールの詳細は図４で説明する。
３０５は氏名生成部である。本モジュールの詳細は図５で説明する。
３０６は郵便番号生成部である。本モジュールの詳細は図６で説明する。
３０７は住所名生成部である。本モジュールの詳細は図７で説明する。
３０８は番地生成部である。本モジュールの詳細は図８で説明する。
３０９はアパート名生成部である。本モジュールの詳細は図９で説明する。
３１０は生年月日生成部である。本モジュールの詳細は図１０で説明する。
３１１は偽顧客ＩＤ生成部である。本モジュールの詳細は図１７で説明する。
３１２は偽氏名生成部である。本モジュールの詳細は図１８で説明する。
３１３は偽住所生成部である。本モジュールの詳細は図１９で説明する。
３１４は偽アパート生成部である。本モジュールの詳細は図２０で説明する。
３１５は偽生年月日生成部である。本モジュールの詳細は図２１で説明する。
３１６は個別に生成された顧客ＩＤ、氏名、郵便番号、住所名、番地、アパート名、生年月日をマージして一人分の個人情報として生成するマージ部である。
３１７は個別に生成された偽顧客ＩＤ、偽氏名、偽住所、偽アパート名、偽生年月日をマージして一人分の個人情報として生成するマージ部である。
３１８は検索内容に合わせて偽個人情報を生成する元となる情報を生成する偽データ生成部である。本モジュールの詳細は図１２で説明する。
３１９は閲覧者が検索したい条件を含んだ顧客データベースへ３００の問合せ文である。
３２０はマージ部３１６と偽データマージ部３１７で生成した個人情報をマージ、最終的に画面に表示したり、印刷する元となるデータを生成する出力データ生成部である。
３２１はシステムの共通鍵であり、顧客ＩＤ生成に使われる。
【００１１】
図２２は、閲覧者が顧客の基本情報を検索する際に、図２で説明したように、正規データに対してはその表記方法を閲覧者ＩＤに応じて変え、さらに検索にあった偽データを生成することで、閲覧者を特定できる個人情報リスト生成処理の全体を示したフローチャートである。本説明の後、各モジュールの詳細について説明する。
まず、ステップ２２０１では、閲覧者が問合せ文３１９を入力する。入力方法は本発明の範囲外であるので省略する。
ステップ２２０２では、データベース検索部３０１が問合せ文３１９をデータベースサーバに送信し、データベースサーバが顧客データベース３００から検索した結果を受け取る。顧客データベース３００のデータ構成は図１に示した通りであり、姓名や住所が細かく属性に分割されている。
検索した結果は一般に複数の個人情報が含まれているが、データベース検索部３０１はそれぞれの個人情報をこのような属性に分割した形で受け取る。受け取った情報は１件ずつ、属性に応じて各種生成部３０４〜３１０に送る。
具体的には、顧客ＩＤ１０１は顧客ＩＤ生成部３０４に、姓１０２と名１０３は氏名生成部３０５に、郵便番号１０４は郵便番号生成部３０６に、都道府県１０５と市区町村１０６は住所名生成部３０７に、番地１０７は番地生成部３０８に、アパート名１０８と号室１０９はアパート名生成部３０９に、生年月日１１０は生年月日生成部３１０に送る。
また、データベース検索部３０１は検索結果の個人情報の件数を偽データマージ部３１７に送る。
【００１２】
ステップ２２０３では、偽データ生成部３１８が問合せ文３１９を解析、問合せ文３１９に合わせた偽データを生成する。この偽データは偽データ生成部３１８に含まれる図１３の偽姓データベース、図１４の偽名データベース、図１５の偽住所データベース、図１６の偽アパート名データベースの格納情報に基づいて生成される。生成の方法は、図１２を使って後に示す。
生成した偽データは、各種生成部に送られる。具体的には、偽の姓と偽の名は偽氏名生成部３１２に、偽住所は偽住所生成部３１３に、偽アパート名は偽アパート名生成部３１４に送る。
ステップ２２０４では、閲覧者ＩＤ３０２を元に閲覧者キー生成部３０３が閲覧者キーを生成し、各種生成部に送る。生成方法は図１１を用いて後述する。
ステップ２２０５では、各種生成部がこれまで説明した検索結果の属性や偽データ、閲覧者キーを元に、個人情報の属性の一部を生成する。顧客ＩＤ生成部３０４の生成方法は図４を用いて後述する。氏名生成部３０５の生成方法は図５を用いて後述する。郵便番号生成部３０６の生成方法は図６を用いて後述する。住所名生成部３０７の生成方法は図７を用いて後述する。番地生成部３０８の生成方法は図８を用いて後述する。アパート名生成部３０９の生成方法は図９を用いて後述する。生年月日生成部３１０の生成方法は図１０用いて後述する。
偽顧客ＩＤ生成部３１１の生成方法は図１７を用いて後述する。偽氏名生成部３１２の生成方法は図１８を用いて後述する。偽住所生成部３１３の生成方法は図１９を用いて後述する。偽アパート名生成部３１４の生成方法は図２０を用いて後述する。偽生年月日生成部３１５の生成方法は図２１を用いて後述する。
【００１３】
ステップ２２０６では、顧客ＩＤ生成部３０４と氏名生成部３０５と郵便番号生成部３０６と住所名生成部３０７と番地生成部３０８とアパート名生成部３０９と生年月日生成部３１０の生成結果を、マージ部３１６が検索結果の各個人情報に対応する属性を組合わせて１件の個人情報として生成、出力データ生成部に３２０に送る。対応するというのは、ステップ２２０２で述べた１件の個人情報を複数の属性に分割して、それぞれの生成部に入力、得られた生成データをマージして１件の個人情報にするという意味である。これにより、１件の個人情報の内容は変わらないが、表記方法が変わる。ステップ２２０２で述べた通り、検索結果の個人情報は一般に複数件数あるので、件数と同じ回数マージして、同じ件数が出力データ生成部３２０に送られる。
ステップ２２０７では、偽顧客ＩＤ生成部３１１と偽氏名生成部３１２と偽住所生成部３１３と偽アパート名生成部３１４と偽生年月日生成部３１５の生成結果を偽データマージ部３１７がマージして出力データ生成部３２０に送る。マージの方法はステップ２２０６で示したマージ部３１６の方法とは異なる。先の５つの生成部からは、一般に異なる個数の属性のデータが出力される。これは偽データ生成３１８で問合せ文３１９に応じた偽データを生成する場合、属性によって生成されるデータ数が異なるからである。
【００１４】
例えば、偽姓は８件、偽名は１件、偽住所は１３４５件、偽アパート名が２件、偽生年月日が５件になり得る。偽データマージ部３１７は各偽の属性データをランダムに組み合わせることで偽の個人情報を出力する。原理的には偽姓、偽名、偽住所、偽アパート名、偽生年月日のそれぞれの件数を組み合わせた数の件数だけ個人情報を生成できる。しかし、本実施形態ではステップ２２０２にてデータベース検索部３０１から得られた正個人情報の検索結果件数に応じて偽データマージ部３１７が出力する件数を調整する。
すなわち、正個人情報にどの程度の割合で偽個人情報を含ませるか予め決めておき、その比率に応じてランダムに組み合わせる数を決める。割合の決め方は、固定であったり、件数に応じて変わったり、閲覧者によって変える場合も考えられるが、本実施形態では固定として、その割合を超えない範囲で出力する。
ステップ２２０８では、出力データ生成部３２０が、マージ部３１６が出力した正データと偽データマージ部３１７が出力した偽データとをランダムにマージ、正個人情報と偽個人情報が入り乱れるように出力する。
【００１５】
以下は、各モジュールの詳細について説明する。
図１２は、偽データ生成部３１８の偽データ生成手順を示すフローチャートである。
図１２において、ステップ１２０１では、問合せ文３１９にマッチする姓を図１３の偽姓データベースから検索する。マッチする姓１３０２は複数あるかもしれない。本実施の形態の偽姓データベースは１０２４個の姓１３０２と対応するキー１３０１からなるデータベースであり、マッチした姓１３０２をキー１３０１と一緒に出力、偽氏名生成部３１２に送る。なお、偽のデータの件数は１０２４件に限る必要はない。
ステップ１２０２では、問合せ文３１９にマッチする名を図１４の偽名データベースから検索する。マッチする名１４０２は複数あるかもしれない。本実施の形態の偽名データベースは１０２４個の名１４０２と対応するキー１４０１からなるデータベースであり、マッチした名１４０２をキー１４０１と一緒に出力、偽氏名生成部３１２に送る。なお、偽のデータの件数は１０２４件に限る必要はない。
ステップ１２０３では、問合せ文３１９にマッチする住所を図１５の偽住所データベースから検索する。マッチする住所１５０２は複数あるかもしれない。本実施の形態の偽住所データベースは３２７６６個の住所１５０２と番地数１５０３と対応するキー１５０１からなるデータベースであり、マッチした住所１５０２を番地数１５０３とキー１５０１と一緒に出力、偽住所生成部３１３に送る。
ここで、図１５の番地数１５０３とは、住所１５０２に続く丁目、番、号などの番地の個数である。例えば、東京都品川区東品川という住所１５０２では、丁目と番と号が使われるので番地数１５０３は３になる。
【００１６】
ステップ１２０４では、問合せ文３１９にマッチするアパート名を図１６の偽アパート名データベースから検索する。マッチするアパート名１６０２は複数あるかもしれない。本実施の形態の偽アパート名データベースは１０２４個のエントリがあるが、半数はＮＵＬＬでブランクになっている。これは、アパートやマンションではなく戸建て住宅を示している。アパート名１６０２と対応するキー１６０１からなるデータベースであり、マッチしたアパート名１６０２をキー１６０１と一緒に出力、偽アパート名生成部３１４に送る。なお、偽のデータの件数は１０２４件に限る必要はない。
【００１７】
図１１は、閲覧者キー生成部３０３の閲覧者ＩＤキー生成方法の処理手順を示すフローチャートである。
図１１において、まず、閲覧者ＩＤ３０２をビット列とみなし、そのハッシュ値を計算する。ハッシュ値の計算にはＳＨＡ−１などの標準のハッシュ関数を用いるので詳細については触れないが、ここではハッシュ値は５０ビット程度と仮定する。
次に、ステップ１１０２にて、ステップ１１０１におけるハッシュ値の第０ビットから第１ビットの２ビットを０〜３の値とみて、０なら閲覧者ＩＤ第１キーを０、１なら１、２ないし３なら２とし、氏名生成部３０５と偽氏名生成部３１２に送る。
次に、ステップ１１０３にて、ステップ１１０１のハッシュ値の第２ビットを０〜１の値とみて、閲覧者ＩＤ第２キーとし、郵便番号生成部３０６と番地生成部３０８とアパート名生成部３０９と生年月日生成部３１０と偽住所生成部３１３と偽アパート名生成部３１４と偽生年月日生成部３１５に送る。
続く、１１０４にて、ステップ１１０１のハッシュ値の第３ビットを０〜１の値とみて、閲覧者ＩＤ第３キーとし、住所名生成部３０７と偽住所生成部３１３に送る。
続くステップ１１０５にて、ステップ１１０１のハッシュ値の第４ビットから第６ビットの３ビットを０〜７の値とみて、０なら閲覧者ＩＤ第４キーを０、１なら１、２ないし３なら２、４ないし５なら３、６ないし７なら４とし、番地生成部３０８と偽住所生成部３１３に送る。
次に、ステップ１１０６にて、ステップ１１０１のハッシュ値の第７ビットを０〜１の値とみて、閲覧者ＩＤ第５キーとし、アパート名生成部３０９と偽アパート名生成部３１４に送る。
次に、ステップ１１０７にて、ステップ１１０１のハッシュ値の第８ビットから第１０ビットの３ビットを０〜７の値とみて、閲覧者ＩＤ第６キーとし、生年月日生成部３１０と偽生年月日生成部３１５に送る。
次に、ステップ１１０８にて、ステップ１１０１のハッシュ値の第１１ビットから第１２ビットの２ビットを０〜３の値とみて、閲覧者ＩＤ第７キーとし、偽氏名生成部３１２に送る。
次に、ステップ１１０９にて、ステップ１１０１のハッシュ値の第１３ビットから第１４ビットの２ビットを０〜３の値とみて、閲覧者ＩＤ第８キーとし、偽氏名生成部３１２に送る。
次に、ステップ１１１０にて、ステップ１１０１のハッシュ値の第１５ビットから第１６ビットの２ビットを０〜３の値とみて、閲覧者ＩＤ第９キーとし、偽住所生成部３１３に送る。
次に、ステップ１１１１にて、ステップ１１０１のハッシュ値の第１７ビットから第１８ビットの２ビットを０〜３の値とみて、閲覧者ＩＤ第１０キーとし、偽住所生成部３１３に送る。
次に、ステップ１１１２にて、ステップ１１０１のハッシュ値の第１９ビットから第２０ビットの２ビットを０〜３の値とみて、閲覧者ＩＤ第１１キーとし、偽アパート名生成部３１４に送る。
次に、ステップ１１１３にて、ステップ１１０１のハッシュ値の第２１ビットから第２５ビットの５ビットを０〜３１の値とみて、閲覧者ＩＤ第１２キーとし、偽アパート名生成部３１４に送る。
次に、ステップ１１１４にて、ステップ１１０１のハッシュ値の第２６ビットから第３０ビットの５ビットを０〜３１の値とみて、閲覧者ＩＤ第１３キーとし、偽生年月日生成部３１５に送る。
【００１８】
図４は、顧客ＩＤ生成部３０４の処理手順を示すフローチャートである。
図４において、まずステップ４０１にて、入力データとしてデータベース検索部３０１から受けた顧客ＩＤ１０１と閲覧者ＩＤをビット列として連結する。
次に、ステップ４０２にて、これをシステムの共通鍵３２１で暗号化する。暗号化の方法は本発明の本質ではないので省略する。
次に、ステップ４０３にて、前記ステップ４０２にて生成した暗号化データを数字列に変換し、顧客ＩＤとして出力する。
【００１９】
図５は、氏名生成部３０５の処理手順を示すフローチャートである。
図５において、まずステップ５０１にて、入力データとしてデータベース検索部３０１から姓１０２と名１０３を、閲覧者キー生成部３０３から閲覧者ＩＤ第１キーを受け取る。第１キーの値が０ならステップ５０２に、１ならステップ５０３に、２ならステップ５０４に分岐する。
ステップ５０２では、ステップ５０１にて受けた姓１０２と名１０３を空白文字を入れることなく出力する。
ステップ５０３では、ステップ５０１にて受けた姓１０２と名１０３を半角空白文字を入れて出力する。
ステップ５０４では、ステップ５０１にて受けた姓１０２と名１０３を全角空白文字を入れて出力する。
【００２０】
図６は、郵便番号生成部３０６の処理手順を示すフローチャートである。
図６において、まずステップ６０１にて、入力データとしてデータベース検索部３０１から郵便番号１０４を、閲覧者キー生成部３０３から閲覧者ＩＤ第２キーを受け取る。第２キーの値が０ならステップ６０２に、１ならステップ６０３に分岐する。
ステップ６０２では、ステップ６０１にて受けた郵便番号１０４を半角文字で出力する。
ステップ６０３では、ステップ６０１にて受けた郵便番号１０４を全角文字で出力する。
【００２１】
図７は、所名生成部３０７の処理手順を示すフローチャートである。
図７において、まずステップ７０１にて、入力データとしてデータベース検索部３０１から都道府県１０５と市区町村１０６を、閲覧者キー生成部３０３から閲覧者ＩＤ第３キーを受け取る。第３キーの値が０ならステップ７０２に、１ならステップ７０３に分岐する。
ステップ７０２では、ステップ７０１にて受けた都道府県１０５と市区町村１０６を出力する。
ステップ７０３では、ステップ７０１にて受けた市区町村１０６のみを出力する。
【００２２】
図８は、番地生成部３０８の処理手順を示すフローチャートである。
図８において、まずステップ８０１にて、入力データとしてデータベース検索部３０１から番地１０７を、閲覧者キー生成部３０３から閲覧者ＩＤ第２キーと第４キーを受け取る。第２キーの値が０で第４キーの値が０ならステップ８０２に、０と１ならステップ８０３に、０と２ならステップ８０４に、０と３ならステップ８０５に、０と４ならステップ８０６に、１と０ならステップ８０７に、１と１ならステップ８０８に、１と２ならステップ８０９に、１と３ならステップ８１０に、１と４ならステップ８１１に分岐する。
ステップ８０２では、ステップ８０１にて受けた番地を数字は半角、「丁目」、「番」、「号」を使って出力する。例えば「１−２−３」を「１丁目２番３号」と出力する。
ステップ８０３では、ステップ８０１にて受けた番地を数字は半角、「丁目」を入れ、番と号は半角の「‐」で区切って出力する。例えば「１−２−３」を「１丁目２‐３」と出力する。
ステップ８０４では、ステップ８０１にて受けた番地を数字は半角、「丁目」を入れ、番と号は半角の「〜」で区切って出力する。例えば「１−２−３」を「１丁目２〜３」と出力する。
ステップ８０５では、ステップ８０１にて受けた番地を数字は半角、丁目と番と号は半角の「‐」で区切って出力する。例えば「１−２−３」を「１‐２‐３」と出力する。
ステップ８０６では、ステップ８０１にて受けた番地を数字は半角、丁目と番と号は半角の「〜」で区切って出力する。例えば「１−２−３」を「１〜２〜３」と出力する。
ステップ８０７では、ステップ８０１にて受けた番地を数字は全角、「丁目」、「番」、「号」を使って出力する。例えば「１−２−３」を「１丁目２番３号」と出力する。
ステップ８０８では、ステップ８０１にて受けた番地を数字は全角、「丁目」を入れ、番と号は全角の「―」で区切って出力する。例えば「１−２−３」を「１丁目２―３」と出力する。
ステップ８０９では、ステップ８０１にて受けた番地を数字は全角、「丁目」を入れ、番と号は全角の「〜」で区切って出力する。例えば「１−２−３」を「１丁目２〜３」と出力する。
ステップ８１０では、８０１にて受けた番地を数字は全角、丁目と番と号は全角の「―」で区切って出力する。例えば「１−２−３」を「１―２―３」と出力する。
ステップ８１１では、ステップ８０１にて受けた番地を数字は全角、丁目と番と号は全角の「〜」で区切って出力する。例えば「１−２−３」を「１〜２〜３」と出力する。
【００２３】
図９は、アパート名生成部３０９の処理手順を示すフローチャートである。
図９において、ステップ９０１にて、入力データとしてデータベース検索部３０１からアパート名１０８と号室１０９を、閲覧者キー生成部３０３から閲覧者ＩＤ第２キーと第５キーを受け取る。第２キーの値が０で第５キーの値が０ならステップ９０２に、０と１ならステップ９０３に、１と０ならステップ９０４に、１と１ならステップ９０５に分岐する。
ステップ９０２では、ステップ９０１にて受けたアパート名と号室番号を英数字は半角、「号室」を付けて出力する。例えば「品川シーサイドツインタワーのＡ３９０４号室」を「品川シーサイドツインタワーA3904号室」と出力する。
ステップ９０３では、ステップ９０１にて受けたアパート名と号室番号を英数字は半角、「号室」を付けずに出力する。例えば「品川シーサイドツインタワーのＡ３９０４号室」を「品川シーサイドツインタワーA3904」と出力する。
ステップ９０４では、ステップ９０１にて受けたアパート名と号室番号を英数字は全角、「号室」を付けて出力する。例えば「品川シーサイドツインタワーのA3904号室」を「品川シーサイドツインタワーＡ３９０４号室」と出力する。
ステップ９０５では、ステップ９０１にて受けたアパート名と号室番号を英数字は全角、「号室」を付けずに出力する。例えば「品川シーサイドツインタワーのA3904号室」を「品川シーサイドツインタワーＡ３９０４」と出力する。
【００２４】
図１０は、生年月日生成部３１０の処理手順を示すフローチャートである。
図１０において、ステップ１００１にて、入力データとしてデータベース検索部３０１から生年月日１１０を、閲覧者キー生成部３０３から閲覧者ＩＤ第２キーと第６キーを受け取る。第２キーの値が０で第６キーの値が０ならステップ１００２に、０と１ならステップ１００３に、０と２ならステップ１００４に、０と３ならステップ１００５に、０と４ならステップ１００６に、０と５ならステップ１００７に、０と６ならステップ１００８に、０と７ならステップ１００９に、１と０ならステップ１０１０に、１と１ならステップ１０１１に、１と２ならステップ１０１２に、１と３ならステップ１０１３に、１と４ならステップ１０１４に、１と５ならステップ１０１５に、１と６ならステップ１０１６に、１と７ならステップ１０１７に分岐する。
ステップ１００２では、数字は半角、西暦で、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「1957/1/23」と出力する。
ステップ１００３では、数字は半角、西暦で、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「1957年1月23日」と出力する。
ステップ１００４では、数字は半角、和暦で、元号は「大正」、「昭和」、「平成」を付け、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「昭和32/1/23」と出力する。
ステップ１００５では、数字は半角、和暦で、元号は「大正」、「昭和」、「平成」を付け、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「昭和32年1月23日」と出力する。
ステップ１００６では、数字は半角、和暦で、元号は「大」、「昭」、「平」を付け、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「昭32/1/23」と出力する。
ステップ１００７では、数字は半角、和暦で、元号は「大」、「昭」、「平」を付け、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「昭32年1月23日」と出力する。
ステップ１００８では、数字は半角、和暦で、元号は「Ｔ」、「Ｓ」、「Ｈ」を付け、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「Ｓ32/1/23」と出力する。
ステップ１００９では、数字は半角、和暦で、元号は「Ｔ」、「Ｓ」、「Ｈ」を付け、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「Ｓ32年1月23日」と出力する。
ステップ１０１０では、数字は全角、西暦で、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「１９５７／１／２３」と出力する。
ステップ１０１１では、数字は全角、西暦で、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「１９５７年１月２３日」と出力する。
ステップ１０１２では、数字は全角、和暦で、元号は「大正」、「昭和」、「平成」を付け、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「昭和３２／１／２３」と出力する。
ステップ１０１３では、数字は全角、和暦で、元号は「大正」、「昭和」、「平成」を付け、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「昭和３２年１月２３日」と出力する。
ステップ１０１４では、数字は全角、和暦で、元号は「大」、「昭」、「平」を付け、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「昭３２／１／２３」と出力する。
ステップ１０１５では、数字は全角、和暦で、元号は「大」、「昭」、「平」を付け、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「昭３２年１月２３日」と出力する。
ステップ１０１６では、数字は全角、和暦で、元号は「Ｔ」、「Ｓ」、「Ｈ」を付け、年と月と日は「／」で区切って出力する。例えば、「１９５７０１２３」は「Ｓ３２／１／２３」と出力する。
ステップ１０１７では、数字は全角、和暦で、元号は「Ｔ」、「Ｓ」、「Ｈ」を付け、年と月と日は「年」と「月」と「日」で区切って出力する。例えば、「１９５７０１２３」は「Ｓ３２年１月２３日」と出力する。
【００２５】
図１７は、偽顧客ＩＤ生成部３１１の処理手順を示すフローチャートである。
図１７において、まず、ステップ１７０１にて、乱数を生成、これと閲覧者ＩＤをビット列として連結する。
次に、ステップ１７０２にて、これをシステムの共通鍵３２１で暗号化する。暗号化の方法は本発明の本質ではないので省略する。
続くステップ１７０３にて、前記ステップ１７０２にて生成した暗号化データを数字列に変換、顧客ＩＤとして出力する。
なお、偽顧客ＩＤは、偽データマージ部３１７で出力する偽の個人情報の件数と同数生成する。
【００２６】
図１８は、偽氏名生成部３１２の処理手順を示すフローチャートである。
図１８において、ステップ１８０１にて、入力データとして偽データ生成部３１８から偽の姓１３０２とそのキー１３０１を、閲覧者キー生成部３０３から閲覧者ＩＤ第７キーを受け取る。ここで図１２のステップ１２０１に示したように、偽の姓は複数あるかもしれないので、キー１３０１を２進数表現したときの下位２ビットと閲覧者第７キーの値が一致した偽の姓を選択する。
次に、ステップ１８０２にて、入力データとして偽データ生成部３１８から偽の名１４０２とそのキー１４０１を、閲覧者キー生成部３０３から閲覧者ＩＤ第８キーを受け取る。ここで図１２のステップ１２０２に示したように、偽の名は複数あるかもしれないので、キー１４０１を２進数表現したときの下位２ビットと閲覧者第８キーの値が一致した偽の姓を選択する。
次に、ステップ２００３にて、閲覧者キー生成部３０３から閲覧者ＩＤ第１キーを受ける。ステップ１８０１で得た偽の姓とステップ１８０２で得た偽の名を組み合わせて、姓と名のペアを得る。このペアの姓と名を閲覧者ＩＤ第１キーが０なら空白なしで、１なら半角空白を入れて、２なら全角空白を入れて出力する。
なお、姓と名の組み合わせの方法は限定しない。あらゆる組み合わせをとる方法や１番目の姓と１番目の名を組み合わせ、２番目の姓と２番目の名を組み合わせるなどの方法がある。
【００２７】
図１９は、偽住所生成部３１３の処理手順を示すフローチャートである。
まず、ステップ１９０１にて、入力データとして偽データ生成部３１８から偽の住所名１５０２とそのキー１５０１と番地数１５０３を、閲覧者キー生成部３０３から閲覧者ＩＤ第９キーを受け取る。ここで図１２のステップ１２０３に示したように、偽の住所名は複数あるかもしれないので、キー１５０１を２進数表現したときの下位２ビットと閲覧者第９キーの値が一致した偽の住所名を選択する。
次に、ステップ１９０２にて、入力データとして閲覧者キー生成部３０３から閲覧者ＩＤ第２キーと同第３キーと第４キーと第１０キーを受け取る。２１０１で選択した住所ごとに、足して３２で割った余りが閲覧者ＩＤ第１０キーに等しくなる番地個数の乱数を生成して、出力する。ここで、郵便番号、都道府県名、番地の出力方法は、図６、図７、図８で説明したものに従う。
【００２８】
図２０は、偽アパート名生成部３１４の処理手順を示すフローチャートである。
まず、ステップ２００１にて、入力データとして偽データ生成部３１８から偽のアパート名１６０２とそのキー１６０１とを、閲覧者キー生成部３０３から閲覧者ＩＤ第１１キーを受け取る。
ここで図１２のステップ１２０４に示したように、偽のアパート名は複数あるかもしれないので、キー１８０１を２進数表現したときの下位２ビットと閲覧者ＩＤ第１１キーの値が一致した偽のアパート名を選択する。
次に、ステップ２００２にて、入力データとして閲覧者キー生成部３０３から閲覧者ＩＤ第２キーと同第５キーと同第１２キーを受け取る。ステップ２００１で選択したアパート名ごとに、３２で割った余りが閲覧者ＩＤ第１２キーに等しくなる乱数を号室の番号として生成して、アパートと共に出力する。ここで、アパート名がＮＵＬＬならＮＵＬＬと出力する。ここで、号室の出力方法は、図９に従う。
【００２９】
図２１は、偽生年月日生成部３１５の処理手順を示すフローチャートである。
図２１において、ステップ２１０１にて、閲覧者キー生成部３０３から閲覧者ＩＤ第１３キーを受け取る。年と月と日のあたる乱数を生成する。ここで３つの数値の和を３２で割った余りが閲覧者ＩＤ第１３キーと同じになるように生成する。生成する個数は偽データマージ部３１７で出力する偽の個人情報の件数と同数生成する。
続くステップ２１０２にて、閲覧者キー生成部３０３から閲覧者ＩＤ第２キーと同６キーを受け取る。２３０１で生成した偽の生年月日を図１０に従って出力する。
【００３０】
以上、閲覧者ＩＤ３０２に基づいて個人情報の表記形式の変え方の形態を示した。続いて、個人情報の表記形式から閲覧者ＩＤを得る方法について図２３のフローチャートを用いて説明する。
図２３において、ステップ２３０１にて、個人情報リストに顧客ＩＤがあれば、これをシステムの共通鍵３２１で復号する。復号した結果は、図４ないしは図１７に説明たとおり、顧客ＩＤ１０１ないしは乱数と閲覧者ＩＤ３０２を連結したビット列であるから、閲覧者ＩＤがわかり、本処理を終える。必要なら個人情報リストにある全ての顧客ＩＤを復号して、閲覧者ＩＤをそれぞれ確かめても良い。顧客ＩＤがない場合には、ステップ２３０２に進む。
ステップ２３０２にて、表記方法から閲覧者ＩＤのキーを得る。図５で説明したように姓と名の間の空白から第１キーが、数字表記が半角か全角かで第２キーが、図７で示したように住所の都道府県の有無で第３キーが、図８で示したように番地の表記方法で第４キーが、図９で示したようにアパート表記の「号室」の有無で第５キーが、図１０で示したように生年月日の表記で第６キーがわかる。全ての閲覧者ＩＤのハッシュ値を計算、キーが一致する閲覧者ＩＤを絞ることができる。ここで一つの閲覧者ＩＤに絞れれば、本処理を終える。
ステップ２３０３にて、個人情報リストから偽の個人情報を選び出す。偽か否かはデータベースと付き合わせることでわかる。図１８のステップ１８０１で説明したように偽の姓から第７キーが、またステップ１８０２に示ししたように偽の名から第８キーが、さらに図１９のステップ１９０１で説明したように偽の住所名から第９キーが、ステップ１９０２に示したように番地の和の３２で割った余りから第１０キーが、図２０のステップ２００１に示したように偽のアパート名から第１１キーが、ステップ２００２に示したようにアパートの偽の号室から第１２キーが、図２１のステップ２１０１に示したように偽の生年月日から第１３キーがわかる。これら新に判明した閲覧者ＩＤキーからさらに閲覧者ＩＤを絞ることができる。
【００３１】
（その他の実施形態のその１）
先の実施の形態では電話番号は含めなかったが、電話番号の表記方法を変えて閲覧者情報を埋め込むことも可能である。例えば、「０１２−３４５−６７８９」という電話番号に対して、「０１２−３４５−６７８９」、「０１２（３４５）６７８９」、「０１２―３４５―６７８９」、「０１２（３４５）６７８９」といった表記方法がある。実施の形態としては、１ビットの閲覧者ＩＤキーをもう１つ増やして、閲覧者ＩＤ第２キーの値と本キーの値に応じて、上記４つの表記方法を使えばよい。
偽データの生成方法については、図１５の偽住所データベースのフィールドにもう１つ電話の市外局番と局番（上記の例で言えば０１２−３４５）のフィールドを追加して、図１９のステップ１９０１において住所と一緒に市外局番と局番を選択する。末尾４桁（上記の例で言えば６７８９）については、０から９９９９の値をとる閲覧者ＩＤキーを新たに設けて、このキーをそのまま末尾４桁にする方法や０から９の値をとる閲覧者ＩＤキーを設けて、４桁の数の和がこのキーになるようにランダムに０から９９９９の値を生成する方法がある。
【００３２】
（その他の実施形態その２）
先の実施の形態では、閲覧者ＩＤが決まると、表記方法は各個人情報によらず、全ての個人情報について１つの表記方法を用いていたが、これに限らず、次のようにしてもよい。
すなわち、閲覧者ＩＤキーを生成する際に閲覧者ＩＤ３０２だけからキーを生成するのではなく、顧客ＩＤ１０１を含めて閲覧者ＩＤキーを生成する。具体的には、図１１のステップ１１０１において、閲覧者キー生成部３０３がデータベース検索部３０１から顧客ＩＤを受取り、顧客ＩＤと閲覧者ＩＤを連結してハッシュ値を生成する。各生成部が１件の個人情報を生成する際に、該当する個人情報ごとに閲覧者ＩＤキーを受取り、このキーに応じた表記方法に従って個人情報を出力する。
【図面の簡単な説明】
【００３３】
【図１】本発明に使用する個人情報データベースのスキーマ例を示す図である。
【図２】表記が異なる個人情報の例を示す図である。
【図３】本発明に係る情報処理システムの実施形態を示すシステム構成図である。
【図４】顧客ＩＤ生成部の処理手順を示すフローチャートである。
【図５】氏名生成部の処理手順を示すフローチャートである。
【図６】郵便番号生成部の処理手順を示すフローチャートである。
【図７】住所名生成部の処理手順を示すフローチャートである。
【図８】番地生成部の処理手順を示すフローチャートである。
【図９】アパート名生成部の処理手順を示すフローチャートである。
【図１０】生年月日生成部の処理手順を示すフローチャートである。
【図１１】閲覧者キー生成部の処理手順を示すフローチャートである。
【図１２】偽データ生成部の処理手順を示すフローチャートである。
【図１３】偽姓データベースの格納データ例を示す図である。
【図１４】偽名データベースの格納データ例を示す図である。
【図１５】偽住所データベースの格納データ例を示す図である。
【図１６】偽アパート名データベースの格納データ例を示す図である。
【図１７】偽顧客ＩＤ生成部の処理手順を示すフローチャートである。
【図１８】偽氏名生成部の処理手順を示すフローチャートである。
【図１９】偽住所生成部の処理手順を示すフローチャートである。
【図２０】偽アパート名生成部の処理手順を示すフローチャートである。
【図２１】偽生年月日生成部の処理手順を示すフローチャートである。
【図２２】全体の処理手順を示すフローチャートである。
【図２３】個人情報の表記形式から閲覧者ＩＤを特定する際の処理手順を示すフローチャートである。
【符号の説明】
【００３４】
３０１…データベース検索部、３０２…閲覧者ＩＤ、３０３…閲覧者キー生成部、３０４…顧客ＩＤ生成部、３０５…氏名生成部、３０６…郵便番号生成部、３０７…住所名生成部、３０８…番地生成部、３０９…アパート名生成部、３１０…生年月日生成部、３１１…偽顧客ＩＤ生成部、３１２…偽氏名生成部、３１３…偽住所生成部、３１４…偽アパート名生成部、３１５…偽生年月日生成部、３１６…マージ部、３１７…偽データマージ部、３１８…偽データ生成部、３１９…問合せ文、３２０…出力データ生成、３２１…共通鍵。
【図１】
2006139007.tif 000003
【図２】
2006139007.tif 000004
【図３】
2006139007.tif 000005
【図４】
2006139007.tif 000006
【図５】
2006139007.tif 000007
【図６】
2006139007.tif 000008
【図７】
2006139007.tif 000009
【図８】
2006139007.tif 000010
【図９】
2006139007.tif 000011
【図１０】
2006139007.tif 000012
【図１１】
2006139007.tif 000013
【図１２】
2006139007.tif 000014
【図１３】
2006139007.tif 000015
【図１４】
2006139007.tif 000016
【図１５】
2006139007.tif 000017
【図１６】
2006139007.tif 000018
【図１７】
2006139007.tif 000019
【図１８】
2006139007.tif 000020
【図１９】
2006139007.tif 000021
【図２０】
2006139007.tif 000022
【図２１】
2006139007.tif 000023
【図２２】
2006139007.tif 000024
【図２３】
2006139007.tif 000025