(57)【要約】【課題】従来の認証では、認証サーバとアプリケーションサーバとが別々の事業者により運営されることを前提として、ＳＳＯ処理のためのシーケンスが構成されていたため、が同一の事業者により両サーバが運営されているような場合においては、従来のＳＳＯ処理は必ずしも効率的な処理ではなかった。【解決手段】クライアント端末は、ユーザからの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバ１０に認証要求に関する信号を送信する。認証サーバ２０は、クライアント端末からの認証要求を受けたことを契機として、サービス提供サーバと連携して、サービス提供サーバ１０に記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバ２０に記憶されたユーザに関するユーザ情報とに基づいて認証処理を実行する。【選択図】図１
2014194615.tif 000002
【特許請求の範囲】
【請求項１】
１以上のアプリケーションを記憶するクライアント端末と、該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを含むシステムにおける認証方法において、
前記クライアント端末は、ユーザからの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバに認証要求に関する信号を送信し、
前記サービス提供サーバは、前記クライアント端末から認証要求を受信したら、そのクライアント端末に関するセッション情報を発行し、前記認証要求に対して該セッション情報を付与して前記クライアント端末に返信し、
前記クライアント端末は、前記セッション情報が付与された認証要求を前記認証サーバに送信し、
前記認証サーバは、前記クライアント端末からの認証要求を受けたことを契機として、前記サービス提供サーバと連携して、前記サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶された前記ユーザに関するユーザ情報とに基づいて認証処理を実行する
ことを含む認証方法。
【請求項２】
前記認証サーバは、当該認証サーバと、認証要求にかかるクライアント端末における少なくとも１つのアプリケーションとの間にセッションが確立されている場合、前記クライアント端末のＩＤトークンを発行し、
前記サービス提供サーバは、前記認証サーバによって発行されたＩＤトークンを検証することによって、前記認証サーバによって前記クライアント端末が認証済であることを判定した後に、前記ＩＤトークンにかかるクライアント端末によって新たに起動されたアプリケーションとの間においてセッションを確立する
ことを含む請求項１に記載の認証方法。
【請求項３】
前記サービス提供サーバは、当該サービス提供サーバと、認証要求にかかるクライアント端末における少なくとも１つのアプリケーションとの間にセッションが確立されている場合、前記クライアント端末のＩＤトークンを発行し、
前記認証サーバは、前記サービス提供サーバによって発行されたＩＤトークンを検証することによって、前記サービス提供サーバによって前記クライアント端末が認証済であることを判定した後に、前記ＩＤトークンにかかるクライアント端末によって新たに起動されたアプリケーションとの間においてセッションを確立する
ことを含む請求項１または２に記載の認証方法。
【請求項４】
前記クライアント端末は、バックグラウンドで動作する第１ブラウザと、ユーザからのユーザ情報の入力を受け付け可能な第２ブラウザを制御し、
前記第１ブラウザと前記第２ブラウザは前記アプリケーションの機能として互いにセッション情報を共有しながら動作可能であり、
前記クライアント端末は、
第１ブラウザにより、前記サービス提供サーバとの間で認証処理を実施し、認証要求元のクライアント端末において起動されているアプリケーションと前記サービス提供サーバとの間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる場合には、ユーザ情報を受け付けるために第２ブラウザを起動して、第２ブラウザとサービス提供サーバとの間での認証処理に切り替える
ことを含む請求項１から３のいずれかに記載の認証方法。
【請求項５】
前記クライアント端末は、
前記アプリケーションの外部の機能として動作し、前記第１ブラウザと前記第２ブラウザとの間でセッション情報の共有ができない認証アシスト用アプリケーションを有しており、
起動されているアプリケーションと認証サーバとの間でセッションが確立されていない場合であっても、前記認証アシスト用アプリケーションと前記認証サーバとの間でセッションが確立されている場合においては、前記第２ブラウザの代わりに、前記認証アシスト用アプリケーションを起動して、前記認証アシスト用アプリケーションと前記サービス提供サーバ間での処理に切り替える
ことを含む請求項４に記載の認証方法。
【請求項６】
１以上のアプリケーションを記憶するクライアント端末と、
該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、
前記クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを備えた認証システムであって、
前記クライアント端末は、ユーザからの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバに認証要求に関する信号を送信し、
前記サービス提供サーバは、前記クライアント端末から認証要求を受信したら、そのクライアント端末に関するセッション情報を発行し、前記認証要求に対して該セッション情報を付与して前記クライアント端末に返信し、
前記クライアント端末は、前記セッション情報が付与された認証要求を前記認証サーバに送信し、
前記認証サーバは、前記クライアント端末からの認証要求を受けたことを契機として、前記サービス提供サーバと連携して、前記サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶された前記ユーザに関するユーザ情報とに基づいて認証処理を実行する
認証システム。
【請求項７】
１以上のアプリケーションを記憶するクライアント端末と、該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを備えたシステムにおけるサービス提供サーバであって、
前記クライアント端末から認証要求を受信したら、そのクライアント端末に関するセッション情報を発行し、前記認証要求に対して該セッション情報を付与して返信して、前記クライアント端末に、前記セッション情報が付与された認証要求を前記認証サーバに送信させるサーバ通信部と、
前記クライアント端末からの認証要求を受けて、前記認証サーバと連携して、当該サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、前記認証サーバに記憶された前記ユーザに関するユーザ情報と報に基づいて認証処理を実行する認証制御部と、
を備えたサービス提供サーバ。
【請求項８】
１以上のアプリケーションを記憶するクライアント端末と、該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを備えたシステムにおけるサービス提供サーバにおける認証方法であって、
前記クライアント端末から認証要求を受信するステップと、
そのクライアント端末に関するセッション情報を発行するステップと、
前記認証要求に対して該セッション情報を付与して返信して、前記クライアント端末に、前記セッション情報が付与された認証要求を前記認証サーバに送信させるステップと、
前記クライアント端末からの認証要求を受けて、前記認証サーバと連携して、当該サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、前記認証サーバに記憶された前記ユーザに関するユーザ情報と報に基づいて認証処理を実行するステップと、
を備えた認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理端末を用いたメッセージの送受信を行う技術に関する。
【背景技術】
【０００２】
近年、インターネット技術の発展に伴い、ユーザがゲームプログラム等のアプリケーションをクライアント端末にダウンロードして、クライアント端末にて処理する方法が広まってきている。たとえば、スマートフォン端末において、ゲームをサーバからダウンロードしてプレイすることも可能となっている。通常、ユーザは、端末を通してゲームを提供するサービス運営者に対して会員登録を行って、ＩＤとパスワードを取得する。その後、ユーザがＩＤとパスワードを端末に入力すると、認証サーバにより所定の認証処理が行われることでログインが可能となり、ゲームを楽しむことができる。
【０００３】
このようなログイン処理は、異なるアプリケーションシステムを利用する毎に行われるため、その都度、ＩＤとパスワードなどの個人情報の入力を促すこととなり、利用者にとって煩雑となっていた。そのため、一度のログイン処理で複数のシステムに対するアクセスを実現する「シングルサインオン（ＳＳＯ：ＳｉｎｇｌｅＳｉｇｎＯｎ）」の技術が開発されている。ＳＳＯでは、認証サーバが認証済みであることを保証する認証チケットを発行し、クライアント端末のブラウザがアプリケーションサーバとデータ通信を実施する際、その認証チケットをアプリケーションサーバに送信し、アプリケーションサーバが認証チケットを参照して、ログイン済みであることを確認している（たとえば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３６２８１号公報
【特許文献２】特開２００８−０５９０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の認証では、認証サーバとアプリケーションサーバ（以下、サービス提供サーバともいう。）とが別々の事業者により運営されることを前提として、ＳＳＯ処理のためのシーケンスが構成されていた。ここで、認証サーバとサービス提供サーバとが同一の事業者により運営されているような場合においては、従来のＳＳＯ処理は必ずしも効率的でセキュアな処理ではなかった。
【０００６】
本発明はかかる課題に鑑みてなされたものであり、その目的は、認証サーバとサービス提供サーバとを連携させることで、より効率的にセキュアなＳＳＯ処理を実行可能とするサーバ装置、方法、および、システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、認証方法に関する。この認証方法は、１以上のアプリケーションを記憶するクライアント端末と、該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを含むシステムにおける認証方法における方法である。
【０００８】
この方法において、クライアント端末は、ユーザからの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバに認証要求に関する信号を送信し、サービス提供サーバは、クライアント端末から認証要求を受信したら、そのクライアント端末に関するセッション情報を発行し、認証要求に対して該セッション情報を付与して前記クライアント端末に返信し、クライアント端末は、前記セッション情報が付与された認証要求を認証サーバに送信する。
【０００９】
認証サーバは、クライアント端末からの認証要求を受けたことを契機として、サービス提供サーバと連携して、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて認証処理を実行する。
【００１０】
このような態様によると、クライアント端末からの認証要求を受けたサービス提供サーバと認証サーバとが共に連携して、それぞれのサーバにあらかじめ記憶された当該クライアント端末や、アプリケーションに関する情報に基づいて認証処理を実行することによって、より効率的にセキュアなＳＳＯ処理が実現できる。
【００１１】
また、この認証方法において、認証サーバは、当該認証サーバと、認証要求にかかるクライアント端末における少なくとも１つのアプリケーションとの間にセッションが確立されている場合、前記クライアント端末のＩＤトークンを発行してもよい。
【００１２】
サービス提供サーバは、認証サーバによって発行されたＩＤトークンを検証することによって、認証サーバによって前記クライアント端末が認証済であることを判定した後に、ＩＤトークンにかかるクライアント端末によって新たに起動されたアプリケーションとの間においてセッションを確立してもよい。
【００１３】
このような態様によると、認証サーバによって前記クライアント端末が認証済であることを判定した後に、ＩＤトークンにかかるクライアント端末によって新たに起動されたアプリケーションとの間においてセッションを確立することによって、一方のサーバの認証をもって他方のサーバの認証処理を簡易にできるので、より効率的にセキュアな認証処理を実施できる。
【００１４】
また、この認証方法において、サービス提供サーバは、当該サービス提供サーバと、認証要求にかかるクライアント端末における少なくとも１つのアプリケーションとの間にセッションが確立されている場合、前記クライアント端末のＩＤトークンを発行してもよい。
【００１５】
認証サーバは、前記サービス提供サーバによって発行されたＩＤトークンを検証することによって、前記サービス提供サーバによって前記クライアント端末が認証済であることを判定した後に、前記ＩＤトークンにかかるクライアント端末によって新たに起動されたアプリケーションとの間においてセッションを確立してもよい。
【００１６】
このような態様によると、認証サーバによって前記クライアント端末が認証済であることを判定した後に、ＩＤトークンにかかるクライアント端末によって新たに起動されたアプリケーションとの間においてセッションを確立することによって、一方のサーバの認証をもって他方のサーバの認証処理を簡易にできるので、より効率的にセキュアな認証処理を実施できる。
【００１７】
また、この認証方法において、クライアント端末は、バックグラウンドで動作する第１ブラウザと、ユーザからのユーザ情報の入力を受け付け可能な第２ブラウザを制御してもよい。第１ブラウザと第２ブラウザはアプリケーションの機能として互いにセッション情報を共有しながら動作可能であってもよい。
【００１８】
クライアント端末は、第１ブラウザにより、サービス提供サーバとの間で認証処理を実施し、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバとの間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる場合には、ユーザ情報を受け付けるために第２ブラウザを起動して、第２ブラウザとサービス提供サーバとの間での認証処理に切り替えてもよい。
【００１９】
このような態様によると、第１ブラウザにより、サービス提供サーバとの間で認証処理を実施し、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバとの間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる場合には、ユーザ情報を受け付けるために第２ブラウザを起動して、第２ブラウザとサービス提供サーバとの間での認証処理に切り替えることによって、ユーザに認証処理が実施されていることを意識させることなく、セキュアなＳＳＯ処理をよりスムーズに実行することができる。
【００２０】
また、この認証方法において、クライアント端末は、アプリケーションの外部の機能として動作し、第１ブラウザと第２ブラウザとの間でセッション情報の共有ができない認証アシスト用アプリケーションを有してもよい。
【００２１】
起動されているアプリケーションと認証サーバとの間でセッションが確立されていない場合であっても、認証アシスト用アプリケーションと認証サーバとの間でセッションが確立されている場合においては、第２ブラウザの代わりに、認証アシスト用アプリケーションを起動して、認証アシスト用アプリケーションとサービス提供サーバ間での処理に切り替えてもよい。
【００２２】
このような態様によると、認証要求元のクライアント端末において起動されているアプリケーションと認証サーバとの間でセッションが確立されていない場合であっても、認証アシスト用アプリケーションと認証サーバとの間でセッションが確立されている場合においては、第２ブラウザの代わりに、認証アシスト用アプリケーションを起動して、認証アシスト用アプリケーションとサービス提供サーバ間での処理に切り替えることによって、よりセキュアなＳＳＯ処理を効率的に実行することができる。
【００２３】
本発明の別の態様は、認証システムである。この認証システムは、１以上のアプリケーションを記憶するクライアント端末と、該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを備える。
【００２４】
クライアント端末は、ユーザからの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバに認証要求に関する信号を送信する。サービス提供サーバは、クライアント端末から認証要求を受信したら、そのクライアント端末に関するセッション情報を発行し、認証要求に対して該セッション情報を付与して前記クライアント端末に返信する。クライアント端末は、セッション情報が付与された認証要求を認証サーバに送信する。認証サーバは、クライアント端末からの認証要求を受けたことを契機として、サービス提供サーバと連携して、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶された前記ユーザに関するユーザ情報とに基づいて認証処理を実行する。
【００２５】
本発明の別の態様は、サービス提供サーバである。このサービス提供サーバは、１以上のアプリケーションを記憶するクライアント端末と、該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを備えたシステムにおけるサービス提供サーバである。
【００２６】
このサービス提供サーバは、クライアント端末から認証要求を受信したら、そのクライアント端末に関するセッション情報を発行し、認証要求に対して該セッション情報を付与して返信して、クライアント端末に、セッション情報が付与された認証要求を認証サーバに送信させるサーバ通信部と、クライアント端末からの認証要求を受けて、認証サーバと連携して、当該サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、認証サーバに記憶されたユーザに関するユーザ情報と報に基づいて認証処理を実行する認証制御部と、を備える。
【００２７】
本発明の別の態様は、認証方法である。この認証方法は、１以上のアプリケーションを記憶するクライアント端末と、該クライアント端末とネットワークを介して接続し、該クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末およびサービス提供サーバと接続し、認証処理を実行する認証サーバとを備えたシステムにおけるサービス提供サーバにおける方法である。
【００２８】
この方法は、クライアント端末から認証要求を受信するステップと、そのクライアント端末に関するセッション情報を発行するステップと、認証要求に対して該セッション情報を付与して返信して、クライアント端末に、セッション情報が付与された認証要求を前記認証サーバに送信させるステップと、クライアント端末からの認証要求を受けて、認証サーバと連携して、当該サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、認証サーバに記憶された前記ユーザに関するユーザ情報と報に基づいて認証処理を実行するステップと、を含む。
【００２９】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００３０】
本発明によると、サービス提供サーバと認証サーバとが互いに連携して認証処理を実施することによって、よりセキュアな認証処理を実現することができる。
【発明を実施するための形態】
【００３１】
本発明の実施例を説明する前に、まず、本発明の概要を述べる。本発明は、インストール型のアプリケーションに対する認証技術であって、クライアント端末の認証処理を認証サーバだけではなくて、サービス提供サーバがアシストする構成をとることによって、認証処理における安全性を高めたものである。
【００３２】
本発明においては、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて認証処理を実行する。これにより、一方のサーバにおける認証をもって、他方の認証を保証させることができ、効率的でセキュアな認証処理ができるものである。以下、例を用いて説明する。以下において、サービス提供サーバとは、サービスを提供するプラットフォームであってもよいし、認証サーバは、アプリケ―ションを提供するサーバであってもよい。また、これらのサーバは物理的に一体となっていてもよい。
【実施例１】
【００３３】
まず、実施例１について説明する。図１は、本発明の実施例１にかかる認証システム１００を示す図である。認証システム１００は、サービス提供サーバ１０と、認証サーバ２０と、サービス提供サーバ１０と認証サーバ２０と基地局４０とを有線回線で接続するネットワーク３０と、基地局４０で代表される第１基地局４０ａ〜第３基地局４０ｃと、モバイル端末５０で代表される第１モバイル端末５０ａ〜第３モバイル端末５０ｃと、ＰＣ端末７０とを含む。
【００３４】
なお、図示の都合上、基地局４０、モバイル端末５０は共に３台のみ図示したが、これにかぎらず、それ以上の基地局４０、モバイル端末５０が存在してもよい。ＰＣ端末７０についても同様である。また、第１モバイル端末５０ａ〜第３モバイル端末５０ｃは、それぞれ異なる基地局４０と接続されるとして図示しているが、これにかぎらず、１つの基地局４０に複数のモバイル端末５０が接続されていても、本発明が適用可能であることは言うまでもない。
【００３５】
サービス提供サーバ１０は、チャットサービスなどのネットサービスを提供し、また、認証サーバ２０と協働して、クライアント端末のログイン処理を効率化するための装置である。サービス提供サーバ１０は、ネットワーク３０および／または基地局４０を介して、認証サーバ２０、あるいは、モバイル端末５０やＰＣ端末７０との間で、認証処理のための通信処理を実行する。なお、以下においては、説明を簡易にするため、単に、「サービス提供サーバ１０とモバイル端末４０ないしＰＣ端末７０との間で通信処理を実行する」などと表現し、ネットワーク３０および基地局４０を介する点については記載を省略する。また、以下においては、モバイル端末５０やＰＣ端末７０を総称して、クライアント端末と表現することもある。
【００３６】
クライアント端末は、ユーザの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバ１０に認証要求に関する信号を送信する。サービス提供サーバ１０は、クライアント端末からの認証要求を受信したら、そのクライアント端末に関するセッション情報（Ｃｏｏｋｉｅ）を発行し、認証要求に対して該セッション情報を付与して返信する。
【００３７】
クライアント端末は、セッション情報が付与された認証要求を認証サーバ２０に送信する。すると、認証サーバ２０は、クライアント端末からの認証要求を受けて、サービス提供サーバ１０と連携して、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて認証処理を実行する。
【００３８】
ここで、アプリケーションの認証情報とは、アプリケーションに固有のＩＤと、アプリケーション自体の秘密情報とを含む。このアプリケーションの認証情報はセッションが確立されたアプリケーションに対して発行され、サービス提供サーバ１０により管理される。サービス提供サーバ１０は、後述するように、ユーザによるアプリケーションの使用を管理し、正当な権限を有するユーザのログインを認証し、正当であれば、そのアプリケーションのセッションを確立する。
【００３９】
また、ユーザ情報とは、ユーザＩＤやユーザによって指定されたパスワードを含む。このユーザ情報は、認証サーバ２０によって管理される。認証サーバ２０は、後述するように、ユーザ端末を介してユーザ情報を取得し、予め記憶しているユーザ情報と照合することで、そのユーザのログインの正当性を判断し、認証する。
【００４０】
上述のように、ユーザは、認証サーバ１０にログインするときもあれば、サービス提供サーバ２０にログインするときもある。本発明においては、一方でのログインが正当であると判断されるような場合、他方のサーバにおいてもその正当性を援用し、ログインを認めるというものである。そのため、認証サーバ１０とサービス提供サーバ間において直接、あるいは、ユーザ端末のブラウザを介して、それぞれにおける認証結果を確認しあうこととしている。
【００４１】
すなわち、認証サーバ１０とサービス提供サーバ２０とが同一事業者による運営であるため、上記のような認証連携が可能となっている。なお、これにかぎらず、同一でない事業者により運営されているような場合であっても、相当程度の信頼関係を有するような場合であれば、本発明を適用できることは言うまでもない。
【００４２】
具体的に説明する。認証サーバ２０は、クライアント端末からの認証要求に対して、そのクライアント端末において起動されているアプリケーションとのセッションがすでに確立されていると判断したら、そのクライアント端末に関連づけたワンタイムチケットを発行してクライアント端末に送信する。
【００４３】
セッションが確立しているとは、ログインされている状態をいう。ログインされている状態とは、その時点より過去において、いずれかのアプリケーションのブラウザ、あるいは、アプリケーション外の認証アシスト用アプリケーション（以下、特定ブラウザともいう。）を介してユーザがＩＤとパスワード等の秘密情報を入力することで、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて、適正な情報であることが確認されて認証処理が完結している状態をいう。
【００４４】
クライアント端末は、認証サーバ２０から取得したワンタイムチケットをサービス提供サーバ１０にリダイレクト（転送）する。これを受けて、サービス提供サーバ１０は、認証サーバ２０に対して、クライアント端末から取得したワンタイムチケットを送信することで、クライアント端末とのセッションを確立するためのアクセストークンの発行を要求する。
【００４５】
ここで、アクセストークンとは、所定のアプリケーションに対するユーザの実行権限を示し、これをサーバに提示することで、所定のアプリケーションをクライアント端末で実行することができるようになる。また、ワンタイムチケットとは、どのクライアント端末によって要求され、どのサーバによって信任、認証されたかを示す情報が含まれる。また、アクセストークンは暗号化されてもよい。その場合、ブラウザ立ち上げ前において予め復号キーをクライアント端末に渡しておくことで、より強化なセキュリティを実現することができる。
【００４６】
認証サーバ２０は、サービス提供サーバ１０から受信したワンタイムチケットが自らが発行したものであることを確認した後に、ワンタイムチケットに関連するアクセストークンを発行してサービス提供サーバ１０に返信する。サービス提供サーバ１０は、認証サーバ２０から受け取ったアクセストークンをクライアント端末に送信する。これにより、クライアント端末は、アクセストークンを取得できるので、アプリケーションを実行できる。
【００４７】
なお、認証サーバ２０は、認証要求元のクライアント端末のＩＤトークンの認証確認が成功した場合、あるいは、そのクライアント端末において起動されているアプリケーションからのログイン処理を確認した場合おいて、セッションが確立していると判定してもよい。
【００４８】
また、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ１０との間にセッションが確立されている場合、当該サービス提供サーバ１０は、そのクライアント端末に対して、ＩＤトークンを含めたセッション情報を発行する。認証サーバ２０は、そのクライアント端末を介して得たＩＤトークンを検証することによって、セッションが確立されているか否かを検証してもよい。
【００４９】
一方、認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ２０との間にセッションが確立されていない場合、当該クライアント端末は、ユーザ情報を認証サーバ２０に送る。ここで、認証サーバ２０は、受信したユーザ情報を検証後、アクセストークンと共に、ＩＤトークンも発行して、サービス提供サーバ１０に送信する。サービス提供サーバ１０は、取得したＩＤトークンを検証してセッションを確立し、クライアント端末に対して、アクセストークンを送信してもよい。
【００５０】
図２は、図１の認証システム１００におけるサービス提供サーバ１０の構成例を示す図である。サービス提供サーバ１０は、サーバ通信部１２と、認証処理部１４と、サーバメモリ１６とを含む。
【００５１】
サーバ通信部１２は、クライアント端末や認証サーバ２０などからの信号を受信し、所定の復調処理を実施して、認証処理部１４に復調された信号を送る。また、認証処理部１４から送られた信号に対して所定の変調処理を実施して、ユーザ端末に送信する。なお、サーバ通信部１２における変復調処理は、従来用いられている変復調技術が用いられてよく、このような態様であったとしても、本発明を適用することができることは当業者に理解されるところである。
【００５２】
認証処理部１４は、サーバ通信部１２を通じて、クライアント端末から認証処理に関する情報を受け取る。認証処理部１４は、サーバメモリ１６内において、クライアント端末ごとに、セッション情報やユーザＩＤ、あるいは、ユーザパスワードなどの秘密情報を管理する。秘密情報は、クライアント端末がサービス提供サーバ１０との間で最初に登録処理をする際にクライアント端末より通知されてもよい。これにより、すでにセッションが確立されているクライアント端末から認証要求があった場合、再度のログイン処理を求めることなくＩＤトークンを発行し、スムーズなＳＳＯ処理を実行していく。
【００５３】
また、認証処理部１４は、セッションが確立されていないクライアント端末から認証要求があった場合、認証サーバ２０においてすでにセッションが確立されているかどうかを確認し、確立されているようであれば、認証サーバ２０からＩＤトークンを取得することで、スムーズなＳＳＯ処理を実行していく。
【００５４】
認証サーバ２０においてもセッションが確立されていない場合、認証処理部１４は、クライアント端末に対して、ユーザＩＤやパスワードなどの秘密情報を求め、予め登録されている秘密情報と照合することで、ログイン処理を行い、セッションを確立する。
【００５５】
つぎに、クライアント端末側の構成について説明する。図３は、図１のモバイル端末５０あるいはＰＣ端末７０における構成例を示す図である。ここでは、説明の都合上、モバイル端末５０の構成として説明するが、ＰＣ端末７０においても同様の構成となる。
【００５６】
モバイル端末５０は、端末通信部５２と、ブラウザ制御部５４と、端末制御部５６と、端末メモリ５８と、ユーザインタフェース６０とを備える。端末通信部５２は、サービス提供サーバ１０あるいは認証サーバ２０との間で認証処理に関する情報の送受信処理を実行する。
【００５７】
ブラウザ制御部５４は、バックグラウンドで動作する第１ブラウザと、ユーザからのユーザ情報の入力を受け付け可能な第２ブラウザと、アプリケーションの外部のブラウザ機能として動作する特定ブラウザを制御する。第１ブラウザは、隠しブラウザ（Ｈｉｄｄｅｎ  Ｅｍｂｅｄｅｄ  Ｂｒｏｗｓｅｒ）とも呼ばれる。第１ブラウザと第２ブラウザは、所定のアプリケーション内部にコンポーネントとして埋め込まれたブラウザ（Ｅｍｂｅｄｅｄ  Ｂｒｏｗｓｅｒ）であり、セッション情報が互いに共有できる。すなわち、第１ブラウザと第２ブラウザは、アプリケーションごとに存在するブラウザである。
【００５８】
一方、特定ブラウザは、認証をアシストすることができるブラウザである。この特定ブラウザは、アプリケーションの外部の機能として動作するため、アプリケーションに埋め込まれた第１ブラウザと第２ブラウザとの間ではセッション情報の共有ができない。特定ブラウザは、ＯＳ標準のブラウザであってもよく、アプリケーション連携で共有できるブラウザであり、任意のアプリケーションを立ち上げられるものであってもよい。この特定ブラウザを介して認証処理を実現することで、アプリケ―ション連携が容易になり、ユーザは、１回のログイン処理を実施するだけで、以後、他のアプリケーションを実施する場合においてログイン処理が不要となる。
【００５９】
通常は、特定ブラウザとアプリケーション内の埋め込みブラウザとの間でＣｏｏｋｉｅを共有できないので、このようなアプリケーション連携は困難であった。しかしながら、認証サーバ２０とクライアント端末との間にサービス提供サーバ１０を介在させて、特定外部ブラウザでの認証において、開始時と終了時でユーザが同じことを保証するような認証処理を実施することで、外部ブラウザを用いたアプリケーション連携におけるＳＳＯが実現できた。
【００６０】
ブラウザ制御部５４は、まず第１ブラウザにより、サービス提供サーバ１０との間で認証処理を実施する。第１ブラウザは、ユーザに入力を求めない処理を実施する際に用いられる。これにより、ユーザに動作を意識させることなく、高速で処理が実現できる。そして、ユーザに入力を求めるような場面になったら、ブラウザ制御部５４は、第２ブラウザに動作を切り替える。これにより、効率的な処理が可能となる。
【００６１】
たとえば、ブラウザ制御部５４は、まず第１ブラウザにより、サービス提供サーバ１０との間で認証処理を実施する。ついで、起動されているアプリケーションとサービス提供サーバ１０との間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる必要が生じたような場合には、ユーザ情報を受け付けるために第２ブラウザを起動して、第２ブラウザとサービス提供サーバ１０との間での認証処理に切り替えることとなる。
【００６２】
認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ２０との間でセッションが確立されていない場合であっても、そのクライアント端末の特定ブラウザと認証サーバ２０との間でセッションが確立されている場合においては、第２ブラウザの代わりに、特定ブラウザを起動して、特定ブラウザとサービス提供サーバ１０間での処理に切り替える
【００６３】
端末制御部５６は、ユーザインタフェース６０を介してユーザからの指示を受け付けて、端末メモリ５８にアクセスしながら、アプリケーションの実行や認証処理を管理する。アプリケーションの実行および認証処理は、アプリケーション毎に実施される。アプリケーションは、アプリケーションの動作を制御する基幹ソフトウェアライブラリであるＳＤＫ（ＳｏｆｔｗａｒｅＤｅｖｅｌｏｐｍｅｎｔＫｉｔ）と、アプリケーション内部に埋め込まれたブラウザとを含む。このうち、端末制御部５６は、ＳＤＫの制御を実施する。ＳＤＫは、サーバの指示に応じてブラウザを立ち上げたるなどの処理を制御する。
【００６４】
また、ユーザインタフェース６０は、ユーザへのメッセージやユーザ情報画面、を表示するための画面インタフェースと、キーボードやタッチパネルなどのユーザからの入力を受け付ける入力インタフェースと、カメラなどの画像撮像手段を含む。
【００６５】
ユーザインタフェース６０は、ユーザからのアプリケーションの実行要求を受け付けて、端末制御部５６に伝える。また、ユーザインタフェース６０は、必要に応じて、ログイン画面を表示して、ユーザＩＤやパスワード等の秘密情報、あるいは、特定ブラウザを用いたログイン処理要求に関する入力を受け付け、端末制御部５６に伝える。
【００６６】
端末メモリ５８は、サービス提供サーバ１０からダウンロードしたアプリケーションや、画像撮像手段や他のユーザから受信した画像情報を記憶し、また、氏名と連絡先とが対応付けて記憶された連絡先情報などを記憶する。
【００６７】
ここで、認証システム１００の基本フローの概略について説明する。
【００６８】
サービス提供サーバ１０は、認証開始時にアプリケーション内埋め込み型ブラウザに対し、ユーザエージェントの同定の為のＣｏｏｋｉｅを発行し、検証可能なように保存した上で、ＯＳ標準外部ブラウザ等の特定ブラウザを起動する。
【００６９】
特定ブラウザは、サービス提供サーバ１０にアクセスした上で、リダイレクトにより認証サーバ２０に遷移し、必要であればユーザ認証処理を行う。認証サーバ２０によるユーザ認証が済んだ段階でサービス提供サーバ１０の戻りＵＲＬに対しリダイレクトし、特定ブラウザがサービス提供サーバ１０にリクエストする。
【００７０】
サービス提供サーバ１０はユーザの端末のアプリケーションに関するクライアントＩＤ等のクライアント秘密情報を予め保持しており、認証サーバ２０から受け取るワンタイムチケット（ｃｏｄｅ）及びＩＤトークンをクライアント端末を介する事無く検証し、それらが妥当であれば、サービス提供サーバ１０に対するユーザセッションを発行し、特定ブラウザとサービス提供サーバ１０間でログインセッションを確立した上で、ワンタイムチケット（ｃｏｄｅ）をクライアント端末に渡す。
【００７１】
このワンタイムチケットを受け取ったクライアント端末は改めて、アプリケーション内埋め込み型ブラウザを起動し、サービス提供サーバ１０にワンタイムチケットを渡す。この際に、サービス提供サーバ１０では認証開始時に発行していたＣｏｏｋｉｅから事前にＣｏｏｋｉｅと共に紐づけておいた情報を元に、妥当なユーザエージェントであるかどうかを検証し、妥当であればワンタイムチケットを用いて、認証サーバ２０から保護リソースにアクセスする為のアクセストークン及び、ワンタイムチケットに紐づくＩＤトークンを受け取りこれらを検証し、妥当であれば、アプリケーション内埋め込み型ブラウザとサービス提供サーバ１０間で認証セッションを確立する。
【００７２】
具体的に説明する。ここでは、図１の認証システム１００における４つの認証処理の例について、図４〜図７に示す４つのシーケンス図を用いて説明する。
【００７３】
図４は、図１の認証システム１００における第１の認証処理例を示すシーケンス図である。第１の認証処理例は、サービス提供サーバ１０および認証サーバ２０の双方において、クライアント端末との間ですでにセッションが確立している場合である。本シーケンスは、ユーザがユーザインタフェース６０を介してアプリケーションを実行したことを契機として開始されてもよい。
【００７４】
第１の認証処理例においては、端末制御部５６は、ログイン処理を実行する対象のアプリケーション内のＳＤＫを指すものとする。また、ブラウザ処理部５４は、３つのブラウザのうち、隠しブラウザを処理するものとする。
【００７５】
まず、端末制御部５６は、ブラウザ処理部５４に対して、ブラウザを起動させるためのメッセージを通知して、ブラウザを立ち上げさせる（Ｓ１０）。
【００７６】
ブラウザ処理部５４は、サービス提供サーバ１０に対して、ログインを要求するためのメッセージを通知して、ＳＤＫサービスへのログインを要求する（Ｓ１２）。ここで、サービス提供サーバ１０は、このクライアント端末との間ですでにセッションが確立しているかどうかを検証する（Ｓ１４）。
【００７７】
ここで、第１の認証処理例では、クライアント端末との間ですでにセッションが確立しているので、サービス提供サーバ１０は、検証ＯＫとして、ブラウザ処理部５４に対して、認証要求のためのメッセージをＩＤトークンと共に通知して、認証サーバ２０への認証要求をクライアント端末に実施させる（Ｓ１６）。
【００７８】
ついで、ブラウザ処理部５４は、認証サーバ２０に対して、サービス提供サーバ１０から受け取ったＩＤトークンと、認証要求を示すものとしてのメッセージを通知する（Ｓ１８）。
【００７９】
認証サーバ２０は、通知されたＩＤトークンを検証して、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する（Ｓ２０）。第１の認証処理例では、クライアント端末との間ですでにセッションが確立しているので、認証サーバ２０は、先の認証要求に対する応答として、ログインが許可された旨のメッセージと、ワンタイムチケットであるｃｏｄｅをブラウザ処理部５４に通知する（Ｓ２２）。このワンタイムチケットは、時限失効型のチケットであり、所定期間内に、クライアント端末がこのチケットをサービス提供サーバ１０経由で認証サーバ２０に戻すことによって、アクセス権限が示されたアクセストークンを得ることができるものである。
【００８０】
ブラウザ処理部５４は、サービス提供サーバ１０に対して、認証サーバ２０から送られたログインが許可された旨のメッセージをワンタイムチケットであるｃｏｄｅと共に通知する（Ｓ２４）。ここで、サービス提供サーバ１０は、認証サーバ２０に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをｃｏｄｅと共に通知する（Ｓ２６）。
【００８１】
認証サーバ２０は、通知されたｃｏｄｅを確認して、自らが当該クライアント端末のために発行したものであることを検証した上で、アクセストークンを発行し、サービス提供サーバ１０に送る（Ｓ２８）。サービス提供サーバ１０は、アクセストークンをブラウザ処理部５４に送る（Ｓ３０）。さらに、ブラウザ処理部５４は、端末制御部５６にアクセストークンを送る（Ｓ３２）。以上により、クライアント端末は、アクセストークンを得て、アプリケーションを実行することが可能となる。
【００８２】
図５は、図１の認証システム１００における第２の認証処理例を示すシーケンス図である。第２の認証処理例は、認証サーバ２０においてのみ、クライアント端末との間ですでにセッションが確立していて、サービス提供サーバ１０においては確立していない場合である。
【００８３】
第２の認証処理例においては、端末制御部５６は、ユーザがログインを実行する対象のアプリケーション内のＳＤＫ（ＳｏｆｔｗａｒｅＤｅｖｅｌｏｐｍｅｎｔＫｉｔ）を指すものとする。また、ブラウザ処理部５４は、３つのブラウザのうち、隠しブラウザを処理するものとする。
【００８４】
本シーケンスは、ユーザがユーザインタフェース６０を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図４のＳ１０、Ｓ１２の処理については、第１の認証処理例と同一であるため、図示および説明を省略し、Ｓ１４の処理から説明するものとする。
【００８５】
Ｓ１４において、サービス提供サーバ１０は、このクライアント端末との間ですでにセッションが確立しているかどうかを検証する。ところが、第２の認証処理例において、クライアント端末は、サービス提供サーバ１０との間でセッションが確立されていない。したがって、このクライアント端末のＩＤトークンを保持していない状態となる。ここで、サービス提供サーバ１０は、ブラウザ処理部５４に対して、認証確認のためのメッセージを通知して（Ｓ４０）、認証サーバ２０においてセッションが確立されているかを確認させる。
【００８６】
ついで、ブラウザ処理部５４は、認証サーバ２０に対して、認証要求としてのメッセージを通知する（Ｓ４２）。ここで、認証サーバ２０は、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する（Ｓ４４）。ここでは、すでにセッションが確立されているので、認証サーバ２０は、認証が確認された旨のメッセージと、ワンタイムチケットであるｃｏｄｅとをブラウザ処理部５４に通知する（Ｓ４６）。
【００８７】
ブラウザ処理部５４は、サービス提供サーバ１０に対して、認証が確認された旨のメッセージをワンタイムチケットであるｃｏｄｅと共に通知する（Ｓ４８）。ここで、サービス提供サーバ１０は、認証サーバ２０に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをｃｏｄｅと共に通知する（Ｓ５０）。
【００８８】
認証サーバ２０は、通知されたｃｏｄｅを確認して、自らが当該クライアント端末のために発行したものであることを検証した上で、アクセストークンを発行し、ＩＤトークンと共にサービス提供サーバ１０に送る（Ｓ５２）。第２の認証処理例において、サービス提供サーバ１０は、クライアント端末のＩＤトークンを有していないからである。
【００８９】
サービス提供サーバ１０は、受け取ったＩＤトークンと、あらかじめ記憶しているアプリケーションに関する秘密情報とを照合して、ＩＤトークンの妥当性を検証する（Ｓ５４）。検証の結果が妥当である場合、サービス提供サーバ１０は、ブラウザ処理部５４に対して、アクセストークンを送る（Ｓ５６）。さらに、ブラウザ処理部５４は、端末制御部５６にアクセストークンを送る（Ｓ５８）。以上により、サービス提供サーバ１０との間でのセッションも確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。
【００９０】
図６は、図１の認証システム１００における第３の認証処理例を示すシーケンス図である。第３の認証処理例は、認証サーバ２０およびサービス提供サーバ１０の双方において、クライアント端末との間でセッションが確立していない場合である。本ケースは、最初にアプリケーションを立ち上げるような場合が想定される。
【００９１】
第３の認証処理例においては、端末制御部５６は、ユーザがログインを実行する対象のアプリケーション内のＳＤＫを指すものとする。また、ブラウザ処理部５４は、３つのブラウザのうち、隠し埋め込みブラウザと埋め込みブラウザの２つを処理するものとする。図６においては、隠し埋め込みブラウザを第１ブラウザとして、埋め込みブラウザを第２ブラウザとして図示する。
【００９２】
本シーケンスは、ユーザがユーザインタフェース６０を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図５のＳ４４に至るまでの処理については、第２の認証処理例と同一であるため図示および説明を省略し、ここではＳ４４の処理から説明するものとする。
【００９３】
Ｓ４４において、認証サーバ２０は、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する（Ｓ４４）。ここでは、セッションが確立されていないので、認証サーバ２０は、エラーレスポンスとともに、サービス提供サーバ１０を介したログイン処理をさせるためのメッセージを第１ブラウザに通知する（Ｓ７０）。
【００９４】
第１ブラウザは、端末制御部５６に対して、ログイン処理を開始させるためのメッセージを通知し（Ｓ７２）、以後、ブラウザの処理は、画面表示が可能な第２ブラウザに切り替わる。ここで、端末制御部５６は、ログイン処理を要求するためのメッセージを第２ブラウザに通知する（Ｓ７４）。
【００９５】
ここで、第２ブラウザは、ユーザインタフェース６０を表示させて（Ｓ７６）、ユーザからの入力を促す。ユーザからのユーザＩＤやパスワード等の入力をユーザインタフェース６０を介して受け付けると、端末制御部５６は、ユーザから入力された情報をクレデンシャルな情報として第２ブラウザに通知する（Ｓ７８）。第２ブラウザは、端末制御部５６から通知された情報を認証サーバ２０に対して、通知する（Ｓ８０）。
【００９６】
認証サーバ２０は、あらかじめ記憶しているユーザＩＤやユーザパスワードを確認して、通知された情報の妥当性を検証する（Ｓ８２）。妥当であって場合、認証サーバ２０は、第２ブラウザに対して、ワンタイムチケットであるｃｏｄｅと共に、認証が確認された旨のメッセージを通知する（Ｓ８４）。
【００９７】
第２ブラウザは、サービス提供サーバ１０に対して、認証が確認された旨のメッセージをワンタイムチケットであるｃｏｄｅと共に通知する（Ｓ８６）。ここで、サービス提供サーバ１０は、認証サーバ２０に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをｃｏｄｅと共に通知する（Ｓ５０）。
【００９８】
ここで、認証サーバ２０は、サービス提供サーバ１０に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをｃｏｄｅと、ＩＤトークンとを通知する（Ｓ５２）。
【００９９】
サービス提供サーバ１０は、受け取ったＩＤトークンと、あらかじめ記憶しているアプリケーションについての秘密情報とを照合して、ＩＤトークンの妥当性を検証する（Ｓ５４）。検証の結果が妥当である場合、サービス提供サーバ１０は、第２ブラウザに対して、アクセストークンを送る（Ｓ８８）。さらに、第２ブラウザは、端末制御部５６にアクセストークンを送る（Ｓ９０）。以上により、サービス提供サーバ１０と認証サーバ２０の双方でのセッションが確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。
【０１００】
図７は、図１の認証システム１００における第４の認証処理例を示すシーケンス図である。第４の認証処理例は、アプリケーションにおいて、認証サーバ２０およびサービス提供サーバ１０の双方において、クライアント端末との間でセッションが確立していない場合である。また、アプリケーションの外部のブラウザとして機能する外部ブラウザにおいては、セッションが確立しているものとする。本ケースは、外部ブラウザを用いてログイン処理が完了した後に、アプリケーションを立ち上げるような場合が想定される。
【０１０１】
第４の認証処理例においては、端末制御部５６は、ユーザがログインを実行する対象のアプリケーション内のＳＤＫを指すものとする。また、ブラウザ処理部５４は、３つのブラウザのうち、隠し埋め込みブラウザと埋め込みブラウザ、および、外部ブラウザの３つを処理するものとする。図６においては、隠し埋め込みブラウザを第１ブラウザとして、埋め込みブラウザを第２ブラウザとして、外部ブラウザを特定ブラウザとして図示する。なお、特定ブラウザは、アプリケーションの外部において動作するブラウザである。
【０１０２】
本シーケンスは、ユーザがユーザインタフェース６０を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図５のＳ７６に至るまでの処理については、第３の認証処理例と同一であるため図示および説明を省略し、ここではＳ７６の処理から説明するものとする。
【０１０３】
ここで、第２ブラウザは、ユーザインタフェース６０を表示させて（Ｓ７６）、ユーザからの入力を促す。ユーザから特定ブラウザを用いたログイン要求をユーザインタフェース６０を介して受け付けると、端末制御部５６は、その情報を特定ブラウザに通知する（Ｓ１１０）。特定ブラウザは、サービス提供サーバ１０に対して、外部ブラウザを用いてのＳＳＯ処理を要求するためのメッセージを通知する（Ｓ１１２）。
【０１０４】
サービス提供サーバ１０は、特定ブラウザに対して、認証要求に関するメッセージを通知する（Ｓ１１４）。ついで、特定ブラウザは、認証サーバ２０に対して認証要求に関するメッセージを通知する（Ｓ１１６）。
【０１０５】
ここで、認証サーバ２０は、外部ブラウザとのセッション情報を検証して（Ｓ１１８）、ワンタイムチケットであるｃｏｄｅとＩＤトークンとを付した認証が確認された旨のメッセージを通知する（Ｓ１２０）。
【０１０６】
特定ブラウザは、サービス提供サーバ１０に対して、ＩＤトークンと共に認証が確認された旨のメッセージを通知する（Ｓ１２２）。サービス提供サーバ１０は、このＩＤトークンを検証して（Ｓ１２４）、認証が確認された旨のメッセージを特定ブラウザに通知する（Ｓ１２６）。
【０１０７】
さらに、特定ブラウザは、端末制御部５６に対して、認証サーバ２０から取得したｃｏｄｅと共に、アプリケーションでのセッション処理を完了させるためのメッセージを通知する（Ｓ１２８）。これを受けて、端末制御部５６は、ｃｏｄｅと共に第１ブラウザに通知する（Ｓ１３０）。ここでは、ユーザから入力を受け付ける必要がないため、処理の高速化やユーザの利便性を考慮して、第２ブラウザではなく、第１ブラウザに通知することとしている。
【０１０８】
第１ブラウザは、サービス提供サーバ１０に対して、ｃｏｄｅが付されたメッセージを通知する（Ｓ１３２）。ここで、サービス提供サーバ１０は、認証サーバ２０に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをｃｏｄｅと共に通知する（Ｓ５０）。
【０１０９】
ここで、認証サーバ２０は、サービス提供サーバ１０に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージと、ｃｏｄｅと、ＩＤトークンとを通知する（Ｓ５２）。
【０１１０】
サービス提供サーバ１０は、受け取ったＩＤトークンと、あらかじめ記憶しているクライアント端末についての秘密情報とを照合して、ＩＤトークンの妥当性を検証する（Ｓ５４）。検証の結果が妥当である場合、サービス提供サーバ１０は、第１ブラウザに対して、アクセストークンを送る（Ｓ５６）。さらに、第１ブラウザは、端末制御部５６にアクセストークンを送る（Ｓ５８）。以上により、サービス提供サーバ１０と認証サーバ２０の双方とのセッションも確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。
【０１１１】
いずれかにセッションが確立しているような場合には、いずれかが有しているセッション情報を互いに補完しあうことによって、効率的に、セッションを確立させることができる。
【０１１２】
以上のような態様によると、クライアント端末からの認証要求を受けたサービス提供サーバ１０と認証サーバ２０とが共に連携して、それぞれのサーバにあらかじめ記憶された当該クライアント端末に関する認証情報に基づいて認証処理を実行することによって、サービス提供サーバ１０と認証サーバ２０とで認証処理を完結できるので、よりセキュアな認証処理が実現できる。
【０１１３】
また、クライアント端末に関連づけて発行したワンタイムチケットを用いて認証処理を実施することによって、セキュアに認証処理を実施できる。また、ワンタイムチケットをクライアント端末に渡し、サービス提供サーバ１０経由で認証サーバ２０に戻すことによって、クライアント端末内にアプリケーションの秘密情報を保持させることがなく、サービス提供サーバ１０と認証サーバ２０とで認証処理を完結できるので、よりセキュアな認証処理が実現できる。
【０１１４】
また、認証要求元のクライアント端末のＩＤトークンの認証確認が成功した場合、あるいは、そのクライアント端末において起動されているアプリケーションからのログイン処理を確認した場合に、セッションが確立していると判定することによって、セキュアなＳＳＯ処理を効率的に実行することができる。
【０１１５】
また、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ１０との間にセッションが確立されている場合、当該サービス提供サーバ１０は、そのクライアント端末に対して、ＩＤトークンを含めたセッション情報を発行し、認証サーバ２０は、そのクライアント端末を介して得たＩＤトークンを検証することによって、セッションが確立されているか否かを検証することによって、セキュアなＳＳＯ処理を効率的に実行することができる。
【０１１６】
また、認証要求元のクライアント端末において起動されているアプリケーションと前記認証サーバ２０との間にセッションが確立されていない場合、当該クライアント端末は、ユーザ情報を認証サーバ２０に送り、認証サーバ２０は、受信したユーザ情報を検証後、アクセストークンと共に、ＩＤトークンも発行して、サービス提供サーバ１０に送信し、サービス提供サーバ１０は、取得したＩＤトークンを検証して、セッションを確立することによって、セキュアなＳＳＯ処理を効率的に実行することができる。
【０１１７】
また、まず第１ブラウザによりサービス提供サーバ１０との間で認証処理を実施した後に、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ１０との間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる場合には、ユーザ情報を受け付けるために第２ブラウザを起動して、第２ブラウザとサービス提供サーバ１０との間での認証処理に切り替えることによって、ユーザに認証処理が実施されていることを意識させることなく、セキュアなＳＳＯ処理をよりスムーズに実行することができる。
【０１１８】
また、認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ２０との間でセッションが確立されていない場合であっても、そのクライアント端末の特定ブラウザと認証サーバ２０との間でセッションが確立されている場合においては、第２ブラウザの代わりに、特定ブラウザを起動して、特定ブラウザとサービス提供サーバ１０間での処理に切り替えることによって、セキュアなＳＳＯ処理を効率的に実行することができる。
できる。
【０１１９】
また、サービス提供サーバ１０が、クライアント端末の秘密情報を管理し、かつ、サービス提供サーバ１０と、アプリケーションを記憶するクライアント端末との連携の際のブラウザ同定のためのセッション管理をサービス提供サーバ１０上で行うことで、より強固なセキュリティが担保される。
【０１２０】
具体的には、認証トランザクション中にアプリケーション連携を挟む場合に連携前と後の埋め込みブラウザの同定の為の Ｃｏｏｋｉｅ管理をプラットフォームが保証する事が可能になる。
認証サーバ２０との通信時に用いるクライアント端末の秘密情報をインストール型アプリケーションに保存する必要が無い。そのため、認証チケット置換攻撃などの不正行為が簡単には成立せず、強化なセキュリティを実現することができる。
【０１２１】
以上、本発明を実施例をもとに説明した。本発明は上述した実施例並びに各実施例の内容に限定されるものではなく、本発明の要旨の範囲内において種々に変形して実施をすることが可能である。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【０１２２】
【図１】実施例１にかかる認証システムの構成例を示す図である。
【図２】図１の認証システムにおけるサービス提供サーバの構成例を示す図である。
【図３】図１の認証システムにおけるモバイル端末あるいはＰＣ端末における構成例を示す図である。
【図４】図１の認証システムにおける第１の認証処理例を示すシーケンス図である。
【図５】図１の認証システムにおける第２の認証処理例を示すシーケンス図である。
【図６】図１の認証システムにおける第３の認証処理例を示すシーケンス図である。
【図７】図１の認証システムにおける第４の認証処理例を示すシーケンス図である。
【符号の説明】
【０１２３】
１０  サービス提供サーバ、  １２  サーバ通信部、  １４  認証処理部、  １６  サーバメモリ、  ２０  認証サーバ、  ３０  ネットワーク、  ４０  基地局、  ４０ａ  第１基地局、  ４０ｂ  第２基地局、  ４０ｃ  第３基地局、  ５０  モバイル端末、  ５０ａ  第１モバイル端末、  ５０ｂ  第２モバイル端末、  ５０ｃ  第３モバイル端末、  ５２  端末通信部、  ５４  ブラウザ処理部、  ５６  端末制御部、  ５８  端末メモリ、  ６０  ユーザインタフェース、  ７０  ＰＣ端末、  １００  認証システム
【図１】
2014194615.tif 000003
【図２】
2014194615.tif 000004
【図３】
2014194615.tif 000005
【図４】
2014194615.tif 000006
【図５】
2014194615.tif 000007
【図６】
2014194615.tif 000008
【図７】
2014194615.tif 000009