JP2011034264A - Personal information masking system - Google Patents

Personal information masking system Download PDF

Info

Publication number
JP2011034264A
JP2011034264A JP2009178690A JP2009178690A JP2011034264A JP 2011034264 A JP2011034264 A JP 2011034264A JP 2009178690 A JP2009178690 A JP 2009178690A JP 2009178690 A JP2009178690 A JP 2009178690A JP 2011034264 A JP2011034264 A JP 2011034264A
Authority
JP
Japan
Prior art keywords
character string
data
character
management table
replacement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2009178690A
Other languages
Japanese (ja)
Inventor
Michihiro Nishide
通啓 西出
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009178690A priority Critical patent/JP2011034264A/en
Publication of JP2011034264A publication Critical patent/JP2011034264A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To convert personal information into a character string from which any individual can not be specified while holding the pattern and features of the personal information. <P>SOLUTION: All the character strings of mask object personal information registered in a DB are acquired, and the patterns or features of the personal information are extracted. A character string is replaced on the basis of the patterns or features of the personal information so that following five conditions can be established. (1) Any character string from which an individual is specified does not exist in a post-mask DB. (2) All characters as the elements of the character string from which the individual is specified exist in post-mask DB. (3) When several character strings from which the individual is specified exist in the DB, only the same number of corresponding masked character strings exist in the post-mask DB. (4) When such a character as a symbol or space from which any individual is not specified and the character string or a portion of the character string exist, the same number of the masked character strings exist at the same place in the post-mask DB. (5) When the characters as the elements of the character string from which the individual is specified exist at the start position of the same character string as the masked character string in the post-mask DB. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、データベースに登録されている個人情報のパターンや特徴を保持した状態で、かつ個人を特定できないようにするマスキングシステムに関する。   The present invention relates to a masking system that retains patterns and features of personal information registered in a database and prevents an individual from being identified.

近年、個人情報漏えいが危惧される中、企業としては個人情報に対して細心の注意を払い、慎重に取り扱う必要がある。一方、企業内のコンピュータシステムは、システム開発会社に外注することが多くなされている。既存システムのリプレイスといったシステム開発の作業においては、システム開発会社は、顧客である企業から個人情報をマスクした既存システムのデータを一時的に預かってシステム開発を進める。   In recent years, there is a concern about leakage of personal information, and it is necessary for companies to pay close attention to personal information and handle it carefully. On the other hand, in-house computer systems are often outsourced to system development companies. In system development work such as replacing an existing system, a system development company temporarily proceeds with system development by temporarily storing data of an existing system masked by personal information from a company that is a customer.

一般的に個人情報のマスク方法は個人情報がどこにあるかを顧客(企業内コンピュータシステムのユーザである企業)に確認してもらい、手作業又はツールにより個人情報を含む文字の削除や「***」「XXX」といった無意味な文字列への置換、または氏名であれば「山田太郎1、山田太郎2」などの一定の取り決めた形式による一括置換をすることで個人情報の参照をできないようにする。これらのマスクを実施するために、データベースやテキストファイルなどの大量の文字情報から、どこに個人情報があるかを抽出し、その個人情報が氏名や住所を表す文字であるかを認識する手法やツールが検討され開発・利用されている。このようなマスキング処理および文字認識に関する公知技術文献としては特許文献1があげられる。   Generally, the personal information masking method asks the customer (the company that is the user of the in-house computer system) to confirm where the personal information is, and deletes characters including personal information manually or by using a tool. * "XXX" or replacement with meaningless character strings such as "XXX", or if it is a name, it is not possible to refer to personal information by batch replacement in a fixed format such as "Taro Yamada 1, Taro Yamada 2" To. To implement these masks, a method or tool that extracts where personal information exists from a large amount of character information such as a database or text file and recognizes that the personal information is a character representing a name or address Has been studied, developed and used. Patent Document 1 can be cited as a known technical document regarding such masking processing and character recognition.

特開2004−94542号公報JP 2004-94542 A

マスクは個人情報を特定できないように文字を隠すことが目的である。したがって、マスク後の個人情報をどのように変更するかについては検討されないことが多い。そのため顧客(企業内コンピュータシステムのユーザ)が変更した一定のパターンに置換した文字列や顧客からヒアリングした範囲で、システム開発会社側はデータを認知する必要がある。そのため、顧客が認知できていないデータに潜むパターンや特徴を考慮しないままシステム開発を進め、結果的にデータ移行後や顧客による運用テスト工程などの後工程に進むまで潜在化しているデータのパターンや特徴が検知できない。結果的に以下のような問題が発生する。   The purpose of the mask is to hide characters so that personal information cannot be specified. Therefore, it is often not considered how to change personal information after masking. Therefore, the system development company needs to recognize the data within the range of the character string replaced by the customer (the user of the computer system in the company) and the interview with the customer. Therefore, the system development proceeds without considering the patterns and features hidden in the data that the customer is not able to recognize, and as a result, the data patterns that are latent until the data migration or the subsequent process such as the operation test process by the customer. The feature cannot be detected. As a result, the following problems occur.

