説明

サーバ・オペレーションの認可を行うための装置、システムおよびコンピュータ・プログラム

【課題】データ通信ネットワークを介してユーザ・コンピュータから要求されたリモート・サーバのオペレーションを認可するための認可デバイスが提供される。
【解決手段】デバイスは、リモート・サーバとの通信のためにデバイスをローカル・ユーザ・コンピュータに接続するためのコンピュータ・インタフェースと、ユーザに情報を提供するためのユーザ・インタフェースとを有する。デバイスの制御ロジックは、セキュリティ・データを用いて、デバイスとサーバとの間に、ローカル・ユーザ・コンピュータを介して、デバイスとサーバとの間の暗号化されたエンド・ツー・エンド通信のための相互認証された接続を確立するように適合される。制御ロジックは、サーバへの他の接続を介したユーザ・コンピュータによって要求されデバイスのユーザによる認可を必要とするあらゆるオペレーションを示す情報を、サーバからこの接続を介して収集する。ユーザによる認可を促すために、この情報はユーザ・インタフェースを介してユーザに提供される。サーバ・オペレーションは、1人またはそれ以上の認可ユーザによる認可を必要とするオペレーションを規定するルール・データに従って制御される。サーバ制御装置の制御ロジックは、そのオペレーションに対する少なくとも1人の認可ユーザによる認可が必要かどうかをルール・データから判定することによって、ユーザ・コンピュータからのオペレーション要求に応答する。もし認可が必要であれば、オペレーションは延期される。認可デバイスとの相互認証された接続が確立されるとき、制御装置は、ユーザ・コンピュータから要求されデバイス・ユーザによる認可を必要とするあらゆる延期オペレーションを示す情報を供給できる。延期オペレーションは、そのオペレーションに必要な認可を出すすべての認可ユーザからの認可を受取ったときにのみ実行され、モバイル・コンピューティング環境における安全なマルチ・パーティ認可を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的に、データ通信ネットワーク上のユーザ・コンピュータから要求されたサーバ・オペレーションの認可に関する。リモート・サーバ・オペレーションを認可し、こうした認可に依存してサーバによるオペレーションの実行を制御するための装置、システムおよびコンピュータ・プログラムが提供される。
【背景技術】
【0002】
コンピュータのユーザが、サーバによる何らかのオペレーションの実行を要求するために、データ通信ネットワークを介してリモート・サーバと通信するためのシナリオは多数存在する。こうしたサーバは典型的に、リモート・ユーザによるオンライン・アクセスのためのサービスのプロバイダによって動作される。しかし本明細書において、「サーバ」という用語は最も一般的な意味で用いられ、接続するユーザに何らかのサービスまたは機能を提供するあらゆるコンピュータまたはシステムを含む。ユーザの要求によってサーバが実行するオペレーションは、たとえばデータベースまたは制限されたウェブ・サイトなど、何らかのリソースへのユーザのアクセスを単に認めることであってもよいし、ユーザによって指示される、たとえば銀行取引など何らかのトランザクションの実現であってもよい。いずれの場合においても、通信インフラストラクチャは、セキュリティ、特にサーバ・オペレーションが正しく認可されたユーザに対してのみ実行されることを確実にすることがしばしば重要な問題となるという性質をもつ。たとえばインターネット上で行われる電子ビジネスの場合、オンライン詐欺は絶えず増加を続ける脅威である。悪名高い中間者(man−in−the−middle:MITM)などの高度な攻撃、およびたとえばウイルスまたはトロイの木馬などのさまざまなタイプの悪意あるソフトウェアは増加して広まっており、一方でアンチウイルス・ソフトウェアおよびファイアウォールなどの対抗策は、いつも攻撃者に一歩後れを取っているようにみえる。その結果、パーソナル・コンピュータ(personal computers:PCs)などのユーザ・コンピュータおよびインターネット自体を、電子トランザクションに対するかなりのセキュリティ上のリスクを与える本質的に信頼できないものと考える必要がある。たとえば、ユーザが自身のPCからオンライン・サービス・プロバイダのポータルに接続してトランザクションを開始するとき、そのトランザクションが何らかの悪意あるソフトウェアまたはMITMによって密かに操作されていないことをユーザは確信できない。サービス・プロバイダも、自身が正しく認可されたユーザと通信していることを確信できないという同様の困難に面する。
【0003】
上記シナリオにおけるセキュリティの問題のいくつかに対処するために、さまざまなシステムが提案されてきた。たとえば、特許文献1は、ユーザPCに接続可能であって、スマート・カードのための読取装置を組込んだセキュリティ・デバイスを開示している。ユーザが自身のPCを介してリモート・サーバからのリソースを要求するとき、サーバはユーザの公開鍵を検索し、トランザクション情報をチャレンジとともに含む暗号化したデータ・ブロブを送り返すことによって応答する。ユーザPCから要求されたリソースがセキュリティ・デバイス上に表示され、ユーザはセキュリティ・デバイスへの入力によってこのリソースを要求したか否かを確認でき、この入力はサーバに送り返される。このデバイスは、所与のPCのユーザが、そのPCから一度に1つ発行されるリソース要求の同時確認を与えることを可能にする。しかし、このシステムは「偽チャレンジ(false−challenge)」攻撃を受けやすい。つまり、たとえばユーザを混乱させて応答させるために、何らかの悪意あるパーティがユーザの公開鍵のもとで暗号化チャレンジを生成して、それをユーザPCに送ることがあり得る。さらに、誰でもユーザの公開鍵によってチャレンジに対するユーザの応答メッセージを解読することができる。したがってこのシステムの有用性は限定されており、それ自体のセキュリティおよびプライバシーの問題を生じる。
【0004】
2007年11月19日に出願された我々の同時係属中の特許文献2は、ユーザ・コンピュータへの接続のための別のデバイスを開示している。このデバイスは、非特許文献1にも記載されている。このデバイスは、特定の銀行URL(ユニバーサル・リソース・ロケータ(universal resource locator))に接続するためのブラウザによって接触されるユーザPC上のプロキシ・アプリケーションに促されるときに、サーバとの安全な相互認証されたエンド・ツー・エンド接続をセットアップする。次いで、安全な接続を介して次のブラウザ・セッションが行われ、セキュリティ・デバイスによってモニタされる。デバイスが銀行取引の詳細などの機密情報を検出すると、それがデバイス上に表示され、ユーザはボタンを押して自身の確認を示すことができる。セキュリティ・デバイスはこの確認を受取ったときのみ、接続を維持してサーバにトランザクション要求を転送する。このデバイスも、所与のPCのユーザが、そのPCから一度に1つ発行される要求の同時確認を与えることを可能にするが、この場合には、いつユーザ認可が必要かを判断するセキュリティ・デバイスの制御下にある安全な接続を介してすべてのサーバ・セッションが行われる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許第6,895,502号
【特許文献2】欧州特許出願第07022419.1号
【非特許文献】
【0006】
【非特許文献1】“The Zurich Trusted Information Channel−An Efficient Defence against Man−in−the−Middle and Malicious Software Attacks”,Thomas Weigold et al.,in P.Lipp,A.−R.Sadeghi,and K.−M.Koch(Eds.):TRUST 2008,LNCS 4968,pp.75−91,Springer−Verlag Berlin Heidelberg 2008
【発明の概要】
【発明が解決しようとする課題】
【0007】
パーソナル・コンピュータ(PC)などのユーザ・コンピュータおよびインターネット自体を、電子トランザクションに対するかなりのセキュリティ上のリスクを与える本質的に信頼できないものと考える必要がある。
【課題を解決するための手段】
【0008】
本発明の1つの局面は、データ通信ネットワークを介してユーザ・コンピュータから要求されたリモート・サーバのオペレーションを認可するための認可デバイスを提供する。このデバイスは、
データ通信ネットワークを介したリモート・サーバとの通信のためにデバイスをローカル・ユーザ・コンピュータに接続するためのコンピュータ・インタフェースと、
ユーザに情報を提供するためのユーザ・インタフェースと、
使用中の制御ロジックにアクセス可能なセキュリティ・データを用いて、デバイスとサーバとの間に、ローカル・ユーザ・コンピュータを介して、デバイスとサーバとの間の暗号化されたエンド・ツー・エンド通信のための相互認証された接続を確立するように適合され、
サーバへの異なる接続を介して要求されデバイスのユーザによる認可を必要とするあらゆるオペレーションを示す情報を、サーバから前記接続を介して収集するように適合され、
前記オペレーションの認可を促すために、前記ユーザ・インタフェースを介してユーザに前記情報を提供するように適合された、
制御ロジックとを含む。
【0009】
よって、本発明を実施する認可デバイスは、そのコンピュータ・インタフェースを介してユーザ・コンピュータに接続可能であり、サーバとの安全な相互認証されたエンド・ツー・エンド接続を確立する。加えて、デバイス制御ロジックはこの接続によって、サーバから、デバイスのユーザによる認可を必要とする、サーバへの異なる接続を介して要求されたあらゆるオペレーションを示す情報を収集する。よって、ユーザによる認可を必要とするオペレーション要求に対する情報の取得は制御ロジックのアクションによって開始され、それに関する情報が受取られるオペレーション要求は、サーバへの1つまたはそれ以上の異なる接続によって提出されたものである。したがってこのデバイスは、安全な接続のセットアップの前または後のあらゆる時間にサーバに提出され、かつデバイスが現在接続されているコンピュータ、またはサーバに対するネットワーク接続をある期間確立していた1つもしくはそれ以上の他のコンピュータ、あるいはその両方であるあらゆるユーザ・コンピュータからのあらゆるユーザによって提出された、あらゆる数のオペレーション要求の詳細を収集できる。この態様で、本発明を実施する認可デバイスは、モバイル・コンピューティング環境における信頼されていないユーザ・コンピュータから要求されたサーバ・オペレーションの安全な認可のため、およびこうした環境における要求のマルチ・パーティ認可のための基礎を提供する。特に、サーバ・オペレーションは、異なるユーザが認可デバイスを介してサーバに接続して未処理のオペレーション要求の詳細を収集する際に、必要な認可が非同期的に得られるような、2人以上の認可ユーザによる認可に依存し得る。さらに、ユーザ・コンピュータとサーバとの間の、たとえば現在のブラウザ・セッションなどの、あらゆる他のセッションは、安全な接続における認可手順に影響されないままでいることができ、まったく正常に行われ得る。よって本発明を実施するデバイスは、モバイル・コンピューティング環境における安全でないシステムにおけるサーバ・オペレーションの安全なマルチ・パーティ認可のための、柔軟で効率的でユーザ・フレンドリなシステムを提供する。
【0010】
サーバからオペレーション要求情報を収集するために、デバイス制御ロジックはサーバに何らかの形の要求を発行して情報を返すように促すが、一般的にこの要求は明示的であっても暗黙的であってもよい。たとえば、この要求は安全な接続を確立するプロセスにおける暗黙的なものであってもよく、サーバは、接続を確立するために用いられるセキュリティ・データに関連する認可ユーザに対して適切な何らかのオペレーション要求情報を送ることによって、接続の確立成功に応答してもよい。代替的には、制御ロジックは、デバイス・ユーザによる認可を必要とするオペレーション要求についての情報に対する明示的な要求を送ってもよい。よって制御ロジックは、たとえば接続の確立に応答して、安全な接続を介して情報の要求を送るように適合されてもよく、好ましくは安全な接続が持続している間、定期的にサーバからの情報を要求する。ここで重要な点は、サーバからのオペレーション要求情報の取得が認可デバイスによって開始されることであり、これによってデバイスは、モバイル環境においてサーバへの安全な接続を有するときに、いつでもどこでも情報を得ることができる。
【0011】
制御ロジックは、好ましくは認可デバイスのローカル・ユーザ・コンピュータへの接続に応答して、サーバへの安全な接続の確立を開始する。ユーザ・インタフェースが、たとえばユーザのPIN(個人識別番号(personal identification number))の打鍵などのための入力機構を含むとき、このプロセスは何らかのユーザ入力を必要としてもしなくてもよい。いずれの場合にも、安全な接続のセットアップは、相互認証プロセスに用いることのできる何らかの形のセキュリティ・データへのアクセスを有する制御ロジックに依存している。セキュリティ・データは典型的に、サーバを運営するサービス・プロバイダによって供給される秘密鍵を含むが、一般的には、安全な接続を確立するための認可デバイスとサーバとの相互認証を可能にするチャレンジ応答プロトコルのための、たとえばワン・タイム・パスワードまたはその他の相互に既知の秘密などの、あらゆるデータを含んでいてもよい。セキュリティ・データは、たとえばデバイスに埋込まれた改ざんできないチップの中など、認可デバイスのメモリに保存されていてもよい。代替的には、セキュリティ・データは、認可デバイスがインタフェースしてセキュリティ・データへの制御ロジックのアクセスを与えることのできる別のセキュリティ・デバイスに保存されていてもよい。ここでのセキュリティ・デバイスに対する好ましい形の要素は、スマート・カードである。
【0012】
認可デバイス自体がさまざまな形を取ってもよい。たとえば、デバイスが、認可ユーザの有するスマート・カードなどのセキュリティ・デバイスとインタフェースするように適合されているとき、そのデバイスは便利には、カード読取装置またはその他のセキュリティ・デバイス・インタフェースを組込んだ小さな可搬型デスクトップ・デバイスである。こうしたデバイスは、認可の目的専用のものであってもよいし、たとえばマウスなどの付加的な機能を提供する何らかの他のデバイスと一体化されていてもよい。セキュリティ・データが認可デバイス自体に保存されているとき、そのデバイスは理想的にはユーザによって容易に持ち運ぶことのできる小さな可搬型デバイスであり、これも認可の目的専用のものであってもよいし、組合わされた機能を有してもよい。例として、このデバイスは、メモリ・スティックまたはMP3プレーヤなどの個人用音楽プレーヤにおいて実施されてもよい。いずれの場合にも、悪意あるソフトウェアによる妨害を防ぐための保護機構を組込む必要をなくすために、このデバイスは汎用の計算機能を組込んでいないことが好ましい。つまり、デバイス・プロセッサに任意コードをロードできないようにこのデバイスを構成することが好ましい。
【0013】
ユーザ・インタフェースは、理想的にはユーザに対してオペレーション要求情報を表示するためのディスプレイを含み、それは認可デバイス内の介在処理を伴っても伴わなくてもよい。しかし、以下に考察されるような代替案も想定できる。好ましい実施形態において、ユーザ・インタフェースは、デバイスに対するユーザ認可の入力のための入力機構も含み、制御ロジックは相互認証された接続を介してサーバにユーザ認可を伝達するように適合される。しかし、ここでも以下に記載されるような代替案も想定できる。ユーザ・インタフェースが入力機構を含むとき、それは理想的には、たとえばユーザPINなどの何らかのユーザ・セキュリティ情報の入力を可能にすることによって、認可されたユーザが認可手順のためにデバイスを「アンロック」することを可能にする。
【0014】
本発明の第2の局面は、データ通信ネットワークを介してユーザ・コンピュータから要求されたサーバのオペレーションを制御するための装置を提供する。この装置は、1人またはそれ以上の認可ユーザによる認可を必要とするオペレーションを規定するルール・データを保存するためのメモリと、
前記オペレーションを行うためのユーザ・コンピュータからの要求に応答して、そのオペレーションのために少なくとも1人の認可ユーザによる認可が必要とされるかどうかをルール・データから判定し、もしそうであればそのオペレーションを延期するように適合され、
本発明の第1の局面に従う認可デバイスと通信して前記相互認証された接続を確立するように適合され、
ユーザ・コンピュータから要求され認可デバイスのユーザによる認可を必要とするあらゆる延期オペレーションを示す情報を、前記接続を介して認可デバイスに供給し、かつユーザから認可を受取るように適合され、
そのオペレーションに必要な認可を出すすべての認可ユーザから認可を受取ると、それに応答して、延期オペレーションの実行を開始するように適合された、
制御ロジックとを含む。
【0015】
本発明のこの局面の実施形態において、制御ロジックは、前記相互認証された接続を介した認可デバイスからの要求に応答して、認可要求情報を送ることができる。先に考察したとおり、こうした要求は明示的であっても暗黙的であってもよく、さらにこの装置によって継続的な要求として処理されてもよく、それによって、予め定められた時間間隔内に受取られた、デバイス・ユーザによる認可を必要とするあらゆるさらなるオペレーション要求は、安全な接続を介して認可デバイスに送られる。
【0016】
本発明の第3の局面は、データ通信ネットワークを介してユーザ・コンピュータから要求されたオペレーションを実行するためのサーバを提供する。このサーバは、
データ通信ネットワークを介してユーザ・コンピュータと通信するための通信回路と、ユーザ・コンピュータからの要求に応答して前記オペレーションを実行するためのサーバ・ロジックと、サーバ・ロジックによる前記オペレーションの実行を制御するための、本発明の第2の局面に従う装置とを含む。
【0017】
本発明の第4の局面はデータ通信システムを提供し、このデータ通信システムは、本発明の第3の局面に従うサーバと、データ通信ネットワークを介してサーバと通信するための少なくとも1つのユーザ・コンピュータと、本発明の第1の局面に従う少なくとも1つの認可デバイスであって、デバイスの前記コンピュータ・インタフェースを介してユーザ・コンピュータに接続するための、認可デバイスとを含み、ユーザ・コンピュータは、前記相互認証された接続を介して認可デバイスとサーバとの間の通信を中継するように適合される。
【0018】
本発明の第5の局面はコンピュータ・プログラムを提供し、このコンピュータ・プログラムは、データ通信ネットワークを介したリモート・サーバとの通信のためにユーザ・コンピュータに接続するために適合された、認可デバイスのユーザに情報を提供するためのユーザ・インタフェースを有するデバイスのプロセッサに、
認可デバイスに関連するセキュリティ・データを用いて、ローカル・ユーザ・コンピュータを介して、サーバとの暗号化されたエンド・ツー・エンド通信のための相互認証された接続を確立させ、
サーバへの異なる接続を介して要求されデバイスのユーザによる認可を必要とするあらゆるオペレーションを示す情報を、サーバから前記接続を介して収集させ、
前記オペレーションの認可を促すために、前記ユーザ・インタフェースを介してユーザに前記情報を提供させるためのプログラム・コード手段を含む。
【0019】
本発明の第6の局面はコンピュータ・プログラムを提供し、このコンピュータ・プログラムは、データ通信ネットワークを介してユーザ・コンピュータから要求されたオペレーションを実行するために適合された、1人またはそれ以上の認可ユーザによる認可を必要とするオペレーションを規定するルール・データを保存するためのメモリを有するサーバに、
前記オペレーションを行うためのユーザ・コンピュータからの要求に応答して、そのオペレーションのために少なくとも1人の認可ユーザによる認可が必要とされるかどうかをルール・データから判定させ、もしそうであればそのオペレーションを延期させ、
本発明の第1の局面に従う認可デバイスと通信して前記相互認証された接続を確立させ、認可デバイスのユーザによる認可を必要とするあらゆる延期オペレーションを示す情報を、前記接続を介して認可デバイスに供給させ、かつユーザからの認可を受取らせ、
そのオペレーションに必要な認可を出すすべての認可ユーザから認可を受取ると、それに応答して、延期オペレーションを実行させるためのプログラム・コード手段を含む。
【0020】
本発明を実施するコンピュータ・プログラムは、独立したプログラムを構成するか、またはより大きなプログラムの構成要素であってもよく、たとえばディスクなどのコンピュータ読取可能媒体またはコンピュータ内でロードするための電子伝送などに包含されて供給されてもよい。コンピュータ・プログラムのプログラム・コード手段は、直接、または(a)別の言語、コードもしくは表記法への変換および(b)異なる材料形への再生の一方もしくは両方の後に、コンピュータに問題の方法を実行させることが意図される命令のセットの、あらゆる言語、コードまたは表記法のあらゆる表現式を含んでもよい。
【0021】
一般的に、本明細書においては本発明の1つの局面の実施形態を参照して特徴を説明しているが、本発明の別の局面の実施形態に、対応する特徴が与えられてもよい。
【0022】
添付の図面を参照して、本発明の好ましい実施形態を例として説明する。
【図面の簡単な説明】
【0023】
【図1】本発明を実施するデータ通信システムを概略的に表す図である。
【図2】図1のシステムの認証デバイス、ユーザPCおよびサーバをより詳細に示す図である。
【図3】ユーザPCからのオペレーション要求を受取ったサーバによって実行されるステップを示す図である。
【図4】図2の認証デバイスのオペレーションにおける主要なステップを示す図である。
【図5】図2の認証デバイスからのトランザクション情報の要求を受取ったサーバのオペレーションを示す図である。
【発明を実施するための形態】
【0024】
図1は、モバイル・コンピューティング・シナリオにおける安全なマルチ・パーティ・トランザクション認可システムを実現するための、本発明を実施するデータ通信システムを示す。システム1はサーバ2を含み、サーバ2は図中にネットワーク4として一般的に表される1つまたはそれ以上のデータ通信ネットワークを介して、複数のユーザ・コンピュータ3と通信できる。ここでは、記載される機能を行うように構成された汎用コンピュータによってサーバ2が実現されると仮定するが、一般的にサーバ2の機能がサーバ・システムの複数の物理的機械に分散されてもよい。ユーザ・コンピュータ3は、ネットワーク4を介してサーバ2とのデータ通信が可能なさまざまなコンピューティング・デバイス、たとえばPC、PDA(携帯用情報端末(personal digital assistants))、携帯電話などによって実現されてもよい。本例の目的のために、サーバ2は、コンピュータ3を動作するユーザが定期的に接続して銀行取引を行うことのできるオンライン銀行サービスへのアクセスを与えるものと仮定する。サーバ2によるトランザクションの実現は、マルチ・パーティ認可プロセスを受ける。特に、ユーザ・コンピュータ3から要求され得る少なくともいくつかのトランザクションは、サーバ2によって実現される前に1人またはそれ以上の認可ユーザによって認可される必要がある。トランザクションを認可するために、認可ユーザはユーザ・コンピュータ3に接続可能な専用のモバイル・トランザクション認可デバイス(transaction authorization device)(TAD)5を使用し、図1にはこうしたデバイスが3つ示されている。
【0025】
図2はTAD5、ユーザPC3およびサーバ2の概略ブロック図であり、認可システムに含まれる主要な構成要素を示している。本例のTAD5は小型のデスクトップ・デバイスであって、デバイスをユーザ・コンピュータ3に接続するための、ここではUSBインタフェース6であるコンピュータ・インタフェースと、ディスプレイ7およびユーザ入力のためのキーパッド8を含むユーザ・インタフェースとを有する。TAD5は、スマート・カード10とインタフェースするためのカード読取装置9の形のセキュリティ・デバイス・インタフェースも有する。制御ロジック11はデバイスのオペレーションを全体的に制御し、以下に説明される認可プロセスのさまざまなステップを実現する。サーバ2は、データ通信ネットワーク(単数または複数)4とインタフェースするための通常の通信回路13と、オンライン銀行サービスのさまざまな機能を実行するためのサーバ・ロジック14とを含む。加えてサーバ2は、認可制御ロジック15を含む認可装置と、オペレーションにおいて認可ロジック15によって使用されるさまざまなデータを含有するメモリ16とを含む。メモリは、以下に説明される目的を有する延期トランザクション・ログ17と、ルール・データベース18とを含む。ルール・データベース18は、1人またはそれ以上の認可ユーザによる認可を必要とするトランザクションを規定する。特に、データベース18に保存されるルール・データはトランザクションを示し、各トランザクションに対して、そのトランザクションに必要な認可を出す各認可ユーザの識別を示す。データベース18中のルール構造は、特定のアプリケーションに依存して、簡単なルール・セットから複雑なデータ構造までの範囲に及んでもよい。一般的に、TAD5中の制御ロジック11およびサーバ2中のロジック14、15は、ハードウェア、ソフトウェアまたはその組合わせにおいて実現されてもよいが、我々はここでは、このロジックがサーバ・コンピュータ2またはTAD5のプロセッサ上を適宜走るソフトウェアによって実現されるものと仮定する。本明細書の記載から、当業者には好適なソフトウェアが明らかになるだろう。TAD5の制御ロジック11を実現するプロセッサは、このプロセッサに付加的な任意のコードをロードできないように設計される。
【0026】
サーバ2は、ネットワーク4を介して、図面中に破線で示されるユーザPC3への第1の接続を有することが示される。たとえば、ユーザPCは典型的に、PC3上を走るウェブ・ブラウザを介して、サーバ2へのインターネット接続を有する。ユーザPC3は、TAD5に対してさらに以下に考察されるように働くプロキシ・アプリケーション19も走らせていることが示される。一般的にプロキシ19はPC3に予めインストールされていてもよいが、この好ましい実施形態において、プロキシは、たとえば自身をUSB大容量記憶装置として登録しているTADなどによって、TADからロードされてもよい。
【0027】
スマート・カード10は、サーバ2を運営する銀行によって認可ユーザに発行される。カード10は、TAD5とサーバ2との間で行われる認証プロセスにおいて用いるためのセキュリティ・データを含有する。本例において、セキュリティ・データは秘密の暗号鍵であるが、スマート・カードは便宜に応じて、ユーザ・アカウント情報および証明書、たとえばサービス・プロバイダURL、信頼されるTLS/SSL(トランスポート層セキュリティ/セキュア・ソケット・レイヤ(Transport Layer Security/Secure Sockets Layer)(商標))証明書、ユーザ名、PINなど、および場合によってはサーバ2との通信において用いるための付加的な暗号鍵によっても個人化される。
【0028】
システム1のオペレーションにおいて、銀行の顧客はあらゆる(信頼されていない)コンピュータ3からサーバ2に接続して、オンライン銀行ポータルにログインし、資金振替またはその他の銀行取引などのオペレーションを実行するようサーバに要求できる。こうしたトランザクション要求に応答したサーバ2のオペレーションが、図3の流れ図に示される。このプロセスは、ステップ20に示されるトランザクション要求の受取りによって開始される。サーバ2が受取るすべてのトランザクション要求は、サーバ・ロジック14によって認可ロジック15に渡される。ステップ21において、認可ロジックがルール・データベース18にアクセスして、そのトランザクションに対する認可が必要かどうかをチェックする。判定ステップ22において「No」(N)と示されるとおり、認可が必要でなければ、そのトランザクション要求はサーバ・ロジック14に戻され、サーバ・ロジック14はステップ23において指示されたトランザクションを単純に実行して、プロセスが完了する。しかし、判定ステップ22において「Yes」(Y)と示されるとおり、トランザクションに対する認可が必要であれば、ステップ24において認可ロジック15は延期トランザクション・ログ17にエントリを作成する。このエントリは、トランザクションの詳細に加えて、そのトランザクションに必要な認可を出すすべての認可ユーザの識別を記録する。よって、必要とされる認可(単数または複数)を受取るまでトランザクションは延期され、プロセスは終了する。
【0029】
異なる信頼されないユーザ・コンピュータ3から、さまざまな時間に複数のユーザがトランザクションを指示し得る。前述のとおり、すべてのトランザクション要求がサーバ2によって対処されることによって、延期トランザクション・ログはいつでも認可を待つ複数のトランザクションの詳細を含み得る。ルール・データベース18において識別される各認可ユーザは、上述のとおりスマート・カード10を有する。認可ユーザはTAD5も有していてもよいし、ある場所にコンピュータ3とともに用いるためにTAD5が設けられてもよいし、あるいはその両方であってもよい。いずれの場合にも、TAD5を有する認可ユーザがネットワーク接続されたコンピュータ3にアクセスするとき、ユーザは以下のとおりに認可手順を行い得る。ユーザはTAD5にスマート・カード10を挿入し、USBインタフェース6を介してTADをユーザPC3に接続する。TAD5のその後のオペレーションは制御ロジック11によって制御され、図4の流れ図に示される。ステップ30に示されるとおり、TAD5のPC3への接続に応答して、制御ロジック11はサーバ2に接続するプロセスを開始する。まず、ステップ31において、制御ロジックはディスプレイ7上のメッセージによって、ユーザに自身のPINをキーパッド8に入力するように促し、入力された番号はスマート・カード10に保存された番号に対してチェックされる。デバイスはユーザに正しいPINを入力する機会を何度か与えてもよいが、有効PINが入力されないとき(判定32におけるN)、このプロセスは終了する。しかし、PINが有効であると仮定するとき(判定32におけるY)、ステップ33において、制御ロジックはPC3におけるプロキシ・アプリケーション19を開始する。次にステップ34に示されるとおり、制御ロジックはプロキシ19の助けによって、TAD5とサーバ2との間の暗号化されたエンド・ツー・エンド通信のための相互認証された接続を確立する。この接続は図2において実線で示される。この接続を確立するために、制御ロジックはカード読取装置9を介してスマート・カード10と通信し、カード10に保存されたセキュリティ・データにアクセスする。TADとサーバとの相互認証を可能にするメッセージの暗号化/解読のために、予め同意された秘密鍵が用いられ、公知の態様でプロトコル・セットアップを実現することによって、サーバ2とのTLS/SSL接続が確立される。このTLS/SSL接続は、TAD5と、(スマート・カード10上の安全なデータを介した)そのTADの構成が目的とするサービス・プロバイダの信頼されるサーバ2との間のエンド・ツー・エンド接続であるが、プロキシはその2者間でネットワーク・パケットを盲目的に中継する。その結果、プロキシ19およびPC3を通過するすべてのデータが暗号化されるため、プロキシ19およびPC3は信頼できないものとなり得る。
【0030】
安全な接続を確立した後、図4のステップ35において、制御ロジック11はサーバ2に、TADのユーザによる認可まで延期されているあらゆるトランザクションの情報に対する要求を送る。安全な接続のセットアップにおいてすでに供給されていなければ、この要求にはカード10から検索されたユーザIDデータが含まれていてもよい。サーバが、未処理の関連トランザクションはないと応答するとき(判定ステップ36におけるN)、制御ロジックは遅延ブロック37に表される予め定められた時間間隔だけ待つ。次いでプロセスはステップ35に戻り、これによって安全な接続が持続する間、トランザクション情報に対する要求が定期的に繰り返される。判定ステップ36に戻って、サーバ2によってトランザクション詳細が返されれば、ステップ38において制御ロジックは認可されるべき第1のトランザクションの詳細をディスプレイ7に表示する。このディスプレイはユーザに、キーパッド8への入力によってそのトランザクションを承認または拒否するよう促すこともする。判定ステップ39においてその結果が検出され、ユーザによるトランザクションの拒否(ステップ40)または認可(ステップ41)が、安全な接続を介してサーバ2に送り返される。判定ステップ42において、制御ロジック11は表示すべき別のトランザクションがあるかどうかを判定し、もしあれば、次のトランザクションのためにオペレーションはステップ38に戻る。もしなければ、オペレーションは遅延ステップ37に戻って、トランザクション情報の次の要求を待つ。
【0031】
TADがその安全な接続を介してサーバ2に接続している間、前述のプロセスが続く。このやり方で、TAD5は安全な接続を介して、TADのユーザによる認可を必要とし、かつユーザ・コンピュータ3とサーバ2との間の他の接続のいずれかを介してあらゆるユーザから要求されている延期トランザクションの詳細を収集し、その要求はTAD5の接続の前または後であってもよい。延期トランザクションは、サーバ2とのブラウザ・セッションを介して現在のTADユーザによって要求されたトランザクションを含んでもよく、このブラウザ・セッションはまったく正常に行われ、TADの存在に影響を受けることがない。よってトランザクションは、いつでもどこからでもユーザがサーバに接続するときにユーザによって認可されることができ、トランザクション詳細は信頼されないコンピュータ3および信頼されないネットワーク4の媒介を介して、安全に伝達されて安全に認可される。
【0032】
TAD5からの延期トランザクション情報の要求に応答したサーバ2のオペレーションが、図5に示される。こうした要求はすべてサーバ2の認可ロジック15に送られる。ステップ50は認可ロジック15による要求の受取りを表しており、次いで認可ロジック15はステップ51において、要求しているTADのユーザによる認可を必要とするあらゆるトランザクションについて、延期トランザクション・ログをチェックする。関連トランザクションが見出されないとき(判定52におけるN)、ステップ53においてそのことがTADに報告されて、プロセスは終了する。ログに何らかの関連トランザクションが見出されたとき(判定52におけるY)、そのトランザクション詳細が安全な接続を介してTADに送られ、次いでロジック15は遅延55に示されるとおりに認可を待つ。認可応答が受取られないとき(判定56におけるN)、ロジック15はステップ57において、応答に対する「タイムアウト」限界に達したかどうかを判定し、もしそうであればプロセスは終了する。限界に達していなければ、オペレーションは遅延55に戻ってさらなる時間間隔だけ待つ。認可応答を受取ったとき(判定56におけるY)、認可ロジックはステップ58において、そのトランザクションが承認された(Y)か拒否された(N)かを識別する。もし拒否されれば、ステップ59および60において認可ロジックはそのトランザクションを延期トランザクション・ログ17から削除し、拒否されたことをサーバ・ロジック14に通知する。次いでサーバ・ロジック14は、たとえば要求しているユーザにトランザクション認可が拒否されたことを通知するなどの適切なアクションを取ることができる。次いでオペレーションはステップ61に進み、ここでロジック15は、認可を待つさらなるトランザクションがあるかどうかを判定する。もしなければプロセスは終了するが、もしさらなるトランザクションがあれば、オペレーションはステップ55に戻ってさらなる認可を待つ。ステップ58に戻って、ここでトランザクションが認可されるとき、次いでロジック15は判定63において、そのトランザクションに対する他のユーザの認可がなおも必要とされるかどうかをトランザクション・ログから判定する。もしそうであれば、ステップ64においてログを単純に更新することによって現在のユーザの認可を示し、オペレーションは前と同様にステップ61に進む。しかし、もし他のユーザの認可が必要でなければ、ステップ65において認可ロジックはサーバ・ロジック14にトランザクションを実行するよう指示する。次いで、ステップ64において延期トランザクション・ログからそのトランザクションが削除され、オペレーションは認可を必要とする次のトランザクションのためにステップ61に進む。現在のTADユーザによってすべてのトランザクションが認可(もしくは拒否)されるか、または認可に対するタイムアウト限界に達したとき、このプロセスは完了したとみなされる。
【0033】
前述のプロセスは、モバイル・ユーザが通信システム内のあらゆるユーザ・コンピュータを介して接続するときにはいつでも、サーバがモバイル・ユーザからのトランザクション認可を受取ることを可能にする。ルール・データベース18に規定されるとおり、すべての必要とされるパーティから必要な認可を受取ったときにのみ、サーバによってトランザクションが実現される。データベース18中のルールは、たとえば企業内の組織的責任を反映するための、任意の複雑なマルチ・パーティ認証要求を実現でき、サーバはどのトランザクションがどのユーザによって明示的に認可される必要があるかを判定する。たとえば、ユーザ1が1000USDの価値のあるトランザクションを開始したと仮定するとき、データベースは、トランザクションが500USDよりも大きい価値を持つときには、ユーザ1に加えてユーザNからも安全なトランザクション認可を必要とすることを指定したルールを含んでいてもよい。この場合、サーバは接続されたときに両方のユーザのTADに未処理のトランザクションを示し、両方のユーザがそのトランザクションを認可したときのみ、それはサーバによる処理に成功する。中間者(MITM)または悪意あるソフトウェアがユーザによるトランザクション開始プロセスを攻撃しても、その後のマルチ・パーティ・トランザクション認証プロセスは、たとえTADが信頼できないコンピュータ上で動作されていても、こうした攻撃に対して安全である。ユーザはTADに表示された情報を信頼することができ、サービス・プロバイダの信頼されるサーバにユーザの認可決定を安全に通信して返すことができる。よってTADを介したトランザクション認可は、中間者(MITM)および悪意あるソフトウェアの攻撃から電子トランザクションを保護し、複雑なマルチ・パーティ認可ルールを支持する一方で、ユーザの移動性を維持する。このやり方で、モバイル・コンピューティング環境において安全なマルチ・パーティ・トランザクション認可を効率的に実現できる。
【0034】
上に好ましい実施形態を記載したが、さまざまな追加および代替形を想定できる。たとえば、コンピュータ3のユーザがトランザクションを開始するために、たとえばウェブ・ブラウザなどを介してサービス・プロバイダのポータルに最初にログインするときの、ユーザ認証の際にもTAD5が伴われてもよい。ユーザがポータルへのアクセスを要求するとき、サーバ2は安全な接続を介して何らかの認証コードを返してもよく、その認証コードは未処理トランザクションと同様にユーザのTADによって表示されてもよい。次いでユーザはこのコードを用いて、コンピュータ3のキーボードで、またはTADのキーパッドを介してそのコードを入力することによって、ポータルと認証を行い得る。一般的にTADを使用する際に、ユーザの判定は安全なTLS/SSLチャネルを介してサーバに返されることが好ましいが、TADはトランザクション詳細とともにサーバによって生成された何らかのトランザクション/ユーザに特定的な認可コードを表示してもよい。次いでユーザはこのコードをディスプレイからコピーして、たとえばウェブ・ブラウザなどの、何か他のおそらくは信頼できない接続を介してサーバに送ってもよい。これは、ユーザによってウェブ・フォームに入力されるべき、通常はスクラッチ・リストまたはSMSテキストを介して帯域外配信されるワン・タイム・コードを必要とする既存のウェブ・ポータルとの適合性を提供する。
【0035】
オンライン銀行サービスの状況におけるオペレーションを説明したが、このシステムは、あらゆるタイプのリソースへのアクセスの認可を含む、多くのタイプのサーバ・オペレーションの認可のために適用できる。たとえば、マルチ・パーティ・トランザクション認可に対するのと同じやり方で、マルチ・パーティ・アクセス制御認可のためにTADを用いることができる。ここで、ユーザがサービス・プロバイダのポータルにログインしようと試みるとき、前の例におけるトランザクションに対するものと同様に、サーバは1人またはそれ以上の人物から彼らのTADを介して承認を要求できる。
【0036】
TADはさまざまな形を取ることができ、前述のとおり、その目的専用のものであってもよいし、たとえばマウスまたはMP3プレーヤなどの、限定された付加的な機能を提供する何らかの他のデバイスと一体化されていてもよい。ユーザ・インタフェースはさまざまな態様で実現されてもよく、ユーザに音響プロンプトを与えるか、または異なる態様で視覚的情報を提供するか、あるいはその両方を行ってもよく、たとえばマウス・レーザ機構を利用してデスクトップに投影表示を生成してもよい。TADコンピュータおよびセキュリティ・デバイス・インタフェースは一般的に、有線または無線接続のあらゆる便利な形を実現し得る。実際に、安全な接続を確立するためのセキュリティ・データは、TAD内に物理的に埋込まれたメモリ中に保存されてもよく、たとえば自己破壊するデータ・コンテナまたは侵入検知センサなどを用いた、改ざんから物理的に保護された安全なチップの中などに保存されてもよい。
【0037】
サーバ2の機能はサーバ・システムの異なる機械の上に分散されてもよく、メモリ16は2つ以上の機械の上に分散した1つまたはそれ以上の異なるメモリ構成要素によって実現されてもよい。
【0038】
本発明の範囲から逸脱することなく、記載された例示的な実施形態に対して多くのその他の変更および修正が行われ得ることが認められるだろう。

