説明

通信ネットワーク上でのクライアントとサーバ間の安全なデータ通信

【課題】
通信ネットワーク上でクライアントとサーバの間でデータを安全に送信するための方法及び装置を提供すること。
【解決手段】
安全なデータ送信は、クライアントが最初に認証された後、(a)少なくともデータが送信されている間、一連のクライアント接続メッセージをクライアントからサーバに送信すること、(b)少なくとも前記データが送信されている間、一連のサーバ接続メッセージをサーバからクライアントに送信すること、(c)クライアント接続メッセージをサーバにおいて監視すること、(d)サーバ接続メッセージをクライアントにおいて監視すること、(e)クライアント接続メッセージあるいはサーバ接続メッセージのいずれかに攪乱が発見された場合に、クライアントとサーバの間のデータ送信を停止させ、クライアントを再認証してデータを再送信すること、及び(f)暗号化データがサーバに無事に送信された場合に、受信者に関係付けられたデータベースに暗号化データを格納すること、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワーク上におけるクライアントコンピューター(クライアント)間の安全なデータ通信に関し、特に、中間サーバを介してクライアント間で安全にデータ通信及び交換を行う方法及び装置に関する。
【背景技術】
【0002】
通信ネットワーク上での安全なデータの交換は、多くの事業及び産業分野において最も重要な問題の一つである。電子データを安全に送信するために、様々な暗号化方法及び暗号化鍵スキーム(公開及び秘密)が使われてきた。例えば、通常、電子メール交換システムはユーザ名とパスワードによって守られており、発信メッセージの内容と添付ファイルのための暗号化機能を有している。通常、データ交換システムにおける暗号化された通信にはセキュア・ソケット・レイヤー(SSL)プロトコルが用いられる。トランスポート・レイヤー・セキュリティ(TLS)プロトコルを用いることもできる。電子取引においては、ユーザを識別するために電子証明書(デジタルID)も用いられる。送信データは暗号化され、データ交換サーバへのアクセスはパスワードと証明書の使用によって制限されてはいるが、このような従来のデータ交換システムは送信中の“通信経路”を守ることはしない。例えば、暗号化されたデータが発信元/送信者から送り出された後、宛先/受信者に届く前に、データパケットとしての暗号化データがハッキングされたり、変更されたりするかもしれない。ユーザがデータ交換サーバへのアクセスを許可され、データをダウンロードあるいはアップロードし始めた後に、データが傍受、漏洩されたり、あるいはフィルタにかけられることによりデータ内の情報がハッキングされるかもしれない。更に、インターネット上の買い物やインターネット銀行業務(オンラインバンキング)のような電子取引においては、ユーザは、最初に安全なサイトにログオンするときにだけ(通常ユーザ名とパスワードを用いて)認証・許可される。そのような電子取引の間には、偽装したユーザがログオンして安全なサイトにアクセスしようとしたり、あるいはユーザが意図しないサイトに誘導されユーザの個人情報が奪われるかもしれない。しかしながら、従来のシステムは、ユーザが最初に認証されたユーザと同じユーザであり、サーバがそのままの同じサーバであるかどうかを確認する手段を有していない。
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は、通信ネットワーク上でクライアントとサーバの間でデータを安全に送信するための方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【0004】
安全なデータ送信は、クライアントが最初に認証された後、(a)少なくともデータが送信されている間、一連のクライアント接続メッセージをクライアントからサーバに送信すること、(b)少なくとも前記データが送信されている間、一連のサーバ接続メッセージをサーバからクライアントに送信すること、(c)クライアント接続メッセージをサーバにおいて監視すること、(d)サーバ接続メッセージをクライアントにおいて監視すること、(e)クライアント接続メッセージあるいはサーバ接続メッセージのいずれかに攪乱が発見された場合に、クライアントとサーバの間のデータ送信を停止させ、クライアントを再認証してデータを再送信すること、及び(f)暗号化データがサーバに無事に送信された場合に、受信者に関係付けられたデータベースに暗号化データを格納すること、を含む。
【発明を実施するための最良の形態】
【0005】
本明細書に組み込まれ、その一部を構成する添付の図面は、本発明の1つあるいはそれ以上の実施例を提示しており、発明の詳細な記述と共に本発明の原理と実施の形態とを説明する。
【0006】
本発明の実施の形態は、通信ネットワーク上でクライアントからサーバにデータを安全に送信するための方法と装置として記載される。当業者には、以下の本発明の詳細な記載が例示的なものであり、決して限定的に解釈されるこを意図したものでないことが理解できるであろう。本開示内容から本発明の他の実施例が容易に示唆されることが当業者にはわかるであろう。添付の図面に示されるように、実施形態を参照して本発明が詳細に説明される。図面及び以下の詳細な説明を通して、同様の要素には同様の参照番号が用いられる。
【0007】
ここに記載される実施の形態においてよく知られた慣例的な特徴は、記載を明瞭にするため、その全てが説明されるわけではない。もちろん、具体的な実施の形態の開発に当たっては、開発者の特定の目的を達するため、その用途や事業に応じた制約など、実施形態に特有の数多くの決定がなされなければならないであろう。また、そのような特定の目的は、実施の形態によって、また開発者によって異なるであろう。さらに、そのような開発の努力は複雑であり時間がかかるかもしれない。しかし、それにもかかわらず、本開示を得た当業者にとっては、それらは技術開発における通常の事業活動であることが理解される。
【0008】
本発明による1つの実施例においては、要素、プロセスステップ、及び/又はデータ構成は、様々なタイプのオペレーティングシステム(OS)、コンピューティングプラットフォーム、ファームウェア、コンピュータープログラム、コンピューター言語、及び/又は汎用マシーンを用いて実施され得る。本発明による方法は、処理回路上で実行されるプログラムされたプロセスとして実施され得る。そのような処理回路は、プロセッサ及びオペレーティングシステムの様々な組み合わせ、あるいは独立した装置としての形態をとることができる。プロセスは、そのようなハードウェアによって実行される命令として、ハードウェアのみで、あるいはそれらの組み合わせとして実施され得る。ソフトウェアは、機械によって読み取り可能なプログラム記録装置に記録されてもよい。
【0009】
本発明の1つの実施例によれば、本発明の方法は、パーソナルコンピューター、ワークステーションコンピューター、メインフレームコンピューター、あるいは高性能サーバなどのデータ処理コンピューター上に実施されてもよい。高性能サーバは、カリフォルニア州、パロアルトのサン・マイクロシステムズのソラリス、ワシントン州、レッドモンドのマイクロソフトコーポレイションのマイクロソフトウインドウズXP及びウインドウズ2000、あるいは、数多く市販されているリナックスのようなユニックスオペレーティングシステムの様々なバージョンなどのOSを実行してもよい。また、本発明による方法は、多プロセッサシステムや、入力デバイス、出力デバイス、ディスプレイ、ポインティングデバイス、メモリ、記録装置、プロセッサとのデータのやり取りのためのメディアインターフェースなど、様々な周辺機器を有するコンピューティング環境に実施されてもよい。また、そのようなコンピューターシステムやコンピューティング環境は、ローカルにあるいはインターネットを介してネットワーク化されていてもよい。
【0010】
図1は、本発明による形態を実施するのに適したコンピューターシステム100を示すブロック図である。図1に示されるように、コンピューターシステム100は、バス102を備えており、バス102は、中央処理装置104、システムメモリ106(典型的にはRAM)、入力/出力(I/O)制御装置108、ディスプレイアダプタ112を介して接続されたディスプレイスクリーン110のような外部装置、シリアルポート114及び116、キーボード118、固定ディスクドライブ120、フロッピーディスク(登録商標)124を受け入れるように構成されたフロッピーディスク(登録商標)ドライブ122、CD−ROM128を受け入れるように構成されたCD−ROMドライブ126などの主要なサブシステムを相互接続している。多くの他の装置、例えば、シリアルポート114を介して接続されたポインティングデバイス130(例えば、コンピューターマウス)、シリアルポート116を介して接続されたモデム132などが接続されてもよい。モデム132によって、電話線網を介して遠隔のサーバに直接接続したり、POP(Point of Presence)を介してインターネットに直接接続することができる。あるいは、ネットワークインターフェースアダプタ134を介し、当業者によく知られたネットワークインターフェースシステム(例えば、イーサネット(登録商標)、xDSL,アップルトークなど)を用いて、ローカルエリアネットワークやワイドエリアネットワークに接続してもよい。
【0011】
他の多くの装置やサブシステム(図示せず)が同様の方法で接続されてもよい。また、以下に説明される本発明を実施するために、図1に示される全ての装置が必要とは限らない。さらに、装置やサブシステムは、図1に示されるのとは異なる方法で相互接続されてもよい。図1に示されるようなコンピューターシステムの動作は当業者にはよく知られており、本発明の記載を不必要に複雑化しないため、本明細書においては詳細に議論されない。本発明を実施するコンピューターコードは、システムメモリ106や、固定ディスク120、フロッピーディスク(登録商標)124、あるいはCD−ROMやDVD−ROMのような光学記録媒体128などの記録媒体に記録されてもよい。
【0012】
前述したように、従来のデータ交換システム及び電子取引システムは、ID/パスワードによる保護及びデータ暗号化を提供するが、通信中のデータトラフィック及びデータ通信経路は情報傍受、盗聴、フィルタリングなどに対して脆弱なままである。本発明は、クライアント(クライアントコンピューター)とクライアントとの間に中間サーバを設け、クライアントコンピューターと中間サーバとの間で接続メッセージを交換することによって通信経路を保護し、更なる安全性を提供する。本発明は、クライアントとサーバ間の電子取引にも適用可能である。本発明の実施例によれば、データ送信の間、特定のシーケンス、順序、あるいはパターンを有する一連の接続メッセージが、「背景(バックグラウンド)」通信として交換される。もし、クライアント側あるいはサーバ側の何れかにおいて、特定のシーケンス、順序、あるいはパターンに攪乱が観察された場合、進行中のデータ送信は中断され、データ送信プロセスは、最初のクライアント・サーバ証明書及び認証プロセスからやり直しされる。更に、クライアント・サーバ間で接続メッセージの送受信を行うことにより、お互いに正しい相手と通信していることを両者が継続的に確認することができる。本発明は、更に、クライアント及びサーバがクライアント証明書及びサーバ証明書を交換する証明書プロセスを提供する。
【0013】
図2は、本発明の1つの実施例による、通信ネットワーク上でクライアント10及び12の間でデータを安全に送信するシステム200を模式的に示す。システムは、通信ネットワーク14に接続された中間サーバ16を備えている。図2には2つのクライアントしか示されていないが、システム200には2つより多くのクライアントが含まれていてもよい。このシステムは閉鎖的であり、全てのユーザ(及びクライアント)はシステムに加入する前に登録されなければならない。サーバ16は、全ての登録されたユーザ/クライアントを知っており、クライアント間のデータ交換を仲介する。データ送信は、暗号化体系、例えばSSLプロトコルを採用することによって保護される。SSLプロトコルに加えて、又はその代わりに、他の暗号化体系を用いてもよい。ユーザは、送信されるデータの受信者として、一人のユーザ、あるいはユーザグループを選択することができる。
【0014】
各クライアントは、サーバ16と通信可能なデータ交換モジュールを有する。図3は、本発明の1つの実施例によるデータ交換モジュール20を備えたクライアント10を模式的に示す。例えば、データ交換モジュール20は、クライアントコンピューターに搭載(インストール)されたアプリケーションプログラムでもよい。本発明の1つの実施例によれば、アプリケーションプログラムは、インストールされたクライアントと1対1の対応関係にあり、モジュールに固有の識別情報、例えばシリアル番号によって識別される。クライアント10の電子証明書(クライアント証明書)は、たとえば、アプリケーションプログラムがその製造者によってクライアント10にインストールされるときに付与される。電子証明書は、更新・変更されてもよく、例えば毎年、あるいは2年毎に更新されてもよい。クライアント証明書はそのクライアントを識別するために特別に割り当てられる。
【0015】
図3に示すように、データ交換モジュール20は、証明書送信器22、暗号化器24、接続メッセージ送信器26、接続メッセージ受信器28、データ送信制御器30、及びインターフェース32を備える。データ交換モジュール20は、更に、サーバ16から受け取ったデータを復号する復号化器38を備えている。クライアント10は、また、データを処理するためのデータ処理モジュール(図示せず)のような他の要素をも備えている。
【0016】
証明書送信器22は、クライアント証明書をインターフェース32を介してサーバ16に送信する。クライアント10が認証された場合、サーバ証明書がサーバ16からクライアント10に返送される。クライアント10は、送信すべきデータにサーバ証明書を添付し、暗号化器24が送信データ及びサーバ証明書を一緒に暗号化することにより暗号化データを生成する。例えば、セキュアソケットレイヤー(SSL)プロトコルが暗号化に用いられる。
【0017】
接続メッセージ送信器26は、少なくとも暗号化データが送信されている間、一連のクライアント接続メッセージをサーバ16に送信し続ける。本発明の1つの実施例によれば、クライアント10は、クライアント10がサーバ16にログオンした時からクライアント接続メッセージを送信し始め、クライアント10がサーバ16からログオフした時にクライアント接続メッセージの送信を停止する。一連のクライアント接続メッセージは、クライアント10に特有のシーケンス、順序、あるいはパターンを有する。例えば、クライアント接続メッセージの1つ1つに番号を付したり、時刻印(タイムスタンプ)したり、あるいはそれ以外の方法によって接続メッセージの各々が互いに識別・分別可能であるようにして、一連の接続メッセージが観察者によって特定可能な特別なシーケンスを形成するようにする。あるいは、クライアント接続メッセージにはいくつかのタイプがあり、その異なるタイプのシーケンスがパターンを形成する。たとえば、もし接続メッセージが4つのタイプ、A、B、C、Dを有する場合、ABCDABCDABCDというシーケンスは特定の周期的なパターンを構成する。クライアント接続メッセージはそのクライアントに特有であるか、あるいはクライアント識別子を含んでおり、従って、どのクライアントがその特有なクライアント接続メッセージを送っているのかをサーバが区別することができる。また、クライアント接続メッセージのパターンはクライアント毎に異なっている。更に、特有のシーケンス、順序、あるいはパターンは、所望の期間ごとに更新・変更されてもよい。
【0018】
接続メッセージ受信器28は、サーバ16から送られたサーバ接続メッセージを受信し監視する。クライアント接続メッセージと同様に、一連のサーバ接続メッセージは特定のシーケンス、順序、あるいはパターンを有する。データ送信の間、接続メッセージ受信器28は、受信したサーバ接続メッセージのシーケンスを監視し検査する。もし、順序(あるいは特有のパターン)が攪乱された場合、例えば、サーバ接続メッセージ(のいくつか)が欠損していたり、順序が入れ違っている場合、データのハッキング、誘導、傍受、その他、データ送信への何らかの攻撃があったことを意味する。
【0019】
データ送信制御器30は、証明書送信器22、暗号化器24、接続メッセージ送信器26、及び接続メッセージ受信器28を制御する。もし接続メッセージ受信器28が受信したサーバ接続メッセージの攪乱を検出した場合、データ送信制御器30が現在進行中のデータ送信を中止させる。もしデータ送信が完了する前にデータ送信が停止された場合、データ送信制御器30は、クライアント認証プロセスをやり直させ、証明書送信器22がクライアント証明書をサーバ16に再送するようにする。
【0020】
本発明による1つの実施例によれば、クライアント10は、セキュリティモジュール40及びメモリあるいはデータベース42を更に備えている。ユーザ名、パスワード、生体情報などのユーザ識別情報及び生年月日、出生地などのその他の個人情報がメモリ42に保存されてもよい。また、アプリケーションプログラムが搭載される時に、たとえば、米国イリノイ州、アーリントンハイツのアラジンナレッジシステムズが提供するHASP(Hardware Against Software Piracy)鍵のようなハードウェア用セキュリティ鍵44がインストールされてもよい。HASP鍵は、個別のコンピューターで実行されるソフトウェアを保護し、ライセンスするために用いられる。他のタイプのハードウェア用鍵、パスワード、あるいはパスコードなどが用いられてもよい。
【0021】
セキュリティモジュール40は、ユーザ識別情報に基づいて、ユーザがクライアント10を使うのを許可する。セキュリティモジュール40は、上述の識別・個人情報の様々な組み合わせを用いてユーザを識別し、認証する。ユーザが1つあるいはそれ以上のタイプの個人情報をユーザインターフェース34から入力するように促してもよい。ユーザがクライアントを使ってデータを送信する前に、正しいハードウェア用セキュリティ鍵を挿入するように要求してもよい。あるいは、クライアント10が使われる状況に応じ、1つのハードウェア用セキュリティ鍵を共有することにより、複数のユーザがクライアント10を使えるようにしてもよい。ユーザの生体情報を用いる場合、たとえば、指紋センサーや撮像装置など、使おうとするユーザからの生体情報を受け取る生体情報センサー46をクライアント10に備えてもよい。その場合、当業者にはよく理解できるように、セキュリティモジュール40は生体識別処理を行うソフトウェア及び/又は回路(図示せず)を備えている。データ交換モジュールが搭載され、特定のクライアントとユーザのために初期化される時に、上述した識別・個人情報の全てを記録してもよい。なお、図3において、セキュリティモジュール40はデータ交換モジュール20とは別のモジュールとして示されているが、セキュリティモジュール40はデータ交換モジュールと一体化されていたり、その一部であってもよい。
【0022】
無事にユーザの識別及び認証が済むと、ユーザはクライアント10を使ってデータ送信することを許可される。ユーザのリクエストやコマンドに応じて、クライアント10は、まず、アクセスリクエストにクライアント証明書を添付してサーバ16に送る。サーバ16は、リクエストしているクライアント10が正しいクライアント証明書を持っていることを確認してから、クライアント10にサーバ16のサーバ証明書を返送する。あるいは、サーバ16は、まず、承認(肯定的な認証結果)のみをクライアント10に送り、処理を続けて(クライアント10がシステムにログオンするのを許可し)、クライアント10が更にデータ送信リクエストを行ってからサーバ証明書を返送してもよい。クライアント10のデータ取り出しリクエストに対しては、サーバ16はサーバ証明書を返送しなくてもよい。また、データ交換モジュール及び/又はクライアントマシンの識別情報(例えばシリアル番号)を用いて、クライアント10の認証プロセスを更に行ってもよい。どの情報をいかなる順序で用いるかは、クライアント10とサーバ16間のプロトコルの選択によって決められてもよい。そのようなプロセスの特定のシーケンス(順序)自体を更なる安全措置として用いてもよい。
【0023】
従って、データ交換モジュール20は、データ送信制御器30に制御されるプロトコル監視器(モニター)36を更に備えてもよい。プロトコル監視器36は、所定の特定プロトコルからの逸脱がないかどうか、データ交換モジュール20の動作のシーケンスを監視する。もし、タイミングや、動作のシーケンスが特定のプロトコルから逸脱した場合、プロセスが攻撃されていたり、ハッキングされたり、偽装したクライアント・ユーザがサーバ16にアクセスしようと試みているのかもしれない。そのような場合、証明書プロセス及び/又はそれに引き続くデータ送信は、データ送信制御器によって停止され、プロセス全体が最初からやり直しされる。このことにより、更なるセキュリティのレイヤが提供される。
【0024】
本発明による1つの実施例によれば、サーバ16は中間サーバに限らず、オンラインショッピング、オンライン銀行取引や他の電子取引を提供する商業用のサーバであってもよい。そのような場合、クライアント10は顧客クライアントでもよい。そのような顧客クライアントは、データ交換モジュールのためのアプリケーションプログラムを商業用サーバからダウンロードしたり、あるいはオフラインでインストールするために、アプリケーションプログラムを記録した光ディスク(CD)のような記録媒体を購入してもよい。電子取引が行われている間、あるいは顧客クライアントがサーバにログオンしている間、クライアント接続メッセージ及びサーバ接続メッセージが顧客クライアントと商業用サーバとの間で交換されてもよい。クライアント/サーバ接続メッセージは、電子取引の間、顧客/サーバが正しい実体であることを確認し続けることを可能にし、さらに、通信経路を不正な干渉から保護する。電子証明書が別途に顧客クライアントに送られてもよい。前述した証明書の交換は、顧客クライアントの最初の認証プロセスで行われてもよく、あるいは顧客クライアントが支払や資金振替を行うときや、重要な情報や秘密にすべき情報が顧客クライアントからサーバに送信されるときにサーバ証明書を添付してもよい。
【0025】
図4は、本発明の1つの実施例によるサーバを模式的に示している。サーバ16は、制御器50、認証器52、証明書送信器54、接続メッセージ送信器56、接続メッセージ受信器58、メモリ60、及びインターフェース70を備えている。認証器52は、クライアント10から送られたクライアント証明書を受け取り、そのクライアント証明書に基づいてクライアントを認証する。例えば、認証器52は、クライアント10からのクライアント証明書が登録されたクライアント証明書の1つに一致するかどうかを決定する。メモリ60は、登録されたクライアントの情報や、認証器52が用いる登録されたクライアントの証明書を保持するデータベース68を備えていてもよい。クライアント証明書に加え、ユーザ名やパスワードがクライアント10の認証に用いられてもよい。
【0026】
クライアント10が認証された場合は、証明書送信器54がクライアント証明書に基づいて、あるいはクライアント証明書の関数として、サーバ証明書を生成し、そのサーバ証明書をクライアントに送信する。サーバ証明書はクライアント証明書の情報を含んでいる。例えば、クライアント証明書をサーバ証明書に添付して送り返してもよい。
【0027】
クライアントの接続メッセージ送信器26と同様、サーバの接続メッセージ送信器56は、一連のサーバ接続メッセージをクライアント10に送る。少なくともサーバ16及びクライアント10の間でデータが送信されている間、サーバ接続メッセージが送信される。本発明による1つの実施例によれば、サーバ16は、クライアント10がサーバ16にログオンした時からサーバ接続メッセージを送り始め、クライアント10がサーバ16からログオフした時にサーバ接続メッセージの送信を止める。サーバ接続メッセージはブロードキャスト(同放通信)されるのではなく、現在サーバ16にログオンしている特定のクライアント10にだけ送信される。クライアント接続メッセージと同様、サーバ接続メッセージは、クライアント10によってモニターできる特定のシーケンス、順序、あるいはパターンを有している。
【0028】
接続メッセージ受信器58は、クライアント10から送られるクライアント接続メッセージを受け取って監視する。制御器50は、接続メッセージ受信器58がクライアント接続メッセージのシーケンス、順序、あるいはパターンに攪乱を発見した場合、データ送信を停止させる。もし、データ送信が完了する前に、受け取ったクライアント接続メッセージが攪乱されているが故にデータ送信が停止、あるいは中断された場合、制御器50はクライアント10にインターフェース70を介してエラーメッセージを送ってもよい。そのようなエラーメッセージに応答して、クライアント10は、データを再送信するため、クライアント証明書を送信することにより再認証プロセスを開始する。もし、データ送信が無事完了した場合、送信されたデータ(アップロードされたデータ)は、サーバ16のメモリ60に格納され、通常は特定の期間保持される。
【0029】
メモリ60は、各々が特定のクライアントに関連付けられたデータベース62、64、66、・・・を備えている。本発明による1つの実施例によれば、クライアント10のユーザは、どのユーザ(すなわち、単数又は複数の受信者クライアント)にデータを送信し、また格納されたデータをどれくらいの期間サーバ16に保存しておくべきかを指定できる。このような指定情報は、データ送信リクエストにおいて特定することができる。もし、特定の保存期間が指定されない場合、制御器50がデフォルトの保存期間を設定してもよい。このようにして、サーバ16にアップロードされたデータが受信者クライアントに対応するデータベースに指定された期間だけ保存され、その期間の間、受信者クライアントはそのデータにアクセスしてデータの取り出し(ダウンロード)を行うことができる。
【0030】
例えば、クライアント10(送信者クライアントA)がデータをサーバ16に送信する場合、データ送信リクエストは少なくとも一人の受信者クライアント、例えばクライアント12(受信者クライアントB)を含んでいる。そして、クライアント10から送信されたデータは、クライアント12(受信者クライアントB)に関連付けられているデータベース64に保存される。保存されたデータは、暗号化されたまま保持され、またクライアント証明書の情報を含んだサーバ証明書を含んでいる。従って、クライアント12がデータを受け取って復号化する時、クライアント12はクライアント10が送信者クライアントAであることを確認できる。
【0031】
制御器50は、認証器52とメモリ60に結合され、上述のメモリ動作を実行するメモリアクセス制御器72を備えていてもよい。すなわち、メモリアクセス制御器72は、クライアント10(送信者クライアントA)からのデータ送信リクエストを受け取り、クライアント10からの暗号化されたデータを、データ送信リクエストで特定されているクライアント12(受信者クライアントB)に関連付けられたデータベース64に格納する。クライアント12が自身に関連付けられているデータベース64へのアクセス及びデータ取り出しをリクエストすると、メモリアクセス制御器72は、クライアント12が認証器52によって認証された後、格納されたデータがクライアント12に送信されることを許す。認証器52は、クライアント10を認証するのと同様の方法でクライアント12を認証する。
【0032】
更に、サーバ16は、制御器50によって制御されるプロトコル監視器74を備えていてもよい。プロトコル監視器74は、所定のプロトコルからの逸脱がないかどうか、サーバ16の動作シーケンスを監視する。もし、タイミングや動作シーケンスが特定のプロトコルから逸脱している場合、サーバプロセスがアタックあるいはハッキングされていたり、また偽装したクライアント/ユーザがサーバ16にアクセスしようとしているのを示唆しているかもしれない。そのような場合、制御器50によって証明書プロセス及び/又はその後のデータ送信が停止され、プロセス全体が初めからやり直しされる。このことにより、更なる安全性が提供される。
【0033】
本発明による一実施例においては、サーバ16は、上述のような中間サーバではなく商業用サーバであってもよい。そのような場合、各データベース62、64、等は、各々のクライアントの金融情報、購買情報や、関連した個人情報などを保持するクライアントのアカウントの記録であってもよい。制御器50あるいはメモリアクセス制御器72は、データを特定期間だけ保持するというより、各クライアントが自分のアカウント記録にアクセスするのを制御する。認証器52、証明書送信機54、接続メッセージ送信器56、接続メッセージ受信器58、及びプロトコル監視器74は、中間サーバと同じような方法で商業用サーバ上に搭載・実装されてよい。
【0034】
上述のように、少なくともデータがサーバとクライアントの間で送信されている間、図5に示されるように、サーバとクライアント間のバックグラウンド(背景)通信として、一連のクライアント接続メッセージ(m1、m2、m3、・・・)がサーバに送られ、一連のサーバ接続メッセージ(M1、M2、M3、・・・)がクライアントに送られる。更に安全性を増すために、2種類、あるいは3種類以上の一連の接続メッセージがいずれの方向の通信に用いられてもよい。接続メッセージの各々は、送り主(ソース)、宛先、及び前述のシーケンス情報を含む小さなデータパケットであってもよい。従って、図5に示すように、通信経路に沿って2方向に流れるクライアント接続メッセージ及びサーバ接続メッセージによって、暗号化された送信データが保護される。クライアント接続メッセージ及びサーバ接続メッセージはデータ通信経路の「護衛」あるいは「番犬」として働き、接続メッセージの流れに生じた攪乱は、データ通信経路への不法な干渉を示唆する。攪乱はどちらの側(即ちクライアント及びサーバ側)でも検出できる。クライアント接続メッセージ及びサーバ接続メッセージにより、クライアント及びサーバの自己同一性(身元)を継続的に確認することができる。即ち、データ通信あるいは電子取引を行っている間中、クライアントは正しいクライアントであり、サーバも正しいサーバであることを確認できる。
【0035】
図6は、本発明の1つの実施例による、通信ネットワーク上でクライアントとサーバの間でデータを安全に送信するための方法を模式的に示す。クライアントはサーバと通信可能なデータ交換モジュールを備えている。データ交換モジュールは、ユーザの識別情報を有するように設定された特定のクライアントにあわせ、特定のユーザ用に設定されている。例えば、データ交換モジュールは、アプリケーションプログラムをクライアントにインストールすることによって設定され、その設定は、クライアント証明書を付与し、クライアント/サーバ接続メッセージ機能やその他の特定のプロトコルの設定を行うことを含む。クライアント及びサーバは、上述の実施例で説明したクライアント11及びサーバ16であってもよい。
【0036】
本発明の1つの実施例によれば、許可されたユーザのみがデータ交換・通信システムにアクセスすることができる。クライアントを使ってデータを送信しようとするユーザは、まず、ユーザ識別(ID)情報を入力するように促される。入力されたID情報は、保存された、既に許可されているユーザのID情報と比較される(ステップ202)。例えば、ユーザ名、パスワード、個人情報、ハードウェア用セキュリティ鍵、ユーザの生体情報などの組み合わせを用いて、ユーザの認証を行う。要求されたユーザID情報がお互いに合致すれば、ユーザは、データ交換・通信システムを使うことが許可される(ステップ204)。
【0037】
たとえば、ユーザがデータ送信リクエストを行うと、ユーザのリクエストに従い、クライアント証明書とデータ送信リクエスト(アップロードリクエスト)がサーバに送られる(ステップ206)。データ送信リクエストは少なくとも一人の受信者クライアント/ユーザを特定する。サーバはクライアント証明書を受け取り(ステップ208)、そのクライアント証明書が登録されたクライアント証明書の1つと一致するかどうかを決定する(ステップ210)。もしクライアント証明書が一致すれば、サーバはクライアントを認証し(ステップ212)、クライアント証明書に基づいてサーバ証明書を生成する(ステップ214)。サーバはサーバ証明書をクライアントに送信する(ステップ216)。サーバ証明書はクライアント証明書の情報を含んでいる。クライアントを認証する際、更なる安全性のため、パスワードやシリアル番号などのクライアントIDを併せて用いてもよい。クライアントはサーバ証明書を受け取る(ステップ218)。クライアントとサーバの間で各々の証明書を交換することによってクライアントが認証され、更にクライアントはサーバ証明書からサーバの身元を確認できる。
【0038】
クライアントの認証が済むと、通常クライアントはサーバにログオンする。その後、クライアントとサーバは各々の接続メッセージを送信し始めてもよい(ステップ220、222)。少なくともデータが送信されている間、一連のクライアント接続メッセージがクライアントからサーバに送られ、一連のサーバ接続メッセージがサーバからクライアントに送られる。
【0039】
データを送信する時、クライアントは、受け取ったサーバ証明書を送信データに添付し、それらを一緒に暗号化する(ステップ224)。例えばSSLプロトコルが暗号化に用いられてもよい。暗号化されたデータ(サーバ証明書を含む)はサーバに送られる(ステップ226)。サーバは暗号化されたデータを受け取り、受信者に関連付けられたデータベースに保存する(ステップ228)。もし、クライアントからのデータ送信リクエストが2人以上の受信者を特定している場合、送信されたデータは各々の受信者に対応する各データベースに保存される。
【0040】
図7は、本発明の1つの実施例による、接続メッセージを用いてデータ送信経路を保護するメカニズムを模式的に示している。クライアントがサーバにログオンした後、クライアント及びサーバは各々の接続メッセージを送り始め(図6のステップ220、222)、クライアントがサーバからログオフするまで送り続ける。接続メッセージの送信は、クライアントとサーバの間の「主」データ送信と平行して行われ、接続メッセージは少なくともデータ送信の開始からその終了までの時間を保護するようにクライアントとサーバの間で交換される。上述のように、一連のクライアント接続メッセージはクライアントに特定のシーケンスあるいはパターンを有し、サーバ接続メッセージも特定のシーケンスあるいはパターンを有している。
【0041】
図7に示されるように、クライアント接続メッセージはサーバで受け取られ、監視される(ステップ230)。もし、クライアント接続メッセージに攪乱が発見された場合(ステップ232)、サーバは現在進行中のデータ送信を中止する(ステップ234)。接続メッセージの攪乱としては、例えば、接続メッセージの欠損、順序の入れ替わり、予想外の遅れ、等である。攪乱が観察されたり、データ通信が完了する前に中止された場合、サーバは、エラーメッセージをクライアントに送ってもよい(ステップ236)。エラーメッセージに応答し、クライアント(のデータ交換モジュール)はデータ送信を停止し、クライアント認証手続きをやり直す。
【0042】
同様に、クライアントはサーバ接続メッセージを受け取って監視する(ステップ240)。もし、サーバ接続メッセージに攪乱が発見された場合(ステップ242)、クライアントは現在進行中のデータ送信を中止する(ステップ244)。もしデータ送信が中断された場合、クライアントのプロセスはクライアント認証手続きに戻り(図6のステップ206)、クライアント証明書がサーバに再送信される。クライアント/サーバ証明書が無事に交換された後、クライアントはデータをサーバに再送信する。
【0043】
データ送信の停止(中断)、クライアントの再認証、及びデータの再送信は、ユーザが介入することなく、クライアントのデータ送信モジュールとサーバによって自動的に行われてもよい。従って、ユーザがこの再試行プロセスに気づかなかったとしても、システムは安全無事なデータ送信を確実にする。もし、クライアント/サーバ証明書が繰り返して攪乱され、再試行を所定回数行ってもデータ送信が完了できない場合、データ交換モジュールはユーザに警告メッセージを出してもよい。
【0044】
上述の例においては、クライアントの認証は証明書交換手続きによって行われている。しかし、本発明の1つの実施例によれば、クライアント証明書及びサーバ証明書を交換する前に、最初のクライアント認証が行われてもよい。例えば、クライアントがユーザ名とパスワードを送ってサーバにログオンし、データ送信を行う前に証明書を互いに交換する。クライアント/サーバ接続メッセージは、証明書交換の前、あるいは証明書交換の後データ送信の前に送り始めてもよい。認証手続き、証明書交換、及び接続メッセージ送信の特定の手順やタイミングは、クライアントに特定のプロトコルとして設定されてもよく、そのようなプロセスの動作シーケンスを監視することにより、クライアント・サーバ通信への外的干渉を検出することができる。もし、動作シーケンスに特定プロトコルからの逸脱が発見された場合、クライアント及び/又はサーバはそのプロセスを停止し、クライアントを再認証し、そして、暗号化されたデータをクライアントからサーバに再送信してもよい。
【0045】
図8は、本発明の1つの実施例による、受信者(他のクライアント)によるデータの取り出しを模式的に示す。受信者クライアントのユーザがサーバからデータを取り出そうとするとき、その受信者ユーザは、上記と同様の方法(図6のステップ202、204)によって認証されてもよい(ステップ252、254)。
【0046】
受信者ユーザはデータの取り出しをリクエストし、それに応じてデータ取り出し(ダウンロード)リクエストとクライアント証明書がサーバに送られる(ステップ256)。サーバはクライアント証明書を受け取り(ステップ258)、クライアント証明書が登録されたクライアントの証明書の一つに一致するかどうかを決定する(ステップ260)。サーバは、もしクライアント証明書が一致すればクライアントを認証して、クライアントがサーバにログオンすることを許す。サーバは、クライアント証明書に基づいてサーバ証明書を生成してもよく、そのサーバ証明書をクライアントに送信する(図8には示されず)。データ取出しにおいては受信者クライアントはデータをサーバに送信しないため、サーバ証明書をクライアントに送る必要はない。しかし、サーバ証明書は、クライアントにおいてサーバの身元を確認するために用いられてもよい。
【0047】
更に、保存されていたデータを取り出した後、ログオフする前に、同じセッションで受信者クライアントが更にデータ送信を行いたい場合、その受信者クライアントはサーバにデータ送信のための別のリクエストを送ってもよい。そのような場合、データ送信リクエストと共にクライアント証明書がサーバに再送信され、それを受け取ったサーバは、前述と同様の方法でサーバ証明書を生成してクライアントに送り返してもよい。あるいは、サーバは、そのセッションでクライアントから最初に受け取ったクライアント証明書を保存しておいてもよい。しかし、本発明の1つの実施例によれば、クライアント(の中のデータ交換モジュール)は、同じセッションの中でクライアントがサーバに新しいリクエストを送る度にクライアント証明書を自動的に(ユーザの介入なく)添付する。このことにより、サーバは、(クライアント接続メッセージを受け取ることに加え)クライアントの身元を確認する更なる機会が与えられる。
【0048】
クライアントが認証されるか、あるいはクライアントがサーバにログオンすると、クライアントとサーバは各々の接続メッセージを送信し始める(ステップ264、266)。クライアントは、自分自身に関連付けらたデータベースにアクセスすることを許され(ステップ268)、その中に保存されている(サーバ証明書を含んだ)暗号化データがサーバからクライアントに送信される(ステップ270)。受信者クライアントは受け取ったデータを復号する。受信者は、送信者クライアントの情報を含んだサーバ証明書から送信者を確認してもよい。クライアント/サーバ接続メッセージの監視、必要な場合の再認証及び再送信は、図7に記載されたのと同様にして行われる。
【0049】
本発明による実施例及び応用例が上記よって示され説明されたが、これらの記載から、当業者には、本発明の概念から離脱することなく、上述したよりも更に多くの変更が可能であることが理解される。従って、請求項の記載を除き、本発明を限定すべきではない。
【図面の簡単な説明】
【0050】
【図1】本発明の態様を実施するのに適したコンピューターシステムを模式的に示す図である。
【図2】本発明の1つの実施例による、通信ネットワーク上のクライアント間でデータを安全に送信するシステムを模式的に示す図である。
【図3】本発明の1つの実施例による、データ交換モジュールを備えたクライアントを模式的に示すブロック図である。
【図4】本発明の1つの実施例によるサーバを模式的に示すブロック図である。
【図5】本発明の1つの実施例による、双方向接続メッセージの流れによる通信経路保護を概念的に示す図である。
【図6】本発明の1つの実施例による、通信ネットワーク上のクライアントとサーバ間でデータを安全に送信する方法を模式的に示すプロセスフローチャートである。
【図7】本発明の1つの実施例による、接続メッセージを用いてデータ通信経路を保護する機構を模式的に示すプロセスフローチャートである。
【図8】本発明の1つの実施例による、受信者クライアントによるサーバからのデータの取り出しを模式的に示すプロセスフローチャートである。

