JP2014194621A - Information concealing device, and information concealing method - Google Patents

Information concealing device, and information concealing method Download PDF

Info

Publication number
JP2014194621A
JP2014194621A JP2013070339A JP2013070339A JP2014194621A JP 2014194621 A JP2014194621 A JP 2014194621A JP 2013070339 A JP2013070339 A JP 2013070339A JP 2013070339 A JP2013070339 A JP 2013070339A JP 2014194621 A JP2014194621 A JP 2014194621A
Authority
JP
Japan
Prior art keywords
data
token
information
order
input
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.)
Granted
Application number
JP2013070339A
Other languages
Japanese (ja)
Other versions
JP6098294B2 (en
Inventor
Fumihiko Kozakura
文彦 小櫻
Koichi Ito
孝一 伊藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013070339A priority Critical patent/JP6098294B2/en
Publication of JP2014194621A publication Critical patent/JP2014194621A/en
Application granted granted Critical
Publication of JP6098294B2 publication Critical patent/JP6098294B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an information concealing device that securely and rapidly conceals identification information.SOLUTION: An information concealing device comprises: a first randomizer that receives input of data including identification information and outputs the input data in random order; and a token generation section that replaces the identification information in the data output from the first randomizer with a token. A token management device comprises a token generation unit and a restoration unit. The identification information is key information (field) for identifying a record managed in a database system and includes personally identifiable information such as user's personal information and ID. Therefore, information is analyzed by an external analysis system and the identification information is replaced and transmitted to the analysis system.

Description

本発明は、情報秘匿化装置、及び情報秘匿化方法に関する。   The present invention relates to an information concealment device and an information concealment method.

クラウドコンピューティングの発達に伴い、ネットワークを経由して、データベースに蓄積された識別情報を含むデータを外部の情報処理サービスへ送信して分析等を依頼することが増えている。識別情報は、利用者の個人情報やIDなど、個人を特定可能な情報を含んでいる場合があるため、情報漏洩の防止のために、外部にデータを送信する際には識別情報を秘匿化していた。   With the development of cloud computing, data including identification information accumulated in a database is transmitted to an external information processing service via a network to request analysis and the like. The identification information may contain personally identifiable information such as personal information and ID of the user. Therefore, to prevent information leakage, the identification information is concealed when data is transmitted to the outside. It was.

一方、データベースシステムの仕様によっては、蓄積されたデータを、例えば記録した日時順に出力する等、データベースの仕様に基づく特定の出現パターンを有したものが多く、単に識別情報を秘匿化するのみでは、そのデータの並び順から利用者の特定が可能になってしまう場合があった。   On the other hand, depending on the specifications of the database system, there are many that have a specific appearance pattern based on the specifications of the database, such as outputting the accumulated data in the order of the recorded date, for example, simply by concealing the identification information, In some cases, the user can be identified from the order of the data.

例えば、特定の疾病を持つ患者のデータを月例で解析する場合、喩え患者の識別情報を秘匿化したとしても、データベースへの登録順序でデータを出力した場合、データの並び順である程度の患者の特定ができてしまう場合があった。   For example, when analyzing patient data with a specific disease on a monthly basis, even if the patient identification information is concealed, if the data is output in the registration order in the database, a certain amount of patient In some cases, it could be identified.

そこで、従来のデータベースシステムにおいては、例えば、(SELECT * FROM table ORDER BY RAND())等のコマンドを使用して、蓄積データをランダムにソート処理して出力させる方法が用いられていた。   Therefore, in a conventional database system, for example, a method of sorting and outputting accumulated data at random using a command such as (SELECT * FROM table ORDER BY RAND ()) has been used.

また、利用者の識別情報を管理するトークンにより管理する方法があった。さらに、データベースにおける記憶領域内のデータ格納率を向上させる目的として、同時に扱うデータの集合を1つのまとまりで扱う方法があった(例えば、特許文献1−3等参照)。   In addition, there is a method of managing user identification information with a token for managing user identification information. Furthermore, as a purpose of improving the data storage rate in the storage area in the database, there has been a method of handling a set of simultaneously handled data as one unit (for example, see Patent Documents 1-3).

特開2005−284679号公報JP 2005-284679 A 特開2011−211593号公報JP 2011-211593 A 特開2008−276336号公報JP 2008-276336 A

しかし、上記先行技術において、ソートを使用したランダム化処理は、データのレコード数が増えると累積的に処理時間が遅くなるという問題があった。   However, in the above prior art, the randomization processing using sorting has a problem that the processing time is cumulatively delayed as the number of data records increases.

そこで、一側面では、識別情報を安全にかつ高速に秘匿化する情報秘匿化装置を提供することを目的とする。   Accordingly, an object of one aspect is to provide an information concealment device that conceals identification information safely and at high speed.

一つの案では、情報秘匿化装置は、識別情報を含むデータが入力されて、入力された前記データをランダムの順序で出力する第1のランダム化装置と、前記第1のランダム化装置から出力された前記データの前記識別情報をトークンで置換するトークン化部と、を備える。   In one plan, the information concealment device receives data including identification information, outputs the input data in a random order, and outputs the data from the first randomization device. A tokenizing unit that replaces the identification information of the generated data with a token.

一態様によれば、識別情報を安全にかつ高速に秘匿化する情報秘匿化装置を提供することができる。   According to one aspect, it is possible to provide an information concealment device that conceals identification information safely and at high speed.

システム全体構成図Overall system configuration diagram トークン化部の構成図Configuration diagram of tokenization unit トークン化部の動作フローチャートOperation flowchart of tokenizer 順序ランダム化装置のデータ入力フローチャートData input flowchart of order randomizer 順序ランダム化装置のデータ出力フローチャートData output flowchart of order randomizer 順序ランダム化装置の処理フローチャートProcess flow chart of order randomizer 識別子発番対応表Identifier number correspondence table 第1の実施形態における順序ランダム化装置の初期処理フローチャートInitial processing flowchart of the order randomizing device in the first embodiment 第1の実施形態における順序ランダム化装置のプール保存フローチャートPool saving flowchart of the order randomizing device in the first embodiment 第1の実施形態における順序ランダム化装置のプール取出しフローチャートPool take-out flowchart of the sequence randomizer in the first embodiment 第1の実施形態における仮想配列イメージ図Virtual array image diagram in the first embodiment 第2の実施形態における概要を説明する図The figure explaining the outline | summary in 2nd Embodiment 第2の実施形態におけるプール配列を説明する図The figure explaining the pool arrangement | sequence in 2nd Embodiment 第2の実施形態における順序ランダム化装置の初期処理フローチャートInitial Processing Flowchart of Order Randomizing Device in Second Embodiment 第2の実施形態における順序ランダム化装置の保存動作フローチャートFlow chart of storing operation of order randomizing device in second embodiment 第2の実施形態における順序ランダム化装置のプール取出し動作フローチャートPool take-out operation flowchart of the order randomizing device in the second embodiment 第3の実施形態における概要を説明する図The figure explaining the outline | summary in 3rd Embodiment 第3の実施形態における順序ランダム化装置の初期処理フローチャートInitial Processing Flowchart of Order Randomizing Device in Third Embodiment 第3の実施形態における順序ランダム化装置の動作フローチャートOperation flow chart of order randomizing apparatus in third embodiment 第4の実施形態におけるシステム全体構成図Overall system configuration diagram in the fourth embodiment トークン管理装置のハードウエア構成図Hardware configuration of token management device

以下、図面に基づいて本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、情報分析を行うためのシステムの全体構成の一例を説明する全体構成図である。   FIG. 1 is an overall configuration diagram illustrating an example of an overall configuration of a system for performing information analysis.

図1において、分析者は、分析者端末20を操作する。分析者端末20は、データベースシステム21に接続されており、データベースシステム21から分析対象のデータを収集する。分析者端末20は、トークン化装置1を介して分析システム22に接続されており、分析対象の情報を分析システム22に送信して、分析結果を受信する。   In FIG. 1, the analyst operates the analyst terminal 20. The analyst terminal 20 is connected to the database system 21 and collects data to be analyzed from the database system 21. The analyst terminal 20 is connected to the analysis system 22 via the tokenizing device 1, transmits information to be analyzed to the analysis system 22, and receives an analysis result.

データベースシステム21は、データベース管理システム211と記憶部212を備えている。データベース管理システム211は、データベース管理ソフトウエアによってデータベースの管理、運用を行うシステムである。データモデルとしてはリレーショナルデータベース(RDB)やオブジェクト関係データベースなどが利用され、データベース管理ソフトウエアに応じたデータ構造のデータベースが構築される。本実施形態においては、複数の情報項目(フィールド)が1件のレコードを構成するデータ構造であるRDBについて主に説明する。   The database system 21 includes a database management system 211 and a storage unit 212. The database management system 211 is a system that manages and operates a database using database management software. As the data model, a relational database (RDB), an object relation database, or the like is used, and a database having a data structure corresponding to the database management software is constructed. In the present embodiment, an RDB that is a data structure in which a plurality of information items (fields) form one record will be mainly described.

トークン管理装置1は、トークン化装置10と復元装置11とを備える。ここで、「トークン」とは、識別情報を秘匿化した情報であり、識別情報と1対1の対応が可能な情報のことをいう。識別情報は、データベースシステム21で管理しているレコードを特定するキー情報(フィールド)であり、利用者の個人情報やIDなど、個人を特定可能な情報を含んでいる場合がある。このため、外部の分析システムで情報を分析する場合、識別情報をトークンに置換して分析システム22に送信する。また、トークン化とは、識別情報をトークンに置き換える処理のことをいう。トークン化は、例えば、IDなどの文字列を特定の文字列(トークン)に置換する処理である。トークン化装置10は、「情報秘匿化装置」として、分析システム22に送信されるデータ中の識別情報をトークン化するとともに、それぞれのトークンが一意の識別情報と対応可能なように対応を記憶して管理する。復元装置11は、分析システム22によって分析された結果に含まれるトークンを元の識別情報に復元する。トークンは、トークン化装置10によって管理されており、トークンと識別情報の一意の対応によって復元される。   The token management device 1 includes a tokenization device 10 and a restoration device 11. Here, the “token” is information in which identification information is concealed, and refers to information that can have a one-to-one correspondence with the identification information. The identification information is key information (field) that identifies a record managed by the database system 21, and may include information that can identify an individual, such as a user's personal information or ID. For this reason, when information is analyzed by an external analysis system, the identification information is replaced with a token and transmitted to the analysis system 22. Further, tokenization refers to a process of replacing identification information with a token. Tokenization is a process of replacing a character string such as an ID with a specific character string (token), for example. The tokenization device 10 tokenizes the identification information in the data transmitted to the analysis system 22 as an “information concealment device”, and stores the correspondence so that each token can correspond to unique identification information. Manage. The restoration device 11 restores the token included in the result analyzed by the analysis system 22 to the original identification information. The token is managed by the tokenizing apparatus 10 and restored by a unique correspondence between the token and the identification information.

トークン管理装置1は、例えば分析者端末とLAN接続された装置によって実施がされる。トークン管理装置1は、独立の装置として構成することもできるが、例えば、トークン化装置と復元装置をそれぞれ独立させても良い。また、複数の装置によってシステムとして構成しても良い。また、ネットワーク上のWebサービスのような仮想的な装置として構成しても良い。さらには、分析者端末20上で実行されるソフトウエアとして実装しても良い。   The token management device 1 is implemented by, for example, a device connected to the analyst terminal via a LAN. Although the token management device 1 can be configured as an independent device, for example, the tokenization device and the restoration device may be independent of each other. Moreover, you may comprise as a system by several apparatus. Further, it may be configured as a virtual device such as a Web service on a network. Further, it may be implemented as software executed on the analyst terminal 20.

分析システム22は、情報の分析を行う、例えば分析者の社外の業務委託先のシステムである。分析依頼者が、自前で分析システムを構築した場合、システムの構築や維持に多大のコストが掛かってしまう。このため、分析システムの利用頻度が低く、稼働率が低いことが予想される場合には、計算機資源の有効利用の観点から、外部の分析システムを利用した方が良い。このときに、分析対象の情報をそのまま外部のシステムに預けると、情報の漏洩の危険が生じるため、分析依頼者は、データベースシステム21から収集したデータの中から、情報分析に必要最低限の情報を選択するとともに、万一情報漏洩が発生したとしても被害を少なくするために、識別情報を秘匿化したデータを分析システム22に送信する。   The analysis system 22 is a system for analyzing information, for example, a business consignee outside the analyst. When an analysis requester builds an analysis system by himself, the construction and maintenance of the system will be very expensive. For this reason, when the frequency of use of the analysis system is low and the operation rate is expected to be low, it is better to use an external analysis system from the viewpoint of effective use of computer resources. At this time, if the information to be analyzed is stored in an external system as it is, there is a risk of information leakage. Therefore, the analysis requester needs the minimum information necessary for information analysis from the data collected from the database system 21. In addition, in order to reduce damage even if information leakage occurs, data in which the identification information is concealed is transmitted to the analysis system 22.

次に、本システムにおけるデータ分析の外部委託処理の概要を、分析データ収集と、分析依頼の二つの手順として説明する。文中の()書きの数字は、図1のステップと対応している。
(分析データの収集)
Next, the outline of the outsourcing process of data analysis in this system will be described as two procedures of analysis data collection and analysis request. The numbers in parentheses in the sentence correspond to the steps in FIG.
(Analysis data collection)

データベースシステム21のデータベース管理システム211は、分析者端末20からの、SQL(Structured Query Language)やXQueryなどのクエリ(問い合わせ)に応じて(1)、記憶部212に記憶されたデータの検索などのデータベース操作を行う。データベース管理システム211はクエリへのレスポンス(応答)として検索結果等を分析者端末20に返す(2)。この一連の動作によって、分析者端末20は、分析対象となるデータの収集を行う。
(分析依頼)
The database management system 211 of the database system 21 performs a search of data stored in the storage unit 212 in response to a query (inquiry) such as SQL (Structured Query Language) or XQuery from the analyst terminal 20 (1). Perform database operations. The database management system 211 returns search results and the like to the analyst terminal 20 as a response to the query (2) (2). By this series of operations, the analyst terminal 20 collects data to be analyzed.
(Analysis request)

分析者端末20は、データベースシステム21から収集したデータを基に、分析システム22に送信する分析対象のデータをトークン管理装置1に送信する(3)。分析者端末20は、収集したデータの中で、分析に不要なレコードやフィールドを削除したり、年齢情報を年代情報(20代、30代等)に変更したりする情報の選定をしても良い。この情報の選定は、トークン化装置10で行っても良い。   Based on the data collected from the database system 21, the analyst terminal 20 transmits data to be analyzed to be transmitted to the analysis system 22 to the token management apparatus 1 (3). Even if the analyst terminal 20 selects information that deletes records or fields unnecessary for analysis or changes age information to age information (20s, 30s, etc.) in the collected data. good. This selection of information may be performed by the tokenizing apparatus 10.

トークン管理装置1は、送信された分析対象データに含まれる識別情報をトークン化して秘匿化し、分析システム22に送信する(4)。分析システム22は、送信されたデータに含まれる情報を分析して、分析結果をトークン管理装置1に送信する(5)。トークン管理装置1は、分析システム22から送信された分析結果の中で、トークンの部分を元の識別情報に復元して、分析結果を分析者端末20に送信する(6)。以上の手順にて情報分析の外部委託が実施される。   The token management device 1 tokenizes the identification information included in the transmitted analysis target data, conceals it, and transmits it to the analysis system 22 (4). The analysis system 22 analyzes information included in the transmitted data, and transmits the analysis result to the token management device 1 (5). The token management device 1 restores the token part to the original identification information in the analysis result transmitted from the analysis system 22, and transmits the analysis result to the analyst terminal 20 (6). Outsourcing of information analysis is implemented by the above procedure.

次に、図2を用いて、トークン管理装置1のトークン化装置10の構成を説明する。図2は、トークン化装置の構成の一例を説明する構成図である。   Next, the configuration of the tokenizing device 10 of the token management device 1 will be described with reference to FIG. FIG. 2 is a configuration diagram illustrating an example of the configuration of the tokenizing device.

図2において、トークン化装置10は、順序ランダム化装置101(入力データのシャッフリング)、トークン管理部102、識別子発番対応表103、順序ランダム化部104(トークンのランダム化)、及びトークン発生器105を備えている。   In FIG. 2, the tokenizer 10 includes an order randomizer 101 (shuffling of input data), a token management unit 102, an identifier numbering correspondence table 103, an order randomizer 104 (token randomization), and a token generator. 105.

順序ランダム化装置101は、入力データのシャッフリングを行う。この実施例では、入力データの中で秘匿したい情報は、識別情報としての「ID」、及び個人情報としての「年齢」であるものとする。IDと年齢は対応付けられて、一つのレコード(データセット)となっている。   The order randomizing device 101 performs shuffling of input data. In this embodiment, it is assumed that information to be kept secret in the input data is “ID” as identification information and “age” as personal information. ID and age are associated with each other to form one record (data set).

順序ランダム化装置101は、格納部1011と、乱数発生部1012と、を備える。格納部1011は、内部の記憶領域である「プール」を有し、入力データをプールに格納する。格納部1011は、所定の格納数(レコード数)の入力データをプールの格納場所に格納する。プールは、レコードを記憶する仮想の配列(テーブル)である。   The order randomizing device 101 includes a storage unit 1011 and a random number generation unit 1012. The storage unit 1011 has a “pool” which is an internal storage area, and stores input data in the pool. The storage unit 1011 stores a predetermined storage number (record number) of input data in a pool storage location. The pool is a virtual array (table) that stores records.

乱数発生部1012は、プールの格納数に応じた乱数を発生させる。例えば、格納数がn個の場合に対応して、乱数発生部1012は、0〜(n−1)のn個の範囲で乱数を発生させる。   The random number generation unit 1012 generates a random number corresponding to the number of pools stored. For example, the random number generation unit 1012 generates random numbers in a range of n from 0 to (n−1) corresponding to the case where the number of storage is n.

順序ランダム化装置101は、乱数発生部1012で発生させた乱数により、格納部1011のプールに逐次格納されたレコードを任意の順番(ランダム)に取り出す。これにより、データベースシステム21の仕様に依存しているデータの出力順序の規則性を破壊することができるため、データベースシステム21でのデータ出力時のランダム化処理が不要となり、データベースシステム21から高速にデータを出力させることができる。図2では、IDが950001、950002、950003、・・・とIDの昇順でデータが入力されているが、入力データ順序ランダム化部101から出力されるデータは、IDが、950003、950073、950029と、プールされたデータの中からランダムな順序で出力される。   The order randomizing device 101 takes out the records sequentially stored in the pool of the storage unit 1011 in an arbitrary order (random) using the random numbers generated by the random number generation unit 1012. As a result, the regularity of the data output order depending on the specifications of the database system 21 can be destroyed, so that randomization processing at the time of data output in the database system 21 is not required, and the database system 21 can be operated at high speed. Data can be output. In FIG. 2, data is input in ascending order of IDs 950001, 950002, 950003,..., But the data output from the input data order randomizing unit 101 has IDs of 950003, 950073, 950029. Are output in random order from the pooled data.

トークン管理部102は、トークン化部1021と、トークン登録部1022とを備える。トークン登録部1022は、入力されたデータのIDについて、そのIDが既に登録されているかを識別子発番対応表103に問い合わせる。識別子発番対応表103には、IDと既に発番されているトークンとが対応づけられて登録されている。識別子発番対応表103は、問い合わされたIDが既に登録済みである場合は、応答としてそのIDのトークン値をトークン登録部1022に返却する(1)。一方、問い合わされたIDの登録が無い場合には、ID未登録の応答を返却する。トークン登録部1022は、ID未登録の応答を受けると、順序ランダム化装置104に対してトークンの発番依頼をする(2)。   The token management unit 102 includes a tokenization unit 1021 and a token registration unit 1022. The token registration unit 1022 inquires the identifier number correspondence table 103 as to whether or not the ID of the input data has already been registered. In the identifier number correspondence table 103, IDs and already numbered tokens are registered in association with each other. When the inquired ID has already been registered, the identifier number correspondence table 103 returns the token value of the ID to the token registration unit 1022 as a response (1). On the other hand, when there is no registration of the inquired ID, an ID unregistered response is returned. Upon receiving the response with no ID registration, the token registration unit 1022 makes a token numbering request to the order randomizing device 104 (2).

順序ランダム化装置104は、格納部1041と、乱数発生部1042と、を備える。格納部1041及び乱数発生部1042は、順序ランダム化装置101の格納部1011及び乱数発生部1012と同様の構成であり、説明は省略する。   The order randomizing device 104 includes a storage unit 1041 and a random number generation unit 1042. The storage unit 1041 and the random number generation unit 1042 have the same configuration as the storage unit 1011 and the random number generation unit 1012 of the order randomizing device 101, and description thereof will be omitted.

順序ランダム化装置104は、トークン管理部102から発番依頼を受けると、トークン発生器105にて発番されたトークンを、順序ランダム化装置101と同様に、格納部1041のプールに入れて、乱数発生部1042によって発生された乱数により、ランダムな順序でトークンを取り出すシャッフリングを行う。   Upon receiving a numbering request from the token management unit 102, the order randomizing device 104 puts the tokens numbered by the token generator 105 into the pool of the storage unit 1041 like the order randomizing device 101, The random numbers generated by the random number generator 1042 are used for shuffling to extract tokens in a random order.

トークン発生器105は、例えばトークンを、00001、00002、00003、のようなシリアル番号として発番する。トークン発生器105は、シリアル番号を発生することにより、発番されたトークンのユニーク(重複)チェックを行う必要がなくなり、処理が高速化される。また、トークン発生器105は、発番されたトークンの番号を記録しておく必要がないため、トークン発生器105の処理負荷が軽減できる。なお、トークン発生器105で発番されるトークンに、例えばシリアル番号に特定の関数を適用させて、それをトークンとして使用しても良い。   The token generator 105 issues tokens as serial numbers such as 00001, 00002, and 00003, for example. By generating the serial number, the token generator 105 does not need to perform a unique (duplicate) check of the issued token, and the processing speed is increased. Further, since the token generator 105 does not need to record the number of the issued token, the processing load on the token generator 105 can be reduced. Note that, for example, a specific function may be applied to the serial number and the token issued by the token generator 105 may be used as a token.

発番されたトークンは、順序ランダム化装置104によって、00395、00153、00216のようにランダムな順序にされて、トークン管理部102に送信される(3)。順序ランダム化装置104により発番されたトークンがランダム化されることにより、トークン発生器105で発生させるトークンを発番するときに乱数を発生させる必要がなくなるため、発番の高速化が可能となる。   The issued tokens are arranged in a random order such as 00395, 00153, and 00196 by the order randomizer 104, and transmitted to the token management unit 102 (3). Since the tokens issued by the order randomizing device 104 are randomized, it is not necessary to generate random numbers when issuing tokens generated by the token generator 105, so that the numbering can be speeded up. Become.

トークン管理部102のトークン化部1021は、IDをトークンに置換する。また、トークン登録部1022は、送信されたトークン値を、IDと対応付けて、識別子発番対応表103に登録する(4)。トークン管理部102は、トークンと年齢をデータセットにして出力データとして出力する。   The tokenization unit 1021 of the token management unit 102 replaces the ID with a token. Further, the token registration unit 1022 registers the transmitted token value in the identifier number correspondence table 103 in association with the ID (4). The token management unit 102 sets the token and age as a data set and outputs the data as output data.

次に、識別子発番対応表103の詳細を、図7を用いて説明する。図7は、識別子発番対応表の一例である。   Next, details of the identifier number correspondence table 103 will be described with reference to FIG. FIG. 7 is an example of an identifier issue number correspondence table.

図7において、識別子発番対応表103は、識別子(ID)とトークン値とを対応づけて保存している。ここで識別子(ID)とトークン値とは、一意に対応づけられている。従って、トークン値から識別子に復元することが可能になる。なお、識別子発番対応表103は、トークン値から識別子への復元をすることが目的であるため、例えば、復元の必要がなくなった時点でトークン発生器105と識別子発番対応表103をクリアすることにより、クリア前のトークンとクリア後のトークンが同じ番号で登録されても構わない。   In FIG. 7, the identifier number correspondence table 103 stores an identifier (ID) and a token value in association with each other. Here, the identifier (ID) and the token value are uniquely associated. Therefore, it is possible to restore the identifier from the token value. Note that the identifier number correspondence table 103 is intended to restore the token value to the identifier. For example, the token generator 105 and the identifier number correspondence table 103 are cleared when the restoration is not necessary. Thus, the token before clearing and the token after clearing may be registered with the same number.

次に、図2で説明したトークン化装置10の動作を、図3のフローチャートを用いて説明する。図3は、トークン化装置10の動作の一例を説明するフローチャートである。   Next, the operation of the tokenizing apparatus 10 described in FIG. 2 will be described using the flowchart in FIG. FIG. 3 is a flowchart for explaining an example of the operation of the tokenizing apparatus 10.

図3において、トークン化装置10には、分析者端末20から、秘匿化する情報を含むデータが入力される(S100)。順序ランダム化装置101は、情報をプールに入力する(S101)。トークン管理部102は、順序ランダム化装置101から、レコード単位でデータを取り出す(S102)。取り出されたレコードは、順序ランダム化装置101によって、取り出される順序がランダム化(シャッフリング)されている。なお、ステップS101及びS102のランダム化装置101の動作詳細については、ランダム化装置104の動作詳細とともに後述する実施形態1〜実施形態3にて説明する。   In FIG. 3, data including information to be concealed is input to the tokenizing apparatus 10 from the analyst terminal 20 (S100). The order randomizing apparatus 101 inputs information to the pool (S101). The token management unit 102 retrieves data in record units from the order randomizing device 101 (S102). The extracted records are randomized (shuffled) by the order randomizing apparatus 101. Details of the operation of the randomizing device 101 in steps S101 and S102 will be described in Embodiments 1 to 3 described later together with details of the operation of the randomizing device 104.

次に、格納部1011のプールにデータがあるか否かをチェックして(S103)、もしデータが全て処理されていれば(S103でNO)、このフローチャートでの処理を終了し、データがプールに残っている場合には(S103でYES)、ID部分が識別子発番対応表103に既に存在しているか否かをチェックする(S104)。   Next, it is checked whether or not there is data in the pool of the storage unit 1011 (S103). If all the data has been processed (NO in S103), the processing in this flowchart is terminated, and the data is stored in the pool. (YES in S103), it is checked whether the ID part already exists in the identifier number correspondence table 103 (S104).

ID部分が既存の場合(S104でYES)、識別子発番対応表103は、問い合わされたIDに対してトークン値を返却し、トークン化部1021は、トークン値でID部分を置き換えて(S105)、レコード単位の情報が出力される(S106)。   When the ID part already exists (YES in S104), the identifier number correspondence table 103 returns a token value for the inquired ID, and the tokenizing unit 1021 replaces the ID part with the token value (S105). The record unit information is output (S106).

一方、ID部分が識別子発番対応表103に無い場合(S104でNO)、トークン登録部1022は、順序ランダム化装置104にトークン値を要求する(S107)。トークン発生器105は予めトークンを発生させておき、順序ランダム化装置に入力してランダム化されたトークンが準備されている(S108)、トークン登録部1022は、IDとトークンを対応づけて識別子発番対応表103に登録する(S109)。そして、トークン化部1021は、トークン値でID部分を置き換えて(S105)、レコード単位で情報が出力する(S106)。以上の処理は、順序ランダム化装置101の格納部1011のデータが無くなるまでループ処理される(S103)。   On the other hand, when the ID part is not in the identifier number correspondence table 103 (NO in S104), the token registration unit 1022 requests a token value from the order randomizing device 104 (S107). The token generator 105 generates tokens in advance, and a randomized token that is input to the order randomizer is prepared (S108). The token registration unit 1022 associates the ID with the token and generates an identifier. It registers in the number correspondence table 103 (S109). The tokenizing unit 1021 then replaces the ID part with the token value (S105), and outputs information in units of records (S106). The above processing is looped until there is no more data in the storage unit 1011 of the order randomizing device 101 (S103).

次に、図3のステップS101の情報入力処理の詳細を、図4を用いて説明する。図4は、順序ランダム化装置101及び順序ランダム化装置104のデータ入力の一例を説明するフローチャートである。なお、以下の説明で、順序ランダム化装置101及び順序ランダム化装置104に共通するものは、「順序ランダム化装置」のように符号の記載を省略している。   Next, details of the information input process in step S101 in FIG. 3 will be described with reference to FIG. FIG. 4 is a flowchart for explaining an example of data input of the order randomizing device 101 and the order randomizing device 104. In the following description, components common to the order randomizing device 101 and the order randomizing device 104 are omitted from the description like “order randomizing device”.

図4において、順序ランダム化装置は、情報の入力があると(S1011)、プールに空きがあるか否かをチェックする(S1012)。プールに空きが無い場合には(S1012でNO)、空きが出るまで情報の保存が待ち状態となる。これにより、プールは入力される情報が終了するまで、確保されたプールを常に全て使用することとなる。   In FIG. 4, when the information is input (S1011), the order randomizer checks whether there is a vacancy in the pool (S1012). If there is no vacancy in the pool (NO in S1012), information storage is waited until the vacancy is available. As a result, the pool always uses all of the reserved pool until the input information is completed.

プールに空きがあった場合(S1012でYES)、情報をプールに保存する(S1013)。   If there is a vacancy in the pool (YES in S1012), the information is stored in the pool (S1013).

次に、図3のステップS102の情報出力処理の詳細を、図5を用いて説明する。図5は、順序ランダム化装置のデータ出力の一例を説明するフローチャートである。   Next, details of the information output processing in step S102 in FIG. 3 will be described with reference to FIG. FIG. 5 is a flowchart for explaining an example of data output of the order randomizing device.

図5において、図2のトークン管理部102は、順序ランダム化装置に対して情報要求を行う(S1021)。次に、順序ランダム化装置は、プールからランダムに一つの情報を取り出して(S1022)、トークン管理部102に情報を出力する(S1023)。   In FIG. 5, the token management unit 102 in FIG. 2 makes an information request to the order randomizing device (S1021). Next, the order randomizer extracts one piece of information from the pool at random (S1022), and outputs the information to the token management unit 102 (S1023).

次に、図3で説明した、ステップ108の処理の詳細を、図6を用いて説明する。図6は、順序ランダム化装置104の処理の一例を説明するフローチャートである。   Next, details of the processing in step 108 described in FIG. 3 will be described with reference to FIG. FIG. 6 is a flowchart for explaining an example of processing of the order randomizing device 104.

図6において、順序ランダム化装置104は、トークン値の発生をトークン発生器105に要求して、トークン値を発生させる(S1081)。トークン発生器105はトークン値を発生させて、発生させたトークン値を順序ランダム化装置104に入力する(S1082)。順序ランダム化装置104のプールに空きがある場合は(S1083でYES)、順序ランダム化装置104は、続けてトークン発生器105にトークン値を発生させて、プールに空きが無くなるまで(S1083でNO)処理を繰り返す。つまり、順序ランダム化装置104は、トークン管理部102からの発番依頼がされる前にプールにトークン値を事前に準備しておく。これにより、発番依頼があってからトークン値を発番する場合に比べて、トークン値の発番からプールへの保存までのオーバーヘッドが無くなり、処理の高速化が可能になる。   In FIG. 6, the order randomizer 104 requests the token generator 105 to generate a token value and generates a token value (S1081). The token generator 105 generates a token value and inputs the generated token value to the order randomizer 104 (S1082). If there is a vacancy in the pool of the order randomizing device 104 (YES in S1083), the sequence randomizing device 104 continues generating token values in the token generator 105 until the pool is full (NO in S1083). ) Repeat the process. That is, the order randomizing device 104 prepares token values in the pool in advance before a numbering request is issued from the token management unit 102. As a result, compared with the case where the token value is issued after the numbering request is issued, the overhead from the token value numbering to the storage in the pool is eliminated, and the processing speed can be increased.

