(57)【特許請求の範囲】
【請求項１】
セキュリティ又はプライバシのポリシーを共有しないそれぞれの国のうち１つの国である第１ドメインに設置されたサーバにより提供されるアプリケーションから要求されたデータを、前記第１ドメインと異なる国の第２ドメインに設置されたサーバから抽出して、前記アプリケーションに返す、前記第１ドメイン以外のドメインに設置されるセキュリティゲートウェイ装置であって、
前記アプリケーションの種別及び前記データの種別で指定されたデータベースに対応付けて、前記第１ドメインごとの前記データの提供期間を規定するセキュリティポリシーを記憶するセキュリティポリシー記憶部と、
前記第１ドメインの認証局により発行されたプライバシ証明書であって、当該プライバシ証明書の発行国と、前記アプリケーションのＩＰアドレスと、前記アプリケーションの種別と、前記アプリケーションが取得可能なデータを提供するＤＢサーバの設置国と、前記データの種別とを含む前記プライバシ証明書が示す前記プライバシ証明書の発行国である前記第１ドメインと、前記セキュリティポリシーで前記第１ドメインに規定された、前記アプリケーションの種別及び前記データの種別で指定されたデータベースに対応付けられた提供期間と、前記提供期間を決定する時の時刻と、に基づいて算出した前記アプリケーションが前記データにアクセスするための有効期限が設定された、前記アプリケーションにより前記データを取得するためのトークンを生成し、生成された前記トークンを前記アプリケーションに返すアクセス制御部と、
を備えるセキュリティゲートウェイ装置。
【請求項２】
前記セキュリティポリシーは、前記アプリケーションの種別及び前記データの種別で指定されたデータベースごとにプライバシの有無を規定し、
前記トークンを有する前記アプリケーションからの要求に対し、前記トークンを有するアプリケーションの種別及び前記データの種別で指定されたデータベースに対応付けられたプライバシ情報における前記プライバシの有無に基づいて前記データを加工するか否かを制御するプライバシ制御部を備える、請求項１に記載のセキュリティゲートウェイ装置。
【請求項３】
前記プライバシ制御部は、前記トークンを有する前記アプリケーションからの要求に対し、前記データの所有者ごとのプライバシポリシーに基づいて、前記データを選別する、請求項２に記載のセキュリティゲートウェイ装置。
【請求項４】
前記プライバシポリシーは、前記アプリケーションの種別及び前記データの種別で指定されたデータベースに対応付けて、前記データの所有者ごとに、前記データの提供を許可するか否かを規定し、
前記プライバシ制御部は、前記プライバシポリシーに基づいて、前記データの所有者が許可したデータを抽出する、請求項３に記載のセキュリティゲートウェイ装置。
【請求項５】
前記データの所有者の識別子と属性とが対応付けられているユーザデータベースを備え、
前記プライバシ制御部は、前記アプリケーションから抽出対象の前記属性に関する条件を受信した場合、前記ユーザデータベースにより前記条件を満たす所有者を特定し、当該所有者に関するデータを抽出する、請求項２から４のいずれか一項に記載のセキュリティゲートウェイ装置。
【請求項６】
前記セキュリティポリシーは、複数の管理者ごとに設定され、
前記プライバシ制御部は、前記セキュリティポリシーにおいて前記複数の管理者のいずれかにより前記データがプライバシに関わると規定されている場合に、前記データがプライバシに関わると判断する、請求項２から５のいずれか一項に記載のセキュリティゲートウェイ装置。
【請求項７】
前記セキュリティポリシーは、複数の管理者ごとに設定され、
前記アクセス制御部は、前記複数の管理者に対応付けられた前記データの提供期間のうち最も短い期間に基づいて、前記トークンの有効期限を設定する、請求項１から６のいずれか一項に記載のセキュリティゲートウェイ装置。
【請求項８】
前記アクセス制御部は、前記トークンを共通鍵とするメッセージ認証コードにより、前記アプリケーションからの前記データの要求の正当性を検証する、請求項１から７のいずれか一項に記載のセキュリティゲートウェイ装置。
【請求項９】
請求項１に記載のセキュリティゲートウェイ装置が実行する方法であって、
前記アクセス制御部が、
前記第１ドメインの認証局により発行されたプライバシ証明書であって、当該プライバシ証明書の発行国と、前記アプリケーションのＩＰアドレスと、前記アプリケーションの種別と、前記アプリケーションが取得可能なデータを提供するＤＢサーバの設置国と、前記データの種別とを含む前記プライバシ証明書が示す前記プライバシ証明書の発行国である前記第１ドメインと、前記セキュリティポリシーで前記第１ドメインに規定された、前記アプリケーションの種別及び前記データの種別で指定されたデータベースに対応付けられた提供期間と、前記提供期間を決定する時の時刻と、に基づいて算出した前記アプリケーションが前記データにアクセスするための有効期限が設定された、前記アプリケーションにより前記データを取得するためのトークンを生成し、生成された前記トークンを前記アプリケーションに返すアクセスステップを備える方法。
【請求項１０】
コンピュータに、請求項９に記載の方法のステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティゲートウェイ装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、インターネットには、パソコンやサーバ等のＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）関連機器が接続されている。さらに、テレビやデジタルカメラ等のデジタル情報家電又は各種センサデバイス等もインターネットに直接接続されるようになり、このような機器はＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）デバイスと呼ばれる。ＩｏＴデバイスから収集されるデータには個人のプライバシに関わる機微なデータが含まれる場合がある。このため、これらのデータを利活用する際には、セキュリティ及びプライバシの両観点からアーキテクチャを設計することが求められる。
【０００３】
このようなデータを利活用するための要件や機能を開示する非特許文献１が知られている。非特許文献１では、上述のようなデータを利活用するユースケースを明らかにした上でユースケースごとにセキュリティ及びプライバシに関する要件を抽出すると共に、欧州のプライバシ関連の法律やガイドラインに記載されている事項を整理し、プラットフォーム上に実装すべき機能を抽出している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＥＵ  ＦＰ７  ｐｒｏｊｅｃｔ  ｉＣｏｒｅ，“Ｄ２．２  Ｓｅｃｕｒｉｔｙ  ｒｅｑｕｉｒｅｍｅｎｔｓ  ｆｏｒ  ｔｈｅ  ｉＣｏｒｅ  ｃｏｇｎｉｔｉｖｅ  ｍａｎａｇｅｍｅｎｔ  ａｎｄ  ｃｏｎｔｒｏｌ  ｆｒａｍｅｗｏｒｋ”，［ｏｎｌｉｎｅ］，インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｏｔ−ｉｃｏｒｅ．ｅｕ／ａｔｔａｃｈｍｅｎｔｓ／ａｒｔｉｃｌｅ／８９／２０１２０６０７＿ｉＣｏｒｅ％２０Ｄ２．２％２０ＦＩＮＡＬ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１では、セキュリティ及びプライバシに関する要件を満たすための技術的な解決方法については言及されていない。また、非特許文献１の中では、データの管理者及び所有者並びに法律及びガイドラインにより規定された複雑な条件を解釈する方法や、アプリケーションが国境を越えてアクセスすることについても言及されていない。
【０００６】
本発明は、アプリケーションがアクセスするデータを、国ごとのセキュリティ条件を満たして利活用することを可能とするセキュリティゲートウェイ装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
具体的には、以下のような解決手段を提供する。
（１）  第１ドメインに設置されたサーバにより提供されるアプリケーションから要求されたデータを、第２ドメインに設置されたサーバから抽出して、前記アプリケーションに返すセキュリティゲートウェイ装置であって、前記アプリケーションの種別及び前記データの種別に対応付けて、前記第１ドメインごとの前記データの提供期間を規定するセキュリティポリシーを記憶するセキュリティポリシー記憶部と、前記アプリケーションによる前記データの取得を許可する、前記第１ドメインの認証局により発行されたプライバシ証明書と、前記セキュリティポリシーで規定された提供期間とに基づいて、前記データにアクセスするための有効期限が設定されたトークンを前記アプリケーションに対し発行するアクセス制御部と、を備えるセキュリティゲートウェイ装置。
【０００８】
（１）のセキュリティゲートウェイ装置は、第１ドメインのアプリケーションに対し、プライバシ証明書と、第２ドメインにおける第１ドメインに対するセキュリティポリシーの規定とに基づいて、データにアクセスするための有効期限が設定されたトークンを発行する。
すなわち、セキュリティゲートウェイ装置は、プライバシ証明書によって第１ドメインでの第２ドメインからのデータの受け入れ許可を確認すると共に、データ提供元である第２ドメイン側で、第１ドメインのアプリケーションに対するセキュリティのポリシーに基づいてデータの提供を許可し、データを取得するためのトークンを発行する。トークンを有するアプリケーションは、トークンの有効期限内でデータを利用することができる。
したがって、セキュリティゲートウェイ装置は、アプリケーションがアクセスするデータを、国ごとのセキュリティ条件を満たして利活用することを可能とする。
【０００９】
（２）  前記セキュリティポリシーは、前記アプリケーションの種別及び前記データの種別ごとにプライバシの有無を規定し、前記トークンを有する前記アプリケーションからの要求に対し、前記プライバシの有無に基づいて前記データを加工するプライバシ制御部を備える、（１）に記載のセキュリティゲートウェイ装置。
【００１０】
（２）のセキュリティゲートウェイ装置は、アプリケーションからの要求に対し、アプリケーションの種別及びデータの種別ごとに規定されたプライバシの有無に基づいてデータを加工するので、データ受信側のポリシーに関わらず、データを提供する側のプライバシに関わるデータを秘匿できる。
【００１１】
（３）  前記プライバシ制御部は、前記トークンを有する前記アプリケーションからの要求に対し、前記データの所有者ごとのプライバシポリシーに基づいて、前記データを選別する、（２）に記載のセキュリティゲートウェイ装置。
【００１２】
（３）のセキュリティゲートウェイ装置は、アプリケーションからの要求に対し、データの所有者ごとのプライバシポリシーに基づいてデータを選別するので、所有者ごとの許可を得たデータのみを提供できる。
【００１３】
（４）  前記プライバシポリシーは、前記アプリケーションの種別及び前記データの種別に対応付けて、前記所有者ごとに、前記データの提供を許可するか否かを規定し、前記プライバシ制御部は、前記プライバシポリシーに基づいて、前記所有者が許可したデータを抽出する、（３）に記載のセキュリティゲートウェイ装置。
【００１４】
（４）のセキュリティゲートウェイ装置は、データを要求するアプリケーションの種別及びデータの種別に応じた、データの所有者ごとのプライバシポリシーに基づいて、データを抽出するので、データの所有者ごとのきめ細かい設定に従って個々のデータの提供の可否を制御できる。
【００１５】
（５）  前記所有者の識別子と属性とが対応付けられているユーザデータベースを備え、前記プライバシ制御部は、前記アプリケーションから抽出対象の前記属性に関する条件を受信した場合、前記ユーザデータベースにより前記条件を満たす所有者を特定し、当該所有者に関するデータを抽出する、（３）又は（４）に記載のセキュリティゲートウェイ装置。
【００１６】
（５）のセキュリティゲートウェイ装置は、データの所有者の属性に関する条件をデータ抽出クエリとは別に受信した場合に、ユーザデータベースを参照することにより条件を満たす所有者を特定できるので、クエリ自体を解釈することなく対象のデータを選別できる。
【００１７】
（６）  前記セキュリティポリシーは、複数の管理者ごとに設定され、前記アクセス制御部は、前記複数の管理者に対応付けられた前記データの提供期間のうち最も短い期間に基づいて、前記トークンの有効期限を設定する、（２）から（５）のいずれか一に記載のセキュリティゲートウェイ装置。
【００１８】
（６）のセキュリティゲートウェイ装置は、複数の管理者によって管理される提供期間のなかで最短期間に基づいてデータを提供するので、複数の管理者の条件のうち最も厳しい提供期間の条件でデータを保護できる。
【００１９】
（７）  前記セキュリティポリシーは、複数の管理者ごとに設定され、前記プライバシ制御部は、前記セキュリティポリシーにおいて前記複数の管理者のいずれかにより前記データがプライバシに関わると規定されている場合に、前記データがプライバシに関わると判断する、（２）から（６）のいずれか一に記載のセキュリティゲートウェイ装置。
【００２０】
（７）のセキュリティゲートウェイ装置は、複数の管理者のいずれかによりデータがプライバシに関わると規定されている場合に、データがプライバシに関わると判断するので、複数の管理者の条件のうち、プライバシに関するできるだけ安全な条件でデータを保護できる。
【００２１】
（８）  前記アクセス制御部は、前記トークンを共通鍵とするメッセージ認証コードにより、前記アプリケーションからの前記データの要求の正当性を検証する、（１）から（７）のいずれか一に記載のセキュリティゲートウェイ装置。
【００２２】
（８）のセキュリティゲートウェイ装置は、共通鍵によりデータの要求の正当性を検証するので、偽装や改竄等を防止して安全性を向上できる。
【００２３】
（９）  （１）に記載のセキュリティゲートウェイ装置が実行する方法であって、前記アクセス制御部が、前記アプリケーションによる前記データの取得を許可する、前記第１ドメインの認証局により発行されたプライバシ証明書と、前記セキュリティポリシーで規定された提供期間とに基づいて、前記データにアクセスするための有効期限が設定されたトークンを前記アプリケーションに対し発行するアクセスステップ、を備える方法。
【００２４】
（９）の方法は、（１）と同様に、アプリケーションがアクセスするデータを、国ごとのセキュリティ条件を満たして利活用することを可能とする。
【００２５】
（１０）  コンピュータに、（９）に記載の方法のステップを実行させるためのプログラム。
【００２６】
（１０）のプログラムは、アプリケーションがアクセスするデータを、国ごとのセキュリティ条件を満たして利活用できるように、コンピュータに機能させることができる。
【発明の効果】
【００２７】
本発明によれば、アプリケーションがアクセスするデータを、国ごとのセキュリティ条件を満たして利活用することを可能とする。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係るセキュリティゲートウェイ装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係るセキュリティポリシーＤＢの例を示す図である。
【図３】本発明の一実施形態に係るトークンＤＢの例を示す図である。
【図４】本発明の一実施形態に係るプライバシポリシーの例を示す図である。
【図５】本発明の一実施形態に係るユーザＤＢの例を示す図である。
【図６】本発明の一実施形態に係るセキュリティゲートウェイ装置によるトークン発行処理及びデータ抽出処理を示すシーケンス図である。
【図７】本発明の一実施形態に係る、マルチクラウド環境におけるセキュリティゲートウェイ装置の構成を示すブロック図である。
【図８】本発明の一実施形態に係る、マルチクラウド環境におけるセキュリティゲートウェイ装置のトークンの発行処理の例を示すフローチャートである。
【図９】本発明の一実施形態に係る、マルチクラウド環境におけるセキュリティゲートウェイ装置のデータ抽出処理の例を示すフローチャートである。
【図１０】図９に続くフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態について、図を参照しながら説明する。
図１は、本発明の一実施形態に係るセキュリティゲートウェイ装置１０の構成を示すブロック図である。
セキュリティゲートウェイ装置１０は、第１ドメインに設置されたサーバ（すなわち、アプリケーションを提供するアプリケーションサーバ）により提供されるアプリケーションからの要求に対しセキュリティポリシーに基づいてトークンを発行する。そして、セキュリティゲートウェイ装置１０は、トークンを有するアプリケーションから要求されたデータを、第２ドメインに設置されたデータベースサーバ（ＤＢサーバと言う。）からプライバシポリシーに基づいて抽出して、アプリケーションに返す。
ドメインとは、セキュリティ又はプライバシのポリシーを共有しないそれぞれの地域を言い、例えば、国を言う。
セキュリティゲートウェイ装置１０は、アクセス制御部１１と、プライバシ制御部１２と、セキュリティポリシー記憶部（セキュリティポリシーＤＢ３１と言う。）と、ユーザデータベース（ユーザＤＢ３２と言う。）とを備える。
【００３０】
＜トークンの発行＞
アクセス制御部１１は、アプリケーションによるデータの取得を許可する、第１ドメインの認証局により発行されたプライバシ証明書２１と、セキュリティポリシーで規定された提供期間とに基づいて、データにアクセスするための有効期限が設定されたトークンをアプリケーションに対し発行する。
【００３１】
セキュリティポリシーＤＢ３１は、アプリケーションの種別及びデータの種別に対応付けて、第１ドメイン（例えば、アプリケーションサーバの設置国）ごとのデータの提供期間を規定するセキュリティポリシーを記憶する。
アプリケーションの種別とは、例えば、医療に関するアプリケーションや、位置情報の提供に関するアプリケーション等の種別を言う。
データの種別とは、例えば、医療に関するデータや、位置に関するデータ等の種別を言う。データの種別は、プライバシを有するデータベース（プライバシデータベースと言う。）や、プライバシを有しないデータベース（非プライバシデータベースと言う。）を区分しないでデータベースの通し番号としてもよい。また、データの種別は、プライバシデータベースや非プライバシデータベースを区分してそれぞれのデータベースの通し番号としてもよい。
さらに、セキュリティポリシーは、データの種別ごとにプライバシの有無（すなわち、プライバシデータか非プライバシデータかのプライバシ情報）を規定する。セキュリティポリシーは、複数の管理者ごとに設定される。
【００３２】
具体的には、セキュリティポリシーＤＢ３１は、図２が示すように、セキュリティポリシーを記憶する。図２は、本発明の一実施形態に係るセキュリティポリシーＤＢ３１の例を示す図である。
セキュリティポリシーは、アプリケーションの種別ごとに設定された複数の管理者に対して、データの種別ごとの第１ドメイン（例えば、アプリケーションサーバの設置国）へのデータの提供期間と、プライバシ情報とを規定する。
図２において、「ＵＫ」及び「ＪＰ」は、アプリケーションサーバが設置されている国名を表し、「ｈ」、「ｄ」及び「ｍ」はそれぞれ提供期間の単位である時間、日及び月を表し、「プライバシ」及び「非プライバシ」はそれぞれ「プライバシ有り」及び「プライバシ無し」のプライバシ情報を表している。数値０は、トークンが発行されないことを表している。例えば、「ＵＫ：１ｈ、ＪＰ：２ｍ、非プライバシ」は、ＵＫ国のアプリケーションに発行するトークンの有効期間が１時間、ＪＰ国のアプリケーションに発行するトークンの有効期間が２か月、プライバシ情報が「プライバシ無し」を表している。
【００３３】
プライバシ証明書２１は、アプリケーションがデータを取得可能なドメイン（例えば、提供国）と、データの種別とを保証する。
具体的には、プライバシ証明書２１は、プライバシ証明書２１の発行国と、アプリケーションＩＰと、アプリケーションの種別と、ＤＢサーバの設置国と、データの種別と、有効期限とを含む。
ここで、プライバシ証明書２１の発行国とは、プライバシ証明書２１を発行する認証局が設置された国を言い、アプリケーションサーバの設置国と同じである。
アプリケーションＩＰとは、アプリケーションサーバのＩＰアドレスを言う。
ＤＢサーバの設置国とは、アプリケーションが取得可能なデータを提供するＤＢサーバが設置されている提供国を言う。
【００３４】
アプリケーションからトークン発行の要求を受信すると、アクセス制御部１１は、セキュリティポリシーＤＢ３１から、トークン発行を要求するアプリケーションの種別に対応するセキュリティポリシーを取得する。
次に、アクセス制御部１１は、取得したセキュリティポリシーに基づいて、プライバシ証明書２１に規定されたデータの種別に対応付けられた、アプリケーションの国（アプリケーションサーバの設置国）への提供期間であって、複数の管理者に対応付けられたそれぞれの提供期間を取得する。
例えば、図２の場合、アプリケーションＡについてのセキュリティポリシーにおいてデータの種別に合致するのがＤＢ１、アプリケーションの国（アプリケーションサーバの設置国）がＪＰとすると、アクセス制御部１１は、管理者１が設定したＪＰへの提供期間である２か月と、管理者２が設定したＪＰへの提供期間である２時間と、・・・、管理者Ｍが設定したＪＰへの提供期間である５時間と、を取得する。
次に、アクセス制御部１１は、複数の管理者に対応付けられたデータの提供期間のうち最も短い期間に基づいて、有効期限を算出する。上述の場合、アクセス制御部１１は、取得した最短の提供期間である２時間に基づき、現在時刻に２時間を加えた有効期限を算出する。
次に、アクセス制御部１１は、トークンを生成し、生成したトークンに、算出した有効期限を対応付けてトークンＤＢ３３に記憶する。
アクセス制御部１１は、有効期限が設定されたトークンをアプリケーションに発行する。
トークンは、メッセージ認証コードの共通鍵として生成される。
【００３５】
図３は、本発明の一実施形態に係るトークンＤＢ３３の例を示す図である。トークンＤＢ３３は、図３に示すように、トークンと、所定の情報（すなわち、アプリケーションサーバの設置国と、アプリケーションＩＰと、アプリケーションの種別と、データの種別と、プライバシ情報と、トークンの有効期限）とを対応付けて記憶する。
【００３６】
＜データの抽出＞
トークンを有するアプリケーションからデータ取得の要求を受信すると、アクセス制御部１１は、アプリケーションからの要求に対し、要求の正当性を検証する。
具体的には、アクセス制御部１１は、アプリケーションからのデータ取得の要求を構成するパラメータによりトークンＤＢ３３に基づいてトークンを取得する。
次に、アクセス制御部１１は、メッセージ認証コードを除くパラメータの連結を、トークンを鍵とする鍵付きハッシュ関数に入力し、ハッシュ値を算出する。メッセージ認証コードは、例えば、ハッシュ関数としてＳＨＡ２５６を使用するＨＭＡＣ−ＳＨＡ２５６（ＨＭＡＣ：Ｈａｓｈ−ｂａｓｅｄ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を用いて生成されるとしてもよい。
次に、アクセス制御部１１は、算出したハッシュ値が、メッセージ認証コードと同一であることにより、発行したトークンを用いてメッセージ認証コードが生成されたものであると判定する。
【００３７】
アクセス制御部１１は、データ取得の要求を受信した時刻が、取得したトークンに対応付けられた有効期限より早い時刻である場合に、トークンの有効期限内であると判定する。
アクセス制御部１１は、データ取得の要求の受信時刻が、パラメータに含まれるタイムスタンプ（例えば、データ取得の要求の送信時刻）から一定期間内である場合、データ取得の要求が一定期間内のものであると判定する。
アクセス制御部１１は、判定に基づいて、データ取得の要求の正当性を検証する。
【００３８】
プライバシ制御部１２は、トークンを有するアプリケーションからのデータ取得の要求に対し、プライバシの有無に基づいてデータを加工する。
具体的には、プライバシ制御部１２は、プライバシポリシーに基づいて、トークンを有するアプリケーションの種別及びデータの種別に対応付けられたプライバシ情報が「プライバシ有り」の場合、データを加工（例えば、データを匿名化）する。プライバシ制御部１２は、プライバシ情報が「プライバシ無し」の場合、データを加工しない。
【００３９】
プライバシ制御部１２は、セキュリティポリシーにおいて複数の管理者のいずれかによりデータがプライバシに関わると規定されている場合に、データがプライバシに関わると判断する。言い換えると、プライバシ制御部１２は、セキュリティポリシーにおいて複数の管理者の全員によってプライバシに関わらないと規定されている場合に、データがプライバシに関わらないと判断する。
【００４０】
プライバシ制御部１２は、トークンを有するアプリケーションからのデータ取得の要求に対し、データの所有者ごとのプライバシポリシーに基づいて、データを選別する。
【００４１】
図４は、本発明の一実施形態に係るプライバシポリシーの例を示す図である。プライバシポリシーは、図４が示すように、アプリケーションの種別ごとに、データの所有者ごとのプライバシポリシーを規定する。具体的には、プライバシポリシーは、アプリケーションの種別に対応付けて、データの種別ごとにデータの所有者がデータの提供を認可する（図４において○印）か、しない（図４において×印）かを規定する。プライバシポリシーは、第２ドメインに設置されたサーバ（後述するローカルクラウド６０のプライバシポリシーＤＢ６２）から取得される。
【００４２】
プライバシ制御部１２は、抽出対象のデータの所有者の属性に関する条件をアプリケーションから受信した場合、ユーザＤＢ３２により条件を満たす所有者を特定し、特定した所有者のプライバシポリシーに基づいて、所有者が許可したデータを抽出する。
【００４３】
ユーザＤＢ３２は、所有者の識別子と属性とを対応付ける。図５は、本発明の一実施形態に係るユーザＤＢ３２の例を示す図である。ユーザＤＢ３２は、図５が示すように、データの種別（例えば、種別の異なるデータベース）ごとに、データの所有者の識別子とその所有者の属性とを対応付けて保管する。
所有者の属性は、データベースに含まれるデータの所有者の属性であり、例えば、男性、２０代等の属性を言う。
【００４４】
具体的には、プライバシ制御部１２は、アプリケーションから指定された抽出対象の属性により、ユーザＤＢ３２に基づいて、アプリケーションが要求するデータベースに保管されている所有者の識別子を取得する。次に、プライバシ制御部１２は、取得した所有者の識別子により、アプリケーションの種別及びデータの種別に対応するプライバシポリシーに基づいて、提供が許可されているか否かを判断する。プライバシ制御部１２は、属性の条件を満たし、かつ、データ提供を許可している所有者のデータのみを抽出して、アプリケーションに返す。
【００４５】
図６は、本発明の一実施形態に係るセキュリティゲートウェイ装置１０によるトークン発行及びデータ抽出処理を示すシーケンス図である。
【００４６】
ステップＳ１１において、アクセス制御部１１は、アプリケーションからプライバシ証明書２１を受信する。
【００４７】
ステップＳ１２において、アクセス制御部１１は、プライバシ証明書２１に記載されているアプリケーションの種別及びデータの種別に対応する、セキュリティポリシーで規定された提供期間に基づいて、アプリケーションがデータにアクセスするための有効期限が設定されたトークンを生成する。
【００４８】
ステップＳ１３において、アクセス制御部１１は、生成したトークンをアプリケーションに対し発行する。
【００４９】
ステップＳ１４において、アクセス制御部１１は、トークンを有するアプリケーションからデータ取得の要求を受信する。
【００５０】
ステップＳ１５において、アクセス制御部１１は、アプリケーションからのデータの要求の正当性を検証する。
【００５１】
ステップＳ１６において、アクセス制御部１１は、ステップＳ１５で正当であることが検証された場合、データ取得の要求を第２ドメインのサーバに送信する。
【００５２】
ステップＳ１７において、プライバシ制御部１２は、第２ドメインのサーバからデータを受信する。
【００５３】
ステップＳ１８において、プライバシ制御部１２は、プライバシポリシーに基づいて、提供が許可されているデータを抽出する。
【００５４】
ステップＳ１９において、プライバシ制御部１２は、抽出したデータをアプリケーションに返す。
【００５５】
［マルチクラウド環境における実施例］
図７は、本発明の一実施形態に係る、マルチクラウド環境におけるセキュリティゲートウェイ装置１０の構成を示すブロック図である。
セキュリティゲートウェイ装置１０は、マルチクラウド環境において、グローバルクラウド５０とローカルクラウド６０との接点に設置される。
セキュリティゲートウェイ装置１０は、第１ドメインに設置されたサーバにより提供されるアプリケーションからグローバルクラウド５０を介して要求されたデータを、第２ドメインに設置されたローカルクラウド６０から抽出して、グローバルクラウド５０を介してアプリケーションに返す。
【００５６】
アプリケーションは、グローバルクラウド５０のグローバルクエリコントローラ５１経由で、プライバシ証明書２１をパラメータとして、トークン発行の要求をする。
セキュリティゲートウェイ装置１０のアクセス制御部１１は、プライバシ証明書２１とセキュリティポリシーＤＢ３１の有効期間とに基づいて、トークンの有効期限を設定し、トークンをトークンＤＢ３３に保管する。アクセス制御部１１は、グローバルクエリコントローラ５１経由でアプリケーションにトークンを発行する。
【００５７】
トークンを有するアプリケーションは、グローバルクラウド５０のグローバルクエリコントローラ５１経由で、アプリケーションサーバの設置国、アプリケーションの種別、データの種別、データの所有者の属性、クエリ（ＤＢサーバへの要求）、タイムスタンプ（例えば、当該データ取得の要求の送信時刻）、及びメッセージ認証コードをパラメータとして、データ取得の要求をする。グローバルクエリコントローラ５１は、アプリケーションからのクエリの内容に応じてクエリを振り分けるローカルクラウド６０を決定する。
【００５８】
セキュリティゲートウェイ装置１０のアクセス制御部１１は、トークンの正当性を検証し、プライバシ制御部１２は、アプリケーションのクエリをローカルクラウド６０のローカルクエリコントローラ６１に渡す。
ローカルクエリコントローラ６１は、プライバシ制御部１２から渡されたクエリの内容に応じて、クエリを振り分けるデータベースを決定し、クエリに基づくデータを抽出する。
セキュリティゲートウェイ装置１０のプライバシ制御部１２は、ローカルクエリコントローラ６１によって抽出されたデータからプライバシポリシーＤＢ６２に基づいてデータを選別し、グローバルクエリコントローラ５１経由でアプリケーションに返す。
【００５９】
図８は、本発明の一実施形態に係る、マルチクラウド環境におけるセキュリティゲートウェイ装置１０のトークンの発行処理の例を示すフローチャートである。
【００６０】
ステップＳ１０１において、アクセス制御部１１は、アプリケーションからプライバシ証明書２１をパラメータとして含む、トークン発行の要求を受信する。
【００６１】
ステップＳ１０２において、アクセス制御部１１は、プライバシ証明書２１に記載されている内容の正当性を検証する。より具体的には、アクセス制御部１１は、プライバシ証明書２１の発行国（アプリケーションサーバの設置国と同一）が、リクエストヘッダのＩＰアドレス情報と同一国であるか否かを判断する。さらに、アクセス制御部１１は、アプリケーションＩＰ（アプリケーションサーバのＩＰアドレス）がリクエストヘッダのＩＰアドレス情報と同一であるか否かを判断する。さらに、アクセス制御部１１は、ＤＢサーバの設置国がセキュリティゲートウェイ装置１０が設置されている国と同一か否かを判断する。さらに、アクセス制御部１１は、現在時刻が有効期限よりも早い時刻であるか否かを判断する。全ての判断がＹＥＳの場合、アクセス制御部１１は、処理をステップＳ１０３に移し、いずれかの判断がＮＯの場合、アクセス制御部１１は、処理をステップＳ１０９に移す。
【００６２】
ステップＳ１０３において、アクセス制御部１１は、プライバシ証明書２１に記載のプライバシ証明書２１の発行国（アプリケーションサーバの設置国）と、アプリケーションの種別と、データの種別とを用いて、セキュリティポリシーＤＢ３１を検索する。アクセス制御部１１は、管理者ごとに規定されるアプリケーションサーバの設置国におけるトークンの有効期間のリストと、プライバシ情報のリストとを取得する。
【００６３】
ステップＳ１０４において、アクセス制御部１１は、プライバシ情報のリストからプライバシ証明書２１に記載のデータの種別で指定されたデータベースが、非プライバシＤＢ６３かプライバシＤＢ６４かを決定する。アクセス制御部１１は、全ての管理者が非プライバシＤＢ６３と設定している場合、非プライバシＤＢ６３と決定し、それ以外の場合、プライバシＤＢ６４と決定する。
【００６４】
ステップＳ１０５において、アクセス制御部１１は、有効期間のリストから複数の管理者により設定された有効期間のうち最も短い期間をトークンの有効期間として決定する。アクセス制御部１１は、決定した有効期間の値と、現在時刻とを足し合わせて有効期限を算出する。
【００６５】
ステップＳ１０６において、アクセス制御部１１は、トークンを生成する。
【００６６】
ステップＳ１０７において、アクセス制御部１１は、ステップＳ１０６で生成したトークンと、プライバシ証明書２１に記載のアプリケーションサーバの設置国、アプリケーションＩＰ、アプリケーションの種別、データの種別、ステップＳ１０４で決定したプライバシ情報、及びステップＳ１０５で算出したトークンの有効期限とを対応付け、トークンＤＢ３３に保管する。
【００６７】
ステップＳ１０８において、アクセス制御部１１は、有効期限が設定されたトークンをアプリケーションに返す。その後、アクセス制御部１１は、処理を終了する。
【００６８】
ステップＳ１０９において、アクセス制御部１１は、トークン発行の要求が正常でないことを表すエラー情報をアプリケーションに返す。その後、アクセス制御部１１は、処理を終了する。
【００６９】
図９及び図１０は、本発明の一実施形態に係る、マルチクラウド環境におけるセキュリティゲートウェイ装置１０のデータ抽出処理の例を示すフローチャートである。
【００７０】
ステップＳ２０１において、アクセス制御部１１は、アプリケーションからデータ取得の要求を受信し、パラメータのアプリケーションサーバの設置国、リクエストヘッダのＩＰアドレス情報（アプリケーションＩＰ）、アプリケーションの種別、データの種別を用いて、トークンＤＢ３３を検索し、これらの情報に対応付けられているトークン及びトークンの有効期限を取得する。
【００７１】
ステップＳ２０２において、アクセス制御部１１は、データ取得の要求を受信した時刻がトークンの有効期限より早い時刻か否かを判断する。この判断がＹＥＳの場合、アクセス制御部１１は、処理をステップＳ２０３に移し、この判断がＮＯの場合、アクセス制御部１１は、処理をステップＳ２１３に移す。
【００７２】
ステップＳ２０３において、アクセス制御部１１は、メッセージ認証コード以外のパラメータ（アプリケーションサーバの設置国、アプリケーションの種別、データの種別、データの所有者の属性、クエリ、タイムスタンプ）の連結を、ステップＳ２０１で取得したトークンを鍵とする鍵付きハッシュ関数に入力し、ハッシュ値を算出し、算出したハッシュ値とメッセージ認証コードとが一致するか否かを判断する。この判断がＹＥＳの場合、アクセス制御部１１は、処理をステップＳ２０４に移し、この判断がＮＯの場合、アクセス制御部１１は、処理をステップＳ２１３に移す。
【００７３】
ステップＳ２０４において、アクセス制御部１１は、パラメータのタイムスタンプを用いて、データ取得の要求の受信時刻がタイムスタンプから一定期間内か否かを判断する。この判断がＹＥＳの場合、アクセス制御部１１は、処理をステップＳ２０５に移し、この判断がＮＯの場合、アクセス制御部１１は、処理をステップＳ２１３に移す。
【００７４】
ステップＳ２０５において、アクセス制御部１１は、パラメータのデータの種別で指定されたデータベースがプライバシか否かを判断する。この判断がＹＥＳの場合、アクセス制御部１１は、処理をステップ２０７に移し、この判断がＮＯの場合、アクセス制御部１１は、処理をステップＳ２０６に移す。
【００７５】
ステップＳ２０６において、アクセス制御部１１は、パラメータのクエリを用いて、ローカルクエリコントローラ６１経由で非プライバシＤＢ６３から非プライバシデータを取得し、取得したデータをアプリケーションに返す。その後、アクセス制御部１１は、処理を終了する。
【００７６】
ステップＳ２０７において、プライバシ制御部１２は、パラメータのデータの所有者の属性を用いて、ユーザＤＢ３２を検索し、該当するデータの所有者のリストを取得する。
【００７７】
ステップＳ２０８において、プライバシ制御部１２は、アプリケーションの種別と、ステップＳ２０７で取得した所有者のリストとを用いて、プライバシポリシーＤＢ６２から該当するデータの所有者のプライバシポリシーを取得する。
【００７８】
ステップＳ２０９において、プライバシ制御部１２は、ステップＳ２０８で取得したプライバシポリシーを参照し、データの種別で指定されたデータのうちデータの提供を許可する所有者のリスト（以下、データの提供者のリスト）を作成する。
【００７９】
ステップＳ２１０において、プライバシ制御部１２は、パラメータのクエリを用いて、ローカルクエリコントローラ６１を介してプライバシＤＢ６４からプライバシデータを取得する。
【００８０】
ステップＳ２１１において、プライバシ制御部１２は、ステップ２０９で作成したデータの提供者のリストを用いて、ステップＳ２１０で取得したデータのうち提供者のリストに存在する所有者のデータのみを抽出する。
【００８１】
ステップＳ２１２において、プライバシ制御部１２は、ステップ２１１で抽出したデータをアプリケーションに返す。その後、アクセス制御部１１は、処理を終了する。
【００８２】
ステップＳ２１３において、アクセス制御部１１は、データ取得の要求が正常でないことを表すエラー情報をアプリケーションに返す。その後、アクセス制御部１１は、処理を終了する。
【００８３】
本実施形態によれば、セキュリティゲートウェイ装置１０は、プライバシ証明書２１によって第１ドメインでの第２ドメインからのデータの受け入れ許可を確認すると共に、データ提供元である第２ドメイン側で、第１ドメインのアプリケーションに対するセキュリティのポリシーに基づいてデータの提供を許可し、データを取得するためのトークンを発行する。トークンを有するアプリケーションは、トークンの有効期限内でデータを利用することができる。したがって、セキュリティゲートウェイ装置は、アプリケーションがアクセスするデータを、国ごとのセキュリティ条件を満たして利活用することを可能とする。
さらに、セキュリティゲートウェイ装置１０は、アプリケーションからの要求に対し、アプリケーションの種別及びデータの種別ごとに規定されたプライバシの有無に基づいてデータを加工するので、データ受信側のポリシーに関わらず、データを提供する側のプライバシに関わるデータを秘匿できる。
さらに、セキュリティゲートウェイ装置１０は、アプリケーションからの要求に対し、データの所有者ごとのプライバシポリシーに基づいてデータを選別するので、所有者ごとの許可を得たデータのみを提供できる。
さらに、セキュリティゲートウェイ装置１０は、データを要求するアプリケーションの種別及びデータの種別に応じた、データの所有者ごとのプライバシポリシーに基づいて、データを抽出するので、データの所有者ごとのきめ細かい設定に従って個々のデータの提供の可否を制御できる。
さらに、セキュリティゲートウェイ装置１０は、データの所有者の属性に関する条件をデータ抽出クエリとは別に受信した場合に、ユーザデータベースを参照することにより条件を満たす所有者を特定できるので、クエリ自体を解釈することなく対象のデータを選別できる。
さらに、セキュリティゲートウェイ装置１０は、複数の管理者によって管理される提供期間のなかで最短期間に基づいてデータを提供するので、複数の管理者の条件のうち最も厳しい提供期間の条件でデータを保護できる。
さらに、セキュリティゲートウェイ装置１０は、複数の管理者のいずれかによりデータがプライバシに関わると規定されている場合に、データがプライバシに関わると判断するので、複数の管理者の条件のうち、プライバシに関するできるだけ安全な条件でデータを保護できる。
さらに、セキュリティゲートウェイ装置１０は、共通鍵によりデータの要求の正当性を検証するので、偽装や改竄等を防止して安全性を向上できる。
【００８４】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【００８５】
例えば、本実施形態では、セキュリティゲートウェイ装置１０は、データを取得した後に、データの提供者のリストを用いて、取得したデータから提供可能なデータを抽出するとしたが、これに限られない。セキュリティゲートウェイ装置１０は、所有者の属性の条件をクエリに組み入れてローカルクエリコントローラ６１に送り、ローカルクエリコントローラ６１に提供可能なデータを抽出させてもよい。
【００８６】
セキュリティゲートウェイ装置１０による一連の処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。また、当該プログラムは、コンピュータ読み取り可能な記録媒体（例えば、ＣＤ−ＲＯＭのようなリムーバブルメディア等）に記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００８７】
１０    セキュリティゲートウェイ装置
１１    アクセス制御部
１２    プライバシ制御部
２１    プライバシ証明書
３１    セキュリティポリシーＤＢ
３２    ユーザＤＢ
３３    トークンＤＢ
５０    グローバルクラウド
５１    グローバルクエリコントローラ
６０    ローカルクラウド
６１    ローカルクエリコントローラ
６２    プライバシポリシーＤＢ
６３    非プライバシＤＢ
６４    プライバシＤＢ
【図１】
0006548936.tif 000002
【図２】
0006548936.tif 000003
【図３】
0006548936.tif 000004
【図４】
0006548936.tif 000005
【図５】
0006548936.tif 000006
【図６】
0006548936.tif 000007
【図７】
0006548936.tif 000008
【図８】
0006548936.tif 000009
【図９】
0006548936.tif 000010
【図１０】
0006548936.tif 000011