例えば、データベースに登録されている顧客の認識しているデータは次の6つの特徴を有するものと仮定する。
(1)漢字氏名は全て全角漢字(第1水準、第2水準)で登録されている。
(2)漢字氏名は同じ名前が登録されていない。
(3)漢字氏名は姓と名の間には全角1文字の空文字が登録されている。
(4)カナ氏名は全て全角カナで登録されている。
(5)カナ氏名は姓と名の間には全角1文字の空文字が登録されていない。
(6)漢字住所は全て「東京都」が省略されて登録されている。
For example, assume that customer-recognized data registered in the database has the following six characteristics.
(1) All kanji names are registered in full-width kanji (first and second levels).
(2) Kanji names are not registered with the same name.
(3) A full-pitch empty character is registered between the surname and first name for the name of the kanji.
(4) All Kana names are registered in double-byte Kana.
(5) For Kana's first name, there is no single-byte empty character registered between the last name and first name.
(6) All kanji addresses are registered with “Tokyo” omitted.

尚、顧客から預かることができたデータは、例えば1万件の漢字氏名は全て「山田 太郎1〜山田 太郎10000」に置換、カナ氏名は全て「ヤマダタロウ1〜ヤマダタロウ10000」に置換、住所は全て「XXXXX」に置換した場合を仮定する。   For example, 10,000 Kanji names are replaced with “Taro Yamada 1 to Taro Yamada 10000”, and Kana names are all replaced with “Yamada Taro 1 to Yamada Taro 10000”. Are all replaced with “XXXX”.


ここで、実際に顧客の運用していたデータベースに登録されているデータは、次のような問題を有していたと仮定する。
(1)漢字氏名は外字が一部登録されていた。
(2)漢字氏名は同じ名前が一部登録されていた。
(3)漢字氏名は姓と名の間がないもの、および全角2文字以上の空文字が一部登録されていた。
(4)カナ氏名は半角カナが混在して一部登録されていた。
(5)カナ氏名は姓と名の間には半角1文字以上の空文字が一部登録されていた。
(6)漢字住所は「東京都」から一部登録されていた。

Here, it is assumed that the data registered in the database actually operated by the customer has the following problems.
(1) Some Kanji characters have been registered.
(2) The same name was partly registered for Kanji names.
(3) Kanji names that had no last name and a surname, and some empty characters with two or more full-width characters were registered.
(4) Kana's name was partly registered with a mixture of half-width kana.
(5) In Kana's name, one or more single-byte empty characters were registered between the last name and the first name.
(6) Kanji addresses were partly registered from “Tokyo”.

これにより、例えば以下のシステム影響が運用テスト工程において発生する。
(1)漢字氏名に外字が登録されていたため帳票に正しく氏名が出力されなかった。
(2)漢字氏名を改ページ条件にして帳票を出力していたが、同じ名前が登録されていたため改ページされなかった。
(3)漢字氏名を姓と名に分割して帳票の出力する位置を姓と名の文字数により割付(例を図8に示す)していたが、正しく割付して出力できなかった。
(4)カナ氏名に半角カナが混在して登録されていたため、全角カナを半角カナに変換して帳票出力する処理で異常終了した。
(5)カナ氏名はデータベースに登録されている文字列に初めに空白が現れるまで出力する仕様であったが、姓と名の間には半角1文字以上の空文字が登録されていたため、帳票に姓のみが出力された。
(6)漢字住所は東京都が省略されてデータベースに登録されていることから、帳票に住所を出力する場合にプログラムにより「東京都」を付与して出力する仕様としていた。しかし、漢字住所が「東京都」から一部登録されていたため帳票に出力した住所が「東京都東京都・・・」と出力されるものがあった。
Thereby, for example, the following system influence occurs in the operation test process.
(1) Since the external characters were registered in the name of kanji, the name was not correctly output on the form.
(2) A form was output with the kanji name as the page break condition, but the page was not paged because the same name was registered.
(3) Kanji names were divided into surnames and surnames, and the output position of the form was assigned according to the number of characters of the surname and surname (example is shown in FIG. 8), but could not be correctly assigned and output.
(4) Since half-width kana was mixed and registered in the name of Kana, it ended abnormally in the process of converting full-width kana to half-width kana and outputting the form.
(5) Kana's name was output until the first blank appears in the character string registered in the database, but since there were more than one empty character between the last name and first name, Only the last name was output.
(6) Since Kanji addresses are registered in the database with Tokyo omitted, the specifications are such that when the address is output on a form, “Tokyo” is given by the program. However, since some kanji addresses were registered from “Tokyo”, the address output on the form was output as “Tokyo Metropolitan ...”.

上記のような問題を未然に防ぐため、設計・コーディングなどの早期段階から顧客データのパターンや特徴を意識してシステム開発が進められるように、従来のような個人情報を単につぶしてマスクする方法ではなく、データに潜むパターンや特徴を保持しつつ、かつ個人情報をマスクできる手法を検討する必要がある。   In order to prevent the above problems in advance, the conventional method of masking personal information by simply crushing it so that system development can be promoted from the early stages of design and coding in consideration of patterns and features of customer data Instead, it is necessary to consider a method that can mask personal information while retaining patterns and features hidden in the data.

本発明の目的は、データベース上に登録された情報のパターン、特徴を保持しつつ個人を特定できない文字列に変換するシステムを提供することにある。   An object of the present invention is to provide a system for converting a character string that cannot identify an individual while retaining the pattern and characteristics of information registered on a database.

