JP3932685B2 - Method for executing remote procedure call on network and network system capable of executing remote procedure call - Google Patents
Method for executing remote procedure call on network and network system capable of executing remote procedure call Download PDFInfo
- Publication number
- JP3932685B2 JP3932685B2 JP22643098A JP22643098A JP3932685B2 JP 3932685 B2 JP3932685 B2 JP 3932685B2 JP 22643098 A JP22643098 A JP 22643098A JP 22643098 A JP22643098 A JP 22643098A JP 3932685 B2 JP3932685 B2 JP 3932685B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- service
- request message
- relay
- signature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 105
- 230000004044 response Effects 0.000 claims description 190
- 238000012550 audit Methods 0.000 claims description 109
- 230000005540 biological transmission Effects 0.000 claims description 50
- 238000012544 monitoring process Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 15
- 238000007689 inspection Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims 3
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008520 organization Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- OWZREIFADZCYQD-NSHGMRRFSA-N deltamethrin Chemical compound CC1(C)[C@@H](C=C(Br)Br)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 OWZREIFADZCYQD-NSHGMRRFSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、1以上のサーバと1以上のクライアントからなる分散環境のネットワーク・システムにおいてクライアントがサーバに対してサービスを要求するための遠隔手続き/メソッド呼び出し方式に係り、特に、少なくとも1つの中継・監査サーバを中継してサービスの要求がサーバに届くようなタイプの遠隔手続き呼び出し/メソッド方式に関する。
【0002】
更に詳しくは、本発明は、クライアントが要求するサービスを複数のサーバの協働的な動作によって提供するような分散型のネットワーク環境において、遠隔的に要求されたサービスの履行を保証するための方式に係り、特に、ネットワーク上に中継・監査サーバを介在させることで、サービス要求の出所を認証したり、サーバから提供されたサービスの品質等を保証することができる遠隔手続き呼び出し/メソッド方式に関する。
【0003】
【従来の技術】
昨今の情報処理・情報通信の分野における発展は目覚しいものがある。この種の技術分野においては、コンピュータ・システム同士を相互接続するための研究・開発が、従来より活発になされてきた。システム同士を相互接続する主な目的は、複数ユーザによるコンピュータ資源の共有や、情報の共有・流通などである。
【0004】
システム間を接続するための伝送媒体すなわち「ネットワーク」としては、大学や事業所の構内など限られた空間内に敷設されたLAN(Local Area Network)の他、LANを専用回線で接続したWAN(Wide Area Network)や、一般公衆回線(PSTN)、ISDN(Integrated Service Digital Network)、インターネットなど様々である。
【0005】
LANは、一般に、ネットワーク上の特定のコンピュータをサーバ(ファイル・サーバ,プリント・サーバ)とし、これを他のクライアントが利用し合うというクライアント・サーバ型として構築される。かかるクライアント・サーバ・モデルでは、プログラムの一部の手続きの実行をネットワーク上の別のコンピュータに委託するというメカニズム、すなわち「遠隔手続き呼び出し(RPC:Remote Procedure Call)」、若しくは「遠隔メソッド呼び出し(RMI:Remote Method Invocation)」が用いられる。遠隔手続きの実行結果は、戻り値として、呼び出した側のコンピュータに返される。また、手許のコンピュータのキーボードやファイルを使ってプログラムへの入力を果たしたり、同じコンピュータのディスプレイやファイルに出力することもできる。
【0006】
遠隔手続き若しくは遠隔メソッド呼び出しの仕組みは、LANの世界に限定されず、さらに、インターネットのような広域的なネットワーク上でも利用可能である。インターネット上で利用可能な各種プロトコル、例えば、HTTP(Hyper Text Transfer Protocol),HTTPS,S−HTTP(secure HTTP),FTP(File Transfer Protocol),CORBA(Common ORB Architecture),IIOP(Internet Inter−ORB Protocol),JavaRMI(Remote Method Invocation)なども、遠隔手続き/遠隔メソッド呼び出しとして実現される。インターネットの代表的なクライアント・サーバ・モデルは、WWW(World Wide Web)サーバとWWWブラウザとで構成される(周知)。
【0007】
WWWサーバは、通常、多数のサービス・オブジェクトを蓄積しており、WWWクライアントからのサービス要求に応答して、インターネット経由でサービスを提供している。サービス・オブジェクトの一例は、WWWクライアント(ブラウザ)のディスプレイ上においてホームページを形成するためのHTML(Hyper Text Markup Language)ファイルである。WWWサーバが持つ各サービス・オブジェクトの所在は、URL(Uniform Resource Locator)という形式で表される。URLは、インターネット上の各種情報リソースにアクセスする手段(すなわち通信プロトコル)とリソースの名前を指定する形式、すなわち「プロトコル名://サーバ名(/ディレクトリ名…)/ファイル名」という形式で記述される。
【0008】
WWWクライアントとしてのブラウザは、WWWサーバに対して、URLに基づいた形式のサービス要求メッセージを送信する。他方、WWWサーバは、サービス要求メッセージを解釈して、要求されたサービスを提供する。但し、サーバは、要求されたサービスをサーバ単体で実行するとは限らず、さらに別のサーバにサービスの一部の提供を委ねることもある。サーバが他のサーバにサービスの提供を要求する方式の1つはCGI(Common Gateway Interface)である(CGIは、それ自体が標準規約となっているため、この規約を遵守しさえすれば、Visual Basic,C,Delphi,Perlなど各種言語でCGIプログラムを作成することができる)。
【0009】
例えば、WWWクライアントがブラウザ画面上で検索項目を入力したときは、WWWサーバは、検索の実行と検索結果の送信を他のデータベース・サーバに要求することがある。この場合、データベース・サーバは、CGIなどの仕組みによってWWWサーバに連動して、要求されたサービスの一部を提供する。データベース・サーバは、検索結果を示すテーブル中の該当するカラムの内容を生成し、WWWサーバはテーブルの残りの部分を生成する(図6参照のこと)。
【0010】
クライアントからのサービス要求を第1に受け取ったサーバ(仮に「親サーバ」とする)は、ホームページ内の一部のコンテンツの生成を別のサーバ(仮に「子サーバ」とする)に委ねる。そして、親サーバは、自身が生成したコンテンツと子サーバから戻されたコンテンツとからホームページを生成して、クライアントに戻すという訳である。さらに子サーバは自分の子サーバ(「孫サーバ」)にサービスの一部の提供を委ねることもある。
【0011】
サービスを提供する複数のサーバの親子関係は、一種の木構造を形成する。図7にはこれを模式的に示している。同図において、サーバBは、クライアントからのサービス要求(URL)を最初に受け取る親サーバであり、サーバAとCはサーバBの子サーバである。さらに、サーバCから一部のサービスの提供を要求されるサーバDは、サーバBの孫サーバである。
【0012】
従来、殆どの場合において、クライアントから要求されたサービスを実行するサーバ、すなわち木構造を構成する各サーバは、全て単一若しくは同系統の団体に所属し、互いの利益は略一致していた(例えば図6では、データベース・サーバは、WWWサーバと同じ「組織1」に属している)。クライアントが要求したサービスは物理的には複数のサーバの協働的な動作によって提供されるが、クライアントの立場からすれば、このような木構造の仕組みを意識する必要がなく、実質上1つのサーバが責任を持ってサービスを提供すると思うことができた。言い換えれば、クライアントは、サービスの要求先のサーバを信頼するだけで充分だった訳である。
【0013】
ところが、コンピュータ・ネットワーキングの世界がさらに進化を遂げるに従い、ネットワークを構成する各マシン間の関係も高度に複雑化してくる。例えば、ある特定のサービスを提供するためのサーバの木構造は、別個の団体に跨ったサーバの集合で構成されることもあり得る。例えば図7では、サーバBとデータベース・サーバは「組織1」に所属するが、子サーバAは「組織2」に、子サーバCと孫サーバDは「組織3」に所属している。親サーバBと子サーバCとが、異なる団体に所属して両者の利害が完全には一致しない、ということも予想される。
【0014】
あるクライアントが有料でサーバBへのアカウントを取得したような場合、クライアントは、サーバBを全面的に信用するであろうし、サーバBも受け取ったアカウント料金に見合ったサービスを提供するよう努め、また、信用を裏切ることを敢えてしないであろう。しかしながら、別団体のサーバCは、クライアントに対して何の義務も義理も感じることはなく、或いはクライアントに対し悪意を抱き、正当なサービスの提供を拒否し或いは不当なサービスを行うという可能性もある。サーバBが子サーバCからの不当なサービスをそのままクライアントに戻したならば、クライアントは大きな打撃を被り、あるいは壊滅しかねない。現状のネットワーク環境において、クライアントに戻されるサービスを保証するようなメカニズムはない。
【0015】
また、子サーバCが親サーバBとは異なる団体に所属するような場合、サーバBがサーバCに対してサービス提供の対価を支払うような、一種の契約関係が成立していることもある。この対価の額が従量制、すなわちクライアントからのサービス要求の回数に応じて定まることもある。このような場合、サーバCは、サーバBに対するダミーのサービス要求を頻繁に発行せしめることによって、対価額すなわち利益を貪ることもできる(図8を参照のこと)。ダミーのサービス要求は、一般ユーザを装った不正クライアントによって容易に発行される。現状のネットワーク環境において、サーバBが、サーバCやダミー・クライアントのような不正行為を取り締まるようなメカニズムはない。
【0016】
【発明が解決しようとする課題】
本発明の目的は、1以上のサーバと1以上のクライアントからなる分散型のネットワーク・システムにおいてクライアントがサーバに対してサービスを要求するための、優れた遠隔手続き呼び出しを行う方式を提供することにある。
【0017】
本発明の更なる目的は、少なくとも1つの中継・監査サーバを中継してサービスの要求がサーバに届くようなタイプの、優れた遠隔手続き呼び出し方式を提供することにある。
【0018】
本発明の更なる目的は、クライアントから要求されたサービスを複数のサーバの協働的な動作によって提供するような分散型のネットワーク環境において、サービスの正当な履行を保証するための優れた方式を提供することにある。
【0019】
本発明の更なる目的は、ネットワーク上に中継・監査サーバを配設することで、サービス要求の出所を認証したり、サーバから提供されたサービスの品質等を保証することができる、優れた遠隔手続き呼び出し方式を提供することにある。
【0020】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、サービスを要求する1以上のクライアントとサービス・オブジェクトを有する1以上のサーバとで構成されるネットワーク上において遠隔手続き呼び出しを実行するための方法であって、
(a)中継・監査サーバが、クライアントからの第1の要求メッセージを受信するステップと、
(b)前記中継・監査サーバが、第1の要求メッセージの要求先である第1のサーバに対して第2の要求メッセージを送信するステップと、
(c)前記第1のサーバが、受信した第2の要求メッセージを受信するとともに、第2の要求メッセージが前記中継・監査サーバを経由したことを検査するステップと、
(d)前記第1のサーバが、第2の要求メッセージに応答した第1の応答メッセージを前記中継・監査サーバに送信するステップと、
(e)前記中継・監査サーバが、受信した第1の応答メッセージが正当なメッセージであることを検査するステップと、
(f)前記中継・監査サーバが、第2の応答メッセージを前記クライアントに送信するステップと、
を具備することを特徴とするネットワーク上で遠隔手続き呼び出しを実行するための方法である。
【0021】
ここで、前記第1のサーバは、さらに、前記第2の要求メッセージの少なくとも一部の処理を委ねた第3の要求メッセージを第2のサーバに送信するとともに、前記第2のサーバから受信した応答メッセージとともに第1の応答メッセージを前記中継・監査サーバに送信するようにしてもよい。
【0022】
また、前記ステップ(c)における検査が異常であれば、前記第1のサーバは受信した第2の要求メッセージの処理を実行しないようにしてもよい。
【0023】
また、前記ステップ(e)における検査が異常であれば、前記中継・監査サーバは第2の応答メッセージを前記クライアントに送信しないようにしてもよい。
【0024】
また、さらに、前記中継・監査サーバが要求メッセージ及び/又は応答メッセージの送受信の履歴を記録するステップを含んでいてもよい。
【0025】
また、本発明の第2の側面は、サービスを要求する1以上のクライアントとサービス・オブジェクトを有する1以上のサーバとで構成されるネットワーク上において遠隔手続き呼び出しを実行するための方法であって、
(a)中継・監査サーバが、クライアントからの第1の要求メッセージを受信するとともに、ユーザを特定するステップと、
(b)前記中継・監査サーバが、第1の要求メッセージの要求先である第1のサーバに対して第2の要求メッセージを送信するステップと、
(c)前記第1のサーバが、受信した第2の要求メッセージを受信するとともに、前記中継・監査サーバからのメッセージであるしたことを特定するステップと、
(d)前記第1のサーバが、第2の要求メッセージに応答した第1の応答メッセージを前記中継・監査サーバに送信するステップと、
(e)前記中継・監査サーバが、受信した第1の応答メッセージが正当なメッセージであることを検査するステップと、
(f)前記中継・監査サーバが、第2の応答メッセージを前記クライアントに送信するステップと、
を具備することを特徴とするネットワーク上で遠隔手続き呼び出しを実行するための方法である。
【0026】
ここで、前記第1のサーバは、さらに、前記第2の要求メッセージの少なくとも一部の処理を委ねた第3の要求メッセージを第2のサーバに送信するとともに、前記第2のサーバから受信した応答メッセージとともに第1の応答メッセージを前記中継・監査サーバに送信するようにしてもよい。
【0027】
また、前記ステップ(e)における検査が異常であれば、前記中継・監査サーバは第2の応答メッセージを前記クライアントに送信しないようにしてもよい。
【0028】
また、さらに、前記中継・監査サーバが要求メッセージ及び/又は応答メッセージの送受信の履歴を記録するステップを含んでもよい。
【0029】
また、本発明の第3の側面は、サービスを要求する1以上のクライアントとサービス・オブジェクトを有する1以上のサーバとで構成されるネットワーク上において遠隔手続き呼び出しを実行するための方法であって、
(a)中継・監査サーバが、クライアントからの第1の要求メッセージを受信するステップと、
(b)前記中継・監査サーバが、第1の要求メッセージの要求先である第1のサーバに対して、自身が持つ公開鍵暗号系の秘密鍵を用いた署名を付けた第2の要求メッセージを送信するステップと、
(c)前記第1のサーバが、受信した第2の要求メッセージを受信するとともに、前記中継・監査サーバの公開鍵を用いて認証するステップと、
(d)前記第1のサーバが、自身が持つ公開鍵暗号系の秘密鍵を用いた署名を付けて、第2の要求メッセージに応答した第1の応答メッセージを前記中継・監査サーバに送信するステップと、
(e)前記中継・監査サーバが、第1の応答メッセージを受信し、前記第1のサーバの公開鍵を用いて認証するとともに、正当なメッセージであることを検査するステップと、
(f)前記中継・監査サーバが、第2の応答メッセージを前記クライアントに送信するステップと、
を具備することを特徴とするネットワーク上で遠隔手続き呼び出しを実行するための方法である。
【0030】
ここで、前記第1のサーバは、さらに、自身が持つ公開鍵暗号系の秘密鍵を用いた署名を付けて、前記第2の要求メッセージの少なくとも一部の処理を委ねた第3の要求メッセージを第2のサーバに送信し、
前記第2のサーバは、前記第2のメッセージを受信して、前記第1のサーバの公開鍵を用いて認証するとともに、これに応答した応答メッセージを自身の公開鍵暗号系の秘密鍵を用いた署名を付けて前記第1のサーバに送信し、
前記第1のサーバは、受信した応答メッセージを前記第2のサーバの公開鍵を用いて認証した後に、第1の応答メッセージを前記中継・監査サーバに送信する、
ようにしてもよい。
【0031】
また、前記ステップ(c)における認証が異常であれば、前記第1のサーバは受信した第2の要求メッセージの処理を実行しないようにしてもよい。
【0032】
また、前記ステップ(e)における認証が異常であれば、前記中継・監査サーバは第2の応答メッセージを前記クライアントに送信しないようにしてもよい。
【0033】
また、さらに、前記中継・監査サーバが要求メッセージ及び/又は応答メッセージの送受信の履歴を記録するステップを含んでもよい。
【0034】
また、本発明の第4の側面は、遠隔手続き呼び出しが実行可能なネットワーク・システムであって、
サービスを要求する要求メッセージを送信するとともにその応答メッセージを受信するクライアントと、
サービス要求メッセージを受信して要求先のサーバに向けて転送するとともに、受信したサービス応答メッセージを要求元のクライアントに向けて転送する、1以上の中継・監査サーバと、
サービス要求メッセージを受信して、正当な経路を介して受信したメッセージであることを検査するとともに、要求されたメッセージに応答した応答メッセージを送信する、サービス・オブジェクトを有する1以上のサーバと、
を具備することを特徴とする遠隔手続き呼び出しが実行可能なネットワーク・システムである。
【0035】
また、本発明の第5の側面は、遠隔手続き呼び出しが実行可能なネットワーク・システムであって、
サービスを要求する要求メッセージを送信するとともにその応答メッセージを受信するクライアントと、
サービス要求メッセージを受信し、その要求元を特定してから要求先のサーバに向けて転送するとともに、受信したサービス応答メッセージを要求元のクライアントに向けて転送する、1以上の中継・監査サーバと、
サービス要求メッセージを受信して、メッセージの送信元を特定するとともに、要求されたメッセージに応答した応答メッセージを送信する、サービス・オブジェクトを有する1以上のサーバと、
を具備することを特徴とする遠隔手続き呼び出しが実行可能なネットワーク・システムである。
【0036】
また、本発明の第6の側面は、遠隔手続き呼び出しが実行可能なネットワーク・システムであって、
サービスを要求する要求メッセージを送信するとともにその応答メッセージを受信するクライアントと、
サービス要求メッセージを受信して要求先のサーバに向けて転送するとともに、サービス要求に対する応答メッセージを受信して、受信したサービス応答メッセージを要求元のクライアントに向けて転送する、1以上の中継・監査サーバと、
サービス要求メッセージを受信して、要求されたメッセージに応答した応答メッセージを送信する、サービス・オブジェクトを有する1以上のサーバとを具備し、
前記中継・監査サーバ及びサーバは、メッセージ送信時には自身が持つ公開鍵暗号系の秘密鍵を用いた署名を付け、メッセージ受信時には送信元の公開鍵を用いて認証を行うことを特徴とする遠隔手続き呼び出しが実行可能なネットワーク・システムである。
【0037】
本発明の上記第4乃至第6の側面に係るネットワーク・システムにおいて、前記中継・監査サーバは、受信したサービス応答メッセージが正当なメッセージであることを検査してから要求元に向けて送信するとともに、要求メッセージ及び/又は応答メッセージの送受信の履歴を記録するようにしてもよい。
【0038】
また、本発明の第7の側面は、サービスを要求する1以上のクライアントと要求されたサービスを提供する1以上のサーバとで構成されるネットワーク上において、サービス要求メッセージやサービス応答メッセージを受信し或いは送信するサーバであって、
サービス要求メッセージを受信する手段と、
自身の署名を付けてサービス要求メッセージをさらに別のサーバに向けて送信する手段と、
サービス要求に対する応答メッセージを受信して、送信元を認証してからサービス要求元のクライアントに向けて送信する手段と、
を具備することを特徴とするサーバである。
【0039】
また、本発明の第8の側面は、サービスを要求する1以上のクライアントと要求されたサービスを提供する1以上のサーバとで構成されるネットワーク上において、サービス要求メッセージやサービス応答メッセージを受信し或いは送信するサーバであって、
サービス要求メッセージを受信するとともにその要求元を特定する手段と、
自身の署名を付けてサービス要求メッセージをさらに別のサーバに向けて送信する手段と、
サービス要求に対する応答メッセージを受信して、送信元を認証してからサービス要求元のクライアントに向けて送信する手段と、
を具備することを特徴とするサーバ。
を特徴とするサーバである。
【0040】
本発明の上記第7及び第8の側面に係るサーバにおいて、さらに、
受信したサービス応答メッセージが正当なメッセージであることを検査する手段と、
要求メッセージ及び/又は応答メッセージの送受信の履歴を記録する手段と、を含んでいてもよい。
【0041】
また、本発明の第9の側面は、サービスを要求する1以上のクライアントと要求されたサービスを提供する1以上のサーバとで構成されるネットワーク上において実行される遠隔手続き呼び出し動作をサポートする中継・監視サーバであって、
要求メッセージや応答メッセージの送受信を行う送受信部と、
受信した要求メッセージを解析して要求パラメータを抽出する要求メッセージ解析部と、
要求パラメータに所定の情報を連結して電子署名する監査証生成部と、
応答メッセージを解析して、送信元のサーバが電子署名した受領証を抽出する応答メッセージ解析部と、
受領証を電子認証する受領証処理部と、
を含むことを特徴とする中継・監視サーバである。
【0042】
【作用】
本発明に係る分散型のネットワーク・システムには、サービスを要求する1以上のクライアントと、サービス・オブジェクトを有する1以上のサーバが存在する。
【0043】
サーバは、ある1つのサービス要求に対して、自身が所有するサービス・オブジェクトのみを以って応答してもよいが、他のサーバとの協働的動作によって応答しても良い。サーバ同士は、例えばCGI(Common Gateway Interface)のような接続形態によって協働的動作を実現することができる。
【0044】
本発明においては、サービスを要求するクライアントは、サービス・オブジェクトを有するサーバに直接アクセスすることはせずに、中継・監査サーバに対してサービス要求メッセージを送信する。この中継・監査サーバは、ネットワーク・システム上のいずれかの場所に配設されているものとする。
【0045】
ネットワーク・システムがインターネットであれば、サーバは例えば無数のHTML(Hyper Text Markup Language)ファイルを所有するHTTP(Hyper Text Transfer Protocol)サーバであり、サービス・オブジェクトはHTMLTファイル(ホームページ)である。また、クライアントはURL(Uniform ResourceLocator)の送信という形態でサービス要求メッセージを送信することができる。
【0046】
中継・監査サーバは、クライアントからの要求メッセージを受信すると、この受信メッセージに自身が持つ公開鍵暗号系の秘密鍵を用いた署名を付けて、該当するサービス・オブジェクトを持つサーバに向けて送信する。ここで、中継・監査サーバは、要求メッセージを中継する際に、サービスの要求元であるクライアント・ユーザを特定してもよい。特定することによって、中継・監査サーバは、要求メッセージの出所を証明したり、受信ログを記録することができる。また、中継・監査サーバはメッセージの送信ログを記録してもよい。
【0047】
サービス・オブジェクトを持つサーバは、中継・監査サーバを介して要求メッセージを受け取ると、中継・監査サーバの公開鍵を用いて認証し、サービス要求の出所を確認することができる。認証を行うことによって、サーバは安心してサービスを提供することができる。
【0048】
サーバは、自身が所有するサービス・オブジェクトのみを以って要求メッセージに応答する。この場合は、自身が持つ公開鍵暗号系の秘密鍵を用いた署名を付けて、中継・監査サーバに応答メッセージを送信する。
【0049】
あるいは、サーバは、要求されたサービスの処理の一部を他のサーバ(例えば木構造を形成する子サーバ)に委ねることができる。この場合、サーバは自身が持つ公開鍵暗号系の秘密鍵を用いた署名を付けて、要求メッセージを他のサーバに送信する。
【0050】
サーバから要求メッセージを受け取った他のサーバ(子サーバ)は、公開鍵を用いて要求元のサーバを認証する。そして、応答メッセージを戻すときには、自身の公開鍵暗号系の秘密鍵を用いた署名を行う。他のサーバは、さらに他のサーバ(孫サーバ)にサービスを要求することもできるが、この場合は同様に、要求メッセージ送信時における署名と応答メッセージ受信時における認証を伴う。
【0051】
サーバが要求サービスに応答した応答メッセージは、クライアントに戻される前に、一旦、中継・監査サーバにて受信される。この応答メッセージには、サーバの署名が付加されている。応答メッセージが複数のサーバの連携によって形成されているときには、これに関わった全て(又は少なくとも一部)のサーバの署名が応答メッセージに付加されている。中継・監査サーバは、各サーバの公開鍵を用いて署名を認証して、サービス・オブジェクトの出所を確認する。さらに、中継・監査サーバは、応答メッセージの中身がサービス要求に対する正当なメッセージであるかどうか検査する。応答メッセージの内容が異常若しくは不当なものであれば、例えば再送要求を発行したり警告を発したりしてもよい。
【0052】
このような認証や検査工程を経て、応答メッセージが中継・監査サーバから要求元クライアントに送信される。応答メッセージはその出所が明らかであり、内容も検査済みであるから、クライアントは信頼してこれを受理することができる。
【0053】
また、中継・監査サーバは、要求メッセージや応答メッセージの送受信の履歴を記録し、遠隔手続き呼び出し動作を監視することができる。例えば、要求元のクライアントが同じサービス要求を頻繁に発行しているなど、ある特定のクライアント・ユーザがネットワーク上で不信な挙動を行っているときには、要求先のサーバ側に通知したりクライアントに警告を発したりしてもよい。
【0054】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0055】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【0056】
図1には、本発明の実施に供されるネットワーク・システム100の構成を模式的に示している。ネットワーク・システム100は、データ(すなわちサービス要求メッセージやサービス応答メッセージなど)の伝送媒体であるネットワーク10に無数のデータ端末装置50A,50B…が接続されており、分散コンピューティング環境を提供している。以下、各部について説明する。
【0057】
ネットワーク10は、例えば大学や企業の構内などの限られた空間内に敷設されたLAN(Local Area Network)である。あるいは、LAN同士を専用線等で相互接続してなるWAN(Wide Area Network)や、一般公衆回線(PSTN:Public Switched Telephone Network)、ISDN(Integrated Service Digital Network)、これらネットワークの大規模な集合体であるインターネットであってもよい。各データ端末装置50A…は、モデムやTA(Terminal Adapter)、LANアダプタ等を介してネットワーク10に接続される。
【0058】
データ端末装置50A…の一部はサービスを提供するサーバであり、その他はサービスを要求するクライアントである。データ端末装置50A…は、サーバ或いはクライアントとしてデザインされた専用のマシンであってもよいが、多くの場合は、サーバ用又はクライアント用のアプリケーションを導入して動作する汎用のコンピュータ・システムである。各データ端末装置同士は、ネットワーク10を介して、例えばTCP/IP(Transmission ControlProtocol/Internet Protocol)接続されている。
【0059】
サーバは、複数のサービス・オブジェクトを所有しており、サービス要求に応じて適宜サービス・オブジェクトを要求元に提供する。サービス・オブジェクトの一例は、ホームページを形成するためのHTML(Hyper Text Markup Language)ファイルであり、HTTP(Hyper Text Transfer Protocol)プロトコルに従ってネットワーク10経由で伝送することができる。また、クライアントは、URLの形式に従って所望のサービス・オブジェクトを指定することができる。
【0060】
ネットワーク10を介したURLによるサービス要求は、一種の遠隔手続き/メソッド呼び出しである。また、サーバは、ある1つのサービス要求に対して、自分一人で実行するとは限らず、さらに別のサーバにサービスの一部の提供を委ねることもある。サーバが他のサーバにサービスの提供を要求する方式の1つはCGI(Common Gateway Interface)である。すなわち、クライアントからのサービス要求を第1に受け取ったサーバ(仮に「親サーバ」とする)は、ホームページ内におけるコンテンツの一部の生成を別のサーバ(仮に「子サーバ」とする)に委ねる。そして、親サーバは、自ら生成したコンテンツと子サーバから戻されたコンテンツとからホームページを生成して、クライアントに戻すという仕組みである。さらに子サーバは自分の子サーバ(「孫サーバ」)にサービスの一部の提供を委ねることもある。サービスを提供する複数のサーバの親子関係は、一種の木構造を形成する。このような場合、要求されたサービスに対する応答は、木構造をなす各サーバ間の協働的な連携作業によって果たされる。
【0061】
例えば、WWWクライアントがブラウザ画面上で検索項目を入力したときは、WWWサーバは、検索の実行と検索結果の送信を他のデータベース・サーバに要求することがある。この場合、データベース・サーバは、CGIなどの仕組みによってWWWサーバに連動して、要求されたサービスの一部を提供する。すなわち、データベース・サーバは、検索結果を示すテーブル中の該当カラムの内容を生成し、WWWサーバはテーブルの残りの部分を生成する(前述)。
【0062】
本発明において特にユニークなのは、ネットワーク10上に存在するサーバの少なくとも1つが「中継・監視サーバ」として機能する点である。この中継・監視サーバは、クライアントに代行してサーバにサービス要求を行うようになっている。クライアントは、サーバに直接アクセスせず、中継・監視サーバに対してサービス要求メッセージを送信し、また、中継・監視サーバを経由してサービス応答メッセージを受信する。
【0063】
中継・監視サーバは、メッセージ受信の際には送信元の認証を行うことでメッセージの内容を保証する。メッセージ送信の際には、自ら署名を行うことで、メッセージの出所証明を行う。クライアントは、中継・監視サーバを介することで、安心してサービスの提供を受けることができる。また、中継・監視サーバは、サービスを要求するクライアント・ユーザを特定したり、そのログを記録することで、ユーザの不信な挙動をも監視する。中継・監視サーバを含んだメッセージ送受信オペレーションの詳細については後述に委ねる。
【0064】
図2には、クライアントからのあるサービスを提供するために形成されたサーバの木構造を模式的に示している。同図では、サービスを提供する親サーバ3には2つの子サーバ4及び5が存在し、さらに子サーバ5を後継する孫サーバ6が存在する。但し、全てのサーバが同一の運営団体に所属しているとは限らない。また、クライアント1とサーバ4の間には、中継・監視サーバ2が介在している。
中継・監視サーバ2は、その機能実現のために特化してデザインされたデータ端末装置であってもよいが、中継・監視サーバ用のアプリケーション・プログラムを導入した汎用コンピュータ・システムであってもよい。
【0065】
図3には、本発明を実現する中継・監視サーバ2の構成を模式的に図解したブロック図である。同図に示すように、中継・監視サーバ2は、監査証作成部210と、要求メッセージ解析部220と、送受信部230と、受領証処理部240と、応答メッセージ解析部250とで構成される。以下、各部について説明する。
【0066】
送受信部230は、ネットワーク10経由でのメッセージの送受信を行うための装置である。クライアント1に対しては、サービス要求メッセージの受信とサービス応答メッセージの送信を行う。また、サーバ3に対しては、サービス要求メッセージの送信と、サービス応答メッセージの受信を行う。
【0067】
要求メッセージ解析部220は、送受信部230から受け取ったサービス要求メッセージの解析処理を行う。また、要求メッセージ中の要求パラメータを抽出して監査証作成部210に渡す。
【0068】
監査証生成部210は、電子署名を行うために、公開鍵暗号系の秘密鍵を所有する。要求メッセージ解析部220から要求パラメータを渡されると、これに監査証番号とその有効期限を表した文字列を連結して、さらに秘密鍵を用いて電子署名する。この電子署名は、中継・監視サーバ2が発行する監査証を意味する。この後、監査証が付された要求メッセージは、送受信部230から送出される。また、監査証生成部210は、クライアントからの要求メッセージを管理するためのログ・ファイルを備えており、クライアントからの要求メッセージを処理する度に、ログをとるようになっている。
【0069】
応答メッセージ解析部250は、サーバから受信した応答メッセージの解析処理を行う。応答メッセージには、送信元のサーバによって電子署名が施された受領証が含まれている。応答メッセージ解析部250は、応答メッセージから受領証を抽出して、受領証処理部240に渡す。
【0070】
受領証処理部240は、各サーバ3,4,5,6の公開鍵を保持しており、応答メッセージ解析部250から渡された受領証の署名の認証を行う。本実施例では、サーバ3から戻されたサービス応答メッセージ中には、サービス応答に携わった全て(又は少なくとも一部)のサーバ3,4,…の電子署名が施されている(後述)。これら電子署名は、各サーバ3,4,…の受領証の役割を持つ。受領証処理部240は、該当するサーバの公開鍵を用いて各署名を電子認証する。また、受領証処理部240は、各サーバ毎のログ・ファイルを管理しており、認証手続きに成功したときには該当するサーバのログ・ファイルにそのログを追加するようになっている。
【0071】
なお、図3に示した各ブロックは、専用のハードウェア装置としてデザインすることも、或いは汎用コンピュータ・システムに導入されたプログラム・モジュールの形態で実装することも可能である。
【0072】
図4には、本発明の実施に供されるサーバ3の構成を模式的に図解したブロック図である。同図に示すように、サーバ3は、サービス・オブジェクト部310と、応答メッセージ生成部320と、要求メッセージ解析部330と、送受信部340と、応答メッセージ解析部350と、要求メッセージ生成部360とで構成される。以下、各部について説明する。
【0073】
送受信部340は、ネットワーク10経由でのメッセージの送受信を行うための装置である。中継・監査サーバ2若しくは自分の親サーバに対しては、サービス要求メッセージの受信とサービス応答メッセージの送信を行う。また、自分の子サーバに対しては、サービス要求メッセージの送信と、サービス応答メッセージの受信を行う。
【0074】
サービス・オブジェクト部310は、サーバ3がサービス要求に応答して提供するサービス・オブジェクトの集合で構成される。サービス・オブジェクトの一例は、WWWクライアントのディスプレイ上においてホームページを形成するためのHTMLファイルである。サービス・オブジェクト部310の実体は、サービス・オブジェクトを格納するディスク型格納装置である。クライアント1や子サーバに対してサービスを要求する親サーバは、所望のサービス・オブジェクトをURLによって指定することができる。
【0075】
要求メッセージ解析部330は、送受信部340から受け取ったサービス要求メッセージを解析処理する。ここで言う解析処理は、要求メッセージ中の監査証を抽出して、該メッセージの有効性や正当性などのチェックを行うことである。要求メッセージ解析部330は、既に無効となった監査証の識別子を管理するための無効識別子テーブルも備えている。
【0076】
要求メッセージ解析部330は、要求メッセージ送信元の公開鍵を用いて監査証を電子認証するとともに、監査証中の有効期限を検証する。有効期限が消滅していれば、次のステップには進まないので、サービス・オブジェクトの提供は行われない。監査証が有効期限内であれば、次に、監査証の識別子が無効識別子テーブル中にないかどうかを確認する。テーブル中に存在すれば、監査証が既に無効であることを意味するので、次のステップには進まず、この結果としてサービス・オブジェクトの提供は行われない。監査証の識別子が無効識別子テーブル中になければ、該識別子を該テーブル中に追加する。この結果、同一の監査証の流用が禁止されることになる。
【0077】
監査証の検査を終えた後、要求メッセージ解析部330は、要求メッセージ中の要求パラメータをサービス・オブジェクト部310に渡す。サービス・オブジェクト部310は、これに応答して、該当するサービス・オブジェクトを自ら所有するときには、該サービス・オブジェクトを応答メッセージ生成部320に供給する。また、該当するサービス・オブジェクトを自らは所有せず、サーバ3の子孫のサーバ4,5…が所有するときには、要求メッセージ生成部360に対して子孫サーバ4,5…へのサービス要求メッセージの送信を促す。
【0078】
応答メッセージ生成部320は、サービス・オブジェクト部310から取り出されたサービス・オブジェクトを基にして、応答メッセージを生成する。また、応答メッセージ生成部320は、公開鍵暗号系の秘密鍵を所有しており、応答メッセージに対して電子署名を行うことによって、応答メッセージに受領証を添付する。受領証着きの応答メッセージは送受信部340によってサービス要求元に送出される。
【0079】
要求メッセージ生成部360は、子孫サーバ4,5…に対して送信するサービス要求メッセージを生成するためのものである。要求メッセージ生成部360は、公開鍵暗号系の秘密鍵を所有しており、要求メッセージに対して電子署名を行うことにより要求メッセージに監査証を添付する。監査証付きの要求メッセージは、送受信部340によってサービス要求先に送出される。なお、子孫サーバ4,5…へのサービス要求は、例えばCGI(Common Gateway Interface)の形態で行われる。
【0080】
応答メッセージ解析部350は、送受信部340が受信した子孫サーバ4,5…からの応答メッセージを解析するためのものである。応答メッセージには、サービス要求に応答した全て(又は少なくとも一部)の子孫サーバ4,5…の電子署名を含んだ受領証が添付されている。応答メッセージ解析部350は、各子孫サーバ4,5…の公開鍵を用いて受領証を電子認証する。また、子孫サーバ4,5…から送られてきたサービス・オブジェクトに加えて、サーバ3自身が所有するサービス・オブジェクトを送るときには、サービス・オブジェクト部310に対して所望のサービス・オブジェクトの取り出しを促す(例えば、サーバ3がホームページ上のテーブルを作成し、該テーブル中の所定のカラムを子孫サーバ(データベース・サーバなど)が作成する場合がこれに該当する)。
【0081】
以下でも詳解するが、サーバ3は、サービス・オブジェクトを提供するサーバそのものとして機能する以外に、自分の子孫にあたる各サーバ4,5,6からの応答メッセージを認証する認証局としての役割も持つ、という点を充分理解されたい。
【0082】
なお、図4に示した各ブロックは、専用のハードウェア装置としてデザインすることも、或いは汎用コンピュータ・システムに導入されたプログラム・モジュールの形態で実装することも可能である。
【0083】
また、サーバ3の子孫にあたるその他のサーバ4,5,6も、図4に示したものと同様の構成を具備するものと理解されたい。例えば、図示しないサーバ4は、サービス・オブジェクト部410と、応答メッセージ生成部420と、要求メッセージ解析部430と、送受信部440と、応答メッセージ解析部450と、要求メッセージ生成部460とで構成される。
【0084】
次いで、ネットワーク・システム100上における遠隔手続き呼び出しの処理動作について説明する。図5には、クライアント1が発行したサービス要求が中継・監視サーバ2及び各サーバ3,4,5…の協働的動作によって処理される様子を模式的に示している。
【0085】
この例では、各サーバ3,4,5…はHTTPサーバであり、クライアント1はHTTPプロトコルを用いてサービス要求メッセージを送信するものとする。また、サーバ3は、自分の子孫サーバ4,5…と連携して、HTMLで記述された1つのファイルを生成するものとする。例えば、サーバ3がHTMLファイルに含まれるテーブルの前半部分に該当するサービス・オブジェクトを提供し、その子サーバ4がテーブルの後半部分に該当するサービス・オブジェクトを提供する。サーバ3,4,5…同士は、例えばCGI(Common GatewayInterface)に従った手順によって接続される。ここでは、各々のサーバ3,4,5…のドメイン名を仮に”server300”,”server400”,”server500”…としておく。
【0086】
クライアントは、HTTPプロトコルを用いて、以下のような第1のサービス要求メッセージ(service1)を中継・監視サーバに送信する。
【0087】
【数1】
GET /service1 HTTP/1.1
【0088】
中継・監視サーバ2は、第1のサービス要求メッセージを受信すると、これを要求メッセージ解析部220に渡す。
【0089】
要求メッセージ解析部220は、第1のサービス要求メッセージ中の要求パラメータとして”service1”を抽出する。次いで、自身が持つURL対応テーブルを検索して、”service1”に対応するURL”http://server300/object310”を取り出して、これを監査証生成部210に渡す。このURLは、ドメイン名”server300”を持つサーバ3のサービス・オブジェクト部が所有するサービス・オブジェクト”object310”を要求するものとする。
【0090】
監査証生成部210は、メッセージの識別子、有効期限、サービス名の3項のパラメータからなる以下のようなデータを生成する。
【0091】
【数2】
【0092】
上記の3項組のデータは、識別子が1、有効期限(但し世界時刻とする)が1998年6月8日10時10分から同日の10時15分まで、サービス名がservice1であること、すなわち、識別子1を持つサービス要求に対しては1998年6月8日10時10分から同日10時15分までの間service1へのアクセスが許可されていることを示している。この3項組のデータは、要するにサービス・オブジェクトに対するアクセス権限を意味する。ネットワーク・コンピューティング関連の技術分野ではアクセス権限は「ケーパビリティ(Capability)」とも呼ばれる。
【0093】
監査証生成部210は、この3項組のデータに対してメッセージ・ダイジェスト関数を適用し、自分が保持する公開鍵暗号系の秘密鍵secreykey1を用いて電子署名を行う。ここで付された署名は、後続のサーバ3において「監査証10」の役割を果たすが、以下では”signature1”と呼ぶことにする。
【0094】
監査証生成部210は、要求された”service1”に対応するURL”http://server300/object310”を基にして、サーバ3の送受信部340に対して以下のような第2のサービス要求メッセージを送信する。
【0095】
【数3】
【0096】
サーバ3の送受信部340は、第2のサービス要求メッセージを受け取ると、これを要求メッセージ解析部330に渡す。要求メッセージ解析部330は、これに応答して以下の工程を実行する。
【0097】
(1) メッセージの先頭行からサービス・オブジェクトの名前を抽出して、該サービス・オブジェクトについての第1のリファレンスを得る。
(2) HTTPにおけるリクエスト・ヘッダのうち”Capability”というフィールド名に対応する値を抽出して、第1のケーパビリティとする。
(3) HTTPにおけるリクエスト・ヘッダのうち”Signature”というフィールド名に対応する値を抽出して、第1の署名とする。
(4) 第1のケーパビリティに記述された有効期限が期限内かどうかを検査する。期限内であれば次工程に進むが、そうでなければ当該ケーパビリティが無効である旨の応答メッセージを送受信部340に入力する。
(5) 第1のケーパビリティが無効識別子テーブルの中に存在するかどうかを検索する。該テーブル中になければ次工程に進むが、そうでなければ当該ケーパビリティが無効である旨の応答メッセージを送受信部340に入力する。
(6) 中継・監視サーバ2の公開鍵を用いて、第1の署名が第1のケーパビリティの正しい署名であるかどうかを検査する。正しい署名であれば、第1のケーパビリティの識別子を無効識別子テーブルに追加する。
(7) 第1のリファレンスで示されるサービス・オブジェクト部310に要求メッセージを渡す。また、第1のケーパビリティと第1の署名を要求メッセージ生成部360に入力する。
【0098】
一度受理したケーパビリティの識別子を無効識別子テーブルに登録しておくことにより、ネットワーク上の不正者が同じケーパビリティを流用するのを防止することができる。
【0099】
第2のサービス要求メッセージに応答するために、さらにサーバ4が持つサービス・オブジェクトを必要とするときには、サーバ3のサービス・オブジェクト部310は、サーバ4のサービス・オブジェクト部410にサービス要求メッセージを送信すべく、要求メッセージ生成部360に要求メッセージの生成を要求する。
【0100】
要求メッセージ生成部360は、サーバ3自身が所持する公開鍵暗号系のsectretkey2を用いて第2の署名signature2を作成し、第1のケーパビリティと第1の署名と第2の署名(すなわち「監査証20」)を含んだ第3のサービス要求メッセージを生成する。
【0101】
サーバ3は、サーバ4に対して、HTMLファイル中のテーブルの後半部分を要求するものとする。この場合、第3のサービス要求メッセージは以下のようになる。
【0102】
【数4】
【0103】
サーバ4の要求メッセージ解析部430は、第3のサービス要求メッセージを受け取ると、以下の工程を実行する。
【0104】
(1) メッセージの先頭行からサービス・オブジェクトの名前を抽出して、サービス・オブジェクトの第2のリファレンスを得る。
(2) HTTPにおけるリクエスト・ヘッダの形式のうち”Capability”というフィールド名に対応する値を抽出して、第1のケーパビリティ(アクセス権限)とする。
(3) HTTPにおけるリクエスト・ヘッダの形式のうち”Signature”というフィールド名に対応する値を抽出して、第1の署名とする。
(4) HTTPにおけるリクエスト・ヘッダの形式のうち”Signature2”というフィールド名に対応する値を抽出して、第2の署名とする。
(5) 第1のケーパビリティの有効期限が期限内であるかどうかを検査する。期限内であれば次工程に進むが、そうでなければ該ケーパビリティが無効である旨の応答メッセージを送受信部410に渡す。
(6) 第1のケーパビリティの識別子が無効識別子テーブルの中にあるかどうかを検索する。該テーブル中になければ次工程に進むが、そうでなければ該ケーパビリティが無効である旨の応答メッセージを送受信部410に入力する。
(7) 第1の署名が第1のケーパビリティの正しい署名であるかどうかを、中継・監視サーバ2の公開鍵を用いて検査する。正しい署名であれば、第1のケーパビリティの識別子を無効識別子テーブルに追加する。
(8) 第2の署名が第1のケーパビリティの正しい署名であるかどうかを、サーバ3の公開鍵を用いて検査する。正しい署名であれば次工程に進むが、そうでなければ工程を中止する。
(9) 第1のリファレンスで示されるサービス・オブジェクト部410に要求メッセージを渡す。また、第1のケーパビリティと第1の署名を要求メッセージ生成部460に入力する。
【0105】
一度受理したケーパビリティの識別子を無効識別子テーブルに登録しておくことにより、ネットワーク上の不正者が同じケーパビリティを流用するのを防止することができる。
【0106】
要求メッセージを受け取ったサービス・オブジェクト部410は、要求されたHTMLファイル中のテーブルの後半部分を生成する。サービス・オブジェクト部410が提供するサービス・オブジェクトの実体は、例えば以下のようなものである。
【0107】
【数5】
<tr>
<td> bbbb100
<td> 100
<td> 1000
<tr>
<td> bbbb200
<td> 200
<td> 2000
<tr>
<td> bbbb300
<td> 300
<td> 3000
【0108】
サービス・オブジェクト部410は、このような「文書1」を生成して、応答メッセージ生成部420に渡す。
【0109】
応答メッセージ生成部420は、サーバ4が所持する公開鍵暗号系の秘密鍵を用いて文書1に署名を施すことでサービス応答メッセージを生成する。そして、送受信部440を介してサーバ3の送受信部340にサービス応答メッセージを送信する。サービス応答メッセージに付された署名は「受領証30」としての意味を持つ。
【0110】
サーバ3の送受信部340は、サービス応答メッセージを受け取ると、これを応答メッセージ解析部350に渡す。
【0111】
応答メッセージ解析部350は、サービス応答メッセージを解析し、サーバ4の公開鍵を用いて署名の認証を行う。この認証作業は、サーバ3が自分の子孫にあたる各サーバ4,5,6に対する認証局としての役割も持つことを意味する。
【0112】
署名が正しく認証されたならば、応答メッセージ解析部350はサービス応答メッセージ中の文書1をサービス・オブジェクト部310に渡す。
【0113】
サービス・オブジェクト部310は、要求されたHTMLファイル中のテーブルの前半部分を生成する。サービス・オブジェクト部410が提供するサービス・オブジェクトの実体は、例えば以下に示すような「文書2」である。
【0114】
【数6】
<tr>
<td> aaaa100
<td> 100
<td> 1000
<tr>
<td> aaaa200
<td> 200
<td> 2000
<tr>
<td> aaaa300
<td> 300
<td> 3000
【0115】
サービス・オブジェクト部310は、上述の文書1と文書2とを連結して「文以下に示すような「文書3」を生成する。
【0116】
【数7】
<html>
<head>
<title>表の合成結果</title>
</head>
<body>
<table>
<tr>
<td> aaaa100
<td> 100
<td> 1000
<tr>
<td> aaaa200
<td> 200
<td> 2000
<tr>
<td> aaaa300
<td> 300
<td> 3000
<tr>
<td> bbbb100
<td> 100
<td> 1000
<tr>
<td> bbbb200
<td> 200
<td> 2000
<tr>
<td> bbbb300
<td> 300
<td> 3000
</table>
</body>
</html>
【0117】
生成された文書3は、応答メッセージ生成部320に渡される。
【0118】
応答メッセージ生成部320は、サーバ3が所持する公開鍵暗号系の秘密鍵を用いて文書3に署名を行い、サービス応答メッセージを生成する。サービス応答メッセージに付された署名は、「受領証80」としての意味を持つ。そして、サービス応答メッセージは、送受信部340を介して中継・監査サーバ2の送受信部240に送信される。
【0119】
中継・監視サーバ2の送受信部240は、受け取ったサービス応答メッセージを応答メッセージ解析部250に渡す。
【0120】
応答メッセージ解析部250は、サーバ3及びサーバ4の各々の公開鍵を用いて監査証80に含まれる各署名を検査する。すなわち、中継・監視サーバ2は、サービスを提供する各サーバ3,4…に対する認証局として機能する。
【0121】
正しく認証されたときには、文書3は送受信部240を介してクライアント1に送信されるが、認証に失敗したときには、文書3に代わって、サービス応答メッセージが正しくない旨の応答メッセージを送信する。
【0122】
なお、上記の説明では、クライアント1からのサービス要求に対して、サーバ3はサーバ4とのみ連携して応答する例を挙げたが、サーバ3がサーバ5及びサーバ6と連携する場合も同様である。このような場合、サーバ3がサーバ5に要求メッセージを送信するときには「監査証40」が、サーバ5がサーバ6に要求メッセージを送信するときには「監査証50」が、夫々添付される。また、サーバ6がサーバ5に応答メッセージを送信するときには「受領証60」が、サーバ5がサーバ3に応答メッセージを送信するときには「受領証70」が、夫々添付される。
【0123】
また、上述の実施例では、ネットワークを介してコンピュータ同士がメッセージを送受するためのプロトコルとしてHTTPを取り上げたが、他の任意のプロトコルを使用しても同様に本発明を適用することができる。プロトコルは、例えば、HTTPS,S−HTTP(secure HTTP),FTP(FileTransfer Protocol),CORBA(Common ORBArchitecture),IIOP(Internet Inter−ORB Protocol),JavaRMI(Remote Method Invocation)のいずれであってもよい。
【0124】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0125】
【発明の効果】
以上詳記したように、本発明によれば、1以上のサーバと1以上のクライアントからなる分散型のネットワーク・システムにおいてクライアントがサーバに対してサービスを要求するための、優れた遠隔手続き呼び出しを行う方式を提供することができる。
【0126】
また、本発明によれば、少なくとも1つの中継・監査サーバを中継してサービスの要求がサーバに届くようなタイプの、優れた遠隔手続き呼び出し方式を提供することができる。
【0127】
また、本発明によれば、複数のサーバの協働的な動作によってクライアントから要求されたサービスを提供するような分散型のネットワーク環境において、サービスの正当な履行を保証するための優れた方式を提供することができる。
【0128】
また、本発明によれば、ネットワーク上に中継・監査サーバを配設することで、サービス要求の出所を認証したり、サーバから提供されたサービスを保証することができる、優れた遠隔手続き/メソッド呼び出し方式を提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施に供されるネットワーク・システム100の構成を模式的に示した図である。
【図2】 クライアントからのあるサービスを提供するために形成されたサーバの木構造を模式的に示した図である。
【図3】 本発明を実現する中継・監視サーバ2の構成を模式的に示したブロック図である。
【図4】 本発明の実施に供されるサーバ3の構成を模式的に示したブロック図である。
【図5】 ネットワーク・システム100上において遠隔手続き呼び出しを処理するためのオペレーションを模式的に示した図である。
【図6】 ネットワーク上で、WWWサーバがデータベース・サーバと協調してクライアントから呼び出された遠隔手続きを処理する様子を模式的に示した図である。
【図7】 ネットワーク上において、多数のサーバが連携してクライアントのサービス要求に応答する様子を模式的に示した図であり、より具体的には、多数のサーバはサービス要求/応答に関する木構造を形成し、且つ、各サーバは互いに異なる組織に属している様子を示した図である。
【図8】 ネットワーク上において、多数のサーバが連携してクライアントのサービス要求に応答する様子を模式的に示した図であり、より具体的には、一部の子サーバがダミーのクライアントを用いて不正なサービス要求を発行する様子を示した図である。
【符号の説明】
100…ネットワーク・システム
210…監査証生成部
220…要求メッセージ解析部
230…送受信部
240…応答メッセージ解析部
250…受領証生成部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a remote procedure / method call method for a client to request a service to a server in a network system in a distributed environment including one or more servers and one or more clients. The present invention relates to a remote procedure call / method method in which a service request reaches a server through an audit server.
[0002]
More particularly, the present invention relates to a method for guaranteeing performance of a remotely requested service in a distributed network environment in which a service requested by a client is provided by the cooperative operation of a plurality of servers. In particular, the present invention relates to a remote procedure call / method method that can authenticate the origin of a service request or guarantee the quality of a service provided from the server by interposing a relay / audit server on the network.
[0003]
[Prior art]
Recent developments in the fields of information processing and information communication are remarkable. In this type of technical field, research and development for interconnecting computer systems have been actively conducted. The main purpose of interconnecting systems is the sharing of computer resources by multiple users and the sharing and distribution of information.
[0004]
As a transmission medium for connecting between systems, that is, a “network”, in addition to a LAN (Local Area Network) laid in a limited space such as a campus or an office, a WAN (LAN) connected by a dedicated line ( There are various types such as Wide Area Network), general public line (PSTN), ISDN (Integrated Service Digital Network), and the Internet.
[0005]
A LAN is generally constructed as a client-server type in which a specific computer on a network is a server (file server, print server), and other clients use each other. In such a client-server model, a mechanism for entrusting execution of a part of a procedure of a program to another computer on a network, that is, “Remote Procedure Call (RPC)” or “Remote Method Call (RMI)”. : Remote Method Invocation) "is used. The execution result of the remote procedure is returned to the calling computer as a return value. You can also use the keyboard and files on your computer to input to the program, or output to the same computer display and files.
[0006]
The remote procedure or remote method call mechanism is not limited to the LAN world, and can also be used on a wide area network such as the Internet. Various protocols that can be used on the Internet, for example, HTTP (Hyper Text Transfer Protocol), HTTPS, S-HTTP (secure HTTP), FTP (File Transfer Protocol), CORBA (Common ORB Architecture), IIOP ), Java RMI (Remote Method Invocation), etc. are also realized as remote procedure / remote method call. A typical client-server model of the Internet is composed of a WWW (World Wide Web) server and a WWW browser (well known).
[0007]
A WWW server normally stores a large number of service objects and provides services via the Internet in response to service requests from WWW clients. An example of the service object is an HTML (Hyper Text Markup Language) file for forming a home page on the display of a WWW client (browser). The location of each service object that the WWW server has is expressed in the form of URL (Uniform Resource Locator). The URL is described in a format for specifying means for accessing various information resources on the Internet (ie, communication protocol) and the name of the resource, ie, “protocol name: // server name (/ directory name ...) / file name”. Is done.
[0008]
A browser as a WWW client transmits a service request message in a format based on the URL to a WWW server. On the other hand, the WWW server interprets the service request message and provides the requested service. However, the server does not always execute the requested service by itself, and may entrust provision of a part of the service to another server. One method in which a server requests the provision of a service to another server is CGI (Common Gateway Interface) (CGI itself is a standard rule. CGI programs can be created in various languages such as Basic, C, Delphi and Perl).
[0009]
For example, when a WWW client inputs a search item on a browser screen, the WWW server may request another database server to execute the search and transmit the search result. In this case, the database server provides a part of the requested service in conjunction with the WWW server by a mechanism such as CGI. The database server generates the contents of the corresponding column in the table indicating the search result, and the WWW server generates the remaining part of the table (see FIG. 6).
[0010]
The server that first receives the service request from the client (assumed to be “parent server”) entrusts the generation of a part of the content in the home page to another server (assumed to be “child server”). Then, the parent server generates a home page from the content generated by itself and the content returned from the child server, and returns it to the client. Furthermore, the child server may entrust provision of a part of the service to its child server (“grandchild server”).
[0011]
A parent-child relationship between a plurality of servers providing services forms a kind of tree structure. FIG. 7 schematically shows this. In the figure, server B is a parent server that first receives a service request (URL) from a client, and servers A and C are child servers of server B. Further, the server D requested from the server C to provide some services is a grandchild server of the server B.
[0012]
Conventionally, in most cases, servers that execute a service requested by a client, that is, servers constituting a tree structure, all belong to a single or the same type of organization, and their mutual benefits are substantially the same ( For example, in FIG. 6, the database server belongs to the same “organization 1” as the WWW server). The service requested by the client is physically provided by the cooperative operation of multiple servers. From the standpoint of the client, there is no need to be aware of the mechanism of such a tree structure. I was able to think that the server provided the service responsibly. In other words, the client need only trust the server to which the service is requested.
[0013]
However, as the world of computer networking evolves further, the relationships between the machines that make up the network become highly complex. For example, a server tree structure for providing a specific service may be configured by a set of servers straddling different organizations. For example, in FIG. 7, the server B and the database server belong to “organization 1”, but the child server A belongs to “organization 2”, and the child server C and grandchild server D belong to “organization 3”. It is also expected that the parent server B and the child server C belong to different organizations and their interests do not completely match.
[0014]
If a client acquires an account for server B for a fee, the client will fully trust server B, and server B will endeavor to provide a service commensurate with the received account fee, Will not dare to betray trust. However, there is a possibility that the server C of another organization does not feel any obligation or in-law to the client, or is malicious to the client and refuses to provide a legitimate service or performs an illegal service. is there. If server B returns the unfair service from child server C to the client as it is, the client can be severely hit or destroyed. In the current network environment, there is no mechanism to guarantee the service returned to the client.
[0015]
In addition, when the child server C belongs to an organization different from the parent server B, a kind of contract relationship may be established in which the server B pays the server C for service provision. The amount of consideration may be determined according to a pay-as-you-go system, that is, the number of service requests from clients. In such a case, the server C can make a reward or profit by frequently issuing dummy service requests to the server B (see FIG. 8). The dummy service request is easily issued by an unauthorized client pretending to be a general user. In the current network environment, there is no mechanism for server B to crack down on fraudulent acts like server C and dummy clients.
[0016]
[Problems to be solved by the invention]
An object of the present invention is to provide an excellent remote procedure call method for a client to request a service from a server in a distributed network system including one or more servers and one or more clients. is there.
[0017]
It is a further object of the present invention to provide an excellent remote procedure call system of a type in which a service request reaches a server by relaying at least one relay / audit server.
[0018]
A further object of the present invention is to provide an excellent method for guaranteeing the correct performance of a service in a distributed network environment in which a service requested by a client is provided by the cooperative operation of a plurality of servers. It is to provide.
[0019]
A further object of the present invention is to provide a remote / audit server on the network so that the origin of a service request can be authenticated and the quality of the service provided from the server can be guaranteed. To provide a procedure call method.
[0020]
[Means for Solving the Problems]
The present invention has been made in consideration of the above-mentioned problems. The first aspect of the present invention is to remotely operate a network composed of one or more clients requesting a service and one or more servers having service objects. A method for executing a procedure call,
(A) a relay / audit server receiving a first request message from a client;
(B) The relay / audit server transmits a second request message to the first server that is the request destination of the first request message;
(C) The first server receives the received second request message, and checks that the second request message has passed through the relay / audit server;
(D) the first server transmitting a first response message in response to a second request message to the relay / audit server;
(E) The relay / audit server checks that the received first response message is a valid message;
(F) the relay / audit server sending a second response message to the client;
A method for executing a remote procedure call over a network.
[0021]
Here, the first server further transmits a third request message entrusting processing of at least a part of the second request message to the second server, and receives the third request message from the second server. A first response message may be transmitted to the relay / audit server together with the response message.
[0022]
Further, if the inspection in the step (c) is abnormal, the first server may not execute the processing of the received second request message.
[0023]
If the inspection in step (e) is abnormal, the relay / audit server may not send the second response message to the client.
[0024]
The relay / audit server may further include a step of recording a transmission / reception history of the request message and / or the response message.
[0025]
A second aspect of the present invention is a method for executing a remote procedure call on a network composed of one or more clients requesting a service and one or more servers having service objects,
(A) a relay / audit server receiving a first request message from a client and identifying a user;
(B) The relay / audit server transmits a second request message to the first server that is the request destination of the first request message;
(C) The first server receives the received second request message and specifies that it is a message from the relay / audit server;
(D) the first server transmitting a first response message in response to a second request message to the relay / audit server;
(E) The relay / audit server checks that the received first response message is a valid message;
(F) the relay / audit server sending a second response message to the client;
A method for executing a remote procedure call over a network.
[0026]
Here, the first server further transmits a third request message entrusting processing of at least a part of the second request message to the second server, and receives the third request message from the second server. A first response message may be transmitted to the relay / audit server together with the response message.
[0027]
If the inspection in step (e) is abnormal, the relay / audit server may not send the second response message to the client.
[0028]
The relay / audit server may further include a step of recording a transmission / reception history of the request message and / or the response message.
[0029]
A third aspect of the present invention is a method for executing a remote procedure call on a network composed of one or more clients requesting a service and one or more servers having a service object,
(A) a relay / audit server receiving a first request message from a client;
(B) a second request message in which the relay / audit server adds a signature to the first server, which is the request destination of the first request message, using the private key of the public key cryptosystem that the relay / audit server has A step of sending
(C) the first server receiving the received second request message and authenticating using the public key of the relay / audit server;
(D) The first server sends a first response message in response to a second request message to the relay / audit server with a signature using a private key cryptosystem private key of the first server. Steps,
(E) The relay / audit server receives a first response message, authenticates using the public key of the first server, and checks that the message is a legitimate message;
(F) the relay / audit server sending a second response message to the client;
A method for executing a remote procedure call over a network.
[0030]
Here, the first server further attaches a signature using a private key of the public key cryptosystem owned by the first server, and delegates the processing of at least a part of the second request message. To the second server,
The second server receives the second message, authenticates it using the public key of the first server, and uses the private key of its own public key cryptosystem as a response message in response to the second message. And send it to the first server,
The first server transmits the first response message to the relay / audit server after authenticating the received response message using the public key of the second server.
You may do it.
[0031]
Further, if the authentication in the step (c) is abnormal, the first server may not execute the process of the received second request message.
[0032]
If the authentication in step (e) is abnormal, the relay / audit server may not send a second response message to the client.
[0033]
The relay / audit server may further include a step of recording a transmission / reception history of the request message and / or the response message.
[0034]
The fourth aspect of the present invention is a network system capable of executing a remote procedure call,
A client sending a request message requesting a service and receiving a response message;
One or more relay / audit servers that receive and forward the service request message to the requesting server and forward the received service response message to the requesting client;
One or more servers having service objects that receive the service request message, verify that the message is received via a legitimate path, and send a response message in response to the requested message;
A network system capable of executing a remote procedure call.
[0035]
The fifth aspect of the present invention is a network system capable of executing a remote procedure call,
A client sending a request message requesting a service and receiving a response message;
One or more relay / audit servers that receive a service request message, specify the request source, and forward the message to the request destination server, and forward the received service response message to the request source client; ,
One or more servers having service objects that receive the service request message, identify the source of the message, and send a response message in response to the requested message;
A network system capable of executing a remote procedure call.
[0036]
The sixth aspect of the present invention is a network system capable of executing a remote procedure call,
A client sending a request message requesting a service and receiving a response message;
One or more relays / audits that receive a service request message and forward it to the requested server, receive a response message to the service request, and forward the received service response message to the requesting client Server,
One or more servers having service objects for receiving a service request message and sending a response message in response to the requested message;
The relay / audit server and the server attach a signature using a private key of a public key cryptosystem owned by the server at the time of message transmission, and perform authentication by using the public key of the transmission source at the time of message reception A network system that can make calls.
[0037]
In the network system according to the fourth to sixth aspects of the present invention, the relay / audit server inspects that the received service response message is a valid message and then transmits it to the request source. The transmission / reception history of the request message and / or the response message may be recorded.
[0038]
According to a seventh aspect of the present invention, a service request message and a service response message are received on a network composed of one or more clients requesting a service and one or more servers providing the requested service. Or a sending server,
Means for receiving a service request message;
Means for sending a service request message to another server with its own signature;
Means for receiving a response message to the service request, authenticating the sender, and sending the message to the client of the service requester;
It is a server characterized by comprising.
[0039]
According to an eighth aspect of the present invention, a service request message and a service response message are received on a network including one or more clients requesting a service and one or more servers providing the requested service. Or a sending server,
Means for receiving a service request message and identifying the request source;
Means for sending a service request message to another server with its own signature;
Means for receiving a response message to the service request, authenticating the sender, and sending the message to the client of the service requester;
A server comprising:
Is a server characterized by
[0040]
In the server according to the seventh and eighth aspects of the present invention,
Means for checking that the received service response message is a legitimate message;
Means for recording a history of transmission and reception of request messages and / or response messages.
[0041]
A ninth aspect of the present invention provides a relay that supports a remote procedure call operation executed on a network composed of one or more clients that request a service and one or more servers that provide the requested service. A monitoring server,
A transmission / reception unit for transmitting / receiving request messages and response messages;
A request message analysis unit that analyzes the received request message and extracts request parameters;
An audit certificate generating unit that concatenates predetermined information to a request parameter and digitally signs it;
A response message analysis unit that analyzes the response message and extracts a digitally signed receipt from the transmission source server;
A receipt processor that electronically authenticates the receipt;
It is a relay / monitoring server characterized by including.
[0042]
[Action]
The distributed network system according to the present invention includes one or more clients requesting services and one or more servers having service objects.
[0043]
A server may respond to a service request with only the service object that it owns, but may also respond by a cooperative operation with other servers. The servers can realize a cooperative operation by a connection form such as CGI (Common Gateway Interface).
[0044]
In the present invention, a client requesting a service transmits a service request message to the relay / audit server without directly accessing the server having the service object. This relay / audit server is assumed to be arranged at any location on the network system.
[0045]
If the network system is the Internet, the server is, for example, an HTTP (Hyper Text Transfer Protocol) server that owns numerous HTML (Hyper Text Markup Language) files, and the service object is an HTML file (homepage). In addition, the client can transmit a service request message in the form of URL (Uniform Resource Locator) transmission.
[0046]
When the relay / audit server receives the request message from the client, the relay / audit server attaches a signature using the private key of the public key cryptosystem of the received message to the server having the corresponding service object. . Here, when relaying the request message, the relay / audit server may identify the client / user who is the request source of the service. By specifying, the relay / audit server can prove the origin of the request message and record the reception log. The relay / audit server may record a message transmission log.
[0047]
When the server having the service object receives the request message via the relay / audit server, it can authenticate using the public key of the relay / audit server and confirm the origin of the service request. By performing authentication, the server can provide services with peace of mind.
[0048]
The server responds to the request message with only the service object that it owns. In this case, a response message is transmitted to the relay / audit server with a signature using a private key of the public key cryptosystem possessed by itself.
[0049]
Alternatively, the server can entrust part of the processing of the requested service to another server (for example, a child server that forms a tree structure). In this case, the server attaches a signature using its own public key cryptosystem private key and transmits the request message to another server.
[0050]
Other servers (child servers) that have received the request message from the server authenticate the requesting server using the public key. When returning the response message, the signature is made using the private key of its own public key cryptosystem. Other servers can also request services from other servers (grandchild servers). In this case, however, the signature is accompanied when the request message is transmitted and the authentication is performed when the response message is received.
[0051]
The response message from the server responding to the request service is once received by the relay / audit server before being returned to the client. A server signature is added to the response message. When the response message is formed by cooperation of a plurality of servers, the signatures of all (or at least a part) servers involved in the response message are added to the response message. The relay / audit server authenticates the signature using the public key of each server and confirms the origin of the service object. Further, the relay / audit server checks whether the content of the response message is a valid message for the service request. If the content of the response message is abnormal or inappropriate, for example, a retransmission request may be issued or a warning may be issued.
[0052]
After such authentication and inspection processes, a response message is transmitted from the relay / audit server to the requesting client. Since the source of the response message is clear and the contents have been examined, the client can accept it with confidence.
[0053]
Further, the relay / audit server can record the transmission / reception history of request messages and response messages, and can monitor the remote procedure call operation. For example, when a specific client user is behaving on the network, such as when the requesting client frequently issues the same service request, the requesting server is notified or the client is warned May be issued.
[0054]
Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings.
[0055]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0056]
FIG. 1 schematically shows a configuration of a network system 100 used for implementing the present invention. In the network system 100, an infinite number of
[0057]
The network 10 is a LAN (Local Area Network) laid in a limited space such as a campus or a company campus. Alternatively, a WAN (Wide Area Network) formed by interconnecting LANs with a dedicated line, a general public line (PSTN: Public Switched Telephone Network), an ISDN (Integrated Service Digital Network large scale network network), or the like. Internet may be. Each data
[0058]
Some of the
[0059]
The server owns a plurality of service objects, and appropriately provides service objects to requesters according to service requests. An example of the service object is an HTML (Hyper Text Markup Language) file for forming a home page, which can be transmitted via the network 10 according to an HTTP (Hyper Text Transfer Protocol) protocol. Further, the client can designate a desired service object according to the URL format.
[0060]
A service request by URL via the network 10 is a kind of remote procedure / method call. In addition, a server does not always execute by itself for a certain service request, but may entrust provision of a part of the service to another server. One method in which a server requests service provision to another server is CGI (Common Gateway Interface). In other words, the server that first receives the service request from the client (assuming “parent server”) entrusts generation of a part of the content in the home page to another server (assuming “child server”). The parent server is a mechanism for generating a home page from the content generated by itself and the content returned from the child server and returning it to the client. Furthermore, the child server may entrust provision of a part of the service to its child server (“grandchild server”). A parent-child relationship between a plurality of servers providing services forms a kind of tree structure. In such a case, the response to the requested service is fulfilled by cooperative cooperation between the servers forming the tree structure.
[0061]
For example, when a WWW client inputs a search item on a browser screen, the WWW server may request another database server to execute the search and transmit the search result. In this case, the database server provides a part of the requested service in conjunction with the WWW server by a mechanism such as CGI. That is, the database server generates the contents of the corresponding column in the table indicating the search result, and the WWW server generates the remaining part of the table (described above).
[0062]
Particularly unique in the present invention is that at least one of the servers existing on the network 10 functions as a “relay / monitoring server”. This relay / monitoring server makes a service request to the server on behalf of the client. The client does not directly access the server, transmits a service request message to the relay / monitoring server, and receives a service response message via the relay / monitoring server.
[0063]
The relay / monitoring server guarantees the content of the message by authenticating the transmission source when the message is received. When sending a message, the source of the message is proved by signing itself. The client can receive the service with peace of mind through the relay / monitoring server. The relay / monitoring server also monitors the untrustworthy behavior of the user by identifying the client / user requesting the service and recording its log. Details of the message transmission / reception operation including the relay / monitoring server will be described later.
[0064]
FIG. 2 schematically shows a tree structure of a server formed to provide a certain service from a client. In the figure, the parent server 3 that provides the service includes two child servers 4 and 5, and further includes a grandchild server 6 that succeeds the child server 5. However, not all servers belong to the same operating organization. A relay / monitoring server 2 is interposed between the client 1 and the server 4.
The relay / monitoring server 2 may be a data terminal device specially designed for realizing its function, or may be a general-purpose computer system in which an application program for the relay / monitoring server is introduced. .
[0065]
FIG. 3 is a block diagram schematically illustrating the configuration of the relay / monitoring server 2 that implements the present invention. As shown in the figure, the relay / monitoring server 2 includes an audit
[0066]
The transmission /
[0067]
The request
[0068]
The audit
[0069]
The response
[0070]
The
[0071]
Each block shown in FIG. 3 can be designed as a dedicated hardware device or can be implemented in the form of a program module installed in a general-purpose computer system.
[0072]
FIG. 4 is a block diagram schematically illustrating the configuration of the server 3 provided for implementing the present invention. As shown in the figure, the server 3 includes a
[0073]
The transmission /
[0074]
The
[0075]
The request
[0076]
The request
[0077]
After completing the inspection of the audit certificate, the request
[0078]
The
[0079]
The
[0080]
The response
[0081]
As will be described in detail below, the server 3 functions not only as a server that provides a service object, but also as a certificate authority that authenticates response messages from the servers 4, 5, and 6 as its descendants. I want you to fully understand this point.
[0082]
Each block shown in FIG. 4 can be designed as a dedicated hardware device, or can be implemented in the form of a program module installed in a general-purpose computer system.
[0083]
Also, it should be understood that the other servers 4, 5, and 6 that are descendants of the server 3 have the same configuration as that shown in FIG. For example, the server 4 (not shown) includes a service object unit 410, a response message generation unit 420, a request message analysis unit 430, a transmission / reception unit 440, a response message analysis unit 450, and a request message generation unit 460. The
[0084]
Next, a remote procedure call processing operation on the network system 100 will be described. FIG. 5 schematically shows how a service request issued by the client 1 is processed by the cooperative operation of the relay / monitoring server 2 and each of the servers 3, 4, 5.
[0085]
In this example, each of the servers 3, 4, 5,... Is an HTTP server, and the client 1 transmits a service request message using the HTTP protocol. In addition, the server 3 is assumed to generate one file described in HTML in cooperation with its descendant servers 4, 5. For example, the server 3 provides a service object corresponding to the first half of the table included in the HTML file, and the child server 4 provides a service object corresponding to the second half of the table. The servers 3, 4, 5... Are connected by a procedure according to, for example, CGI (Common Gateway Interface). Here, the domain names of the servers 3, 4, 5,... Are assumed to be “server 300”, “server 400”, “server 500”,.
[0086]
The client transmits a first service request message (service 1) as described below to the relay / monitoring server using the HTTP protocol.
[0087]
[Expression 1]
GET / service1 HTTP / 1.1
[0088]
When the relay / monitoring server 2 receives the first service request message, it passes it to the request
[0089]
The request
[0090]
The audit
[0091]
[Expression 2]
[0092]
The data of the above three items is that the identifier is 1, the expiration date (which is assumed to be the universal time) is from 10:10 on June 8, 1998 to 10:15 on the same day, and the service name is service1. The service request having the identifier 1 indicates that access to the service 1 is permitted from 10:10 on June 8, 1998 to 10:15 on the same day. In short, this triplet of data means access authority to the service object. In the technical field related to network computing, access authority is also referred to as “capability”.
[0093]
The audit
[0094]
The audit
[0095]
[Equation 3]
[0096]
Upon receiving the second service request message, the transmission /
[0097]
(1) The name of the service object is extracted from the first line of the message to obtain a first reference for the service object.
(2) A value corresponding to the field name “Capability” is extracted from the request header in HTTP, and set as the first capability.
(3) A value corresponding to the field name “Signature” is extracted from the request header in HTTP, and is used as the first signature.
(4) Check whether the expiration date described in the first capability is within the time limit. If it is within the time limit, the process proceeds to the next step. Otherwise, a response message indicating that the capability is invalid is input to the transmission /
(5) Search whether the first capability exists in the invalid identifier table. If it is not in the table, the process proceeds to the next process. Otherwise, a response message indicating that the capability is invalid is input to the transmission /
(6) Using the public key of the relay / monitoring server 2, check whether the first signature is a correct signature of the first capability. If the signature is correct, the identifier of the first capability is added to the invalid identifier table.
(7) Pass the request message to the
[0098]
By registering the identifier of the capability once accepted in the invalid identifier table, it is possible to prevent an unauthorized person on the network from diverting the same capability.
[0099]
When a service object possessed by the server 4 is further required to respond to the second service request message, the
[0100]
The request
[0101]
It is assumed that the server 3 requests the latter half of the table in the HTML file from the server 4. In this case, the third service request message is as follows.
[0102]
[Expression 4]
[0103]
When the request message analysis unit 430 of the server 4 receives the third service request message, it executes the following steps.
[0104]
(1) The service object name is extracted from the first line of the message to obtain a second reference of the service object.
(2) A value corresponding to the field name “Capability” is extracted from the request header format in HTTP, and is set as the first capability (access authority).
(3) A value corresponding to the field name “Signature” is extracted from the request header format in HTTP, and is used as the first signature.
(4) A value corresponding to the field name “Signature 2” is extracted from the request header format in HTTP and is used as the second signature.
(5) Check whether the expiration date of the first capability is within the time limit. If it is within the time limit, the process proceeds to the next step. Otherwise, a response message indicating that the capability is invalid is passed to the transmission / reception unit 410.
(6) Search whether the identifier of the first capability is in the invalid identifier table. If it is not in the table, the process proceeds to the next step. If not, a response message indicating that the capability is invalid is input to the transmission / reception unit 410.
(7) Check whether the first signature is a correct signature of the first capability by using the public key of the relay / monitoring server 2. If the signature is correct, the identifier of the first capability is added to the invalid identifier table.
(8) Check whether the second signature is a correct signature of the first capability by using the public key of the server 3. If the signature is correct, the process proceeds to the next process. Otherwise, the process is stopped.
(9) A request message is passed to the service object unit 410 indicated by the first reference. In addition, the first capability and the first signature are input to the request message generation unit 460.
[0105]
By registering the identifier of the capability once accepted in the invalid identifier table, it is possible to prevent an unauthorized person on the network from diverting the same capability.
[0106]
The service object unit 410 that has received the request message generates the latter half of the table in the requested HTML file. The entity of the service object provided by the service object unit 410 is, for example, as follows.
[0107]
[Equation 5]
<Tr>
<Td> bbbb100
<Td> 100
<Td> 1000
<Tr>
<Td> bbbb200
<Td> 200
<Td> 2000
<Tr>
<Td> bbbb300
<Td> 300
<Td> 3000
[0108]
The service object unit 410 generates such “document 1” and passes it to the response message generation unit 420.
[0109]
The response message generation unit 420 generates a service response message by signing the document 1 using a public key cryptosystem private key possessed by the server 4. Then, a service response message is transmitted to the transmission /
[0110]
Upon receiving the service response message, the transmission /
[0111]
The response
[0112]
If the signature is correctly authenticated, the response
[0113]
The
[0114]
[Formula 6]
<Tr>
<Td> aaa100
<Td> 100
<Td> 1000
<Tr>
<Td> aaa200
<Td> 200
<Td> 2000
<Tr>
<Td> aaa300
<Td> 300
<Td> 3000
[0115]
The
[0116]
[Expression 7]
<Html>
<Head>
<Title> Table synthesis result </ title>
</ Head>
<Body>
<Table>
<Tr>
<Td> aaa100
<Td> 100
<Td> 1000
<Tr>
<Td> aaa200
<Td> 200
<Td> 2000
<Tr>
<Td> aaa300
<Td> 300
<Td> 3000
<Tr>
<Td> bbbb100
<Td> 100
<Td> 1000
<Tr>
<Td> bbbb200
<Td> 200
<Td> 2000
<Tr>
<Td> bbbb300
<Td> 300
<Td> 3000
</ Table>
</ Body>
</ Html>
[0117]
The generated document 3 is passed to the
[0118]
The
[0119]
The transmission /
[0120]
The response
[0121]
If the authentication is successful, the document 3 is transmitted to the client 1 via the transmission /
[0122]
In the above description, the server 3 responds to a service request from the client 1 in cooperation with only the server 4. However, the same applies when the server 3 cooperates with the server 5 and the server 6. is there. In such a case, “audit certificate 40” is attached when server 3 transmits a request message to server 5, and “audit certificate 50” is attached when server 5 transmits a request message to server 6, respectively. When the server 6 transmits a response message to the server 5, “Receipt 60” is attached, and when the server 5 transmits a response message to the server 3, “Receipt 70” is attached.
[0123]
In the above-described embodiment, HTTP is taken up as a protocol for sending and receiving messages between computers via a network. However, the present invention can be similarly applied even when any other protocol is used. The protocol may be, for example, HTTPS, S-HTTP (secure HTTP), FTP (File Transfer Protocol), CORBA (Common ORB Architecture), IIOP (Internet Inter-ORB Protocol), or Java RMI (Remote Method).
[0124]
[Supplement]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
[0125]
【The invention's effect】
As described above in detail, according to the present invention, an excellent remote procedure call for a client to request a service from a server in a distributed network system including one or more servers and one or more clients. A method of performing can be provided.
[0126]
Further, according to the present invention, it is possible to provide an excellent remote procedure call method of a type in which a service request reaches the server by relaying at least one relay / audit server.
[0127]
Further, according to the present invention, there is provided an excellent method for guaranteeing proper performance of a service in a distributed network environment in which a service requested by a client is provided by cooperative operation of a plurality of servers. Can be provided.
[0128]
In addition, according to the present invention, an excellent remote procedure / method that can authenticate the origin of a service request or guarantee the service provided by the server by arranging a relay / audit server on the network. A call method can be provided.
[Brief description of the drawings]
FIG. 1 is a diagram schematically showing a configuration of a network system 100 used for implementing the present invention.
FIG. 2 is a diagram schematically showing a tree structure of a server formed to provide a certain service from a client.
FIG. 3 is a block diagram schematically showing the configuration of a relay / monitoring server 2 that implements the present invention.
FIG. 4 is a block diagram schematically showing a configuration of a server 3 provided for implementing the present invention.
5 is a diagram schematically showing an operation for processing a remote procedure call on the network system 100. FIG.
FIG. 6 is a diagram schematically showing how a WWW server processes a remote procedure called from a client in cooperation with a database server on a network.
FIG. 7 is a diagram schematically showing how a large number of servers cooperate to respond to a client service request on a network, and more specifically, a large number of servers have a tree structure related to a service request / response. And each server belongs to a different organization.
FIG. 8 is a diagram schematically showing how a large number of servers cooperate to respond to client service requests on a network, and more specifically, some child servers use dummy clients. It is the figure which showed a mode that an unauthorized service request was issued.
[Explanation of symbols]
100: Network system
210 ... Audit certificate generator
220 ... Request message analysis unit
230 ... Transmission / reception unit
240 ... Response message analysis unit
250 ... receipt generation part
Claims (16)
(a)中継・監査サーバが、クライアントから、サービス・オブジェクトを要求する第1の要求メッセージを受信するステップと、
(b)前記中継・監査サーバが、該要求されているサービス・オブジェクトに対するアクセス権限を生成し、第1の要求メッセージの要求先である第1のサーバに対して、アクセス権限及びアクセス権限に対する前記中継・監視サーバの署名を付けた第2の要求メッセージを送信するステップと、
(c)前記第1のサーバが、第2の要求メッセージを受信すると、該要求されているオブジェクトに対するアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査するステップと、
(d)前記第1のサーバが、前記の検査に成功したことに応答して、第2の要求メッセージで要求されているサービス・オブジェクトを生成し、該サービス・オブジェクト及び該サービス・オブジェクトに対する前記第1のサーバの署名を付けた第1の応答メッセージを前記中継・監査サーバに送信するステップと、
(e)前記中継・監査サーバが、受信した第1の応答メッセージに含まれている前記第1のサーバの署名の真正性を検査するステップと、
(f)前記中継・監査サーバが、前記の検査に成功したことに応答して、前記第1の応答メッセージに含まれているサービス・オブジェクトを含んだ第2の応答メッセージを前記クライアントに送信するステップと、
を具備することを特徴とするネットワーク上で遠隔手続き呼び出しを実行するための方法。A method for performing a remote procedure call on a network comprising one or more clients requesting a service and one or more servers having service objects, comprising:
(A) a relay / audit server receiving a first request message for requesting a service object from a client;
(B) the relay, the audit server, generates the access to the service object that is the request, the first server is a request destination of the first request message, the relative access rights and permissions Transmitting a second request message with the signature of the relay / monitoring server ;
(C) upon receiving the second request message, the first server checks the validity of the access right for the requested object and the authenticity of the signature of the relay / monitoring server ;
(D) In response to the first server having succeeded in the check , the first server generates a service object requested in a second request message , and the service object and the service object for the service object are generated. Transmitting a first response message with the signature of the first server to the relay / audit server;
(E) The relay / audit server checks the authenticity of the signature of the first server included in the received first response message;
(F) The relay / audit server transmits a second response message including the service object included in the first response message to the client in response to the success of the inspection. Steps,
A method for performing a remote procedure call over a network.
前記第2のサーバが、第3の要求メッセージを受信すると、該要求されているオブジェクトに対するアクセス権限の有効性と前記中継・監視サーバの署名の真正性と前記第1のサーバの署名の真正性を検査するステップと、
前記第2のサーバが、前記の検査に成功したことに応答して、第3の要求メッセージで要求されているサービス・オブジェクトを生成し、該サービス・オブジェクト及び該サービス・オブジェクトに対する前記第2のサーバの署名を付けた応答メッセージを前記第1のサーバに送信するステップと、
前記第1のサーバが、前記第2のサーバから受信した応答メッセージに含まれている前記第1のサーバの署名の真正性を検査するステップをさらに備え、
前記ステップ(d)において、前記第1のサーバは、前記の検査に成功したことに応答して、前記第2のサーバから受信した応答メッセージに含まれているサービス・オブジェクトを用いて第2の要求メッセージで要求されているサービス・オブジェクトを生成し、該生成したサービス・オブジェクト及び該サービス・オブジェクトに対する前記第1のサーバの署名を付けた第1の応答メッセージを前記中継・監査サーバに送信する、
ことを特徴とする請求項1に記載のネットワーク上で遠隔手続き呼び出しを実行するための方法。Said first server, said for requesting at least a portion of the second service object being requested in the request message, the signature of the relay and monitoring server for access and access to the service object, And sending a third request message with the signature of the first server to the second server;
When the second server receives the third request message, the validity of the access right for the requested object, the authenticity of the signature of the relay / monitoring server, and the authenticity of the signature of the first server A step of inspecting
In response to the successful verification of the second server, the second server generates a service object requested in a third request message, and the second object for the service object and the service object. Sending a response message with the server signature to the first server;
The first server further comprising: checking the authenticity of the signature of the first server included in the response message received from the second server;
In the step (d), the first server uses the service object included in the response message received from the second server in response to the success of the inspection, and uses the second service object. A service object requested by the request message is generated, and the generated service object and a first response message with the signature of the first server for the service object are transmitted to the relay / audit server. ,
The method for performing a remote procedure call over a network according to claim 1.
(a)中継・監査サーバが、クライアントからの第1の要求メッセージを受信するとともに、ユーザを特定するステップと、
(b)前記中継・監査サーバが、該要求されているサービス・オブジェクトに対するアクセス権限を生成し、第1の要求メッセージの要求先である第1のサーバに対して、アクセス権限及びアクセス権限に対する前記中継・監視サーバの署名を付けた第2の要求メッセージを送信するステップと、
(c)前記第1のサーバが、受信した第2の要求メッセージを受信すると、該要求されているオブジェクトに対するアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査し、前記中継・監査サーバからのメッセージであることを特定するステップと、
(d)前記第1のサーバが、前記の検査に成功したことに応答して、第2の要求メッセージで要求されているサービス・オブジェクトを生成し、該サービス・オブジェクト及び該サービス・オブジェクトに対する前記第1のサーバの署名を付けた第1の応答メッセージを前記中継・監査サーバに送信するステップと、
(e)前記中継・監査サーバが、受信した第1の応答メッセージに含まれている前記第1のサーバの署名の真正性を検査するステップと、
(f)前記中継・監査サーバが、前記の検査に成功したことに応答して、前記第1の応答メッセージに含まれているサービス・オブジェクトを含んだ第2の応答メッセージを前記クライアントに送信するステップと、
を具備することを特徴とするネットワーク上で遠隔手続き呼び出しを実行するための方法。A method for performing a remote procedure call on a network comprising one or more clients requesting a service and one or more servers having service objects, comprising:
(A) a relay / audit server receiving a first request message from a client and identifying a user;
(B) the relay, the audit server, generates the access to the service object that is the request, the first server is a request destination of the first request message, the relative access rights and permissions Transmitting a second request message with the signature of the relay / monitoring server ;
(C) When the first server receives the received second request message, it checks the validity of the access authority for the requested object and the authenticity of the signature of the relay / monitoring server, and the relay -Identifying the message from the audit server;
(D) In response to the first server having succeeded in the check , the first server generates a service object requested in a second request message , and the service object and the service object for the service object are generated. Transmitting a first response message with the signature of the first server to the relay / audit server;
(E) The relay / audit server checks the authenticity of the signature of the first server included in the received first response message;
(F) The relay / audit server transmits a second response message including the service object included in the first response message to the client in response to the success of the inspection. Steps,
A method for performing a remote procedure call over a network.
前記第2のサーバが、第3の要求メッセージを受信すると、該要求されているオブジェクトに対するアクセス権限の有効性と前記中継・監視サーバの署名の真正性と前記第1のサーバの署名の真正性を検査するステップと、
前記第2のサーバが、前記の検査に成功したことに応答して、第3の要求メッセージで要求されているサービス・オブジェクトを生成し、該サービス・オブジェクト及び該サービス・オブジェクトに対する前記第2のサーバの署名を付けた応答メッセージを前記第1のサーバに送信するステップと、
前記第1のサーバが、前記第2のサーバから受信した応答メッセージに含まれている前記第1のサーバの署名の真正性を検査するステップをさらに備え、
前記ステップ(d)において、前記第1のサーバは、前記の検査に成功したことに応答して、前記第2のサーバから受信した応答メッセージに含まれているサービス・オブジェクトを用いて第2の要求メッセージで要求されているサービス・オブジェクトを生成し、該生成したサービス・オブジェクト及び該サービス・オブジェクトに対する前記第1のサ ーバの署名を付けた第1の応答メッセージを前記中継・監査サーバに送信する、
ことを特徴とする請求項6に記載のネットワーク上で遠隔手続き呼び出しを実行するための方法。Said first server, said for requesting at least a portion of the second service object being requested in the request message, the signature of the relay and monitoring server for access and access to the service object, And sending a third request message with the signature of the first server to the second server;
When the second server receives the third request message, the validity of the access right for the requested object, the authenticity of the signature of the relay / monitoring server, and the authenticity of the signature of the first server A step of inspecting
In response to the successful verification of the second server, the second server generates a service object requested in a third request message, and the second object for the service object and the service object. Sending a response message with the server signature to the first server;
The first server further comprising: checking the authenticity of the signature of the first server included in the response message received from the second server;
In the step (d), the first server uses the service object included in the response message received from the second server in response to the success of the inspection, and uses the second service object. generates a service object being requested in the request message, the first response message that signed the first servers to the service object and the service object thus generated to the relay and audit server Send,
7. A method for performing a remote procedure call over a network as recited in claim 6.
サービスを要求する要求メッセージを送信するとともにその応答メッセージを受信するクライアントと、
サービス要求メッセージを受信して要求先のサーバに向けて転送するとともに、要求先のサーバから受信したサービス応答メッセージを要求元のクライアントに向けて転送する、1以上の中継・監査サーバと、
サービス要求メッセージを受信して、正当な経路を介して受信したメッセージであることを検査するとともに、要求されたメッセージに応答した応答メッセージを送信する、サービス・オブジェクトを有する1以上のサーバを備え、
前記中継・監視サーバは、クライアントが要求するサービス・オブジェクトに対するアクセス権限を生成し、要求先のサーバに対して、アクセス権限及びアクセス権限に対する前記中継・監視サーバの署名を付けた要求メッセージを転送するとともに、要求先のサーバから受信したサービス応答メッセージに含まれている該サーバの署名を検査してからクライアントに転送し、
前記サーバは、サービス要求メッセージを受信すると、該要求されているオブジェクトに対するアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査するとともに、要求されているサービス・オブジェクトを生成し、該サービス・オブジェクト及び該サービス・オブジェクトに対する前記サーバの署名を付けたサービス応答メッセージを前記中継・監査サーバに送信する、
ことを特徴とする遠隔手続き呼び出しが実行可能なネットワーク・システム。A network system capable of executing remote procedure calls,
A client sending a request message requesting a service and receiving a response message;
One or more relay / audit servers that receive the service request message and forward it to the requesting server and forward the service response message received from the requesting server to the requesting client;
Receiving a service request message, as well as check that the message received via the legitimate path, transmits a response message in response to the request message comprises one or more servers with the service object,
The relay / monitoring server generates access authority for the service object requested by the client, and forwards the request message with the access authority and the signature of the relay / monitoring server for the access authority to the request destination server. In addition, the signature of the server included in the service response message received from the request destination server is verified and transferred to the client.
Upon receipt of the service request message, the server checks the validity of the access authority for the requested object and the authenticity of the signature of the relay / monitoring server, and generates the requested service object, Sending the service object and a service response message with the server signature to the service object to the relay / audit server;
A network system capable of executing remote procedure calls.
サービスを要求する要求メッセージを送信するとともにその応答メッセージを受信するクライアントと、
サービス要求メッセージを受信し、その要求元を特定してから要求先のサーバに向けて転送するとともに、要求先のサーバから受信したサービス応答メッセージを要求元のクライアントに向けて転送する、1以上の中継・監査サーバと、
サービス要求メッセージを受信して、メッセージの送信元を特定するとともに、要求されたメッセージに応答した応答メッセージを送信する、サービス・オブジェクトを有する1以上のサーバを備え、
前記中継・監視サーバは、クライアントが要求するサービス・オブジェクトに対するアクセス権限を生成し、要求先のサーバに対して、アクセス権限及びアクセス権限に対する前記中継・監視サーバの署名を付けた要求メッセージを転送するとともに、要求先のサーバから受信したサービス応答メッセージに含まれている該サーバの署名を検査してからクライアントに転送し、
前記サーバは、サービス要求メッセージを受信すると、該要求されているオブジェクトに対するアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査するとともに、要求されているサービス・オブジェクトを生成し、該サービス・オブジェクト及び該 サービス・オブジェクトに対する前記サーバの署名を付けたサービス応答メッセージを前記中継・監査サーバに送信する、
ことを特徴とする遠隔手続き呼び出しが実行可能なネットワーク・システム。A network system capable of executing remote procedure calls,
A client sending a request message requesting a service and receiving a response message;
The service request message is received, the request source is specified and then forwarded to the request destination server, and the service response message received from the request destination server is forwarded to the request source client. A relay / audit server;
Receiving a service request message, along with identifying the source of the message, it transmits a response message in response to the request message comprises one or more servers with the service object,
The relay / monitoring server generates access authority for the service object requested by the client, and forwards the request message with the access authority and the signature of the relay / monitoring server for the access authority to the request destination server. In addition, the signature of the server included in the service response message received from the request destination server is verified and transferred to the client.
Upon receipt of the service request message, the server checks the validity of the access authority for the requested object and the authenticity of the signature of the relay / monitoring server, and generates the requested service object, Sending the service object and a service response message with the server signature to the service object to the relay / audit server;
A network system capable of executing remote procedure calls.
サービス要求メッセージを受信する手段と、
サービス要求メッセージに添付されたアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査する手段と、
アクセス権限及びアクセス権限に対する署名にさらに自身の署名を付けて、該受信したサービス要求メッセージを別のサーバに向けて送信する手段と、
該別のサーバからの、サービス要求メッセージに対する、該別のサーバの署名が付けられたサービス応答メッセージを受信する手段と、
受信したサービス応答メッセージに付けられている署名を検査する手段と、
受信したサービス応答メッセージに含まれるサービス・オブジェクトを適宜利用して、サービス要求メッセージで要求されているサービス・オブジェクトを生成する手段と、
該生成したサービス・オブジェクトに自身の署名を付けたサービス応答メッセージをサービス要求元のクライアントに向けて送信する手段と、
を具備することを特徴とするサーバ。A server that receives or transmits a service request message or a service response message on a network composed of one or more clients that request a service and one or more servers that provide the requested service,
Means for receiving a service request message;
Means for checking the validity of the access right attached to the service request message and the authenticity of the signature of the relay / monitoring server;
Means for adding an access right and a signature for the access right to the server and sending the received service request message to another server;
Means for receiving a service response message signed by the other server in response to a service request message from the other server;
Means for verifying the signature attached to the received service response message;
Means for appropriately generating a service object requested in the service request message by appropriately using the service object included in the received service response message;
Means for transmitting a service response message with its own signature to the generated service object to the client of the service requester;
A server comprising:
サービス要求メッセージを受信するとともにその要求元を特定する手段と、
サービス要求メッセージに添付されたアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査する手段と、
アクセス権限及びアクセス権限に対する署名にさらに自身の署名を付けてサービス要求メッセージをさらに別のサーバに向けて送信する手段と、
該別のサーバからの、サービス要求メッセージに対する、該別のサーバの署名が付けられたサービス応答メッセージを受信する手段と、
受信したサービス応答メッセージに付けられている署名を検査する手段と、
受信したサービス応答メッセージに含まれるサービス・オブジェクトを適宜利用して、
サービス要求メッセージで要求されているサービス・オブジェクトを生成する手段と、
該生成したサービス・オブジェクトに自身の署名を付けたサービス応答メッセージをサービス要求元のクライアントに向けて送信する手段と、
を具備することを特徴とするサーバ。A server that receives or transmits a service request message or a service response message on a network composed of one or more clients that request a service and one or more servers that provide the requested service,
Means for receiving a service request message and identifying the request source;
Means for checking the validity of the access right attached to the service request message and the authenticity of the signature of the relay / monitoring server;
Means for sending the service request message to a further server with the access right and the signature for the access right added with its own signature;
Means for receiving a service response message signed by the other server in response to a service request message from the other server;
Means for verifying the signature attached to the received service response message;
Using the service object included in the received service response message as appropriate,
Means for generating the service object requested in the service request message;
Means for transmitting a service response message with its own signature to the generated service object to the client of the service requester;
A server comprising:
ことを特徴とする請求項13又は14のいずれかに記載のサーバ。Means for recording a history of transmission / reception of request messages or response messages;
The server according to claim 13 or 14, characterized in that
サービス・オブジェクトを要求する要求メッセージや応答メッセージの送受信を行う送受信部と、
受信した要求メッセージを解析して要求されているサービス・オブジェクトを抽出する要求メッセージ解析部と、
要求されているサービス・オブジェクトに対するアクセス権限を生成し、アクセス権限に対する前記中継・監視サーバの署名に対して電子署名を行なう監査証生成部と、
応答メッセージを解析して、送信元のサーバが電子署名した受領証を抽出する応答メッセージ解析部と、
受領証を電子認証する受領証処理部を備え、
クライアントから、サービス・オブジェクトを要求する第1の要求メッセージを受信したときに、該要求されているサービス・オブジェクトに対するアクセス権限及び監査証を付けて、第1の要求メッセージの要求先である第1のサーバに対する第2の要求メッセージを送信し、
前記第1のサーバから受信した第1の応答メッセージに含まれている前記第1のサーバの署名の真正性を検査し、
前記の検査に成功したことに応答して、前記第1の応答メッセージに含まれているサービス・オブジェクトを含んだ第2の応答メッセージを前記クライアントに送信する、
ことを特徴とする中継・監視サーバ。A relay / monitoring server that supports a remote procedure call operation executed on a network composed of one or more clients that request a service and one or more servers that provide the requested service;
A transmission / reception unit for transmitting / receiving a request message or a response message for requesting a service object ;
A request message analyzer that analyzes the received request message and extracts the requested service object ;
An audit certificate generating unit that generates an access right for the requested service object and performs an electronic signature on the signature of the relay / monitoring server for the access right ;
A response message analysis unit that analyzes the response message and extracts a digitally signed receipt from the transmission source server;
Includes a receipt processing unit for electronic authentication of receipt,
When a first request message for requesting a service object is received from a client, an access authority and an audit certificate for the requested service object are attached, and a first request destination of the first request message is added. Send a second request message to the server of
Checking the authenticity of the signature of the first server included in the first response message received from the first server;
In response to the successful verification, a second response message including a service object included in the first response message is transmitted to the client.
A relay / monitoring server.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22643098A JP3932685B2 (en) | 1998-08-11 | 1998-08-11 | Method for executing remote procedure call on network and network system capable of executing remote procedure call |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22643098A JP3932685B2 (en) | 1998-08-11 | 1998-08-11 | Method for executing remote procedure call on network and network system capable of executing remote procedure call |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000057112A JP2000057112A (en) | 2000-02-25 |
| JP3932685B2 true JP3932685B2 (en) | 2007-06-20 |
Family
ID=16845003
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22643098A Expired - Fee Related JP3932685B2 (en) | 1998-08-11 | 1998-08-11 | Method for executing remote procedure call on network and network system capable of executing remote procedure call |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3932685B2 (en) |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4508331B2 (en) * | 2000-01-07 | 2010-07-21 | 新日鉄ソリューションズ株式会社 | Authentication agent device, authentication agent method, authentication agent service system, and computer-readable recording medium |
| AU2002348315A1 (en) * | 2001-11-20 | 2003-06-10 | Senvid, Inc. | Access and control system for network-enabled devices |
| KR20030043452A (en) * | 2001-11-28 | 2003-06-02 | 한국전자통신연구원 | An method and system to print electronic document signed by public key into paper document and to offline validate electrinic signature of printed paper document |
| US7051102B2 (en) * | 2002-04-29 | 2006-05-23 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) security infrastructure and method |
| JP2004128894A (en) | 2002-10-02 | 2004-04-22 | Nec Corp | Electronic data transmission/reception system |
| EP2259538B1 (en) * | 2003-02-28 | 2017-10-04 | Telefonaktiebolaget LM Ericsson (publ) | Device-type authentication in communication systems |
| US20060264202A1 (en) * | 2003-07-11 | 2006-11-23 | Joachim Hagmeier | System and method for authenticating clients in a client-server environment |
| JP2006039791A (en) * | 2004-07-26 | 2006-02-09 | Matsushita Electric Ind Co Ltd | Transmission history dependent processor |
| CN101065940B (en) | 2004-11-29 | 2013-02-20 | 国际商业机器公司 | Relay device and method for communication between communication terminal and server |
| US20060294383A1 (en) * | 2005-06-28 | 2006-12-28 | Paula Austel | Secure data communications in web services |
| JP4777706B2 (en) * | 2005-07-06 | 2011-09-21 | 株式会社エヌ・ティ・ティ・ドコモ | Identification information identification system and identification information identification method |
| EP1926278B1 (en) * | 2006-11-22 | 2009-04-01 | Research In Motion Limited | System and method for secure record protocol using shared knowledge of mobile user credentials |
| JP2008226017A (en) * | 2007-03-14 | 2008-09-25 | Ns Solutions Corp | LOG INFORMATION GENERATION DEVICE, LOG INFORMATION MANAGEMENT DEVICE, LOG INFORMATION GENERATION METHOD, LOG INFORMATION MANAGEMENT METHOD, AND PROGRAM |
| JP4935619B2 (en) | 2007-10-23 | 2012-05-23 | ヤマハ株式会社 | Digital signal processor |
| US8239862B2 (en) | 2007-11-26 | 2012-08-07 | Ricoh Company, Ltd. | Apparatus, method, and computer program product for processing information |
| JP4627789B2 (en) * | 2007-11-26 | 2011-02-09 | 株式会社リコー | Information processing apparatus, information processing method, and program |
| US8078870B2 (en) * | 2009-05-14 | 2011-12-13 | Microsoft Corporation | HTTP-based authentication |
| JP6151946B2 (en) * | 2013-03-28 | 2017-06-21 | キヤノン株式会社 | Information processing system, information processing apparatus, and control method thereof |
| CN110333957B (en) * | 2019-05-30 | 2024-02-02 | 深圳创芯在线科技有限公司 | Remote Procedure Call (RPC) service calling method, device and computer equipment |
| CN110839070B (en) * | 2019-11-05 | 2023-01-13 | 中盈优创资讯科技有限公司 | Multi-system management device and method, remote system and main system |
-
1998
- 1998-08-11 JP JP22643098A patent/JP3932685B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000057112A (en) | 2000-02-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3932685B2 (en) | Method for executing remote procedure call on network and network system capable of executing remote procedure call | |
| KR100856674B1 (en) | System and method for authenticating clients in a client-server environment | |
| CN100534092C (en) | Method for performing authentication operation and apparatus therefor | |
| Boritz et al. | Security in XML-based financial reporting services on the Internet | |
| RU2308755C2 (en) | System and method for providing access to protected services with one-time inputting of password | |
| US20020112162A1 (en) | Authentication and verification of Web page content | |
| JP4757430B2 (en) | Access control method for Internet site | |
| US6633915B1 (en) | Personal information management apparatus and customizing apparatus | |
| CN100571129C (en) | Method and system supported by trust infrastructure for federated user lifecycle management | |
| JP3995338B2 (en) | Network connection control method and system | |
| US20040186912A1 (en) | Method and system for transparently supporting digital signatures associated with web transactions | |
| CN101090319B (en) | Computer readable recording medium storing control program, communication system and computer data signal embedded in carrier wave | |
| US20060218628A1 (en) | Method and system for enhanced federated single logout | |
| US7975290B2 (en) | Verifying authenticity of instant messaging messages | |
| US20060129816A1 (en) | Method and system for secure binding register name identifier profile | |
| JP2005538434A (en) | Method and system for user-based authentication in a federated environment | |
| JPH1141230A (en) | User authentication method and user authentication system | |
| US20080307226A1 (en) | Verifying authenticity of e-mail messages | |
| JP2002024177A (en) | Electronic notarization system and method | |
| EA001825B1 (en) | Method and system for secure online transaction processing | |
| JP2005149121A (en) | Security ensuring support program, server device for executing the program, and storage medium storing the program | |
| CN101426009A (en) | Identity management platform, service server, uniform login system and method | |
| US7451305B1 (en) | Method and apparatus for securely exchanging cryptographic identities through a mutually trusted intermediary | |
| WO2004012415A1 (en) | Electronic sealing for electronic transactions | |
| JP2000078128A (en) | Communication system, IC card, and recording medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050929 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060418 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060606 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070227 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070312 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140330 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |