【文献】
Tech Fun株式会社,スマートにプログラミング Android実践編 第1版,株式会社リックテレコム 翅 力,2012年 2月20日,第1版,pp.35-41, 266-278
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態を説明する。
【0014】
図1〜6を参照して、本発明の一実施例によるシステムの構成を説明する。本実施例のシステムでは、携帯端末は、各種サービスを提供する携帯端末用のアプリケーション(「アプリ」と呼ばれる)を実行可能であると共に、ウェブサイトから提供されるウェブページを表示及び操作するためのウェブブラウザを実行可能である。本実施例では、コンテンツプロバイダがウェブサイトとアプリとの双方によりサービスを提供している場合、本システムは、アプリ実行中の携帯端末が同一のコンテンツプロバイダのウェブサイトに移行するとき、アプリ実行中に入力された認証情報をウェブサービスに承継し、ユーザに認証情報の少なくとも一部を再入力させることなくウェブサイトにアクセスすることを可能にする。
【0015】
このような認証情報の承継を実現するため、携帯端末は、アプリ起動時にユーザにより認証情報が入力されると、入力された認証情報をサーバに送信する。ユーザ認証が成功すると、携帯端末は、サーバから認証情報に関連付けされた検索キー情報を取得する。アプリ実行中にユーザがウェブブラウザを起動するよう要求すると、携帯端末は、取得した検索キー情報と認証情報の一部を含むブラウザ起動要求電文をサーバに送信する。サーバは、関連付けて記憶されている検索キー情報と認証情報の一部から、受信したブラウザ起動要求電文の検索キー情報に対応する認証情報を抽出し、抽出した認証情報が埋め込まれたウェブブラウザ画面などの画面情報を要求元の携帯端末に送信する。これにより、携帯端末は、認証情報が埋め込まれた画面情報を表示することが可能となり、ユーザは、ウェブブラウザ起動時に認証情報の一部を再入力することなく、ウェブサイトにアクセスすることが可能となる。
【0016】
図1は、本発明の一実施例によるシステムを概略的に示す。
図1に示されるように、システム10は、1以上の携帯端末100と、中継サーバ200と、ウェブサーバ300と、ネットワーク400とを有する。
【0017】
携帯端末100は、典型的には、スマートフォン、タブレット、携帯電話などであり、インターネット上のウェブページを表示及び操作可能なウェブブラウザと、携帯端末用の「アプリ」と呼ばれる各種サービスを提供するアプリケーションとを有する。一般に、ウェブブラウザは、パーソナルコンピュータ上でユーザが閲覧及び操作するのに適した画面を構成するのに対し、アプリは、相対的に小型の携帯端末上でユーザが閲覧及び操作するのに適した画面を構成する。同一のコンテンツプロバイダがウェブサイトとアプリの双方を提供している場合、アプリで提供されるサービスは、ウェブサイトで提供されるサービスの一部であるケースが多く、ウェブサイト上では利用可能であるが、アプリでは利用できないサービスがある可能性がある。このような場合、携帯端末100上でアプリを起動中のユーザが、ウェブサイト上でしか利用できないサービスを利用することを所望すると、ユーザは、ウェブブラウザを起動して、ウェブサイトにアクセスする必要がある。
【0018】
本実施例によるシステムでは、携帯端末100のユーザがアプリを実行して各種サービスを受信するときには、携帯端末100は、中継サーバ200と通信し、中継サーバ200を介しウェブサーバ300との間で情報をやりとりする。他方、携帯端末100のユーザがウェブブラウザを実行して各種サービスを受信するときには、携帯端末100は、中継サーバ200を介することなく、ウェブサーバ300との間で直接やりとりする。
【0019】
中継サーバ200は、携帯端末100においてアプリが実行されているとき、アプリ上で要求されたユーザのサービス要求をウェブサーバ300に送信すると共に、当該サービス要求に応答してウェブサーバ300から提供される各種データをアプリ用のデータ形式に変換し、携帯端末100に提供する。本実施例では、ユーザの認証処理に関して、中継サーバ200は、携帯端末100からユーザIDとパスワードなどの認証情報を受信すると、受信した認証情報をウェブサーバ300に転送すると共に、ユーザIDの一部など認証情報の一部を記憶する。さらに、中継サーバ200は、ユーザ認証が成功すると、実行中のアプリのセッションに対してマッチングキーを生成し、生成したマッチングキーを携帯端末100に送信する。また、中継サーバ200は、生成したマッチングキーを当該ユーザの認証情報の一部と関連付けて記憶する。
【0020】
ウェブサーバ300は、ウェブ画面を介したサービスを提供すると共に、アプリのための各種データを中継サーバ200を介し携帯端末100に提供する。本実施例では、ウェブサーバ300は、予め登録されたユーザの認証情報を保持し、ウェブサイト及びアプリにアクセスすることを要求するユーザが、登録されたユーザであるか判断する。具体的には、ウェブサーバ300は、ウェブサイト及びアプリにアクセスしようとする携帯端末100から受信した認証情報が、登録されたユーザの認証情報と一致するか判断することによって、当該ユーザを認証する。ユーザ認証が成功すると、ウェブサーバ300は、アプリ実行中の携帯端末100には中継サーバ200を介しサービスを提供し、ウェブブラウザ実行中の携帯端末100には中継サービス200を介することなく、サービスを直接提供する。さらに、アプリ実行中の携帯端末100がウェブブラウザ起動要求を送信すると、中継サーバ200から受信したユーザの契約番号とマッチングキーとを関連付けて記憶する。その後、携帯端末100上で起動されたウェブブラウザからマッチングキーを受信すると、ウェブサーバ300は、受信したマッチングキーに対応する契約番号を埋め込んだログイン画面を生成し、生成したログイン画面を携帯端末100に送信する。
【0021】
ネットワーク400は、携帯端末100、中継サーバ200及びウェブサーバ300を通信接続する。携帯端末100は、ネットワーク400に無線接続する場合、ネットワーク400の基地局(図示せず)やアクセスポイント(図示せず)などの無線装置に無線接続し、この無線装置を介し中継サーバ200やウェブサーバ300などのネットワーク装置に接続する。しかしながら、本発明はこれに限定されるものでなく、例えば、携帯端末100は、ネットワーク400に有線接続してもよい。
【0022】
なお、上述した実施例では、中継サーバ200がアプリ版のサービスを携帯端末100に提供し、ウェブサーバ300がウェブサイト版のサービスを携帯端末100に提供するが、本発明はこれに限定されるものでない。例えば、ウェブサーバ300が、アプリ版のサービスとウェブサイト版のサービスとの双方を携帯端末100に提供するようにしてもよい。
【0023】
図2は、本発明の一実施例による携帯端末のハードウェア構成を示す。
図2に示されるように、携帯端末100は、バスBを介し相互接続されるドライブ装置101、補助記憶装置102、メモリ装置103、CPU(Central Processing Unit)104、通信装置105、表示装置106及び入力装置107を有する。
【0024】
携帯端末100における後述される各種機能及び処理を実現するプログラムは、ネットワーク400を介してサーバなどからダウンロードされる。あるいは、プログラムは、メモリカードなどの記録媒体108によって提供されてもよい。プログラムを記憶した記録媒体108がドライブ装置101にセットされると、プログラムが記録媒体108からドライブ装置101を介して補助記憶装置102にインストールされる。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。
【0025】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムやデータを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるような携帯端末100の各種機能及び処理を実行する。
【0026】
通信装置105は、ネットワーク400に無線及び/又は有線接続するための通信インタフェースとして用いられる。通信装置105は、送信対象のデータを適切な信号に変換し、ネットワーク400に送信する。また、通信装置105は、ネットワーク400から受信した信号を適切なデータに変換し、メモリ装置103などの適切な装置に提供する。
【0027】
表示装置106は、CPU104による処理結果などを表示するのに用いられ、例えば、液晶ディスプレイ、ブラウン管ディスプレイ(CRT)、プラズマディスプレイなどの各種ディスプレイにより実現される。入力装置107は、ユーザが携帯端末100に命令やデータなどを入力するのに用いられ、例えば、タッチパネル、キーボード、スタイラス、マイクロフォンなどにより実現される。
【0028】
図3は、本発明の一実施例によるサーバのハードウェア構成を示す。本実施例によるシステム10の中継サーバ200とウェブサーバ300とは、同様のハードウェア構成を有するものであってもよく、ここでは、中継サーバ200に着目する。
図3に示されるように、中継サーバ200は、バスBを介し相互接続されるドライブ装置201、補助記憶装置202、メモリ装置203、CPU(Central Processing Unit)204、及びインタフェース装置205を有する。
【0029】
中継サーバ200及びウェブサーバ300における後述される各種機能及び処理を実現するプログラムは、CD−ROM(Compact Disk−Read Only Memory)などの記録媒体206によって提供されてもよい。プログラムを記憶した記録媒体206がドライブ装置201にセットされると、プログラムが記録媒体206からドライブ装置201を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体206により行う必要はなく、ネットワーク400を介して他のサーバからダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。
【0030】
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムやデータを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるようなサーバの各種機能及び処理を実行する。インタフェース装置205は、ネットワーク400に接続するための通信インタフェースとして用いられる。
【0031】
図4は、本発明の一実施例による携帯端末の機能構成を示す。
図4に示されるように、携帯端末100は、表示部110、入力部120及び送受信部130を有する。携帯端末100は、中継サーバ200との通信により各種サービスを提供する携帯端末用のアプリケーション(「アプリ」と呼ばれる)と共に、ウェブサーバ300から提供されるウェブページを表示及び操作するためのウェブブラウザとを実行可能である。
【0032】
表示部110は、アプリにより提供されるアプリ画面と、ウェブブラウザにより提供されるブラウザ画面とを表示する。一般に、ウェブブラウザは、パーソナルコンピュータ上でユーザが閲覧及び操作するのに適した画面を構成するのに対し、アプリは、スマートフォン、タブレット、携帯電話などの相対的に小型の携帯端末上でユーザが閲覧及び操作するのに適した画面を構成する。同一のコンテンツプロバイダがウェブサイトとアプリとの双方を提供する場合、アプリで提供されるサービスは、ウェブサイトで提供されるサービスの一部であるケースが多く、アプリでは利用できないウェブサイト上のサービスがある可能性がある。携帯端末100上でアプリを起動中のユーザが、ウェブサイト上にしかないサービスを利用することを所望した場合、ユーザは、ウェブブラウザを起動し、ウェブサーバ300から受信したウェブページ上で所望のサービスを利用しなければならない。このため、アプリ画面は、当該コンテンツプロバイダにより提供されるウェブサイトに移るためのウェブブラウザ起動ボタンを有している。アプリ実行中のユーザが、アプリ画面上のウェブブラウザ起動ボタンを押下すると、携帯端末100は、ウェブブラウザを起動し、移行先のウェブサイトからウェブページを取得する。後述されるように、取得したウェブページには、アプリ起動時に入力及び認証されたユーザのユーザID(契約番号)などの認証情報がすでに埋め込まれており、表示部110は、認証情報を含む画面を表示することができる。これにより、ユーザは、契約番号を再入力する必要なく、パスワードのみを入力することによってウェブサイトにアクセスすることが可能となる。
【0033】
入力部120は、ユーザにより入力された契約番号やパスワードなどの認証情報を取得する。本実施例では、入力部120は、以降の利用のため、アプリの初回起動時に取得した認証情報のすべて又は一部を保持するよう構成される。例えば、入力部120は、ユーザが入力した契約番号を保持してもよい。
【0034】
送受信部130は、中継サーバ200及びウェブサーバ300との間で各種データを送受信する。送受信部130は、アプリ実行中にウェブブラウザの起動ボタンが押下されると、移行先のウェブサイトの画面URL(Uniform Resource Locator)と、後述されるマッチングキーとを含むブラウザ起動要求電文をウェブサーバ300に送信し、ウェブサーバ300から契約番号が埋め込まれたウェブブラウザログイン画面を受信する。送受信部130は、要求されるセキュリティレベルに適した送信手法によりデータを送信するようにしてもよい。例えば、契約番号やパスワードなどの認証情報を送信する際には、送受信部130は、送信データを中継するルータなどにおける認証情報の傍受を防ぐため、POSTメソッドを利用して認証情報を送信する。他方、後述されるマッチングキーなど傍受されてもあまり影響がない情報を送信する際には、送受信部130は、GETメソッドを利用するようにしてもよい。
【0035】
図5は、本発明の一実施例による中継サーバの機能構成を示す。本実施例では、中継サーバ200は、携帯端末100のアプリ用のサービスを提供するため、携帯端末100とウェブサーバ300との間を仲介する。具体的には、中継サーバ200は、ウェブサーバ300から受信したデータをアプリ用のデータ形式に変換し、変換したデータを携帯端末100に送信する。
図5に示されるように、中継サーバ200は、送受信部210、記憶部220、マッチングキー生成部230及び契約番号復元部240を有する。
【0036】
送受信部210は、携帯端末100及びウェブサーバ300との間で各種データを送受信する。送受信部210は、携帯端末100上で起動されたアプリから各種処理要求を受信すると、受信した処理要求をウェブサーバ300に転送し、ウェブサーバ300からの処理結果をアプリ用のデータ形式に変換し、携帯端末100に送信する。本実施例では、ユーザ認証を要するアプリが携帯端末100において始めて起動されると、送受信部210は、携帯端末100からユーザID(契約番号)とパスワードなどの認証情報を受信する。送受信部210は、受信した認証情報をウェブサーバ300に転送すると共に、契約番号の一部を記憶部220に格納する。送受信部210は、要求されるセキュリティレベルに適した送信手法によりデータを送信するようにしてもよい。例えば、契約番号やパスワードなどの認証情報を送信する際には、送受信部210は、送信データを中継するルータなどにおける認証情報の傍受を防ぐため、POSTメソッドを利用して認証情報を送信する。他方、後述されるマッチングキーなど傍受されてもあまり影響がない情報を送信する際には、送受信部210は、GETメソッドを利用するようにしてもよい。
【0037】
記憶部220は、携帯端末100から送信されるユーザの認証情報の一部と、後述される送信元の携帯端末100のアプリにより実行されているセッションのためのマッチングキーとを関連付けて記憶する。一般に、中継サーバ200が、ユーザの認証情報のすべてを保持することは、セキュリティの観点から好ましくなく、認証情報の一部のみを保持するように構成される。本実施例では、記憶部220は、ユーザの契約番号の一部を記憶し、例えば、契約番号が10桁の英数字から構成される場合、中継サーバ200は、このうちの下7桁のみを保持するよう構成されてもよい。しかしながら、本発明は、これに限定されるものでなく、記憶部220は、認証情報の何れか適切な一部を記憶するようにしてもよい。
【0038】
マッチングキー生成部230は、ウェブサーバ300によってユーザ認証が成功すると、当該アプリのセッションに対するマッチングキーを生成する。マッチングキー生成部230は、例えば、擬似乱数発生手段などを用いてランダムにマッチングキーを生成してもよい。好ましくは、マッチングキー生成部230は、アプリが起動される毎に新たなマッチングキーを生成する。この場合、以前に生成されたマッチングキーは無効とされ、無効とされたマッチングキーは、記憶部220から削除される。
【0039】
契約番号復元部240は、携帯端末100のアプリ実行中にブラウザ起動ボタンが押下され、中継サーバ200が保持する契約番号の残りの部分(上述の例では、契約番号の上3桁)と、アプリ実行中に携帯端末100に送信したマッチングキーとを受信すると、受信したマッチングキーに対応する契約番号の下7桁を抽出し、受信した契約番号の上3桁と抽出した契約番号の下7桁とを合成することによって10桁の契約番号を復元する。しかしながら、本発明は、これに限定されるものでなく、携帯端末100から受信する契約番号の一部と中継サーバ200に保持される契約番号の一部とから、契約番号を復元することを可能にする何れか適切な方法を用いて、契約番号を分割するようにしてもよい。
【0040】
図6は、本発明の一実施例によるウェブサーバの機能構成を示す。
図6に示されるように、ウェブサーバ300は、送受信部310、マッチングキー・契約番号記憶部320、ウェブページ生成部330及び認証部340を有する。
【0041】
送受信部310は、携帯端末100及び中継サーバ200との間で認証情報を含む各種データを送受信する。
【0042】
マッチングキー・契約番号記憶部320は、中継サーバ200から受信した契約番号とマッチングキーとを関連付けて記憶する。中継サーバ200が携帯端末100においてアプリが起動される毎に新たなマッチングキーを生成する場合、マッチングキー・契約番号記憶部320は、以前のマッチングキーを新たに生成されたマッチングキーにより更新するようにしてもよい。
【0043】
また、マッチングキー・契約番号記憶部320は、契約番号とマッチングキーとに関連付けて、当該レコードの作成日時、当該レコードの使用履歴を示すステータスなどの付加情報を格納してもよい。例えば、付加情報として作成日時が記憶されている場合、マッチングキー・契約番号記憶部320は、所定の期間(10分など)が経過すると、マッチングキーを無効にし、当該レコードを削除するようにしてもよい。また、付加情報としてステータスが記憶されている場合、マッチングキー・契約番号記憶部320は、当該マッチングキーが所定の回数(1回など)を超えて使用されると、マッチングキーを無効にし、当該レコードを削除するようにしてもよい。これにより、マッチングキーの不正利用のリスクを低下させることが可能となる。
【0044】
ウェブページ生成部330は、携帯端末100のウェブブラウザ上に表示するウェブページを生成する。ウェブブラウザを起動した携帯端末100からログイン画面URLとマッチングキーとを受信すると、ウェブページ生成部330は、受信したマッチングキーに対応する契約番号を抽出し、抽出した契約番号を埋め込んだログイン画面を生成する。生成されたログイン画面は、送受信部310を介し携帯端末100に提供される。
【0045】
認証部340は、携帯端末100或いは中継サーバ200から受信した契約番号及びパスワードに基づき、ログイン要求したユーザを認証する。具体的には、認証部340は、コンテンツプロバイダがユーザに予め付与した契約番号とパスワードとが、受信した契約番号とパスワードとにそれぞれ一致するか判断することによって、ユーザを認証する。
【0046】
次に、
図7〜11を参照して、本発明の一実施例による認証情報承継処理を説明する。本実施例では、アプリによる認証情報処理と、当該認証情報処理により取得した認証情報を承継するための認証情報承継処理とを説明する。なお、インターネットバンキングを提供するアプリ及びウェブサイトの画面例を参照して認証情報処理及び認証情報承継処理を説明するが、本発明はこれに限定されるものでない。
【0047】
図7は、本発明の一実施例によるアプリにおける認証情報処理を示すシーケンス図である。本実施例では、アプリにおける認証情報処理は、アプリを利用するユーザの携帯端末100、携帯端末100とウェブサーバ300との間を中継し、コンテンツプロバイダにより提供されるサービスをアプリ版に変換する中継サーバ200、及びコンテンツプロバイダのウェブサイトを提供するウェブサーバ300により実現される。なお、本実施例では、コンテンツプロバイダにより提供されるサービスが、アプリ版のサービスを提供する中継サーバ200と、ウェブサイト版のサービスを提供するウェブサーバ300とに分けて提供されるが、本発明はこれに限定されるものでない。例えば、ウェブサーバ300が、アプリ版のサービスとウェブサイト版のサービスとの双方を携帯端末100に提供するようにしてもよい。
【0048】
図7に示されるように、ステップS101において、携帯端末100のユーザが、ウェブサーバ300のコンテンツプロバイダにより提供されているアプリを起動する。本実施例によるアプリは、コンテンツプロバイダに予め登録されたユーザのみが利用可能とされる。コンテンツプロバイダのアプリ及びウェブサイトを利用するのに必要なユーザの認証情報は、何れかセキュアな方法によりコンテンツプロバイダから付与される。例えば、ユーザの認証情報は、ユーザがコンテンツプロバイダに登録した際に、ネットワークを介してユーザに提供されてもよい。あるいは、より好ましくは、ユーザの認証情報は、郵送などネットワーク経由と異なる方法によりユーザに提供されてもよい。コンテンツプロバイダからダウンロードしたアプリを最初に起動する場合、ユーザは、コンテンツプロバイダから提供された契約番号及びパスワードなどの認証情報を入力することによって、サービスを利用することが可能となる。
【0049】
ステップS102において、起動されたアプリは、ユーザに契約番号及びパスワードを入力するよう要求する。例えば、アプリは、初回起動時には、
図9(a)に示されるような初回起動時の画面を表示し、ユーザに契約番号とパスワードとを入力するよう要求する。
【0050】
ステップS103において、携帯端末100は、入力された契約番号とパスワードとを中継サーバ200に送信する。例えば、
図9(b)に示されるように、ユーザが契約番号とパスワードとを入力すると、携帯端末100は、入力された契約番号とパスワードとを中継サーバ200に送信する。好ましくは、契約番号とマッチングキーとは、SSL(Secure Socket Layer)などの何れかセキュアな方法により送信される。
図9(a)及び(b)に示されるように、入力されたパスワードは、何れか適切な方法により画面上に表示されないようにしてもよい。また、ユーザが以降におけるアプリへの契約番号の再入力を省略したい場合、携帯端末100は、入力された契約番号またはその一部を保存してもよい。
【0051】
ステップS104において、中継サーバ200は、受信した契約番号の一部を記憶する。上述したように、中継サーバ200が、契約番号の全体を保持することはセキュリティの観点から好ましくないためである。本実施例では、契約番号は10桁の英数字から構成され、中継サーバ200は、受信した契約番号の下7桁を記憶する。
【0052】
ステップS105において、中継サーバ200は、受信した契約番号とパスワードとをウェブサーバ300に転送する。
【0053】
ステップS106において、ウェブサーバ300は、受信した契約番号とパスワードとに基づき携帯端末100のユーザを認証する。具体的には、ウェブサーバ300は、コンテンツプロバイダが付与した契約番号とパスワードとが、受信した契約番号とパスワードとにそれぞれ一致するか判断することによって、ユーザを認証する。
【0054】
ステップS107において、ユーザ認証が成功すると、ウェブサーバ300は、ログイン応答を中継サーバ200に送信する。例えば、ウェブサーバ300は、ユーザ認証が成功したことを示すログイン応答と共に、当該ユーザに関する基本情報(インターネットバンキングの例では、ユーザ名や残高合計など)を送信するようにしてもよい。
【0055】
ステップS108において、中継サーバ200は、ログイン応答を受信すると、当該アプリのセッションに対してマッチングキーを生成し、ステップS104において記憶された契約番号の下7桁と関連付けて生成したマッチングキーを記憶する。マッチングキーは、擬似乱数発生手段などを用いてランダムに生成するなど、何れか適切な方法により生成されてもよい。
【0056】
ステップS109において、中継サーバ200は、ログイン応答と生成したマッチングキーとを携帯端末100に送信する。また、ユーザに関する基本情報を受信している場合、中継サーバ200は、受信した基本情報も携帯端末100に送信するようにしてもよい。
【0057】
ステップS110において、携帯端末100は、ログイン応答を受信すると、認証が成功したことを確認し、ログイン後のアプリのトップ画面を表示すると共に、受信したマッチングキーを記憶する。携帯端末100がユーザの基本情報を受信している場合、例えば
図9(c)に示される画面例のようなログイン後のトップ画面が表示される。ユーザは、表示されたトップ画面を操作して、所望のサービスを利用することが可能となる。ここで、
図9に示されるインターネットバンキングのアプリの実施例では、各種インターネットバンキングサービスのうち、「振込」、「残高照会」及び「入出金明細照会」サービスを提供している。ウェブサイトでは、その他の取引サービスも提供されており、ユーザが、「振込」、「残高照会」及び「入出金明細照会」サービス以外のサービスを所望し、「その他の取引(ブラウザ起動)」ボタンを押下すると、携帯端末100は、ウェブブラウザを起動し、当該コンテンツプロバイダのウェブサイトに移行することができる。
【0058】
上述した処理は、最初にアプリを起動する際の認証処理であり、2回目以降の起動では、ユーザの利便性を考慮して入力操作を軽減するようにしてもよい。例えば、携帯端末100は、アプリの最初の起動の際にステップS101で入力された契約番号あるいはその一部を記憶し、2回目以降の起動では、ステップS102において、アプリは、
図10の画面例に示されるように、ユーザにパスワードのみを入力させるようにしてもよい。
【0059】
また、アプリの最初の起動時には、ステップS103において、携帯端末100は、契約番号とパスワードとを中継サーバ200に送信したが、2回目以降の起動では、携帯端末100は、前回のアプリ起動時に中継サーバ200から受信したマッチングキーと、中継サーバ200に保持されていない契約番号の残りの部分とを送信するようにしてもよい。図示された実施例では、契約番号は10桁の英数字から構成され、中継サーバ200はこのうち下7桁の契約番号を保持している。この場合、携帯端末100は、前回受信したマッチングキーと、下7桁の契約番号に対応する上3桁の契約番号とを中継サーバ200に送信するようにしてもよい。中継サーバ200は、受信したマッチングキーに対応する下7桁の契約番号と受信した上3桁の契約番号とから10桁の契約番号を復元し、ステップS105において、ウェブサーバ300に送信することができる。
【0060】
図8は、本発明の一実施例によるアプリからウェブサービスへの認証情報承継処理を示すシーケンス図である。本実施例では、アプリからウェブサービスへの認証情報承継処理は、携帯端末100、中継サーバ200及びウェブサーバ300により実現されるアプリにおける処理と、携帯端末100及びウェブサーバ300により実現されるウェブサービスにおける処理とから構成される。
【0061】
図8に示されるように、ステップS201において、アプリ実行中、ユーザは、アプリでは提供されていないが、当該コンテンツプロバイダのウェブサイトでは提供されているサービスを利用することを所望し、ブラウザ起動ボタンを押下する。
図11(a)に示される例では、ユーザは、「その他の取引(ブラウザ起動)」ボタンを押下する。
【0062】
ステップS202において、携帯端末100は、保持している契約番号の一部、本実施例では、契約番号の上3桁と、保持しているマッチングキーとを中継サーバ200に送信する。
【0063】
ステップS203において、中継サーバ200は、受信したマッチングキーに対応する契約番号の下7桁を抽出し、受信した契約番号の上3桁と抽出した契約番号の下7桁とから10桁の契約番号を復元する。
【0064】
ステップS204において、中継サーバ200は、復元した契約番号と受信したマッチングキーとをウェブサーバ300に送信する。好ましくは、この送信は、POSTメソッドにより実行され、中継サーバ200は、POSTメソッドのボディ部に契約番号とマッチングキーとを埋め込むことによって、契約番号とマッチングキーとをセキュアに送信することができる。
【0065】
ステップS205において、ウェブサーバ300は、中継サーバ200から契約番号とマッチングキーとを受信すると、受信した契約番号とマッチングキーとを関連付けて記憶する。ウェブサーバ300は、契約番号とマッチングキーとに関連付けて、当該レコードの作成日時、当該レコードの使用履歴を示すステータスなどの付加情報を格納してもよい。例えば、付加情報として作成日時が記憶されている場合、ウェブサーバ300は、所定の期間(10分など)が経過すると、マッチングキーを無効にし、当該レコードを削除するようにしてもよい。また、付加情報としてステータスが記憶されている場合、ウェブサーバ300は、当該マッチングキーが所定の回数(1回など)を超えて使用されると、マッチングキーを無効にし、当該レコードを削除するようにしてもよい。これにより、マッチングキーの不正利用のリスクを低下させることが可能となる。
【0066】
ステップS206において、ウェブサーバ300は、携帯端末100によるアプリからウェブサービスへの移行を許可するブラウザリダイレクト応答を中継サーバ200に送信する。
【0067】
ステップS207において、中継サーバ200は、受信したブラウザリダイレクト応答を携帯端末100に転送し、携帯端末100との間のアプリのセッションを終了してもよい。
【0068】
ステップS208において、携帯端末100は、ブラウザリダイレクト応答を中継サーバ200から受信すると、中継サーバ200とのアプリのセッションを終了すると共に、ウェブブラウザを起動して当該コンテンツプロバイダのウェブサイトにリダイレクトする。
【0069】
ステップS209において、携帯端末100は、リダイレクトしたウェブサイトのログイン画面URLと保持しているマッチングキーとをウェブサーバ300に送信する。この送信は、GETメソッドにより実行されてもよい。マッチングキーの有効期限及び/又は有効使用回数が制限されている場合、マッチングキーがGETメソッドによりログイン画面URLに付属され、中継するルータ上で傍受されたとしても、セキュリティ上の大きな影響を受けないと考えられるためである。
【0070】
ステップS210において、ウェブサーバ300は、受信したマッチングキーに対応する契約番号を抽出し、抽出した契約番号が埋め込まれたログイン画面を生成する。例えば、ウェブサーバ300は、
図11(b)に示されるようなウェブブラウザログイン画面を生成するようにしてもよい。
【0071】
ステップS211において、ウェブサーバ300は、生成された契約番号が埋め込まれたログイン画面を携帯端末100に送信する。
【0072】
ステップS212において、携帯端末100は、
図11(b)に示されるような画面を表示することによって、契約番号が埋め込まれたログイン画面にパスワードを入力するようユーザに要求する。
【0073】
ステップS213において、携帯端末100は、埋め込まれた契約番号とユーザにより入力されたパスワードとをウェブサーバ300に送信する。ステップS204と同様に、当該送信は、好ましくはPOSTメソッドにより実行され、契約番号とパスワードとをセキュアに送信するようにしてもよい。
【0074】
ステップS214において、ウェブサーバ300は、受信した契約番号とパスワードとに基づき、ユーザを認証する。具体的には、ウェブサーバ300は、コンテンツプロバイダが付与した契約番号とパスワードとが、受信した契約番号とパスワードとにそれぞれ一致するか判断することによって、ユーザを認証する。
【0075】
ステップS215において、ウェブサーバ300は、ユーザ認証が成功すると、携帯端末100にログイン応答を送信する。携帯端末100は、認証成功したことを確認し、ログイン後のウェブサイトのトップ画面を表示する。ユーザは、ウェブブラウザ上に表示されたトップ画面を操作して、所望のページにアクセスすることが可能となる。
【0076】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。