上記課題を解決するために、本発明のマスキング手法では、テーブルに登録されているマスク対象とする個人情報を全て取得し、パターンや特徴を保持したまま異なる文字列に置換することにより実現する。データベースから取り出した全ての個人情報から、以下の五つの条件が成立するように置換することで実現する。   In order to solve the above-described problems, the masking method of the present invention is realized by acquiring all personal information to be masked registered in the table and replacing it with a different character string while retaining the pattern and features. This is realized by replacing all personal information extracted from the database so that the following five conditions are satisfied.

(条件1)マスク前に存在する一人の個人を特定する「文字列」は、マスク後のデータベースに存在しない状態にする。
(条件2)マスク前に存在する一人の個人を特定する「文字列」の要素となる「文字」は、マスク後のデータベースに全て存在する状態にする。
(条件3)マスク前に存在する一人の個人を特定する「文字列」がデータベースに複数個存在する場合は、マスク後のデータベースに同じ数だけ対応するマスク後の「文字列」が存在する状態にする。
(条件4)マスク前に存在する一人の個人を特定できない記号(図7に示す)やスペースなどの「文字」および「文字列」又は「文字列」の一部が存在する場合は、マスク後のデータベースに同じ場所、同じ数だけ存在する状態にする。
(条件5)マスク前に存在する一人の個人を特定する「文字列」の要素となる「文字」は、マスク後のデータベースのマスクされた「文字列」と同じ文字列の開始位置に存在する状態にする。
(Condition 1) “Character string” specifying one individual existing before masking is not present in the database after masking.
(Condition 2) All “characters” that are elements of a “character string” that identifies one individual existing before masking are in a state where they exist in the database after masking.
(Condition 3) When there are a plurality of “character strings” specifying one individual existing before masking in the database, the same number of corresponding “character strings” after masking exist in the database after masking To.
(Condition 4) If there is a “character” and a part of “character string” or “character string” such as a symbol (shown in FIG. 7) or a space that cannot identify an individual existing before masking, and after masking In the same location and the same number in the database.
(Condition 5) “Character” that is an element of “Character string” that identifies one individual existing before masking exists at the start position of the same character string as the masked “Character string” in the database after masking Put it in a state.

上記五つの条件が成立する場合に、個人情報のパターンや特徴を保持できる理由を五つの条件ごとに以下に示す。
(条件1)マスク後のデータベースにマスク前に存在する一人の個人を特定する「文字列」が存在する場合は、マスクがされていないことに直結する。そのためマスク後には完全に、その個人を特定する文字列が存在しないようにする必要がある。
(条件2)マスク前に存在する一人の個人を特定する「文字列」の要素となる「文字」を、マスク後のデータベースに全て存在させることにより、どのような「文字」が使用されているか文字特徴を全て保存することが可能になるためである。これにより発明が解決しようとする課題に示した具体例の問題(1)、(4)が解決される。
(条件3)マスク後のデータベースに同じ数だけ対応するマスク後の「文字列」を存在させることで、同じ個人を特定する情報の存在有無および出現頻度を保存することが可能になるためである。これにより発明が解決しようとする課題に示した具体例の問題(2)が解決される。
(条件4)マスク後のデータベースに同じ場所、同じ数だけ一人の個人を特定できない記号やスペースを存在させることで文字列が表すパターンや特徴を保存することが可能になるためである。これにより発明が解決しようとする課題に示した具体例の問題(3)、(5)が解決される。
(条件5)マスク後のデータベースのマスクされた「文字列」と同じ文字列の開始位置に存在させることで、マスク項目のデータパターンを保存することが可能になるためである。これにより発明が解決しようとする課題に示した具体例の問題(6)が解決される。
The reason why the personal information pattern and characteristics can be retained when the above five conditions are satisfied is shown below for each of the five conditions.
(Condition 1) If a “character string” specifying one individual existing before masking exists in the database after masking, this is directly related to the fact that masking is not performed. Therefore, it is necessary to completely prevent the character string that identifies the individual from being present after the masking.
(Condition 2) What “characters” are used by making all the “characters” that are elements of “character strings” that identify one individual existing before the mask exist in the database after masking This is because all character features can be saved. This solves the problems (1) and (4) of the specific examples shown in the problem to be solved by the invention.
(Condition 3) It is possible to store the presence / absence and appearance frequency of information specifying the same individual by having the same number of post-mask “character strings” corresponding to the post-mask database. . This solves the problem (2) of the specific example shown in the problem to be solved by the invention.
(Condition 4) This is because a pattern or feature represented by a character string can be stored by having the same place and the same number of symbols or spaces that cannot identify one individual in the database after masking. This solves the problems (3) and (5) of the specific example shown in the problem to be solved by the invention.
(Condition 5) This is because the data pattern of the mask item can be saved by making it exist at the start position of the same character string as the masked “character string” in the database after masking. This solves the problem (6) of the specific example shown in the problem to be solved by the invention.

