(57)【要約】【課題】個人情報を項目毎に分割するだけでなく、漢字とその漢字の読みとの整合性の取れた形で氏名等の名称について文字単位に処理を施し個人情報の秘匿性を高める個人情報秘匿装置を提供する。【解決手段】入力データを構成する名前を漢字毎に分割し、分割したそれぞれの漢字の読みを名前読みから分割し、分割したそれぞれの漢字及び当該漢字に対応する読みから１以上取り出し、取り出した漢字及び読みを組み合せて新たに名前及び名前読みを生成し、生成した名前及び名前読みで入力データの名前及び名前読みを置き換えているので、入力データの漢字及び読みを使用しており入力データのデータ特性を保持しつつ、個人情報を秘匿した出力データを得ることができる。【選択図】図１
2007108356.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも漢字からなる文字列である名前を含み、当該名前に対する読みからなる文字列である名前読みを含む個人情報を入力データとし、当該入力データの名称を文字単位で分割し、分割した文字単位の漢字に対応するように名前読みを分割し、分割した漢字と対応する読みを関連付ける漢字読み分割手段と、
複数の分割した漢字とそれに対応する読みから分割した漢字とそれに対応する読みをランダムに１以上取り出し組み合せて漢字からなる文字列及び当該漢字からなる文字列に対応する読みを関連付けてそれぞれ名前及び名前読みとして生成する名前組成手段と、
入力データ中の名前を漢字読み組成手段で生成した名前で置き換えると共に、入力データ中の名前読みを漢字読み組成手段で生成した名前に関連付いた名前読みで置き換えて出力する手段とを備える個人情報秘匿装置。
【請求項２】
文字単位の漢字と当該漢字に対する読みからなる辞書データを記録する辞書データ記憶手段をさらに備え、
前記漢字読み分割手段が、分離した文字単位の漢字に基づき辞書データを参照して当該漢字に対する読みを読み出し、名前読みが読み出した読みを含んでいる場合に名前読みを該当読みで名前読みを分割し、
前記漢字読み分割手段により名称読みが分割された場合に分割された漢字に対応する分割された名称読みが辞書データに未登録の場合に、辞書データに当該名称読みを漢字に関連付けて登録する手段を備える
前記請求項１に記載の個人情報秘匿装置。
【請求項３】
文字単位の漢字、当該漢字に対する読み、参照回数からなる辞書データを記録する辞書データ記憶手段をさらに備え、
前記漢字読み分割手段が、分離した文字単位の漢字に基づき辞書データを参照して当該漢字に対する読みを読み出し、名前読みが読み出した読みを含んでいる場合に名前読みを該当読みで名前読みを分割し、
前記辞書データが分割に係った漢字及び当該漢字に対する読みに対応する参照回数を更新する手段を備え、
前記名前組成手段が生成した名前を構成する漢字毎の読みを当該各漢字に基づき前記辞書データを参照して最も参照回数の多い読みとし、名前読みをこれら読みで置き換える手段を備える
前記請求項１に記載の個人情報秘匿装置。
【請求項４】
入力データを構成するデータ項目に対応するデータ項目のデータからなるマスタデータを記録するマスタデータ記憶手段と、
入力データを構成する名前及び名前読み以外のデータ項目のデータをマスタデータの対応するデータ項目のデータをランダムに取り出して置き換える手段とを備える
前記請求項１に記載の個人情報秘匿装置。
【請求項５】
コンピュータを、
少なくとも漢字からなる文字列である名前を含み、当該名前に対する読みからなる文字列である名前読みを含む個人情報を入力データとし、当該入力データの名称を文字単位で分割し、分割した文字単位の漢字に対応するように名前読みを分割し、分割した漢字と対応する読みを関連付ける漢字読み分割手段と、
複数の分割した漢字とそれに対応する読みから分割した漢字とそれに対応する読みをランダムに１以上取り出し組み合せて漢字からなる文字列及び当該漢字からなる文字列に対応する読みを関連付けてそれぞれ名前及び名前読みとして生成する名前組成手段と、
入力データ中の名前を漢字読み組成手段で生成した名前で置き換えると共に、入力データ中の名前読みを漢字読み組成手段で生成した名前に関連付いた名前読みで置き換えて出力する手段として機能させるための個人情報秘匿プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報に秘匿処理を施す個人情報秘匿装置に関する。
【背景技術】
【０００２】
ＩＴ社会が急速に進展する中、公的機関において電子政府・電子自治体の構築がなされ、民間企業においても電子商取引、顧客サービスの高度化が進み、個人情報を電子的に使用する機会が増大している。このような中、個人情報の保護と利用の調和を図るため、平成１７年４月に個人情報の保護に関する法律が施行された。
【０００３】
したがって、特定利用目的の達成を逸脱した範囲での個人情報の取り扱いは原則禁止され、第三者に個人データを提供する場合には原則として本人の同意が必要となっている。
こうした状況に対応すべく、個人情報を扱う装置として、特開２００１−２６５７７１号公報に開示する個人情報管理装置がある。
【０００４】
この背景技術となる個人情報管理装置は、個人情報提供者端末装置で提供する個人情報を通信手段を介して個人情報管理センタ装置に登録し、個人情報利用者端末装置が前記個人情報を通信手段を介して取得して利用する個人情報管理装置であって、前記個人情報管理センタ装置は、個人情報を単独では特定の個人との関連づけができずに意味をなさない部分個人情報に分割した部分個人情報を前記個人情報提供者端末装置から受信する手段と、前記受信した部分個人情報に識別子を生成する識別子生成手段と、該生成した部分個人情報識別子と前記部分個人情報とを対応させて保存する部分個人情報記憶手段と、前記部分個人情報識別子を個人情報提供者端末装置に送信する手段と、前記個人情報利用者端末装置から受信した部分個人情報識別子に対応する部分個人情報を前記部分個人情報記憶手段から検索する手段と、前記検索された部分個人情報を前記個人情報提供者端末装置に送信する手段とを備えた構成である。
このように個人情報管理装置によれば、個人情報が分割された部分個人情報を記録しており、万が一外部に漏洩することがあっても当初の個人情報に構成することが困難である。
【特許文献１】特開２００１−２６５７７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記背景技術の個人情報管理装置によれば、個人情報として記憶手段に記録されるのではなく、部分個人情報として記憶手段に記録され、個人情報提供者の同意によって部分個人情報を個人情報として組成して提供することができる。
【０００６】
しかしながら、個人情報の分割方法によっては部分個人情報自体が個人情報となり、個人情報管理装置の運用が非常に難しいという課題を有する。個人情報が複数の項目からなる場合、項目毎に分割して他項目との関連がない場合であっても、無数の情報内に氏名自体が含まれていることで、本人の同意なく情報が流出することになる。例えば、ある会社の社員データベースが漏洩した場合に、各項目自体の関連性が失われていたとしても、各個人が会社の従業員であるという情報は流出していることになる。また、同様に各項目自体の関連性が失われていたとしても、あるデータ項目について全ての者が同じ値を持っている情報に関しても情報が流出していることになる。
【０００７】
本発明は、個人情報を項目毎に分割するだけでなく、漢字とその漢字の読みとの整合性の取れた形で氏名等の名称について文字単位に処理を施し個人情報の秘匿性を高める個人情報秘匿装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）  本発明に係る個人情報秘匿装置は、少なくとも漢字からなる文字列である名前を含み、当該名前に対する読みからなる文字列である名前読みを含む個人情報を入力データとし、当該入力データの名称を文字単位で分割し、分割した文字単位の漢字に対応するように名前読みを分割し、分割した漢字と対応する読みを関連付ける漢字読み分割手段と、複数の分割した漢字とそれに対応する読みから分割した漢字とそれに対応する読みをランダムに１以上取り出し組み合せて漢字からなる文字列及び当該漢字からなる文字列に対応する読みを関連付けてそれぞれ名前及び名前読みとして生成する名前組成手段と、入力データ中の名前を漢字読み組成手段で生成した名前で置き換えると共に、入力データ中の名前読みを漢字読み組成手段で生成した名前に関連付いた名前読みで置き換えて出力する手段とを備えるものである。
【０００９】
（２）  本発明に係る個人情報秘匿装置は必要に応じて、文字単位の漢字と当該漢字に対する読みからなる辞書データを記録する辞書データ記憶手段をさらに備え、前記漢字読み分割手段が、分離した文字単位の漢字に基づき辞書データを参照して当該漢字に対する読みを読み出し、名前読みが読み出した読みを含んでいる場合に名前読みを該当読みで名前読みを分割し、前記漢字読み分割手段により名称読みが分割された場合に分割された漢字に対応する分割された名称読みが辞書データに未登録の場合に、辞書データに当該名称読みを漢字に関連付けて登録する手段を備えるものである。
【００１０】
（３）  本発明に係る個人情報秘匿装置は必要に応じて、文字単位の漢字、当該漢字に対する読み、参照回数からなる辞書データを記録する辞書データ記憶手段をさらに備え、
前記漢字読み分割手段が、分離した文字単位の漢字に基づき辞書データを参照して当該漢字に対する読みを読み出し、名前読みが読み出した読みを含んでいる場合に名前読みを該当読みで名前読みを分割し、前記辞書データが分割に係った漢字及び当該漢字に対する読みに対応する参照回数を更新する手段を備え、前記名前組成手段が生成した名前を構成する漢字毎の読みを当該各漢字に基づき前記辞書データを参照して最も参照回数の多い読みとし、名前読みをこれら読みで置き換える手段を備えるものである。
【００１１】
（４）  本発明に係る個人情報秘匿装置は必要に応じて、入力データを構成するデータ項目に対応するデータ項目のデータからなるマスタデータを記録するマスタデータ記憶手段と、入力データを構成する名前及び名前読み以外のデータ項目のデータをマスタデータの対応するデータ項目のデータをランダムに取り出して置き換える手段とを備えるものである。
【００１２】
（５）  本発明に係る個人情報秘匿プログラムは、コンピュータを、少なくとも漢字からなる文字列である名前を含み、当該名前に対する読みからなる文字列である名前読みを含む個人情報を入力データとし、当該入力データの名称を文字単位で分割し、分割した文字単位の漢字に対応するように名前読みを分割し、分割した漢字と対応する読みを関連付ける漢字読み分割手段と、複数の分割した漢字とそれに対応する読みから分割した漢字とそれに対応する読みをランダムに１以上取り出し組み合せて漢字からなる文字列及び当該漢字からなる文字列に対応する読みを関連付けてそれぞれ名前及び名前読みとして生成する名前組成手段と、入力データ中の名前を漢字読み組成手段で生成した名前で置き換えると共に、入力データ中の名前読みを漢字読み組成手段で生成した名前に関連付いた名前読みで置き換えて出力する手段として機能させるためのものである。
これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【発明を実施するための最良の形態】
【００１３】
ここで、本発明は多くの異なる形態で実施可能である。したがって、下記の実施形態の記載内容のみで解釈すべきではない。また、実施形態の全体を通して同じ要素には同じ符号を付けている。
実施形態では、主に装置について説明するが、所謂当業者であれば明らかな通り、本発明はコンピュータで使用可能なプログラム、システム、方法としても実施できる。また、本発明は、ハードウェア、ソフトウェア、または、ソフトウェア及びハードウェアの実施形態で実施可能である。プログラムは、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光記憶装置または磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。
【００１４】
［１．発明の概要］
図１は本発明の実施形態に係る個人情報秘匿装置のデータフロー図である。
・漢字読み分割手段が、入力データ中のデータ項目「氏名」とデータ項目「読み」を適切に分割し、漢字１文字とその漢字の読みとを対応させる。読みを決定する場合に必要に応じて辞書データを参照する。
・漢字読み分割手段が、新たな漢字が対象となれば読みと共に辞書データに登録する。
・漢字読み分割手段が、漢字は既に登録済みであるが読みが登録されていない場合、その新たな読みを既に登録されている漢字に対応づけて登録する。
・漢字読み分割手段が、漢字及び読みが既に登録済みである場合、その漢字及び読みの参照回数を更新する。
・名称組成手段が、入力データ中のデータ項目「氏名」について、一の氏名の漢字１文字を他の一の氏名の漢字１文字に置き換えて新たな氏名を生成する。
・名称組成手段が、生成した氏名が入力データ中の氏名と同一でないか否かをチェックし、同一でない場合にだけこの氏名を採用する。
・名称組成手段が、新たに生成した氏名について２文字の場合、２文字目の漢字の読みを辞書データに登録している該当漢字の参照回数から決定する。
・レコード生成手段が、入力データのデータ項目について、一の入力データのデータ項目のデータをマスタデータの一の入力データのデータ項目のデータで置き換える。この置き換えを指定されたデータ項目について全ての入力データに実施する。
・レコード生成手段が、置き換えた入力データと全ての置き換え前の入力データとを比較し、同一でないか否かをチェックし、同値でない場合にだけこの入力データを採用する。
【００１５】
入力データとは秘匿処理を施す対象となる個人情報である。
データ項目とは入力データを構成する属性である。
マスタデータとは予め装置に入力データのデータ項目のデータと置き換えるためのデータである。
利用者は設定ファイル（レイアウト定義情報）を用いて入力データのどのデータ項目をマスク対象とするかしないかを指定することができる。
【００１６】
［２．ハードウェア構成図］
図２は本実施形態に係る個人情報秘匿装置のハードウェア構成図である。個人情報秘匿装置は、個人情報秘匿プログラムをコンピュータにインストールし、個人情報秘匿プログラムをメインメモリに読み出すことにより例えば構成される。この場合のコンピュータ１０のハードウェアの構成は、一般のコンピュータの構成であり、ＣＰＵ(Central Processing Unit)１１、ＤＲＡＭ(Dynamic Random Access Memory)１２等のメインメモリ、外部記憶装置であるＨＤ(hard disk)１３、表示装置であるディスプレイ１４、入力装置であるキーボード１５及びマウス１６、ネットワークに接続するための拡張カードであるＬＡＮカード１７、ＣＤ−ＲＯＭドライブ１８等からなる。
【００１７】
［３．データ構成図］
図３は本実施形態に係る個人情報秘匿装置で使用するデータ説明図である。図３（ａ）は辞書データ、図３（ｂ）は地域に関するマスタデータ、図３（ｃ）は会社に関するマスタデータ、図３（ｄ）は会社の組織に関するマスタデータ、図３（ｅ）は入力データ、図３（ｆ）は設定データである。ここで、示す各データの構成は一例であり、所謂当業者であれば適宜設計変更が可能である。
【００１８】
辞書データは、漢字、読み、参照回数の属性を有する。
マスタデータは、入力データのマスタ項目に応じて用意する必要がある。本実施形態では、地域に関するマスタデータ、会社に関するマスタデータ、会社の組織に関するマスタデータを用意して用いた。地域に関するマスタデータは、都道府県、都道府県（読み）、市区町村、市区町村（読み）、郵便番号、市外局番の属性を有する。会社に関するマスタデータは、会社名、会社名（読み）の属性を有する。会社の組織に関するマスタデータは、事業部名、事業部名（読み）の属性を有する。なお、姓に関するマスタデータは個人情報秘匿装置により生成される。
【００１９】
入力データは、対象とする個人情報により異なる。一例として、入力データは、姓、読み（姓（読み）に同じ）、都道府県、市区町村、郵便番号、カード番号、会社名、部署名、性別の属性を有する。
【００２０】
設定データは、データ項目名、マスク項目指定、指定フラグの属性を有する。データ項目名は、入力データのデータ項目と一致する。指定フラグは、値「Ｙ」が入っている場合にはマスク処理の対象とすべきデータ項目であることを示し、値が入っていない場合にはマスク処理の対象ではないデータ項目であることを示す。マスク項目指定は、マスク処理の内容である。マスク項目指定にマスタデータのデータ項目名が入っていればかかるマスタデータのデータ項目でマスク処理を行う。マスク項目指定に「＄」で始まる文字列が入っている場合には、かかる文字列で処理指定可能なマスク処理を行う。「＄ｎ」で該当文字に何も処理をしないことを意味し、「＄ｄ」で該当文字に１０進数乱数でマスク処理することを意味する。
【００２１】
［４．具体的データを用いた説明］
図４ないし図６は本実施形態に係る個人情報秘匿装置による具体的データを用いた説明図である。
図３（ｆ）の設定ファイルで、データ項目名「姓」、「読み」の行はどちらも指定フラグが「Ｙ」であり、且つ、マスクデータ中に姓、姓（読み）のデータ項目がないため、入力データ中姓、かなを漢字読み分割手段が処理する。
【００２２】
１レコード目の姓である「鈴池」と読みである「すずいけ」を対象として、「鈴」をキーとして辞書データを検索する（図４（ａ）参照）。辞書データに漢字「鈴」が登録されており、読み「すず」及び参照回数「１」並びに読み「りん」及び参照回数「１」を読み出す。入力データの読み「すずいけ」の１文字目及び２文字目が読み出した読みと一致するため、参照回数を１インクリメントして辞書データの該当レコードの参照回数を「２」に更新する。そして、入力データの漢字「鈴池」を「鈴」と「池」に分割し、読みも「すず」と「いけ」に分割する（図４（ｂ）参照）。分割後、入力データの２文字目の「池」をキーとして辞書データを検索する。辞書データには漢字「池」が登録されていないため、漢字「池」、読み「いけ」及び参照回数「１」を登録する。
【００２３】
２レコード目の姓である「山田」と読みである「やまだ」を対象として、「山」をキーとして辞書データを検索する（図４（ａ）参照）。辞書データに漢字「山」が登録されており、読み「やま」及び参照回数「１」並びに読み「さん」及び参照回数「１」を読み出す。入力データの読み「やまだ」の１文字目及び２文字目が読み出した読みと一致するため、参照回数１インクリメントして辞書データの該当レコードの参照回数を「２」に更新する。そして、入力データの漢字「山田」を「山」と「田」に分割し、読みも「やま」と「だ」に分割する（図４（ｂ）参照）。分割後、入力データの２文字目の「田」をキーとして辞書データを検索する。辞書データには漢字「田」は登録されているが、読みが登録されていないため、漢字「田」に対して読み「だ」及び参照回数「１」を登録する。
【００２４】
３レコード目の姓である「池中」と読みである「いけなか」を対象として、「池」をキーとして辞書データを検索する（図４（ａ）参照）。辞書データに漢字「池」が登録されており、読み「いけ」及び参照回数「２」を読み出す。入力データの読み「いけなか」の１文字目及び２文字目が読み出した読みと一致するため、参照回数を１インクリメントして辞書データの該当レコードの参照回数を「３」に更新する。そして、入力データの漢字「池中」を「池」と「中」に分割し、読みも「いけ」と「なか」に分割する（図４（ｂ）参照）。分割後、入力データの２文字目の「中」をキーとして辞書データを探索する。辞書データには漢字「中」が登録されていないため、漢字「中」、読み「なか」及び参照回数「１」を登録する。
【００２５】
入力データの漢字と読みを適切に分割した後、入力データ中の２文字目の漢字のみを乱数を発生させて該当乱数に従って１文字目の漢字と組み合せる。図４（ｂ）を３×２の配列Ｘだとすると、２文字目の漢字が入っているＸ［ｎ］［２］（ｎ＝１、２、３）に対して、１ないし３の間で乱数を発生させ、発生させた乱数に基づき２文字目の漢字を入れ替える（図４（ｃ）参照）。
【００２６】
１文字目の漢字の読みはそのまま使用し、２文字目の漢字は当該漢字をキーとして最も参照回数の多い読みを用いる。Ｘ［１］［２］は漢字「中」であり辞書データを参照すると、読み「なか」となる（図４（ｄ）参照）。Ｘ［２］［２］は漢字「池」であり辞書データを参照すると、読み「いけ」になる。Ｘ［３］［２］は漢字「田」であり辞書データを参照すると、読み「た」になる。ここでは、漢字「田」のみが読み「だ」から読み「た」となった。
これらの処理により姓に関するマスタデータが生成される。
図５に示すように、各マスタデータをそれぞれのデータ項目数に合致した配列に格納する。そして、各マスタデータの配列の配列番号を乱数により決定する。
【００２７】
入力データの１レコード目の姓のデータ項目「鈴池」は、姓に関するマスタデータの配列番号「０」に格納されている姓の要素「池田」に置き換えられる（図６（ａ）参照）。入力データの１レコード目の読みのデータ項目「すずいけ」は、姓に関するマスタデータの配列番号「０」に格納されている読みの要素「いけた」に置き換えられる（図６（ｂ）参照）。入力データの１レコード目の都道府県「東京都」は、地域に関するマスタデータの配列番号「０」に格納されている都道府県の要素「徳島県」に置き換えられる（図６（ｃ）参照）。入力データの１レコード目の市区町村「大田区蒲田」は、地域に関するマスタデータの配列番号「０」に格納されている市区町村の要素「徳島市南沖洲」に置き換えられる（図６（ｄ）参照）。入力データの１レコード目の郵便番号「１１４−０９５９」は、地域に関するマスタデータの配列番号「０」に格納されている郵便番号の要素「７７０−０８７４」に置き換えられる（図６（ｅ）参照）。入力データの１レコード目のカード番号「１２４６−３３７１」は、設定ファイルのカード番号のマスク項目「＄ｄ＄ｄ＄ｄ＄ｄ−＄ｎ＄ｎ＄ｎ＄ｎ」に従い、１番目から４番目までの数字は乱数により求まり、５番目から８番目までの数字は変わらず「５７６１−３３７１」となり、この数字に置き換えられる（図６（ｆ）参照）。入力データの１レコード目の会社名「××観光」は、会社に関するマスタデータの配列番号「０」に格納されている会社名の要素「Ｄデパート」に置き換えられる（図６（ｇ）参照）。入力データの１レコード目の部署名「管理部」は、会社の組織に関するマスタデータの配列番号「０」に格納されている部署名の要素「流通部」に置き換えられる（図６（ｈ）参照）。入力データの１レコード目の性別「男性」は、設定ファイルの性別の指定フラグが「Ｙ」でないので、置き換わらずそのままである（図６（ｉ）参照）。
以下、入力データの２レコード目、３レコード目も同様に置き換えがなされる。最終的には、図６（ｊ）の入力データが情報秘匿の処理により図６（ｋ）の出力データとなる。
【００２８】
［５．フローチャート］
本実施形態に係る個人情報秘匿装置の使用動作について図に基づき説明する。
図７は本実施形態に係る個人情報秘匿装置の漢字かな分割動作フローチャートである。ます、プロセッサ１１が対象となる入力データの姓と読みを取得する（ステップ１０１）。プロセッサ１１が入力データの姓の１文字目の漢字が辞書データ内に登録されているか否かを検索して判断する（ステップ１１１）。辞書データ内に登録されていると判断した場合には、入力データの読みが辞書データの読みと一致するか否かをプロセッサ１１が判断する（ステップ１２１）。入力データの読みと辞書データの読みとが一致すると判断した場合には、辞書データ内の該当漢字及び読みの参照回数を更新する（ステップ１２２）。次に、プロセッサ１１が入力データの姓に２文字目の漢字があるか否かを判断する（ステップ１３１）。２文字目の漢字がないと判断した場合には、終了する。２文字目の漢字があると判断した場合には、入力データの姓と読みを１文字目の漢字及び１文字目の読み並びに２文字目及び２文字目の読みとに分割する（ステップ１３２）。プロセッサが２文字目の漢字と２文字目の読みが辞書データに登録されているか否かを判断する（ステップ１４１）。漢字及び読みが登録されている場合には、プロセッサ１１が辞書データの参照回数を更新し（ステップ１４２）、終了する。漢字のみ登録されている場合には漢字に関連付けて２文字目の読みを登録して参照回数を「１」にし、漢字すら登録されていない場合には、２文字目の漢字及び２文字目の読みを登録して参照回数を「１」にする（ステップ１４３）。
【００２９】
前記ステップ１１１で辞書データ内に登録されていないと判断した場合、又は、前記ステップ１２１で読みと辞書データの読みとが一致しないと判断した場合、プロセッサ１１が入力データの姓に２文字目の漢字があるか否かを判断する（ステップ１５１）。２文字目の漢字があると判断した場合には、プロセッサ１１が入力データの姓の２文字目の漢字が辞書データ内にあるか否かを判断する（ステップ１６１）。２文字目の漢字が辞書データ内にないと判断した場合には、入力データの漢字と読みを強制的に２分割し（ステップ１６２）、終了する。強制的に２分割とは、例えば、１文字目の漢字と２文字目の漢字とを分割し、読みは１文字目の読みとそれ以降の読みとに分割し、１文字目の漢字と１文字目の読み、２文字目の漢字と１文字目以降の読みとを対応させる。この場合には、必ずしも漢字と読みとが正しいか否かを判断することができないので、辞書データへの登録はしないことが望ましい。前記ステップ１６１で２文字目の漢字が辞書データ内にあると判断した場合には、プロセッサ１１が２文字目の漢字に対応する辞書データ内での読みと入力データの読みが一致するか否かを判断する（ステップ１７１）。読みが一致しないと判断した場合には、ステップ１６２に進む。前記ステップ１７１で読みが一致すると判断した場合には、プロセッサ１１が２文字目の漢字及び２文字目の読みについて辞書データの参照回数を更新する（ステップ１７２）。プロセッサ１１が、２文字目の漢字及び２文字目の読みに基づき入力データの姓及び読みを分割する（ステップ１８１）。次に、漢字のみが登録されている場合には漢字に関連付けて１文字目の読みを登録して参照回数を「１」にし、漢字すら登録されていない場合には、１文字目の漢字及び１文字目の読みを登録して参照回数を「１」にする（ステップ１９１）。
【００３０】
なお、図７中、「○」は辞書データに漢字が登録され読みも登録されている漢字を示し、「△」は辞書データに漢字が登録され読みは登録されていない漢字を示し、「×」は辞書データに漢字すら登録されていない漢字を示す。したがって、○○は２文字の漢字を意味し、どちらの漢字も辞書データに漢字及び読みが登録されていることを示します。図７中、各記号が処理対象となった場合に最終的に到達するフローチャートの位置を示している。
以上説示した図７の漢字かな分割動作を入力データの各姓、かなに対して実施する。
【００３１】
図８は本実施形態に係る個人情報秘匿装置の組成動作フローチャートである。まず、プロセッサ１１が入力データの全ての姓、読みに対して乱数を発生させて姓の１文字目の漢字と２文字目の漢字の組み合わせを変更する（ステップ２０１）。対象とする姓について１文字目の漢字に対して２文字目の漢字を入力データの全ての姓の２文字目の漢字から乱数を用いて決定する。この他、対象とする姓について２文字目の漢字に対して１文字目の漢字を入力データの全ての姓の１文字目の漢字から乱数を用いて決定してもよい。また、対象とする姓について１文字目の漢字を入力データの全ての姓の１文字目の漢字から乱数を用いて決定し、さらに、２文字目の漢字を入力データの全ての姓の２文字目の漢字から乱数を用いて決定してもよい。
【００３２】
次に、プロセッサ１１が組成した新たな漢字は入力データの姓と同一でないか否かを判断する（ステップ２０２）。同一であると判断した場合には、ステップ２０１に戻る。同一でないと判断した場合には、新たに組成した姓を構成する漢字の読みを対象漢字に基づき辞書データを検索し最も参照回数の多い読みで置き換える（ステップ２０３）。ここで、辞書データに漢字が登録されていない場合には、現在の読みを使用する。また、乱数を用いて決定した漢字についてのみ読みを置き換えてもよいし、全ての漢字について辞書データを用いて読みを置き換えてもよい。
【００３３】
以上説示した図８の組成動作を入力データの各姓、かなに対して実施する。ここで、入力データのデータ項目の姓は、複数の姓の１文字目の漢字のグループと、複数の姓の２文字目の漢字のグループとからなると捉えることもできる。前記した［４．具体的データを用いた説明］においては、ステップ２０１の処理で乱数を用いて既に決定された２文字目の漢字を除いた複数の姓の２文字目の漢字のグループから新たに乱数を用いて２文字目の漢字を決定している。このように決定された漢字を除いた漢字のグループから新たに乱数を用いて漢字を決定してもよいが、決定された漢字を除くことなく新たに乱数を用いて漢字を決定することもできる。
【００３４】
図９は本実施形態に係る個人情報秘匿装置のレコード生成動作フローチャートである。まず、プロセッサ１１がマスタデータをメインメモリ１２に読み出す（ステップ３０１）。プロセッサ１１がマスタデータの配列を乱数により再配置する。具体的には、各マスタデータを格納した配列の配列番号（配列添字）を乱数により決定して配列を並び替えることにより再配置を行うことができる。プロセッサ１１が置換候補カウンタｉを初期化する（ステップ３２１）。例えば、ｉ＝１とする。ループに入り（ステップ３３１）、プロセッサ１１が入力データから１レコードを処理対象とする（ステップ３４１）。さらにループに入り（ステップ３５１）、プロセッサ１１が設定データを参照して対象データ項目がマスク対象であるか否かを判断する（ステップ３６１）。マスク対象であると判断した場合には、プロセッサ１１が対象データ項目は文字データ指定か否かを判断する（ステップ３７１）。文字データ指定でないと判断した場合に、対象データ項目のデータを設定データにより関連付けがなされているマスタデータ内の対応データ項目のデータで置換する（ステップ３７１）。プロセッサ１１が次のデータ項目がある場合にはかかるデータ項目を対象としてステップ３５１に戻る（ステップ３５２）。
【００３５】
前記ステップ３７１で対象データ項目が文字データ指定であると判断した場合に、定義済み処理数値データ生成処理（ステップ５００）に進む。この定義済み処理については後記する。この処理の後、プロセッサ１１が対象データ項目のデータを生成データで置換し（ステップ３９１）、ステップ３５２に進む。
【００３６】
次に、プロセッサ１１が置換した入力データと入力データとが同一であるか否かを判断する（ステップ４０１）。同一であると判断した場合には、置換した入力データを対象外とすると共に、プロセッサ１１が置換候補カウンタｉをデクリメントとする（ステップ４０２）。ここで、置換した入力データと入力データとの比較は、完全一致の構成でもよいし、部分一致の構成であってもよい。例えば、キー候補のようなレコードを一意に識別するようなデータ項目で一致している場合には、ステップ４０２に進むことが望ましい。
【００３７】
そして、プロセッサ１１が現在まで置換した入力データ数が入力データ数分生成されたか否かを判断する（ステップ４１１）。生成されたと判断した場合には終了する。生成されていないと判断した場合には、置換候補カウンタｉをインクリメントし、次の入力データのレコードがある場合にはかかるレコードを対象としてステップ３３１に戻る（ステップ３３２）。次のレコードがない場合にはステップ３１１−ステップ３３２のループを抜け、プロセッサ１１が現在まで置換した入力データ数が入力データ数分生成されたか否かを判断する（ステップ４２１）。生成されたと判断した場合には終了する。生成されていないと判断した場合には、ステップ３１１に戻る。
【００３８】
前記定義済み処理数値データ生成処理について次に説明する。図１０は本実施形態に係る個人情報秘匿装置の数値生成動作フローチャートである。まず、プロセッサ１１が入力データの対象データ項目の該当データを取得する（ステップ５０１）。プロセッサ１１が設定データのマスク項目の指定文字列（数値指定）を取得する（ステップ５１１）。ループに入り（ステップ５２１）、プロセッサ１１が指定文字列の次の２文字を取得する（ステップ５３１）。プロセッサ１１が取得した文字が“＄ｄ”であるか否かを判断する（ステップ５４１）。＄ｄであると判断した場合には、乱数にて０ないし９の数字を出力する（ステップ５４２）。“＄ｄ”でないと判断した場合には、プロセッサ１１が取得した文字が“＄ｎ”であるか否かを判断する（ステップ５５１）。“＄ｎ”であると判断した場合、“＄ｎ”と同位置にある入力データの対象データ項目のデータを出力する（ステップ５５２）。“＄ｎ”でないと判断した場合、マスク項目指定文字をそのまま出力する（ステップ５５３）。次の指定文字がない場合にはステップ５２１−ステップ５２２のループを抜け、終了する。次の指定文字がある場合にはステップ５２１に戻る。
【００３９】
［６．本実施形態の効果］
このように本発明においては、入力データに存在する姓、読みを用いて姓を構成する漢字を分離し、かかる漢字の分離に伴い読みも適切に分離し、分離した漢字から新たに姓を組成し、組成した姓に対応する読みを付与しているので、入力データ内の存在する漢字、読みをそのまま使用して組み合わせことになり、個人情報を秘匿しながら入力データのデータ特性を保持した出力データを得ることができる。また、漢字、読みの分離に伴い、辞書データを更新しているので、読みを適切に分離することができると共に、組成した漢字に適切な読みを付与することができる。姓、読み以外の入力データのデータ項目についても、必要に応じてランダムに置き換えることができ、使用者が望むテストデータを得ることができる。
【００４０】
（その他の実施形態）
［名前（姓）が３文字以上の場合］  前記第１の実施形態においては、姓が１文字及び２文字の場合について説示し、多くの姓を処理することができる。３文字の場合には、最初の２文字までを２文字からなる名前として処理し、１文字目の漢字及びその読み、２文字目の漢字及びその読みが求まる。そして、読みのうち１文字目の読み（１文字目の漢字の読み）、２文字目の読み（２文字目の漢字の読み）が決定されることで、必然的に３文字目の読みを決定することができる。ここで、１文字目の漢字及びその読み、２文字目の漢字及びその読みを必ず決定することができるわけでないために、逆に、３文字目の漢字の読みを３文字目の漢字を辞書データを用いて決定し、その後に１文字目の漢字の読み、２文字目の漢字の読みを決定する構成にすることもできる。
【００４１】
また、３文字目の漢字の場合でも参照に応じて参照回数を更新し、登録がなされていない場合には登録も行う。
３文字の漢字の姓の場合であっても、前記ステップ２０１を用いて３文字の漢字の姓を別の３文字の漢字の姓に変換することもできる。しかしながら、３文字以上の姓になると、それだけで個人を特定し得る情報ともなり得るので、３文字目以降の漢字を除外して２文字目までの漢字で姓を構成するようにすることが望ましい。ただし、３文字目以降の漢字も姓を決定する場合に選択される漢字として用いることはできる。
【００４２】
このように３文字以上の名前に本発明を適用することで、姓名全体を秘匿処理することもできる。また、姓名をスペース等の文字で区別している場合にはそれぞれ処理することで、より姓らしい新たな姓、より名らしい新たな名を生成することができる。
【００４３】
［漢字以外のひらがな、カタカナ等からなる名前への秘匿処理］  前記第１の実施形態においては、姓が漢字からなる場合について説示したが、ひらがな、カタカナ等の漢字以外の文字からなる場合には、辞書データを参照することなく読みを分割するのができ、容易に対応することができる。ただし、姓を決定する場合に選択される文字として、ひらがな、カタカナ等の漢字以外の文字を対象外とするのが望ましい。
【００４４】
姓自体でひらがな、カタカナを含むものは少ないが、名前にひらがな、かたかなを含む個人は少なからず存在する。また、会社名であれば多くの会社が存在する。
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【００４５】
［付記］  上記実施形態に関し、更に以下の付記を開示する。
（付記１）  少なくとも漢字からなる文字列である名前を含み、当該名前に対する読みからなる文字列である名前読みを含む個人情報を入力データとし、当該入力データの名称を文字単位で分割し、分割した文字単位の漢字に対応するように名前読みを分割し、分割した漢字と対応する読みを関連付ける漢字読み分割手段と、複数の分割した漢字とそれに対応する読みから分割した漢字とそれに対応する読みをランダムに１以上取り出し組み合せて漢字からなる文字列及び当該漢字からなる文字列に対応する読みを関連付けてそれぞれ名前及び名前読みとして生成する名前組成手段と、入力データ中の名前を漢字読み組成手段で生成した名前で置き換えると共に、入力データ中の名前読みを漢字読み組成手段で生成した名前に関連付いた名前読みで置き換えて出力する手段とを備える個人情報秘匿装置。
【００４６】
したがって、入力データを構成する名前を漢字毎に分割し、分割したそれぞれの漢字の読みを名前読みから分割し、分割したそれぞれの漢字及び当該漢字に対応する読みから１以上取り出し、取り出した漢字及び読みを組み合せて新たに名前及び名前読みを生成し、生成した名前及び名前読みで入力データの名前及び名前読みを置き換えているので、入力データの漢字及び読みを使用しており入力データのデータ特性を保持しつつ、個人情報を秘匿した出力データを得ることができる。
【００４７】
名前は、氏名、団体・組織・建造物などの名称、名目及び名義、並びに、事物の名称及び名を含むものである。
特に、生成した名前が入力データ中の名前と重複しないか否かをチェックし、重複する場合にはその新しい名前を採用しない構成にすることで、より確実に個人情報を秘匿することができる。
【００４８】
（付記２）  文字単位の漢字と当該漢字に対する読みからなる辞書データを記録する辞書データ記憶手段をさらに備え、前記漢字読み分割手段が、分離した文字単位の漢字に基づき辞書データを参照して当該漢字に対する読みを読み出し、名前読みが読み出した読みを含んでいる場合に名前読みを該当読みで名前読みを分割し、前記漢字読み分割手段により名称読みが分割された場合に分割された漢字に対応する分割された名称読みが辞書データに未登録の場合に、辞書データに当該名称読みを漢字に関連付けて登録する手段を備える前記付記１に記載の個人情報秘匿装置。
【００４９】
したがって、名前読みを分割する場合に辞書データを参照して分割し、分割した漢字に対応する読みが辞書データに登録されていない場合に新たに漢字に関連付けて読みを登録するので、個人情報を秘匿処理を実行する度に辞書データが更新され新たな読みが登録され、名称読みをより適切に分割することができる。
【００５０】
（付記３）  文字単位の漢字、当該漢字に対する読み、参照回数からなる辞書データを記録する辞書データ記憶手段をさらに備え、前記漢字読み分割手段が、分離した文字単位の漢字に基づき辞書データを参照して当該漢字に対する読みを読み出し、名前読みが読み出した読みを含んでいる場合に名前読みを該当読みで名前読みを分割し、前記辞書データが分割に係った漢字及び当該漢字に対する読みに対応する参照回数を更新する手段を備え、前記名前組成手段が生成した名前を構成する漢字毎の読みを当該各漢字に基づき前記辞書データを参照して最も参照回数の多い読みとし、名前読みをこれら読みで置き換える手段を備える前記付記１に記載の個人情報秘匿装置。
【００５１】
したがって、名前読みを分割する場合に辞書データを参照して分割し、分割時に使用した漢字及び対応する読みに対応する参照回数を更新し、生成した名前読みを名前を構成する漢字に対する読み毎に辞書データ内で当該漢字に対する読みのうち最も参照回数の多い読みで置き換えるので、名前読みが最も用いられる読みで構成され、名前に対する名前読みが不自然となることを改善することができる。
【００５２】
（付記４）  入力データを構成するデータ項目に対応するデータ項目のデータからなるマスタデータを記録するマスタデータ記憶手段と、入力データを構成する名前及び名前読み以外のデータ項目のデータをマスタデータの対応するデータ項目のデータをランダムに取り出して置き換える手段とを備える前記付記１に記載の個人情報秘匿装置。
【００５３】
したがって、マスタデータの対応するデータ項目のデータをランダムに取り出し、入力データのデータと置き換えるので、個人情報が対応するデータ項目のマスタデータのデータで置き換えられ、個人情報を秘匿することができる。
【００５４】
（付記５）  マスタデータの中でデータ項目間に関係を有する複数データ項目を一まとまりのデータ項目群としてマスタデータ記憶手段に記録し、マスタデータの並び変え対象のデータ項目がデータ項目群を構成する場合、データ項目群でランダムに取り出し、入力データのデータをデータ項目群のデータで一括して置き換える前記付記４に記載の個人情報秘匿装置。
【００５５】
したがって、マスタデータの対応するデータ項目をデータ項目群単位でランダムに取り出し、入力データのデータと置き換えるので、データ項目間に関係がある場合にはその関係を保持しつつ入力データのデータをマスタデータのデータで置き換えることができる。具体的には、住所が都道府県、市区町村、丁目のデータ項目からなる場合には、都道府県、市区町村、丁目のデータ項目のデータは都道府県、市区町村、丁目それぞれに取り出されるのではなく、一括して都道府県、市区町村、丁目が取り出され、「福岡県」「渋谷区」「２丁目」といったようにデータ項目間の整合性が取れていない複数データで入力データのレコードが置き換わることがない。
【００５６】
（付記６）  コンピュータを、
少なくとも漢字からなる文字列である名前を含み、当該名前に対する読みからなる文字列である名前読みを含む個人情報を入力データとし、当該入力データの名称を文字単位で分割し、分割した文字単位の漢字に対応するように名前読みを分割し、分割した漢字と対応する読みを関連付ける漢字読み分割手段と、複数の分割した漢字とそれに対応する読みから分割した漢字とそれに対応する読みをランダムに１以上取り出し組み合せて漢字からなる文字列及び当該漢字からなる文字列に対応する読みを関連付けてそれぞれ名前及び名前読みとして生成する名前組成手段と、入力データ中の名前を漢字読み組成手段で生成した名前で置き換えると共に、入力データ中の名前読みを漢字読み組成手段で生成した名前に関連付いた名前読みで置き換えて出力する手段として機能させるための個人情報秘匿プログラム。
【産業上の利用可能性】
【００５７】
本発明の個人情報秘匿装置で生成した出力データは、プログラム作成のテスト工程で実データに極めて近いテストデータとして使用することができる。すなわち、実データのデータ特性を有するテストデータを用いることができる。したがって、システム構築先で旧システムで用いていたデータを個人情報秘匿装置で秘匿処理して出力されたテストデータを用いることにより、実環境に近い形でテストを行うことができる。
【００５８】
従来、プログラマー、システムエンジニア、品質保証部員は、プログラムモジュールに合わせてテストプログラムだけでなくテストデータも作成していたが、膨大なテストデータを作成するには多くの時間を有すると共に、作成したデータが実データと乖離したテストデータとなっていることが少なくなかった。
また、個人情報をテストデータとして用いることもできるが、個人情報の管理上複数の手続きを必要とするため簡易に利用することができなかった。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態に係る個人情報秘匿装置のデータフロー図である。
【図２】本発明の実施形態に係る個人情報秘匿装置のハードウェア構成図である。
【図３】本発明の実施形態に係る個人情報秘匿装置で使用するデータ説明図である。
【図４】本発明の実施形態に係る個人情報秘匿装置による具体的データを用いた説明図である。
【図５】本発明の実施形態に係る個人情報秘匿装置による具体的データを用いた説明図である。
【図６】本発明の実施形態に係る個人情報秘匿装置による具体的データを用いた説明図である。
【図７】本発明の実施形態に係る個人情報秘匿装置の漢字かな分割動作フローチャートである。
【図８】本発明の実施形態に係る個人情報秘匿装置の組成動作フローチャートである。
【図９】本発明の実施形態に係る個人情報秘匿装置のレコード生成動作フローチャートである。
【図１０】本発明の実施形態に係る個人情報秘匿装置の数値生成動作フローチャートである。
【符号の説明】
【００６０】
１０  コンピュータ
１１  ＣＰＵ（プロセッサ）
１２  ＤＲＡＭ
１３  ＨＤ
１４  ディスプレイ
１５  キーボード
１６  マウス
１７  ＬＡＮカード
１８  ＣＤ−ＲＯＭドライブ
【図１】
2007108356.tif 000003
【図２】
2007108356.tif 000004
【図３】
2007108356.tif 000005
【図４】
2007108356.tif 000006
【図５】
2007108356.tif 000007
【図６】
2007108356.tif 000008
【図７】
2007108356.tif 000009
【図８】
2007108356.tif 000010
【図９】
2007108356.tif 000011
【図１０】
2007108356.tif 000012