(57)【要約】【課題】通信端末のアプリケーションを使用するときの認証作業の利便性を向上することを目的とする。【解決手段】通信端末１は、第１認証情報記憶部１４と第２認証情報記憶部１７と認証制御部１８とを備える。第１認証情報記憶部１４は、通信端末１のネイティブ環境で管理される認証情報を記憶する。第２認証情報記憶部１７は、通信端末１のＷｅｂアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する。認証制御部１８は、アプリケーションが必要とする認証情報が第２認証情報記憶部１７には記憶されてなく、且つ前記第１認証情報記憶部１４に記憶されているときに、前記第１認証情報記憶部１４に記憶されている認証情報を前記第２認証情報記憶部１７に書き込む制御を行う。【選択図】図１
2015075996.tif 000002
【特許請求の範囲】
【請求項１】
通信端末であって、
前記通信端末のネイティブ環境で管理される認証情報を記憶する第１記憶部と、
前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第２記憶部と、
前記アプリケーションが必要とする認証情報が前記第２記憶部には記憶されてなく、且つ前記第１記憶部に記憶されているときに、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む制御を行う制御部と、
を備える通信端末。
【請求項２】
前記アプリケーションが行う認証を代理して行う認証部を備え、
前記制御部は、前記アプリケーションが発行した要求が認証に関する要求であるときには、当該要求を取得して、前記認証部に出力する、
請求項１記載の通信端末。
【請求項３】
前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込むか否かを判定する判定部、
を備える請求項１または２記載の通信端末。
【請求項４】
前記認証情報の使用が許可される前記アプリケーションの許可リストを保持する第１保持部を備え、
前記判定部は、前記許可リストに基づいて、前記認証情報を前記第２記憶部に書き込むか否かを判定する、
請求項３記載の通信端末。
【請求項５】
前記通信端末のオペレーティングシステムが提供する機能のうち前記アプリケーションが使用することが禁止される禁止リストを保持する第２保持部を備え、
前記判定部は、前記禁止リストに基づいて、前記認証情報を前記第２記憶部に書き込むか否かを判定する、
請求項３記載の通信端末。
【請求項６】
通信処理方法であって、
通信端末のネイティブ環境で管理される認証情報を記憶する第１記憶部に、前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションが必要とする認証情報が記憶され、前記アプリケーションの認証情報を記憶する第２記憶部に前記アプリケーションが必要とする認証情報が記憶されていないとき、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む、
通信処理方法。
【請求項７】
通信処理プログラムであって、
通信端末のネイティブ環境で管理される認証情報を記憶する第１記憶部に、前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションが必要とする認証情報が記憶され、前記アプリケーションの認証情報を記憶する第２記憶部に前記アプリケーションが必要とする認証情報が記憶されていないとき、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む、
処理をコンピュータに実行させる通信処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末、通信処理方法および通信処理プログラムに関する。
【背景技術】
【０００２】
通信端末の一例として、スマートフォンや携帯電話、タブレット端末等がある。近年の通信端末は、単に通信を行うだけでなく、種々のアプリケーションを実行することが可能になってきている。
【０００３】
通信端末で実行されるアプリケーションの一例として、ネイティブアプリケーション（native application）と称されるアプリケーションがある。ネイティブアプリケーションは、通信端末のＯＳ(Operating System）上で直接的に実行することが可能なアプリケーションである。
【０００４】
また、通信端末で実行されるアプリケーションの一例として、Ｗｅｂアプリケーションと称されるアプリケーションがある。Ｗｅｂアプリケーションは、ブラウザ機能を持った実行環境上で実行されるアプリケーションである。
【０００５】
ネイティブアプリケーションおよびＷｅｂアプリケーションは、外部サーバのサービスを利用して通信を行うことがある。外部サーバのサービスを利用するとき、ネイティブアプリケーションおよびＷｅｂアプリケーションの認証が行われる。このときに認証情報が必要になる。認証情報の一例として、cookieがある。cookieを用いて、ウェブサーバにウェブクライアントを認証する技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−２５７０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ネイティブアプリケーションを実行する実行環境とＷｅｂアプリケーションを実行する実行環境とは異なる。ネイティブアプリケーションの認証情報はネイティブアプリケーションの実行環境で管理される。一方、Ｗｅｂアプリケーションの認証情報はＷｅｂアプリケーションの実行環境で管理される。つまり、ネイティブアプリケーションとＷｅｂアプリケーションとは別々に管理される。
【０００８】
従って、ネイティブアプリケーションの実行環境で管理される認証情報とＷｅｂアプリケーションの実行環境で管理される認証情報との間に差分が生じることがある。例えば、ネイティブアプリケーションの実行環境で管理されている認証情報が、Ｗｅｂアプリケーションの実行環境では管理されていない場合がある。
【０００９】
この場合、Ｗｅｂアプリケーションは再び外部のＷｅｂサーバのサービスを利用するために認証を行う必要がある。認証情報の一例として、ＩＤおよびパスワードがある。この場合、ユーザはＩＤおよびパスワードを再び入力しなければならなくなる。従って、ユーザに不便な認証作業を要求することになる。
【００１０】
１つの側面では、本発明は、通信端末のアプリケーションを使用するときの認証作業の利便性を向上することを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、通信端末は、第１記憶部と第２記憶部と制御部とを備える。第１記憶部は、前記通信端末のネイティブ環境で管理される認証情報を記憶する。第２記憶部は、前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する。制御部は、前記アプリケーションが必要とする認証情報が前記第２記憶部には記憶されてなく、且つ前記第１記憶部に記憶されているときに、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む制御を行う。
【発明の効果】
【００１２】
通信端末のアプリケーションを使用するときの認証作業の利便性を向上することができる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態の通信端末の構成の一例を示す図である。
【図２】第１実施形態の認証処理の一例を示すフローチャートである。
【図３】第１実施形態の認証情報の一例を示す図である。
【図４】第１実施形態の処理の流れの一例を示すシーケンス図である。
【図５】第２実施形態の通信端末の構成の一例を示す図である。
【図６】アプリケーション許可リストの一例を示す図である。
【図７】第２実施形態の認証処理の一例を示すフローチャートである。
【図８】第２実施形態の処理の流れの一例を示すシーケンス図である。
【図９】第３実施形態の通信端末の構成の一例を示す図である。
【図１０】第３実施形態の認証処理の一例を示すフローチャートである。
【図１１】第３実施形態の処理の流れの一例を示すシーケンス図である。
【図１２】通信端末のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１４】
＜第１実施形態＞
以下、図面を参照して、第１実施形態について説明する。図１は、第１実施形態の通信端末の構成を示している。通信端末１は、アプリケーションを実行することが可能な端末である。通信端末の一例として、スマートフォン等を適用してもよい。
【００１５】
通信端末１は、ネイティブアプリケーションおよびＷｅｂアプリケーションを実行することができる。ネイティブアプリケーションは、ブラウザ機能を持った実行環境（以下、単にブラウザと呼ぶ）が実行するのではなく、通信端末１のネイティブ環境で実行されるアプリケーションである。一例として、通信端末１のＯＳが直接的にネイティブアプリケーションを実行する。従って、ネイティブアプリケーションはＯＳに依存したアプリケーションである。
【００１６】
Ｗｅｂアプリケーションは、通信端末１のブラウザ上で実行されるアプリケーションである。Ｗｅｂアプリケーション実行環境の一例としてブラウザがある。Ｗｅｂアプリケーションは、ブラウザ上で実行されるため、ブラウザに依存したアプリケーションである。以下、Ｗｅｂアプリケーションを単にアプリケーションと称することもある。
【００１７】
Ｗｅｂアプリケーションの一例として、ＨＴＭＬ（Hyper Text Markup Language）５アプリケーションがある。ＨＴＭＬ５アプリケーションは、Ｗ３Ｃ（World Wide Web Consortium)が提唱するＨＴＭＬ５の規格による準拠しているアプリケーションである。
【００１８】
ネイティブアプリケーションは、ネイティブ環境で実行されるため、通信端末１のＯＳが提供する各種ＡＰＩ（Application Programming Interface）を利用することができる。一方、Ｗｅｂアプリケーションは、使用することが禁止されているＡＰＩが多い。
【００１９】
図１の一例で示すように、通信端末１は、アプリケーションサーバＡＳ、認証局Ｉｄｐ、サービスプロバイダＡおよびサービスプロバイダＢと通信することができる。通信端末１の通信先は、図１の例には限定されない。一例として、通信端末１は、多数のサービスプロバイダＢと通信することが可能である。
【００２０】
アプリケーションサーバＡＳは、アプリケーションを保持する外部サーバである。一例として、アプリケーションサーバＡＳは、Ｗｅｂアプリケーションを保持する。通信端末１は、アプリケーションサーバＡＳと通信を行い、Ｗｅｂアプリケーションを取得（ダウンロード）することができる。
【００２１】
認証局Ｉｄｐは、サービスプロバイダＡおよびサービスプロバイダＢの認証を一括して管理する。認証局Ｉｄｐは、アイデンティティサービスプロバイダＢと称されることもある。通信端末１は認証局Ｉｄｐに対して認証に要する情報（以下、認証情報と称することもある）を送信して、認証局Ｉｄｐは認証情報を用いて認証を行う。
【００２２】
サービスプロバイダＡおよびサービスプロバイダＢは、それぞれ異なるサービスを提供するサービスプロバイダＢである。通信端末１のネイティブアプリケーションまたはＷｅｂアプリケーションは、サービスプロバイダＡまたはサービスプロバイダＢが提供するサービスを使用する。
【００２３】
通信端末１は、ネイティブ領域部２とブラウザ領域部３とを有している。ネイティブ領域部２は、通信端末１のネイティブな環境である。つまり、ネイティブ領域の環境は、ブラウザの動作とは関係なく、ＯＳが直接的に関与する領域である。ネイティブアプリケーションは、ネイティブ領域部２で実行される。ネイティブアプリケーションは、ネイティブ領域部２が提供する多様なＡＰＩを利用することができる。
【００２４】
ブラウザ領域部３は、ブラウザを実行する環境であり、Ｗｅｂ領域とも称される。Ｗｅｂアプリケーションは、ブラウザ領域部３で実行される。Ｗｅｂアプリケーションは、ネイティブ領域部２が提供するＡＰＩの一部を利用することができる。また、Ｗｅｂアプリケーションは、ネイティブ領域部２が提供するＡＰＩの一部を利用することができない。
【００２５】
通信端末１は、表示入力部４を備えている。一例として、表示入力部４をタッチパネルディスプレイとすることができる。表示入力部４には所定の情報が表示され、ユーザは表示入力部４を操作することで、所定の情報を入力することができる。なお、表示入力部４は表示手段と入力手段とが一体になっているが、表示手段と入力手段とを別個に設けてもよい。
【００２６】
ネイティブ領域部２は、通信部１１とアプリケーション保存部１２とローカルサーバ１３と第１認証情報記憶部１４とブラウザ管理部１５と代理認証部１６とを備えている。通信部１１は、外部のアプリケーションサーバＡＳや認証局Ｉｄｐ、サービスプロバイダＡ、サービスプロバイダＢ等と通信を行う。
【００２７】
アプリケーション保存部１２は、アプリケーションサーバＡＳから取得したアプリケーションを保存する。一例として、アプリケーションはソースコードの形式でアプリケーション保存部１２に暗号化された状態で保存される。
【００２８】
ローカルサーバ１３は、ネイティブ領域部２に設けた仮想的なＷｅｂサーバである。ＷｅｂアプリケーションがＨＴＭＬ５アプリケーションの場合、ＨＴＭＬ５アプリケーションにオリジンを含むＵＲＬ（Uniform Resource Locator)を付与する必要がある。ローカルサーバ１３は、ＨＴＭＬ５アプリケーションに通信端末１の内部でのＵＲＬを付与する。
【００２９】
第１認証情報記憶部１４は、ネイティブ領域部２で管理される認証情報を記憶する。一例として、第１認証情報記憶部１４は、ネイティブアプリケーションの認証情報を記憶する。ネイティブアプリケーションがサービスプロバイダＡのサービスを利用したことがある場合には、第１認証情報記憶部１４はサービスプロバイダＡのサービスの認証情報を記憶する。第１認証情報記憶部１４は、第１記憶部の一例である。
【００３０】
ブラウザ管理部１５は、ブラウザ領域部３を管理する。ブラウザ管理部１５は、Ｗｅｂｖｉｅｗと称されることもある。ブラウザ管理部１５は、第２認証情報記憶部１７と認証制御部１８とを備えている。
【００３１】
代理認証部１６は、Ｗｅｂアプリケーションの認証作業を代理して行う。Ｗｅｂアプリケーションが認証要求を発行したときには、代理認証部１６がＷｅｂアプリケーションの認証要求を取得して、代理認証部１６が代理して認証作業を行う。代理認証部１６は、代理認証部の一例である。
【００３２】
第２認証情報記憶部１７は、主にＷｅｂアプリケーションの認証情報を記憶する。一例として、ＷｅｂアプリケーションがサービスプロバイダＡのサービスを利用したことがあるときには、第２認証情報記憶部１７にはサービスプロバイダＡのサービスの認証情報が記憶される。第２認証情報記憶部１７は、第２記憶部１７の一例である。
【００３３】
認証制御部１８は、所定条件下で、第２認証情報記憶部１７に記憶されている認証情報を第１認証情報記憶部１４に書き込む。また、認証制御部１８は、Ｗｅｂアプリケーションが発行する要求を監視する。当該要求の一例として、"http request"がある。
【００３４】
認証制御部１８は、Ｗｅｂアプリケーションの要求が認証に関する要求である場合には、当該要求を取得して、代理認証部１６に出力する。一方、Ｗｅｂアプリケーションの要求が認証に関する要求でない場合には、認証制御部１８は、当該要求を取得しない。認証制御部１８は、制御部の一例である。
【００３５】
ブラウザ領域部３は、１または複数のＷｅｂアプリケーションを実行する環境である。図１では、Ｗｅｂアプリケーションを「Ｗｅｂアプリ」と示している。図１に示した一例では、ブラウザ領域部３は、Ｗｅｂアプリ２１とＷｅｂアプリ２２とｉｆｒａｍｅ２３とｉｆｒａｍｅ２４とを有している。
【００３６】
Ｗｅｂアプリケーション２１とＷｅｂアプリケーション２２とは異なるＷｅｂアプリケーションである。両者ともブラウザ上で実行される。ｉｆｒａｍｅ２３はインラインフレームであり、Ｗｅｂアプリケーション２１と他のＷｅｂアプリケーションとを分割する。また、ｉｆｒａｍｅ２４もインラインフレームであり、Ｗｅｂアプリケーション２２と他のＷｅｂアプリケーションとを分割する。
【００３７】
次に、図２のフローチャートを用いて、認証処理の一例について説明する。図２の一例では、Ｗｅｂアプリケーション２１がサービスプロバイダＡのサービスを利用する場合の認証処理について説明する。
【００３８】
図２（Ａ）に示すように、認証制御部１８は、ブラウザ領域部３の各Ｗｅｂアプリケーションの要求を監視している（ステップＳ１）。Ｗｅｂアプリケーションは種々の要求を発行する。一例として、Ｗｅｂアプリケーション２１は、"http request"を発行し、認証制御部１８は、Ｗｅｂアプリケーションの"http request"をCallback関数で監視してもよい。
【００３９】
認証制御部１８は、Ｗｅｂアプリケーション２１が発行した要求が認証要求であるか否かを判定する（ステップＳ２）。Ｗｅｂアプリケーション２１が発行した要求が認証要求でない場合には（ステップＳ２でＮＯ）、処理を終了する。
【００４０】
一方、Ｗｅｂアプリケーション２１が発行した要求が認証要求である場合には（ステップＳ２でＹＥＳ）、代理認証処理が行われる（ステップＳ３）。次に、認証情報制御処理（ステップＳ４）が行われる。
【００４１】
図２（Ｂ）はステップＳ３の代理認証処理を示している。代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに対して認証を要求する（ステップＳ５）。このために、代理認証部１６は、通信部１１を制御して、認証要求を認証局Ｉｄｐに送信する。
【００４２】
認証局Ｉｄｐは、通信端末１から送信された認証要求を受信する。認証局Ｉｄｐは、受信した認証要求が既に認証済みか否かを判定する（ステップＳ６）。認証局Ｉｄｐは、受信した認証要求が認証済みでないと判定した場合（ステップＳ６でＮＯ）、未認証である旨を通信端末１に送信する。
【００４３】
代理認証部１６は、認証局Ｉｄｐから未認証である旨の通知を受信したときに、表示入力部４に対して認証画面を表示するように制御を行う（ステップＳ７）。一例として、認証画面はＩＤおよびパスワードを要求する画面としてもよい。
【００４４】
代理認証部１６は、通信部１１を制御して、認証局Ｉｄｐに認証情報を送信する（ステップＳ８）。認証局Ｉｄｐは、受信した認証情報の認証を行う。一例として、認証局Ｉｄｐは、サービスプロバイダＡを利用するときのＩＤおよびパスワードと受信したＩＤおよびパスワードとが一致しているか否かを判定する。一致していれば、認証は成功する。一致していなければ、認証は失敗する。
【００４５】
認証局Ｉｄｐは、認証結果を通信端末１に送信する。この認証結果は、通信部１１が受信し、通信部１１は認証結果を代理認証部１６に出力する。従って、代理認証部１６は、認証結果を入力する（ステップＳ９）。
【００４６】
ステップＳ６で、認証局Ｉｄｐは、受信した認証要求が既に認証されていると判定した場合（ステップＳ６でＹＥＳ）、ステップＳ７〜Ｓ９の処理は行われない。つまり、ユーザはＩＤやパスワード等を入力する必要がない。
【００４７】
図２（Ｃ）に示すように、認証制御部１８は、認証情報を取得する（ステップＳ１０）。ステップＳ６で認証済みでないと判定された場合には、認証制御部１８は、代理認証部１６から認証情報を取得する。ステップＳ６で認証済みであると判定された場合には、認証情報は第１認証情報記憶部１４に記憶されている。よって、この場合、認証制御部１８は、第１認証情報記憶部１４から認証情報を取得する。
【００４８】
そして、認証制御部１９は、第２認証情報記憶部１７に認証情報を書き込む（ステップＳ１１）。従って、通信端末１が認証局Ｉｄｐに送信した認証要求が既に認証されたものであれば、ユーザに再び認証作業を要求することがない。これにより、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。
【００４９】
図３は、第１認証情報記憶部１４および第２認証情報記憶部１７に記憶される認証情報の一例を示している。図３において、"key"はサービスプロバイダＢ等の情報を示している。"value"は認証結果を含む所定の情報を示している。"domain"および"path"は、Ｗｅｂアプリケーションが利用するサービスの所在情報を示している。
【００５０】
図３に示すように、第１認証情報記憶部１４にはサービスプロバイダＡの認証情報が記憶されている。つまり、ステップＳ６において、通信端末が送信した認証要求は既に認証済みであると判定される。このため、ステップＳ７〜Ｓ９の処理は省略される。
【００５１】
ステップＳ１１において、第２認証情報記憶部１７に認証情報が書き込まれる。サービスプロバイダＡの認証情報は既に認証されているため、認証制御部１８は、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込む。これにより、図３に示すように、第２認証情報記憶部１７にサービスプロバイダＡの認証情報が記憶される。
【００５２】
従って、Ｗｅｂアプリケーション２１がサービスプロバイダＡのサービスを利用するときには、第２認証情報記憶部１７に記憶された認証情報が使用される。このため、ユーザは、認証に要する情報を入力する必要がなくなる。これにより、認証作業を簡略化することができる。
【００５３】
次に、図４のシーケンス図を用いて、全体の処理の流れを説明する。最初に、Ｗｅｂアプリケーション２１は、サービスプロバイダＡのサービスを利用するための要求を発行する（ステップＳ１０１）。
【００５４】
一例として、この要求は"http request"であるものとする。認証制御部１８は、"http request"を監視しているが、認証に関するものではないため、認証に関する処理は行わない。従って、Ｗｅｂアプリケーション２１の要求はサービスプロバイダＡに送信される。
【００５５】
サービスプロバイダＡは、Ｗｅｂアプリケーション２１からの要求に対して、通信端末１に対して、サービスを利用するための認証を要求する（ステップＳ１０２）。一例として、サービスプロバイダＡは、"http 認証redirect"を送信することで、Ｗｅｂアプリケーション２１の要求に対して応答する。
【００５６】
Ｗｅｂアプリケーション２１は、認証局Ｉｄｐに対する認証要求を発行する。この認証要求を、ブラウザ管理部１５の認証制御部１８が取得する。そして、ブラウザ管理部１５は、認証制御部１８を呼び出す（ステップＳ１０３）。認証制御部１８は、認証局Ｉｄｐに対するredirectの場合、代理認証部１６を呼び出す（ステップＳ１０４）。
【００５７】
代理認証部１６は、認証局Ｉｄｐに対して認証を要求するために、通信部１１を制御して、認証要求を認証局Ｉｄｐに送信する。認証局Ｉｄｐの処理は、受信した認証要求が認証済みであるか否かによって変わる。
【００５８】
最初に、認証局Ｉｄｐが受信した認証要求が認証済みである場合について説明する。図４では、「Ｉｄｐ認証済み」の処理になる。代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに認証要求を行う（ステップＳ１０５）。一例として、代理認証部１６は通信部１１制御して、"http request"を認証局Ｉｄｐに送信する。
【００５９】
認証局Ｉｄｐは、通信端末１から送信された認証要求が既に認証済みであるか否かを確認する。「Ｉｄｐ認証済み」の場合は、認証局Ｉｄｐは、通信端末１から送信された認証要求が既に認証済みであることを確認する。
【００６０】
そして、認証局Ｉｄｐは、通信端末１から送信された認証要求は既に認証済みである応答を通信端末１に送信する（ステップＳ１０６）。一例として、認証局Ｉｄｐは、"http 302 redirect"を通信端末１に送信する。通信部１１は応答を受信し、受信した応答を代理認証部１６に出力する。代理認証部１６は、Ｗｅｂアプリケーション２１が発行した認証要求が既に認証済みであることを認識する。
【００６１】
次に、認証局Ｉｄｐが未認証の場合について説明する。代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに認証要求を行う（ステップＳ１０７）。一例として、代理認証部１６は通信部１１を制御して、"http request"を認証局Ｉｄｐに送信する。
【００６２】
認証局Ｉｄｐは、通信端末１から送信された認証要求が既に認証済みであるか否かを確認する。「Ｉｄｐ未認証」の場合、認証局Ｉｄｐは、通信端末１から送信された認証要求が未認証であることを確認する。
【００６３】
認証局Ｉｄｐは、通信端末１に対して、通信端末１から送信された認証要求が未認証である結果を送信する（ステップＳ１０８）。一例として、認証局Ｉｄｐは"http 200 OK"を通信端末１に送信する。
【００６４】
代理認証部１６は、表示入力部４に認証画面が表示されるように制御を行う。この制御により、表示入力部４には認証画面が表示される（ステップＳ１０９）。上述したように、一例として、表示入力部４は、ＩＤおよびパスワードを要求する認証画面を表示する。ユーザは、表示入力部４に表示されている認証画面に基づいて、ＩＤおよびパスワードを入力する。
【００６５】
代理認証部１６は、入力されたＩＤおよびパスワードを認証情報として、認証局Ｉｄｐに送信する（ステップＳ１１０）。一例として、代理認証部１６が送信する認証情報は"http login post"がある。
【００６６】
認証局Ｉｄｐは、代理認証部１６が送信した認証情報の認証を行う。認証局Ｉｄｐが有する認証情報と代理認証部１６が送信した認証情報が一致すれば、認証は成功し、一致しなければ、認証は失敗する。
【００６７】
認証局Ｉｄｐは、認証結果を通信端末１に送信する（ステップＳ１１１）。実施形態では、この認証結果をＩｄｐ認証結果とする。一例として、Ｉｄｐ認証結果は"http 302 redirect"がある。通信部１１はＩｄｐ認証結果を代理認証部１６に出力する。
【００６８】
代理認証部１６は、認証制御部１８にＩｄｐ認証結果を出力する（ステップＳ１１２）。認証制御部１８は、ブラウザ管理部１５にＩｄｐ認証結果を出力する（ステップＳ１１３）。そして、ブラウザ管理部１５は、ブラウザ上で実行されるＷｅｂアプリケーション２１に対して、認証結果を出力する。
【００６９】
「Ｉｄｐ未認証」のフローが行われた場合には、第１認証情報記憶部１４にはＷｅｂアプリケーション２１が要求した認証情報は記憶されていない。よって、認証局Ｉｄｐから受信したＩｄｐ認証結果に基づいて、代理認証部１６は、第２認証情報記憶部１７に認証情報を書き込む（ステップＳ１１４）。
【００７０】
一方、「Ｉｄｐ認証済み」のフローが行われた場合には、第１認証情報記憶部１４にはＷｅｂアプリケーション２１が要求した認証情報が記憶されている。よって、認証制御部１８は、第１認証情報記憶部１４から認証情報を読み出して、ステップＳ１１４にて、第２認証情報記憶部１７に読み出した認証情報を書き込む。
【００７１】
ブラウザ管理部１５は、認証局Ｉｄｐに対して、認証局ＩｄｐとサービスプロバイダＡとの間で認証情報を交換する要求を送信する（ステップＳ１１５）。この要求の一例として、"saml request"がある。そして、認証局Ｉｄｐは、認証情報の交換要求に対する応答を通信端末１に送信する（ステップＳ１１６）。この応答の一例は、"redirect"である。
【００７２】
ブラウザ管理部１５は、Ｗｅｂアプリケーション２１がサービスプロバイダＡのサービスを利用するための要求（エントリー要求と称することもある）を送信する（ステップＳ１１７）。この要求の一例として、"http retry request"がある。サービスプロバイダＡは、Ｗｅｂアプリケーション２１のエントリー要求に対して、応答する（ステップＳ１１８）。
【００７３】
ステップＳ１１８の応答には、サービスプロバイダＡの認証結果が含まれる。図４では、"Response+(sp認証結果)"として示している。ブラウザ管理部１５は、認証結果を記憶する。従って、認証が成功すれば、Ｗｅｂアプリケーション２１は、サービスプロバイダＡが提供するサービスを利用することができる。
【００７４】
従って、第１実施形態では、ネイティブ領域部２は、Ｗｅｂアプリケーション２１の認証を管理している。つまり、ネイティブ領域部２は、第１認証情報記憶部１４の認証情報と第２認証情報記憶部１７の認証情報とを一元的に管理している。
【００７５】
このため、Ｗｅｂアプリケーション２１が必要とする認証情報が第２認証情報記憶部１７に記憶されていないとしても、認証制御部１８が、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込む。
【００７６】
従って、ユーザがＷｅｂアプリケーション２１を利用するときに、認証情報を入力する必要がなくなる。つまり、ユーザが認証作業を行わなくても、Ｗｅｂアプリケーション２１の認証が行われる。よって、ユーザに認証作業を再び要求することがなくなり、Ｗｅｂアプリケーションを使用するときの利便性が向上する。
【００７７】
＜第２実施形態＞
次に、第２実施形態について説明する。第１実施形態では、認証制御部１８は、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込んでいる。しかし、セキュリティの観点から、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込むことは好ましくない場合がある。
【００７８】
そこで、第２実施形態では、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込むか否かの判定が行われる。この判定に基づいて、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込むか否かが決定される。
【００７９】
図５は、第２実施形態の一例を示している。図５に示すように、第２実施形態の構成は、認証情報共有判定部３１と許可リスト保持部３２とを有している。その他の構成は、第１実施形態と同じである。
【００８０】
認証情報共有判定部３１は、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込むか否かを判定する。つまり、第１認証情報記憶部１４と第２認証情報記憶部１７とで認証情報を共有するか否かを判定する。認証情報共有判定部３１は、判定部の一例である。
【００８１】
許可リスト保持部３２は、認証情報の使用が許可されるリストを保持する。以下、このリストをアプリケーション許可リストと称する。許可リスト保持部３２は、第１保持部の一例である。
【００８２】
図６は、アプリケーション許可リストの一例を示している。アプリケーション許可リストは、識別番号とアプリハッシュ値と再認証フラグとの３つの項目を有している。識別番号は、許可されたアプリケーションに付された番号である。アプリハッシュ値は、アプリケーションを識別するために演算されたハッシュ値である。なお、アプリケーションを識別するための情報はハッシュ値には限定されない。
【００８３】
再認証フラグは、既に認証済みのアプリケーションに対して、再び認証を要するか否かを示すフラグである。再認証フラグが"true"であれば、当該アプリケーションは再認証を要する。再認証フラグが"false"であれば、当該アプリケーションは再認証を要しない。
【００８４】
一例として、識別番号「０００１」番のアプリハッシュ値は"ab123afeaa111111"である。このアプリハッシュ値を持つアプリケーションは、使用が許可される。そして、再認証フラグが"true"であるため、当該アプリケーションは再認証を要する。
【００８５】
次に、図７のフローチャートを用いて、第２実施形態の認証処理について説明する。図７（Ａ）に示すように、認証制御部１８はブラウザ領域部３のＷｅｂアプリケーションの要求を監視する（ステップＳ２１）。
【００８６】
認証制御部１８は、Ｗｅｂアプリケーション２１から要求があった場合、Ｗｅｂアプリケーション２１からの要求が認証に関する要求であるか否かを判定する（ステップＳ２２）。認証に関する要求でないと認証制御部１８が判定したときには（ステップＳ２２でＮＯ）、そのまま処理を終了する。一方、認証に関する要求であると認証制御部１８が判定したときには（ステップＳ２２でＹＥＳ）、認証情報共有判定処理を行う（ステップＳ２３）。
【００８７】
図７（Ｂ）は、ステップＳ２３の認証情報共有判定処理を示している。認証情報共有判定部３１は、許可リスト保持部３２から許可リストを取得する（ステップＳ２４）。また、認証情報共有判定部３１は、認証に関する要求を発行しているＷｅｂアプリケーション２１のアプリハッシュ値を演算する（ステップＳ２５）。
【００８８】
認証情報共有判定部３１は、Ｗｅｂアプリケーション２１のアプリハッシュ値が許可リストのアプリハッシュ値に含まれているか否かを判定する（ステップＳ２６）。Ｗｅｂアプリケーション２１のアプリハッシュ値が許可リストのアプリハッシュ値に含まれていなければ、Ｗｅｂアプリケーション２１は許可されていないことになる。
【００８９】
よって、認証情報共有判定部３１は、認証情報を第１認証情報記憶部１４と第２認証情報記憶部１７とで共有することなく、そのまま処理を終了する。一方、Ｗｅｂアプリケーション２１のアプリハッシュ値が許可リストのアプリハッシュ値に含まれている場合には、Ｗｅｂアプリケーション２１は許可されていることになる。
【００９０】
この場合は、代理認証部１６は、代理認証処理を行う（ステップＳ２７）。また、代理認証処理の次に、認証情報制御処理を行う（ステップＳ２８）。図７（Ｃ）は、代理認証処理のフローを示している。代理認証部１６は、許可リストのうちＷｅｂアプリケーション２１のアプリハッシュ値に対応する再認証フラグが"true"であるか、"false"であるかを判定する（ステップＳ２９）。
【００９１】
再認証フラグが"true"の場合、代理認証部１６は、第１認証情報記憶部１４に記憶されている認証情報および第２認証情報記憶部１７に記憶されている認証情報を削除する（ステップＳ３０）。再認証フラグが"true"の場合には、再度の認証が行われる。
【００９２】
再認証フラグが"true"になるのは、セキュリティの観点から、Ｗｅｂアプリケーション２１が毎回認証を行うことが好ましいアプリケーションの場合である。一例として、Ｗｅｂアプリケーション２１が通信端末１の個人情報等を取り扱う場合等、高度なセキュリティを要するような場合に、再認証フラグが"true"となる。
【００９３】
一方、再認証フラグが"false"である場合には、代理認証部１６は、ステップＳ３０の認証情報の削除を行わない。高度なセキュリティを要しない場合には、毎回認証する必要がない。従って、認証情報は削除されない。再認証フラグは"true"または"false"として説明したが、再認証フラグは、再認証が必要であるか否かを判別できれば、任意の手段を適用してもよい。
【００９４】
次に、代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに対して認証を要求する（ステップＳ３１）。認証局Ｉｄｐは、受信した認証要求が既に認証済みか否かを判定する（ステップＳ３２）。認証局Ｉｄｐは、受信した認証要求が認証したことがないと判定した場合（ステップＳ３２でＮＯ）、未認証である旨を通信端末１に送信する。
【００９５】
代理認証部１６は、認証局Ｉｄｐから未認証である旨の通知を受信したときに、表示入力部４に認証画面を表示する（ステップＳ３３）。ユーザは、認証画面に基づいて、所定の情報を認証情報に必要な情報を入力する。代理認証部１６は、通信部１１を制御して、認証局Ｉｄｐに認証情報を送信する（ステップＳ３４）。認証局Ｉｄｐは、受信した認証情報の認証を行う。
【００９６】
認証局Ｉｄｐは、認証結果を通信端末１に送信する。この認証結果は、通信部１１が受信し、通信部１１は認証結果を代理認証部１６に出力する。従って、代理認証部１６は、認証結果を入力する（ステップＳ３５）。
【００９７】
ステップＳ３２で、認証局Ｉｄｐは、受信した認証要求が既に認証されていると判定した場合（ステップＳ３２でＹＥＳ）、ステップＳ３３〜Ｓ３５の処理は行われない。次に、図７（Ｄ）に示すように、認証制御部１８は、認証情報を取得する（ステップＳ３６）。
【００９８】
ステップＳ３２で認証済みでないと判定された場合には、認証制御部１８は、代理認証部１６から認証情報を取得する。ステップＳ３２で認証済みであると判定された場合には、認証情報は第１認証情報記憶部１４に記憶されている。よって、この場合、認証制御部１８は、第１認証情報記憶部１４から認証情報を取得する。
【００９９】
そして、認証制御部１９は、第２認証情報記憶部１７に認証情報を書き込む（ステップＳ３７）。従って、通信端末１が認証局Ｉｄｐに送信した認証要求が既に認証されたものであれば、ユーザは再び認証作業を行う必要がない。これにより、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。
【０１００】
次に、図８のシーケンス図を用いて、全体の処理の流れを説明する。最初に、Ｗｅｂアプリケーション２１は、サービスプロバイダＡのサービスを利用するための要求を発行する。そして、当該要求はサービスプロバイダＡに送信される（ステップＳ１２１）。
【０１０１】
サービスプロバイダＡは、Ｗｅｂアプリケーション２１からの要求に対して、通信端末１に対して、サービスを利用するための認証を要求する（ステップＳ１２２）。Ｗｅｂアプリケーション２１は、認証局Ｉｄｐに対する認証要求を発行する。この認証要求は、ブラウザ管理部１５の認証制御部１８が取得する。
【０１０２】
そして、ブラウザ管理部１５は、認証制御部１８を呼び出す（ステップＳ１２３）。認証制御部１８は、認証局Ｉｄｐに対するredirectの場合、認証情報共有判定部３１を呼び出す（ステップＳ１２４）。
【０１０３】
認証情報共有判定部３１は、許可リスト保持部３２が保持している許可リストに、Ｗｅｂアプリケーション２１が含まれているか否かを判定する。つまり、認証情報共有判定部３１は、認証情報を共有するか否かの判定を行う（ステップＳ１２５）。
【０１０４】
そして、認証情報共有判定部３１が認証情報を共有すると判定した場合には、認証情報共有判定部３１は、代理認証部１６を呼び出す（ステップＳ１２６）。一方、認証情報共有判定部３１が認証情報を共有しないと判定した場合には、認証情報共有判定部３１は、代理認証部１６の呼び出しを行わない。
【０１０５】
認証情報共有判定部３１が代理認証部１６を呼び出した場合、代理認証部１６は再認証処理を行う（ステップＳ１２７）。再認証処理は、許可リストのうちＷｅｂアプリケーション２１に対応する再認証フラグが"true"になっている場合に、第１認証情報記憶部１４および第２認証情報記憶部１７に記憶されている認証情報を削除する処理である。
【０１０６】
代理認証部１６は、認証局Ｉｄｐに対して認証を要求するために、通信部１１を制御して、認証要求を認証局Ｉｄｐに送信する。認証局Ｉｄｐの処理は、受信した認証要求が認証済みであるか否かによって変わる。
【０１０７】
最初に、認証局Ｉｄｐが受信した認証要求が認証済みである場合について説明する。図８では「Ｉｄｐ認証済み」の処理になる。代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに認証要求を行う（ステップＳ１２８）。
【０１０８】
そして、認証局Ｉｄｐは、通信端末１から送信された認証要求は既に認証済みである応答を通信端末１に送信する（ステップＳ１２９）。通信部１１は応答を受信し、受信した応答を代理認証部１６に出力する。代理認証部１６は、Ｗｅｂアプリケーション２１が発行した認証要求が既に認証済みであることを認識する。
【０１０９】
次に、認証局Ｉｄｐが未認証の場合について説明する。代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに認証要求を行う（ステップＳ１３０）。認証局Ｉｄｐは、通信端末１から送信された認証要求が既に認証済みであるか否かを確認する。「Ｉｄｐ未認証」の場合は、認証局Ｉｄｐは、通信端末１から送信された認証要求が未認証であることを確認する。
【０１１０】
ステップＳ１２７で、再認証処理が行われた場合には、第１認証情報記憶部１４および第２認証情報記憶部１７の認証情報が削除されている。従って、「Ｉｄｐ未認証」のフローが行われる。
【０１１１】
認証局Ｉｄｐは、通信端末１に対して、通信端末１から送信された認証要求が未認証である結果を送信する（ステップＳ１３１）。代理認証部１６は、表示入力部４に認証画面を表示する（ステップＳ１３２）。一例として、ユーザは、認証画面からＩＤおよびパスワードを入力する。
【０１１２】
代理認証部１６は、入力されたＩＤおよびパスワードを認証情報として、認証局Ｉｄｐに送信する（ステップＳ１３３）。認証局Ｉｄｐは、代理認証部１６が送信した認証情報の認証を行う。
【０１１３】
認証局Ｉｄｐは、認証結果を通信端末１に送信する（ステップＳ１３４）。代理認証部１６は、認証情報共有判定部３１にＩｄｐ認証結果を出力する（ステップＳ１３５）。認証情報共有判定部３１は、認証制御部１８にＩｄｐ認証結果を出力する（ステップＳ１３６）。認証制御部１８は、ブラウザ管理部１５にＩｄｐ認証結果を出力する（ステップＳ１３７）。そして、ブラウザ管理部１５は、ブラウザ上で実行されるＷｅｂアプリケーション２１に対して、認証結果を出力する。
【０１１４】
「Ｉｄｐ未認証」のフローが行われた場合には、代理認証部１６は、第１認証情報記憶部１４と第２認証情報記憶部１７との両者に認証情報を記憶する（ステップＳ１３８）。一方、「Ｉｄｐ認証済み」のフローが行われた場合には、代理認証部１６は、第１認証情報記憶部１４に記憶されている認証情報を第２認証情報記憶部１７に書き込む。
【０１１５】
従って、第１認証情報記憶部１４と第２認証情報記憶部１７とで認証情報の共有を行うことができる。ただし、ステップＳ１２５で、認証情報共有判定部３１が認証情報の共有を行わないと判定した場合には、認証情報の共有は行われない。
【０１１６】
ブラウザ管理部１５は、認証局Ｉｄｐに対して、認証局ＩｄｐとサービスプロバイダＡとの間で認証情報を交換する要求を送信する（ステップＳ１３９）。そして、認証局Ｉｄｐは、認証情報の交換要求に対する応答を通信端末１に送信する（ステップＳ１４０）。
【０１１７】
ブラウザ管理部１５は、Ｗｅｂアプリケーション２１がサービスプロバイダＡのサービスを利用する要求を送信する（ステップＳ１４１）。サービスプロバイダＡは、Ｗｅｂアプリケーション２１のエントリー要求に対して、応答する（ステップＳ１４２）。
【０１１８】
この応答には、サービスプロバイダＡの認証結果が含まれる。図２では、"Response+(sp認証結果)"として示している。ブラウザ管理部１５は、サービスプロバイダＡの認証結果を記憶する。従って、認証が成功すれば、Ｗｅｂアプリケーション２１は、サービスプロバイダＡが提供するサービスを利用することができる。
【０１１９】
第２実施形態では、第１実施形態と同様に、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。そして、セキュリティの高い認証を実現することができる。これにより、ユーザにとっての利便性と高いセキュリティとの両者を実現することができる。
【０１２０】
＜第３実施形態＞
次に、第３実施形態について説明する。図９の通信端末１は、図５に示した許可リスト保持部３２の代わりに禁止ＡＰＩリスト保持部３３を有している。禁止ＡＰＩリスト保持部３３は禁止ＡＰＩリストを保持する。禁止ＡＰＩリスト保持部３３は、第２保持部の一例である。
【０１２１】
ＡＰＩは、通信端末１の機能を利用する手段である。ネイティブアプリケーションは通信端末１のネイティブの環境で実行されるアプリケーションであるため、使用可能なＡＰＩが多い。一方、Ｗｅｂアプリケーションは、ネイティブアプリケーションよりも使用可能なＡＰＩが少ない。
【０１２２】
つまり、Ｗｅｂアプリケーションの場合、使用が禁止されているＡＰＩが多い。使用が禁止されているＡＰＩを禁止ＡＰＩとする。禁止ＡＰＩの一例として、"File.read()"がある。このＡＰＩは、通信端末１に記憶されているファイルを読み出す。また、禁止ＡＰＩの一例として、"Camera.exec()"がある。このＡＰＩは、通信端末１に備えられるカメラ機能を利用する。
【０１２３】
これらの禁止ＡＰＩは、セキュリティの観点から、Ｗｅｂアプリケーションでは使用が禁止されている場合がある。そこで、認証要求を行うＷｅｂアプリケーションが禁止ＡＰＩを使用するアプリケーションである場合には、第１認証情報記憶部１４と第２認証情報記憶部１７とで認証情報の共有を行わないようにする。
【０１２４】
次に、図１０のフローチャートを用いて、第３実施形態の認証処理について説明する。図１０（Ａ）に示すように、認証制御部１８はブラウザ領域部３のＷｅｂアプリケーションの要求を監視する（ステップＳ４１）。
【０１２５】
Ｗｅｂアプリケーション２１から要求があった場合、認証制御部１８は、Ｗｅｂアプリケーション２１からの要求が認証に関する要求であるか否かを判定する（ステップＳ４２）。認証に関する要求でないと認証制御部１８が判定したときには（ステップＳ４２でＮＯ）、そのまま処理を終了する。一方、認証に関する要求であると認証制御部１８が判定したときには（ステップＳ４２でＹＥＳ）、認証情報共有判定処理を行う（ステップＳ４３）。
【０１２６】
図１０（Ｂ）は、ステップＳ４３の認証情報共有判定処理を示している。認証情報共有判定部３１は、禁止ＡＰＩリスト保持部３３から禁止ＡＰＩリストを取得する（ステップＳ４４）。また、認証情報共有判定部３１は、アプリケーション保存部１２に保存されているＷｅｂアプリケーション２１の情報からＷｅｂアプリケーション２１のＡＰＩを検索する（ステップＳ４５）。
【０１２７】
一例として、アプリケーション保存部１２は、Ｗｅｂアプリケーション２１のソースコードを保存している。認証情報共有判定部３１は、アプリケーション保存部１２に保存されているＷｅｂアプリケーション２１のソースコードを復号化して読み出す。そして、Ｗｅｂアプリケーション２１のソースコードに含まれるＡＰＩを検索する。
【０１２８】
認証情報共有判定部３１は、禁止ＡＰＩリストに含まれる禁止ＡＰＩがＷｅｂアプリケーション２１のソースコードにあるか否かを判定する（ステップＳ４６）。ステップＳ４５およびステップＳ４６の処理は、Ｗｅｂアプリケーション２１のソースコードに含まれる全てのＡＰＩについて行われる。つまり、Ｗｅｂアプリケーション２１のソースコードに含まれるＡＰＩの個数分のループ処理が行われる。
【０１２９】
Ｗｅｂアプリケーション２１のソースコードに含まれる全てのＡＰＩを検索しても、禁止ＡＰＩが見つかれなければ、代理認証処理が行われ（ステップＳ４７）、次に認証情報制御処理（ステップＳ４８）が行われる。一方、Ｗｅｂアプリケーション２１のソースコードに禁止ＡＰＩが見つかった場合（ステップＳ４６でＹＥＳ）、ステップＳ４７およびステップＳ４７の処理は行われない。
【０１３０】
Ｗｅｂアプリケーション２１に禁止ＡＰＩが見つかった場合、セキュリティの観点から、第１認証情報記憶部１４と第２認証情報記憶部１７とで認証情報を共有することは好ましくない。一例として、禁止ＡＰＩが個人情報のファイルを取得するＡＰＩである場合、Ｗｅｂアプリケーション２１が当該ＡＰＩを利用できないように禁止することが好ましい。
【０１３１】
次に、代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに対して認証を要求する（ステップＳ４９）。認証局Ｉｄｐは、受信した認証要求が既に認証済みか否かを判定する（ステップＳ５０）。認証局Ｉｄｐは、受信した認証要求が認証したことがないと判定した場合（ステップＳ５０でＮＯ）、未認証である旨を通信端末１に送信する。
【０１３２】
代理認証部１６は、認証局Ｉｄｐから未認証である旨の通知を受信したときに、表示入力部４に認証画面を表示する（ステップＳ５１）。ユーザは、認証画面に基づいて、認証に必要な所定の情報を入力する。代理認証部１６は、通信部１１を制御して、認証局Ｉｄｐに認証情報を送信する（ステップＳ５２）。認証局Ｉｄｐは、受信した認証情報の認証を行う。
【０１３３】
認証局Ｉｄｐは、認証結果を通信端末１に送信する。この認証結果は、通信部１１が受信し、通信部１１は認証結果を代理認証部１６に出力する。従って、代理認証部１６は、認証結果を入力する（ステップＳ５３）。
【０１３４】
受信した認証要求が既に認証されていると認証局Ｉｄｐが判定した場合（ステップＳ５０でＹＥＳ）、ステップＳ５１〜Ｓ５３の処理は行われない。次に、図７（Ｄ）に示すように、認証制御部１８は、認証情報を取得する（ステップＳ５４）。
【０１３５】
ステップＳ５０で認証済みでないと判定された場合には、認証制御部１８は、代理認証部１６から認証情報を取得する。ステップＳ５０で認証済みであると判定された場合には、認証情報は第１認証情報記憶部１４に記憶されている。よって、この場合、認証制御部１８は、第１認証情報記憶部１４から認証情報を取得する。
【０１３６】
そして、認証制御部１９は、第２認証情報記憶部１７に認証情報を書き込む（ステップＳ５５）。従って、通信端末１が認証局Ｉｄｐに送信した認証要求が既に認証されたものであれば、ユーザに再び認証作業を要求することがない。これにより、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。
【０１３７】
また、ステップＳ４６において、Ｗｅｂアプリケーション２１のソースコードに禁止ＡＰＩが見つかった場合には、ステップＳ４７およびステップＳ４８の処理は行われないため、認証情報の共有は行われない。このため、高度なセキュリティを実現できる。
【０１３８】
次に、図１１のシーケンス図を用いて、全体の処理の流れを説明する。最初に、Ｗｅｂアプリケーション２１は、サービスプロバイダＡのサービスを利用するための要求を発行する。そして、当該要求はサービスプロバイダＡに送信される（ステップＳ１５１）。
【０１３９】
サービスプロバイダＡは、Ｗｅｂアプリケーション２１からの要求に対して、通信端末１に対して、サービスを利用するための認証を要求する（ステップＳ１５２）。Ｗｅｂアプリケーション２１は、認証局Ｉｄｐに対する認証要求を発行する。この認証要求は、ブラウザ管理部１５の認証制御部１８が取得する。
【０１４０】
そして、ブラウザ管理部１５は、認証制御部１８を呼び出す（ステップＳ１５３）。認証制御部１８は、認証局Ｉｄｐに対するredirectの場合、認証情報共有判定部３１を呼び出す（ステップＳ１５４）。
【０１４１】
認証情報共有判定部３１は、アプリケーション保存部１２に保存されているＷｅｂアプリケーション２１に禁止ＡＰＩが含まれているか否かを判定する処理を行う（ステップＳ１５５）。
【０１４２】
認証情報共有判定部３１は、禁止ＡＰＩが含まれていないと判定した場合には、認証情報の共有を判定すると判定する。この場合には、認証情報共有判定部３１は、代理認証部１６を呼び出す（ステップＳ１５６）。一方、認証情報共有判定部３１は、禁止ＡＰＩが含まれていると判定した場合には、認証情報の共有を判定しないと判定する。この場合には、認証情報共有判定部３１は、代理認証部１６の呼び出しを行わない。
【０１４３】
代理認証部１６は、認証局Ｉｄｐに対して認証を要求するために、通信部１１を制御して、認証要求を認証局Ｉｄｐに送信する。認証局Ｉｄｐの処理は、受信した認証要求が認証済みであるか否かによって変わる。
【０１４４】
最初に、認証局Ｉｄｐが受信した認証要求が認証済みである場合について説明する。図１１では「Ｉｄｐ認証済み」の処理になる。代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに認証要求を行う（ステップＳ１５７）。
【０１４５】
認証局Ｉｄｐは、通信端末１から送信された認証要求が既に認証済みであるか否かを確認する。「Ｉｄｐ認証済み」の場合は、認証局Ｉｄｐは、通信端末１から送信された認証要求が既に認証済みであることを確認する。
【０１４６】
そして、認証局Ｉｄｐは、通信端末１から送信された認証要求は既に認証済みである応答を通信端末１に送信する（ステップＳ１５８）。通信部１１は応答を受信し、受信した応答を代理認証部１６に出力する。代理認証部１６は、Ｗｅｂアプリケーション２１が発行した認証要求が既に認証済みであることを認識する。
【０１４７】
次に、認証局Ｉｄｐが未認証の場合について説明する。代理認証部１６は、Ｗｅｂアプリケーション２１を代理して、認証局Ｉｄｐに認証要求を行う（ステップＳ１５９）。認証局Ｉｄｐは、通信端末１から送信された認証要求が既に認証済みであるか否かを確認する。「Ｉｄｐ未認証」の場合は、認証局Ｉｄｐは、通信端末１から送信された認証要求が未認証であることを確認する。
【０１４８】
認証局Ｉｄｐは、通信端末１に対して、通信端末１から送信された認証要求が未認証である結果を送信する（ステップＳ１６０）。代理認証部１６は、表示入力部４に認証画面を表示する（ステップＳ１６１）。一例として、ユーザは、認証画面からＩＤおよびパスワードを入力する。
【０１４９】
代理認証部１６は、入力されたＩＤおよびパスワードを認証情報として、認証局Ｉｄｐに送信する（ステップＳ１６２）。認証局Ｉｄｐは、代理認証部１６が送信した認証情報の認証を行う。認証局Ｉｄｐが有する認証情報と代理認証部１６が送信した認証情報が一致すれば、認証は成功し、一致しなければ、認証は失敗する。
【０１５０】
認証局Ｉｄｐは、認証結果を通信端末１に送信する（ステップＳ１６３）。実施形態では、この認証結果をＩｄｐ認証結果とする。代理認証部１６は、認証情報共有判定部３１にＩｄｐ認証結果を出力する（ステップＳ１６４）。
【０１５１】
認証情報共有判定部３１は、認証制御部１８にＩｄｐ認証結果を出力する（ステップＳ１６５）。認証制御部１８は、ブラウザ管理部１５にＩｄｐ認証結果を出力する（ステップＳ１６６）。そして、ブラウザ管理部１５は、ブラウザ上で実行されるＷｅｂアプリケーション２１に対して、認証結果を出力する。
【０１５２】
「Ｉｄｐ未認証」のフローが行われた場合には、第１認証情報記憶部１４にはＷｅｂアプリケーション２１が要求した認証情報は記憶されていない。よって、認証局Ｉｄｐから受信したＩｄｐ認証結果に基づいて、代理認証部１６は、第２認証情報記憶部１７に認証情報を書き込む（ステップＳ１６７）。
【０１５３】
一方、「Ｉｄｐ認証済み」のフローが行われた場合には、第１認証情報記憶部１４にはＷｅｂアプリケーション２１が要求した認証情報が記憶されている。よって、認証制御部１８は、第１認証情報記憶部１４から認証情報を読み出して、第２認証情報記憶部１７に読み出した認証情報を書き込む（ステップＳ１６７）。
【０１５４】
ブラウザ管理部１５は、認証局Ｉｄｐに対して、認証局ＩｄｐとサービスプロバイダＡとの間で認証情報を交換する要求を送信する（ステップＳ１６８）。そして、認証局Ｉｄｐは、認証情報の交換要求に対する応答を通信端末１に送信する（ステップＳ１６９）。
【０１５５】
ブラウザ管理部１５は、Ｗｅｂアプリケーション２１がサービスプロバイダＡのサービスを利用する要求を送信する（ステップＳ１７０）。サービスプロバイダＡは、Ｗｅｂアプリケーション２１のエントリー要求に対して、応答する（ステップＳ１７１）。
【０１５６】
この応答には、サービスプロバイダＡの認証結果が含まれる。図１１では、"Response+(sp認証結果)"として示している。ブラウザ管理部１５は、サービスプロバイダＡの認証結果を記憶する。従って、認証が成功すれば、Ｗｅｂアプリケーション２１は、サービスプロバイダＡが提供するサービスを利用することができる。
【０１５７】
第２実施形態では、第１実施形態で説明した通信端末のアプリケーションを使用するときの認証作業を簡略化することができ、セキュリティの高い認証を実現することができる。これにより、ユーザにとっての利便性と高いセキュリティとの両者を実現することができる。
【０１５８】
＜ハードウェア構成＞
次に、通信端末１のハードウェア構成の一例について説明する。図１２に示すように、通信端末１は、バス５１に対して、プロセッサ５２とＲＡＭ（Random Access Memory）５３とＲＯＭ（Read Only Memory)５４と補助記憶装置５５と通信インタフェース５６と可搬型記憶装置接続部５７とが接続されている。
【０１５９】
プロセッサ５２はＣＰＵ（Central Processing Unit)のような任意の処理回路である。プロセッサ５２はＲＡＭ５３に展開されたプログラムを実行する。ＲＯＭ５４はＲＡＭ５３に展開されるプログラムを記憶する不揮発性の記憶装置である。ＲＡＭ５３に展開されるプログラムは補助記憶装置５５に記憶されていてもよい。記憶装置の一例としては、半導体メモリやハードディスクドライブ等を適用することができる。
【０１６０】
可搬型記憶装置接続部５７は、可搬型記憶装置と接続可能に設けられている。可搬型記憶装置としては、可搬型のメモリや光学式ディスク（例えば、ＣＤ（Compact Disk)やＤＶＤ（Digital Video Disk)等）を適用することができる。
【０１６１】
ＲＡＭ５３、ＲＯＭ５４および補助記憶装置５５は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１６２】
一例として、通信部１１は通信インタフェース５６により実現されてもよい。ローカルサーバ１３、代理認証部１６、認証制御部１８および認証情報共有判定部３１はプロセッサ５２により実現されてもよい。また、アプリケーション保存部１２、第１認証情報記憶部１４、第２認証情報記憶部１７、許可リスト保持部３２および禁止ＡＰＩリスト保持部３３は、ＲＡＭ５３、ＲＯＭ５４、補助記憶装置５５または可搬型記憶装置接続部５７に接続される可搬型記憶装置により実現されてもよい。
【０１６３】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１６４】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
通信端末であって、
前記通信端末のネイティブ環境が管理する認証情報を記憶する第１記憶部と、
前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第２記憶部と、
前記アプリケーションが必要とする認証情報が前記第２記憶部には記憶されてなく、且つ前記第１記憶部に記憶されているときに、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む制御を行う制御部と、
を備える通信端末。
（付記２）
前記アプリケーションが行う認証を代理して行う認証部を備え、
前記制御部は、前記アプリケーションが発行した要求が認証に関する要求であるときには、当該要求を取得して、前記認証部に出力する、
付記１記載の通信端末。
（付記３）
前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込むか否かを判定する判定部、
を備える付記１記載の通信端末。
（付記４）
前記認証情報の使用が許可される前記アプリケーションの許可リストを保持する第１保持部を備え、
前記判定部は、前記許可リストに基づいて、前記認証情報を前記第２記憶部に書き込むか否かを判定する、
付記３記載の通信端末。
（付記５）
前記通信端末のオペレーティングシステムが提供する機能のうち前記アプリケーションが使用することが禁止される禁止リストを保持する第２保持部を備え、
前記判定部は、前記禁止リストに基づいて、前記認証情報を前記第２記憶部に書き込むか否かを判定する、
付記３記載の通信端末。
（付記６）
前記許可リストは前記アプリケーションごとに、再度の認証を行うか否かの情報を有し、前記情報が再度の認証を行うことを示しているときに、前記アプリケーションは認証を行う、
付記４記載の通信端末。
（付記７）
前記アプリケーションはＷｅｂアプリケーションである、
付記１記載の通信端末。
（付記８）
前記認証部は、前記ネイティブ環境の領域に設けられている、
付記２記載の通信端末。
（付記９）
通信処理方法であって、
通信端末のネイティブ環境で管理される認証情報を記憶する第１記憶部に、前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションが必要とする認証情報が記憶され、前記アプリケーションの認証情報を記憶する第２記憶部に前記アプリケーションが必要とする認証情報が記憶されていないとき、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む、
通信処理方法。
（付記１０）
通信処理プログラムであって、
通信端末のネイティブ環境で管理される認証情報を記憶する第１記憶部に、前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションが必要とする認証情報が記憶され、前記アプリケーションの認証情報を記憶する第２記憶部に前記アプリケーションが必要とする認証情報が記憶されていないとき、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む、
処理をコンピュータに実行させる通信処理プログラム。
（付記１１）
プロセッサと記憶装置とを備える通信端末であって、
前記記憶装置は、通信端末のネイティブ環境で実行される第１アプリケーションの認証情報を記憶する第１記憶領域と、前記通信端末のＷｅｂアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第２記憶領域と、を有し、
前記プロセッサは、
前記アプリケーションが必要とする認証情報が前記第２記憶領域には記憶されてなく、且つ前記第１記憶部に記憶されているときに、前記第１記憶部に記憶されている認証情報を前記第２記憶部に書き込む制御を行う
通信端末。
【符号の説明】
【０１６５】
１    通信端末
２    ブラウザ領域
３    ネイティブ領域
１４  第１認証情報記憶部
１５  ブラウザ管理部
１６  代理認証部
１７  第２認証情報記憶部
２１、２２  Ｗｅｂアプリケーション
３１  認証情報共有判定部
３２  許可リスト保持部
３３  禁止ＡＰＩリスト保持部
Ａ、Ｂ  サービスプロバイダ
Ｉｄｐ  認証局
【図１】
2015075996.tif 000003
【図２】
2015075996.tif 000004
【図３】
2015075996.tif 000005
【図４】
2015075996.tif 000006
【図５】
2015075996.tif 000007
【図６】
2015075996.tif 000008
【図７】
2015075996.tif 000009
【図８】
2015075996.tif 000010
【図９】
2015075996.tif 000011
【図１０】
2015075996.tif 000012
【図１１】
2015075996.tif 000013
【図１２】
2015075996.tif 000014