本発明のマスキング手法によれば、次のような効果がある。
(1)既存システムをリプレイスする場合、既存システムの本番データにある個人情報を参照することなくデータのパターンや特徴を認知することができるため、システム開発の早期工程により設計考慮およびデータクリーニング必要性、データ移行方式を効率よく検討することが可能となる。
(2)個人情報を公開することなく本番の個人情報に近いテストデータを手軽に作成することが可能となる。
The masking method of the present invention has the following effects.
(1) When replacing an existing system, it is possible to recognize the pattern and characteristics of the data without referring to the personal information in the production data of the existing system, so there is a need for design consideration and data cleaning at an early stage of system development. This makes it possible to efficiently examine the data migration method.
(2) It is possible to easily create test data close to the actual personal information without disclosing the personal information.

本発明に係るマスキングシステムの実施形態を示すシステム構成図である。1 is a system configuration diagram showing an embodiment of a masking system according to the present invention. 個人情報の文字列をマスキング処理した具体例である。It is the example which masked the character string of personal information. マスキング処理に利用する各種管理テーブルの構成図である。It is a block diagram of the various management tables utilized for a masking process. マスキング処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a masking process. 文字列解析処理のフローチャートである。It is a flowchart of a character string analysis process. 文字列置換処理のフローチャートである。It is a flowchart of a character string replacement process. 個人を特定できない記号を示す文字である。It is a character indicating a symbol that cannot identify an individual. 氏名の割付を表す具体例である。It is a specific example showing allocation of a name. 入力ファイル108とパラメタ109の具体例である。This is a specific example of the input file 108 and the parameter 109.

以下、本発明を適用したオートマスキングツール(マスキング装置)の実施形態について説明する。     Hereinafter, embodiments of an auto masking tool (masking apparatus) to which the present invention is applied will be described.

図1は、本発明に係るマスキング装置の実施形態を示すシステム構成図であり、マスク処理端末101によりマスク処理ソフト102を動作させることによりマスク処理を実施する。マスク処理ソフト102は、データ読込モジュール103、データ解析モジュール104、データ置換モジュール105、データ検証モジュール106、データ出力モジュール107から構成される。データ読込モジュール103にて入力ファイル108およびパラメタ109を読み込んで、データ解析モジュール104へ渡される。ここでマスク対象となる文字列を全件読み込み、パターンや特徴を抽出する。データ解析モジュール104の解析結果を元に、データ置換モジュール105により、個人情報が特定できないように文字列置換され、データ検証モジュール106にマスク後の文字列が渡される。データ検証モジュール106では、個人情報が完全に特定できない文字列に置換されているかをチェックする。最後にマスクされた出力ファイル110がデータ出力モジュール107より出力される。ユティリティ111はデータベース112の内容をテキストファイル化するDBMSに既設されたツールを示しており、データベース112のデータがカンマ区切りによりテキストファイル化される。   FIG. 1 is a system configuration diagram showing an embodiment of a masking apparatus according to the present invention. Mask processing is performed by operating mask processing software 102 by a mask processing terminal 101. The mask processing software 102 includes a data reading module 103, a data analysis module 104, a data replacement module 105, a data verification module 106, and a data output module 107. The data reading module 103 reads the input file 108 and parameters 109 and passes them to the data analysis module 104. Here, all the character strings to be masked are read, and patterns and features are extracted. Based on the analysis result of the data analysis module 104, the data replacement module 105 performs character string replacement so that personal information cannot be specified, and the masked character string is passed to the data verification module 106. The data verification module 106 checks whether the personal information is replaced with a character string that cannot be completely specified. Finally, the masked output file 110 is output from the data output module 107. The utility 111 is a tool that is already installed in the DBMS that converts the contents of the database 112 into a text file, and the data in the database 112 is converted into a text file by comma separation.

図1のマスク処理端末101は、上述したようにマスク処理ソフト102というコンピュータプログラムを読み込んでその処理を実行するコンピュータである。データ読込モジュール103からデータ出力モジュール107までの5つのモジュールは、コンピュータプログラムの部分といえるが、CPUがそれぞれのコンピュータプログラムを読み込んで処理する状態を装置と捉えれば、図1における各モジュールは、手段又は装置とも捉えられる。したがって、図1の構成は、特許請求の範囲の表現と呼応するものである。   The mask processing terminal 101 in FIG. 1 is a computer that reads a computer program called mask processing software 102 and executes the processing as described above. The five modules from the data reading module 103 to the data output module 107 can be said to be computer program parts. However, if the CPU reads and processes each computer program as a device, each module in FIG. Or it can also be regarded as a device. Accordingly, the configuration of FIG. 1 corresponds to the claims.

図2は、個人情報の文字列をマスキング処理した具体例であり、マスク処理前の個人を特定する文字列201をマスク処理ソフトに入力すると、マスク処理後の文字列202のような文字列に置換されて個人情報がマスクされる。このマスク処理は、課題を解決するための手段にて定義した五つの条件を充足するものである。図2(a)のマスク処理前の個人を特定する文字列と、図2(b)のマスク処理後の文字列とを見比べると、空白の位置、個人を特定できない記号の位置が同一であることから課題解決手段の(条件4)を充足することが一見してわかる。他の条件である(条件1)、(条件2)、(条件3)、(条件5)についても充足したマスク処理がなされている。   FIG. 2 is a specific example in which a character string of personal information is subjected to masking processing. When a character string 201 specifying an individual before mask processing is input to mask processing software, a character string such as a character string 202 after mask processing is obtained. It is replaced and the personal information is masked. This masking process satisfies the five conditions defined by the means for solving the problem. Comparing the character string that identifies an individual before mask processing in FIG. 2A with the character string after mask processing in FIG. 2B, the position of a blank and the position of a symbol that cannot identify an individual are the same. Therefore, it can be seen at a glance that the condition solving means (condition 4) is satisfied. Mask processing that satisfies the other conditions (condition 1), (condition 2), (condition 3), and (condition 5) is also performed.