次に、図3のステップS101とステップS102で説明したプールの管理アルゴリズムについて、以下、実施形態1〜実施形態3にて詳細に説明する。   Next, the pool management algorithm described in step S101 and step S102 of FIG. 3 will be described in detail in the first to third embodiments.

順序ランダム化装置におけるプールの大きさや管理方法は、ランダム化の性能に大きく影響する。実施形態1〜実施形態3では、それぞれのプール管理アルゴリズムについてデータの入出力処理の方法が相違している。なお、ランダム化装置101とランダム化装置104は、以下のいずれの実施形態で実施しても良く、例えば、ランダム化装置101とランダム化装置104とで、同じ実施形態で実施しても良いし、それぞれ異なった実施形態で実施しても良い。
[第1の実施形態]
The size and management method of the pool in the order randomizer greatly affects randomization performance. In the first to third embodiments, the data input / output processing method is different for each pool management algorithm. The randomizing device 101 and the randomizing device 104 may be implemented in any of the following embodiments. For example, the randomizing device 101 and the randomizing device 104 may be implemented in the same embodiment. These may be implemented in different embodiments.
[First embodiment]

第1の実施形態は、格納数nのプールを用意して、入力データを格納数分入力して、格納数までを発番可能な乱数を用いることにより、格納場所からランダムの順序にデータを出力する。データを出力した格納場所は空きとなる。空きとなった格納場所は、例えば次に入力されるデータによって上書きされながら補充される。また、空きとなった格納場所を後ろのデータにて順次前詰めしても良い。乱数の発生は格納個数の範囲で行い、データベースシステムにおけるランダム化処理はしないため、処理が高速化できる。   The first embodiment prepares a pool of storage number n, inputs the input data for the storage number, and uses random numbers that can issue up to the storage number, so that data is stored in a random order from the storage location. Output. The storage location where the data is output is empty. The empty storage location is replenished while being overwritten by, for example, the next input data. In addition, the storage locations that are vacant may be sequentially padded with the subsequent data. Random numbers are generated within the range of the number of stored items and are not randomized in the database system, so the processing can be speeded up.

