(57)【要約】【課題】ユーザ認証時のユーザの操作回数を減らす。【解決手段】この発明は、ユーザを認証する認証サーバを備えたサービス提供システムの認証サーバ提示方法であって、サービス要求過程と認証サーバ特定過程と認証代行要求過程とを含む。サービス要求過程は、ユーザが操作するクライアント端末が、サービス提供装置に認証サーバの識別情報を含むクライアント証明書を送付してサービスを要求する。認証サーバ特定過程は、サービス提供装置が、クライアント証明書から認証サーバの識別情報を抽出して認証サーバを特定する。認証代行要求過程は、サービス提供装置が、認証サーバ特定過程で特定された認証サーバにユーザ認証を要求する。【選択図】図２
2010152619.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作するクライアント端末と、サービス提供装置と、ユーザを認証する認証サーバを備えたサービス提供システムに用いる認証サーバ提示方法であって、
クライアント端末が、サービス提供装置に認証サーバの識別情報を含むクライアント証明書を送付してサービスを要求するサービス要求過程と、
上記サービス提供装置が、上記クライアント証明書から認証サーバの識別情報を抽出して認証サーバを特定する認証サーバ特定過程と、
サービス提供装置が、上記認証サーバ特定過程で特定された認証サーバにユーザ認証を要求する認証代行要求過程と、
を含む認証サーバ提示方法。
【請求項２】
請求項１に記載した認証サーバ提示方法において、
上記認証サーバ特定過程は、
認証サーバの識別情報を含むホワイトリスト又はブラックリストを参照してクライアント証明書から抽出した認証サーバの識別情報をフィルタリングする認証サーバフィルタリングステップを含むことを特徴とする認証サーバ提示方法。
【請求項３】
ユーザが操作するクライアント端末と、サービス提供装置と、ユーザを認証する認証サーバを備えるサービス提供システムであって、
上記クライアント端末は、認証サーバの識別情報を含むクライアント証明書を記録する証明書記録部を備え、上記クライアント証明書をサービス提供装置に送付してサービスを要求すること、および
上記サービス提供装置は、上記クライアント証明書から認証サーバの識別情報を抽出して認証サーバを特定する認証サーバ特定部と、
上記認証サーバ特定部で特定された認証サーバにユーザ認証を要求する認証要求代行送出部と
を備えること、
を特徴とするサービス提供システム。
【請求項４】
請求項３に記載したサービス提供システムにおいて、
上記サービス提供装置は、認証サーバの識別情報を含むホワイトリスト又はブラックリストも備え、
上記認証サーバ特定部は、上記ホワイトリスト又はブラックリストにクライアント証明書から抽出した認証サーバの識別情報が含まれるか否かを検査し、フィルタリングする認証サーバフィルタリング手段も備えること
を特徴とするサービス提供システム。
【請求項５】
ユーザが操作するクライアント端末からのサービスの要求に応じて認証サーバにユーザの認証を要求するサービス提供装置であって、
上記クライアント端末からクライアント証明書を受け取り、上記クライアント証明書から認証サーバの識別情報を抽出して認証サーバを特定する認証サーバ特定部と、
上記認証サーバ特定部で特定された認証サーバにユーザ認証を要求する認証要求代行送出部と、
を具備するサービス提供装置。
【請求項６】
請求項５に記載したサービス提供装置であって、
認証サーバの識別情報を含むホワイトリスト又はブラックリストも備え、
上記認証サーバ特定部は、上記ホワイトリスト又はブラックリストに上記認証サーバの識別情報が含まれるか否かを検査し、フィルタリングする認証サーバフィルタリング手段も備えること
を特徴とするサービス提供装置。
【請求項７】
請求項５又は６に記載のサービス提供装置としてコンピュータを動作させるサービス提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子的なサービスやアプリケーションを利用する際の認証サーバ提示方法と、その方法を用いたサービス提供システムと、そのシステムを構成するサービス提供装置とそのプログラムに関する。
【背景技術】
【０００２】
複数の事業者が、ネットワーク上でユーザのＷｅｂブラウザに電子的なサービスを提供している。事業者は、このサービス提供の際に課金やサービス内容のカスタマイズ等を目的として個々のユーザを認証する必要がある。そのユーザ認証の方法としては、ＩＤパスワード認証やＳＳＬ（Secure Socket Layer）相互認証が普及している。信頼できる第三者機関（ＴＴＰ：Trusted Third Party）に認証を依頼する技術として、公開鍵基盤（ＰＫＩ：Public Key Infrastructure）によるユーザ認証の方法がある。しかし、ショッピングサイト等のサービス提供システムにおいては、ＰＫＩの利用者証明書の管理コストの課題があって普及していない。
【０００３】
近年、ユーザ認証の為の新たな技術として認証連携技術と呼ばれるユーザ認証の方法が普及し始めている。例えばシングルサインオンと称される認証連携技術（非特許文献１）は、ユーザ認証を行う際にＴＴＰのサーバにリクエストを転送し、認証結果を返送させる方式でユーザを認証する。ユーザが、クライアント端末（ＣＴ：Client Terminal）から利用する認証サーバ（ＩｄＰ：Identity Provider）のネットワーク上の識別情報であるＵＲＬ（ＵＲＬ：Uniform Resource Locator）やＩＰアドレスを、サービス提供装置（ＳＰ：Service Provider）に提示することで認証が行われる。
【０００４】
図７に従来の認証連携技術によるユーザ認証手順の一例を示す。図７は、ＣＴ７０とＳＰ８０とＩｄＰ９０とから構成されるサービス提供システムのユーザ認証手順を示したシーケンス図である。最初にユーザがＣＴ７０を操作してＳＰ８０にサービスを要求する（ステップＳ７０）。ＳＰ８０は、その応答を返す（ステップＳ７１）。この時、ＳＰ８０はＣＴ７０からのアクセスを特定する目的でＨＴＴＰヘッダにセッションＩＤを付加する。ユーザは、ＣＴ７０に利用するＩｄＰ９０の、例えばＵＲＬを入力してＳＰ８０にＩｄＰ９０を指定する（ステップＳ７２）。ＳＰ８０は、ステップ７２の応答としてＣＴ７０を介してＩｄＰ９０に、３０２リダイレクトで認証代行要求を行う（ステップＳ７３）。
【０００５】
ＩｄＰ９０は、ＣＴ７０に認証サービスを提供する（ステップＳ７４）。ユーザは、ＣＴ７０にユーザのＩＤ/パスワードの認証情報を入力（ステップＳ７５）してＩｄＰ９０に認証要求する（ステップＳ７６）。ＩｄＰ９０は、認証情報を検証してユーザ認証を行う（ステップＳ７７）。そして認証結果を、ステップＳ７６の応答としてＣＴ７０を介してＳＰ８０に送信する（ステップＳ７８）。ＳＰ８０は、認証結果が正当（ステップＳ７９のＹ）であればユーザにサービスを提供する（ステップＳ８１）。
【非特許文献１】Liberty Alliance ID-FF,http://www.projectliberty.org/resource_center/specifications/liberty_alliance_id_ff_1_2_specifications
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の認証連携技術では、一つのサービスを受ける目的でユーザ認証するのに、ユーザがＣＴ７０をステップＳ７０とＳ７２とＳ７５の３回も操作する必要があった。この３回の操作は、ユーザ認証時に必ず必要であった。例えば、短時間接続を遮断した後の再接続時には、セッションＩＤをに有効期限を設けることで、有効期限内の再接続時の操作回数を減らしても良いとも思われる。しかし、一度ブラウザを終了すると「なりすまし」を防止する目的でセッションＩＤを再利用しないのが一般的である。よって例えば、ショッピングサイトに一度入り、ユーザ認証が終了した段階で、そのブラウザを終了すると、たとえその時間が短くともネットショッピングを再開するためのユーザ認証に上記した全ての操作が必要であった。
【０００７】
この発明は、このような点に鑑みてなされたものであり、認証サーバとサービス提供装置の両者に負担がかからず、且つ、認証連携技術に適合した操作回数の少ないユーザ認証を可能にする認証サーバ提示方法と、その方法を用いたサービス提供システムと、そのシステムを構成する各装置を提供することを目的とする。            
【課題を解決するための手段】
【０００８】
この発明の認証サーバ提示方法は、ユーザが操作するクライアント端末とサービス提供装置とユーザを認証する認証サーバを備えたサービス提供システムの認証サーバ提示方法であって、サービス要求過程と認証サーバ特定過程と認証代行要求過程とを含む。サービス要求過程は、クライアント端末が、サービス提供装置に認証サーバの識別情報を含むクライアント証明書を送付してサービスを要求する過程である。認証サーバ特定過程は、サービス提供装置が、クライアント証明書から認証サーバの識別情報を抽出して認証サーバを特定する過程である。認証代行要求過程は、サービス提供装置が、認証サーバ特定過程で特定された認証サーバにユーザ認証を要求する過程である。
【０００９】
また、この発明のサービス提供システムは、上述のようにユーザが操作するクライアント端末とサービス提供装置とユーザを認証する認証サーバを備える。クライアント端末は、証明書記録部に記録された認証サーバの識別情報を含むクライアント証明書をサービス提供装置に送付してサービス要求する。サービス提供装置は、クライアント証明書から認証サーバの識別情報を抽出して認証サーバを特定する認証サーバ特定部と、認証サーバ特定部で特定された認証サーバにユーザ認証を要求する認証要求代行送出部とを備える。
【００１０】
この発明のサービス提供装置は、ユーザが操作するクライアント端末からのサービスの要求に応じて認証サーバにユーザの認証を要求するサービス提供装置である。そして、クライアント端末からクライアント証明書を受け取り、クライアント証明書から認証サーバの識別情報を抽出して認証サーバを特定する認証サーバ特定部と、認証サーバ特定部で特定された認証サーバにユーザ認証を要求する認証要求代行送出部とを少なくとも具備する。なお、サービス提供装置は、何らかのサービスを提供するためのサービス提供部を当然備えている。サービス提供部について特に記載していないのは、この発明にとっては、サービス提供部の構成を限定する必要がないからである。
【発明の効果】
【００１１】
この発明の認証サーバ提示方法及びサービス提供システムによれば、クライアント端末が認証サーバの識別情報を含んだクライアント証明書をサービス提供装置に送付し、認証サーバを特定してサービスを要求するので、従来技術で説明した３回の操作を２回に減らすことが可能になる。つまり、上記した認証サーバの識別情報をユーザが入力するステップＳ７２の操作を削減することが出来る。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明を省略する。
【実施例１】
【００１３】
図１にこの発明のサービス提供システム１００のシステム構成を示す。そのシーケンス図を図２に示す。サービス提供システム１００は、クライアント端末（以下、ＣＴ）１０と、サービス提供装置（以下、ＳＰ）３０と、認証サーバ（以下、ＩｄＰ）５０と、それらが接続されるネットワーク２０とから構成される。従来のサービス提供システムのユーザ認証方法と異なることころは、ＣＴ１０がＩｄＰ５０の識別情報を含むクライアント証明書を、ＳＰ３０に送付することでサービスを要求するサービス要求過程を含む点である。このサービス要求過程によって、ユーザ認証時にユーザがＣＴ１０を操作する回数を減らすことが出来る。
【００１４】
ＩｄＰ５０の識別情報を含むクライアント証明書は、サービス提供の一連の流れの中で生成しても良いし、事前に生成してＣＴ１０が予め持っていても良い。クライアント証明書が生成済みで、ＣＴ１０の証明書記録部１１に記録してある場合を例に、ユーザ認証方法を説明する。クライアント証明書の生成過程については後述する。
【００１５】
ユーザの操作によりＣＴ１０は、例えばショピングサイトを運営するＳＰ３０にＨＴＴＰＳ（Hypertext Transfer Protocol over Secure Socket Layer）で通信してアクセスする。ＳＰ３０はそのレスポンスとしてＣＴ１０にクライアント証明書の提示を求める。ＣＴ１０は、ＳＰ３０に対応したＩｄＰ５０の識別情報を含むクライアント証明書を証明書記録部１１から読み出し、ＳＰ３０に送付してサービスを要求する（ステップＳ１）。
【００１６】
ＳＰ３０は、クライアント証明書からＩｄＰ５０の識別情報を抽出して認証サーバを特定する（ステップＳ２）。そして、ＣＴ１０を介してＩｄＰ５０に３０２リダイレクトで認証代行要求を行う（ステップＳ３）。
【００１７】
ＩｄＰ５０は、その認証代行要求に対してＣＴ１０に認証サービスを提供する（ステップＳ４）。ここでユーザは、ＩＤ/パスワードのユーザ認証情報をＣＴ１０に入力する（ステップＳ５）。そのユーザ認証情報は、ステップＳ４のレスポンスとしてＩｄＰ５０に送付される（ステップＳ６）。ＩｄＰ５０はユーザ認証情報を認証する（ステップＳ７７）。以降の動作は、従来技術で説明したＩｄＰ９０と同じ動作であるので、同一のステップ番号を付して説明を省略する。また、ステップＳ１〜Ｓ６の動作についても、従来技術で対応するステップ番号を図２に併記している。
【００１８】
以上の動作で注目すべきは、ＩｄＰ５０を指定する操作、従来技術のステップＳ７２に対応する操作が無くなる点である。つまり、Ｘ．５０９に準拠したクライアント証明書内に使用する認証サーバの識別情報を埋め込んで置くことで、通常のＨＴＴＰＳの処理で実現出来る。このように、この実施例のユーザ認証方法によれば、ユーザがサービス提供を受けるまでに要する操作が、ステップＳ１とＳ５の２回で済み、従来技術の３回から操作回数を１回削減することが出来る。
【００１９】
また、クライアント証明書に予めユーザ認証情報を含めて置くと、認証サーバの特定に加えてユーザ認証も行えるので、ステップＳ５の操作も削減することが可能である。この場合、ユーザはステップＳ１の１回の操作でサービスを受けることが出来る。
【００２０】
次にＳＰ３０、ＩｄＰ５０の構成を示して更に詳しくこの発明の動作を説明する。なお、ＣＴ１０については、ＷＥＢブラウザを備え、通信機能を備えた一般的なコンピュータ端末で構成できる。
〔サービス提供装置〕
図３にＳＰ３０の機能構成例を示す。その動作フローを図４に示す。ＳＰ３０は、機能ブロック３２と、制御手段３４と、通信インターフェース３１とを備える。機能ブロック３２は、認証サーバ特定部３２１と、認証要求代行送出部３２２と、認証結果検証部３２３と、サービス提供部３２４を具備する。機能ブロック３２の各部は、制御手段３４によって制御される。機能ブロック３２は通信インターフェース３１を介してネットワーク２０と接続される。
【００２１】
認証サーバ特定部３２１は、クライアント証明書を受信（ステップＳ３２１ａ）して、クライアント証明書から認証サーバの識別情報を抽出する（ステップＳ３２１ｂ）。認証サーバの識別情報は、認証要求代行送出部３２２に入力される。
【００２２】
認証要求代行送出部３２２は、ＣＴ１０のセッション情報と認証サーバの識別情報とを結び付ける（ステップＳ３２２ａ）。そして識別情報で特定されたＩｄＰ５０にＣＴ１０を介した３０２リダイレクトで認証代行要求を行う（ステップＳ３２２ｂ）。認証結果検証部３２３は、ＩｄＰ５０から認証結果をＣＴ７０を介して受信し、その結果を検証する。そして、ユーザが認証されていればサービス提供部３２４にＣＴ１０へのサービス提供を指示する。認証結果検証部３２３とサービス提供部３２４の動作は、従来と変わりがないので図４の動作フローでは省いている。
【００２３】
このようにＳＰ３０が、認証サーバの識別情報を抽出する認証サーバ特定部３２１と、抽出した認証サーバの識別情報で認証サーバを特定して認証を要求する認証要求代行送出部３２２とを具備することで、この発明のユーザ認証方法、及びその方法を用いたサービス提供システムが実現出来る。
【００２４】
また、ユーザ認証の信頼性を上げる目的で、ＳＰ３０にＣＴ１０からのサービス要求に対して、認証サーバをフィルタリングする機能を持たせるようにしても良い。認証サーバのフィルタリング機能を持たせたＳＰ３０′の機能構成例を図３に破線で示す。ＳＰ３０′は、ＳＰ３０の構成に加えて、認証サーバのホワイトリスト３３と、認証サーバ特定部３２１内に認証サーバフィルタリング手段３２１１とを備える。
【００２５】
認証サーバのホワイトリスト３３は、信頼できる認証サーバの識別情報を記録している。認証サーバフィルタリング手段３２１１は、クライアント証明書から抽出した認証サーバの識別情報が、認証サーバのホワイトリスト３３に含まれているか否かを検索する（ステップＳ３２１１ａ）。ホワイトリスト３３に含まれていれば、ＣＴ１０のセッション情報と認証サーバの識別情報とを結び付けるステップＳ３２２ａの処理を行う。含まれていなければ、警戒が必要だと判断して認証要求代行を行わずにＣＴ１０にレスポンスを返す。すなわち、認証サーバが信頼出来るものであるかを検査し、ユーザ認証を中断する（ステップＳ３２１１ｂのＹ）。
【００２６】
このようにすることで、信頼できる認証サーバだけを用いることになるのでユーザ認証方法の信頼性を高めることが可能になる。なお、ホワイトリストを、信頼出来ない認証サーバの識別情報を記録したブラックリストに代えても良い。ホワイトリスト又はブラックリストを備えることで、サービス提供システムに無秩序に新たなサービス提供装置と認証サーバが追加されてしまうことを防止することが出来る。
【００２７】
また、このホワイトリストやブラックリストは処理の簡略化の目的で利用することも可能である。例えば認証サーバのホワイトリストに重み付けをし、所定の閾値以上の信頼性の高い認証サーバの識別情報を受信した時は、信頼度が高いとしてユーザ認証情報の入力を省略するようにしても良い。
〔認証サーバ〕
図５にＩｄＰ５０の機能構成例を示す。その動作フローを図６に示す。ＩｄＰ５０は、機能ブロック５２と、ユーザ認証情報記録部５３と、制御手段５４と、通信インターフェース５１とを備える。機能ブロック５２は、ユーザ認証部５２１と、認証結果送出部５２２と、クライアント証明書発行部５２３を具備する。機能ブロック５２の各部は、制御手段５４によって制御され、通信インターフェース５１を介してネットワーク２０と接続される。
【００２８】
クライアント証明書発行部５２３は、ＣＴ１０を操作するユーザからの証明書発行要求を受信（ステップＳ５２３１のＹ）し、そのユーザの利用するサービスに対応する認証サーバの識別情報を書き込んだクライアント証明書が発行済みであるかを判断する（ステップＳ５２３２）。証明書発行要求の無い場合（ステップＳ５２３１のＮ）、ステプＳ５２１２以降の処理を行う。
【００２９】
クライアント証明書が発行済みで無い場合、ユーザ認証部５２１はＣＴ１０に認証情報の入力を求め、入力された認証情報とユーザ認証情報記録部５３に記録されている認証情報とを照合することでユーザを認証する（ステップＳ５２１１）。クライアント証明書発行部５２３は、認証がＯＫであれば、Ｘ．５０９規格に準拠した証明書に自身の識別情報を書き込んだクライアント証明書を発行する（ステップＳ５２３４）。識別情報は、例えばＵＲＬやＩＰアドレスである。
【００３０】
ＳＰ３０からの認証代行要求が無ければ（ステップＳ５２１２のＮ）クライアント証明書発行部５２３が、クライアント証明書を発行して動作を終了する。認証代行要求が有れば、ユーザ認証部５２１は、その認証代行要求がステップＳ５２１１と同一セッション内のものであるかを判断する（ステップＳ５２１３）。同一セッション内の認証代行要求であれば、クライアント証明書発行部５２３はステップＳ５２１１の認証結果をＳＰ８０に送付する（ステップＳ５２２）。同一セッション内の認証代行要求で無ければ、この場合、クライアント証明書が発行済みで認証代行要求のみが有った状況なので、ユーザ認証部５２１は改めてユーザ認証する（ステップＳ５２１４）。認証結果がＯＫであればステップＳ５２１４の認証結果をＳＰ８０に送付する（ステップＳ５２２）。
【００３１】
ＩｄＰ５０は、同一セッションでクライアント証明書の発行要求と認証代行要求が求められた場合、若しくはクライアント証明書が発行済みで認証代行要求のみの場合に対応する。このようにクライアント証明書発行部５２３をＩｄＰ５０に具備することで、この発明のユーザ認証方法、及びその方法を用いたサービス提供システムが実現出来る。
【００３２】
なお、クライアント証明書発行部５２３は、ユーザ認証情報記録部５３を参照してユーザ認証情報をクライアント証明書に書き加えるようにしても良い。その場合、ユーザによるユーザ認証情報の入力操作である図２のステップＳ５も削減することが可能になり、ユーザ認証に必要なユーザの操作はステップＳ１の１回のみにすることが出来る。
【００３３】
以上説明したようにこの発明のユーザ認証方法とその方法を用いたサービス提供システムによれば、ネットワーク上でユーザのＷｅｂブラウザに電子的なサービスを提供する際にユーザの入力の手間を減らすことが可能である。また、この発明によるユーザ認証方法を用いれば、サービス提供装置と認証サーバを、サービス提供システム全体に影響を与えること無く容易に追加することが可能である。また、信頼できる認証サーバの識別情報を記録するホワイトリストを具備することで、好ましくないサービス提供装置や認証サーバが無秩序にサービス提供システムに追加されることを防止する。つまり、サービス提供システムの自由度を高めると共に、信頼性の維持を図ることが可能である。
【００３４】
上記した方法及び各装置において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行するサーバの処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００３５】
また、上記サーバにおける処理内容はプログラムによって記述される。また、各サーバの機能構成部は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図面の簡単な説明】
【００３６】
【図１】この発明のサービス提供システム１００のシステム構成を示す図。
【図２】サービス提供システム１００の動作シーケンスを示す図。
【図３】サービス提供装置３０，３０′の機能構成例を示す図。
【図４】サービス提供装置３０，３０′の動作フローを示す図。
【図５】認証サーバ５０の機能構成例を示す図。
【図６】認証サーバ５０の動作フローを示す図。
【図７】従来の認証連携技術によるユーザ認証手順の一例を示す図。
【図１】
2010152619.tif 000003
【図２】
2010152619.tif 000004
【図３】
2010152619.tif 000005
【図４】
2010152619.tif 000006
【図５】
2010152619.tif 000007
【図６】
2010152619.tif 000008
【図７】
2010152619.tif 000009