【特許請求の範囲】
【請求項1】
通信ネットワーク上でクライアントからサーバにデータを安全に送信するための装置であって、前記装置はクライアントに実装され、サーバと通信可能なデータ交換モジュールを備えており、前記データ交換モジュールが、
クライアントからクライアント証明書をサーバに送るための証明書送信器と、
前記サーバから送られたサーバ接続メッセージを受け取って監視するための接続メッセージ受信器と、
前記接続メッセージ受信器に連結されており、前記サーバ接続メッセージに攪乱が発見された場合にデータ送信を停止させるためのデータ送信制御器と、
を備えており、
前記証明書送信器は、もしデータ送信が完了する前にデータ送信が停止された場合に、前記クライアント証明書を前記サーバに再送信する、
装置。
【請求項2】
データ及び前記サーバが受け取るサーバ証明書を暗号化して送信用の暗号化データを生成するためのデータ暗号化器と、
少なくとも前記データが送信されている間、一連のクライアント接続メッセージをサーバに送信するための接続メッセージ送信器と、
を更に備えた、請求項1に記載の装置。
【請求項3】
前記一連のクライアント接続メッセージはクライアントに特有のシーケンスあるいはパターンを有している、請求項2に記載の装置。
【請求項4】
ユーザ識別情報に基づいて、ユーザがデータ送信のために前記クライアントを使用することを許可するセキュリティモジュールを更に備えた、請求項1に記載の装置。
【請求項5】
前記セキュリティモジュールは、ユーザ名、パスワード、ユーザ個人情報、ハードウェア向きセキュリティ鍵、及びユーザのバイオメトリック情報のうちの少なくとも1つを用いて、前記ユーザを認証する、請求項4に記載の装置。
【請求項6】
前記セキュリティモジュールは、ユーザ名、パスワード、ユーザ個人情報、及びユーザのバイオメトリック情報のうちの少なくとも1つを記録するに適したデータベースを備えている、請求項5に記載の装置。
【請求項7】
所定の特定プロトコルからの逸脱がないかどうか、前記データ交換モジュールの動作シーケンスを監視するためのプロトコル監視器であって、前記特定プロトコルからの逸脱が発見された場合に前記データ送信を停止させる、プロトコル監視器を更に備えた、請求項1に記載の装置。
【請求項8】
通信ネットワーク上でクライアント間を行き来するデータを安全に送信するためのサーバであって、前記サーバは、
クライアントから送信されたデータを格納するためのメモリであって、各々が特定のクライアントに関係付けられたデータベースを有する、メモリと、
クライアントから送られたクライアント証明書認証を受け取り、前記クライアント証明書に基づいて前記クライアントを認証するための認証器と、
前記クライアント証明書に基づいてサーバ証明書を生成し、前記サーバ証明書を前記クライアントに送るための証明書送信器であって、前記サーバ証明書は前記クライアント証明書の情報を含んでいる、証明書送信器と、
少なくとも前記サーバ及び前記クライアントの間で前記データが送信されている間、一連のサーバ接続メッセージを前記クライアントに送るための接続メッセージ送信器と、
クライアントからのクライアント接続メッセージを受け取って監視するための接続メッセージ受信器と、
前記クライアント接続メッセージに攪乱が発見された場合にデータ送信を停止させるための制御器と、
を備えている、サーバ。
【請求項9】
前記認証器は、前記クライアント証明書が登録されたクライアント証明書に一致するかどうかを決定する、請求項8に記載のサーバ。
【請求項10】
前記制御器は、前記認証器及び前記メモリに連結されたメモリアクセスコントローラを有しており、前記メモリアクセスコントローラは、送信クライアントから受け取った暗号化データを、前記送信クライアントから送られたデータ送信リクエストによって特定された受信クライアントに関係付けられたデータベースに格納させ、前記受信クライアントが認証され且つデータ読み出しをリクエストしている場合に、格納された前記暗号化データを前記受信クライアントに送信することを許す、請求項8に記載のサーバ。
【請求項11】
前記メモリアクセスコントローラは、前記データ送信リクエストが限定された期間を特定する場合に、前記格納されたデータを前記限定された期間保持する、請求項10に記載のサーバ。
【請求項12】
通信ネットワーク上のクライアント間でデータを安全に送信するためのシステムであって、前記システムは、
前記通信ネットワークに連結されたサーバと、
各クライアントに実装され、前記サーバと通信可能なデータ交換モジュールを備えた装置と、
を備えており、
各データ交換モジュールは、
クライアントに一意的に与えられたクライアント証明書を前記サーバに送るための証明書送信器と、
データ及び前記サーバから受け取ったサーバ証明書を暗号化して送信用の暗号化データを生成するための暗号化器と、
前記サーバに一連のクライアント接続メッセージを送るための接続メッセージ送信器と、
前記サーバから送られたサーバ接続メッセージを受け取って監視するための接続メッセージ受信器と、
前記接続メッセージ受信器に連結されており、前記サーバ接続メッセージに攪乱が発見された場合にデータ送信を停止させ、もしデータ送信が完了する前にデータ送信が停止された場合には、前記クライアント証明書を前記サーバに再送信する、データ送信制御器と、
を備えており、
前記サーバは、
クライアントから送信されたデータを格納するためのメモリであって、各々が特定のクライアントに関係付けられたデータベースを有する、メモリと、
クライアントから送られたクライアント証明書認証を受け取り、前記クライアント証明書に基づいて前記クライアントを認証するための認証器と、
前記クライアント証明書に基づいてサーバ証明書を生成し、前記サーバ証明書を前記クライアントに送るための証明書送信器であって、前記サーバ証明書は前記クライアント証明書の情報を含んでいる、証明書送信器と、
少なくとも前記サーバ及び前記クライアントの間で前記データが送信されている間、一連のサーバ接続メッセージを前記クライアントに送るための接続メッセージ送信器と、
前記クライアントからのクライアント接続メッセージを受け取って監視するための接続メッセージ受信器と、
前記クライアント接続メッセージに攪乱が発見された場合にデータ送信を停止させるための制御器と、
を備えている、
システム。
【請求項13】
前記装置は、ユーザ識別情報に基づいて、ユーザがデータ送信のために前記クライアントを使用することを許可するセキュリティモジュールを更に備えた、請求項12に記載のシステム。
【請求項14】
前記サーバが、更に、前記認証器及び前記メモリに連結されたメモリアクセスコントローラであって、送信クライアントから受け取った暗号化データを、前記送信クライアントから送られたデータ送信リクエストによって特定された受信クライアントに関係付けられたデータベースに格納させ、前記受信クライアントが認証され且つデータ読み出しをリクエストしている場合に、格納された前記暗号化データを前記受信クライアントに送信することを許す、メモリアクセスコントローラを備えた、請求項12に記載のシステム。
【請求項15】
通信ネットワーク上でクライアントとサーバの間でデータを安全に送信するための方法であって、前記方法は、
前記クライアントが認証された後、少なくとも前記データが送信されている間、前記サーバから送られる一連のサーバ接続メッセージを前記クライアントにおいて受け取るステップと、
前記サーバ接続メッセージを監視するステップと、
前記サーバ接続メッセージに攪乱が発見された場合に、前記クライアントと前記サーバの間のデータ送信を停止させるステップと、
データ送信が完了する前にデータ送信が停止された場合に、前記クライアントを再認証して前記データを再送信するステップと、
を含む、方法。
【請求項16】
前記一連のサーバ接続メッセージは特定のシーケンスあるいはパターンを有している、請求項15に記載の方法。
【請求項17】
前記クライアントが認証された後、少なくともデータが送信されている間、一連のクライアント接続メッセージを前記クライアントから前記サーバに送信するステップを、更に含む、請求項15に記載の方法。
【請求項18】
前記クライアントは、前記クライアントが前記サーバにログオンした時から前記クライアント接続メッセージを送信し始め、前記クライアントが前記サーバからログオフした時に前記クライアント接続メッセージの送信を停止する、請求項17に記載の方法。
【請求項19】
前記一連のクライアント接続メッセージはクライアントに特有のシーケンスあるいはパターンを有している、請求項17に記載の方法。
【請求項20】
ユーザからのリクエストに応じて、データ送信リクエスト及びクライアント証明書を前記サーバに送るステップであって、前記データ送信リクエストは少なくとも1つの受信クライアントを特定し、前記クライアント証明書は前記クライアントに特別に割り当てられている、送るステップと、
前記サーバからサーバ証明書を受け取るステップと、
送信データを前記サーバ証明書と共に暗号化するステップと、
暗号化データを前記サーバに送信するステップと、
を含む、請求項15に記載の方法。
【請求項21】
ユーザ識別情報に基づいて、ユーザがデータ送信するために前記クライアントを使用することを許可するステップを更に備えた、請求項15に記載の方法。
【請求項22】
前記許可するステップは、前記ユーザを、ユーザ名、パスワード、前記ユーザの個人情報、ハードウェア向きセキュリティ鍵、及び前記ユーザのバイオメトリック情報のうちの少なくとも1つを用いて、前記ユーザを認証するステップを含む、請求項21に記載の方法。
【請求項23】
前記クライアントと前記サーバとの間のプロセスの動作シーケンスを監視するステップと、
前記動作シーケンスにおいて特定のプロトコルからの逸脱が発見された場合に前記プロセスを停止させるステップと、
前記プロセスが前記逸脱の故に停止された場合に、前記クライアントを再認証して前記データを再送信するステップと、
を、更に含む、請求項15に記載の方法。
【請求項24】
通信ネットワーク上でクライアント及びサーバ間でデータを安全に送信する方法であって、前記方法は、
前記クライアントが認証された後、少なくともデータが送信されている間、前記クライアントから送信される一連のクライアント接続メッセージを前記サーバにおいて受け取るステップと、
前記クライアント接続メッセージを前記サーバにおいて監視するステップと、
前記クライアント接続メッセージに攪乱が発見された場合に、前記クライアントと前記サーバとの間の前記データ送信を停止し、前記クライアントを再認証し、そして前記データを再送信する、ステップと、
を含む、方法。
【請求項25】
前記サーバは、前記クライアントが前記サーバにログオンした時から前記クライアント接続メッセージを受信し始め、前記クライアントが前記サーバからログオフした時に前記クライアント接続メッセージの受信を停止する、請求項24に記載の方法。
ターンを有している、請求項2に記載の装置。
【請求項26】
前記一連のクライアント接続メッセージはクライアントに特有のシーケンスあるいはパターンを有している、請求項24に記載の方法。
【請求項27】
前記クライアントが認証された後、少なくとも前記データが送信されている間、一連のサーバ接続メッセージを前記サーバから前記クライアントに送信するステップを更に備えた、請求項24に記載の方法。
【請求項28】
前記サーバは、前記クライアントが前記サーバにログオンした時から前記サーバ接続メッセージを送信し始め、前記クライアントが前記サーバからログオフした時に前記サーバ接続メッセージの送信を停止する、請求項27に記載の方法。
【請求項29】
前記一連のサーバ接続メッセージは特有のシーケンスあるいはパターンを有している、請求項27に記載の方法。
【請求項30】
データ送信リクエスト及びクライアント証明書を前記クライアントから受け取るステップであって、前記クライアント証明書は前記クライアントに特別に割り当てられており、前記データ送信リクエストは少なくとも1つの受信者を特定している、受け取るステップと、
前記クライアント証明書を用いて前記クライアントを認証するステップと、
前記クライアント証明書に基づいて、前記クライアント証明書の情報を含んだサーバ証明書を生成するステップと、
前記サーバ証明書を前記クライアントに送信するステップと、
を更に含む、請求項24に記載の方法。
【請求項31】
前記クライアントから暗号化データを受け取るステップと、
前記暗号化データを、前記受信者に関係付けられたデータベースに格納するステップと、
を更に含む、請求項30に記載の方法。
【請求項32】
前記認証するステップは、前記クライアント証明書が、登録されたクライアント証明書の一つに一致するかどうかを決定するステップを含む、請求項30に記載の方法。
【請求項33】
クライアント識別情報を用いて前記クライアントを認証するステップを更に含む、請求項24に記載の方法。
【請求項34】
前記クライアントと前記サーバとの間のプロセスの動作シーケンスを監視するステップと、
前記動作シーケンスにおいて特定のプロトコルからの逸脱が発見された場合に前記プロセスを停止させるステップと、
前記プロセスが前記逸脱の故に停止された場合に、前記クライアントを再認証して前記データを再送信するステップと、
を、更に含む、請求項24に記載の方法。
【請求項35】
データ取り出しリクエスト及びクライアント証明書を第2のクライアントから受け取るステップと、
前記第2のクライアントから受け取った前記クライアント証明書を用いて前記第2のクライアントを認証するステップと、
前記第2のクライアントが認証された場合に、前記第2のクライアントが前記第2のクライアントに関係付けられたデータベースからデータを取り出すことを許すステップと、
を更に含む、請求項24に記載の方法。、
【請求項36】
前記第2のクライアントを認証するステップは、前記クライアント証明書が、登録されたクライアント証明書の一つに一致するかどうかを決定するステップを含む、請求項35に記載の方法。
【請求項37】
通信ネットワーク上で、仲介サーバを介してクライアント間でデータを安全に送信する方法であって、前記方法は、
ユーザリクエストに応じて、データ送信リクエスト及びクライアント証明書をクライアントから前記仲介サーバに送るステップであって、前記クライアント証明書は前記クライアントに特別に割り当てられており、前記データ送信リクエストは少なくとも1つの受信者を特定する、送るステップと、
前記サーバにおいて、前記クライアント証明書を用いて前記クライアントを認証するステップと、
前記サーバにおいて、前記クライアント証明書に基づいて、前記クライアント証明書の情報を含んだサーバ証明書を生成するステップと、
前記サーバ証明書を前記クライアントに送信するステップと、
前記クライアントにおいて、送信データを前記サーバ証明書と共に暗号化するステップと、
暗号化されたデータを前記サーバに送信するステップと、
前記クライアントが認証された後、少なくとも前記データが送信されている間、一連のクライアント接続メッセージを前記クライアントから前記サーバに送信するステップと、
前記クライアントが認証された後、少なくとも前記データが送信されている間、一連のサーバ接続メッセージを前記サーバから前記クライアントに送るステップと、
前記クライアント接続メッセージを前記サーバにおいて監視するステップと、
前記サーバ接続メッセージを前記クライアントにおいて監視するステップと、
前記クライアント接続メッセージあるいは前記サーバ接続メッセージの何れかに攪乱が発見された場合に、前記クライアントと前記サーバの間のデータ送信を停止させ、前記クライアントを再認証し、そして前記データを再送信するステップと、
前記暗号化データが前記サーバに無事に送信された場合に、前記暗号化データを、前記受信者に関係付けられたデータベースに格納するステップと、
を含む、方法。
【請求項38】
データ取り出しリクエスト及びクライアント証明書を第2のクライアントから送信するステップと、
前記第2のクライアントから受け取った前記クライアント証明書を用いて前記第2のクライアントを認証するステップと、
前記第2のクライアントが認証された場合に、前記第2のクライアントが前記第2のクライアントに関係付けられたデータベースからデータを取り出すことを許すステップと、
を更に含む、請求項37に記載の方法。、
【請求項39】
前記第2のクライアントを認証するステップは、前記クライアント証明書が、登録されたクライアント証明書の一つに一致するかどうかを決定するステップを含む、請求項39に記載の方法。
【請求項40】
通信ネットワーク上でクライアントとサーバの間でデータを安全に送信するための装置であって、前記クライアントに関係付けられており、前記サーバと通信可能である装置であって、前記装置は、
前記クライアントが認証された後、少なくとも前記データが送信されている間、一連のクライアント接続メッセージを前記サーバに送信する手段と、
少なくとも前記データが送信されている間、前記サーバから送られる一連のサーバ接続メッセージを受け取る手段と、
前記サーバ接続メッセージを監視する手段と、
前記サーバ接続メッセージに攪乱が発見された場合に、前記クライアントと前記サーバの間のデータ送信を停止させる手段と、
データ送信が完了する前に前記停止させる手段がデータ送信を停止させた場合に、前記クライアントを再認証して前記データを再送信する手段と、
を備えた、装置。
【請求項41】
前記送信する手段は、前記クライアントが前記サーバにログオンした時から前記クライアント接続メッセージを送信し始め、前記クライアントが前記サーバからログオフした時に前記クライアント接続メッセージの送信を停止する、請求項40に記載の装置。
【請求項42】
前記一連のクライアント接続メッセージはクライアントに特有のシーケンスあるいはパターンを有している、請求項40に記載の装置。
【請求項43】
ユーザからのリクエストに応じて、データ送信リクエスト及びクライアント証明書を前記サーバに送る手段であって、前記クライアント証明書は前記クライアントに特別に割り当てられており、前記データ送信リクエストは少なくとも1つの受信クライアントを特定する、送る手段と、
前記サーバからサーバ証明書を受け取る手段と、
送信データを前記サーバ証明書と共に暗号化する手段と、
暗号化データを前記サーバに送信する手段と、
を備えた、請求項40に記載の装置。
【請求項44】
ユーザ識別情報に基づいて、ユーザがデータ送信するために前記クライアントを使用することを許可する手段を更に備えた、請求項40に記載の装置。
【請求項45】
前記許可する手段は、前記ユーザを、ユーザ名、パスワード、前記ユーザの個人情報、ハードウェア向きセキュリティ鍵、及び前記ユーザのバイオメトリック情報のうちの少なくとも1つを用いて、前記ユーザを認証する手段を備えた、請求項44に記載の装置。
【請求項46】
前記クライアントと前記サーバとの間のプロセスの動作シーケンスを監視する手段と、
前記動作シーケンスにおいて特定のプロトコルからの逸脱が発見された場合に前記プロセスを停止させる手段と、
前記プロセスが前記逸脱の故に停止された場合に、前記クライアントを再認証して前記データを再送信する手段と、
を、更に備えた、請求項40に記載の装置。
【請求項47】
通信ネットワーク上でクライアント及びサーバ間でデータを安全に送信する装置であって、前記サーバに関係付けられており、前記クライアントと通信可能である装置であって、
前記装置は、
前記クライアントが認証された後、少なくとも前記データが送信されている間、一連のサーバ接続メッセージを前記サーバから前記クライアントに送信する手段と、
少なくともデータが送信されている間、前記クライアントから送信される一連のクライアント接続メッセージを受け取る手段と、
前記クライアント接続メッセージを監視する手段と、
前記クライアント接続メッセージに攪乱が発見された場合に、前記クライアントと前記サーバとの間の前記データ送信を停止する手段と、
データ送信が完了する前に前記停止する手段がデータ送信を停止した場合に、前記クライアントを再認証して前記データを再送信する手段と、
を備えた、装置。
【請求項48】
前記送信する手段は、前記クライアントが前記サーバにログオンした時から前記サーバ接続メッセージを送信し始め、前記クライアントが前記サーバからログオフした時に前記サーバ接続メッセージの送信を停止する、請求項47に記載の装置。
【請求項49】
前記一連のクライアント接続メッセージ及び前記一連のサーバ接続メッセージはそれぞれ特有のシーケンスあるいはパターンを有している、請求項47に記載の装置。
【請求項50】
データ送信リクエスト及びクライアント証明書を前記クライアントから受け取る手段であって、前記クライアント証明書は前記クライアントに特別に割り当てられており、前記データ送信リクエストは少なくとも1つの受信者を特定している、受け取る手段と、
前記クライアント証明書が登録されたクライアント証明書の一つと一致するかどうかを決定する手段と、
前記クライアント証明書が一致した場合に、前記クライアント証明書に基づいて、前記
前記サーバ証明書を前記クライアントに送信する手段と、
を更に備えた、請求項47に記載の装置。
【請求項51】
前記クライアントから暗号化データを受け取る手段と、
前記暗号化データを、前記受信者に関係付けられたデータベースに格納する手段と、
を更に備えた、請求項50に記載の装置。
【請求項52】
前記クライアント証明書が登録されたクライアント証明書の一つに一致する場合に、前記クライアントを認証する手段を更に備えた、請求項50に記載の装置。
【請求項53】
クライアント識別情報を用いて前記クライアントを認証する手段を更に備えた、請求項52に記載の装置。
【請求項54】
前記クライアントと前記サーバとの間のプロセスの動作シーケンスを監視する手段と、
前記動作シーケンスにおいて特定のプロトコルからの逸脱が発見された場合に前記プロセスを停止させる手段と、
前記停止する手段が前記プロセスを停止した場合に、前記クライアントを再認証して前記データを再送信する手段と、
を、更に備えた、請求項47に記載の装置。
【請求項55】
データ取り出しリクエスト及びクライアント証明書を第2のクライアントから受け取る手段と、
前記第2のクライアントから受け取った前記クライアント証明書を用いて前記第2のクライアントを認証する手段と、
前記第2のクライアントが認証された場合に、前記第2のクライアントが前記第2のクライアントに関係付けられたデータベースからデータを取り出すことを許す手段と、
を更に備えた、請求項47に記載の装置。、
【請求項56】
前記第2のクライアントを認証する手段は、前記クライアント証明書が、登録されたクライアント証明書の一つに一致するかどうかを決定する手段を備えた、請求項55に記載の装置。
【請求項57】
通信ネットワーク上でクライアントとサーバの間でデータを安全に送信する方法を実行する、機械で実行可能な命令プログラムを具体的に実現する、機械で読み取り可能なプログラム記録デバイスであって、前記方法は、
前記クライアントが認証された後に前記サーバから送られる一連のサーバ接続メッセージを、少なくとも前記データが送信されている間、前記クライアントにおいて受け取るステップと、
前記サーバ接続メッセージを監視するステップと、
前記サーバ接続メッセージに攪乱が発見された場合に、前記クライアントと前記サーバの間のデータ送信を停止させるステップと、
データ送信が完了する前にデータ送信が停止された場合に、前記クライアントを再認証して前記データを再送信するステップと、
を含む、
プログラム記録デバイス。
【請求項58】
前記方法は、
ユーザからのリクエストに応じて、データ送信リクエスト及びクライアント証明書を前記サーバに送るステップであって、前記クライアント証明書は前記クライアントに特別に割り当てられており、前記データ送信リクエストは少なくとも1つの受信クライアントを特定する、送るステップと、
前記サーバからサーバ証明書を受け取るステップと、
送信データを前記サーバ証明書と共に暗号化するステップと、
暗号化データを前記サーバに送信するステップと、
を更に含む、請求項57に記載のプログラム記録デバイス。
【請求項59】
通信ネットワーク上でクライアントとサーバの間でデータを安全に送信する方法を実行する、機械で実行可能な命令プログラムを具体的に実現する、機械で読み取り可能なプログラム記録デバイスであって、前記方法は、
前記クライアントが認証された後、前記クライアントから送信される一連のクライアント接続メッセージを、少なくともデータが送信されている間前記サーバにおいて受け取るステップと、
前記クライアント接続メッセージを前記サーバにおいて監視するステップと、
前記クライアント接続メッセージに攪乱が発見された場合に、前記クライアントと前記サーバとの間の前記データ送信を停止し、前記クライアントを再認証し、そして前記データを再送信する、ステップと、
を含む、
プログラム記録デバイス。
【請求項60】
前記方法は、
前記クライアントが認証された後、少なくとも前記データが送信されている間、一連のサーバ接続メッセージを前記サーバから前記クライアントに送信するステップを含む、
請求項59に記載のプログラム記録デバイス。
【請求項61】
前記方法は、
データ送信リクエスト及びクライアント証明書を前記クライアントから受け取るステップであって、前記クライアント証明書は前記クライアントに特別に割り当てられており、前記データ送信リクエストは少なくとも1つの受信者を特定している、受け取るステップと、
前記クライアント証明書が登録されたクライアント証明書の一つに一致する場合に前記クライアントを認証するステップと、
前記クライアント証明書に基づいて、前記クライアント証明書の情報を含んだサーバ証明書を生成するステップと、
前記サーバ証明書を前記クライアントに送信するステップと、
を更に含む、
請求項59に記載のプログラム記録デバイス。
【請求項62】
前記方法は、
前記クライアントから暗号化データを受け取るステップと、
前記暗号化データを、前記受信者に関係付けられたデータベースに格納するステップと、
を更に含む、
請求項61に記載のプログラム記録デバイス。
【請求項63】
前記方法は、
データ取り出しリクエスト及びクライアント証明書を第2のクライアントから受け取るステップと、
前記第2のクライアントから受け取った前記クライアント証明書を用いて前記第2のクライアントを認証するステップと、
前記第2のクライアントが認証された場合に、前記第2のクライアントが前記第2のクライアントに関係付けられたデータベースからデータを取り出すことを許すステップと、
を更に含む、
請求項59に記載のプログラム記録デバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公表番号】特表2008−544405(P2008−544405A)
【公表日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2008−518283(P2008−518283)
【出願日】平成18年6月19日(2006.6.19)
【国際出願番号】PCT/US2006/023838
【国際公開番号】WO2007/001998
【国際公開日】平成19年1月4日(2007.1.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.リナックス
【出願人】(507421049)
【Fターム(参考)】