図8〜図11を用いて、第1の実施形態を説明する。図8は、第1の実施形態における順序ランダム化装置の初期処理の一例を説明するフローチャートである。図9は、第1の実施形態における順序ランダム化装置のプール保存の一例を説明するフローチャートである。図10は、第1の実施形態における順序ランダム化装置のプールからの取出しの一例を説明するフローチャートである。さらに、図11は、第1の実施形態における仮想配列の一例を説明するイメージ図である。   The first embodiment will be described with reference to FIGS. FIG. 8 is a flowchart for explaining an example of the initial process of the order randomizing device according to the first embodiment. FIG. 9 is a flowchart for explaining an example of pool storage of the order randomizing device according to the first embodiment. FIG. 10 is a flowchart for explaining an example of extraction from the pool of the order randomizing device according to the first embodiment. Furthermore, FIG. 11 is an image diagram for explaining an example of a virtual array in the first embodiment.

図8において、順序ランダム化装置の初期処理は、図4におけるステップS1011における初期処理である。初期処理は、データベースシステム21から新たな入力データが入力されたときに1回行われる。順序ランダム化装置は、データサイズに応じたプール(仮想配列)を確保する。本実施例では、0〜(n−1)のn個のプールを確保している(S10111)。次に、確保したプールの「格納個数」を0にセットして(S10112)、初期化処理を終了する。格納個数は、実際に情報が入力されたプールの数を計数するカウンタであり、この値を格納個数分、フルに保つように入力データを逐次入力する。   In FIG. 8, the initial processing of the order randomizer is the initial processing in step S1011 in FIG. The initial process is performed once when new input data is input from the database system 21. The order randomizer secures a pool (virtual array) according to the data size. In the present embodiment, n pools of 0 to (n-1) are secured (S10111). Next, the “storage number” of the reserved pool is set to 0 (S10112), and the initialization process is terminated. The stored number is a counter that counts the number of pools in which information is actually input, and input data is sequentially input so as to keep this value as many as the stored number.