図3は、マスキング処理に利用する各種管理テーブルの構成図であり、文字列データテーブル301は、データ読込モジュール103により入力ファイル108から作成される。マスク対象とする文字列の最大長を列幅に持つテーブルであり、1文字目302には文字列の先頭1文字が保持され、2文字目303は文字列の先頭から2文字目が保持されている。同様に文字列が3文字以上ある場合は、文字列の先頭から3文字目以降が保持される構成となる。   FIG. 3 is a configuration diagram of various management tables used for the masking process. The character string data table 301 is created from the input file 108 by the data reading module 103. This is a table having the maximum length of the character string to be masked in the column width. The first character 302 holds the first character of the character string, and the second character 303 holds the second character from the beginning of the character string. ing. Similarly, when there are three or more character strings, the third and subsequent characters from the beginning of the character string are retained.

置換管理テーブル304および重複管理テーブル307は、データ解析モジュール104により作成される。置換管理テーブル304の1文字目305は文字列データテーブル301の1文字目302と対応しており、2文字目306は文字列データテーブル301の2文字目302と対応している。同様に文字列が3文字以上ある場合は、文字列データテーブル301の3文字目以降と対応している。   The replacement management table 304 and the duplication management table 307 are created by the data analysis module 104. The first character 305 of the replacement management table 304 corresponds to the first character 302 of the character string data table 301, and the second character 306 corresponds to the second character 302 of the character string data table 301. Similarly, when there are three or more character strings, this corresponds to the third and subsequent characters in the character string data table 301.

重複管理テーブル307の行308は、文字列データテーブル301の行数と対応しており、重複行309は文字列データテーブル301の重複する行番号を保存する構成となる。文字列データテーブル301は、入力ファイル108のマスク対象項目を示すパラメタ109の全てのデータと文字列の存在位置を保持する。置換管理テーブル304は、文字列データテーブル301に保持している文字の場所に一対一で対応する形式により、文字列データテーブル301の文字を置換対象とする場合は「1」が保持され、文字を置換対象としない場合は「0」が保持される。重複管理テーブル307は、文字列データテーブル301の各行に対応した個人を特定する文字列が重複する行数を保持する。図3では1行目は、3行目と5行目19行目に同じ個人を特定する人の情報が文字列データテーブル301に保持されていたことを示している。   The row 308 of the duplication management table 307 corresponds to the number of rows of the character string data table 301, and the duplicate row 309 is configured to store duplicate row numbers of the character string data table 301. The character string data table 301 holds all the data of the parameter 109 indicating the mask target item of the input file 108 and the existing position of the character string. The replacement management table 304 stores “1” when a character in the character string data table 301 is to be replaced in a format corresponding to the character location held in the character string data table 301 on a one-to-one basis. “0” is held when is not a replacement target. The duplication management table 307 holds the number of lines in which character strings that identify individuals corresponding to the respective lines of the character string data table 301 are duplicated. In FIG. 3, the first line indicates that the character string data table 301 holds information about the person who identifies the same individual in the third line and the fifth line and the 19th line.

図4は、マスキング処理の概要を示すフローチャートであり、始めに入力ファイル108を読み込む(ステップ401)。次にパラメタ109を読み込む(ステップ402)。これらの内容を元に文字列解析処理を実施する(ステップ403)。文字列解析処理の詳細は図5に示す。解析結果を元に文字列置換処理を実施する(ステップ404)。文字列置換処理の詳細は図6に示す。文字列の置換が全て完了した後、変換した文字列に同じ文字列が存在しないかチェックをして、存在すれば個人情報を全て特定できない状態となっていないため、もう一度、文字列置換処理を実施する(ステップ405、406)。このチェックにより、変換した文字列に同じ文字列が存在しない場合は、全ての個人情報がマスクされたと判断してマスク後のファイルを出力して処理を終了する(ステップ407)。   FIG. 4 is a flowchart showing an outline of the masking process. First, the input file 108 is read (step 401). Next, the parameter 109 is read (step 402). Based on these contents, character string analysis processing is performed (step 403). Details of the character string analysis processing are shown in FIG. A character string replacement process is performed based on the analysis result (step 404). Details of the character string replacement process are shown in FIG. After all the replacement of the character string is completed, check whether the same character string exists in the converted character string, and if it exists, it is not possible to specify all personal information. Implement (steps 405 and 406). If the same character string does not exist in the converted character string as a result of this check, it is determined that all personal information has been masked, the masked file is output, and the process ends (step 407).

図5は、文字列解析処理(図4のステップ403)のフローチャートである。図4のステップ401と402から得た情報(入力ファイル、パラメタ)を元に、マスク対象とする項目の文字列を全件読み込み、入力件数および文字列の最大文字長を算出した上で文字列データテーブル301を作成する(ステップ501)。そして、マスク対象とする項目の文字列を全て1文字ごとに分解して、文字列データテーブル301の対応する位置に保存する(ステップ502)。   FIG. 5 is a flowchart of the character string analysis process (step 403 in FIG. 4). Based on the information (input file, parameter) obtained from steps 401 and 402 in FIG. 4, all the character strings of the items to be masked are read, the number of input cases and the maximum character length of the character string are calculated, and the character string A data table 301 is created (step 501). Then, the character strings of the items to be masked are all decomposed for each character and stored in the corresponding positions in the character string data table 301 (step 502).

