(57)【要約】【課題】情報保護のための管理レベルの自動判定を可能とする。【解決手段】コンピュータ１０は、ネットワークを介して接続された装置１ａ〜１ｃから、１または複数の項目の少なくとも一部に値が設定されたデータ２ａ〜２ｄを取得する。次にコンピュータ１０は、データ２ａ〜２ｄの１または複数の項目それぞれの項目名、および１または複数の項目それぞれへの値の設定の有無に基づいて、情報保護の対策強度が異なる複数の管理レベルのうち、データ２ａ〜２ｄに適用する管理レベルを判定する。そしてコンピュータ１０は、データ２ａ〜２ｄに適用する管理レベルを示す管理情報３ａ〜３ｄと関連付けて、データ２ａ〜２ｄを記憶部１１に格納する。【選択図】図１
2020046920.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
ネットワークを介して接続された装置から、１または複数の項目の少なくとも一部に値が設定されたデータを取得し、
前記データの前記１または複数の項目それぞれの項目名、および前記１または複数の項目それぞれへの値の設定の有無に基づいて、情報保護の対策強度が異なる複数の管理レベルのうち、前記データに適用する管理レベルを判定し、
前記データに適用する管理レベルを示す管理情報と関連付けて、前記データを記憶部に格納する、
処理を実行させるデータ管理レベル判定プログラム。
【請求項２】
前記データの管理レベルの判定では、前記１または複数の項目それぞれの項目名に、個人を特定可能な値を設定する個人属性項目の項目名が含まれており、前記個人属性項目に値が設定されている場合、前記データの管理レベルを、個人情報用の管理レベルと判定する、
請求項１記載のデータ管理レベル判定プログラム。
【請求項３】
前記データの管理レベルの判定では、前記１または複数の項目それぞれの項目名に、前記個人属性項目の項目名が含まれており、前記個人属性項目に値が設定されていない場合、前記データの管理レベルを、個人情報に匿名加工を行った匿名加工情報用の管理レベルと判定する、
請求項２記載のデータ管理レベル判定プログラム。
【請求項４】
前記データの管理レベルの判定では、前記データに複数のレコードが含まれており、前記１または複数の項目に第１項目と第２項目とが含まれており、同一レコード内の前記第１項目の値と前記第２項目の値との組のうち、前記複数のレコードのうちの所定数以下のレコードにのみ存在する組がある場合、前記データの管理レベルを個人情報用の管理レベルと判定する、
請求項１ないし３のいずれかに記載のデータ管理レベル判定プログラム。
【請求項５】
前記データの管理レベルの判定では、前記１または複数の項目が統計対象を示す項目または統計値の名称を示す項目の場合、前記データの管理レベルを統計情報用の管理レベルと判定する、
請求項１ないし４のいずれかに記載のデータ管理レベル判定プログラム。
【請求項６】
前記データの管理レベルの判定では、制限なしに使用可能なオープンデータの格納場所を示すオープンデータ位置情報と、前記ネットワーク上での前記データの取得元の位置とを比較し、前記データの取得元の位置が前記オープンデータの格納場所に含まれる場合、前記データの管理レベルをオープンデータ用の管理レベルと判定する、
請求項１ないし５のいずれかに記載のデータ管理レベル判定プログラム。
【請求項７】
前記コンピュータに、さらに、
検索条件を指定したデータ検索要求に応じて、前記記憶部に対するデータ検索を行い、
前記検索条件に合致する該当データの名称と管理レベルとを示す検索結果を出力する、
処理を実行させる請求項１ないし６のいずれかに記載のデータ管理レベル判定プログラム。
【請求項８】
前記コンピュータに、さらに、
前記記憶部に格納された前記データの加工を要求するデータ加工要求に応じて前記データを加工して加工データを生成し、
加工元となった前記データの管理レベルと加工内容とに基づいて、前記加工データの管理レベルを判定し、
前記加工データの管理レベルを示す情報と前記加工データとを出力する、
処理を実行させる請求項１ないし７のいずれかに記載のデータ管理レベル判定プログラム。
【請求項９】
前記加工データの管理レベルの判定では、加工元となった前記データの管理レベルが個人情報用の管理レベルのとき、前記データから個人を特定可能な値を設定する個人属性項目がすべて削除されている場合、前記加工データの管理レベルを、個人情報用の管理レベルよりも保護の強度が低い他の管理レベルとする、
請求項８記載のデータ管理レベル判定プログラム。
【請求項１０】
コンピュータが、
ネットワークを介して接続された装置から、１または複数の項目の少なくとも一部に値が設定されたデータを取得し、
前記データの前記１または複数の項目それぞれの項目名、および前記１または複数の項目それぞれへの値の設定の有無に基づいて、情報保護の対策強度が異なる複数の管理レベルのうち、前記データに適用する管理レベルを判定し、
前記データに適用する管理レベルを示す管理情報と関連付けて、前記データを記憶部に格納する、
データ管理レベル判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理レベル判定プログラム、およびデータ管理レベル判定方法に関する。
【背景技術】
【０００２】
企業などの様々な機関のコンピュータシステムでは、個人情報を取り扱う場合がある。多くの国では、本人の同意なしに、本来の目的以外の用途で個人情報を利用することは、法律で禁止されている。なお、個人情報から算出した統計情報であれば、より広い用途で利用することが可能である。
【０００３】
また、個人情報を匿名加工して利用することも考えられる。匿名加工は、個人を識別することができないように、個人情報を修正することである。匿名加工では、例えば、個人情報から、提供者の氏名や生年月日の情報が削除される。匿名加工後の情報（匿名加工情報）であれば、本人の同意なしに、様々な目的で利用可能である。
【０００４】
個人情報を含むネットワーク上の大量のデータは、データ流通基盤を介して有効利用することができる。データ流通基盤では、例えば、サーバがネットワークを介してデータを収集し、収集したデータの一部または収集したデータから得られる統計情報を、ユーザに提供する。この場合、サーバがネットワークを介して収集したデータには、個人情報や匿名加工情報に加え、統計情報、オープンデータなども含まれる。オープンデータは、公衆に公開されたデータである。
【０００５】
ネットワークからデータを収集したサーバは、取り扱うデータについて、その種類に応じた適切なレベルの情報保護対策を施して管理する。サーバは、個人情報については、例えばアクセス可能なユーザの制限などにより、特に厳重に管理する。またサーバは、匿名加工情報については、例えば法律で禁止されている使い方をしないように管理する。さらにサーバは、統計情報については、例えば不特定多数に公開しないように管理する。オープンデータについては、公開されているデータなので、サーバは特別な管理を行わない。このようにデータの保護対策として、保護の強度が異なる複数の管理レベルが用意されており、サーバは、種類が判明しているデータを、そのデータの種類に応じた適切な管理レベルで保護する。
【０００６】
保護対象の情報の取り扱いに関する技術としては、例えば提供する情報を保護すると共に、情報を提供することによって得られるサービスを増加させるプライバシー保護装置がある。また匿名化のために属性を自動的に識別するコンピュータ実装システムもある。さらに、プライバシー保護機能の制御機能をもつデータベース内にデータを格納し、そのデータベースからデータを取り出す方法も考えられている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−１５１９４２号公報
【特許文献２】特開２０１７−９１５１５号公報
【特許文献３】特開２０００−２９３４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
データ流通基盤のサーバが収集したデータには、どのような管理レベルの情報保護を行えばよいのかが不明なものが多い。例えば収集したデータの中には、データの提供元において、個人情報であるといった種類が示されたデータも存在するが、すべてのデータにそのような種類が示されているわけではない。しかも、元のデータから何らかの加工が加えられたデータについては、加工後のデータがどのような種類となるのかを、加工者自身も把握できていない場合もある。そのため、ネットワークを介して大量のデータを収集した場合、収集したデータについて、その種類に応じた適切な情報保護を行うための管理レベルの判別が困難となっている。
【０００９】
１つの側面では、本件は、情報保護のための管理レベルの自動判定を可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、以下の処理をコンピュータに実行させるデータ管理レベル判定プログラムが提供される。
コンピュータは、ネットワークを介して接続された装置から、１または複数の項目の少なくとも一部に値が設定されたデータを取得する。次にコンピュータは、データの１または複数の項目それぞれの項目名、および１または複数の項目それぞれへの値の設定の有無に基づいて、情報保護の対策強度が異なる複数の管理レベルのうち、データに適用する管理レベルを判定する。そしてコンピュータは、データに適用する管理レベルを示す管理情報と関連付けて、データを記憶部に格納する。
【発明の効果】
【００１１】
１態様によれば、情報保護のための管理レベルの自動判定が可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係るデータ管理レベル判定方法の一例を示す図である。
【図２】第２の実施の形態に係るシステムの一例を示す図である。
【図３】サーバのハードウェアの一構成例を示す図である。
【図４】データ流通基盤のサーバが実現する機能を示すブロック図である。
【図５】データ提供者情報の一例を示す図である。
【図６】法人契約管理テーブルの一例を示す図である。
【図７】ユーザ管理テーブルの一例を示す図である。
【図８】オープンデータカタログサイト管理テーブルの一例を示す図である。
【図９】組み合わせパターン辞書の一例を示す図である。
【図１０】データ管理情報記憶部内のデータ管理情報の一例を示す図である。
【図１１】データ取得時のデータ管理レベル判定処理の手順の一例を示すフローチャートである。
【図１２】項目の組み合わせによる個人特定の可能性判定処理の手順の一例を示すフローチャートである。
【図１３】管理レベルの第１の判定例を示す図である。
【図１４】管理レベルの第２の判定例を示す図である。
【図１５】管理レベルの第３の判定例を示す図である。
【図１６】管理レベルの第４の判定例を示す図である。
【図１７】管理レベルの第５の判定例を示す図である。
【図１８】管理レベルの第６の判定例を示す図である。
【図１９】管理レベルの第７の判定例を示す図である。
【図２０】管理レベルの第８の判定例を示す図である。
【図２１】管理レベルの第９の判定例を示す図である。
【図２２】管理レベルの第１０の判定例を示す図である。
【図２３】検索画面の一例を示す図である。
【図２４】データ加工要求画面の一例を示す図である。
【図２５】加工データの管理レベル判定処理の手順の一例を示すフローチャートである。
【図２６】加工データの管理レベル判定処理の第１の例を示す図である。
【図２７】加工データの管理レベル判定処理の第２の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るデータ管理レベル判定方法の一例を示す図である。図１には、データ管理レベル判定方法をコンピュータ１０により実施した場合の例を示している。コンピュータ１０は、例えばデータ管理レベル判定方法の処理手順が記述されたデータ管理レベル判定プログラムを実行することにより、データ管理レベル判定方法を実施することができる。
【００１４】
コンピュータ１０は、データ管理レベル判定方法を実施するために、記憶部１１と処理部１２とを有する。記憶部１１は、例えばコンピュータ１０が有するメモリまたはストレージ装置である。処理部１２は、例えばコンピュータ１０が有するプロセッサまたは演算回路である。
【００１５】
コンピュータ１０の処理部１２は、データ管理レベル判定プログラムに基づいて、以下の処理を実行する。
処理部１２は、まずネットワークを介して接続された装置１ａ〜１ｃから、１または複数の項目の少なくとも一部に値が設定されたデータ２ａ〜２ｄを取得する。次に処理部１２は、取得したデータ２ａ〜２ｄの１または複数の項目それぞれの項目名、および１または複数の項目それぞれへの値の設定の有無に基づいて、複数の管理レベルのうち、取得したデータ２ａ〜２ｄに適用する管理レベルを判定する。
【００１６】
複数の管理レベルは、情報保護の対策強度が異なっている。情報保護の対策強度が最も高い管理レベルは、個人情報用の管理レベルである。個人情報用の管理レベルで管理されるデータは、そのデータの提供者の意に反してデータが外部に漏れないように厳重に管理される。情報保護の対策強度が次に高いのは、例えば匿名加工情報用の管理レベルである。匿名加工情報は、個人情報に対して個人を特定できないように加工を施したデータである。匿名加工情報用の管理レベルで管理されるデータは、例えば法律により予め定められた用途以外の用途で使用されないように使用目的が管理される。情報保護の対策強度が次に高いのは、例えば統計情報用の管理レベルである。統計情報用の管理レベルで管理されるデータは、例えばデータ利用者として予め登録した者にのみ開示するなど、一定の制限の範囲内で公開される。情報保護の対策強度が最も低いのは、例えばオープンデータ用の管理レベルである。オープンデータ用の管理レベルで管理されるデータは、例えばネットワークを介してコンピュータ１０にアクセス可能なすべてのユーザに公開される。
【００１７】
なお「個人情報」、「匿名加工情報」、「統計情報」、「オープンデータ」以外のデータ用の管理レベルも設定可能である。例えば個人を特定可能な情報を含まないが「匿名加工情報」、「統計情報」、「オープンデータ」のいずれにも該当しないデータを「個人情報を含まない非統計情報」とし、そのようなデータ用の管理レベルを設定してもよい。
【００１８】
取得したデータ２ａ〜２ｄの管理レベルを判定後、データに適用する管理レベルを示す管理情報３ａ〜３ｄと関連付けて、データ２ａ〜２ｄを記憶部１１に格納する。
このようにして、取得したデータ２ａ〜２ｄの管理レベルが自動で判定され、データ２ａ〜２ｄは、管理レベルを示す管理情報３ａ〜３ｄと関連付けて保持される。データ２ａ〜２ｄが管理情報３ａ〜３ｄと関連付けられているため、処理部１２は、データ２ａ〜２ｄを利用する際に、関連付けられた管理情報３ａ〜３ｄを参照して管理レベルを認識し、管理レベルに従った情報保護対策の下でデータを利用することができる。
【００１９】
処理部１２によるデータ２ａ〜２ｄの管理レベルの判定は、例えば以下のように行われる。
処理部１２は、例えば１または複数の項目それぞれの項目名に、個人を特定可能な値を設定する個人属性項目の項目名が含まれており、個人属性項目に値が設定されている場合、データ２ａ〜２ｄの管理レベルを、個人情報用の管理レベルと判定する。図１の例では、装置１ａからクレジットカード利用履歴を示すデータ２ａを取得しており、データ２ａには、個人属性項目の項目名「カード名義」が含まれている。しかもデータ２ａの「カード名義」の項目には、カード名義人の名前が値として設定されている。そのため処理部１２は、データ２ａに適用する管理レベルを、個人情報用の管理レベルと判定し、管理レベル「個人情報」を示す管理情報３ａに関連付けて、データ２ａを記憶部１１に格納する。
【００２０】
また処理部１２は、例えば１または複数の項目それぞれの項目名に、個人属性項目の項目名が含まれており、個人属性項目に値が設定されていない場合、データ２ａ〜２ｄの管理レベルを、匿名加工情報用の管理レベルと判定する。図１の例では、装置１ａからクレジットカード利用履歴を示すデータ２ｂを取得しており、データ２ｂには、個人属性項目の項目名「カード名義」が含まれているが、「カード名義」の項目には値が設定されていない。そのため処理部１２は、データ２ｂに適用する管理レベルを、匿名加工情報用の管理レベルと判定し、管理レベル「匿名加工情報」を示す管理情報３ｂに関連付けて、データ２ｂを記憶部１１に格納する。
【００２１】
またデータ２ａ〜２ｄに複数のレコードが含まれており、１または複数の項目に第１項目と第２項目とが含まれている場合がある。この場合、処理部１２は、同一レコード内の第１項目の値と第２項目の値との組のうち、複数のレコードのうちの所定数以下のレコードにのみ存在する組があるか否かを判断する。所定数以下のレコードにのみ存在する値の組が存在する場合、処理部１２は、データ２ａ〜２ｄの管理レベルを個人情報用の管理レベルと判定する。
【００２２】
また処理部１２は、１または複数の項目が統計対象を示す項目または統計値の名称を示す項目の場合、データ２ａ〜２ｄの管理レベルを統計情報用の管理レベルと判定する。図１の例では、装置１ｂから取得したデータ２ｃに含まれる項目は、統計対象の名称「病名」を示す項目と、その統計対象の統計値の名称「合計人数」、「平均年齢」を示す項目のみである。そのため、処理部１２は、データ２ｃに適用する管理レベルを、統計情報用の管理レベルと判定し、管理レベル「統計情報」を示す管理情報３ｃに関連付けて、データ２ｃを記憶部１１に格納する。
【００２３】
コンピュータ１０は、記憶部１１に、予め制限なしに使用可能なオープンデータの格納場所を示すオープンデータ位置情報４（例えば、サイト名とネットワークアドレス）を格納しておくことができる。この場合、処理部１２は、オープンデータ位置情報４とネットワーク上でのデータ２ａ〜２ｄの取得元の位置情報とを比較する。処理部１２は、データ２ａ〜２ｄの取得元の位置情報がオープンデータの格納場所に含まれる場合、データ２ａ〜２ｄの管理レベルをオープンデータ用の管理レベルと判定する。図１の例では、オープンデータ位置情報４として、例えばサイト名「Ａ市カタログサイト」の位置が示されている。「Ａ市カタログサイト」に対応する位置にあるのは、装置１ｃ内のコンテンツの格納領域である。処理部１２は、「Ａ市カタログサイト」に対応する位置からデータ２ｄを取得すると、オープンデータ位置情報４に基づいて、データ２ｄが「Ａ市カタログサイト」から取得したデータであると認識する。そして処理部１２は、データ２ｄに適用する管理レベルを、オープンデータ用の管理レベルと判定し、管理レベル「オープンデータ」を示す管理情報３ｄに関連付けて、データ２ｄを記憶部１１に格納する。
【００２４】
なお処理部１２は、記憶部１１に格納したデータ２ａ〜２ｄを提供する際には、管理情報３ａ〜３ｄに基づいて、データ２ａ〜２ｄに適用する管理レベルを指定することができる。例えば処理部１２は、検索条件を指定したデータ検索要求に応じて、記憶部１１に対するデータ検索を行う。そして処理部１２は、検索条件に合致する該当データの名称と管理レベルとを示す検索結果を出力する。
【００２５】
また処理部１２は、記憶部１１に格納したデータ２ａ〜２ｄを加工し、加工後の加工データを提供する際には、加工データに適用する管理レベルを指定することができる。例えば処理部１２は、記憶部１１に格納されたいずれかのデータの加工を要求するデータ加工要求に応じてデータを加工する。処理部１２は、加工元となったデータの管理レベルと加工内容とに基づいて、加工データの管理レベルを判定する。例えば処理部１２は、加工元のデータの管理レベルのうちの情報保護の対策強度が最も高い管理レベルを、加工データの管理レベルとする。そして処理部１２は、加工データの管理レベルを示す情報と加工データとを出力する。
【００２６】
なお処理部１２は、個人情報として管理されるデータを加工する際、加工元のデータの項目のうち個人の特定につながらない項目のみを利用して加工データを生成する場合がある。この場合、加工データについては、個人情報用の管理レベルよりも保護の強度を下げることができる。例えば処理部１２は、加工元となったデータの管理レベルが個人情報用の管理レベルのとき、データから個人を特定可能な値を設定する個人属性項目がすべて削除されている場合、加工データの管理レベルを、個人情報よりも保護の強度が低い他の管理レベルとする。
【００２７】
このように、第１の実施の形態によれば、コンピュータ１０は、複数の管理レベルの中から、取得したデータに適用する管理レベルを適切に判定することができる。その結果、どのような管理レベルで管理すべきかが不明なデータを、大量にネットワークを介して収集した場合でも、各データに対して、その内容に応じた適切な情報保護対策を適用することができる。
【００２８】
さらにコンピュータ１０は、記憶部１１に格納したデータ２ａ〜２ｄの検索結果を出力する際に、検索結果に検索条件に合致したデータの管理レベルを示す情報を含めることで、データ利用者に対してデータの管理レベルを通知することができる。例えばコンピュータ１０は、管理レベルに応じて警告や注意喚起のメッセージを表示することで、データ利用者にデータの適切な管理を促すことができる。
【００２９】
しかもコンピュータ１０は、収集したデータを加工して提供する際にも、加工データの管理レベルを自動判定するため、加工データの利用者に対しても、加工データの適切な管理を促すことができる。
【００３０】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。
図２は、第２の実施の形態に係るシステムの一例を示す図である。データ流通基盤３０には、データの収集と、収集したデータの提供とを行うサーバ１００が設けられている。サーバ１００は、ネットワーク２０を介して、複数のデータ提供者を含むデータ提供者群３１の使用する装置からデータを収集する。
【００３１】
データ提供者としては、個人、企業、公的機関などが含まれる。データ提供者が個人の場合、サーバ１００は、例えば個人が使用する端末装置４１ａ，４１ｂ，・・・から、データを収集する。またデータ提供者が企業の場合、サーバ１００は、例えば企業が運用するサーバ４２ａ，４２ｂ，・・・からデータを収集する。さらにデータ提供者が、国または地方公共団体などの公的機関の場合、サーバ１００は、例えば公的機関が運用するサーバ４３ａ，４３ｂ，・・・からデータを収集する。
【００３２】
データ流通基盤３０のサーバ１００は、収集したデータの種類を判定し、種類に応じて適切に管理する。そしてサーバ１００は、複数のデータ利用者を含むデータ利用者群３２の使用する装置からの要求に応じて、収集したデータ、または収集したデータを加工して得られるデータを提供する。例えばサーバ１００は、データ利用者が運用するサーバ４４ａ，４４ｂ，・・・からの検索要求に応じてデータを検索し、検索結果を送信する。またサーバ１００は、サーバ４４ａ，４４ｂ，・・・から、データの加工を伴うデータ取得要求を受信すると、そのデータ取得要求に従ってデータを加工し、加工したデータを送信する。
【００３３】
なおサーバ１００は、検索結果を送信する場合、検索でヒットしたデータの種類に応じた管理レベルを示す情報を検索結果に含める。またサーバ１００は、加工後のデータを提供する場合、加工後のデータの種別に応じた管理レベルを判定し、加工後のデータに、判定した管理レベルを示す情報を付与する。このように、サーバ１００は、データを保護するための管理レベルを自動判定し、データを適切に管理する。
【００３４】
以下の説明では、管理対象のデータの種別を、該当種別のデータに適用する管理レベルの名称とする。すなわち、個人情報用の管理レベルを、管理レベル「個人情報」とする。匿名加工情報用の管理レベルを、管理レベル「匿名加工情報」とする。統計情報用の管理レベルを、管理レベル「統計情報」とする。オープンデータ用の管理レベルを、管理レベル「オープンデータ」とする。個人情報を含まず、統計情報でもオープンデータでもないデータ用の管理レベルを、管理レベル「個人情報を含まない非統計情報」とする。
【００３５】
図３は、サーバのハードウェアの一構成例を示す図である。サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３６】
メモリ１０２は、サーバ１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に利用する各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００３７】
バス１０９に接続されている周辺機器としては、ストレージ装置１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００３８】
ストレージ装置１０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００３９】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、有機ＥＬ（Electro Luminescence）を用いた表示装置や液晶表示装置などがある。
【００４０】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４１】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４２】
機器接続インタフェース１０７は、サーバ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４３】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４４】
サーバ１００は、以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示したコンピュータ１０も、図３に示したサーバ１００と同様のハードウェアにより実現することができる。
【００４５】
サーバ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。サーバ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、サーバ１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。またサーバ１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４６】
図４は、データ流通基盤のサーバが実現する機能を示すブロック図である。データ流通基盤３０のサーバ１００は、ＰＤＳ（Personal Data Store）１１０、ＤＢ（DataBase）１２０、データ提供者情報記憶部１３０、データ取得部１４０、データ検索部１５０、データ加工部１６０、組み合わせパターン辞書記憶部１７０、データ管理レベル判定部１８０、およびデータ管理情報記憶部１９０を有する。
【００４７】
ＰＤＳ１１０は、個人情報を格納するためのデータベースである。サーバ１００は、ＰＤＳ１１０に格納されたデータを、そのデータの提供者の許可を受けずに外部に漏洩することがないように、厳重に管理する。
【００４８】
ＤＢ１２０は、個人情報以外のデータを記憶する。例えばＤＢ１２０には、匿名加工情報、統計情報、オープンデータなどが格納される。サーバ１００は、ＤＢ１２０に格納されたデータを、そのデータの種別に応じて適切に管理する。
【００４９】
データ提供者情報記憶部１３０は、データ提供者に関する情報（データ提供者情報）を記憶する。データ提供者情報は、データ流通基盤３０の管理者によって予め登録される。
データ取得部１４０は、個人使用の端末装置４１ａ，４１ｂ，・・・、企業運用のサーバ４２ａ，４２ｂ，・・・、公的機関運用のサーバ４３ａ，４３ｂ，・・・などのデータ提供者側の装置から、データを取得する。例えばデータ取得部１４０は、データ提供者側の装置からのデータ格納要求を受け付け、データ格納要求に示されるデータをその装置から取得する。またデータ取得部１４０は、所定のタイミングで、データ提供者側の装置に対してデータを要求して、その装置からデータを取得してもよい。データ取得部１４０は、データを取得すると、データ管理レベル判定部１８０に取得したデータの管理レベルの判定を依頼する。そしてデータ取得部１４０は、取得したデータに、そのデータの管理レベルを示すメタデータを付与し、ＰＤＳ１１０またはＤＢ１２０に格納する。例えばデータ取得部１４０は、取得したデータが個人情報であれば、そのデータをＰＤＳ１１０に格納する。またデータ取得部１４０は、取得したデータが個人情報以外の管理レベルのデータであれば、そのデータをＤＢ１２０に格納する。
【００５０】
データ検索部１５０は、データ利用者が運用するサーバ４４ａ，４４ｂ，・・・からの検索要求に応じて、ＰＤＳ１１０およびＤＢ１２０内のデータを検索し、検索結果を検索要求の送信元のサーバに送信する。データ検索部１５０は、例えば検索条件に合致したデータの名称とそのデータの管理レベルとを、検索結果に含める。
【００５１】
データ加工部１６０は、データ利用者が運用するサーバ４４ａ，４４ｂ，・・・からのデータ加工要求に応じて、ＰＤＳ１１０またはＤＢ１２０内のデータを加工する。データ加工部１６０は、加工後のデータをデータ管理レベル判定部１８０に送信し、データ管理レベル判定部１８０に管理レベルの判定を依頼する。加工後のデータの管理レベルが判明すると、データ加工部１６０は、管理レベルを付与した加工後のデータを、データ加工要求の送信元のサーバに送信する。
【００５２】
なおデータ加工部１６０は、データを加工するために、データ組み合わせ生成部１６１、匿名化実行部１６２、および統計化実行部１６３を有する。データ組み合わせ生成部１６１は、ＰＤＳ１１０またはＤＢ１２０内の異なるデータテーブルに登録されている複数のデータを組み合わせて、１つのデータテーブルを生成する。匿名化実行部１６２は、ＰＤＳ１１０内の個人情報の匿名化処理を行う。統計化実行部１６３は、ＰＤＳ１１０またはＤＢ１２０内のデータの統計情報を計算する。
【００５３】
組み合わせパターン辞書記憶部１７０は、複数の項目の値を組み合わせることで、個人を特定可能となるような項目の組み合わせパターンを示す組み合わせパターン辞書を記憶する。
【００５４】
データ管理レベル判定部１８０は、データの管理レベルを判定する。例えばデータ管理レベル判定部１８０は、データ取得部１４０からの依頼に基づいて、データ取得部１４０が取得したデータの管理レベルを判定する。またデータ管理レベル判定部１８０は、データ加工部１６０からの依頼に基づいて、データ加工部１６０による加工後のデータの管理レベルを判定する。データ管理レベル判定部１８０は、例えばデータ提供者情報記憶部１３０に格納されているデータ提供者情報に基づいて、データの管理レベルを判定する。
【００５５】
データ管理レベル判定部１８０は、例えば個人を特定可能な項目を含むデータの管理レベルは、個人情報と判定する。またデータ管理レベル判定部１８０は、取得したデータ内の複数の項目の値の組み合わせによって、個人が特定可能な場合、そのデータの管理レベルを個人情報と判定する。例えば取得したデータに年齢の項目と性別の項目とが含まれる場合がある。一般的には多数の人の年齢と性別とが判明しても、該当する個人を特定することはできない。例えばデータ内に「４５歳の女性」のレコードが複数回出現すれば、複数人の中の誰のレコードなのかまでは特定できないため、そのデータは匿名性があることになる。しかし、例えばデータ内に「４５歳の女性」のレコードが１つしかない場合、そのレコードに対応する個人が特定できてしまう。この場合、そのデータは十分な匿名性が確保できていない。そこでデータ管理レベル判定部１８０は、データ内の複数の項目の値を組み合わせたときの出現回数が所定値（例えば１回）以下のレコードが存在する場合、そのデータの管理レベルを「個人情報」と判定する。
【００５６】
またデータ管理レベル判定部１８０は、個人を特定できないように適切に加工されたデータの管理レベルは、匿名加工情報と判定する。データ管理レベル判定部１８０は、取得したデータが統計情報のみであれば、管理レベルを統計情報と判定する。さらにデータ管理レベル判定部１８０は、判定対象のデータが、例えば公的機関で公開された情報のみを含むデータであれば、そのデータの管理レベルをオープンデータと判定する。
【００５７】
なおデータ管理レベル判定部１８０は、組み合わせパターン辞書に登録されている項目の組み合わせについて、複数の項目の値を組み合わせたときの出現回数が所定値以下となる値を有するレコードの存在の有無を確認する。このように予め用意された組み合わせパターン辞書を利用することで、個人の特定につながる可能性の低い項目を含む項目の組み合わせについて、項目の値の希少性を確認せずにすみ、処理が効率化される。
【００５８】
データ管理情報記憶部１９０は、ＰＤＳ１１０またはＤＢ１２０に格納されたデータの管理情報を記憶する。データの管理情報には、そのデータの管理レベルを示すメタデータが含まれる。
【００５９】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００６０】
次に、図５〜図８を参照し、データ提供者情報について具体的に説明する。
図５は、データ提供者情報の一例を示す図である。データ提供者情報記憶部１３０には、データ提供者情報として、例えば法人契約管理テーブル１３１、ユーザ管理テーブル１３２、およびオープンデータカタログサイト管理テーブル１３３が格納されている。法人契約管理テーブル１３１は、データ提供の契約をしている法人に関する情報を登録するデータテーブルである。ユーザ管理テーブル１３２は、データ提供を行うユーザに関する情報を登録するデータテーブルである。オープンデータカタログサイト管理テーブル１３３は、一般に公開された情報を提供するサイトに関する情報を登録するデータテーブルである。データ提供者情報記憶部１３０に格納された各データテーブルの内容は、データ流通基盤３０の運用管理者によって管理される。
【００６１】
図６は、法人契約管理テーブルの一例を示す図である。法人契約管理テーブル１３１内の各レコードには、レコード番号（Ｎｏ．）に対応付けて、法人ＩＤ、法人名、契約日、住所、および連絡先が設定されている。法人ＩＤは、契約をしている法人（企業、公的機関など）の識別子である。法人名は、契約をしている法人の名称である。契約日は、法人がデータ提供の契約をした日付である。住所は、法人の所在地である。連絡先は、法人の連絡先を示す情報（例えば代表の電子メールアドレス）である。
【００６２】
図７は、ユーザ管理テーブルの一例を示す図である。ユーザ管理テーブル１３２内の各レコードには、レコード番号（Ｎｏ．）に対応付けて、ユーザＩＤ、契約種別、法人ＩＤ、アカウント作成日、メールアドレス、およびログインパスワードが設定されている。ユーザＩＤは、ユーザの名称である。契約種別は、ユーザが法人として契約をしているのか個人として契約しているのかに関する情報である。法人ＩＤは、ユーザが法人契約をしている場合の契約した法人の識別子である。アカウント作成日は、ユーザのアカウントをサーバ１００に作成した日付である。メールアドレスは、ユーザの電子メールのアドレスである。ログインパスワードは、ユーザが端末装置などを用いてサーバ１００にアクセスする際にサーバ１００にログインするためのパスワードである。
【００６３】
図８は、オープンデータカタログサイト管理テーブルの一例を示す図である。オープンデータカタログサイト管理テーブル１３３内の各レコードには、レコード番号（Ｎｏ．）に対応付けて、サイト名、運営者、およびＩＰ（Internet Protocol）アドレスが設定されている。サイト名は、オープンデータを公開しているサーバのネットワーク２０上の場所（サイト）を示す名称である。運営者は、オープンデータを公開しているサーバの運営者の名称である。ＩＰアドレスは、オープンデータを公開しているサーバのＩＰアドレスである。
【００６４】
次に、組み合わせパターン辞書について具体的に説明する。
図９は、組み合わせパターン辞書の一例を示す図である。組み合わせパターン辞書記憶部１７０に格納された組み合わせパターン辞書１７１には、項番に対応付けて、組み合わせることで個人を特定可能な項目の組み合わせパターンが登録されている。
【００６５】
組み合わせパターン辞書１７１に示される項目の組み合わせに関しては、複数の項目を組み合わせたとき、その項目の値を組み合わせに唯一性があるレコードの有無が、データ管理レベル判定部１８０によって判定される。そして唯一性のあるレコードが検出された場合、そのデータの管理レベルが「個人情報」と判定される。
【００６６】
次に、データ管理情報について具体的に説明する。ＰＤＳ１１０またはＤＢ１２０にデータが格納された場合、そのデータの管理情報がデータ管理情報記憶部１９０に格納される。
【００６７】
図１０は、データ管理情報記憶部内のデータ管理情報の一例を示す図である。データ管理情報記憶部１９０には、例えばデータ管理テーブル１９１が格納される。データ管理テーブル１９１には、データ名称、データ格納場所、データサイズ、登録／作成日時、最終更新日時、管理レベルの欄が設けられている。
【００６８】
データ名称の欄には、ＰＤＳ１１０またはＤＢ１２０に格納されたデータの名称が設定される。データ格納場所の欄には、データの格納場所がＰＤＳ１１０なのかＤＢ１２０なのかが設定される。データサイズの欄には、格納されたデータのサイズが設定される。登録／作成日時の欄には、データの登録または作成日時が設定される。例えばデータ取得部１４０が取得したデータに関しては、登録／作成日時の欄に登録日時が設定される。またデータ加工部１６０が加工したデータに関しては、登録／作成日時の欄に作成日時が設定される。最終更新日時の欄には、データの最新の更新日時が設定される。管理レベルの欄には、データの管理レベルを示すメタデータが設定される。
【００６９】
次にデータ取得時のデータ管理レベルの判定処理について具体的に説明する。
図１１は、データ取得時のデータ管理レベル判定処理の手順の一例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【００７０】
［ステップＳ１０１］データ管理レベル判定部１８０は、取得したデータが個人保有のデータか否かを判断する。例えばデータ管理レベル判定部１８０は、ユーザ管理テーブル１３２を参照し、データ提供者がサーバ１００へのログインに使ったアカウントの契約種別が「個人」か否かを判断する。データ管理レベル判定部１８０は、契約種別が「個人」であれば、取得したデータは個人保有のデータであると判断する。データ管理レベル判定部１８０は、取得したデータが個人保有のデータであれば、処理をステップＳ１０９に進める。またデータ管理レベル判定部１８０は、取得したデータが個人保有のデータでなければ、処理をステップＳ１０２に進める。
【００７１】
［ステップＳ１０２］データ管理レベル判定部１８０は、取得したデータが、オープンデータカタログサイトから取得したデータか否かを判断する。例えばデータ管理レベル判定部１８０は、データの取得元のＩＰアドレスが、オープンデータカタログサイト管理テーブル１３３に登録されていれば、オープンデータカタログサイトから取得したデータであると判断する。データ管理レベル判定部１８０は、取得したデータが、オープンデータカタログサイトから取得したデータであれば、処理をステップＳ１０３に進める。またデータ管理レベル判定部１８０は、取得したデータが、オープンデータカタログサイトから取得したデータでなければ、処理をステップＳ１０４に進める。
【００７２】
［ステップＳ１０３］データ管理レベル判定部１８０は、取得したデータの管理レベルをオープンデータと判定する。データ管理レベル判定部１８０は、判定結果をデータ取得部１４０に通知する。データ取得部１４０は、取得したデータを、オープンデータであることを示すメタデータに関連付けてＤＢ１２０に格納する。例えばデータ取得部１４０は、取得したデータをＤＢ１２０に格納すると共に、格納したデータの名称と管理レベル「オープンデータ」とを含むレコードを、データ管理テーブル１９１に登録する。その後、データ管理レベル判定部１８０は、データ管理レベル判定処理を終了する。
【００７３】
［ステップＳ１０４］データ管理レベル判定部１８０は、取得したデータに、個人の属性を示す項目（個人属性項目）があるか否かを判断する。個人属性項目は、例えば項目名（スキーマ）が氏名、ユーザＩＤ、メールアドレス、住所などの項目である。またＳＮＳ（Social Networking Service）のアカウント名、クレジットカード番号、銀行口座番号、マイナンバーなども、個人と１対１で対応付けられており、個人属性項目に該当する。データ管理レベル判定部１８０は、個人の属性を示す項目があれば、処理をステップＳ１０５に進める。またデータ管理レベル判定部１８０は、個人の属性を示す項目がなければ、処理をステップＳ１０６に進める。
【００７４】
［ステップＳ１０５］データ管理レベル判定部１８０は、個人の属性を示す項目に具体的な値が設定されているか否かを判断する。例えばデータ管理レベル判定部１８０は、個人の属性を示す項目の値の設定領域が空欄の場合、具体的な値が設定されていないと判断する。例えば個人情報が匿名加工された場合、個人の属性を示す項目の値の設定領域が空欄となる。
【００７５】
匿名加工は、複数の属性の値を組み合わせても個人を特定できないように、値を曖昧化する処理である。例えば匿名加工では、項目の項目名（スキーマ）に応じて以下のような処理が行われる。
・氏名：すべて削除、またはランダムな値に置き換え
・メールアドレス：ドメイン名（＠以下）だけ残し、それ以外を削除
・住所：県名や市町村名までにカット
・郵便番号：上位３ケタだけにカット
・年齢：年代に曖昧化
・個人特定につながる特異な値／珍しい値を削除
データ管理レベル判定部１８０は、個人の属性を示す項目に具体的な値が設定されている場合、処理をステップＳ１０９に進める。またデータ管理レベル判定部１８０は、個人の属性を示す項目に具体的な値が設定されていない場合、処理をステップＳ１０６に進める。
【００７６】
［ステップＳ１０６］データ管理レベル判定部１８０は、取得したデータに、個人特定につながる項目を示す項目名があるか否かを判断する。例えばデータ管理レベル判定部１８０は、組み合わせパターン辞書１７１に示されている項目の組み合わせパターンのいずれか１つに含まれる項目は、個人特定につながる項目であるものとする。データ管理レベル判定部１８０は、個人特定につながる項目がある場合、処理をステップＳ１０７に進める。またデータ管理レベル判定部１８０は、該当項目がなければ、処理をステップＳ１１１に進める。
【００７７】
［ステップＳ１０７］データ管理レベル判定部１８０は、項目の組み合わせによる個人特定の可能性判定処理を行う。この処理では、データ内の所定の複数の項目の値を組み合わせが唯一となるレコードが存在するか否かが判断される。そのようなレコードが存在する場合、該当項目の値に基づいて個人を特定可能となる。項目の組み合わせによる個人特定の可能性判定処理の詳細は後述する（図１２参照）。
【００７８】
［ステップＳ１０８］データ管理レベル判定部１８０は、項目の組み合わせによる個人特定の可能性判定により個人特定が可能と判定したか否かを判断する。データ管理レベル判定部１８０は、個人特定が可能と判定した場合、処理をステップＳ１０９に進める。またデータ管理レベル判定部１８０は、個人特定が不可能と判定した場合、処理をステップＳ１１０に進める。
【００７９】
［ステップＳ１０９］データ管理レベル判定部１８０は、取得したデータの管理レベルを「個人情報」と判定する。データ管理レベル判定部１８０は、判定結果をデータ取得部１４０に通知する。データ取得部１４０は、取得したデータを、個人情報であることを示すメタデータに関連付けてＰＤＳ１１０に格納する。例えばデータ取得部１４０は、取得したデータをＰＤＳ１１０に格納すると共に、格納したデータの名称と管理レベル「個人情報」とを含むレコードを、データ管理テーブル１９１に登録する。その後、データ管理レベル判定部１８０は、データ管理レベル判定処理を終了する。
【００８０】
［ステップＳ１１０］データ管理レベル判定部１８０は、取得したデータの管理レベルを「匿名加工情報」と判定する。データ管理レベル判定部１８０は、判定結果をデータ取得部１４０に通知する。データ取得部１４０は、取得したデータを、匿名加工情報であることを示すメタデータに関連付けてＤＢ１２０に格納する。例えばデータ取得部１４０は、取得したデータをＤＢ１２０に格納すると共に、格納したデータの名称と管理レベル「匿名加工情報」とを含むレコードを、データ管理テーブル１９１に登録する。その後、データ管理レベル判定部１８０は、データ管理レベル判定処理を終了する。
【００８１】
［ステップＳ１１１］データ管理レベル判定部１８０は、取得したデータの項目が、統計の項目のみか否かを判断する。例えばデータ管理レベル判定部１８０は、取得したデータのすべての項目の項目名（スキーマ）が、統計対象の名称と、その統計対象の統計量を表す名称（平均値、最頻値、最大値、最小値、中央値、標準偏差など）のみであれば、取得したデータの項目が、統計の項目のみであると判断する。データ管理レベル判定部１８０は、取得したデータの項目が、統計の項目のみであれば、処理をステップＳ１１３に進める。またデータ管理レベル判定部１８０は、取得したデータの項目に、統計の項目ではない項目が少なくとも１つ含まれていれば、処理をステップＳ１１２に進める。
【００８２】
［ステップＳ１１２］データ管理レベル判定部１８０は、取得したデータの管理レベルを、「個人情報を含まない非統計情報」と判定する。データ管理レベル判定部１８０は、判定結果をデータ取得部１４０に通知する。データ取得部１４０は、取得したデータを、個人情報を含まない非統計情報であることを示すメタデータに関連付けてＤＢ１２０に格納する。例えばデータ取得部１４０は、取得したデータをＤＢ１２０に格納すると共に、格納したデータの名称と管理レベル「個人情報を含まない非統計情報」とを含むレコードを、データ管理テーブル１９１に登録する。その後、データ管理レベル判定部１８０は、データ管理レベル判定処理を終了する。
【００８３】
［ステップＳ１１３］データ管理レベル判定部１８０は、取得したデータの管理レベルを「統計情報」と判定する。データ管理レベル判定部１８０は、判定結果をデータ取得部１４０に通知する。データ取得部１４０は、取得したデータを、統計情報であることを示すメタデータに関連付けてＤＢ１２０に格納する。例えばデータ取得部１４０は、取得したデータをＤＢ１２０に格納すると共に、格納したデータの名称と管理レベル「統計情報」とを含むレコードを、データ管理テーブル１９１に登録する。その後、データ管理レベル判定部１８０は、データ管理レベル判定処理を終了する。
【００８４】
次に、項目の組み合わせによる個人特定の可能性判定処理について詳細に説明する。
図１２は、項目の組み合わせによる個人特定の可能性判定処理の手順の一例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【００８５】
［ステップＳ１２１］データ管理レベル判定部１８０は、判定対象の項番を示す変数Ｎに初期値「１」を設定する。
［ステップＳ１２２］データ管理レベル判定部１８０は、取得したデータに、組み合わせパターン辞書１７１における項番が「Ｎ」の組み合わせたパターンに示される項目があるか否かを判断する。データ管理レベル判定部１８０は、該当項目がある場合、処理をステップＳ１２３に進める。またデータ管理レベル判定部１８０は、該当項目がない場合、処理をステップＳ１２７に進める。
【００８６】
［ステップＳ１２３］データ管理レベル判定部１８０は、取得したデータの各レコードから、項番が「Ｎ」の組み合わせたパターンに示される項目の値を抽出する。
［ステップＳ１２４］データ管理レベル判定部１８０は、抽出した値の組み合わせをレコード間で比較し、唯一性のある組み合わせを有するレコ−ドの有無を確認する。例えばデータ管理レベル判定部１８０は、取得したデータ内の複数のレコードそれぞれを確認対象とし、確認対象のレコードから抽出した項目の値の組み合わせを、他のレコードそれぞれから抽出した項目の値の組み合わせと比較する。データ管理レベル判定部１８０は、比較の結果、一致する項目の値の組み合わせを有するレコードが存在しなければ、確認対象のレコードは、唯一性のあるレコードであると判断する。
【００８７】
［ステップＳ１２５］データ管理レベル判定部１８０は、唯一性のあるレコードが少なくとも１つ存在するか否かを判断する。データ管理レベル判定部１８０は、唯一性のあるレコードが少なくとも１つ存在する場合、処理をステップＳ１２６に進める。またデータ管理レベル判定部１８０は、唯一性のあるレコードが存在しない場合、処理をステップＳ１２７に進める。
【００８８】
［ステップＳ１２６］データ管理レベル判定部１８０は、個人を特定可能と判定し、処理を終了する。
［ステップＳ１２７］データ管理レベル判定部１８０は、変数Ｎの値に「１」を加算する。
【００８９】
［ステップＳ１２８］データ管理レベル判定部１８０は、変数Ｎの値が、組み合わせパターン辞書１７１の項番の最大値より大きいか否かを判断する。データ管理レベル判定部１８０は、変数Ｎの値が項番の最大値を超えている場合、処理をステップＳ１２９に進める。またデータ管理レベル判定部１８０は、変数Ｎの値が項番の最大値以下であれば、処理をステップＳ１２２に進める。
【００９０】
［ステップＳ１２９］データ管理レベル判定部１８０は、個人を特定不可能と判定し、処理を終了する。
このようにして、取得したデータの管理レベルが判定される。以下、図１３〜図２２を参照して、取得したデータの管理レベルの具体的な判定例について説明する。
【００９１】
図１３は、管理レベルの第１の判定例を示す図である。図１３には、歩数データ５１を取得した場合の例が示されている。歩数データ５１は、個人が所有する歩数計で計測した日々の歩数を示すデータである。歩数データ５１には、個人の属性を示す項目「氏名」が含まれており、その項目には、個人を特定できる具体的なデータが記録されている。従って、歩数データ５１の管理レベルは「個人情報」と判定され、歩数データ５１はＰＤＳ１１０に格納される。
【００９２】
図１４は、管理レベルの第２の判定例を示す図である。図１４には、企業が保有するクレジットカード利用履歴５２を取得した場合の例が示されている。クレジットカード利用履歴５２は、企業が発行したクレジットカードのユーザによる利用履歴を示すデータである。クレジットカード利用履歴５２には、個人の属性を示す項目「カード名義」が含まれており、その項目には、個人を特定できる具体的なデータが記録されている。従って、クレジットカード利用履歴５２の管理レベルは「個人情報」と判定され、クレジットカード利用履歴５２はＰＤＳ１１０に格納される。
【００９３】
図１５は、管理レベルの第３の判定例を示す図である。図１５には、企業が匿名加工を施したクレジットカード利用履歴５３を取得した場合の例が示されている。クレジットカード利用履歴５３には、個人の属性を示す項目「カード名義」が含まれているが、その項目には、個人を特定できる具体的なデータが記録されていない。またクレジットカード利用履歴５３には、個人特定につながる属性の項目「性別」、「年齢」が含まれているが、年齢の値は、歳の年代に置き換えられており、該当項目には個人を特定できる具体的な値は含まれていない。従って、クレジットカード利用履歴５３の管理レベルは「匿名加工情報」と判定され、クレジットカード利用履歴５３はＤＢ１２０に格納される。
【００９４】
図１６は、管理レベルの第４の判定例を示す図である。図１６には、健康保険組合が保有する健診データ５４を取得した場合の例が示されている。健診データ５４は、健康保険組合への加盟者に対して行った健康診断の結果を記録したデータである。健診データ５４には、個人の属性を示す項目「氏名」が含まれており、その項目には、個人を特定できる具体的なデータが記録されている。従って、健診データ５４の管理レベルは「個人情報」と判定され、健診データ５４はＰＤＳ１１０に格納される。
【００９５】
図１７は、管理レベルの第５の判定例を示す図である。図１７には、健康保険組合が匿名加工を施した健診データ５５を取得した場合の例が示されている。健診データ５５には、個人の属性を示す項目「氏名」が含まれているが、その項目には、個人を特定できる具体的なデータが記録されていない。また健診データ５５には、個人特定につながる属性の項目「性別」、「生年月日」、「年齢」、「身長」、「体重」、「血圧」が含まれている。ただし、これらの項目のうち「生年月日」の値は削除されており、「年齢」、「身長」、「体重」の値は、所定の幅を持った区間を示す値に置き換えられている。従って、健診データ５５の管理レベルは「匿名加工情報」と判定され、健診データ５５はＤＢ１２０に格納される。
【００９６】
図１８は、管理レベルの第６の判定例を示す図である。図１８には、統計処理を行った後の健診データ５６を取得した場合の例が示されている。健診データ５６には、個人の属性を示す項目がなく、かつ個人特定につながる項目もない。健診データ５６に含まれているのは、統計量の計算対象を示す項目「病名」を除くと、統計量を示す項目「合計人数」、「平均年齢」、「最低年齢」、「最高年齢」のみである。従って、健診データ５６の管理レベルは「統計情報」と判定され、健診データ５６はＤＢ１２０に格納される。
【００９７】
図１９は、管理レベルの第７の判定例を示す図である。図１９には、企業が保有する工場Ａのインフラの稼働ログ５７を取得した場合の例が示されている。稼働ログ５７には、工場の設備ごとに、毎日の稼働の有無が示されている。稼働ログ５７には、個人の属性を示す項目がなく、個人特定につながる属性の項目もない。また稼働ログ５７の項目は、統計情報の項目だけというわけでもない。従って、稼働ログ５７の管理レベルは、「個人情報を含まない非統計情報」と判定され、稼働ログ５７はＤＢ１２０に格納される。
【００９８】
図２０は、管理レベルの第８の判定例を示す図である。図２０には、企業が保有する店舗の来客数と売上に関する集計データ５８を取得した場合の例が示されている。集計データ５８には、店舗ごとに、毎月の来客人数計と売上計とが示されている。集計データ５８には、個人の属性を示す項目がなく、個人特定につながる属性の項目もない。また集計データ５８に含まれているのは、統計量の計算対象を示す項目「店舗名」を除くと、統計量である合計値を示す項目「来客人数計」、「売上計」のみである。従って、集計データ５８の管理レベルは「統計情報」と判定され、集計データ５８はＤＢ１２０に格納される。
【００９９】
図２１は、管理レベルの第９の判定例を示す図である。図２１には、自治体（県）がオープンデータとして公開した市町村の人口推移に関する人口統計データ５９を取得した場合の例が示されている。人口統計データ５９には、市ごとに、各年の人口が示されている。人口統計データ５９は、自治体のオープンデータカタログサイトで提供されたものである。従って、人口統計データ５９の管理レベルは「オープンデータ」と判定され、人口統計データ５９はＤＢ１２０に格納される。
【０１００】
図２２は、管理レベルの第１０の判定例を示す図である。図２２には、セミナー受講者リスト６０を取得した場合の例が示されている。セミナー受講者リスト６０には、セミナー受講者ごとに、姓、所属する会社の会社名、セミナー受講者の社内での役職名、およびセミナーの受講日が設定されている。セミナー受講者の姓、会社名、役職名、および受講日は、単独では個人属性を示すものではない。この場合、データ管理レベル判定部１８０が、図９に示した組み合わせパターン辞書１７１に基づいて、唯一性のあるレコードの存在の有無を判定する。
【０１０１】
組み合わせパターン辞書１７１の項番「１」〜「５」については、項目の組み合わせパターンに該当する項目の組み合わせが、セミナー受講者リスト６０内に存在しない。組み合わせパターン辞書１７１の項番「６」の項目の組み合わせパターン「姓、会社名」は、いずれの項目もセミナー受講者リスト６０内に存在する。そこでデータ管理レベル判定部１８０は、セミナー受講者リスト６０から項目「姓」、「会社名」を抽出し、抽出した項目の値が同一となるレコードが他にないレコード（唯一性のあるレコード）の有無を判断する。図２２の例では、項目「姓」、「会社名」の組み合わせパターンについては、唯一性のあるレコードは存在しない。
【０１０２】
組み合わせパターン辞書１７１の項番「７」の項目の組み合わせパターン「姓、会社名、役職名」は、いずれの項目もセミナー受講者リスト６０内に存在する。そこでデータ管理レベル判定部１８０は、セミナー受講者リスト６０から項目「姓」、「会社名」、「役職名」を抽出し、抽出した項目の値が同一となるレコードが他にないレコード（唯一性のあるレコード）の有無を判断する。図２２の例では、項目「姓」の値が「佐藤」、項目「会社名」の値が「Ａ社」、項目「役職名」の値が「部長」であるレコードは１つしか存在せず、このレコードは唯一性がある。また項目「姓」の値が「佐藤」、項目「会社名」の値が「Ａ社」、項目「役職名」の値が空欄のレコードも１つしか存在せず、このレコードも唯一性がある。この場合、セミナー受講者リスト６０の管理レベルは「個人情報」と判定され、セミナー受講者リスト６０はＰＤＳ１１０に格納される。
【０１０３】
このように、取得したデータには適切な管理レベルが設定され、サーバ１００内では管理レベルに応じて管理される。例えば、サーバ１００は、管理レベルが「個人情報」のデータについては、アクセス可能なユーザを制限して、データの内容が、そのデータの提供者の許可なしに外部に漏れることのないように管理する。またサーバ１００は、匿名加工情報については、例えば法律で禁止されている使い方をしないように管理する。さらにサーバ１００は、統計情報については、例えば不特定多数に公開しないように管理する。オープンデータについては、公開されているデータなので、特別な管理を行う理由はない。そこでサーバ１００は、オープンデータについては、例えばサーバ１００にアクセス可能なユーザであれば誰でも閲覧可能な領域に、オープンデータを格納する。
【０１０４】
サーバ１００に格納されたデータの利用者は、例えばデータの利用者が運用するサーバ４４ａ，４４ｂを介して、サーバ１００内のデータを取得できる。例えばデータの利用者は、サーバ４４ａを用いて、検索画面に検索条件を入力する。するとサーバ４４ａからデータを保持するサーバ１００に、その検索条件による検索要求が送信される。サーバ１００では、データ検索部１５０が検索要求に応じてデータの検索を実行し、検索条件に合致するデータの一覧を、検索結果としてサーバ４４ａに送信する。検索結果には、検索条件に合致するデータの管理レベルを示す情報が含まれる。サーバ４４ａは、例えば検索画面内に検索結果を表示する。
【０１０５】
図２３は、検索画面の一例を示す図である。検索画面７０には、例えば検索キーワード入力用のテキストボックス７１と検索結果表示領域７２とが含まれる。テキストボックス７１は、検索条件を表すキーワードの入力領域である。検索結果表示領域７２は、検索条件に合致するデータの一覧の表示領域である。
【０１０６】
図２３の例では、テキストボックス７１に「購買行動データ」と入力されている。この場合、サーバ１００では、購買行動に関連するデータを、ＰＤＳ１１０またはＤＢ１２０から検索し、該当するデータの名称を管理レベルごとに分類し、検索結果情報を生成する。検索結果情報は、サーバ１００からサーバ４４ａに送信され、検索画面７０内に表示される。
【０１０７】
このような検索画面７０を、例えばデータ利用者が使用する端末装置に表示することで、データ利用者は、データを入手する前に、どんな管理レベルが求められるデータであるかを容易に把握できるようになる。その結果、データ管理の効率化が図れる。
【０１０８】
またデータ利用者は、例えば検索画面７０に示されたデータの名称を指定して、データ流通基盤３０からデータを購入してダウンロードしたり、指定したデータの加工要求を指示したりすることができる。例えばデータ利用者は、検索画面７０で見つかったデータを選択して詳細情報の表示指示を入力する。すると、サーバ４４ａによりデータ加工要求画面が表示される。
【０１０９】
図２４は、データ加工要求画面の一例を示す図である。データ加工要求画面８０には、選択したデータ（Ａさんの食事ログ）の入手や加工を指示するボタン８１〜８４が表示されている。
【０１１０】
ボタン８１は、選択したデータのダウンロードを指示するボタンである。選択されたデータの管理レベルが「個人情報」の場合、ボタン８１の横には、データを個人情報として厳重に管理することに同意することを示すチェックボックス８６が表示される。チェックボックス８６がチェックされた後にボタン８１が押下されると、選択したデータのダウンロード処理が開始される。
【０１１１】
ボタン８２は、データの匿名加工を指示するボタンである。ボタン８２が押下されると、選択したデータの匿名加工がサーバ１００において実施され、匿名加工済みのデータが加工結果としてサーバ４４ａに送られる。
【０１１２】
ボタン８３は、データの統計情報への加工を指示するボタンである。ボタン８３が押下されると、選択したデータの統計情報への加工がサーバ１００において実施され、統計情報が加工結果としてサーバ４４ａに送られる。
【０１１３】
ボタン８４は、他のデータと組み合わせる加工を指示するボタンである。ボタン８４が押下されると、組み合わせ対象とする他のデータの選択画面が表示される。データ利用者が他のデータを選択すると、選択したデータを組み合わせた新たなデータがサーバ１００において生成され、生成されたデータが加工結果としてサーバ４４ａに送られる。
【０１１４】
ボタン８５は、データの検索画面７０を表示させるためのボタンである。ボタン８５が押下されると、画面が検索画面７０に遷移する。
サーバ４４ａが表示したデータ加工要求画面８０に対して、データ利用者がデータ加工の指示を入力すると、サーバ４４ａは、データ加工要求をサーバ１００に送信する。すると、サーバ１００のデータ加工部１６０が、データ加工要求に応じたデータ加工処理を実行する。データ加工部１６０がデータを加工すると、加工後のデータについて、データ管理レベル判定部１８０が管理レベルを判定する。
【０１１５】
図２５は、加工データの管理レベル判定処理の手順の一例を示すフローチャートである。以下、図２５に示す処理をステップ番号に沿って説明する。
［ステップＳ２０１］データ管理レベル判定部１８０は、データ加工処理において、複数のデータを組み合わせたか否かを判断する。データ管理レベル判定部１８０は、複数のデータを組み合わせたデータ加工処理が行われた場合、処理をステップＳ２０３に進める。またデータ管理レベル判定部１８０は、１つのデータに対するデータ加工処理が行われた場合、処理をステップＳ２０２に進める。
【０１１６】
［ステップＳ２０２］データ管理レベル判定部１８０は、加工元のデータの管理レベルを加工後のデータの管理レベルに設定する。その後、データ管理レベル判定部１８０は、処理をステップＳ２０４に進める。
【０１１７】
［ステップＳ２０３］データ管理レベル判定部１８０は、加工元のデータそれぞれに適用される管理レベルのうちの最も厳しい管理レベルを、加工後のデータの管理レベルとして設定する。
【０１１８】
［ステップＳ２０４］データ管理レベル判定部１８０は、データ加工処理において匿名加工を実施したか否かを判断する。データ管理レベル判定部１８０は、匿名加工が実施されている場合、処理をステップＳ２０５に進める。またデータ管理レベル判定部１８０は、匿名加工が実施されていない場合、処理をステップＳ２０６に進める。
【０１１９】
［ステップＳ２０５］データ管理レベル判定部１８０は、加工後のデータの管理レベルを「匿名加工情報」に変更し、処理をステップＳ２１３に進める。
［ステップＳ２０６］データ管理レベル判定部１８０は、データ加工処理において個人属性を示す項目をすべて削除したか否かを判断する。データ管理レベル判定部１８０は、個人属性を示す項目がすべて削除されている場合、処理をステップＳ２０７に進める。またデータ管理レベル判定部１８０は、個人属性を示す項目が残っている場合、処理をステップＳ２０８に進める。
【０１２０】
［ステップＳ２０７］データ管理レベル判定部１８０は、加工後のデータの管理レベルを「個人情報を含まない非統計情報」に変更し、管理レベル判定処理を終了する。
［ステップＳ２０８］データ管理レベル判定部１８０は、データ加工処理において統計化の加工を実施したか否かを判断する。データ管理レベル判定部１８０は、統計化が行われている場合、処理をステップＳ２０９に進める。またデータ管理レベル判定部１８０は、統計化が行われていなければ、処理をステップＳ２１０に進める。
【０１２１】
［ステップＳ２０９］データ管理レベル判定部１８０は、加工後のデータの管理レベルを「統計情報」に変更し、管理レベル判定処理を終了する。
［ステップＳ２１０］データ管理レベル判定部１８０は、加工後のデータの管理レベルが「個人情報」か否かを判断する。データ管理レベル判定部１８０は、管理レベルが「個人情報」であれば、処理をステップＳ２１１に進める。またデータ管理レベル判定部１８０は、管理レベルが「個人情報」でなければ、処理をステップＳ２１２に進める。
【０１２２】
［ステップＳ２１１］データ管理レベル判定部１８０は、データ加工要求の送信元のサーバ４４ａに、加工後のデータについて、個人情報としての厳重管理を促す警告メッセージを送信する。その後、データ管理レベル判定部１８０は管理レベル判定処理を終了する。
【０１２３】
［ステップＳ２１２］データ管理レベル判定部１８０は、加工後のデータの管理レベルが「匿名加工情報」か否かを判断する。データ管理レベル判定部１８０は、管理レベルが「匿名加工情報」であれば、処理をステップＳ２１３に進める。またデータ管理レベル判定部１８０は、管理レベルが「匿名加工情報」でなければ、管理レベル判定処理を終了する。
【０１２４】
［ステップＳ２１３］データ管理レベル判定部１８０は、データ加工要求の送信元のサーバ４４ａに、加工後のデータについて、匿名加工情報としての管理を促す警告メッセージを送信する。
【０１２５】
このようにして、加工したデータについては、加工元のデータの管理レベルと加工内容とに応じて、管理レベルが決定される。
図２６は、加工データの管理レベル判定処理の第１の例を示す図である。図２６には、健診データ６１と歩数データ６２とを組み合わせて、結合データ６３を生成した場合の例が示されている。健診データ６１の管理レベルは「個人情報」であり、歩数データ６２の管理レベルも「個人情報」である。健診データ６１と歩数データ６２とを組み合わせた結合データ６３は、例えば運動量（歩数）とメタボリックシンドロームや各種の病気との相関関係の分析に利用できる。
【０１２６】
結合データ６３は、加工元のデータの管理レベルが「個人情報」であり、個人属性を示す項目「氏名」が削除されずに残されているため、このままでは管理レベルは「個人情報」となる。データ加工処理において、結合データ６３に対して匿名加工を行った場合、例えば「氏名」の項目の値が削除される。匿名加工後の結合データ６４の管理レベルは「匿名加工情報」となる。
【０１２７】
図２７は、加工データの管理レベル判定処理の第２の例を示す図である。図２７には、年単位での店舗の来客数の集計データ６５と、自治体がオープンデータとして公開した市町村の人口構成の推移データ６６とを組み合わせて、結合データ６７を生成した場合の例が示されている。店舗の来客数の集計データ６５の管理レベルは「統計情報」である。また市町村の人口構成の推移データ６６の管理レベルは「オープンデータ」である。店舗の来客数の集計データ６５と市町村の人口構成の推移データ６６とを組み合わせた結合データ６７は、例えば今後の売上予測やマーケティング戦略の策定に利用することができる。
【０１２８】
結合データ６７には、加工元のデータの管理レベルのうちの、厳しい方の管理レベルが適用される。従って、結合データ６７の管理レベルは「統計情報」となる。
このように加工データについても適切な管理レベルを判定し、データ利用者に加工データの適切な管理を促すことができる。
【０１２９】
〔その他の実施の形態〕
第２の実施の形態では、複数の項目の値を組み合わせて個人を特定可能となる条件として、唯一性のあるレコードの存在の有無を判断しているが、唯一性がなくても希少性のあるレコードが存在する場合、個人を特定可能と判断してもよい。例えばデータ管理レベル判定部１８０は、複数の項目の値の組み合わせが同一となるレコードが所定数以下の場合、それらのレコードは希少性があると判断し、そのレコードを含むデータは個人を特定可能であると判断する。
【０１３０】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１３１】
１ａ〜１ｃ  装置
２ａ〜２ｄ  データ
３ａ〜３ｄ  管理情報
４  オープンデータ位置情報
１０  コンピュータ
１１  記憶部
１２  処理部
【図１】
2020046920.tif 000003
【図２】
2020046920.tif 000004
【図３】
2020046920.tif 000005
【図４】
2020046920.tif 000006
【図５】
2020046920.tif 000007
【図６】
2020046920.tif 000008
【図７】
2020046920.tif 000009
【図８】
2020046920.tif 000010
【図９】
2020046920.tif 000011
【図１０】
2020046920.tif 000012
【図１１】
2020046920.tif 000013
【図１２】
2020046920.tif 000014
【図１３】
2020046920.tif 000015
【図１４】
2020046920.tif 000016
【図１５】
2020046920.tif 000017
【図１６】
2020046920.tif 000018
【図１７】
2020046920.tif 000019
【図１８】
2020046920.tif 000020
【図１９】
2020046920.tif 000021
【図２０】
2020046920.tif 000022
【図２１】
2020046920.tif 000023
【図２２】
2020046920.tif 000024
【図２３】
2020046920.tif 000025
【図２４】
2020046920.tif 000026
【図２５】
2020046920.tif 000027
【図２６】
2020046920.tif 000028
【図２７】
2020046920.tif 000029