図9において、順序ランダム化装置の入力データのプール保存は、図4におけるステップ1013の処理の詳細を説明したものである。順序ランダム化装置は、プールの空いている格納場所に入力データを格納する(S10131)。次に、格納個数に1を追加してカウンタをインクリメントして処理を終了する(S10132)。   In FIG. 9, the pooling of input data of the order randomizer describes the details of the processing in step 1013 in FIG. 4. The order randomizing device stores the input data in an empty storage location of the pool (S10131). Next, 1 is added to the stored number and the counter is incremented, and the process is terminated (S10132).

図10において、順序ランダム化装置のプール取出しは、図5におけるステップS1022の詳細を説明したものである。図2のランダム発生器105は、0〜(格納個数−1)の間の整数rを発生する乱数にて、取り出し対象の格納場所を特定する仮想配列の番号である整数rをランダムに生成する(S10221)。次に、プールのr番目に格納されているデータを取り出して、取り出された格納場所は番号が詰められて(S10222)、仮想配列の番号に抜けが無いようにする。次に格納個数に−1を追加して、カウンタをデクリメントして終了する(S10223)。   In FIG. 10, the pool removal of the order randomizer describes details of step S <b> 1022 in FIG. 5. The random generator 105 in FIG. 2 randomly generates an integer r, which is a virtual array number that specifies a storage location to be extracted, using a random number that generates an integer r between 0 and (the number of stored values-1). (S10221). Next, the data stored in the rth of the pool is extracted, and the extracted storage locations are filled with numbers (S10222) so that there are no missing virtual array numbers. Next, −1 is added to the number of stored items, the counter is decremented, and the process ends (S10223).

図11は、プールで使用される格納場所の仮想配列を説明するイメージ図である。プールには、仮想配列の番号0〜nに対応してデータが格納されている。仮想配列は同一のデータ型がメモリ上に連続して接しているとみなされる仮想的な配列であり、プログラミング上の特定のオペレータによって配列の長さを指定できる。図11では、nが指定されており、n+1個のデータ配列の場合を表している。配列の長さは生成される乱数と対応している。   FIG. 11 is an image diagram illustrating a virtual array of storage locations used in the pool. The pool stores data corresponding to the virtual array numbers 0 to n. The virtual array is a virtual array in which the same data type is considered to be continuously in contact with the memory, and the length of the array can be designated by a specific programming operator. In FIG. 11, n is designated, and the case of n + 1 data arrays is shown. The length of the array corresponds to the generated random number.

以上説明した第1の実施形態においては、格納場所に空きができると次の入力データがすぐに格納されるため、入力されるデータはプールに載せられるだけ載せられることになる。入力データのランダム化は、プールの格納個数が大きい(仮想配列が長い)程入力データの順番をランダムに並び替えるシャッフル効果が高い。しかし、大きなプールを使うには大きなメモリリソースが必要になる。このため、初期化で確保するプールの格納数は、入力されるデータサイズや情報秘匿の必要性によって適宜調整される。
[第2の実施形態]
In the first embodiment described above, since the next input data is stored immediately when the storage location is empty, the input data is only loaded on the pool. Randomization of input data has a higher shuffle effect in which the order of input data is rearranged randomly as the number of stored pools is larger (the virtual array is longer). However, using large pools requires large memory resources. For this reason, the number of pools to be secured by initialization is appropriately adjusted according to the input data size and the necessity of information concealment.
[Second Embodiment]

第1の実施形態においては、一度プールに格納されたデータは、同確率でプールから取り出されるため、先に格納されたデータほど先に取り出される確立が高くなる。つまり、取り出されるデータの順番が入力順序に依存することになる。そこで、第2の実施形態においては、プールの構造によって、第1の実施形態の課題を改善している。   In the first embodiment, since data once stored in the pool is extracted from the pool with the same probability, the probability that the data stored earlier becomes higher as the data is stored earlier. In other words, the order of data to be extracted depends on the input order. Therefore, in the second embodiment, the problem of the first embodiment is improved by the structure of the pool.

第2の実施形態の概要を図12及び図13を用いて説明する。図12は、第2の実施形態におけるプール管理の概要の一例を説明する図である。図13は、2の実施形態におけるプール配列の一例を説明する図である。   The outline of the second embodiment will be described with reference to FIGS. FIG. 12 is a diagram for explaining an example of the outline of pool management in the second embodiment. FIG. 13 is a diagram illustrating an example of a pool arrangement in the second embodiment.