次に文字列データテーブル301の内容を元に、置換すべき対象文字の指定場所に「1」を代入し、置換すべき対象文字でない指定場所に「0」を代入して、置換管理テーブル304を作成する。置換すべき対象文字でない判断は、図7に示した記号やスペースに該当する文字であるか、又は、重複管理テーブル307の重複行に保持された行である場合であり、そうでない場合は全て置換すべき対象文字と判断する(ステップ503、504、505、506、507)。   Next, based on the contents of the character string data table 301, “1” is assigned to the designated location of the target character to be replaced, and “0” is substituted to the designated location that is not the target character to be replaced. Create Judgment that is not a target character to be replaced is a character corresponding to the symbol or space shown in FIG. 7 or a row held in a duplicate row of the duplicate management table 307. The target character to be replaced is determined (steps 503, 504, 505, 506, 507).

次に、文字列データテーブル301の内容を元に、重複した文字列があれば対応する重複行を重複管理テーブル307に追加格納する(ステップ508、509、510、511,512)。例えば、文字列データテーブル301の1行目と同じ文字列が3行目、5行目、19行目に存在している場合は、重複管理テーブル307の行308が「1」の値に対して、重複行309に「3、5、19」の数値を保存する。重複した文字列がなければ、文字列データテーブル301の行に対応する重複管理テーブル307の重複行309に「0」を格納する(ステップ513)。   Next, based on the contents of the character string data table 301, if there is a duplicate character string, the corresponding duplicate row is additionally stored in the duplicate management table 307 (steps 508, 509, 510, 511, 512). For example, when the same character string as the first line of the character string data table 301 exists in the third line, the fifth line, and the 19th line, the line 308 of the duplication management table 307 corresponds to the value “1”. Thus, the numerical values “3, 5, 19” are stored in the duplicate row 309. If there is no duplicate character string, “0” is stored in the duplicate row 309 of the duplicate management table 307 corresponding to the row of the character string data table 301 (step 513).

図6は、文字列置換処理(図4のステップ404)のフローチャートである。置換管理テーブル304から値を読み込み「1」である場合は置換対象であるため、対応する文字列データテーブル301のセルとランダムに取得した行に対応する文字列データテーブル301のセルを置換する。尚、置換管理テーブル304の1行目に「1」が存在し、かつ2行目以降が全て「0」である場合は、置換対象が存在しないことになるため、処理を終了させる(ステップ601、602、603)。   FIG. 6 is a flowchart of the character string replacement process (step 404 in FIG. 4). When the value is read from the replacement management table 304 and is “1”, it is a replacement target, and therefore the cell of the corresponding character string data table 301 and the cell of the character string data table 301 corresponding to the randomly acquired row are replaced. If “1” exists in the first row of the replacement management table 304 and all the second and subsequent rows are “0”, the replacement target does not exist, and the process is terminated (step 601). 602, 603).

ランダムに取得した行とは、置換管理テーブル304の行数と異なる数値で、かつ「1」〜「置換管理テーブル304の最大行」までの数値を乱数により取得したものである。これにより算出された行数の置換管理テーブル304のセルの値が「0」であれば置換対象としない文字列であるため、乱数を再取得して算出した重複管理テーブル307のセルの値が「1」であれば置換する。   The randomly acquired rows are numerical values different from the number of rows in the replacement management table 304, and numerical values from “1” to “maximum rows in the replacement management table 304” are acquired by random numbers. If the cell value in the replacement management table 304 for the number of rows calculated in this way is “0”, it is a character string that is not subject to replacement. Therefore, the cell value in the duplication management table 307 calculated by re-acquiring random numbers is obtained. If “1”, replace.

次に、置換したセルに対応する置換管理テーブル304の値に「0」を代入する(ステップ604)。これは既に置換が完了したことを示すためである。置換管理テーブル304から値を読み込み「0」である場合は、置換対象ではないため置換管理テーブル304から次のデータを読み込む(ステップ605)。置換管理テーブル304の値が全て「0」になったら、重複管理テーブル307の値に対応する行に文字列データテーブル301の値を全ての重複行309に保持されている行に代入する(ステップ607)。置換管理テーブル304の値が全て「0」にならない場合は、ステップ602に戻り処理を続行する。   Next, “0” is substituted into the value of the replacement management table 304 corresponding to the replaced cell (step 604). This is to indicate that the replacement has already been completed. If the value is read from the replacement management table 304 and is “0”, the next data is read from the replacement management table 304 because it is not a replacement target (step 605). When all the values in the replacement management table 304 become “0”, the values in the character string data table 301 are assigned to the rows held in all the duplicate rows 309 in the rows corresponding to the values in the duplicate management table 307 (step 607). If all the values in the replacement management table 304 are not “0”, the process returns to step 602 to continue the processing.