【特許請求の範囲】
【請求項1】
データ通信ネットワークを介してユーザ・コンピュータから要求されたリモート・サーバのオペレーションを認可するための認可デバイスであって、前記デバイスは、
データ通信ネットワークを介した前記リモート・サーバとの通信のために前記デバイスをローカル・ユーザ・コンピュータに接続するためのコンピュータ・インタフェースと、
ユーザに情報を提供するためのユーザ・インタフェースと、
使用中の制御ロジックにアクセス可能なセキュリティ・データを用いて、前記デバイスとサーバとの間に、前記ローカル・ユーザ・コンピュータを介して、前記デバイスとサーバとの間の暗号化されたエンド・ツー・エンド通信のための相互認証された接続を確立するように適合され、
前記サーバへの異なる接続を介して要求され前記デバイスのユーザによる認可を必要とするあらゆるオペレーションを示す情報を、前記サーバから前記接続を介して収集するように適合され、
前記オペレーションの認可を促すために、前記ユーザ・インタフェースを介してユーザに前記情報を提供するように適合された、
制御ロジックと
を含む、デバイス。
【請求項2】
前記制御ロジックは、前記相互認証された接続を介して前記サーバからの前記情報を要求するように適合される、請求項1に記載のデバイス。
【請求項3】
前記制御ロジックは、前記相互認証された接続が持続する間、定期的に前記サーバからの前記情報を要求するように適合される、請求項1または2に記載のデバイス。
【請求項4】
前記制御ロジックは、前記デバイスの前記ローカル・ユーザ・コンピュータへの接続に応答して、前記相互認証された接続の確立を開始するように適合される、先行する請求項のいずれかに記載のデバイス。
【請求項5】
前記セキュリティ・データを保存するメモリを含む、先行する請求項のいずれかに記載のデバイス。
【請求項6】
前記セキュリティ・データを保存するセキュリティ・デバイスに前記認可デバイスを接続するためのセキュリティ・デバイス・インタフェースを含み、前記制御ロジックは使用中の前記セキュリティ・デバイス・インタフェースを介して前記セキュリティ・データにアクセスするように適合される、請求項1から4のいずれか1つに記載のデバイス。
【請求項7】
前記セキュリティ・デバイス・インタフェースは、前記セキュリティ・データを保存するスマート・カードに前記認可デバイスを接続するためのカード読取装置を含む、請求項6に記載のデバイス。
【請求項8】
前記ユーザ・インタフェースはユーザ認可の入力のための入力機構を含み、前記制御ロジックは前記相互認証された接続を介して前記サーバに前記ユーザ認可を伝達するように適合される、先行する請求項のいずれかに記載のデバイス。
【請求項9】
データ通信ネットワークを介してユーザ・コンピュータから要求されたサーバのオペレーションを制御するための装置であって、前記装置は、1人またはそれ以上の認可ユーザによる認可を必要とするオペレーションを規定するルール・データを保存するためのメモリと、
前記オペレーションを行うためのユーザ・コンピュータからの要求に応答して、前記オペレーションのために少なくとも1人の認可ユーザによる認可が必要とされるかどうかを前記ルール・データから判定し、もし認可が必要であれば前記オペレーションを延期するように適合され、
先行する請求項のいずれかに記載の認可デバイスと通信して前記相互認証された接続を確立するように適合され、
ユーザ・コンピュータから要求され前記認可デバイスのユーザによる認可を必要とするあらゆる延期オペレーションを示す情報を、前記接続を介して前記認可デバイスに供給し、かつ前記ユーザから認可を受取るように適合され、
前記オペレーションに必要な認可を出すすべての認可ユーザから認可を受取ると、それに応答して、延期オペレーションの実行を開始するように適合された、
制御ロジックと
を含む、装置。
【請求項10】
前記制御ロジックは、前記相互認証された接続を介した前記認可デバイスからの要求に応答して、前記認可デバイスに前記情報を供給するように適合される、請求項9に記載の装置。
【請求項11】
前記制御ロジックは、前記相互認証された接続を介して前記認可デバイスの前記ユーザから前記認可を受取るように適合される、請求項9または10に記載の装置。
【請求項12】
データ通信ネットワークを介してユーザ・コンピュータから要求されたオペレーションを実行するためのサーバであって、前記サーバは、
前記データ通信ネットワークを介してユーザ・コンピュータと通信するための通信回路と、
ユーザ・コンピュータからの要求に応答して前記オペレーションを実行するためのサーバ・ロジックと、
前記サーバ・ロジックによる前記オペレーションの実行を制御するための、請求項9から11のいずれか1つに記載の装置と
を含む、サーバ。
【請求項13】
データ通信システムであって、
請求項12に記載のサーバと、
データ通信ネットワークを介して前記サーバと通信するための少なくとも1つのユーザ・コンピュータと、
少なくとも1つの、請求項1から8のいずれか1つに記載の認可デバイスであって、前記デバイスの前記コンピュータ・インタフェースを介して前記ユーザ・コンピュータに接続するための、前記デバイスと
を含み、前記ユーザ・コンピュータは、前記相互認証された接続を介して前記認可デバイスとサーバとの間の通信を中継するように適合される、データ通信システム。
【請求項14】
コンピュータ・プログラムであって、データ通信ネットワークを介したリモート・サーバとの通信のためにユーザ・コンピュータに接続するために適合された、認可デバイスのユーザに情報を提供するためのユーザ・インタフェースを有する前記デバイスのプロセッサに、
前記認可デバイスに関連するセキュリティ・データを用いて、前記ローカル・ユーザ・コンピュータを介して、前記サーバとの暗号化されたエンド・ツー・エンド通信のための相互認証された接続を確立させ、
前記サーバへの異なる接続を介して要求され、前記デバイスのユーザによる認可を必要とするあらゆるオペレーションを示す情報を、前記サーバから前記接続を介して収集させ、
前記オペレーションの認可を促すために、前記ユーザ・インタフェースを介してユーザに前記情報を提供させる
ためのコンピュータ・プログラム。
【請求項15】
コンピュータ・プログラムであって、データ通信ネットワークを介してユーザ・コンピュータから要求されたオペレーションを実行するために適合された、1人またはそれ以上の認可ユーザによる認可を必要とするオペレーションを規定するルール・データを保存するためのメモリを有するサーバに、
前記オペレーションを実行するためのユーザ・コンピュータからの要求に応答して、前記オペレーションのために少なくとも1人の認可ユーザによる認可が必要とされるかどうかを前記ルール・データから判定させ、もし認可が必要であれば前記オペレーションを延期させ、
請求項1から8のいずれか1つに記載の認可デバイスと通信して前記相互認証された接続を確立させ、
ユーザ・コンピュータから要求され、前記認可デバイスのユーザによる認可を必要とするあらゆる延期オペレーションを示す情報を、前記接続を介して前記認可デバイスに供給させ、かつ前記ユーザからの認可を受取らせ、
前記オペレーションに必要な許可を出すすべての認可ユーザから認可を受取ると、それに応答して、延期オペレーションを実行させる
ためのコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2012−503229(P2012−503229A)
【公表日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2011−526626(P2011−526626)
【出願日】平成21年9月17日(2009.9.17)
【国際出願番号】PCT/IB2009/054074
【国際公開番号】WO2010/032207
【国際公開日】平成22年3月25日(2010.3.25)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】