(57)【要約】【課題】  Ｗｅｂサービスを利用したシステムのセキュリティを向上させる。【解決手段】  ユーザ端末１のＡＰ１１が、認証サーバ２へ認証要求を送信する。認証サーバ２がＡＰ１１を認証すると、暗号化および復号化に用いるセッション鍵をユーザ端末１へ送信する。業務サーバ３が、ユーザ端末１から、サービスコンポーネント３２に対するサインオン要求を受け付けると、認証サーバ２へサービスコンポーネント３２の認証要求を送信する。認証サーバ２がサービスコンポーネント３２を認証すると、同じセッション鍵を業務サーバ３へ送信する。そして、ＡＰ１１およびサービスコンポーネント３２は、それぞれがセッション鍵を用いて、相互に暗号通信を行う。    【選択図】  図１
2005086428.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置上で動作しているアプリケーションが、認証サーバへ認証要求を送信し、
前記認証サーバが前記アプリケーションを認証すると、暗号化および復号化に用いる鍵を前記第１の情報処理装置へ送信し、
第２の情報処理装置が、前記第１の情報処理装置から、前記第２の情報処理装置上で動作しているサービスコンポーネントに対するサインオン要求を受け付けると、前記認証サーバへ前記サービスコンポーネントの認証要求を送信し、
前記認証サーバが前記サービスコンポーネントを認証すると、前記暗号化および復号化に用いる鍵と同一の鍵を前記第２の情報処理装置へ送信し、
前記アプリケーションおよび前記サービスコンポーネントは、それぞれが前記認証サーバから取得した鍵を用いて、相互に暗号通信を行う、認証を得て暗号通信を行う方法。
【請求項２】
一以上のアプリケーションの識別情報と、前記一以上のアプリケーションのそれぞれを認証するための情報とを対応付けて記憶した第１の記憶手段と、
一以上のサービスコンポーネントの識別情報と、前記一以上のサービスコンポーネントのそれぞれを認証するための情報とを対応付けて記憶した第２の記憶手段と、
あるアプリケーションから、当該アプリケーションの識別情報を含む認証要求を受け付け、前記第１の記憶手段を参照して当該アプリケーションを認証するための処理を行う手段と、
前記アプリケーションが認証されたときは、前記アプリケーションが認証済みであることを示す認証済み情報と、暗号化および復号化に用いる鍵とを前記アプリケーションへ送信する手段と、
あるサービスコンポーネントから、当該サービスコンポーネントの識別情報を含む認証要求を受け付け、前記第２の記憶手段を参照して当該サービスコンポーネントを認証するための処理を行う手段と、
前記サービスコンポーネントが認証されたときは、前記アプリケーションへ送信した鍵と同一の鍵を前記サービスコンポーネントへ送信する手段と、を備える認証システム。
【請求項３】
前記サービスコンポーネントからの認証要求には、前記アプリケーションの認証済み情報をさらに含み、
前記認証システムは、
一以上のアプリケーションの識別情報と、前記一以上のアプリケーションのそれぞれがアクセス可能な一以上のサービスコンポーネントの識別情報とを対応付けて記憶した第３の記憶手段と、
前記第３の記憶手段を参照し、前記サービスコンポーネントからの認証要求に含まれる前記認証済み情報に基づいて、前記一のアプリケーションと前記一のサービスコンポーネントとが対応付けられているか判定する手段と、をさらに備え、
前記サービスコンポーネントへ送信する手段は、前記判定により前記アプリケーションと前記サービスコンポーネントとが対応付けられているときに、前記アプリケーションへ送信した鍵と同一の鍵を送信する請求項２記載の認証システム。
【請求項４】
前記第１の記憶手段に記憶された認証するための情報は復号鍵であり、
前記アプリケーションからの認証要求は暗号化されていて、
前記アプリケーションを認証するための処理は、前記暗号化されている認証要求を前記復号鍵で復号化する請求項２記載の認証システム。
【請求項５】
前記第２の記憶手段に記憶された認証するための情報は復号鍵であり、
前記サービスコンポーネントからの認証要求は暗号化されていて、
前記サービスコンポーネントを認証するための処理は、前記暗号化されている認証要求を前記復号鍵で復号化する請求項２記載の認証システム。
【請求項６】
前記アプリケーションの認証の有効期限を示す情報を記憶した第３の記憶手段と、
前記サービスコンポーネントからの認証要求を受けたときに、前記第３の記憶手段を参照して有効期限が経過しているかを確認する手段とをさらに備え、
前記サービスコンポーネントを認証するための処理を行う手段は、前記サービスコンポーネントからの認証要求が前記有効期限を経過していないときに処理を行う請求項２記載の認証システム。
【請求項７】
一以上のアプリケーションの識別情報と、前記一以上のアプリケーションのそれぞれを認証するための情報とを対応付けて、第１の記憶手段に格納し、
一以上のサービスコンポーネントの識別情報と、前記一以上のサービスコンポーネントのそれぞれを認証するための情報とを対応付けて、第２の記憶手段に格納し、
あるアプリケーションから、当該アプリケーションの識別情報を含む認証要求を受け付け、前記第１の記憶手段を参照して当該アプリケーションを認証するための処理を行い、
前記アプリケーションが認証されたときは、前記アプリケーションが認証済みであることを示す認証済み情報と、暗号化および復号化に用いる鍵とを前記アプリケーションへ送信し、
あるサービスコンポーネントから、当該サービスコンポーネントの識別情報を含む認証要求を受け付け、前記第２の記憶手段を参照して当該サービスコンポーネントを認証するための処理を行い、
前記サービスコンポーネントが認証されたときは、前記アプリケーションへ送信した鍵と同一の鍵を前記サービスコンポーネントへ送信する、アプリケーションおよびサービスコンポーネントの認証方法。
【請求項８】
コンピュータに実行されると、
一以上のアプリケーションの識別情報と、前記一以上のアプリケーションのそれぞれを認証するための情報とを対応付けて、第１の記憶手段に格納し、
一以上のサービスコンポーネントの識別情報と、前記一以上のサービスコンポーネントのそれぞれを認証するための情報とを対応付けて、第２の記憶手段に格納し、
あるアプリケーションから、当該アプリケーションの識別情報を含む認証要求を受け付け、前記第１の記憶手段を参照して当該アプリケーションを認証するための処理を行い、
前記アプリケーションが認証されたときは、前記アプリケーションが認証済みであることを示す認証済み情報と、暗号化および復号化に用いる鍵とを前記アプリケーションへ送信し、
あるサービスコンポーネントから、当該サービスコンポーネントの識別情報を含む認証要求を受け付け、前記第２の記憶手段を参照して当該サービスコンポーネントを認証するための処理を行い、
前記サービスコンポーネントが認証されたときは、前記アプリケーションへ送信した鍵と同一の鍵を前記サービスコンポーネントへ送信する、アプリケーションおよびサービスコンポーネントの認証のためのコンピュータプログラム。
【請求項９】
前記アプリケーションの認証の有効期限を示す情報を記憶した記憶手段と、
前記サービスコンポーネントからの認証要求を受けたとき、前記アプリケーションを認証した時から所定の期間が経過していないときに、前記第２の記憶手段を参照して当該サービスコンポーネントを認証するための処理を行い、前記所定の期間が経過していたときは、前記サービスコンポーネントを認証するための処理を行わない、請求項８記載のコンピュータプログラム。
【請求項１０】
情報処理装置であって、
前記情報処理装置上で動作しているプログラムの認証要求を、認証サーバへ送信する手段と、
前記認証サーバで前記プログラムが認証されたとき、前記認証サーバから暗号化および復号化に用いる鍵を取得する手段と、
他の情報処理装置上で動作しているサービスを提供するプログラムに対するサインオン要求を送信する手段と、
前記他の情報処理装置からサインオンを許可することを示す情報を受信する手段と、
サインオンが許可されると、前記サービス提供プログラムに対するメッセージを前記鍵を用いて暗号化し、暗号化された情報を前記他の情報処理装置へ送信する手段と、
暗号化された、前記サービス提供プログラムからのメッセージを受信し、前記鍵を用いて復号化する手段と、を備える情報処理装置。
【請求項１１】
情報処理装置に実行されると、
前記情報処理装置上で動作しているプログラムの認証要求を、認証サーバへ送信し、
前記認証サーバで前記プログラムが認証されたとき、前記認証サーバから暗号化および復号化に用いる鍵を取得し、
他の情報処理装置上で動作しているサービスを提供するプログラムに対するサインオン要求を送信し、
前記他の情報処理装置からサインオンを許可することを示す情報を受信し、
サインオンが許可されると、前記サービス提供プログラムに対するメッセージを前記鍵を用いて暗号化し、暗号化された情報を前記他の情報処理装置へ送信し、
暗号化された、前記サービス提供プログラムからのメッセージを受信し、前記鍵を用いて復号化するコンピュータプログラム。
【請求項１２】
情報処理装置であって、
当該情報処理装置上で動作しているサービス提供プログラムに対する、他の情報処理装置上で動作しているプログラムからのサインオン要求を受信する手段と、
前記サービス提供プログラムの認証要求を、認証サーバへ送信する手段と、
前記認証サーバで前記サービス提供プログラムが認証されたとき、前記認証サーバから暗号化および復号化に用いる鍵を取得する手段と、
前記鍵を取得すると、サインオンを許可することを示す情報を、前記他の情報処理装置に対して送信する手段と、
前記他の情報処理装置上で動作するプログラムに対するメッセージを前記鍵を用いて暗号化し、暗号化された情報を前記他の情報処理装置へ送信する手段と、
暗号化された、前記他の情報処理装置上で動作するプログラムからメッセージを受信し、前記鍵を用いて復号化する手段と、を備える情報処理装置。
【請求項１３】
情報処理装置に実行されると、
当該情報処理装置上で動作しているサービス提供プログラムに対する、他の情報処理装置上で動作しているプログラムからのサインオン要求を受信し、
前記サインオン要求を受信すると、前記サービス提供プログラムの認証要求を、認証サーバへ送信し、
前記認証サーバで前記サービス提供プログラムが認証されたとき、前記認証サーバから暗号化および復号化に用いる鍵を取得し、
前記鍵を取得すると、サインオンを許可することを示す情報を、前記他の情報処理装置に対して送信し、
前記他の情報処理装置上で動作するプログラムに対するメッセージを前記鍵を用いて暗号化し、暗号化された情報を前記他の情報処理装置へ送信し、
暗号化された、前記他の情報処理装置上で動作するプログラムからのメッセージを受信し、前記鍵を用いて復号化するコンピュータプログラム。
【請求項１４】
第１の情報処理装置で動作するアプリケーションと、第２の情報処理装置で動作するサービスコンポーネントとが、相互に通信を行うためのセッションを確立しているときに、
前記セッションを識別するためのセッション情報と、前記セッションに固有な鍵で暗号化されたアプリケーションからのリクエスト情報とを含むメッセージを受信する手段と、
前記セッションに固有な鍵を記憶するための記憶手段と、
前記セッションを識別するための情報に基づいて、前記鍵を取得するための要求を前記第２の情報処理装置へ送信する手段と、
前記第２の情報処理装置から前記鍵を取得すると、取得した鍵を前記記憶手段に格納する手段と、
前記鍵を用いて、前記暗号化されている前記アプリケーションからのリクエスト情報を復号化する手段と、
前記復号化されたアプリケーションからのリクエスト情報に基づいて所定の処理を行い、前記リクエストに対するレスポンス情報を生成する手段と、
前記レスポンス情報を、前記鍵で暗号化する手段と、
前記暗号化されたレスポンス情報を、前記第１の情報処理装置へ送信する手段と、を備えるサービス提供装置。
【請求項１５】
第１の情報処理装置で動作するアプリケーションと、第２の情報処理装置で動作するサービスコンポーネントとが、相互に通信を行うためのセッションを確立しているときに、
第３の情報処理装置で実行されると、
前記セッションを識別するためのセッション情報と、前記セッションに固有な鍵で暗号化されたアプリケーションからのリクエスト情報とを含むメッセージを受信し、
前記セッションを識別するための情報に基づいて、前記鍵を取得するための要求を前記第２の情報処理装置へ送信し、
前記第２の情報処理装置から前記鍵を取得すると、取得した鍵を記憶手段に格納し、
前記鍵を用いて、前記暗号化されている前記アプリケーションからのリクエスト情報を復号化し、
前記復号化されたアプリケーションからのリクエスト情報に対するレスポンス情報を前記鍵で暗号化し、
前記暗号化されたレスポンス情報を、前記第１の情報処理装置へ送信する、リスエストに対するレスポンスを返すためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサービスを利用したシステムにおけるセキュリティを向上させるための技術に関する。
【背景技術】
【０００２】
Ｗｅｂ関連技術の１つにＷｅｂサービス技術がある。Ｗｅｂサービス技術は、ＸＭＬ（eXtensible Markup Language）形式のメッセージ交換により、ネットワーク上に存在するアプリケーションを連携させる技術をいう。また、Ｗｅｂサービス技術を用いたアプリケーションをＷｅｂサービスという。通常のＷｅｂサイトは、Ｗｅｂブラウザなどを用いたユーザに対して直接サービス（情報）を提供するのに対して、Ｗｅｂサービスは、ユーザのコンピュータ上のアプリケーションに対して所定のサービスを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
Ｗｅｂサービスに関しては、実用化に向けた検討が進められているが、例えば、Ｗｅｂサービスを用いたときのセキュリティに関しては、必ずしも十分に検討されている訳ではない。
【０００４】
また、従来のセキュリティ技術では、暗号および認証はそれぞれ別々に行われていることが多い。さらに、認証に関しては、どのような認証を行うかは各アプリケーションの自由であり、標準化されていない。従って、種々のアプリケーションを利用したいユーザは、それぞれのアプリケーションの仕様に合わせるために、それぞれに適した処理プログラムを開発しなければならない。
【０００５】
そこで、本発明の目的は、Ｗｅｂサービスを利用したシステムのセキュリティを向上させることである。
【０００６】
本発明の他の目的は、アプリケーションに依存しない認証システムを提供することである。
【０００７】
本発明の別の目的は、暗号技術と認証技術とを組み合わせて、安全性の高いシステムを提供することである。
【０００８】
本発明のさらに別の目的は、Ｗｅｂシステムが稼動する環境であればファイアーウォールの影響を受けない、位置透過性の高い認証サーバに関する技術を提供することである。
【０００９】
本発明のまた別の目的は、シングルサインオンで種々のサービスの提供が受けられるような認証技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一つの実施態様に従う認証を得て暗号通信を行う方法は、第１の情報処理装置上で動作しているアプリケーションが、認証サーバへ認証要求を送信し、前記認証サーバが前記アプリケーションを認証すると、暗号化および復号化に用いる鍵を前記第１の情報処理装置へ送信し、第２の情報処理装置が、前記第１の情報処理装置から、前記第２の情報処理装置上で動作しているサービスコンポーネントに対するサインオン要求を受け付けると、前記認証サーバへ前記サービスコンポーネントの認証要求を送信し、前記認証サーバが前記サービスコンポーネントを認証すると、前記暗号化および復号化に用いる鍵と同一の鍵を前記第２の情報処理装置へ送信し、前記アプリケーションおよび前記サービスコンポーネントは、それぞれが前記認証サーバから取得した鍵を用いて、相互に暗号通信を行う。
【００１１】
本発明の一つの実施態様に従う認証システムは、一以上のアプリケーションの識別情報と、前記一以上のアプリケーションのそれぞれを認証するための情報とを対応付けて記憶した第１の記憶手段と、一以上のサービスコンポーネントの識別情報と、前記一以上のサービスコンポーネントのそれぞれを認証するための情報とを対応付けて記憶した第２の記憶手段と、あるアプリケーションから、当該アプリケーションの識別情報を含む認証要求を受け付け、前記第１の記憶手段を参照して当該アプリケーションを認証するための処理を行う手段と、前記アプリケーションが認証されたときは、前記アプリケーションが認証済みであることを示す認証済み情報と、暗号化および復号化に用いる鍵とを前記アプリケーションへ送信する手段と、あるサービスコンポーネントから、当該サービスコンポーネントの識別情報を含む認証要求を受け付け、前記第２の記憶手段を参照して当該サービスコンポーネントを認証するための処理を行う手段と、前記サービスコンポーネントが認証されたときは、前記アプリケーションへ送信した鍵と同一の鍵を前記サービスコンポーネントへ送信する手段と、を備える。
【００１２】
好適な実施形態では、前記サービスコンポーネントからの認証要求には、前記アプリケーションの認証済み情報をさらに含む。そして、前記認証システムは、一以上のアプリケーションの識別情報と、前記一以上のアプリケーションのそれぞれがアクセス可能な一以上のサービスコンポーネントの識別情報とを対応付けて記憶した第３の記憶手段と、前記第３の記憶手段を参照し、前記サービスコンポーネントからの認証要求に含まれる前記認証済み情報に基づいて、前記一のアプリケーションと前記一のサービスコンポーネントとが対応付けられているか判定する手段と、をさらに備える。前記サービスコンポーネントへ送信する手段は、前記判定により前記アプリケーションと前記サービスコンポーネントとが対応付けられているときに、前記アプリケーションへ送信した鍵と同一の鍵を送信する。
【００１３】
好適な実施形態では、前記第１の記憶手段に記憶された認証するための情報は復号鍵である。そして、前記アプリケーションからの認証要求は暗号化されていて、前記アプリケーションを認証するための処理は、前記暗号化されている認証要求を前記復号鍵で復号化する。
【００１４】
好適な実施形態では、前記第２の記憶手段に記憶された認証するための情報は復号鍵である。そして、前記サービスコンポーネントからの認証要求は暗号化されていて、前記サービスコンポーネントを認証するための処理は、前記暗号化されている認証要求を前記復号鍵で復号化する。
【００１５】
本発明の一つの実施態様に従う情報処理装置は、前記情報処理装置上で動作しているプログラムの認証要求を、認証サーバへ送信する手段と、前記認証サーバで前記プログラムが認証されたとき、前記認証サーバから暗号化および復号化に用いる鍵を取得する手段と、他の情報処理装置上で動作しているサービスを提供するプログラムに対するサインオン要求を送信する手段と、前記他の情報処理装置からサインオンを許可することを示す情報を受信する手段と、サインオンが許可されると、前記サービス提供プログラムに対するメッセージを前記鍵を用いて暗号化し、暗号化された情報を前記他の情報処理装置へ送信する手段と、暗号化された、前記サービス提供プログラムからのメッセージを受信し、前記鍵を用いて復号化する手段と、を備える。
【００１６】
本発明の一つの実施態様に従う情報処理装置は、当該情報処理装置上で動作しているサービス提供プログラムに対する、他の情報処理装置上で動作しているプログラムからのサインオン要求を受信する手段と、前記サービス提供プログラムの認証要求を、認証サーバへ送信する手段と、前記認証サーバで前記サービス提供プログラムが認証されたとき、前記認証サーバから暗号化および復号化に用いる鍵を取得する手段と、前記鍵を取得すると、サインオンを許可することを示す情報を、前記他の情報処理装置に対して送信する手段と、前記他の情報処理装置上で動作するプログラムに対するメッセージを前記鍵を用いて暗号化し、暗号化された情報を前記他の情報処理装置へ送信する手段と、暗号化された、前記他の情報処理装置上で動作するプログラムからメッセージを受信し、前記鍵を用いて復号化する手段と、を備える。
【００１７】
本発明の一つの実施態様に従うサービス提供装置は、第１の情報処理装置で動作するアプリケーションと、第２の情報処理装置で動作するサービスコンポーネントとが、相互に通信を行うためのセッションを確立しているときに、前記セッションを識別するためのセッション情報と、前記セッションに固有な鍵で暗号化されたアプリケーションからのリクエスト情報とを含むメッセージを受信する手段と、前記セッションに固有な鍵を記憶するための記憶手段と、前記セッションを識別するための情報に基づいて、前記鍵を取得するための要求を前記第２の情報処理装置へ送信する手段と、前記第２の情報処理装置から前記鍵を取得すると、取得した鍵を前記記憶手段に格納する手段と、前記鍵を用いて、前記暗号化されている前記アプリケーションからのリクエスト情報を復号化する手段と、前記復号化されたアプリケーションからのリクエスト情報に基づいて所定の処理を行い、前記リクエストに対するレスポンス情報を生成する手段と、前記レスポンス情報を、前記鍵で暗号化する手段と、前記暗号化されたレスポンス情報を、前記第１の情報処理装置へ送信する手段と、を備える。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の一実施形態に係る所定の業務サービスを提供するためのシステムついて、図面を用いて説明する。図１は、本システムの全体構成を示す図である。このシステムは、ユーザ端末１と、認証サーバ２と、サービスを提供する業務サーバ３、４とが、それぞれインターネットなどのネットワーク９を介して接続されている。
【００１９】
図１では、ユーザ端末１が一台、業務サーバが二台、それぞれ示されているが、それぞれの台数はこれらに限定されない。例えば、ユーザ端末は複数台存在してもよいし、業務サーバは一台または三台以上であってもよい。
【００２０】
ユーザ端末１、認証サーバ２および業務サーバ３、４は、いずれも、例えばプロセッサおよび記憶装置などを有する汎用的なコンピュータシステムにより構成され、以下に説明するユーザ端末１および各サーバ２，３，４内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００２１】
また、本実施形態では、１台以上のユーザ端末と１台以上の業務サーバにより、所定のグループが形成されている。そして、各ユーザ端末は、同一グループ内の業務サーバと通信を行い、各業務サーバが提供するサービスを利用することができる。また、各業務サーバは同一グループ内のユーザ端末と通信を行い、各ユーザ端末に対してサービスを提供する。図１の例では、ユーザ端末１および業務サーバ３，４が同一グループに属している。また、ユーザ端末と業務サーバとの通信は、セッションを確立して行う。
【００２２】
ユーザ端末１は、所定の処理を行うアプリケーションプログラム（ＡＰ）１１と、認証サーバ２および業務サーバ３，４との間で通信を行うセッション管理部１２と、ユーザ端末１が属するグループ内の他のユーザ端末および業務サーバに固有な、復号化に用いる復号鍵を記憶した固有鍵記憶部１３とを備える。
【００２３】
ＡＰ１１は、業務サーバ３，４で動作するサービスコンポーネント３２，４２が提供する所定のサービスを利用する。ＡＰ１１は、ユーザ端末１上で動作している。サービスコンポーネント３２，４２が提供するサービスを利用するために、ＡＰ１１はサービスコンポーネント３２，４２と、後述する手順でセッションを確立し、処理を依頼したり、処理結果を受領したりするためのメッセージの交換を行う。
【００２４】
固有鍵記憶部１３は、ユーザ端末１に固有な暗号鍵が記憶されている。この暗号鍵は、認証サーバ２から後述するセッション鍵を取得するためのリクエストを暗号化するために用いる。なお、暗号化の方式は、公開鍵暗号方式であってもよいし、秘密鍵暗号方式であってもよい。
【００２５】
セッション管理部１２は、業務サーバ３，４で動作しているサービスコンポーネント３２，４２とＡＰ１１との間のセッションを管理するための処理を行う。例えば、セッション管理部１２は、ＡＰ１１とサービスコンポーネント３２，４２とのセッションを確立するために、ＡＰ１１の認証を得るための処理を行う。認証サーバ２でＡＰ１１が認証されたときには、セッション管理部１２は、サービスコンポーネント３２，４２とのセッションで使用する暗号鍵（セッション鍵）を認証サーバ２から取得する。
【００２６】
また、セッション管理部１２は、ＡＰ１１が業務サーバ３，４へサインオンし、セッションを確立するための処理を行う。セッション管理部１２の詳細な処理は後述する。
【００２７】
認証サーバ２は、ユーザ端末１で動作するＡＰ１１および業務サーバ３，４で動作するサービスコンポーネント３２，４２の認証を行う。また、ユーザ端末１からのサインオン要求を受け付けた業務サーバ３，４からの問い合わせに対して、サインオンを許可するかどうかの判定を行う。さらに、認証されたＡＰ１１およびサービスコンポーネント３２、４２が相互に通信を行うためのセッションの管理を行う。
【００２８】
認証サーバ２は、ユーザ端末１のＡＰ１１および業務サーバ３、４のサービスコンポーネント３２，４２の認証を行うＷｅｂサービスである認証Ｗｅｂサービス２１と、ユーザ端末１から業務サーバ３，４へサインオン要求があったときに、サインオンを許可するかどうかを判断するＷｅｂサービスである検証Ｗｅｂサービス２２と、ユーザ端末１上のＡＰ１１に対して与えられているアクセスする権限を示すアクセス権限記憶部２３と、セッション情報記憶部２４と、個別鍵記憶部２５とを備える。
【００２９】
認証Ｗｅｂサービス２１は、ユーザ端末１から認証要求を含むメッセージを受け付けて、ＡＰ１１を認証するための処理を行う。また、同様に、業務サーバ３，４からの認証要求を含むメッセージを受け付けて、サービスコンポーネント３２、４２を認証するための処理を行う。例えば、認証Ｗｅｂサービス２１は、受け付けたメッセージに含まれている認証要求が、正当なＡＰ１１またはサービスコンポーネント３２からのものであるかを確認する。なお、本実施形態では、後述するように暗号化されたメッセージを、あらかじめ保持している各ＡＰ１１等に固有の復号鍵で復号できたときに認証を与えているが、認証方法はこれに限定されず、任意の認証法を適用することができる。
【００３０】
さらに、認証Ｗｅｂサービス２１は、認証要求に含まれているセッションに関する情報をセッション情報記憶部２４に格納する。
【００３１】
検証Ｗｅｂサービス２２は、サインオン要求を受けた業務サーバ３，４からの問い合わせに対して、そのサインオンを認め、セッションを確立させるための所定の要件を満たすか判断をする。例えば、検証Ｗｅｂサービス２２は、サインオン要求に係るＡＰ１１が、サインオン要求に係るサービスコンポーネント３２，４２に対してアクセス権限を有するかどうかを、アクセス権限記憶部２３を参照して判定する。
【００３２】
アクセス権限記憶部２３は、ＡＰが利用可能なＷｅｂサービスが登録されている。アクセス権限記憶部２３は、例えば、図２に示すように、ＡＰ１１の識別情報であるＡＰ−ＩＤ２３１と、業務サーバの識別情報であるサーバＩＤ２３２と、Ｗｅｂサービスの識別情報であるＷｅｂサービスＩＤ２３３とが対応付けて記憶されている。
【００３３】
セッション情報記憶部２４は、認証サーバ２が管理するセッション、例えば確立されているセッションおよび確立要求があったセッションに関する情報を記憶する。セッション情報記憶部２４は、例えば、図３に示すように、データ項目として、セッションの識別情報であるセッションＩＤ２４１と、ＡＰ１１が認証済みであることを示す認証ＩＤ２４２と、このセッションを使ってサービスの提供を受けるＡＰ１１のＡＰ−ＩＤ２４３と、このセッションを使ってサービスを提供するＷｅｂサービスのサービスＩＤ２４４と、このセッションで用いられる暗号鍵であるセッション鍵２４５と、認証Ｗｅｂサービス２１が認証を与えた認証時刻２４６と、この認証の有効期限２４７とを有する。有効期限２４７は、例えば、ＡＰ１１セッションの確立要求があったときに、その確立要求をいつまで有効とするかを示す期限である。従って、この有効期限２４７が経過した後でサービスコンポーネント３２、４２からサインオン要求があったときは、このサインオンに係るセッションの確立は許可されない。
【００３４】
固有鍵記憶部２５は、暗号化されたメッセージを受信したときに、それを復号するための復号鍵が記憶されている。ここに記憶されている復号鍵は、認証サーバ２と同一グループに属するすべてのユーザ端末１のＡＰ１１あるいは業務サーバ３，４のサービスコンポーネント３２，４２に固有な復号鍵である。例えば、固有鍵記憶部２５には、ＡＰまたはサービスコンポーネントの識別情報とそれぞれの復号鍵とが対応付けて記憶されている。なお、暗号化の方式は、公開鍵暗号方式であってもよいし、秘密鍵暗号方式であってもよい。
【００３５】
再び図１を参照すると、業務サーバ３，４は、ユーザ端末１に対して、所定の業務に係るサービスを提供する。業務サーバ３と業務サーバ４とは、それぞれが備えているサービスコンポーネント３２とサービスコンポーネント４２の提供するサービスの内容が異なる以外は、同様の構成を備えている。従って、以下の業務サーバ３，４に共通する構成の説明は、まとめて行う。
【００３６】
業務サーバ３、４は、サインオン処理部３１、４１と、所定の業務処理を行うサービスコンポーネント３２、４２と、セッション情報記憶部３３、４３と、セッションインタフェース部３４，４４と、グループ管理テーブル３５，３５と、個別鍵記憶部３６、４６とを備える。
【００３７】
サインオン処理部３１は、ユーザ端末１からサインオンを要求するメッセージを受け付けて、サインオンを許可するかを判定するための処理を行う。例えば、サインオン処理部３１、４１は、認証サーバ２へサービスコンポーネント３２，４２の認証を要求し、サインオン要求をしたＡＰ１１がサービスコンポーネント３２、４２へのアクセス権限を有するかの問い合わせるためのメッセージを生成し、送信する。
【００３８】
サービスコンポーネント３２およびサービスコンポーネント４２は、それぞれ、所定の業務サービスを提供するＷｅｂサービスである。サービスコンポーネント３２およびサービスコンポーネント４２は、所定のプログラムを業務サーバ３，４がそれぞれ実行することにより、各サーバ３，４上に実現される。ここで、サービスコンポーネント３２が提供するサービスをサービスＡ，サービスコンポーネント４２が提供するサービスをサービスＢとする。
【００３９】
セッション情報記憶部３３、４３は、サービスコンポーネント３２，４２のセッションに関する情報を記憶する。例えば、認証サーバ２のセッション情報記憶部２４と同様のデータ項目を有する。
【００４０】
セッションインタフェース部３４，４４は、確立されたセッションを用いたメッセージの送信および受信を行う。例えば、セッションインタフェース部３４，４４は、セッションを用いて送信するメッセージをセッション鍵で暗号化し、暗号化されたメッセージを受信したときはセッション鍵で復号化する。ここで、セッション鍵を用いた暗号方式は、共通の鍵で暗号化および復号化を行う秘密鍵暗号方式を用いる。しかし、暗号鍵と復号鍵が異なる公開鍵暗号方式を適用してもよい。また、セッションインタフェース部３４，４４は、セッション情報を共有するための処理（図６参照）を行う。
【００４１】
グループ管理テーブル３５，３５は、サービスコンポーネント３２，４２が属するグループの識別情報であるグループＩＤと、このグループに属するすべてのＡＰのＡＰ−ＩＤ、およびこのグループに属するすべてのサービスコンポーネントのサービスＩＤとが記憶されている。
【００４２】
個別鍵記憶部３６，４６は、業務サーバ３，４に固有な暗号鍵が記憶されている。この暗号鍵は、認証サーバ２からセッション鍵を取得するためのリクエストを暗号化するために用いる。
【００４３】
次に、図４〜図６に示すフローチャートを用いて、本システムの詳細な処理手順について説明する。
【００４４】
図４は、ＡＰ１１の認証を行うための処理手順の一例を示すフローチャートである。まず、ユーザ端末１では、セッション管理部１２が、認証サーバ２に対してＡＰ１１の認証を要求するためのメッセージを生成する（Ｓ１１）。この認証要求１００には、例えば、認証後に確立するセッションを一意に識別するためのセッションＩＤ１０１と、この認証要求１００に対する返信メッセージを暗号化するためのレスポンス用鍵１０２とが含まれる。
【００４５】
次に、セッション管理部１２は、ここで生成された認証要求１００を、ＡＰ１１に固有な暗号鍵で暗号化する（Ｓ１２）。そして、ユーザ端末１は、暗号化された認証要求１００とＡＰ−ＩＤ１０５とを含むメッセージを、認証サーバ２へ送信する。
【００４６】
認証サーバ２では、認証要求１００を含むメッセージを受信すると、認証Ｗｅｂサービス２１が暗号化されている認証要求１００を復号化する（Ｓ２１）。この復号化は、認証Ｗｅｂサービス２１が、受信したメッセージに含まれているＡＰ−ＩＤ１０５と対応付けて記憶されている復号鍵を個別鍵記憶部２５から取得し、この復号鍵を用いて行う。
【００４７】
ここで復号化に成功すれば（Ｓ２１：Ｙｅｓ）、この認証要求は正当なＡＰ１１からのものであると判断し、認証ＩＤ１０３を付与して認証する（Ｓ２２）。一方、復号化できない場合は（Ｓ２１：Ｎｏ）、認証サーバ２は、この認証要求に対して認証を与えないことを示すエラー通知をユーザ端末１へ返信する。
【００４８】
認証されたときは、認証Ｗｅｂサービス２１は、さらに、この後で確立されるセッションで暗号化に用いられる暗号鍵（以下、セッション鍵という）１０４を生成する（Ｓ２３）。
【００４９】
そして、認証Ｗｅｂサービス２１は、認証要求に含まれていたセッションＩＤ１０１および認証ＩＤ１０３と、生成されたセッション鍵１０４とを含む返信用メッセージ１１０を生成し、認証要求に含まれていたレスポンス用鍵１０２で暗号化する（Ｓ２４）。暗号化された返信用メッセージ１１０は、ユーザ端末１へ送信される。
【００５０】
ユーザ端末１では、セッション管理部１２がこの返信用メッセージを受信し、復号化し（Ｓ１３）、認証ＩＤ１０３およびセッション鍵１０４を取得する。
【００５１】
次に、図５は、図４に示す処理で認証を受けたＡＰ１１が、業務サーバ３のサービスコンポーネント３２にサインオンするときの処理手順の一例を示すフローチャートである。
【００５２】
セッション管理部１２は、ＡＰ１１が利用したいＷｅｂサービス（ここではサービスコンポーネント３２）に対するサインオン要求を生成する（Ｓ３１）。このサインオン要求１５０には、例えば、セッションＩＤ１０１と、認証ＩＤ１０３と、このサインオン要求１５０に対する返信メッセージを暗号化するためのレスポンス用鍵１５１が含まれる。
【００５３】
次に、セッション管理部１２は、ここで生成されたサインオン要求１５０を、固有か義気億部１３に記憶されているＡＰ１１に固有な暗号鍵で暗号化する（Ｓ３２）。そして、ユーザ端末１は、暗号化されたサインオン要求１５０とＡＰ１１の識別情報であるＡＰ−ＩＤ１５５とを含むメッセージを、業務サーバ３へ送信する。
【００５４】
業務サーバ３では、サインオン要求１５０を含むメッセージを受信すると、サインオン処理部３１が、暗号化されているサインオン要求１５０を復号化する（Ｓ４１）。この復号化は、サインオン処理部３１が、受信したメッセージ含まれているＡＰ−ＩＤ１５５と対応付けて記憶されている復号鍵を個別鍵記憶部３６から取得し、この復号鍵を用いて行う。
【００５５】
ここで復号化に成功すれば（Ｓ４１：Ｙｅｓ）、このサインオン要求は正当なＡＰ１１からのものであると判断できる。正当なＡＰ１１からのサインオン要求であるときは、ステップＳ４２以降の処理を行う。一方、復号化できない場合は（Ｓ４１：Ｎｏ）、業務サーバ３は、このサインオン要求が正当なＡＰ１１からのものではないとみなし、サインオンを拒否することを通知するためのメッセージをユーザ端末１へ返信する。
【００５６】
正当なＡＰ１１からのサインオン要求であるとき、サインオン処理部３１は、サービスコンポーネント３２について、Ｗｅｂサーバ２による認証を得るために、サービスコンポーネント３２の認証要求２００を生成する（Ｓ４２）。この認証要求２００には、例えば、サインオン要求１５０を復号して得たセッションＩＤ１０１と、認証ＩＤ１０３と、この認証要求２００に対する返信メッセージを暗号化するためのレスポンス用の復号鍵２０１とを含む。
【００５７】
そして、サインオン処理部３１は、ここで生成された認証要求２００をサービスコンポーネント３２に固有な暗号鍵で暗号化する（Ｓ４３）。業務サーバ３は、ここで暗号化された認証要求２００とサービスコンポーネント３２の識別情報であるサービスＩＤ２０２とを含むメッセージを、認証サーバ２へ送信する。
【００５８】
認証サーバ２では、認証要求２００を含むメッセージを受信すると、認証Ｗｅｂサービス２１が暗号化されている認証要求２００を復号化する（Ｓ５１）。この復号化は、認証Ｗｅｂサービス２１が、受信したメッセージ含まれているサービスＩＤ２０２と対応付けて記憶されている復号鍵を個別鍵記憶部２５から取得し、この復号鍵を用いて行う。
【００５９】
ここで復号化に成功すれば（Ｓ５１：Ｙｅｓ）、この認証要求は正当なサービスコンポーネント３２からのものであると判断する。そして、正当なサービスコンポーネント３２からの認証要求であるときは、検証Ｗｅｂサービス２２が、ステップＳ５２以降の処理を行う。一方、復号化できない場合は（Ｓ５１：Ｎｏ）、認証サーバ２は、この認証要求に対して認証を与えないことを示すエラー通知を業務サーバ３へ返信する。
【００６０】
正当なサービスコンポーネント３２からの認証要求に対して、検証Ｗｅｂサービス２２は、復号化された認証要求２００に含まれているセッション鍵１０１または認証ＩＤ１０３に基づいて、セッション情報記憶部２３を参照する。そして、サインオンを要求しているＡＰ（ここでは、ＡＰ１１）のＡＰ−ＩＤ２４３を特定する。さらに、検証Ｗｅｂサービス２２は、このＡＰ１１がサービスコンポーネント３２に対してアクセスする権限を有するかどうかを、ここで特定したＡＰ−ＩＤ２４３およびサービスＩＤ２０２に基づいてアクセス権限記憶部２３を参照して判断する（Ｓ５２）。このとき、検証Ｗｅｂサービス２２は、有効期限２４７が経過していないか、確認してもよい。
【００６１】
ここで、アクセス権限があるときは（Ｓ５２：Ｙｅｓ）、検証Ｗｅｂサービス２２は、サインオンを許可することを通知するためのメッセージを生成する。このとき、検証Ｗｅｂサービス２２は、セッション情報記憶部２４からセッション鍵１０１に対応するセッション鍵２４５を取得し、メッセージに含める。そして、検証Ｗｅｂサービス２２は、このメッセージをレスポンス用の復号鍵２０１で暗号化し、業務サーバ３へ送信する（Ｓ５３）。なお、このとき、サービスＩＤ２０２をセッション情報記憶部２４のサービスＩＤ２４４へ登録する。
【００６２】
一方、アクセス権限がないときは（Ｓ５２：Ｎｏ）、サインオンを許可しないことを示すメッセージを業務サーバ３に対して送信する。
【００６３】
サインオン処理部３１は、暗号化されたメッセージ（サインオン許可を示すメッセージ）を受信するとそれを復号し、セッション鍵を取得する（Ｓ４４）。そして、サインオン処理部３１は、ユーザ端末１のサインオン許可を示すメッセージを生成し、それをレスポンス用鍵１５１で暗号化する。そして、サインオン処理３１は、暗号化されたメッセージをユーザ端末１に対して送信する（Ｓ４５）。
【００６４】
なお、このときサインオン処理部３１は、セッション情報記憶部３３にここで取得したセッション鍵を含む、このセッションに関する情報を登録する。
【００６５】
ユーザ端末１は、暗号化されたメッセージ（サインオン許可を示すメッセージ）を受信するとそれを復号し、サインオン完了を確認する。
【００６６】
以上のような処理により、ＡＰ１１とサービスコンポーネント３２との間のセッションが確立する。従って、ＡＰ１１とサービスコンポーネント３２とは、それぞれ、このセッションを用いて、セッション鍵を使って暗号化してメッセージの送受信を行うことができる。
【００６７】
上述のように、ＡＰ１１とサービスコンポーネント３２とはセッションを確立して通信を行っている。このとき、本実施形態では、ＡＰ１１が、このセッションに参加していないサービスコンポーネント４２に対してサービスの提供を要求した場合であっても、サービスコンポーネント４２がセッションに参加して、ＡＰ１１に対して所定のサービスを提供する。以下では、図６を用いて、サービスコンポーネント４２がセッションに参加するための処理手順の一例について説明する。
【００６８】
図６の例では、まず、業務サーバ４がユーザ端末１からメッセージ３００を受信する（Ｓ６１）。この受信したメッセージは、ＡＰ１１とサービスコンポーネント３２との間のセッションに係るメッセージである。すなわち、このメッセージ３００は、セッションＩＤ３０１と、ＡＰ１１が属しているグループの識別情報であるグループＩＤ３０２と、このセッションに固有なセッション鍵で暗号化されたメッセージ本文３０３とを含む。
【００６９】
ここで、セッションインタフェース部４４は、グループＩＤ３０２に基づいて、グループ管理テーブル３５を参照し、このメッセージ３００が同一グループ内のＡＰからのものであるかを判定する（Ｓ６２）。ここで、同一グループのＡＰからのメッセージでないときは（Ｓ６２：Ｎｏ）、セッションインタフェース部４４は、そのメッセージを破棄する。
【００７０】
同一グループのＡＰからのメッセージであるとき（Ｓ６２：Ｙｅｓ）、セッションインタフェース部４４は、セッションＩＤ３０１に基づいて、セッション情報記憶部４３に、このセッションのセッション鍵が格納されているか確認する（Ｓ６３）。
【００７１】
ここで、このセッションのセッション鍵がセッション情報記憶部４３に格納されているときは（Ｓ６３：Ｙｅｓ）、サービスコンポーネント４２はすでにこのセッションに参加しているということであり、ステップＳ６６へ進む。
【００７２】
セッション情報記憶部４３にセッション鍵が格納されていないとき（Ｓ６３：Ｎｏ）、セッションインタフェース部４４は、セッション鍵を含む、このセッションに関する情報の取得要求３１０を生成し、業務サーバ３へ送信する（Ｓ６４）。このセッション情報の取得要求３１０には、セッションＩＤ３０１とサービスコンポーネント４２のサービスＩＤ３１１とが含まれる。
【００７３】
業務サーバ３では、このセッション情報の取得要求３１０を受信すると、セッションインタフェース部３４が、セッションＩＤ３０１に基づいて、セッション情報記憶部３３に、このセッションに関する情報が格納されているかどうかを確認する（Ｓ７１）。
【００７４】
そして、このセッションのセッション情報があるときは（Ｓ７１：Ｙｅｓ）、セッションインタフェース部３４が、サービスＩＤ３１１に基づいてグループ管理テーブル３５を参照し、サービスコンポーネント４２が同一グループに属するかを確認する（Ｓ７２）。ここで、さらに、認証サーバ２の検証Ｗｅｂサービス２２に対して、セッションＩＤ３０１とサービスＩＤ３１１を送信してＡＰ１１がサービスコンポーネント４２に対してアクセス権限を有するかの確認を要求してもよい。
【００７５】
サービスコンポーネント３２とサービスコンポーネント４２とが同一グループであるときは（Ｓ７２：Ｙｅｓ）、このセッションに関する情報をセッションＩＤ３０１をキーにしてセッション情報記憶部３３から取得し、業務サーバ４へ送信する（Ｓ７３）。
【００７６】
セッションインタフェース４４は、受信したセッション情報をセッション情報記憶部４３へ格納する（Ｓ６５）。これにより、業務サーバ４もセッション情報を共有することができる。この結果、サービスコンポーネント４２は、ＡＰ１１とサービスコンポーネント３２との間ですでに確立されているセッションに新たに参加することができる。
【００７７】
セッションインタフェース部４４は、取得したセッション情報に含まれているセッション鍵を用いて、メッセージ本文３０３を復号する（Ｓ６６）。そして、サービスコンポーネント４２が、復号されたメッセージ本文３０３に含まれている情報に基づいて所定の処理を行い、これに対する応答メッセージを生成する（Ｓ６７）。この応答メッセージは、セッションインタフェース部４４がセッション鍵で暗号化してユーザ端末１へ送信する（Ｓ６８）。
【００７８】
これにより、ＡＰ１１は、サービスコンポーネント４２が提供するサービスの提供を受けることができる。また、これ以降、ＡＰ１１は、サービスコンポーネント４２のサービスを利用できる。
【００７９】
なお、図６の例では、業務サーバ４は、業務サーバ３からセッション情報を取得したが、認証サーバ２から取得するようにしてもよい。この場合、認証サーバ２がステップＳ７１〜Ｓ７３までの処理を行うために必要な構成を備える。
【００８０】
これにより、複数のサービスコンポーネント３２，４２が複数の業務サーバ３，４に分散しているときであっても、業務サーバ３，４は、同一のセッション情報を共有することができる。従って、ユーザは、いずれかの業務サーバへ一度サインオンすれば、同一グループ内のすべてのサービスコンポーネント（Ｗｅｂサービス）を自由に利用することができるようになり、シングルサインオンが実現できる。
【００８１】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００８２】
例えば、上述した認証サーバ２、および業務サーバ３，４は、それら３つを纏めて一つの情報処理装置で集中的に実現することもできるし、それらのいずれか２つを一つの情報処理装置で実現することもできる。
【図面の簡単な説明】
【００８３】
【図１】本発明の一実施形態に係るシステムの全体構成を示す図である。
【図２】アクセス権限記憶部のデータ項目の一例を示す図である。
【図３】セッション情報記憶部のデータ項目の一例を示す図である。
【図４】ＡＰ１１の認証を得るための処理手順を示すフローチャートである。
【図５】ＡＰ１１がサインオンするための処理手順を示すフローチャートである。
【図６】セッションに参加していないサービスコンポーネントがセッションに参加して、サービスを提供するための処理手順を示すフローチャートである。
【符号の説明】
【００８４】
１…ユーザ端末、２…認証サーバ、３，４…業務サーバ、９…ネットワーク、１１…ＡＰ、１２…セッション管理部、２１…認証Ｗｅｂサービス、２２…検証Ｗｅｂサービス、３１，４１…サインオン処理部、３２，４２…サービスコンポーネント、３４，４４…セッションインタフェース
【図１】
2005086428.tif 000003
【図２】
2005086428.tif 000004
【図３】
2005086428.tif 000005
【図４】
2005086428.tif 000006
【図５】
2005086428.tif 000007
【図６】
2005086428.tif 000008