図7は、個人を特定できない記号を示す文字であり、これらに該当する文字がマスク対象に存在する場合は置換しない。   FIG. 7 shows characters indicating symbols that cannot identify an individual. If characters corresponding to these symbols exist in the mask target, they are not replaced.

図8は、氏名の割付を表す具体例であり、例えば1行目にある姓が1文字、名が1文字であれば「割付」に示すように空白6個を間に入れて帳票に出力する。これにより漢字氏名の開始位置と終了位置が整頓された形式となる。   FIG. 8 is a specific example showing the assignment of names. For example, if the last name on the first line is 1 character and the name is 1 character, then it is output on a form with 6 blanks in between as shown in “assignment”. To do. As a result, the start position and end position of the name of the Chinese character are arranged in order.

図9は、入力ファイル108、パラメタ109の具体例であり、入力ファイル108はデータベース112の内容がカンマ区切りでテキストファイル化されたものである。パラメタ109はカンマ区切りのテキストファイルのどの位置にある項目をマスク対象とするかを数値で指定している。この例では、2項目をマスク対象として指定している。   FIG. 9 is a specific example of the input file 108 and the parameter 109. The input file 108 is a text file in which the contents of the database 112 are separated by commas. The parameter 109 designates numerically the position at which the item in the comma-delimited text file is to be masked. In this example, two items are designated as mask targets.

データベースに登録された情報のパターン、特徴を保持しつつ個人を特定できない文字列に変換して、システム開発会社に預けて、システム開発をする場合にテストデータとしての利用価値が高い。   It has high utility value as test data when it is converted to a character string that cannot identify an individual while retaining the pattern and characteristics of information registered in the database, and is stored in a system development company for system development.

101 マスク処理端末
102 マスク処理ソフト
103 データ読込モジュール
104 データ解析モジュール
105 データ置換モジュール
106 データ検証モジュール
107 データ出力モジュール
108 入力ファイル
109 パラメタ
110 出力ファイル
111 ユティリティ
112 データベース
201 マスク処理前の個人を特定する文字列
202 マスク処理後の文字列
301 文字列データテーブル
302 文字列データテーブルの1文字目
303 文字列データテーブルの2文字目
304 置換管理テーブル
305 置換管理テーブルの1文字目
306 置換管理テーブルの2文字目
307 重複管理テーブル
308 重複管理テーブルの行
309 重複管理テーブルの重複行
DESCRIPTION OF SYMBOLS 101 Mask processing terminal 102 Mask processing software 103 Data reading module 104 Data analysis module 105 Data replacement module 106 Data verification module 107 Data output module 108 Input file 109 Parameter 110 Output file 111 Utility 112 Database 201 Character which specifies the individual before mask processing Column 202 Character string 301 after mask processing Character string data table 302 First character of character string data table 303 Second character of character string data table 304 Replacement management table 305 First character of replacement management table 306 Two characters of replacement management table Item 307 Duplicate management table 308 Duplicate management table row 309 Duplicate management table duplicate row

Claims (2)

既存システムのデータベースに登録されている個人情報を含む文字列を、システム開発に用いるテストデータとしてはそれと同等の価値を有するが、個人を特定できない文字列に変換するマスキングシステムであって、
入力ファイル及びマスク対象項目を示すパラメタを読み込むデータ読込装置と、
該データ読込装置が読み込んだマスク対象となる文字列を解析してパターンや特徴を抽出する文字列解析装置と、
該文字列解析装置による解析結果に基づいてマスク対象となる前記文字列を個人情報が特定できない文字列に置換する文字列置換装置と、
該文字列置換装置が置換したマスク後の文字列が、個人情報を特定できない情報に完全に置換されているか否かを検証するデータ検証装置と、
該データ検証装置による検証がなされたマスク後の文字列のデータを出力ファイルとして出力するデータ出力装置
とを有するマスキングシステム。
A masking system that converts a character string including personal information registered in a database of an existing system into a character string that has the same value as test data used for system development but cannot identify an individual,
A data reading device for reading parameters indicating input files and mask target items;
A character string analysis device that analyzes a character string to be masked read by the data reading device and extracts patterns and features;
A character string replacing device that replaces the character string to be masked with a character string whose personal information cannot be identified based on an analysis result by the character string analyzing device;
A data verification device that verifies whether or not the character string after masking replaced by the character string replacement device is completely replaced with information that cannot identify personal information;
A data output device that outputs data of a character string after masking verified by the data verification device as an output file.
請求項1に記載したマスキングシステムであって、
前記文字列解析装置は、
前記データ読込装置が読み込んだ入力情報の件数、最大文字長を算出して、該入力情報を格納すべき文字列データテーブルを作成する文字列データテーブル作成手段と、
該文字列データテーブル作成手段が作成した文字列データテーブルに前記入力情報を格納する入力情報格納手段と、
いずれの文字を置換し、いずれの文字を置換しないかを管理する置換管理テーブルを作成する置換管理テーブル作成手段と、
重複する行数を保持、管理する重複管理テーブルを作成する重複管理テーブル作成手段と
を有し、
前記文字列置換装置は、
前記置換管理テーブル作成手段が作成した前記置換管理テーブルから値を読み込む値読込手段と、
該値読込手段が読み込んだ値が1のときに前記置換管理テーブルに対応する前記文字列データテーブルのセルと、ランダムに取得した行に対応する前記文字列データテーブルのセルとを置換する置換手段と、
該置換手段が置換したセルに対応する前記置換管理テーブルに0を代入する0代入手段と、
前記置換管理テーブルの値がすべて0になったときに、前記重複管理テーブルを参照し、その値に対応する行に文字列データテーブルの値を代入する重複行置換手段と
を有することを特徴とするマスキングシステム。
A masking system according to claim 1,
The character string analyzer is
The number of input information read by the data reading device, the maximum character length is calculated, a character string data table creating means for creating a character string data table to store the input information,
Input information storage means for storing the input information in the character string data table created by the character string data table creation means;
A replacement management table creating means for creating a replacement management table for managing which character is replaced and which is not replaced;
A duplicate management table creation means for creating a duplicate management table for holding and managing the number of duplicate rows, and
The character string replacement device includes:
Value reading means for reading values from the replacement management table created by the replacement management table creating means;
Replacement means for replacing a cell of the character string data table corresponding to the replacement management table with a cell of the character string data table corresponding to a randomly acquired row when the value read by the value reading means is 1 When,
0 substitution means for assigning 0 to the replacement management table corresponding to the cell replaced by the replacement means;
Duplicate row replacement means for referring to the duplicate management table when the values of the replacement management table all become 0 and substituting the value of the character string data table into the row corresponding to the value. Masking system to do.
JP2009178690A 2009-07-31 2009-07-31 Personal information masking system Withdrawn JP2011034264A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009178690A JP2011034264A (en) 2009-07-31 2009-07-31 Personal information masking system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009178690A JP2011034264A (en) 2009-07-31 2009-07-31 Personal information masking system

