(57)【特許請求の範囲】
【請求項１】
第１の情報システム、第１の中継装置、第２の中継装置、および第２の情報システムの順で情報を流通させる情報流通システムであって、
前記第１の中継装置は、
所定の情報を前記第１の情報システムから前記第２の情報システムに要求する第１の要求信号を前記第１の情報システムから受信した場合に、前記第１の要求信号に前記第１の情報システムで発行された要求元ユーザの認証結果情報が付与されているか否かを判断する判断手段と、
前記認証結果情報が付与されていると前記判断手段が判断した場合に、前記第２の中継装置との間で定められた通信プロトコルを用いて前記認証結果情報を含み、前記所定の情報を要求する第２の要求信号を前記第２の中継装置に送信する送信手段と、
を備え、
前記第１の情報システムは、
複数のサブシステム、認証サブシステム、および前記第１の情報システムの末端のエンドサブシステムを有し、
前記認証サブシステムは、前記複数のサブシステムのいずれかからユーザの認証を要求された場合に、サブシステムごとに予め定められた項目を含む当該サブシステム向けの認証結果情報を生成し、
前記認証サブシステムは、前記エンドサブシステムが認証を要求した場合に、このエンドサブシステムに対して定められた項目、すなわち前記第２の情報システムへの送信に適した項目を含む認証結果情報を生成し、
前記第１および第２の要求信号は、前記第１の情報システムの識別情報を含み、
前記第２の中継装置は、
前記第１の中継装置から送信された前記第２の要求信号に前記認証結果情報が付与されているか否かを判断し、前記認証結果情報が付与されている場合には、この認証結果情報が正当であるか否かを検証し、前記認証結果情報が正当であれば、前記所定の情報を前記第２の情報システムから取得して前記第１の中継装置に送信する
ことを特徴とする情報流通システム。
【請求項２】
第１の情報システム、第１の中継装置、第２の中継装置、および第２の情報システムの順で情報を流通させる情報流通システムであって、
前記第１の中継装置は、
所定の情報を前記第１の情報システムから前記第２の情報システムに要求する第１の要求信号を前記第１の情報システムから受信した場合に、前記第１の要求信号に前記第１の情報システムで発行された要求元ユーザの認証結果情報が付与されているか否かを判断する判断手段と、
前記認証結果情報が付与されていると前記判断手段が判断した場合に、前記第２の中継装置との間で定められた通信プロトコルを用いて前記認証結果情報を含み、前記所定の情報を要求する第２の要求信号を送信する送信手段と、
を備え、
前記第１の情報システムは、
複数のサブシステム、認証サブシステム、および前記第１の情報システムの末端のエンドサブシステムを有し、
前記エンドサブシステムは、前記第１の情報システムのいずれかのサブシステムからの前記第１の要求信号に付与された要求元ユーザの認証結果情報を、前記エンドサブシステムに対して定められた項目、すなわち前記第２の情報システムへの送信に適した項目を含む認証結果情報に変換することを前記認証サブシステムに要求し、
前記認証サブシステムは、前記要求に応じて、前記エンドサブシステムから受理した認証結果情報を変換し、
前記エンドサブシステムは、前記認証サブシステムにより変換された認証結果情報を前記第１の要求信号に付与し、
前記第１および第２の要求信号は、前記第１の情報システムの識別情報を含み、
前記第２の中継装置は、
前記第１の中継装置から送信された前記第２の要求信号に前記認証結果情報が付与されているか否かを判断し、前記認証結果情報が付与されている場合には、この認証結果情報が正当であるか否かを検証し、前記認証結果情報が正当であれば、前記所定の情報を前記第２の情報システムから取得して前記第１の中継装置に送信する
ことを特徴とする情報流通システム。
【請求項３】
第１の情報システム、第１の中継装置、第２の中継装置、および第２の情報システムの順で情報を流通させる情報流通システムに適用される方法であって、
前記第１の中継装置は、
所定の情報を前記第１の情報システムから前記第２の情報システムに要求する第１の要求信号を前記第１の情報システムから受信した場合に、前記第１の要求信号に前記第１の情報システムで発行された要求元ユーザの認証結果情報が付与されているか否かを判断し、
前記認証結果情報が付与されていると判断した場合に、前記第２の中継装置との間で定められた通信プロトコルを用いて前記認証結果情報を含み、前記所定の情報を要求する第２の要求信号を前記第２の中継装置に送信し、
前記第１の情報システムは、
複数のサブシステム、認証サブシステム、および前記第１の情報システムの末端のエンドサブシステムを有し、
前記認証サブシステムは、前記複数のサブシステムのいずれかからユーザの認証を要求された場合に、サブシステムごとに予め定められた項目を含む当該サブシステム向けの認証結果情報を生成し、
前記認証サブシステムは、前記エンドサブシステムが認証を要求した場合に、このエンドサブシステムに対して定められた項目、すなわち前記第２の情報システムへの送信に適した項目を含む認証結果情報を生成し、
前記第１および第２の要求信号は、前記第１の情報システムの識別情報を含み、
前記第２の中継装置は、
前記第１の中継装置から送信された前記第２の要求信号に前記認証結果情報が付与されているか否かを判断し、前記認証結果情報が付与されている場合には、この認証結果情報が正当であるか否かを検証し、前記認証結果情報が正当であれば、前記所定の情報を前記第２の情報システムから取得して前記第１の中継装置に送信する
ことを特徴とする情報流通方法。
【請求項４】
第１の情報システム、第１の中継装置、第２の中継装置、および第２の情報システムの順で情報を流通させる情報流通システムに適用される方法であって、
前記第１の中継装置は、
所定の情報を前記第１の情報システムから前記第２の情報システムに要求する第１の要求信号を前記第１の情報システムから受信した場合に、前記第１の要求信号に前記第１の情報システムで発行された要求元ユーザの認証結果情報が付与されているか否かを判断し、
前記認証結果情報が付与されていると判断した場合に、前記第２の中継装置との間で定められた通信プロトコルを用いて前記認証結果情報を含み、前記所定の情報を要求する第２の要求信号を送信し、
前記第１の情報システムは、
複数のサブシステム、認証サブシステム、および前記第１の情報システムの末端のエンドサブシステムを有し、
前記エンドサブシステムは、前記第１の情報システムのいずれかのサブシステムからの前記第１の要求信号に付与された要求元ユーザの認証結果情報を、前記エンドサブシステムに対して定められた項目、すなわち前記第２の情報システムへの送信に適した項目を含む認証結果情報に変換することを前記認証サブシステムに要求し、
前記認証サブシステムは、前記要求に応じて、前記エンドサブシステムから受理した認証結果情報を変換し、
前記エンドサブシステムは、前記認証サブシステムにより変換された認証結果情報を前記第１の要求信号に付与し、
前記第１および第２の要求信号は、前記第１の情報システムの識別情報を含み、
前記第２の中継装置は、
前記第１の中継装置から送信された前記第２の要求信号に前記認証結果情報が付与されているか否かを判断し、前記認証結果情報が付与されている場合には、この認証結果情報が正当であるか否かを検証し、前記認証結果情報が正当であれば、前記所定の情報を前記第２の情報システムから取得して前記第１の中継装置に送信する
ことを特徴とする情報流通方法。
【請求項５】
請求項１または請求項２に記載の情報流通システムの一部分として動作するコンピュータに用いられるプログラムであって、
前記コンピュータを、
前記第１の情報システム、前記第１の中継装置、前記第２の中継装置、および前記第２の情報システム
として機能させるための情報流通処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報流通システム、方法および処理プログラムに関する。
【背景技術】
【０００２】
ネットバンク、ネットショッピング、Ｗｅｂメールなど、オンライン上で提供されるサービスが増加している。このようなサービスをユーザが安全に利用できるようにするため、オンラインでユーザを識別する認証のしくみが導入されている。
【０００３】
近年では、ユーザの利便性をより高めるため、ID体系や管理するユーザが異なる独立した情報システム（例えば、異なる事業者が運営するポータルサイト）間においても、認証情報を共有（認証連携）し、ユーザのシングルサインオン（一度の認証行為だけで複数のサイトを利用すること）のしくみが導入されている。
【０００４】
しかし、現状ではこのような認証連携のしくみは複数存在しており、異なる認証プロトコルで認証連携された情報システム群が乱立している。
【０００５】
例えば、情報システムを構成する各プロバイダと認証プロバイダとの間で一定の信頼関係を確保した上で、ユーザの認証を認証プロバイダに委託し、信頼関係を形成した各プロバイダ間でその認証結果を共有することでシングルサインオンを実現する技術（非特許文献1）や、ユーザの同意に基づいて、「どのように本人確認がされたか（認証結果）」「どのようなプロファイル（ユーザ属性）が交換されたか」等の情報をプロバイダ間で交換する技術（非特許文献２）はその代表例である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５５８９０３４号公報
【非特許文献】
【０００７】
【非特許文献１】OASIS Security Services (SAML) TC、OASIS、2015年1月8日検索、インターネット＜URL:http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security＞
【非特許文献２】OpenID ファウンデーション・ジャパン、2015年1月8日検索、インターネット＜URL: http://www.openid.or.jp/＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
更に近年では、上記のような異なる認証連携プロトコルで構築されたシステム間においても、ユーザが安全に情報を流通できることが求められている。  
例えば、ID体系や管理するユーザが異なる複数の地域医療ネットワーク間においては、境界に居住している住民のケアや救急時・住居移転時などのために情報を流通することが必要になる。その際にも、データ要求元を特定し、安全に情報を流通できるようにする必要がある。
【０００９】
この課題に対し、特許文献１では、連携する第１の情報システムと第２の情報システムとの間にデータ流通するための中継装置を設置し、中継装置において、第１の情報システムから送信された認証要求メッセージを第２の情報システムの認証連携方式に対応する認証要求メッセージに変換する機構を設けることで、複数の情報システムをまたがるユーザのシングルサインオンを実現している。
【００１０】
しかし、特許文献１の方法においては、第１の情報システムと第２の情報システムとでは管理するユーザが異なる、かつアクセスするユーザが救急隊員であるなど不定な場合もあるにも関わらず、情報システム間をまたいだ認証連携のために双方の情報システムに連携するユーザを登録しておかねばならず、運用上の実現可能性に問題がある。
【００１１】
また、連携する情報システムの認証連携方式やその能力はまちまちであり、アクセス元ユーザの認証結果情報を連携先の情報システムに常に送信できるとは限らない。逆に、連携元から送信されたアクセス元ユーザの認証結果情報を検証できるとも限らない。
【００１２】
本発明は上記事情に着目してなされたもので、その目的とするところは、複数種類の情報システム間の連携において、要求元ユーザの認証結果情報が利用できる場合には利用してユーザの信頼性を確認し、利用できない場合には情報システムの信頼性を確認できるようにすることで、事前のユーザ登録などの運用負荷なしに、接続先・接続元双方の情報システムの能力に応じて、安全に情報流通することを可能とする情報流通システム、方法及び処理プログラムを提供することである。
【課題を解決するための手段】
【００１４】
上記構成の情報流通システムの第１の態様は、第１の情報システム、第１の中継装置、第２の中継装置、および第２の情報システムの順で情報を流通させる情報流通システムであって、前記第１の中継装置は、所定の情報を前記第１の情報システムから前記第２の情報システムに要求する第１の要求信号を前記第１の情報システムから受信した場合に、前記第１の要求信号に前記第１の情報システムで発行された要求元ユーザの認証結果情報が付与されているか否かを判断する判断手段と、前記認証結果情報が付与されていると前記判断手段が判断した場合に、前記第２の中継装置との間で定められた通信プロトコルを用いて前記認証結果情報を含み、前記所定の情報を要求する第２の要求信号を送信する送信手段と、を備え、前記第１の情報システムは、複数のサブシステム、認証サブシステム、および前記第１の情報システムの末端のエンドサブシステムを有し、前記認証サブシステムは、前記複数のサブシステムのいずれかからユーザの認証を要求された場合に、サブシステムごとに予め定められた項目を含む当該サブシステム向けの認証結果情報を生成し、前記認証サブシステムは、前記エンドサブシステムが認証を要求した場合に、このエンドサブシステムに対して定められた項目、すなわち前記第２の情報システムへの送信に適した項目を含む認証結果情報を生成し、前記第１および第２の要求信号は、前記第１の情報システムの識別情報を含み、前記第２の中継装置は、前記第１の中継装置から送信された前記第２の要求信号に前記認証結果情報が付与されているか否かを判断し、前記認証結果情報が付与されている場合には、この認証結果情報が正当であるか否かを検証し、前記認証結果情報が正当であれば、前記所定の情報を前記第２の情報システムから取得して前記第１の中継装置に送信するシステムを提供する。
【００１５】
上記構成の情報流通システムの第２の態様は、第１の情報システム、第１の中継装置、第２の中継装置、および第２の情報システムの順で情報を流通させる情報流通システムであって、前記第１の中継装置は、所定の情報を前記第１の情報システムから前記第２の情報システムに要求する第１の要求信号を前記第１の情報システムから受信した場合に、前記第１の要求信号に前記第１の情報システムで発行された要求元ユーザの認証結果情報が付与されているか否かを判断する判断手段と、前記認証結果情報が付与されていると前記判断手段が判断した場合に、前記第２の中継装置との間で定められた通信プロトコルを用いて前記認証結果情報を含み、前記所定の情報を要求する第２の要求信号を送信する送信手段と、を備え、前記第１の情報システムは、複数のサブシステム、認証サブシステム、および前記第１の情報システムの末端のエンドサブシステムを有し、前記エンドサブシステムは、前記第１の情報システムのいずれかのサブシステムからの前記第１の要求信号に付与された要求元ユーザの認証結果情報を、前記エンドサブシステムに対して定められた項目、すなわち前記第２の情報システムへの送信に適した項目を含む認証結果情報に変換することを前記認証サブシステムに要求し、前記認証サブシステムは、前記要求に応じて、前記エンドサブシステムから受理した認証結果情報を変換し、前記エンドサブシステムは、前記認証サブシステムにより変換された認証結果情報を前記第１の要求信号に付与し、前記第１および第２の要求信号は、前記第１の情報システムの識別情報を含み、前記第２の中継装置は、前記第の１中継装置から送信された前記第２の要求信号に前記認証結果情報が付与されているか否かを判断し、前記認証結果情報が付与されている場合には、この認証結果情報が正当であるか否かを検証し、前記認証結果情報が正当であれば、前記所定の情報を前記第２の情報システムから取得して前記第１の中継装置に送信するシステムを提供する。
【発明の効果】
【００１６】
本発明によれば、複数種類の情報システム間の連携において、事前のユーザ登録などの運用負荷なしに、接続先・接続元双方の情報システムの能力に応じて、安全に情報流通することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態における情報流通システムの構成例を示す図。
【図２】本発明の第１の実施形態における情報流通システムの第１連携ＧＷサブシステムによる処理手順の一例を示すフローチャート。
【図３】本発明の第１の実施形態における情報流通システムの第１連携ＧＷサブシステムによる、リクエストメッセージ中のアサーション載せ替えの形態の一例を示す図。
【図４】本発明の第２の実施形態における情報流通システムの構成例を示す図。
【図５】本発明の第２の実施形態における情報流通システムにおける、アサーションの生成の第１の例について説明するための図。
【図６】本発明の第２の実施形態における情報流通システムにおける、アサーションの生成の第２の例について説明するための図。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、この発明に係わる実施形態を説明する。  
図１は、本発明の第１の実施形態における情報流通システムの構成例を示す図である。
図１に示すように、第１の実施形態における情報流通システムは、コミュニティＡ、コミュニティＢ、コミュニティＣ内のサブシステム間で、中継装置である第１連携ＧＷ（ゲートウェイ）サブシステム１０、第２連携ＧＷサブシステム２０、第３連携ＧＷサブシステム３０を介して情報を流通させるシステムである。  
コミュニティＡは、認証サブシステム１１０、複数の任意のサブシステム１１１を有する。
【００１９】
コミュニティＡ内においては、任意のサブシステム１１１同士がデータ送受信する際のメッセージに、認証サブシステム１１０が任意のサブシステム１１１からの要求に応じて発行した要求元ユーザの正当性を示すための認証結果情報であるアサーション(assertion)を付与する。
このように、コミュニティ内においてユーザの正当性確認のためにアサーションを利用しており、他コミュニティへのデータ要求時にも要求元ユーザのアサーションを付与することができる場合、当該コミュニティと接続する連携ＧＷサブシステムも他コミュニティ向けのデータ要求時にアサーションを付与することができるものとする。以降では、他コミュニティ向けのデータ要求時にアサーションを付与することができることを「アサーション付与機能を有する」と表現する。また逆に、連携ＧＷサブシステムが他コミュニティからのアサーションを検証することができることを「アサーション検証機能を有する」と表現する。
第１の実施形態では、あるコミュニティ内のサブシステムと別のコミュニティ内のサブシステムとの間でアサーション自体を変更せずに流通させる。
【００２０】
コミュニティＢは、認証サブシステム１２０、複数の任意のサブシステム１２１を有する。  
コミュニティＣは、複数の任意のサブシステム１３１を有する。
【００２１】
コミュニティＡ内の各サブシステムと第１連携ＧＷサブシステム１０との間や、コミュニティＡ内の各サブシステム間での通信には通信プロトコルＡが用いられる。  
また、コミュニティＢ内の各サブシステムと第２連携ＧＷサブシステム２０との間や、コミュニティＢ内の各サブシステム間での通信には通信プロトコルＢが用いられる。  
また、コミュニティＣ内の各サブシステムと第３連携ＧＷサブシステム３０との間や、コミュニティＣ内の各サブシステム間での通信には通信プロトコルＣが用いられる。  
また、第１連携ＧＷサブシステム１０、第２連携ＧＷサブシステム２０、および第３連携ＧＷサブシステム３０の間の通信には、ＧＷ間プロトコルが用いられる。
【００２２】
次に、各ＧＷサブシステム内について説明する。  
第１連携ＧＷサブシステム１０は、アサーション付与機能およびアサーション検証機能を有し、接続システム正当性確認部１１、アサーション付与判断部１２、アサーション設定部１３、アサーション検証部１４を有する。なお、これらの接続システム正当性確認部１１、アサーション付与判断部１２、アサーション設定部１３、アサーション検証部１４は、コミュニティＡ内に別途設けられて認証サブシステム１１０やサブシステム１１１と通信可能なサブシステムが有する構成としてもよく、つまり、第１連携ＧＷサブシステム１０の各種機能がコミュニティＡ内で実現されてもよい。
【００２３】
第２連携ＧＷサブシステム２０は、アサーション検証機能を有する一方で、アサーション付与機能を有しておらず、接続システム正当性確認部２１、およびアサーション検証部２２を有する。なお、これらの接続システム正当性確認部２１、およびアサーション検証部２２は、コミュニティＢ内に設けられて認証サブシステム１２０サブシステム１２１と通信可能なサブシステムが有する構成としてもよく、つまり、第２連携ＧＷサブシステム２０の各種機能がコミュニティＢ内で実現されてもよい。  
第３連携ＧＷサブシステム３０は、アサーション付与機能およびアサーション検証機能をともに有しておらず、接続システム正当性確認部３１を有する。なお、この接続システム正当性確認部３１は、コミュニティＣ内に設けられてサブシステム１３１と通信可能なサブシステムが有する構成としてもよく、つまり、第３連携ＧＷサブシステム３０の各種機能がコミュニティＣ内で実現されてもよい。
【００２４】
次に、各コミュニティ間でのデータのやり取りの手順について説明する。図２は、第１の実施形態における情報流通システムの第１連携ＧＷサブシステムによる処理手順の一例を示すフローチャートである。  
まず、コミュニティＡのサブシステム１１１が、コミュニティＢのサブシステム内の情報を取得しにいく場合について説明する。
【００２５】
サブシステム１１１は、コミュニティＢのサブシステム内の情報の取得を求めるリクエストメッセージに認証サブシステム１１０が発行したアサーションを付与して、コミュニティＡと第１連携ＧＷサブシステム１０との間の通信プロトコルＡを使用して第１連携ＧＷサブシステム１０に送信する。このアサーションについては、改ざん防止のために、署名および暗号化がなされてもよい。
【００２６】
第１連携ＧＷサブシステム１０の接続システム正当性確認部１１は、サブシステム１１１からのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまりサブシステム１１１を検索し、このサブシステム１１１が要求元として許可されていることを確認する。また、接続システム正当性確認部１１は、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のコミュニティの連携ＧＷサブシステム、つまり、第２連携ＧＷサブシステム２０を検索し、この第２連携ＧＷサブシステム２０へのリクエスト送信が許可されていることを確認する。この確認の方法としては、あらかじめ設定されるホワイトリストの検証や、認証サブシステム１１０により発行されてリクエストメッセージに含まれる証明書を検証する方法でもよい。
【００２７】
続いて、アサーション付与判断部１２は、受信したリクエストメッセージにアサーションが付与されているか否かを判断し（Ｓ１）、アサーションが付与されていると判断したら、接続先となる第２連携ＧＷサブシステム２０がアサーション検証機能を有しているか否かを確認し、この第２連携ＧＷサブシステム２０がアサーション検証機能を有していることを確認する（Ｓ２）。
【００２８】
続いて、アサーション検証部１４は、このアサーションの発行元であるコミュニティＡの認証サブシステム１１０の公開鍵を利用して、リクエストメッセージに付与されているアサーションを検証し、このアサーションが正当であることを確認する。アサーションが署名および暗号化されている場合は、アサーション検証部１４は、アサーションの検証のために署名検証および復号を行うことができる。
【００２９】
続いて、アサーション設定部１３は、コミュニティＡからのリクエストメッセージ中に付与されているアサーションを、ＧＷ間プロトコルで指定される所定の箇所に設定した第２連携ＧＷサブシステム２０宛のリクエストメッセージを作成する（Ｓ３）。
【００３０】
図３は、本発明の第１の実施形態における情報流通システムの第１連携ＧＷサブシステムによる、リクエストメッセージ中のアサーション載せ替えの形態の一例を示す図である。図３中の左側はコミュニティＡからのリクエストメッセージ、右側は他コミュニティへのリクエストメッセージを示している。  
この載せ替えを行うために、例えば図３に示すように、アサーション設定部１３は、コミュニティＡからのリクエストメッセージ中の、通信プロトコルＡの仕様に準拠したSOAPヘッダを含むSOAPメッセージを、ＧＷ間プロトコルに準拠したSOAPヘッダを含むSOAPメッセージに変更し、このＧＷ間プロトコルに準拠したSOAPヘッダ内のWS-Securityヘッダにアサーションを設定する。これにより、リクエストメッセージに付与されるアサーションをＧＷ間プロトコルを用いて送信できるようになる。
【００３１】
第２連携ＧＷサブシステム２０宛のリクエストメッセージの作成が完了したら、アサーション設定部１３は、アサーションが付与されたリクエストメッセージを接続先の第２連携ＧＷサブシステム２０に送信する。この送信には上記のＧＷ間プロトコルが使用される。
【００３２】
第２連携ＧＷサブシステム２０の接続システム正当性確認部２１は、第１連携ＧＷサブシステム１０からのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまり第１連携ＧＷサブシステム１０を検索し、このサブシステム１０からのリクエストが許可されていることを確認する。また、接続システム正当性確認部２１は、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のサブシステム、つまり、コミュニティＢのデータ取得先のサブシステム１２１を検索し、このサブシステム１２１へのリクエスト送信が許可されていることを確認する。
【００３３】
続いて、第２連携ＧＷサブシステム２０のアサーション検証部２２は、リクエストメッセージにアサーションが付与されているか否かを確認し、アサーションが付与されていることを確認する。続いて、アサーション検証部２２は、このアサーションの発行元であるコミュニティＡの認証サブシステム１１０の公開鍵を利用して、リクエストメッセージに付与されているアサーションを検証し、このアサーションが正当であることを確認する。
【００３４】
続いて、第２連携ＧＷサブシステム２０のアサーション検証部２２は、アサーションが付与されたリクエストメッセージを、コミュニティＢのデータ取得先のサブシステム１２１に送信する。この送信には、第２連携ＧＷサブシステム２０とコミュニティＢとの間の通信プロトコルＢが使用される。
【００３５】
コミュニティＢのデータ取得先のサブシステム１２１は、このリクエストメッセージに応じたデータを第２連携ＧＷサブシステム２０に送信する。その際、コミュニティＢのデータ取得先のサブシステム１２１は、第２連携ＧＷサブシステム２０からのリクエストメッセージにアサーションが付与されているか否かを確認し、アサーションが付与されていることが確認されたら、このアサーションの発行元であるコミュニティＡの認証サブシステム１１０の公開鍵を利用して、リクエストメッセージに付与されているアサーションが正当であるか否かを検証し、このアサーションが正当であることが確認されたらリクエストメッセージに応じたデータを送信するようにしてもよい。このデータは、第２連携ＧＷサブシステム２０、第１連携ＧＷサブシステム１０を介して、要求元のコミュニティＡのサブシステム１１１に返される。
【００３６】
次に、コミュニティＡのサブシステム１１１が、コミュニティＣのサブシステム内の情報を取得しにいく場合について説明する。  
サブシステム１１１は、コミュニティＣのサブシステム内の情報の取得を求めるリクエストメッセージに認証サブシステム１１０が発行したアサーションを付与して、コミュニティＡと第１連携ＧＷサブシステム１０との間の通信プロトコルＡを使用して第１連携ＧＷサブシステム１０に送信する。
【００３７】
第１連携ＧＷサブシステム１０の接続システム正当性確認部１１は、サブシステム１１１からのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまりサブシステム１１１を検索し、このサブシステム１１１が要求元として許可されていることを確認する。また、接続システム正当性確認部１１は、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のコミュニティの連携ＧＷサブシステム、つまり第３連携ＧＷサブシステム３０を検索し、この第３連携ＧＷサブシステム３０へのリクエスト送信が許可されていることを確認する。
【００３８】
続いて、第１連携ＧＷサブシステム１０のアサーション付与判断部１２は、受信したリクエストメッセージにアサーションが付与されているか否かを判断し、アサーションが付与されていると判断したら、接続先となる第３連携ＧＷサブシステム３０がアサーション検証機能を有しているか否かを確認し、この第３連携ＧＷサブシステム３０がアサーション検証機能を有していないことを確認する。
【００３９】
続いて、アサーション検証部１４は、このアサーションの発行元であるコミュニティＡの認証サブシステム１１０の公開鍵を利用して、リクエストメッセージに付与されているアサーションを検証し、このアサーションが正当であることを確認する。
【００４０】
続いて、第１連携ＧＷサブシステム１０のアサーション検証部１４は、アサーションなしでリクエストメッセージを接続先の第３連携ＧＷサブシステム３０に送信する。この送信には、第１連携ＧＷサブシステム１０と第３連携ＧＷサブシステム３０との間のＧＷ間通信用プロトコルが使用される。
【００４１】
第３連携ＧＷサブシステム３０の接続システム正当性確認部３１は、第１連携ＧＷサブシステム１０からのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまり第１連携ＧＷサブシステム１０を検索し、この第１連携ＧＷサブシステム１０からのリクエストが許可されていることを確認する。また、接続システム正当性確認部３１は、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のサブシステム、つまりコミュニティＣのデータ取得先のサブシステム１３１を検索し、このサブシステム１３１へのリクエスト送信が許可されていることを確認する。
【００４２】
続いて、接続システム正当性確認部３１は、アサーションが無いリクエストメッセージを、コミュニティＣのデータ取得先のサブシステム１３１に送信する。この送信には、第３連携ＧＷサブシステム３０とコミュニティＣとの間の通信プロトコルＣが使用される。
【００４３】
コミュニティＣのデータ取得先のサブシステム１３１は、このリクエストメッセージに応じたデータを第３連携ＧＷサブシステム３０に送信する。その際、コミュニティＣのデータ取得先のサブシステム１３１は、第２連携ＧＷサブシステム２０からのリクエストメッセージにアサーションが付与されているか否かを確認し、アサーションが付与されていないことが確認されたら、このリクエストメッセージに含まれている、要求元のコミュニティＡのサブシステム１１１の識別情報を検証することで、アクセスを許可したサブシステムからのリクエストであるか否か、つまり識別情報が正当であるか否かを検証し、この識別情報が正当であることが確認されたら、リクエストメッセージに応じたデータを送信するようにしてもよい。このデータは、第３連携ＧＷサブシステム３０、第１連携ＧＷサブシステム１０を介して、要求元のコミュニティＡのサブシステム１１１に返される。
【００４４】
次に、コミュニティＣのサブシステム１３１が、コミュニティＡのサブシステム内の情報を取得しにいく場合について説明する。  
コミュニティＣのサブシステム１３１は、コミュニティＡのサブシステム内の情報の取得を求めるリクエストメッセージを、コミュニティＣと第３連携ＧＷサブシステム３０との間の通信プロトコルＣを使用して第３連携ＧＷサブシステム３０に送信する。
【００４５】
第３連携ＧＷサブシステム３０の接続システム正当性確認部３１は、サブシステム１３１からのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまりサブシステム１３１を検索し、このサブシステム１３１が要求元として許可されていることを確認する。また、接続システム正当性確認部３１は、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のコミュニティの連携ＧＷサブシステム、つまり第１連携ＧＷサブシステム１０を検索し、この第１連携ＧＷサブシステム１０へのリクエスト送信が許可されていることを確認する。
【００４６】
続いて、接続システム正当性確認部３１は、コミュニティＣからのリクエストメッセージを第１連携ＧＷサブシステム１０に送信する。この送信には、第３連携ＧＷサブシステム３０と第１連携ＧＷサブシステム１０との間のＧＷ間プロトコルが使用される。
【００４７】
第１連携ＧＷサブシステム１０の接続システム正当性確認部１１は、第３連携ＧＷサブシステム３０からのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまり第３連携ＧＷサブシステム３０を検索し、この第３連携ＧＷサブシステム３０が要求元として許可されていることを確認する。また、接続システム正当性確認部１１は、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のサブシステム、つまり、コミュニティＡのデータ取得先のサブシステム１１１を検索し、このサブシステム１１１へのリクエスト送信が許可されていることを確認する。
【００４８】
続いて、第１連携ＧＷサブシステム１０のアサーション付与判断部１２は、受信したリクエストメッセージにアサーションが含まれているか否かを確認し、アサーションが含まれていないことが確認されたら第１連携ＧＷサブシステム１０の接続システム正当性確認部１１は、リクエストメッセージを、コミュニティＡのデータ取得先のサブシステム１１１に送信する。この送信には、第１連携ＧＷサブシステム１０とコミュニティＡとの間の通信プロトコルＡが使用される。
【００４９】
コミュニティＡのデータ取得先のサブシステム１１１は、このリクエストメッセージに応じたデータを第１連携ＧＷサブシステム１０に送信する。この際、コミュニティＡのデータ取得先のサブシステム１１１は、第１連携ＧＷサブシステム１０からのリクエストメッセージにアサーションが付与されているか否かを確認し、アサーションが付与されていないことが確認されたら、このリクエストメッセージに含まれている、要求元のコミュニティＣのサブシステム１３１の識別情報を検証することで、アクセスを許可したサブシステムからのリクエストであるか否か、つまり識別情報が正当であるか否かを検証し、この識別情報が正当であることが確認されたら、リクエストメッセージに応じたデータを送信するようにしてもよい。このデータは、第１連携ＧＷサブシステム１０、第３連携ＧＷサブシステム３０を介して、要求元のコミュニティＣのサブシステム１３１に返される。
【００５０】
以上のように、本発明の第１の実施形態における情報流通システムでは、連携する各コミュニティでのサブシステム間での通信において、アサーション付与機能やアサーション検証機能の有無により、リクエストメッセージへのアサーションの付与の要否を判断したり、アサーションを付与する場合には各コミュニティ間での通信プロトコルにあわせて、アサーションを適切な通信プロトコルに載せ替えたりする。  
そして、要求先のコミュニティのサブシステムは、要求元からのリクエストメッセージにアサーションが付与されていれば、このアサーションが正当であるか否かを検証することで、正当なユーザからのアクセスであるか否かを確認でき、また、アサーションが付与されていなければ、リクエストメッセージに含まれる、要求元のサブシステムの識別情報に基づいて、アクセスを許可したサブシステムからのアクセスであるか否かを最低限確認できる。
これにより、複数種類の情報システム間の連携において、要求元ユーザの認証結果情報が利用できる場合には利用してユーザの信頼性を確認し、利用できない場合には情報システムの信頼性を確認できるようにすることで、事前のユーザ登録などの運用負荷なしに、接続先・接続元双方の情報システムの能力に応じて、安全に情報流通することができる。
【００５１】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。なお、この実施形態における構成のうち第１の実施形態で説明した部分と同一部分の詳細な説明は省略する。  
第２の実施形態では、連携元のコミュニティのサブシステムで扱うアサーションに、他のコミュニティのサブシステムには知らせたくない情報が含まれる場合について説明する。
【００５２】
図４は、本発明の第２の実施形態における情報流通システムの構成例を示す図である。第２の実施形態における情報流通システムは、コミュニティＡ、コミュニティＤ内のサブシステム間で、第１連携ＧＷサブシステム１０ａ、第４連携ＧＷサブシステム４０を介して情報を流通させるシステムである。  
コミュニティＤは、認証サブシステム１４０、複数の任意のサブシステム１４１を有する。  
第２の実施形態では、コミュニティＡ内の各サブシステムとの間の通信には第１の実施形態で説明した通信プロトコルＡが用いられる。
【００５３】
また、第２の実施形態では、コミュニティＡの外、つまりコミュニティＡと第１連携ＧＷサブシステム１０ａとの間の通信、第１連携ＧＷサブシステム１０ａと第４連携ＧＷサブシステム４０との間の通信、第４連携ＧＷサブシステム４０とコミュニティＡ内の各サブシステムとの間の通信、コミュニティＤ内の各サブシステム間の通信には、連携ＧＷ間プロトコルが用いられる。
【００５４】
コミュニティＡは、第１の実施形態で説明した認証サブシステム１１０や任意のサブシステム１１１に加えて、コミュニティＡの末端のサブシステムとなるエンドサブシステム５０を有する。第２の実施形態では、このエンドサブシステム５０が、第１連携ＧＷサブシステム１０ａとの間の通信を行う。エンドサブシステム５０は、アサーション設定部５１を有する。このアサーション設定部５１は、コミュニティＡ内の各サブシステム向けのアサーションを設定する。
【００５５】
他のコミュニティ向けのアサーションを設定する場合とは、例えば、コミュニティＤでコミュニティＡ向けのアサーションには含まれない「アクセス元ユーザの氏名」を利用したい場合や、コミュニティＡ向けのポリシとして、コミュニティＡ向けのアサーションに含まれる「アクセス元ユーザの住所」はコミュニティＤには提供できない場合などが挙げられる。
【００５６】
次に、各ＧＷサブシステムの構成について説明する。  
第１連携ＧＷサブシステム１０ａは、アサーション付与機能およびアサーション検証機能を有し、接続システム正当性確認部１１ａ、アサーション付与判断部１２ａ、アサーション設定部１３ａ、アサーション検証部１４ａを有する。なお、これらの接続システム正当性確認部１１ａ、アサーション付与判断部１２ａ、アサーション設定部１３ａ、アサーション検証部１４ａは、第１連携ＧＷサブシステム１０ａと直接通信可能なコミュニティＡ内のサブシステムが有する構成としてもよい。
【００５７】
第４連携ＧＷサブシステム４０は、アサーション付与機能およびアサーション検証機能を有し、接続システム正当性確認部４１、アサーション付与判断部４２、アサーション設定部４３、アサーション検証部４４を有する。なお、これらの接続システム正当性確認部４１、アサーション付与判断部４２、アサーション設定部４３、アサーション検証部４４は、コミュニティＤ内に設けられてサブシステム１４１と通信可能なサブシステムが有する構成としてもよく、つまり、第４連携ＧＷサブシステム４０の各種機能がコミュニティＤ内で実現されてもよい。  
次に、第２の実施形態における情報流通システムにおける、アサーションの生成の第１の例について説明する。図５は、本発明の第２の実施形態における情報流通システムにおける、アサーションの生成の第１の例について説明するための図である。  
この第１の例では、図５に示すように、コミュニティＡの認証サブシステム１１０は、サブシステム別アサーション発行部１１０ａを有し、このサブシステム別アサーション発行部１１０ａは、アサーション発行処理部１１０ｂおよびサブシステム別ハンドラ処理部１１０ｃを有するものとする。
【００５８】
また、この第１の例では、コミュニティＡ内の複数の任意のサブシステム１１１およびエンドサブシステム５０のいずれかからでも、シングルサインオンのための、ユーザによるログインが行えるものとする。ただし、他のコミュニティにアクセスするためには、エンドサブシステム５０からのみから、シングルサインオンのためのログインが行えるものとする。
【００５９】
サブシステム別ハンドラ処理部１１０ｃは、コミュニティＡ内の任意のサブシステム１１１（サブシステムＡ，Ｂ，…）およびエンドサブシステム５０のそれぞれに対応したアサーションに設定できる項目であるアサーション設定項目を管理するデータベースを有する。このデータベースでは、サブシステムＡ向けのアサーション設定項目として、データ要求元の組織、資格、氏名を含み、サブシステムＢ向けのアサーション設定項目として、データ要求元の組織、資格、住所を含み、エンドサブシステム５０向けのアサーション設定項目として、データ要求元の組織、資格を含む。  
このエンドサブシステム５０向けのアサーション設定項目は、他のコミュニティ向けに送信してもよい項目を含み、他のコミュニティ向けに送信することが不適切である項目は含まない。
【００６０】
サブシステム別アサーション発行部１１０ａのサブシステム別ハンドラ処理部１１０ｃは、エンドサブシステム５０からシングルサインオンが要求された場合に、アサーション発行処理部１１０ｂによるアサーション発行に先立って、コミュニティＡ内のサブシステムごとに、アサーションに設定すべき項目を決定する。  
この決定のために、サブシステム別ハンドラ処理部１１０ｃは、シングルサインオンの要求元のサブシステムを判定し、この要求元に応じたアサーション項目情報を、上記のアサーション設定項目を管理するデータベースから読み込み、この読み込んだ情報を要求元のサブシステムの識別情報とともにアサーション発行処理部１１０ｂに出力する。
【００６１】
アサーション発行処理部１１０ｂは、サブシステム別ハンドラ処理部１１０ｃから出力されたアサーション項目情報を含むアサーションを、識別情報に応じたサブシステム向けのアサーションとして発行し、この識別情報に応じたサブシステムに出力する。
【００６２】
任意のサブシステム１１１向けに発行されたアサーションは、このアサーションが対応するサブシステムと認証サブシステム１１０との間の認証のためのやりとりに用いることができる。
【００６３】
コミュニティＡから他のコミュニティＤにリクエストメッセージを送信するには、エンドサブシステム５０向けに発行されたアサーションを用いることができる。  
ここで、コミュニティＡのエンドサブシステム５０が、コミュニティＤのサブシステム内の情報を取得しにいく場合について説明する。  
エンドサブシステム５０は、認証サブシステム１１０が発行したエンドサブシステム５０向けのアサーションを連携ＧＷ間プロトコルに載せ替え、このアサーションをコミュニティＤのサブシステム内の情報の取得を求めるリクエストメッセージに付与して、コミュニティＡと第１連携ＧＷサブシステム１０ａとの間の連携ＧＷ間プロトコルを使用して第１連携ＧＷサブシステム１０ａに送信する。
【００６４】
第１連携ＧＷサブシステム１０ａの接続システム正当性確認部１１ａは、エンドサブシステム５０からのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまりエンドサブシステム５０を検索し、このエンドサブシステム５０が要求元として許可されていることを確認する。また、接続システム正当性確認部１１ａは、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のコミュニティの連携ＧＷサブシステム、つまり、第４連携ＧＷサブシステム４０を検索し、この第４連携ＧＷサブシステム４０へのリクエスト送信が許可されていることを確認する。
【００６５】
続いて、第１連携ＧＷサブシステム１０ａのアサーション付与判断部１２ａは、受信したリクエストメッセージにアサーションが付与されているか否かを判断し、アサーションが付与されていると判断したら、接続先となる第４連携ＧＷサブシステム４０がアサーション検証機能を有しているか否かを確認し、この第４連携ＧＷサブシステム４０がアサーション検証機能を有していることを確認する。
【００６６】
続いて、アサーション設定部１３ａは、コミュニティＡからのリクエストメッセージ中に付与されているアサーションを、第１連携ＧＷサブシステム１０ａと第４連携ＧＷサブシステム４０との間のＧＷ間プロトコルで指定される所定の箇所に設定した第４連携ＧＷサブシステム宛てのリクエストメッセージに付与する。
【００６７】
第４連携ＧＷサブシステム宛てのリクエストメッセージの作成が完了したら、アサーション設定部１３ａは、アサーションが付与されたリクエストメッセージを、接続先の第４連携ＧＷサブシステム４０に送信する。この送信には上記の第１連携ＧＷサブシステム１０ａと第４連携ＧＷサブシステム４０との間のＧＷ間プロトコルが使用される。
【００６８】
第４連携ＧＷサブシステム４０の接続システム正当性確認部４１は、第１連携ＧＷサブシステム１０ａからのリクエストメッセージを受信すると、このリクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続元のサブシステム、つまり第１連携ＧＷサブシステム１０ａを検索し、この第１連携ＧＷサブシステム１０ａからのリクエストが許可されていることを確認する。また、接続システム正当性確認部４１は、リクエストメッセージに含まれるＩＰアドレスなどに基づいて、接続先のサブシステム、つまり、コミュニティＤのデータ取得先のサブシステム１４１を検索し、このサブシステム１４１へのリクエスト送信が許可されていることを確認する。
【００６９】
続いて、第４連携ＧＷサブシステム４０のアサーション付与判断部４２は、リクエストメッセージにアサーションが含まれているか否かを確認し、アサーションが含まれていることが確認されたら、アサーション検証部４４は、このアサーションの発行元であるコミュニティＡの認証サブシステム１１０の公開鍵を利用して、リクエストメッセージに付与されているアサーションを検証し、このアサーションが正当であることを確認する。
【００７０】
続いて、第４連携ＧＷサブシステム４０のアサーション設定部４３は、コミュニティＡからのリクエストメッセージ中に付与されているアサーションを、第４連携ＧＷサブシステム４０とコミュニティＤとの間のＧＷ間プロトコルで指定される所定の箇所に設定したコミュニティＤのデータ取得先のサブシステム１４１宛のリクエストメッセージに付与する。  
コミュニティＤのデータ取得先のサブシステム１４１宛のリクエストメッセージの作成が完了したらアサーション設定部４３は、アサーションが付与されたリクエストメッセージを、コミュニティＤのデータ取得先のサブシステム１４１に送信する。この送信には、第４連携ＧＷサブシステム４０とコミュニティＤとの間の連携ＧＷ間プロトコルが使用される。
【００７１】
コミュニティＤのデータ取得先のサブシステム１４１は、このリクエストメッセージに応じたデータを第４連携ＧＷサブシステム４０に送信する。この際、コミュニティＤのデータ取得先のサブシステム１４１は、第４連携ＧＷサブシステム４０からのリクエストメッセージにアサーションが付与されているか否かを確認し、アサーションが付与されていることが確認されたら、このアサーションの発行元であるコミュニティＡの認証サブシステム１１０の公開鍵を利用して、リクエストメッセージに付与されているアサーションが正当であるか否かを検証し、このアサーションが正当であることが確認されたら、このリクエストメッセージに応じたデータを第４連携ＧＷサブシステム４０に送信するようにしてもよい。このデータは、第４連携ＧＷサブシステム４０、第１連携ＧＷサブシステム１０ａを介して、要求元のコミュニティＡのサブシステム１１１に返される。
【００７２】
なお、アサーションの発行とユーザのログイン時の再認証についてみてみると、コミュニティＡの認証サブシステム１１０が、このコミュニティＡ内の全てのサブシステムに対し、同一のアサーションを生成する第１の実施形態の場合は、コミュニティＡ内のいずれかのサブシステムからの最初のログイン後に、認証済みであることを示す情報を当該ログイン先のサブシステムが管理し、別のサブシステムからのシングルサインオンの要求時に、このサブシステム向けのアサーションが発行される一方で、認証サブシステム１１０はユーザに再認証を要求しないようにする例が挙げられる。
【００７３】
一方、サブシステムごとに異なるアサーションを発行する第２の実施形態においては、ユーザがあるコミュニティの任意のサブシステムにログイン後、異なるサブシステムにログインしようとした際に、ユーザに対する再認証もしくはシングルサインオンの実現方法については以下の２つの例が挙げられる。
第１の例としては、例えばコミュニティＡ内のいずれかのサブシステムからの最初のログイン後に、認証済みであることを示す情報を認証サブシステム１１０が管理し、別のサブシステムからのシングルサインオンの要求時に、このサブシステム向けのアサーションが発行される一方で、認証サブシステム１１０はユーザに再認証を要求しないことが挙げられる。
【００７４】
また、第２の例として、例えばコミュニティＡ内のいずれかのサブシステムからの最初のログイン後に、認証済みであることを示す情報をサブシステムごとに認証サブシステム１１０が管理し、別のサブシステムからの初めてのシングルサインオンの要求時には、このサブシステム向けのアサーションが発行される一方で、認証サブシステム１１０はユーザに再認証を要求することが挙げられる。
【００７５】
次に、第２の実施形態における情報流通システムにおける、アサーションの生成の第２の例について説明する。図６は、本発明の第２の実施形態における情報流通システムにおける、アサーションの生成の第２の例について説明するための図である。  
この第２の例では、図６に示すように、エンドサブシステム５０は、図４に示したアサーション設定部５１に代えてアサーション設定部５１ａを有する。このアサーション設定部５１ａは、他のコミュニティ向けのリクエストメッセージを生成する場合に、エンドサブシステム５０向けのアサーションを、他のコミュニティ向けのアサーション、つまり、他のコミュニティに送信してもよい内容が含まれる一方で、他のコミュニティに送信されることが不適切な内容が含まれないアサーションに変換することを認証サブシステム１１０に要求するための要求信号を出力する。
【００７６】
また、上記の第２の例では、コミュニティＡの認証サブシステム１１０のサブシステム別アサーション発行部１１０ａは、図５に示したアサーション発行処理部１１０ｂやサブシステム別ハンドラ処理部１１０ｃに代えて、アサーション変換処理部１１０ｄを有する。  
このアサーション変換処理部１１０ｄは、上記のアサーション設定部５１ａから、他のコミュニティ向けのアサーションに変換することが要求された、エンドサブシステム５０向けのアサーションを受信すると、まず、このアサーションが署名・暗号化の過程で改ざんされておらず、認証サブシステム１１０自身が発行したものであることを確認するために、このアサーションの署名検証および復号処理を行ない、このアサーションが改ざんされていないことを確認する。
【００７７】
続いて、アサーション変換処理部１１０ｄは、このアサーションの項目を、予め定められた、他のコミュニティ向けのアサーション用の項目情報に沿うように変換して、エンドサブシステム５０のアサーション設定部５１ａに返却する。この変換時に認証サブシステム１１０がユーザに再認証を要求してもよい。例えば、他のコミュニティ向けのアサーション用の項目情報が「組織、資格」となっている場合、変換前のエンドサブシステム５０向けのアサーションにその他の項目が含まれていても、上記の変換によって削除される。
【００７８】
そして、アサーション設定部５１ａは、上記の返却されたアサーションを、他のコミュニティ向けのリクエストメッセージに付与する。これにより他のコミュニティ向けのアサーションを含んだリクエストメッセージを生成することができる。
【００７９】
また、上記のように署名・暗号化されているアサーションについては、これを解体して別の要素を加えることはセキュリティ上で許容されないため、例えば他のコミュニティ向けのアサーションに必要な項目が、コミュニティＡ内で利用しているアサーションの項目を包含している場合は、他のコミュニティ向けのアサーションに必要な項目に対して不足している項目のみを、コミュニティＡ内で利用しているアサーションの項目に追加することで、他のコミュニティ向けのアサーションを生成するようにしてもよい。
【００８０】
なお、この第２の例では、第１の例とは異なり、コミュニティＡ内の複数の任意のサブシステム１１１およびエンドサブシステム５０のいずれかからでも、シングルサインオンのための、ユーザによるログインが行うことができる。他のコミュニティにアクセスする場合でも、エンドサブシステム５０からのみならず、コミュニティＡ内の複数の任意のサブシステム１１１およびエンドサブシステム５０のいずれかからでも、シングルサインオンのためのログインが行うことができる。
【００８１】
他のコミュニティＤへのデータのリクエストを行うために、例えばコミュニティＡ内の任意のサブシステム１１１からログインした場合、他のコミュニティへのリクエストメッセージに対応する、コミュニティＡ用のアサーションをエンドサブシステム５０が受け取る。そして、このエンドサブシステム５０は、コミュニティＡ用のアサーションをコミュニティＤ向けのアサーションに変換することを認証サブシステム１１０に要求する。認証サブシステム１１０は、この要求に応じて変換されたコミュニティＤ向けのアサーションをエンドサブシステム５０に返す。つまり、コミュニティＡにおける、ログイン先のサブシステムがエンドサブシステム５０以外であっても、アサーションは、エンドサブシステム５０を通って、リクエストメッセージがコミュニティＤに送信される直前の段階でコミュニティＤ向けのアサーションに変換される。
【００８２】
以上のように、本発明の第２の実施形態における情報流通システムでは、あるコミュニティにおけるサブシステムからのシングルサイオン要求時に、この要求時に利用されたサブシステムごとに、このサブシステム向けのアサーションを精製したり、他のコミュニティ宛のリクエストメッセージの送信に先立って、エンドサブシステム向けのアサーションを他のコミュニティ向けのアサーションに変換したりする。  
これにより、既存のコミュニティのアサーションとは別に、他コミュニティ向けのアサーションを作成できるため、既存のコミュニティに影響を与えることなく他コミュニティにアクセスすることができる。
【００８３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００８４】
また、各実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【００８５】
１０，１０ａ…第１連携ＧＷ（ゲートウェイ）サブシステム
１１，１１ａ，２１，３１，４１…接続システム正当性確認部
１２，１２ａ，４２…アサーション付与判断部
１３，１３ａ，４３，５１，５１ａ…アサーション設定部
１４，１４ａ，２２，４４…アサーション検証部
２０…第２連携ＧＷサブシステム
３０…第３連携ＧＷサブシステム
４０…第４連携ＧＷサブシステム
５０…エンドサブシステム
１１０，１２０，１４０…認証サブシステム
１１０ａ…サブシステム別アサーション発行部
１１０ｂ…アサーション発行処理部
１１０ｃ…サブシステム別ハンドラ処理部
１１０ｄ…アサーション変換処理部
１１１，１２１，１３１，１４１…サブシステム
【図１】
0006053205.tif 000002
【図２】
0006053205.tif 000003
【図３】
0006053205.tif 000004
【図４】
0006053205.tif 000005
【図５】
0006053205.tif 000006
【図６】
0006053205.tif 000007