図12において、順序ランダム化装置は、格納部にプール管理情報を備えている。プール管理情報には、プール配列の要素数(L)、乱数終了値、情報追加する要素番号(0〜L−1)、情報追加するカウンタ、1要素に情報追加する数、及びプールに格納する数(L以下)が記録される。要素数L個に設定されたプール配列の1要素の詳細は、重み、乱数アクセス用開始ポイント、乱数アクセス用終了ポイント、レコードを格納する仮想配列である。   In FIG. 12, the order randomizing device has pool management information in the storage unit. In the pool management information, the number of elements in the pool array (L), the random number end value, the element number to add information (0 to L-1), the counter to add information, the number to add information to one element, and the pool management information are stored in the pool. A number (L or less) is recorded. Details of one element of the pool array set to the number L of elements are virtual arrays that store weights, random number access start points, random number access end points, and records.

プール管理情報の初期設定において、プール配列の要素数(L)、1配列に情報追加する数、プールに格納する数、各要素の重みが設定される、他の項目の初期値は0又はNULLである。   In the initial setting of pool management information, the number of elements in the pool array (L), the number of information added to one array, the number stored in the pool, and the weight of each element are set. The initial values of other items are 0 or NULL It is.

図13において、この実施例ではプール配列Lは4である。すなわち、0〜4の5つの要素を備え総データ数よりここでは、上記「プールに格納する数」を4として、最後の1要素は空きとしている。例えば、配列番号0は、重み:1、格納個数:48、乱数アクセス用開始ポイント:0、…、データを格納する仮想配列(48要素)と設定される。また、配列番号1〜3も図13に図示すように設定されている。   In FIG. 13, the pool array L is 4 in this embodiment. That is, five elements of 0 to 4 are provided, and the above “number to be stored in the pool” is set to 4 from the total number of data, and the last one element is empty. For example, array number 0 is set as a virtual array (48 elements) for storing data with weight: 1, stored number: 48, random access start point: 0,. Further, SEQ ID NOs: 1 to 3 are also set as shown in FIG.

ここで、「重み」とは、各配列間において格納個数に対して、1レコードに割り当てられる乱数の数である。例えば、配列番号0では重み1であり、一つのレコードに一つの乱数が割り当てられ、一方、配列番号3では重み8であり、一つのレコードに8の乱数が割り当てられる。したがって、配列番号0では48×1=48個の乱数が割り当てられて、配列番号1では32×2=64個、配列2では21×4=84個、配列3では8×9=72個の乱数が割り当てられる。つまり、重みが低い場合には格納するレコードの個数を増やして1レコードに割り当てられている乱数の幅を狭くする一方、重みが高い場合には、逆に格納するレコードの個数を減らして1レコードに割り当てられている乱数の幅を広くしている。   Here, the “weight” is the number of random numbers assigned to one record with respect to the number stored between the arrays. For example, in array number 0, the weight is 1, and one random number is assigned to one record, while in array number 3, the weight is 8, and a random number of 8 is assigned to one record. Therefore, 48 × 1 = 48 random numbers are assigned in array number 0, 32 × 2 = 64 in array number 1, 21 × 4 = 84 in array 2, 8 × 9 = 72 in array 3 A random number is assigned. In other words, when the weight is low, the number of records to be stored is increased to narrow the range of random numbers assigned to one record, while when the weight is high, the number of records to be stored is decreased to 1 record. The range of random numbers assigned to is widened.

本実施形態においては、配列番号が後ろの要素に対して、配列番号が前の要素より重みを高く設定している。このプールの管理方法によって、格納された情報が取り出される確率を調整して、シャッフル効果を高くすることができる。   In this embodiment, the element with the array element number is set to have a higher weight than the element with the array element number before. With this pool management method, the probability that the stored information is retrieved can be adjusted to increase the shuffle effect.

この実施例では、上記の通り、発生させる乱数の個数は、48+64+84+72=268個であるため、乱数の幅は0〜267である。例えば、乱数が153であったとすると、プールから取り出されるレコードは、配列番号2の仮想配列10となる。レコードを一つ取り出した場合、取り出したレコードの後ろのレコードは順次前詰にされていく。したがって、配列番号3の要素数は9→8へと減算されることになり、次のレコードが追加されると再び要素数が9に戻ることになる。   In this embodiment, since the number of random numbers to be generated is 48 + 64 + 84 + 72 = 268 as described above, the width of the random numbers is 0 to 267. For example, if the random number is 153, the record taken out of the pool is the virtual array 10 with the array number 2. When one record is extracted, the records after the extracted record are sequentially padded. Therefore, the number of elements of array number 3 is subtracted from 9 to 8, and when the next record is added, the number of elements returns to 9 again.

次に、第2の実施形態における動作を図14〜図16のフローチャートを用いて説明する。図14は、第2の実施形態における順序ランダム化装置の初期処理の一例を説明するフローチャートである。図15は、第2の実施形態における順序ランダム化装置の保存動作の一例を説明するフローチャートである。図16は、第2の実施形態における順序ランダム化装置部のプール取出し動作の一例を説明するフローチャートである。   Next, the operation in the second embodiment will be described with reference to the flowcharts of FIGS. FIG. 14 is a flowchart illustrating an example of an initial process of the order randomizing device according to the second embodiment. FIG. 15 is a flowchart for explaining an example of the storing operation of the order randomizing device according to the second embodiment. FIG. 16 is a flowchart for explaining an example of the pool take-out operation of the order randomizing device unit in the second embodiment.

図14において、先ず、プール(仮想配列)に格納する数を仮決めする(S211)。仮決めされた格納数を基に、プールの分割数Lを決める(S212)。この分割数が図12で説明した「プール配列の要素数(L)」になる。   In FIG. 14, first, the number stored in the pool (virtual array) is provisionally determined (S211). Based on the provisionally determined storage number, the division number L of the pool is determined (S212). This number of divisions becomes the “number of elements (L) in the pool array” described in FIG.

次に、プール(仮想配列)に格納する数を決める(S213)。この数は、分割数Lを決めた上で、実際に使用する数を決めるものであり、L以下で任意に設定可能である。   Next, the number stored in the pool (virtual array) is determined (S213). This number determines the number actually used after determining the division number L, and can be arbitrarily set below L.

次に、図12で説明したプール管理情報の初期化を行う(S214)。具体的には、乱数終了値、情報追加する要素番号、及び情報追加するカウンタを0にセットする。   Next, the pool management information described with reference to FIG. 12 is initialized (S214). Specifically, the random number end value, the element number for adding information, and the counter for adding information are set to 0.

次に、プール配列の確保と初期化を行う(S215)。具体的には、「乱数アクセス用開始ポイント」、及び「乱数アクセス用終了ポイント」に0をセットする。また、「データを格納する仮想配列」は、1要素に情報追加する数の仮想配列を用意する。さらに、「重み」はプール配列の順番が大きいほど大きい値にする。図13においては1、2、4、8、16・・・を例示している。以上で、初期処理を終了する。   Next, the pool array is secured and initialized (S215). Specifically, 0 is set to the “random number access start point” and the “random number access end point”. The “virtual array for storing data” prepares as many virtual arrays as information is added to one element. Further, the “weight” is set to a larger value as the order of the pool arrangement increases. In FIG. 13, 1, 2, 4, 8, 16. This completes the initial process.

図15において、順序ランダム化装置の保存動作は、先ず、情報入力がされると(S200)、「情報追加する要素番号」から、データを格納するプール配列の要素を求める(S201)。   In FIG. 15, in the storing operation of the order randomizing device, first, when information is input (S200), an element of a pool array for storing data is obtained from “element number for adding information” (S201).

次に、その要素の「要素のデータを格納する仮想配列」の「情報追加するカウンタ」番目にデータを格納して、次の操作を行う(S202)。「情報追加するカウンタ」をインクリメントする(++)。「乱数アクセス用終了ポイント」に重みを加算代入する(+=重み)。「乱数終了値」に重みを加算代入する(+=重み)。   Next, the data is stored in the “information adding counter” position of the “virtual array storing element data” of the element, and the following operation is performed (S202). Increment "counter to add information" (++). A weight is added and substituted for “end point for random access” (+ = weight). Add and assign a weight to “random end value” (+ = weight).

次に、「情報追加するカウンタ」が「1要素に情報追加する数」になったか否かを判断し(S203)、NOである場合は本フローチャートの動作を終了する。   Next, it is determined whether or not the “information adding counter” has reached “the number of information to be added to one element” (S203). If NO, the operation of this flowchart is terminated.

ステップS203でYESの場合、情報を追加する要素がL番目のプール配列の要素であるか否かを判断し(S204)、NOである場合には、「情報追加する要素番号」をインクリメントし、追加するカウンタを0、次のプール配列の要素の「乱数アクセス用開始ポイント」と、「乱数アクセス終了ポイント」の値を求めセットする(S205)。一方、ステップS204でYESの場合には、プール配列の1番目を0番目にマージして1番目を空にし、1番目が空いた分、1つずつ前詰めして移行させ、L番目が空の状態になるようにする。   If YES in step S203, it is determined whether the element to which information is added is an element of the Lth pool array (S204). If NO, the “element number to which information is added” is incremented, The counter to be added is 0, and the values of the “random number access start point” and “random number access end point” of the next pool array element are obtained and set (S205). On the other hand, in the case of YES in step S204, the first in the pool array is merged with the 0th, the first is emptied, the first is vacant, and one is left-justified, and the Lth is To be in the state.

図16において、順序ランダム化装置部のプール取出し動作は、先ず、0〜乱数終了値の間の整数rをランダムに生成する(S221)。整数rは、例えば使用するプログラミング言語の最大値を指定した整数乱数生成関数によって得ることができる。整数rを決定する乱数は、取出しのタイミングで逐次生成する。しかし、例えば取出しのタイミングとは非同期に乱数を用意しておき、取出しのタイミングで整数rに適用しても良い。特に乱数の計算に時間が掛かる場合には、事前準備によって処理を高速化することができる。   In FIG. 16, in the pool fetching operation of the order randomizer, first, an integer r between 0 and the random number end value is randomly generated (S221). The integer r can be obtained, for example, by an integer random number generation function that specifies the maximum value of the programming language to be used. Random numbers that determine the integer r are sequentially generated at the extraction timing. However, for example, a random number may be prepared asynchronously with the extraction timing and applied to the integer r at the extraction timing. In particular, when it takes a long time to calculate a random number, the processing can be speeded up by advance preparation.