Publications (1)

Publication Number Publication Date
JP2011034264A true JP2011034264A (en) 2011-02-17

Family

ID=43763288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009178690A Withdrawn JP2011034264A (en) 2009-07-31 2009-07-31 Personal information masking system

Country Status (1)

Country Link
JP (1) JP2011034264A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013105274A (en) * 2011-11-11 2013-05-30 Nippon Telegr & Teleph Corp <Ntt> Character string conversion device, character string conversion method, and character string conversion program
JP2013196269A (en) * 2012-03-19 2013-09-30 Hitachi Systems Ltd Test data generation system and test data generation device
JP2013246547A (en) * 2012-05-24 2013-12-09 Nomura Research Institute Ltd Data conversion device
CN105635040A (en) * 2014-10-27 2016-06-01 阿里巴巴集团控股有限公司 Validation method, device and system
US9754129B2 (en) 2015-01-05 2017-09-05 Fujitsu Limited Data securing device, recording medium, and data securing method
JPWO2019073912A1 (en) * 2017-10-13 2020-10-22 日本電信電話株式会社 Pseudo data generator, its method, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013105274A (en) * 2011-11-11 2013-05-30 Nippon Telegr & Teleph Corp <Ntt> Character string conversion device, character string conversion method, and character string conversion program
JP2013196269A (en) * 2012-03-19 2013-09-30 Hitachi Systems Ltd Test data generation system and test data generation device
JP2013246547A (en) * 2012-05-24 2013-12-09 Nomura Research Institute Ltd Data conversion device
CN105635040A (en) * 2014-10-27 2016-06-01 阿里巴巴集团控股有限公司 Validation method, device and system
CN105635040B (en) * 2014-10-27 2018-12-28 阿里巴巴集团控股有限公司 A kind of verification method, equipment and system
US9754129B2 (en) 2015-01-05 2017-09-05 Fujitsu Limited Data securing device, recording medium, and data securing method
JPWO2019073912A1 (en) * 2017-10-13 2020-10-22 日本電信電話株式会社 Pseudo data generator, its method, and program

Similar Documents

Publication Publication Date Title
CN107590115B (en) Automatic Word report generation method and device
JP2011034264A (en) Personal information masking system
US9690788B2 (en) File type recognition analysis method and system
JP5420099B1 (en) Personal information detection apparatus and computer program
US20190362102A1 (en) Techniques for masking electronic data
CN110704880B (en) Correlation method of engineering drawings
CN111949550B (en) Method, device, equipment and storage medium for automatically generating test data
JP5651050B2 (en) Data generation apparatus and data generation program
TW201843607A (en) File management server and file management method
JP4477531B2 (en) Data import method and data import apparatus
US20070038660A1 (en) Support apparatus and computer-readable storage medium
US7065484B2 (en) Method and systems for screening Chinese address data
CN105243022B (en) The performance data analysis method and device of host application software system
CN110321271B (en) Method, device, equipment and storage medium for acquiring abnormal information based on Monkey
TWM547135U (en) File management server
US10891332B2 (en) Instrumentation diagram data generation device, instrumentation diagram search system, and computer readable medium
JP2008269166A (en) Customer information management device
JP2008009825A (en) Test support device and test support method
CN117971819B (en) Management method and system for automatically collecting stream data
JP5167202B2 (en) Name identification processing method and name identification processing system of data by Kana name, and program therefor
JP2009134662A (en) Performance test data construction tool
JP2009093405A (en) System, method and computer program for data retrieval
JP2008165661A (en) Business form output device and business processing apparatus
JP2006293891A (en) Property conversion apparatus
JP6699433B2 (en) Data management program, device, and method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20121002