(58)【調査した分野】(Int.Cl.,DB名)
ユーザが利用する閲覧端末と、前記閲覧端末の処理を認証する認証端末と、前記閲覧端末と前記認証端末との接続を中継する中継サーバとを備える認証システムに用いられる認証方法であって、
認証端末のアドレスが、アドレス変換サーバによって変換される場合、
閲覧端末が、前記認証端末の識別子である識別子データを記憶するステップと、
前記認証端末が、前記アドレス変換サーバを経由して中継サーバに接続して、認証端末の識別子を送信するステップと、
前記中継サーバが、前記認証端末の識別子と、前記アドレス変換サーバによって変換された変換後アドレスとを対応づけて記憶するステップと、
前記認証端末が、前記中継サーバに接続し、前記中継サーバが応答を待機するステップと、
前記閲覧端末が、認証要求と、前記認証端末の識別子を、前記中継サーバに送信するステップと、
前記中継サーバが前記認証端末への応答を待機する間に、前記閲覧端末から、前記認証要求と前記認証端末の識別子を受信すると、受信した認証端末の識別子に対応づけられた変換後アドレスに基づいて、前記認証端末に、前記認証要求をプッシュ通信で送信するステップと、
前記認証端末が、前記認証要求を受信すると、前記ユーザによって入力された認証情報を認証し、その認証結果を前記中継サーバに送信するステップと、
前記中継サーバが前記認証結果を受信すると、前記閲覧端末に前記認証結果を送信するステップと、
前記閲覧端末が、前記認証結果を受信すると、認証された処理を実行するステップ
を備えることを特徴とする認証方法。
【発明を実施するための形態】
【0021】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【0022】
(実施の形態)
本発明の実施の形態に係る認証システム9は、
図1に示すように、閲覧端末1、認証端末2およびサービス提供サーバ3を備える。閲覧端末1、認証端末2およびサービス提供サーバ3は、インターネットなどの通信ネットワーク8を介して相互に通信可能に接続する。
【0023】
サービス提供サーバ3は、メールサーバなどであって、閲覧端末1にサービスを提供するサーバである。サービス提供サーバ3は、一般的なコンピュータが、所定の機能を実現するためのプログラムを実行することにより、実装される。
【0024】
閲覧端末1は、サービス提供サーバ3に接続し、ユーザが利用する端末である。閲覧端末1および認証端末2は、パーソナルコンピュータ、携帯電話機、スマートフォンなどの一般的なコンピュータが、所定の機能を実現するためのプログラムを実行することにより、実装される。
【0025】
閲覧端末1は、サービス提供サーバ3に接続し、当該サービス提供サーバ3から、認証要求を受信すると、その旨を認証端末2に通知する。また閲覧端末1は、認証端末2が認証結果を入力すると、その認証端末2を認証するとともに、認証端末2が入力した認証結果をサービス提供サーバ3に送信する。本発明の実施の形態で説明する閲覧端末1の機能は、サービスを享受するアプリケーションに実装されても良い。またブラウザでサービスを享受する場合、閲覧端末1の機能は、ブラウザと連携可能なアプリケーションや、ブラウザと連携可能なHTMLやJava Script(登録商標)などで記載されたプログラムなどで実装されても良い。
【0026】
認証端末2は、閲覧端末1から認証要求が入力されると、閲覧端末1を認証するとともに、ユーザに認証情報を入力させる画面を表示する。認証端末2はさらに、ユーザによって入力された認証情報を認証し、その認証結果を閲覧端末1に入力する。本発明の実施の形態で説明する認証端末2の機能は、情報端末が有する認証アプリケーションにより実現されても良い。
【0027】
本発明の実施の形態に係る認証システム9において認証端末2は、ユーザが利用するあらゆる閲覧端末1が、サービス提供サーバ3のサービスを享受するための認証を請け負う。従って、認証端末2は、スマートフォン、タブレット端末など、可搬性の高いコンピュータであることが好ましいい。一方閲覧端末1は、サービスを享受できればよく、パーソナルコンピュータなどであっても良い。特に閲覧端末1は、認証情報を入力することがないので、共有端末であっても良い。
【0028】
また本発明の実施の形態に係る認証システム9は、閲覧端末1が、認証端末2のIPアドレスを予め把握しているなどにより、認証端末2と相互に通信可能である場合を想定する。
【0029】
また本発明の実施の形態においては、閲覧端末1と認証端末2のユーザは、同一ユーザである場合を想定するが、これに限られない。例えば、認証端末2のユーザは、閲覧端末1のユーザの上司であっても良く、閲覧端末2のユーザがサービスを享受するための認証を、ユーザの上司がする場合に適用しても良い。
【0030】
(認証方法)
図2を参照して、本発明の実施の形態に係る認証方法を説明する。本発明の実施の形態に係る認証方法において、閲覧端末1および認証端末2は予めペアリングされ、共通鍵データを共有する。例えば、閲覧端末1が共通鍵データを生成して、表示装置に、共通鍵データの二次元バーコードを表示する。そこでユーザは認証端末2のカメラ機能を用いてこの二次元バーコードを読み取ることで、閲覧端末1が生成した共通鍵データを共有することができる。また閲覧端末1および認証端末2は、近距離通信等の技術を用いて共通鍵を共有しても良い。
【0031】
さらに、
図2に示すシーケンス図には示していないが、閲覧端末1および認証端末2間のメッセージの機密性を確保するため、署名に用いる共通鍵データのみではなく、暗号化に用いる共通鍵も交換しても良い。この場合、閲覧端末1および認証端末2は、互いにデータを送信する際、暗号化に用いる共通鍵で暗号化し、データを受信した場合、この共通鍵で復号する。
【0032】
まずステップS1において、閲覧端末1は、サービス提供サーバ3に接続し、サービスの利用要求を送信する。これに対しサービス提供サーバ3はステップS2において、閲覧端末1に対し、認証要求を送信する。ここでサービス提供サーバ3は、サービスの利用に必要な属性値の項目も、閲覧端末1に送信しても良い。
【0033】
閲覧端末1は、サービス提供サーバ3から認証要求を受信すると、ステップS3において、第1の認証コードを生成する。この第1の認証コードは、認証端末2と共有する共通鍵データで署名されたものである。具体的には、第1の認証コードは、タイムスタンプ、呼び出し元の閲覧端末1の識別子および共通鍵データのハッシュ値である。
【0034】
ステップS4において、閲覧端末1は、このように生成した第1の認証コード、タイムスタンプおよび閲覧端末1の識別子と、認証要求を、予め記憶した認証端末2のアドレスに基づいて、認証端末2に送信する。ステップS2においてサービス提供サーバ3から必要な属性項目が送信された場合、閲覧端末1は、その属性項目も認証端末2に送信する。
【0035】
ステップS5において認証端末2は、認証要求を受信すると、閲覧端末1を認証する。具体的には認証端末2は、第1の認証コードを自身が保持する共通鍵データで検証する。検証できた場合、認証端末2は、ユーザに認証情報を入力させる画面を表示するとともに、認証情報を認証する。認証端末2は、認証端末2内で保持する公開鍵に対応する秘密鍵を用いて、認証結果を署名する。ここで、認証端末2は、属性項目も受信した場合、その指定された属性項目に対応する属性値を抽出し、抽出した属性値も認証結果とあわせて秘密鍵を用いて署名する。さらに認証端末2は、第2の認証コードを生成する。この第2の認証コードは、閲覧端末1と共有する共通鍵データで署名されたものである。具体的には、第2の認証コードは、タイムスタンプ、呼び出し元の認証端末2の識別子および共通鍵データのハッシュ値である。
【0036】
ステップS6において認証端末2は、このように秘密鍵で署名された認証結果、第2の認証コードなどと公開鍵を、閲覧端末1に送信する。
【0037】
ステップS7において閲覧端末1は、認証結果を受信すると、第2の認証コードを自身が保持する共通鍵データで検証する。検証できた場合、ステップS8において閲覧端末1は、認証端末2から入力された秘密鍵で署名された認証結果などと公開鍵を、サービス提供サーバ3に送信する。
【0038】
ステップS9においてサービス提供サーバ3は、認証結果を検証する。具体的には、サービス提供サーバ3は、受信した公開鍵を使って、秘密鍵で署名された認証結果などを検証する。ここで検証できれば、この認証結果は、この公開鍵を有するユーザによって署名されたものと、サービス提供サーバ3は、判定することができる。この場合、サービス提供サーバ3は、閲覧端末1および認証端末2を認証できたとして、ステップS10において閲覧端末1にサービスを提供する。
【0039】
ここでサービス提供サーバ3は、閲覧端末1から送信された公開鍵を、ユーザ識別子として用いても良い。また、ステップS8において閲覧端末1が属性値も秘密鍵で署名して送信した場合、サービス提供サーバ3は、属性値の内容も併せて検証しても良い。
【0040】
このように本発明の実施の形態に係る認証方法は、ユーザが入力した認証情報を、通信ネットワーク8に流すことなく、認証端末2内で認証するので、認証情報のフィッシングや漏洩を回避することができる。また、ユーザは、複数のサービスを利用する場合でも、認証端末2に同じ認証情報を入力すれば良いので、各サービスの認証情報を管理する必要がない。認証端末2は、さらにその認証結果を、秘密鍵で署名して、この秘密鍵に対応する公開鍵とともに、閲覧端末1に送信し、閲覧端末1がサービス提供サーバ3に送信する。これにより、秘密鍵が漏洩しない限り、なりすましを防止することができる。
【0041】
また、
図1に示す例では、サービス提供サーバ3がサービスの提供に必要な属性項目を送信する場合を説明したがこれに限られない。例えば、閲覧端末1または認証端末2が、予めサービスの識別子と、このサービスの享受に用いる属性項目とを対応づけたサービス属性データを保持する。閲覧端末1がサービスを享受する際、このサービス属性データに基づいて必要な属性値を抽出し、抽出した属性値を、認証結果とともにサービス提供サーバ3に送信しても良い。また、属性値と認証結果は、
図1に示したように、同じタイミングで送信しても良いし、異なるタイミングで送信しても良い。
【0042】
(閲覧端末)
図3を参照して、本発明の実施の形態に係る閲覧端末1を説明する。閲覧端末1は、中央処理制御装置110、記憶装置120、通信制御装置130、入力装置(図示せず)、表示装置(図示せず)などを備える。
【0043】
通信制御装置130は、閲覧端末1が通信ネットワーク8に接続するためのインタフェースである。記憶装置120は、閲覧端末1が保持するデータを記憶したり、処理中のデータを一時的に記憶したりする。中央処理制御装置110は、閲覧端末1の処理を制御する。入力装置は、ユーザの操作情報を中央処理制御装置110に入力する。表示装置は、中央処理制御装置110の処理結果をユーザが認識できるように表示する。入力装置および表示装置は、タッチ機能付きの表示装置であっても良い。閲覧端末1は、所定のプログラムを実行することにより、
図3に示す各手段および各データを実装する。
【0044】
記憶装置120は、共通鍵データ121および認証アドレスデータ122を記憶する。共通鍵データ121は、認証端末2と共有する鍵のデータである。認証アドレスデータ122は、認証端末2のアドレスのデータであって、例えばIPアドレスおよびポート番号の組み合わせである。
【0045】
中央処理制御装置110は、共通鍵生成手段111、利用要求手段112、認証要求手段113および認証結果送信手段(認証結果処理手段)114を備える。
【0046】
共通鍵生成手段111は、所定のアルゴリズムで、共通鍵データ121を生成して記憶装置120に記憶する。その後共通鍵生成手段111は、生成した共通鍵データ121を認証端末2と共有する。具体的には、共通鍵生成手段111は、閲覧端末1の表示装置に、共通鍵データ121を表示する。ここで共通鍵生成手段111は、共通鍵データ121を二次元バーコードに変換し、認証端末2のカメラなどに読み取らせる。
【0047】
利用要求手段112は、ユーザが閲覧アプリケーションを起動した場合など、サービス提供サーバ3に接続し、サービス提供サーバ3から、認証要求を受信する。ここで利用要求手段112の処理は、
図2のステップS1およびステップS2の処理に相当する。
【0048】
認証要求手段113は、サービス提供サーバ3から認証要求を受信すると、認証アドレスデータ122に基づいて認証端末2に認証要求を送信するとともに、認証端末2から、認証結果を受信する。ここで認証要求手段113は、タイムスタンプ、呼び出し元の閲覧端末1の識別子および共通鍵データのハッシュ値を、第1の認証コードとして生成する。認証要求手段113は、サービス提供サーバ3から認証要求を受信した旨と、タイムスタンプと、呼び出し元の閲覧端末1の識別子と、第1の認証コードを、認証アドレスデータ122に基づいて、認証端末2に送信し、その認証結果を受信する。認証要求手段113は、自身が保有する共通鍵データ121で、認証端末2から受信した第2の認証コードを検証する。具体的には認証要求手段113は、タイムスタンプと、呼び出し元の認証端末2の識別子と、第2の認証コードを受信すると、これらの情報から、第2の認証コードを検証する。認証できた場合、認証要求手段113は、認証結果送信手段114にその旨を入力する。認証要求手段113の処理は、
図2のステップS3、ステップS4、ステップS6およびステップS7の処理に相当する。ここで、サービス提供サーバ3からサービスの提供に必要な属性項目が入力されると、認証要求手段113は、その必要な属性項目も、認証端末2に入力し、その結果を受信する。
【0049】
認証結果送信手段114は、認証端末2から第2の認証コードを検証できた旨が入力されると、その認証結果をサービス提供サーバ3に送信する。認証結果送信手段114は、認証端末2から受信したデータの宛先を変更して、サービス提供サーバ3に送信する。この結果、サービス提供サーバ3において認証結果が検証され、その結果によって閲覧端末1にサービスの提供が開始される。認証結果送信手段114の処理は、
図2のステップS8およびステップS10の処理に相当する。
【0050】
(認証端末)
図4を参照して、本発明の実施の形態に係る認証端末2を説明する。認証端末2は、中央処理制御装置210、記憶装置220、通信制御装置230、入力装置(図示せず)、表示装置(図示せず)などを備える。認証端末2は、指紋センサや動きセンサなど、認証に必要な装置も備える。
【0051】
通信制御装置230は、認証端末2が通信ネットワーク8に接続するためのインタフェースである。記憶装置220は、認証端末2が保持するデータを記憶したり、処理中のデータを一時的に記憶したりする。中央処理制御装置210は、認証端末2の処理を制御する。入力装置は、ユーザの操作情報を中央処理制御装置210に入力する。表示装置は、中央処理制御装置210の処理結果をユーザが認識できるように表示する。入力装置および表示装置は、タッチ機能付きの表示装置であっても良い。認証端末2は、所定のプログラムを実行することにより、
図4に示す各手段および各データを実装する。
【0052】
記憶装置220は、公開鍵データ221、秘密鍵データ222、共通鍵データ223、属性データ224、サービス管理データ225およびペルソナ管理データ226を記憶する。
【0053】
公開鍵データ221は、認証端末2を利用するユーザを一意に識別可能な文字列のデータである。公開鍵データ221は、このユーザを識別するために、他のサーバ等に送信される。秘密鍵データ222は、公開鍵とペアとなる秘密鍵のデータであって、公開鍵と異なり外部に流出されることはない。認証端末2は、ユーザの属性値などのデータを秘密鍵で署名して、公開鍵とともにサービス提供サーバ3に送信する。サービス提供サーバ3は、公開鍵を使って署名されたデータを検証できた場合、そのデータを署名したのが、公開鍵に対応する秘密鍵を持つユーザであると判定する。
【0054】
ここで公開鍵は、サービス毎に異なっていても良い。その場合公開鍵データ221は、サービスの識別子と、そのサービスで用いる公開鍵を対応づけて保持する。また秘密鍵データ222も、サービスの識別子と、そのサービスで用いる公開鍵とペアとなる秘密鍵を対応づけて保持する。
【0055】
共通鍵データ223は、認証端末2に認証を要求する閲覧端末1と共有する共通鍵のデータである。認証端末2と閲覧端末1をペアリングする際、認証端末2は、閲覧端末1が表示する共通鍵の二次元バーコードを撮影するなどにより、共通鍵を取得し、記憶装置220に記憶する。
【0056】
属性データ224は、ユーザの名前、住所、年齢など、ユーザの属性に関する属性項目とその属性値とを対応づけた属性情報に関するデータである。属性データ224は、ユーザが自発的に入力した値のみならず、サービス提供者が信頼する第三者が発行した電子証明書のデータや、その電子証明書を保持するサーバのアドレスなどの情報を含んでも良い。
【0057】
サービス管理データ225は、サービスの識別子と、そのサービスの享受に用いるペルソナの識別子とを対応づけたデータである。サービス管理データ225はさらに、サービスを提供するサービス提供サーバのアドレス、サービスのサイトポリシー、リンク先など、サービスに関連する情報を対応づけて保持しても良い。ペルソナ管理データ226は、ペルソナの識別子と、このペルソナに対応づけるユーザの属性値とを対応づけたデータである。
【0058】
中央処理制御装置210は、認証要求受付手段211、認証手段212、属性処理手段213、サービス管理手段214およびペルソナ管理手段215を備える。
【0059】
認証要求受付手段211は、閲覧端末1からの要求を受けて、認証手段212を呼び出す。認証要求受付手段211の処理は、
図2のステップS4に相当する。
【0060】
認証手段212は、閲覧端末1から認証要求を受信すると、認証要求受付手段211からの呼出を受けて、ユーザによって入力された認証情報を認証し、その認証結果を閲覧端末1に送信する。認証手段212の処理は、
図2のステップS5およびステップS6に相当する。
【0061】
認証手段212は、自身が保有する共通鍵データ223で、閲覧端末1から受信した第1の認証コードを検証する。具体的には認証手段212は、タイムスタンプと、呼び出し元の閲覧端末1の識別子と、第1の認証コードを受信すると、これらの情報から、第1の認証コードを検証する。認証できた場合、認証手段212は、ユーザに認証情報を入力させる画面を表示するとともに、入力された認証情報を認証する。認証手段212は、入力された認証情報が認証された場合、タイムスタンプ、呼び出し元の認証端末2の識別子および共通鍵データのハッシュ値を、第2の認証コードとして生成する。認証手段212は、タイムスタンプと、呼び出し元の認証端末2の識別子と、第2の認証コードと、認証端末2を利用するユーザの公開鍵データ221と、認証結果を秘密鍵で署名したデータとを閲覧端末1に送信する。ここで、サービス毎に公開鍵が異なる場合、認証手段212は、認証対象のサービスに対応する公開鍵および秘密鍵を用いる。
【0062】
また、認証手段212は、入力された認証情報を認証できた場合であって、閲覧端末1が属性項目の情報も入力した場合や、閲覧端末1からサービスの識別子が入力された場合、属性処理手段213に必要な属性値を取得させる。このとき属性処理手段213は、サービスの享受に用いる属性値を抽出し、閲覧端末1に返す。認証手段212は、認証結果と属性値を秘密鍵で署名したデータを、公開鍵とともに、閲覧端末1に送信する。
【0063】
ここで認証手段212がユーザを認証する方式は、認証端末2が実施可能な方式であればいずれでも良い。認証方式としては例えば、IDおよびパスワードの入力装置またはICカードなどによる入力、指紋認証や音声認証などの生体認証、所定のパターン入力、加速度センサを用いたシェイクジェスチャなどである。いずれの認証方式で認証するか、また比較の対象となるユーザの認証情報は、予め認証端末2の記憶装置220に記憶される。また、サービス毎に異なる認証方式が、予め設定され、サービス内容に応じて認証強度を設定しても良い。
【0064】
属性処理手段213は、認証手段212からの要請に応じて、所定の属性項目の属性値を取得し、認証手段212に返す。属性処理手段213は、属性データ224、サービス管理データ225およびペルソナ管理データ226を参照して、サービスの享受に必要な属性値を取得する。
【0065】
他の実装方法として、認証端末2が、サービスの識別子と、そのサービスの享受に用いる属性項目とを対応づけたサービス属性データを保持する場合も考えられる。この場合、閲覧端末1は、認証端末2に、利用対象のサービスの識別子を入力する。認証端末2は、入力されたサービスの識別子に対応する属性値を取得して、その結果を返す。ユーザ端末1がサービス属性データを保持する場合、閲覧端末1は、サービス提供サーバ3に都度アクセスし、サービス属性データを最新の状態になるように維持管理する。なお、サービス提供サーバ3に、公開鍵で暗号化してデータを送信する場合、サービス属性データはさらに、サービスの識別子と、このサービスで用いる公開鍵とを対応づけて保持する。
【0066】
サービス管理手段214は、サービス管理データ225を維持管理するとともに、ユーザの操作によって、サービス管理データ225を更新し、サービス提供サーバ3に、当該サービス提供サーバ3に送信した属性値の登録、削除、変更などを要求する。またサービス管理手段214は、サービス提供サーバ3におけるユーザのアカウントの登録、変更、削除などを要求する。
【0067】
ペルソナ管理手段215は、ペルソナ管理データ226を維持管理する。ペルソナ管理手段215は、ペルソナ管理データ226を更新し、また必要に応じてサービス提供サーバ3に、当該サービス提供サーバに送信した属性値の変更を要求する。
【0068】
(認証処理)
ここで
図5および
図6を参照して、認証端末2の認証手段212を詳述する。
図6に示す画面の遷移において上段は、閲覧端末1が表示する画面で、下段は、認証端末2が表示する画面である。
【0069】
まずユーザが閲覧端末1でサービスを享受するアプリケーションを起動すると、閲覧端末1は、
図6に示す認証選択画面P101を表示する。認証選択画面P101は、サービス提供サーバ3側で認証するか、閲覧端末1側で認証するか(パーソナル認証)を選択することができる。ユーザがパーソナル認証を選択する場合、閲覧端末1は、第1の認証コードを生成するとともに、認証端末2を呼び出し、本発明の実施の形態に係る認証手段212による認証が開始する。
【0070】
そこで
図5のステップS101において、認証手段212は、閲覧端末1より認証要求を受信すると、ステップS102において、第1の認証コードを検証する。検証できなかった場合、ステップS114に進む。ステップS114において認証手段212は、認証できなかった旨を閲覧端末1に返す。認証できた場合、ステップS104において認証手段212は、予め設定された認証方式を取得する。ステップS105において認証手段212は、ステップS104で取得した認証方式を実現するための認証画面P201を表示装置に表示する。
図6に示す認証画面P201は、ユーザにPINコードを入力させる画面である。
【0071】
ステップS106において認証手段212は、認証情報の入力を待機する。一定時間経過しても認証情報が入力されなかった場合、ステップS114に進む。ステップS114において認証手段212は、認証できなかった旨を閲覧端末1に返す。
【0072】
一方、認証情報が入力された場合、具体的には
図6に示す例の場合PINコードが入力された場合、ステップS107において認証手段212は、入力された認証情報と、予め保持している認証情報とを比較し検証する。その結果、ステップS108において認証できない場合、ステップS114に進む。ステップS114において認証手段212は、認証できなかった旨を閲覧端末1に返す。
【0073】
ステップS108において認証できる場合、ステップS109において認証情報は、閲覧端末1のサービスの享受に必要な、属性情報を取得する。ステップS110において認証手段212は、
図6に示す送信確認画面P202を表示装置に表示する。送信確認画面P202は、ステップS109で抽出した属性情報を、サービス提供サーバ3に送信してよいか否を、ユーザに問い合わす画面である。ここで、「いいえ」が選択されると、ステップS111において認証手段212は、送信できないと判断し、ステップS114に進む。ステップS114において認証手段212は、認証できなかった旨を閲覧端末1に返す。
【0074】
送信確認画面P202において「はい」が選択されると、ステップS112において認証手段212は、送信できると判断し、第2の認証コードを生成し、ステップS113に進む。
【0075】
ステップS113において認証手段212は、認証できた旨の認証結果と、ステップS109で抽出した属性情報とを、秘密鍵データ222で署名する。さらに認証手段212は、ステップS112で生成した第2の認証コードと、公開鍵データ221と、署名した認証結果と属性情報を、閲覧端末1に返す。
【0076】
閲覧端末1は、第2の認証コードを検証できた場合、ステップS113またはステップS114で認証手段212から入力されたデータを、サービス提供サーバ3に送信する。サービス提供サーバ3が、公開鍵データで認証結果を検証でき、かつその認証結果が認証できた旨を示す場合、
図6に示すサービス提供画面P102を閲覧端末1に表示するなどして、閲覧端末1にサービスを提供する。
【0077】
このように、本発明の実施の形態に係る認証方法は、サーバが認証情報を管理することなくユーザを認証することを可能とする。
【0078】
一般的に、個々のサービスで個別にパスワードを設定したとしても、ユーザが自身の意思でパスワードを設定する限り、そのパスワードに偏りができ、辞書攻撃などを受けやすくなる。またどの端末からサービス提供サーバ3にアクセスしても、IDおよびパスワードが合致している限り認証されてしまい、パスワードの漏洩による影響が大きくなる。またSSL等で保護されているとしても、通信ネットワーク8上にパスワードが流れてしまうことになり、抵抗を感じるユーザもいる。
【0079】
これに対し本発明の実施の形態に係る認証方法は、どのような端末でサービスを享受しようとも、閲覧端末1内で認証を完結させ、その結果をサービス提供サーバ3に送信する。これにより、サービス提供側は認証サーバを設ける必要がなく、また認証情報の管理が不要となるので、情報の漏洩を防ぎやすくなる。また本発明の実施の形態に係る認証方法は、各サービスに共通の認証方法を一つ設けることになるので、ユーザは各サービスに固有の認証方法を管理する必要がない。これに伴い、ユーザは認証方法を複雑な、かつ、より強固なものに設定することができる。
【0080】
また本発明の実施の形態に係る認証方法は、秘密鍵が漏洩しない限り、この秘密鍵を保持する閲覧端末1でのみ、サービス提供サーバ3からのサービスを享受できる。従って、第三者が悪用するには、認証方法の盗用のみならず、秘密鍵の漏洩または認証端末2の入手が必要となり、多要素認証を実現することができる。また秘密鍵が通信ネットワーク8上で送受信されないので、秘密鍵の漏洩も回避することができる。
【0081】
また認証端末2を紛失した場合でも、パスワードの流出に比べて、ユーザが即時気づくことが期待できる。その場合、端末の遠隔ロックなどを用いて、情報の流出を回避することができる。
【0082】
また本発明の実施の形態に係る認証方法は、認証端末2と、複数の閲覧端末1とをペアリングし、認証端末2に認証情報を入力する。これにより、ユーザが共有端末でサービスを享受する場合でも、認証情報を入力するのは認証端末2であるので、共有端末での認証方法の漏洩等を回避することができる。また、閲覧端末1から社内ネットワークにアクアセスしたい場合なども、社内ネットワークのゲートウェイをサービス提供サーバ3とし、認証端末2に、閲覧端末1から社内ネットワークへの接続を認証させても良い。これにより、特定の認証端末2に認証させることができるので、セキュリティを向上させることができる。
【0083】
このように本発明の実施の形態に係る認証方法は、サーバが認証情報を管理することなくユーザを認証することができる。
【0084】
(第1の変形例)
第1の変形例においては、
図7に示すように、認証端末2aがモバイルキャリアネットワーク7および通信ネットワーク8を介して、閲覧端末1aに接続する場合を説明する。アドレス変換サーバ6は、いわゆるキャリアグレードナット(CGN:Carrier-Grade NAT)機能を実現する。この場合、認証端末2aは、モバイルキャリアネットワーク7におけるアドレス変換サーバ6により、割り当てられるIPアドレスおよびポート番号が都度変更される。
【0085】
本発明の実施の形態において認証端末2は、閲覧端末1に対して認証するサーバとして機能する。従って、閲覧端末1が認証端末2に適宜アクセスできるように、閲覧端末1は、認証端末2のアドレスを把握する必要がある。しかしながら第1の変形例においては、認証端末2aのアドレスがアドレス変換サーバ6により任意に割り当てられるため、閲覧端末1aは、アドレス変換サーバ6により割り当てられたアドレスを、随時取得する必要がある。
【0086】
そこで第1の変形例においては、接続維持サーバ4またはDNSサーバが、アドレス変換サーバ6によって割り当てられた認証端末2aのIPアドレスおよびポート番号を保持する。これにより、閲覧端末1aは、認証端末2aの現在のIPアドレスおよびポート番号を取得し、認証端末2aと接続する。
【0087】
(認証方法)
図8および
図9を参照して、第1の変形例に係る認証方法を説明する。第1の変形例において認証端末2aは、当該認証端末2aの識別子として、ドメイン名が割り当てられる。接続維持サーバ4は、認証端末2aのドメイン名と、この認証端末2aの公開鍵とを対応づけて保持する。また閲覧端末1aは、接続維持サーバ4およびDNSサーバのアドレスを保持する。認証端末2aは、接続維持サーバ4のアドレスを保持する。
【0088】
まずステップS201において閲覧端末1aは、共通鍵を生成し、その共通鍵を認証端末2aと共有する。さらにステップS202において閲覧端末1aは、認証端末2aのドメイン名を取得する。ここで認証端末2aの共通鍵の共有やドメイン名の取得の方法は問わない。また、閲覧端末1aは、予め認証端末2aのドメイン名を取得する必要はなく、認証が必要となるタイミングにおいてドメイン名を取得しても良い。
【0089】
一方認証端末2aは、認証アプリケーションが起動されるなどにより、ステップS203ないしステップS205において、アドレス変換サーバ6を介して、接続維持サーバ4に接続要求を送信する。ここでアドレス変換サーバ6は、認証端末2aの送信元のIPアドレスX1および送信元のポート番号x1を、IPアドレスX1’およびポート番号x1’に変換して、接続維持サーバ4に転送する。ステップS204においてアドレス変換サーバ6は、この変換前後のアドレスを、いわゆるNATテーブルに保持する。
【0090】
接続維持サーバ4は、この接続要求を受信すると、ステップS206において、アドレス変換サーバ6を介して認証端末2aに認証要求を送信する。認証端末2aは、ステップS207においてユーザ認証処理を実行する。具体的には、認証端末2aは、
図2のステップS5で説明した様に、ユーザに認証情報を入力させる画面を表示するとともに、ユーザから入力された認証情報を認証する。認証できた場合、ステップS208において認証端末2aは、秘密鍵で署名された認証結果と認証端末2aの公開鍵を、アドレス変換サーバ6を介して接続維持サーバ4に送信する。ここで接続維持サーバ4が、ユーザから入力された認証情報を認証できなかった場合、認証端末2aは、その認証結果を接続維持サーバ4に送信し、接続維持サーバ4は以降の処理を実行しない。
【0091】
ステップS208において接続維持サーバ4が公開鍵を受信すると、ステップS209において受信した公開鍵に対応するドメイン名を取得する。ステップS210において接続維持サーバ4は、DNSサーバにSRVレコードおよびAレコードを送信する。ここで接続維持サーバ4は、SRVレコードおよびAレコードの登録要求をDNSサーバに送信する。DNSサーバは、ステップS209において取得した認証端末2aのドメイン名と、認証端末2aの変換後のIPアドレスX1’およびポート番号x1’と対応づけて、保持する。ステップS211において接続維持サーバ4は、ステップS210に対する処理応答を受信すると、ステップS212において、処理応答をアドレス変換サーバ6を介して認証端末2aに送信する。その後、ステップS213において認証端末2aは、接続維持サーバ4とのTCP接続を切断する。
【0092】
その後認証端末2aは、ステップS251において、IPアドレスX1およびポート番号x1において、接続維持サーバ4からの接続要求を待機する。
【0093】
一方、接続維持サーバ4は、ステップS252およびステップS253において、アドレス変換サーバ6におけるNATテーブルから削除されないように、所定のタイミングで、認証端末2aに接続要求を送信する。これに対し認証端末2aは、ステップS254およびステップS255において、接続応答を接続維持サーバ4に送信する。ステップS252ないしステップS255の処理は、認証端末2による認証処理が終了するまで、繰り返される。
【0094】
ステップS256において、閲覧端末1aは、閲覧アプリケーションを起動するなどにより、サービス提供サーバ3に接続し、サービスの利用要求を送信する。これに対しサービス提供サーバ3はステップS257において、閲覧端末1aに対し、認証要求を送信する。
【0095】
閲覧端末1aは、サービス提供サーバ3から認証要求を受信すると、ステップS258において、DNSサーバに接続し、SRVレコードを要求する。ここで閲覧端末1aは、ステップS202で取得した認証端末2aのドメイン名に対応するIPアドレスおよびポート番号を問い合わせする。これに対しステップS259において閲覧端末1aは、SRVレコードおよびAレコードを取得し、認証端末2aのドメイン名に対応するIPアドレスX1’およびポート番号x1’を取得する。
【0096】
この後の処理は、
図2のステップS3以降と同様である。ここで閲覧端末1aは、認証端末2aに送信する際、変換後のIPアドレスX1’およびポート番号x1’を宛先として送信する。アドレス変換サーバ6は、このIPアドレスX1’およびポート番号x1’を、NATテーブルによりIPアドレスX1およびポート番号x1に変換して認証端末2aに送信する。
【0097】
このように第1の変形例においては、認証端末2aがドメイン名などの識別子を予め閲覧端末1aと共有するとともに、認証端末2aの変換後のアドレスおよびポート番号とドメイン名をDNSサーバに接続する。閲覧端末1aは、DNSサーバに接続して、認証端末2aのドメイン名から変換後のアドレスおよびポート番号を取得することができる。
【0098】
(閲覧端末)
図10を参照して、第1の変形例に係る閲覧端末1aを説明する。第1の変形例に係る閲覧端末1aは、
図3に示す本発明の実施の形態に係る閲覧端末1と比べて、記憶装置120が認証ドメインデータ123を記憶するとともに、中央処理制御装置110が認証アドレス取得手段115を備える点が異なる。また、記憶装置120は、接続維持サーバ4およびDNSサーバのアドレスを予め保持する。
【0099】
認証ドメインデータ123は、認証端末2aの識別子であって、IPアドレスおよびポート番号とは異なる識別子を記憶するデータである。第1の変形例において認証端末2aの識別子は、具体的にはドメイン名である。認証ドメインデータ123は、認証アドレス取得手段115が記憶する。
【0100】
認証アドレス取得手段115は、DNSサーバに接続して、認証端末2aの識別子に対応するIPアドレスおよびポート番号を取得し、認証アドレスデータ122として記憶する。認証アドレス取得手段115の処理は、
図9のステップS258およびステップS259に対応する。ここで認証アドレス取得手段115は、DNSサーバに接続する場合を説明するが、これに限られない。例えば、接続維持サーバ4がDNSサーバ機能を有している場合や、認証端末2aの識別子と変換後アドレスとを対応づけて保持している場合、認証アドレス取得手段115は、接続維持サーバ4に接続して、認証端末2aの変換後アドレスを取得しても良い。
【0101】
(認証端末)
図11を参照して、第1の変形例に係る認証端末2aを説明する。第1の変形例に係る認証端末2aは、
図4に示す本発明の実施の形態に係る認証端末2と比べて、中央処理制御装置210がアドレス登録要求手段216を備える点が異なる。なお、第1の変形例に係る認証端末2aも、
図4に示す本発明の実施の形態に係る認証端末2と同様に、記憶装置220は、属性データ224、サービス管理データ225およびペルソナ管理データ226を記憶するとともに、中央処理制御装置210は、属性処理手段213、サービス管理手段214およびペルソナ管理手段215を備えても良い。また認証端末2aは、接続維持サーバ4のアドレスを保持する。
【0102】
アドレス登録要求手段216は、アドレス変換サーバ6を経由して接続維持サーバ4に接続して、認証端末2の識別子を送信するとともに、接続維持サーバ4からの接続要求に対し、接続応答を返す。また、アドレス登録要求手段216は、接続維持サーバ4からの認証要求が入力されると、認証手段212にその旨を入力し、その結果を接続維持サーバ4に送信する。ここで認証手段212は、ユーザに認証情報を入力させるとともに、入力された認証情報を認証し、その結果をアドレス登録要求手段216に送信する。アドレス登録要求手段216の処理は、
図8のステップS203、ステップS206、ステップS208、ステップS212およびステップS213、
図9のステップS251、ステップS253およびステップS254に相当する。
【0103】
(接続維持サーバ)
図12を参照して、第1の変形例に係る接続維持サーバ4を説明する。接続維持サーバ4は、中央処理制御装置410、記憶装置420、通信制御装置430などを備える。
【0104】
通信制御装置430は、接続維持サーバ4が通信ネットワーク8に接続するためのインタフェースである。記憶装置420は、接続維持サーバ4が保持するデータを記憶したり、処理中のデータを一時的に記憶したりする。中央処理制御装置410は、接続維持サーバ4の処理を制御する。接続維持サーバ4は、所定のプログラムを実行することにより、
図12に示す各手段および各データを実装する。
【0105】
記憶装置420は、接続管理データ421を保持する。接続管理データ421は、第1の変形例に係る認証方法を実現するために、
図13に示すように、認証端末2aの公開鍵と、その認証端末2aのドメイン名とを対応づけたデータである。
【0106】
中央処理制御装置410は、接続要求処理手段411、DNS登録手段412および接続維持手段413を備える。
【0107】
接続要求処理手段411は、認証端末2aに接続すると、認証端末2aの識別子と、アドレス変換サーバ6によって変換された変換後アドレスとを対応づけて保持する。ここで接続要求が受信する認証端末2aの識別子は、認証端末2aの公開鍵である。接続要求処理手段411は、接続管理データ421を参照して、認証端末2aの公開鍵をドメイン名に取得して、DNS登録手段に登録させる。DNS登録手段412の処理が終了すると、その旨を認証端末2aに返す。ここで接続要求処理手段411は、認証端末2aに認証要求を送信しても良い。この場合、接続要求処理手段411は、認証端末2aから認証結果とともに、認証端末2aにおいて認証された場合に、認証端末2aの公開鍵を受信する。接続要求処理手段411の処理は、
図8のステップS205、ステップS206、ステップS208、ステップS209およびステップS212に相当する。
【0108】
DNS登録手段412は、接続要求処理手段411が取得した認証端末2aのドメイン名と、認証端末2aのIPアドレスおよびポート番号に対応づけるため、DNSサーバに、SRVレコードおよびAレコードの登録を要求する。DNS登録手段412の処理は、
図8のステップS210およびステップS211に相当する。
【0109】
接続維持手段413は、アドレス変換サーバ6のNATテーブルが更新されないように、所定のタイミングで認証端末2aに接続する。接続維持手段413の処理は、
図9のステップS252およびステップS255に相当する。
【0110】
ここで第1の変形例においては、認証端末2aが、公開鍵を送信する場合を説明するが、認証端末2aがその他の識別子やドメイン名を送信しても良い。その場合、接続管理データ421が保持するデータや接続要求処理手段411の処理内容は適宜変更される。接続要求処理手段411は、接続要求を送信した認証端末2aについて、ドメイン名に変換可能な認証端末2aの識別子を取得できれば、どのように構成されても良い。
【0111】
また第1の変形例においては、認証端末2aにドメイン名を割り当て、接続維持サーバ4が、認証端末2aのドメイン名と、IPアドレスおよびポート番号を、DNSサーバに登録する場合を説明したがこれに限らない。例えば、接続維持サーバ4が認証端末2aの識別子と、IPアドレスおよびポート番号を対応づけて保持するとともに、閲覧端末1aがその認証端末2aの識別子を保持する。閲覧端末1aは、予め保持した認証端末2aの識別子に基づいて接続維持サーバ4から、認証端末2aのIPアドレスおよびポート番号を取得しても良い。
【0112】
また、一つの閲覧端末1aに、複数の認証端末が対応づけられる場合も考えられる。この場合、閲覧端末1aは、閲覧端末1aを認証可能な認証端末2aの情報を一覧で表示し、ユーザに選択させる。閲覧端末1aは、ユーザに選択された認証端末2aのIPアドレスおよびポート番号を取得して、この認証端末2aに認証を依頼する。
【0113】
このように本発明の第1の変形例に係る認証方法は、接続維持サーバ4が、アドレス変換サーバにより変換された後の認証端末2aのIPアドレスとそのドメイン名をDNSサーバに登録する。閲覧端末1aは、DNSサーバに接続して、予め保持した認証端末2aのドメイン名からIPアドレスを取得する。これにより、認証端末2aがモバイルキャリアネットワーク7においてアドレスが変換された場合であっても、閲覧端末1aおよび認証端末2aは、相互に通信することができる。
【0114】
このような第1の変形例に係る通信方法において、接続維持サーバ4は、認証端末2aからアクセスがあるとその情報をDNSサーバに送信するとともに、NATテーブルを維持するために認証端末2aに適宜アクセスする。従って、接続維持サーバ4の運用にかかるコストを抑制することができる。
【0115】
なお、接続維持サーバ4は、認証端末2aが接続維持サーバ4に接続し、閲覧端末1aが認証端末2aに依頼した認証の結果を受信する間のみ、アドレス変換サーバ6のNATテーブルを維持するために認証端末2aに定期的にアクセスすれば良い。従って、このトラフィックは比較的短い時間で発生するので、システム全体への負担も大きくないと考えられる。またユーザは、認証端末2aにおいて、認証開始時に認証用のアプリケーションを起動し、閲覧端末1aが認証端末2aに依頼した認証の結果を受信した後、認証用のアプリケーションを終了させれば良い。従って、認証用のアプリケーションを常駐させる必要はないので、認証端末2aへの負担も大きくないと考えられる。
【0116】
(第2の変形例)
第2の変形例においては、第1の変形例と同様に、認証端末2bがモバイルキャリアネットワーク7および通信ネットワーク8を介して、閲覧端末1bに接続する場合を説明する。
【0117】
第2の変形例においては、第1の変形例と同様に、認証端末2bのアドレスがアドレス変換サーバ6により任意に割り当てられる。そこで第2の変形例においては、
図14に示すように、中継サーバ5が、認証端末2bおよび中継サーバ5間の通信と、閲覧端末1bおよび中継サーバ5間の通信とを中継する場合を説明する。
【0118】
第2の変形例に係る中継サーバ5は、HTTPやUDPなどの通信において、サーバとして動作する。一方閲覧端末1bおよび認証端末2bは、クライアントとして動作する。
【0119】
(認証方法)
図15および
図16を参照して、第2の変形例に係る認証方法を説明する。第2の変形例において認証端末2bは、当該認証端末2bの識別子として、公開鍵およびサービスユーザIDが割り当てられる。閲覧端末1bは、認証端末2bのサービスユーザIDを保持する。認証端末2bは、公開鍵を保持する。中継サーバ5は、認証端末2bのサービスユーザIDと、この認証端末2bの公開鍵とを対応づけて保持する。また認証端末2bおよび閲覧端末1bは、中継サーバ5のアドレスを保持する。
【0120】
まずステップS301において閲覧端末1bは、共通鍵を生成し、その共通鍵を認証端末2bと共有する。さらにステップS302において閲覧端末1bは、認証端末2bのサービスユーザIDを取得する。ここで認証端末2bの共通鍵の共有やサービスユーザIDの取得の方法は問わない。また、閲覧端末1bは、予め認証端末2bのサービスユーザIDを取得する必要はなく、認証が必要となるタイミングにおいてサービスユーザIDを取得しても良い。
【0121】
一方認証端末2bは、認証アプリケーションが起動されるなどにより、ステップS303ないしステップS305において、アドレス変換サーバ6を介して、中継サーバ5に接続要求を送信する。認証端末2bは、HTTPクライアントとして、中継サーバ5に接続する。ここでアドレス変換サーバ6は、認証端末2bの送信元のIPアドレスX1および送信元のポート番号x1を、IPアドレスX1’およびポート番号x1’に変換して、中継サーバ5に転送する。ステップS304においてアドレス変換サーバ6は、この変換前後のアドレスを、いわゆるNATテーブルに保持する。
【0122】
中継サーバ5は、この接続要求を受信すると、ステップS306において、アドレス変換サーバ6を介して認証端末2bに認証要求を送信する。認証端末2bは、ステップS307においてユーザ認証処理を実行する。具体的には、認証端末2bは、
図2のステップS5で説明した様に、ユーザに認証情報を入力させる画面を表示するとともに、ユーザから入力された認証情報を認証する。認証できた場合、ステップS308において認証端末2bは、認証結果と認証端末2bの公開鍵を、アドレス変換サーバ6を介して、接続維持サーバ4に送信する。ここでユーザから入力された認証情報を認証できなかった場合、認証端末2bは、その認証結果のみを中継サーバ5に送信し、中継サーバ5は以降の処理を実行しない。
【0123】
ステップS307において認証され、ステップS308において中継サーバ5が公開鍵を受信すると、ステップS309において受信した公開鍵に対応するサービスユーザIDを取得する。ステップS310およびステップS311において中継サーバ5は、認証端末2bに処理応答を送信する。
【0124】
ステップS312およびステップS313において認証端末2bは、中継サーバ5に接続する。ステップS313において中継サーバ5が認証端末2bから接続要求を受信すると、ステップS314において中継サーバ5は、接続要求に対する応答を保留するとともに、セッションIDを生成する。さらに中継サーバ5は、セッションIDと、認証端末2bの変換後のIPアドレスX1’およびポート番号x1’と、認証端末2bのサービスユーザIDとを対応づけて保持する。
【0125】
所定時間の間に、閲覧端末1bから、この認証端末2bのサービスユーザIDを指定した認証要求を受信しない場合、ステップS315およびステップS316において中継サーバ5は、ステップS314で保留した接続要求に対する応答を、認証端末2bに送信する。
【0126】
認証端末2bは、ステップS316において中継サーバ5から接続要求に対する応答を受信すると、ステップS351およびステップS352において再度、中継サーバ5に接続する。ステップS352において中継サーバ5が認証端末2bから接続要求を受信すると、ステップS314と同様に処理する。具体的には、ステップS353において中継サーバ5は、接続要求に対する応答を保留するとともに、新たなセッションIDを採番する。さらに中継サーバ5は、セッションIDと、認証端末2bの変換後のIPアドレスX1’およびポート番号x1’と、認証端末2bのサービスユーザIDとを対応づけて保持する。
【0127】
一方、ステップS354において、閲覧端末1bは、閲覧アプリケーションを起動するなどにより、サービス提供サーバ3に接続し、サービスの利用要求を送信する。これに対しサービス提供サーバ3はステップS355において、閲覧端末1bに対し、認証要求を送信する。
【0128】
次に、ステップS355において閲覧端末1bは、サービス提供サーバ3から認証要求を受信すると、ステップS356において、第1の認証コードを生成する。ステップS357において、閲覧端末1bは、このように生成した第1の認証コード、認証端末2bのサービスユーザIDと、認証要求を、中継サーバ5に送信する。
【0129】
このように、ステップS353において応答を保留している所定時間の間に、閲覧端末1bから、この認証端末2bのサービスユーザIDを指定した認証要求を受信すると、中継サーバ5は、ステップS358の処理に進む。ステップS358において中継サーバ5は、サービスユーザIDをキーに、このサービスユーザIDで待機するセッションIDおよび認証端末2bの変換後のIPアドレスX1’およびポート番号x1’を特定する。
【0130】
ステップS359およびステップS360において中継サーバ5は、ステップS357で受信した認証要求について、宛先を認証端末2bの変換後のIPアドレスX1’およびポート番号x1’に変換するとともに、セッションIDを付加して、プッシュ通信やWebsocketなどのプッシュ技術を使って送信する。ここで、ステップS359およびステップS360における中継サーバ5から認証端末2bへの認証要求は、ステップS351およびステップS352における認証端末2bから中継サーバ5への接続要求に対する応答である。
【0131】
ステップS361において認証端末2bは、
図2のステップS5と同様にユーザ認証する。ステップS362およびステップS363において認証端末2bは、第2の認証コードおよびセッションIDを含む認証結果を、中継サーバ5に送信する。
【0132】
ステップS363において中継サーバ5は、ステップS359で送信した認証要求に対する認証結果を認証端末2bから受信すると、ステップS357で閲覧端末1bから受信した認証要求に対して、閲覧端末1bに応答する。ステップS364において中継サーバ5は、ステップS363で受信した第2の認証コードを含む認証結果を、閲覧端末1bに送信する。
【0133】
その後の処理は、
図2のステップS7ないしステップS10と同様である。
【0134】
(閲覧端末)
図17を参照して、第2の変形例に係る閲覧端末1bを説明する。第2の変形例に係る閲覧端末1aは、
図3に示す本発明の実施の形態に係る閲覧端末1と比べて、記憶装置120がサービスユーザIDデータ124を記憶する点が異なる。サービスユーザIDデータ124は、認証端末2bのユーザの識別子であって、認証端末2bの公開鍵に対応する。また、記憶装置120は、中継サーバ5のアドレスを予め保持する。
【0135】
認証要求手段113は、サービス提供サーバ3から認証要求を受信すると、認証要求と認証端末2bの識別子(サービスユーザID)を中継サーバ5に送信するとともに、中継サーバ5から、認証結果を受信する。認証要求手段113の処理は、
図16のステップS356、ステップS357、ステップS364およびステップS365の処理に相当する。
【0136】
(認証端末)
図18を参照して、第2の変形例に係る認証端末2bを説明する。第2の変形例に係る認証端末2bは、
図4に示す本発明の実施の形態に係る認証端末2と比べて、中央処理制御装置210が中継要求手段217を備える点が異なる。なお、第2の変形例に係る認証端末2bも、
図4に示す本発明の実施の形態に係る認証端末2と同様に、記憶装置220は、属性データ224、サービス管理データ225およびペルソナ管理データ226を記憶するとともに、中央処理制御装置210は、属性処理手段213、サービス管理手段214およびペルソナ管理手段215を備えても良い。また認証端末2bは、中継サーバ5のアドレスを保持する。
【0137】
中継要求手段217は、アドレス変換サーバ6を経由して中継サーバ5に接続して、認証端末2bの識別子を送信する。ここで認証端末2bの識別子は、認証端末2bの公開鍵データ221である。中継要求手段217が公開鍵を送信すると、中継サーバ5は、認証端末2bの公開鍵に対応するサービスユーザIDと、認証端末2bの変換後のIPアドレスおよびポート番号を対応づけて保持する。また、中継要求手段217は、中継サーバ5からの認証要求が入力されると、認証手段212にその旨を入力し、その結果を中継サーバ5に送信し、その応答を受信する。ここで認証手段212は、ユーザに認証情報を入力させるとともに、入力された認証情報を認証し、その結果を中継要求手段217に送信する。さらに中継要求手段217は、中継サーバ5に接続要求を送信し、一定時間経過後に中継サーバ5から接続応答が送信されると、再度中継サーバ5に接続要求を送信する。中継要求手段217の処理は、
図15のステップS303、ステップS306ないしステップS308、ステップS311、ステップS312、ステップS316、
図16のステップS351に相当する。
【0138】
また認証手段212は、中継サーバ5から、認証要求を受信すると、ユーザによって入力された認証情報を認証し、その認証結果を中継サーバ5に送信する。
【0139】
(中継サーバ)
図19を参照して、第2の変形例に係る中継サーバ5を説明する。中継サーバ5は、中央処理制御装置510、記憶装置520、通信制御装置530などを備える。
【0140】
通信制御装置530は、中継サーバ5が通信ネットワーク8に接続するためのインタフェースである。記憶装置520は、中継サーバ5が保持するデータを記憶したり、処理中のデータを一時的に記憶したりする。中央処理制御装置510は、中継サーバ5の処理を制御する。中継サーバ5は、所定のプログラムを実行することにより、
図19に示す各手段および各データを実装する。
【0141】
記憶装置520は、中継管理データ521を保持する。中継管理データ521は、第2の変形例に係る認証方法を実現するために、
図20に示すように、認証端末2bのサービスユーザID、公開鍵、その認証端末2bにアドレス変換サーバ6によって付与されたIPアドレスおよびポート番号、およびセッションIDを対応づけたデータである。セッションIDは、この認証端末2bからの接続要求に対して、中継サーバ5が付与したものである
中央処理制御装置510は、接続要求処理手段511、および認証要求処理手段512を備える。
【0142】
接続要求処理手段511は、認証端末2bから接続されると、認証端末2bの識別子(公開鍵)と、認証端末2bのアドレス変換サーバ6によって変換された変換後アドレスとを対応づけて中継管理データ521に記憶する。具体的には接続要求処理手段511は、認証端末2bから接続要求を受信すると、認証端末2bに認証要求を送信する。接続要求処理手段511は、認証端末2bから認証結果とともに認証端末2bの公開鍵を受信する。その認証結果が認証端末2bにおいて認証された旨を示す場合、接続要求処理手段511は、中継管理データ521を参照して、受信した公開鍵に対応するサービスユーザIDを取得し、認証端末2bに応答を送信する。接続要求処理手段511の処理は、
図15のステップS305、ステップS306、ステップS308ないしステップS310に相当する。
【0143】
認証要求処理手段512は、認証端末2bから受信した公開鍵に対応するサービスユーザIDを取得した後、再び認証端末2bから接続されると、認証端末2bへの応答を待機する。認証要求処理手段512は、応答を待機する間に、閲覧端末1bから、認証要求と認証端末2bの識別子(サービスユーザID)を受信すると、中継管理データ521を参照して、指定されたサービスユーザIDに対応する認証端末2bのアドレスおよびセッションIDを特定し、特定した認証端末2bに認証要求を送信する。ここで認証要求処理手段512は、認証端末2bに、認証要求をプッシュ通信で送信する。認証要求処理手段512は、認証端末2bから認証結果を受信すると、閲覧端末1bに認証結果を送信する。認証要求処理手段512の処理は、
図15のステップS313ないしステップS315、
図16のステップS352、ステップS353、ステップS357ないしステップS359、ステップS363およびステップS364に対応する。
【0144】
このように本発明の第2の変形例に係る認証方法は、中継サーバ6が、認証端末2bからの接続要求に対する応答を待機している間に、閲覧端末2bから、この認証端末2bの識別子を指定して認証要求を受けると、この認証端末2bに認証要求を送信する。これにより、認証端末2bがモバイルキャリアネットワーク7においてアドレスが変換された場合であっても、閲覧端末1bおよび認証端末2bは相互に通信することができる。
【0145】
このような第2の変形例に係る通信方法において、中継サーバ5は、認証端末2bからのアクセスと、閲覧端末1aからのアクセスを中継するので、アドレス変換サーバ6のアドレス変換方式に依存することなく、機能を実現することができる。
【0146】
なお、中継サーバ5は、認証端末2bが中継サーバ5に接続し、閲覧端末1bが認証端末2bに依頼した認証の結果を受信する間のみ、アドレス変換サーバ6のNATテーブルを維持するために認証端末2bからのアクセスを受ければ良い。従って、このトラフィックは比較的短い時間で発生するので、システム全体への負担も大きくないと考えられる。またユーザは、認証端末2bにおいて、認証開始時に認証用のアプリケーションを起動し、閲覧端末1bが認証端末2bに依頼した認証の結果を受信した後、認証用のアプリケーションを終了させれば良い。従って、認証用のアプリケーションを常駐させる必要はないので、認証端末2bへの負担も大きくないと考えられる。
【0147】
(第3の変形例)
本発明の実施の形態、第1および第2の変形例において、二次元バーコードなどにより予め、秘密鍵を認証端末および閲覧端末間で共有して互いを認証する場合を説明したが、第3の変形例においては、予めペアリングしない場合を説明する。
【0148】
ここで、
図2に示す例を参照して説明する。閲覧端末1は、ステップS4において認証端末2に認証要求を送信する際、セッションIDを生成して生成したセッションIDを認証端末2に送信する。このとき閲覧端末1は、生成したセッションIDを、表示装置に表示して、ユーザに視認させても良い。
【0149】
ステップS4において認証端末2は、受信したセッションIDを表示装置に表示して、このセッションIDに対する認証要求を開始するか否かをユーザに選択させる。ユーザは、閲覧端末1に表示されたセッションIDと同一のセッションIDを選択しても良い。ユーザの選択により、認証端末2は、ステップS5において認証を開始する。認証端末2は、ユーザによって入力された認証情報を認証すると、キャッシュデータを生成する。認証端末2は、ステップS4で閲覧端末1から送信されたセッションIDと、ステップS5で生成したキャッシュデータとを対応づけて保持する。ステップS6において認証端末2は、認証結果を送信する際、キャッシュデータも閲覧端末1に送信する。
【0150】
閲覧端末1は、ステップS6において認証結果とともにキャッシュデータを受信すると、認証端末2の識別子と、セッションIDと、キャッシュデータとを対応づけて記憶する。
【0151】
また閲覧端末1が次回、この認証端末2に認証要求を送信する際、新たに生成したセッションIDと、この認証端末2から受信したキャッシュデータを併せて送信する。認証端末2は、認証端末2が以前に生成したキャッシュデータを受信することで、この送信元の閲覧端末1について、前回認証した端末であると把握することができる。そこで認証端末2は、閲覧端末1から受信した新たなセッションIDをハイライト表示するなどして、接続履歴があることを示す。これによりユーザは、閲覧端末1が接続履歴のある安全な端末であることがわかるので、このハイライト表示されたセッションIDについて、認証処理を開始する指示を入力する。
【0152】
これによれば、認証端末2と閲覧端末1を予めペアリングしなくとも、一度認証した端末をユーザにわかりやすく表示することで、ユーザに、安全な閲覧端末を選択させるように支援することができる。また第3の変形例に示す認証端末2および閲覧端末1の認証は、第1の変形例に係る認証方法に適用しても良い。
【0153】
(その他の実施の形態)
上記のように、本発明の実施の形態とその第1ないし第3の変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【0154】
例えば、本発明の実施の形態とその第1および第2の変形例において、閲覧端末および認証端末間で送受信されるデータは、機密性の確保のために、暗号化されることが好ましい。この際、閲覧端末および認証端末が共有する秘密鍵データでデータを暗号化および復号することが考えられる。これにより、途中経路で悪意のある第三者がデータを盗聴しても、認証結果の流用や、ユーザが利用するサービスの情報の漏洩などの問題の発生を防ぐことができる。
【0155】
また第2の変形例においてはさらに、中継サーバはHTTPサーバとして動作し、閲覧端末および認証端末は、中継サーバのHTTPクライアントとして動作する。従って、中継サーバ用のSSLサーバ証明書を用いてさらにセキュリティを強化することができる。なお第1の変形例においては、認証端末がHTTPサーバとして動作するので、認証端末毎にSSLサーバ証明書を用いることでもセキュリティを強化することができる。
【0156】
さらに、本発明の実施の形態とその第1および第2の変形例において、閲覧端末が、サービス提供サーバからサービスを享受する際に必要な認証を、認証端末が担う場合を説明したがこれに限られず、サービス提供サーバなどに接続することなく閲覧端末内で実行する処理などにも適用できる。具体的には、閲覧端末は、閲覧端末内での処理を実行する際、認証端末に認証要求を送信する。閲覧端末は、認証端末においてその処理が認証された旨の認証結果を受信した場合、その処理を実行しても良い。
【0157】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。