次に、プール配列の「乱数アクセス用開始ポイント」と「乱数アクセス用終了ポイント」から、整数rに対応するプール配列の要素を求める(S222)。図12及び図13で説明したとおり、整数rによって対応する配列が一意に決まることになる。   Next, an element of the pool array corresponding to the integer r is obtained from the “random number access start point” and “random number access end point” of the pool array (S222). As described with reference to FIGS. 12 and 13, the corresponding array is uniquely determined by the integer r.

次に、プール配列の要素からrに該当するレコードのデータを格納する仮想配列の格納場所を求め取出し、取り出した格納場所は後ろのレコードによって前詰めされる(S223)。前詰めのタイミングは、レコードを取り出して直ぐに行う。但し、例えば、所定数のレコードを読出してから一度に所定数分前詰めしても良い。その場合、読出しに使用される整数rについて、空のレコードが指定された場合の整数rの再指定について考慮しておく。これにより、保存と読出しの処理を非同期に行うことも可能となる。   Next, the storage location of the virtual array for storing the data of the record corresponding to r is obtained from the elements of the pool array and extracted, and the extracted storage location is left-justified by the subsequent record (S223). The timing of justifying is performed immediately after taking out the record. However, for example, a predetermined number of records may be read and a predetermined number of times may be left-aligned at a time. In that case, re-designation of the integer r when an empty record is designated for the integer r used for reading is considered. As a result, the storage and reading processes can be performed asynchronously.

次に、プール配列の要素以降の「乱数アクセス用開始ポイント」、「乱数アクセス用終了ポイント」、及び「乱数終了値」のメンテナンスを行う(S224)。レコードが前詰めされた場合、上記各設定値も前詰めに合わせて変更される。しかし、ステップS223で説明したとおり、前詰めのタイミングによっては上記メンテナンスのタイミングも変わってくる。以上で順序ランダム化装置部のプール取出し動作を終了する。
[第3の実施形態]
Next, the “random number access start point”, “random number access end point”, and “random number end value” after the elements of the pool array are maintained (S224). When the record is left-justified, the setting values are also changed according to the front-justification. However, as described in step S223, the maintenance timing varies depending on the front-packing timing. This completes the pool removal operation of the order randomizer.
[Third Embodiment]

第1の実施形態、および第2の実施形態おいては、プール配列によって入力データのシャッフリングを行ったが、例えば、データベースのレコード数が多く、レコードの登録日や更新日順に入力されるデータに対しては、実施形態1又は2における局所的な並び替えでは全体的なシャッフリングが不十分となる場合がある。そこで、第3の実施形態においては、データ全体をランダム化することにより、より高いシャッフリング効果を得ることができる。   In the first embodiment and the second embodiment, the input data is shuffled by the pool arrangement. For example, the number of records in the database is large, and the data is input in the order of record registration date and update date. On the other hand, the local shuffling in the first or second embodiment may be insufficient. Therefore, in the third embodiment, a higher shuffling effect can be obtained by randomizing the entire data.

第3の実施形態を、図17〜図19によって説明する。図17は、第3の実施形態における概要を説明する図である。図18は、第3の実施形態における順序ランダム化装置の初期処理の一例を説明するフローチャートである。図19は、第3の実施形態における順序ランダム化装置の動作の一例を説明するフローチャートである。   A third embodiment will be described with reference to FIGS. FIG. 17 is a diagram for explaining an overview in the third embodiment. FIG. 18 is a flowchart for explaining an example of initial processing of the order randomizing device in the third embodiment. FIG. 19 is a flowchart for explaining an example of the operation of the order randomizing device in the third embodiment.

図17において、順序ランダム化装置のプールは、n個のテーブルを有する2次記憶装置に接続されている。プールに入力された全入力データは、n個のテーブルにランダムに全て分配されて記憶される。それぞれのテーブルに記憶されたデータは、各テーブル毎にランダムに指定されて読出されて出力データとなる。   In FIG. 17, the pool of order randomizers is connected to a secondary storage device having n tables. All input data input to the pool is randomly distributed and stored in n tables. The data stored in each table is specified and read at random for each table and becomes output data.

図18において、順序ランダム化装置の初期処理は、先ず、プールの内部を複数に分割して、テーブル用キャッシュを作れる数をnとする(S310)。プールは2次記憶とのデータのキャッシュで使用するだけなので、容量についてはキャッシュとして十分であれば良い。それぞれのキャッシュは2次記憶の入出力キャッシュとして使用される。   In FIG. 18, in the initial processing of the order randomizer, first, the inside of the pool is divided into a plurality of numbers, and the number of table caches that can be created is set to n (S310). Since the pool is only used for data cache with secondary storage, the capacity may be sufficient as a cache. Each cache is used as an input / output cache for secondary storage.

次に、n個の集合を管理するテーブルを2次記憶上に作成する(S311)。   Next, a table for managing n sets is created on the secondary storage (S311).

次に、入力データを1つずつ読み込みながら、1〜nの乱数を生成して、生成された乱数に対応するプールに作成されたテーブル用キャッシュに格納し、一杯になったら2次記憶上のテーブルに退避させる(S312)。   Next, while reading the input data one by one, random numbers 1 to n are generated and stored in the table cache created in the pool corresponding to the generated random numbers. Retreat to the table (S312).

次に、各テーブル毎に、ランダムに最初の読み出し位置と読み出し順(前から後、後ろから前)を決めセットする(S313)。読み出しテーブルを1とする。   Next, for each table, the first reading position and reading order (front to back, back to front) are determined and set randomly (S313). The reading table is set to 1.

図19において、順序ランダム化装置のプールからの取出しは、先ず、読み出しテーブルがないか否かを判断する(S300)。読み出しテーブルが無い場合には、このフローチャットの動作を終了する(S300でYES)。読み出しテーブルがある場合(S300でNO)、読み出しテーブルからデータを取出す(S301)。   In FIG. 19, in order to take out the sequence randomizer from the pool, it is first determined whether or not there is a read table (S300). If there is no reading table, the flow chat operation is terminated (YES in S300). If there is a read table (NO in S300), data is extracted from the read table (S301).

次に、読み出しテーブルのスキャンが一巡したか否かを判断する(S302)。スキャンが一巡した場合(S302でYES)、読み出しテーブルから除外する(S303)。   Next, it is determined whether or not the scan of the reading table has been completed (S302). If the scan is completed (YES in S302), it is excluded from the read table (S303).

次に、読み出しテーブルがないか否かを判断する(S304)。読み出しテーブルがある場合(S304でNO)、又は読み出しテーブルのスキャンが一巡していない場合(S302でNO)、読み出しテーブルを次に勧める(S305)。   Next, it is determined whether or not there is a read table (S304). If there is a read table (NO in S304), or if the scan of the read table is not completed (NO in S302), the read table is recommended next (S305).

全てのテーブルの読み出しが終了した場合(S304でYES)、順序ランダム化装置のプールからの取出し処理を終了する。
[第4の実施形態]
When all the tables have been read (YES in S304), the process of taking out the pool of the order randomizing device is finished.
[Fourth Embodiment]

第1の実施形態〜第3の実施形態は、トークン管理装置1の順序ランダム化装置についての実施形態であったが、同様の順序ランダム化装置は、データベースシステムの中に構築することもできる。順序ランダム化装置をデータベースシステムの中に構築することで、検索結果の規則性を無くすことができ、出力データの順番によるデータの特性がデータベースシステム外部に漏れることを防ぐことができる。   In the first to third embodiments, the order randomizing device of the token management device 1 is an embodiment. However, a similar order randomizing device can be constructed in the database system. By constructing the order randomizing device in the database system, the regularity of the search results can be eliminated, and the data characteristics due to the order of the output data can be prevented from leaking outside the database system.

第4の実施形態を、図20を用いて説明する。図20は、第4の実施形態におけるシステム全体構成の一例を説明する構成図である。   A fourth embodiment will be described with reference to FIG. FIG. 20 is a configuration diagram illustrating an example of the overall system configuration according to the fourth embodiment.

図20において、データベースシステム31は、データベース管理システム311と記憶部312を備えている。データベース管理システム3111は、コマンド処理部3111、および順序ランダム化装置3112を備えている。なお、図20において、データベースシステム31以外の他の装置は、既に説明した第1の実施形態〜第3の実施形態と同じものについては同じ符号を付して説明を省略する。コマンド処理部3111は、順序ランダム化装置3112を介して記憶部312と接続されており、記憶部312からデータを読み出す際に順序ランダム化装置3112にてデータがランダム化される。ランダム化装置内部のプールの管理方法は第1の実施例から第3の実施例と同様である。   In FIG. 20, the database system 31 includes a database management system 311 and a storage unit 312. The database management system 3111 includes a command processing unit 3111 and an order randomizing device 3112. In FIG. 20, devices other than the database system 31 are denoted by the same reference numerals as those in the first to third embodiments already described, and description thereof is omitted. The command processing unit 3111 is connected to the storage unit 312 via the order randomizing device 3112, and the data is randomized by the order randomizing device 3112 when data is read from the storage unit 312. The method for managing the pool inside the randomizing device is the same as that in the first to third embodiments.

第4の実施形態においては、データベースの出力段階にプールを入れることにより、データベースの内部構造から分離した高速な出力が可能になる。これによりデータベースの内部構造がデータベースシステム31の外部からは見えなくなる。また、順序ランダム化装置3112にアクセス制限を設け、順序ランダム化装置3112の存在を意識することなくデータの出力が可能になり、データベースシステムのデータ出力特性を秘匿化することが可能になる。   In the fourth embodiment, a high-speed output separated from the internal structure of the database is possible by putting a pool in the output stage of the database. As a result, the internal structure of the database cannot be seen from the outside of the database system 31. Further, an access restriction is provided for the order randomizing device 3112, data can be output without being aware of the presence of the order randomizing device 3112, and the data output characteristics of the database system can be concealed.

また、第4の実施形態は、第1の実施形態から第3の実施形態との併用が可能である。両者の併用によって、シャッフリングの効果を高めることができ、順序ランダム化装置3112にアクセス可能な場合は、それぞれの順序ランダム化装置にて、ランダム化の負荷を分散させることができる。   Further, the fourth embodiment can be used in combination with the first to third embodiments. By using both in combination, the effect of shuffling can be enhanced. When the order randomizing device 3112 is accessible, the randomizing load can be distributed by the respective order randomizing devices.

図21は、トークン管理装置1のコンピュータシステムの一例を示すブロック図である。図21に示すトークン管理装置1は、CPU12、記憶部13、インタフェース(I/F)14、入力装置15、及び表示部16がバス17により接続された構成を有する。尚、CPU12と、記憶部13、I/F14、入力装置15、及び表示部16との接続は、図21に示すバス接続に限定されるものではない。   FIG. 21 is a block diagram illustrating an example of a computer system of the token management device 1. The token management device 1 shown in FIG. 21 has a configuration in which a CPU 12, a storage unit 13, an interface (I / F) 14, an input device 15, and a display unit 16 are connected by a bus 17. The connection between the CPU 12, the storage unit 13, the I / F 14, the input device 15, and the display unit 16 is not limited to the bus connection shown in FIG.

図21において、CPU12は、記憶部13に格納されたプログラムを実行することによりトークン管理装置1全体を制御する。記憶部13は、半導体記憶装置、磁気記録媒体、光記録媒体、光磁気記録媒体等のコンピュータ読み取り可能な記憶媒体で形成可能であり、上記のプログラムや各種データを格納すると共に、CPU12が実行する演算の中間結果や演算結果等を一時的に格納する一時メモリとしても機能する。記憶部13は、図2に示す識別子発番対応表103の記憶部としても機能する。I/F14は、分析者端末20や分析システム20とネットワーク(図示せず)を介しての通信を行うインタフェースである。入力装置15は、キーボード等により形成可能である。表示部16は、ディスプレイ等により形成可能である。入力装置15及び表示部16は、タッチパネルのように入力装置と表示部の両方の機能を有する入出力装置で形成しても良い。   In FIG. 21, the CPU 12 controls the entire token management device 1 by executing a program stored in the storage unit 13. The storage unit 13 can be formed by a computer-readable storage medium such as a semiconductor storage device, a magnetic recording medium, an optical recording medium, or a magneto-optical recording medium, and stores the above programs and various data and is executed by the CPU 12. It also functions as a temporary memory that temporarily stores intermediate results of operations, calculation results, and the like. The storage unit 13 also functions as a storage unit of the identifier number correspondence table 103 illustrated in FIG. The I / F 14 is an interface that communicates with the analyst terminal 20 and the analysis system 20 via a network (not shown). The input device 15 can be formed by a keyboard or the like. The display unit 16 can be formed by a display or the like. The input device 15 and the display unit 16 may be formed of an input / output device having functions of both the input device and the display unit, such as a touch panel.

CPU12は、記憶部13に格納されたプログラムを実行することにより、コンピュータシステムをトークン管理装置1として機能させる。つまり、図2で説明したトークン化装置10の順序ランダム化装置101、104、トークン管理部102、識別子発番対応表103は、プログラムの機能として記憶部13の記憶領域に実装されて、CPU12により実行されるようにすることができる。   The CPU 12 causes the computer system to function as the token management device 1 by executing a program stored in the storage unit 13. That is, the order randomizers 101 and 104, the token management unit 102, and the identifier number assignment correspondence table 103 of the tokenizing device 10 described in FIG. 2 are mounted in the storage area of the storage unit 13 as a program function, Can be executed.

以上、本発明を実施するための形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the form for implementing this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, Various modifications and changes are possible.

本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
識別情報を含むデータが入力されて、入力された前記データをランダムの順序で出力する第1のランダム化装置と、
前記第1のランダム化装置から出力された前記データの前記識別情報をトークンで置換するトークン化部と、を備えた情報秘匿化装置。
(付記2)
前記第1のランダム化装置は、
所定の格納数の格納場所を有して、入力された前記データを前記格納場所に逐次格納する第1の格納部と、
前記第1の格納部の格納数に応じた第1の乱数を生成させる第1の乱数生成部と、を備え、
前記第1の乱数によってランダムに特定される前記第1の格納部の格納場所から格納された前記データを取り出して出力する付記2に記載の情報秘匿化装置。
(付記3)
前記第1の格納部の格納場所は、入力順序が早い入力データに対して入力順序が遅い入力データを優先的に取り出す付記1又は2に記載の情報秘匿化装置。
(付記4)
前記トークンを発生させるトークン発生器と、
前記トークン発生器で発生された前記トークンが入力されて、入力された前記トークンをランダムの順序で出力する第2のランダム化装置と、をさらに備えた付記1乃至3のいずれか一に記載の情報秘匿化装置。
(付記5)
前記第2のランダム化装置は、
所定の格納数の格納場所を有して、入力された前記トークンを前記格納場所に逐次格納する第2の格納部と、
前記第2の格納部の格納数に応じた第2の乱数を生成させる第2の乱数生成部と、を備え、
前記第2の乱数によってランダムに特定される前記第2の格納部の格納場所から格納された前記トークンを取り出して出力する付記4に記載の情報秘匿化装置。
(付記6)
前記第2の格納部の格納場所は、入力順序が早い入力データに対して入力順序が遅い入力データを優先的に取り出す付記4又は5に記載の情報秘匿化装置。
(付記7)
識別情報を含むデータが入力されて、入力された前記データをランダムの順序で出力する第1のランダム化処理と、
前記第1のランダム化処理で出力された前記データの前記識別情報をトークンで置換するトークン化処理と、をコンピュータが実行する識別情報の情報秘匿化方法。
(付記8)
前記第1のランダム化処理は、
所定の格納数の格納場所を有して、入力された前記データを前記格納場所に逐次格納する第1の格納処理と、
前記第1の格納処理の格納数に応じた第1の乱数を生成させる第1の乱数生成処理と、を備え、
前記第1の乱数によってランダムに特定される前記第1の格納処理で格納される格納場所から格納された前記データを取り出して出力する処理をコンピュータが実行する付記7に記載の識別情報の情報秘匿化方法。
(付記9)
前記第1の格納処理は、入力順序が早い入力データに対して入力順序が遅い入力データを優先的に取り出す付記7又は8に記載の情報秘匿化方法。
(付記10)
前記トークンを発生させるトークン発生処理と、
前記トークン発生処理で発生された前記トークンが入力されて、入力された前記トークンをランダムの順序で出力する第2のランダム化処理と、をさらに備えた付記7乃至9のいずれか一に記載の情報秘匿化方法。
(付記11)
前記第2のランダム化処理は、
所定の格納数の格納場所を有して、入力された前記トークンを前記格納場所に逐次格納する第2の格納処理と、
前記第2の格納処理の格納数に応じた第2の乱数を生成させる第2の乱数生成処理と、を備え、
前記第2の乱数によってランダムに特定される前記第2の格納処理で格納される格納場所から前記トークンを取り出して出力する付記10に記載の情報秘匿化方法。
(付記12)
前記第2の格納処理は、入力順序が早い入力データに対して入力順序が遅い入力データを優先的に取り出す付記4又は5に記載の情報秘匿化方法。
(付記13)
クエリを受け付けるコマンド処理部と、
前記コマンド処理部からの指示によって記憶しているデータを出力する記憶部と、
ランダム化装置と、を備えたデータベースシステムであって、
ランダム化装置は、
所定の格納数の格納場所を有して、前記記憶部から出力されたデータを前記格納場所に逐次格納する格納部と、
前記格納部の格納数に応じた乱数を生成させる乱数生成部と、を備えたデータベースシステム。
The present invention may have the following configurations as described below.
(Appendix 1)
A first randomizing device that receives data including identification information and outputs the input data in a random order;
An information concealment device comprising: a tokenizing unit that replaces the identification information of the data output from the first randomizing device with a token.
(Appendix 2)
The first randomizing device includes:
A first storage unit that has a predetermined number of storage locations and sequentially stores the input data in the storage locations;
A first random number generation unit that generates a first random number according to the number stored in the first storage unit,
The information concealment device according to appendix 2, wherein the data stored from the storage location of the first storage unit that is randomly specified by the first random number is extracted and output.
(Appendix 3)
The information concealment device according to appendix 1 or 2, wherein the storage location of the first storage unit preferentially extracts input data with a slow input order with respect to input data with a fast input order.
(Appendix 4)
A token generator for generating the token;
The token generator generated by the token generator is input, and a second randomizing device that outputs the input tokens in a random order, and further includes any one of appendix 1 to 3, further comprising: Information concealment device.
(Appendix 5)
The second randomizing device includes:
A second storage unit having a predetermined number of storage locations and sequentially storing the input tokens in the storage location;
A second random number generation unit that generates a second random number according to the number stored in the second storage unit,
The information concealment device according to appendix 4, wherein the token stored from the storage location of the second storage unit specified at random by the second random number is extracted and output.
(Appendix 6)
The information concealment device according to appendix 4 or 5, wherein the storage location of the second storage unit preferentially extracts input data whose input order is late with respect to input data whose input order is early.
(Appendix 7)
A first randomization process in which data including identification information is input, and the input data is output in a random order;
An information concealment method for identification information, wherein a tokenization process for replacing the identification information of the data output in the first randomization process with a token is executed by a computer.
(Appendix 8)
The first randomizing process includes:
A first storage process that has a predetermined number of storage locations and sequentially stores the input data in the storage locations;
A first random number generation process for generating a first random number corresponding to the number stored in the first storage process,
The information concealment of identification information according to appendix 7, wherein the computer executes a process of extracting and outputting the data stored from the storage location stored in the first storage process that is randomly specified by the first random number Method.
(Appendix 9)
9. The information concealment method according to appendix 7 or 8, wherein the first storage processing preferentially extracts input data with a slow input order with respect to input data with a fast input order.
(Appendix 10)
A token generation process for generating the token;
The second randomization process in which the token generated in the token generation process is input and the input tokens are output in a random order. Information concealment method.
(Appendix 11)
The second randomizing process includes:
A second storage process having a predetermined number of storage locations and sequentially storing the input tokens in the storage locations;
A second random number generation process for generating a second random number according to the number stored in the second storage process,
The information concealment method according to appendix 10, wherein the token is extracted from the storage location stored in the second storage process that is randomly specified by the second random number and output.
(Appendix 12)
6. The information concealment method according to appendix 4 or 5, wherein the second storage processing preferentially extracts input data with a slow input order with respect to input data with a fast input order.
(Appendix 13)
A command processing unit for receiving a query;
A storage unit that outputs data stored in accordance with an instruction from the command processing unit;
A database system comprising a randomizing device,
The randomizer is
A storage unit having a predetermined number of storage locations, and sequentially storing the data output from the storage unit in the storage location;
A database system comprising: a random number generation unit that generates a random number according to the number of storages in the storage unit.

1 トークン管理装置
10 トークン化装置
101、104 順序ランダム化装置
1011、1041 格納部
1012,1042 乱数発生部
102 トークン管理部
1021 トークン化部
1022 トークン登録部
103 識別子発番対応表
105 トークン発生器
11 復元装置
12 CPU
13 記憶部
14 インタフェース
15 入力装置
16 表示部
17 バス
20 分析者端末
21、31 データベースシステム
211、311 データベース管理システム
212、312 記憶部
22 分析システム
3111 コマンド処理部
3112 順序ランダム化装置
1 Token Management Device 10 Tokenization Device 101, 104 Order Randomization Device 1011, 1041 Storage Unit 1012, 1042 Random Number Generation Unit 102 Token Management Unit 1021 Tokenization Unit 1022 Token Registration Unit 103 Identifier Number Correspondence Table 105 Token Generator 11 Restoration Device 12 CPU
13 Storage Unit 14 Interface 15 Input Device 16 Display Unit 17 Bus 20 Analyst Terminal 21, 31 Database System 211, 311 Database Management System 212, 312 Storage Unit 22 Analysis System 3111 Command Processing Unit 3112 Order Randomizer

Claims (9)

識別情報を含むデータが入力されて、入力された前記データをランダムの順序で出力する第1のランダム化装置と、
前記第1のランダム化装置から出力された前記データの前記識別情報をトークンで置換するトークン化部と、を備えた情報秘匿化装置。
A first randomizing device that receives data including identification information and outputs the input data in a random order;
An information concealment device comprising: a tokenizing unit that replaces the identification information of the data output from the first randomizing device with a token.
前記第1のランダム化装置は、
所定の格納数の格納場所を有して、入力された前記データを前記格納場所に逐次格納する第1の格納部と、
前記第1の格納部の格納数に応じた第1の乱数を生成させる第1の乱数生成部と、を備え、
前記第1の乱数によってランダムに特定される前記第1の格納部の格納場所から格納された前記データを取り出して出力する請求項2に記載の情報秘匿化装置。
The first randomizing device includes:
A first storage unit that has a predetermined number of storage locations and sequentially stores the input data in the storage locations;
A first random number generation unit that generates a first random number according to the number stored in the first storage unit,
The information concealment apparatus according to claim 2, wherein the data stored from the storage location of the first storage unit that is randomly specified by the first random number is extracted and output.
前記第1の格納部の格納場所は、入力順序が早い入力データに対して入力順序が遅い入力データを優先的に取り出す請求項1又は2に記載の情報秘匿化装置。   3. The information concealment device according to claim 1, wherein the storage location of the first storage unit preferentially extracts input data with a slow input order with respect to input data with a fast input order. 前記トークンを発生させるトークン発生器と、
前記トークン発生器で発生された前記トークンが入力されて、入力された前記トークンをランダムの順序で出力する第2のランダム化装置と、をさらに備えた請求項1乃至3のいずれか一項に記載の情報秘匿化装置。
A token generator for generating the token;
4. The second randomization device according to claim 1, further comprising: a second randomization device that receives the token generated by the token generator and outputs the input token in a random order. 5. The information concealment device described.
前記第2のランダム化装置は、
所定の格納数の格納場所を有して、入力された前記トークンを前記格納場所に逐次格納する第2の格納部と、
前記第2の格納部の格納数に応じた第2の乱数を生成させる第2の乱数生成部と、を備え、
前記第2の乱数によってランダムに特定される前記第2の格納部の格納場所から格納された前記トークンを取り出して出力する請求項4に記載の情報秘匿化装置。
The second randomizing device includes:
A second storage unit having a predetermined number of storage locations and sequentially storing the input tokens in the storage location;
A second random number generation unit that generates a second random number according to the number stored in the second storage unit,
The information concealment device according to claim 4, wherein the token stored from the storage location of the second storage unit that is randomly specified by the second random number is extracted and output.
前記第2の格納部の格納場所は、入力順序が早い入力データに対して入力順序が遅い入力データを優先的に取り出す請求項4又は5に記載の情報秘匿化装置。   The information concealment device according to claim 4 or 5, wherein the storage location of the second storage unit preferentially picks up input data with a slow input order with respect to input data with a fast input order. 識別情報を含むデータが入力されて、入力された前記データをランダムの順序で出力する第1のランダム化処理と、
前記第1のランダム化処理で出力された前記データの前記識別情報をトークンで置換するトークン化処理と、をコンピュータが実行する識別情報の情報秘匿化方法。
A first randomization process in which data including identification information is input, and the input data is output in a random order;
An information concealment method for identification information, wherein a tokenization process for replacing the identification information of the data output in the first randomization process with a token is executed by a computer.
データに含まれる識別情報をトークンで置換するトークン化部と、
前記トークン化部で出力されたデータが入力されて、入力された該データをランダムの順序で出力する第一のランダム化装置と、を備えたことを特徴とする識別情報の情報秘匿化装置。
A tokenizer that replaces the identification information contained in the data with a token;
An information concealment device for identification information, comprising: a first randomization device that receives data output from the tokenization unit and outputs the input data in a random order.
データに含まれる識別情報をトークンで置換するトークン化処理と、
前記トークン化処理で出力されたデータが入力されて、入力された該データをランダムの順序で出力する第一のランダム化処理と、をコンピュータが実行する識別情報の情報秘匿化方法。
Tokenization processing for replacing identification information included in data with a token;
An information concealment method for identification information, wherein the computer executes a first randomization process in which the data output in the tokenization process is input and the input data is output in a random order.
JP2013070339A 2013-03-28 2013-03-28 Information concealment device and information concealment method Expired - Fee Related JP6098294B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013070339A JP6098294B2 (en) 2013-03-28 2013-03-28 Information concealment device and information concealment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013070339A JP6098294B2 (en) 2013-03-28 2013-03-28 Information concealment device and information concealment method

Publications (2)

Publication Number Publication Date
JP2014194621A true JP2014194621A (en) 2014-10-09
JP6098294B2 JP6098294B2 (en) 2017-03-22

Family

ID=51839846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013070339A Expired - Fee Related JP6098294B2 (en) 2013-03-28 2013-03-28 Information concealment device and information concealment method

Country Status (1)

Country Link
JP (1) JP6098294B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101704702B1 (en) * 2016-04-18 2017-02-08 (주)케이사인 Tagging based personal data de-identification system and de-identification method of personal data
JP2019074925A (en) * 2017-10-16 2019-05-16 三菱電機インフォメーションネットワーク株式会社 Data managing system, server device, data utilizing device, server program and data utilizing program
JP2019121375A (en) * 2017-12-28 2019-07-22 富士通株式会社 Secure hash operations in trusted execution environment
JP2019179346A (en) * 2018-03-30 2019-10-17 株式会社エクサウィザーズ Information processing apparatus, information processing system, and program
JP2020109592A (en) * 2019-01-07 2020-07-16 株式会社東芝 Information processing system, information processing device, information processing method and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220927A1 (en) * 2002-05-22 2003-11-27 Iverson Dane Steven System and method of de-identifying data
JP2007287102A (en) * 2006-04-20 2007-11-01 Mitsubishi Electric Corp Data converter
JP2007317075A (en) * 2006-05-29 2007-12-06 Hitachi Ltd Apparatus and method for dividing personal information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220927A1 (en) * 2002-05-22 2003-11-27 Iverson Dane Steven System and method of de-identifying data
JP2007287102A (en) * 2006-04-20 2007-11-01 Mitsubishi Electric Corp Data converter
JP2007317075A (en) * 2006-05-29 2007-12-06 Hitachi Ltd Apparatus and method for dividing personal information

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101704702B1 (en) * 2016-04-18 2017-02-08 (주)케이사인 Tagging based personal data de-identification system and de-identification method of personal data
JP2019074925A (en) * 2017-10-16 2019-05-16 三菱電機インフォメーションネットワーク株式会社 Data managing system, server device, data utilizing device, server program and data utilizing program
JP2019121375A (en) * 2017-12-28 2019-07-22 富士通株式会社 Secure hash operations in trusted execution environment
JP7176388B2 (en) 2017-12-28 2022-11-22 富士通株式会社 Secure Hash Operations in Trusted Execution Environments
JP2019179346A (en) * 2018-03-30 2019-10-17 株式会社エクサウィザーズ Information processing apparatus, information processing system, and program
JP2020109592A (en) * 2019-01-07 2020-07-16 株式会社東芝 Information processing system, information processing device, information processing method and program

Also Published As

Publication number Publication date
JP6098294B2 (en) 2017-03-22

Similar Documents

Publication Publication Date Title
JP6098294B2 (en) Information concealment device and information concealment method
CN103577440B (en) A kind of data processing method and device in non-relational database
US7856416B2 (en) Automated latent star schema discovery tool
US7558802B2 (en) Information retrieving system
CN109891402A (en) The conversion of revocable and on-line mode
CN107608773A (en) task concurrent processing method, device and computing device
US8386445B2 (en) Reorganizing database tables
CN107038222A (en) Database caches implementation method and its system
JP2011510379A5 (en)
JP5799812B2 (en) Data allocation / calculation system, data allocation / calculation method, master device, and data allocation method
CN104750727B (en) A kind of column memory storage inquiry unit and column memory storage querying method
Ashkiani et al. GPU LSM: A dynamic dictionary data structure for the GPU
Oosterhuis et al. The potential of learned index structures for index compression
CN106776809A (en) A kind of data query method and system
Andrzejewski et al. Parallel approach to incremental co-location pattern mining
JP2021002830A (en) Advanced database decompression
Lester et al. Efficient online index construction for text databases
CN110008246A (en) Metadata management method and device
CN104573112B (en) Page interrogation method and data processing node in OLTP Cluster Databases
CN110020272A (en) Caching method, device and computer storage medium
CN109614411B (en) Data storage method, device and storage medium
CN106503186A (en) A kind of data managing method, client and system
CN103353891B (en) Data base management system and its data processing method
CN110019229B (en) Database configuration system
CN115495620A (en) Data management method based on graph structure and related equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170206

R150 Certificate of patent or registration of utility model

Ref document number: 6098294

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees