[go: up one dir, main page]

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 PDF

Info

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
Application number
JP22643098A
Other languages
Japanese (ja)
Other versions
JP2000057112A (en
Inventor
和典 堀切
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP22643098A priority Critical patent/JP3932685B2/en
Publication of JP2000057112A publication Critical patent/JP2000057112A/en
Application granted granted Critical
Publication of JP3932685B2 publication Critical patent/JP3932685B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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】

Figure 0003932685
【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】
Figure 0003932685
【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】
Figure 0003932685
【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 data terminal devices 50A, 50B,... Are connected to a network 10 that is a transmission medium for data (that is, a service request message, a service response message, etc.), thereby providing a distributed computing environment. . Hereinafter, each part will be described.
[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 terminal device 50A is connected to the network 10 via a modem, a TA (Terminal Adapter), a LAN adapter, or the like.
[0058]
Some of the data terminal devices 50A... Are servers that provide services, and others are clients that request services. The data terminal device 50A may be a dedicated machine designed as a server or a client, but in many cases, it is a general-purpose computer system that operates by installing an application for a server or a client. The data terminal devices are connected to each other via a network 10, for example, TCP / IP (Transmission Control Protocol / Internet Protocol).
[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 certificate creation unit 210, a request message analysis unit 220, a transmission / reception unit 230, a receipt processing unit 240, and a response message analysis unit 250. Hereinafter, each part will be described.
[0066]
The transmission / reception unit 230 is a device for transmitting / receiving messages via the network 10. For the client 1, a service request message is received and a service response message is transmitted. The server 3 transmits a service request message and receives a service response message.
[0067]
The request message analysis unit 220 analyzes the service request message received from the transmission / reception unit 230. Also, request parameters in the request message are extracted and passed to the audit certificate creation unit 210.
[0068]
The audit certificate generation unit 210 owns a public key cryptosystem private key to perform an electronic signature. When a request parameter is passed from the request message analysis unit 220, an audit certificate number and a character string representing its expiration date are concatenated to this, and an electronic signature is further made using a secret key. This electronic signature means an audit certificate issued by the relay / monitoring server 2. Thereafter, the request message with the audit certificate attached is transmitted from the transmission / reception unit 230. The audit certificate generation unit 210 includes a log file for managing request messages from the client, and logs each time the request message from the client is processed.
[0069]
The response message analysis unit 250 analyzes the response message received from the server. The response message includes a receipt that has been digitally signed by the server of the transmission source. The response message analysis unit 250 extracts a receipt from the response message and passes it to the receipt processing unit 240.
[0070]
The receipt processing unit 240 holds the public keys of the servers 3, 4, 5, and 6 and authenticates the signature of the receipt passed from the response message analysis unit 250. In this embodiment, in the service response message returned from the server 3, the electronic signatures of all (or at least a part) of the servers 3, 4,... These electronic signatures serve as receipts for the servers 3, 4,. The receipt processing unit 240 electronically authenticates each signature using the public key of the corresponding server. The receipt processing unit 240 manages a log file for each server, and adds the log to the log file of the corresponding server when the authentication procedure is successful.
[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 service object unit 310, a response message generation unit 320, a request message analysis unit 330, a transmission / reception unit 340, a response message analysis unit 350, and a request message generation unit 360. Consists of. Hereinafter, each part will be described.
[0073]
The transmission / reception unit 340 is a device for transmitting / receiving messages via the network 10. A service request message is received and a service response message is transmitted to the relay / audit server 2 or its own parent server. In addition, a service request message is transmitted and a service response message is received for its own child server.
[0074]
The service object unit 310 includes a set of service objects that the server 3 provides in response to a service request. An example of a service object is an HTML file for creating a home page on the display of a WWW client. The entity of the service object unit 310 is a disk-type storage device that stores a service object. A parent server that requests a service from the client 1 or a child server can specify a desired service object by a URL.
[0075]
The request message analysis unit 330 analyzes the service request message received from the transmission / reception unit 340. The analysis processing here is to extract an audit certificate from the request message and check the validity and validity of the message. The request message analysis unit 330 also includes an invalid identifier table for managing identifiers of audit certificates that have already become invalid.
[0076]
The request message analysis unit 330 electronically authenticates the audit certificate using the public key of the request message transmission source and verifies the expiration date in the audit certificate. If the expiration date has expired, the service object is not provided because it does not proceed to the next step. If the audit certificate is within the validity period, it is checked whether the identifier of the audit certificate is not in the invalid identifier table. If it exists in the table, it means that the audit certificate is already invalid. Therefore, the next step is not performed, and as a result, the service object is not provided. If the identifier of the audit certificate is not in the invalid identifier table, the identifier is added to the table. As a result, diversion of the same audit certificate is prohibited.
[0077]
After completing the inspection of the audit certificate, the request message analysis unit 330 passes the request parameters in the request message to the service object unit 310. In response to this, when the service object unit 310 owns the corresponding service object, the service object unit 310 supplies the service object to the response message generation unit 320. Also, when the service server does not own the corresponding service object but is owned by the descendant servers 4, 5... Of the server 3, the service request message is transmitted to the descendant servers 4, 5. Prompt.
[0078]
The response message generator 320 generates a response message based on the service object extracted from the service object unit 310. The response message generator 320 has a public key cryptosystem private key, and attaches a receipt to the response message by applying an electronic signature to the response message. The response message when the receipt is received is sent to the service requester by the transmission / reception unit 340.
[0079]
The request message generator 360 is for generating a service request message to be transmitted to the descendant servers 4, 5. The request message generation unit 360 has a public key cryptosystem private key, and attaches an audit certificate to the request message by applying an electronic signature to the request message. The request message with the audit certificate is sent to the service request destination by the transmission / reception unit 340. Note that service requests to the descendant servers 4, 5... Are made in the form of, for example, CGI (Common Gateway Interface).
[0080]
The response message analysis unit 350 is for analyzing response messages from the descendant servers 4, 5... Received by the transmission / reception unit 340. Acknowledgments including electronic signatures of all (or at least a part) descendant servers 4, 5... Responding to the service request are attached to the response message. The response message analysis unit 350 electronically authenticates the receipt using the public keys of the descendant servers 4, 5. In addition to the service objects sent from the descendant servers 4, 5..., When sending a service object owned by the server 3 itself, the service object unit 310 is prompted to take out a desired service object. (For example, this is the case where the server 3 creates a table on the home page and a descendant server (such as a database server) creates a predetermined column in the table).
[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 message analysis unit 220.
[0089]
The request message analysis unit 220 extracts “service1” as a request parameter in the first service request message. Next, the URL correspondence table held by itself is searched, and the URL “http: // server300 / object310” corresponding to “service1” is extracted and passed to the audit certificate generation unit 210. This URL requests a service object “object 310” owned by the service object section of the server 3 having the domain name “server 300”.
[0090]
The audit certificate generation unit 210 generates the following data including the parameters of the three items of the message identifier, the expiration date, and the service name.
[0091]
[Expression 2]
Figure 0003932685
[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 certificate generating unit 210 applies a message digest function to the data of the three terms and performs an electronic signature using the public key cryptosystem secret key 1 held by itself. The signature attached here plays the role of “audit certificate 10” in the subsequent server 3, but will be referred to as “signature 1” below.
[0094]
The audit certificate generation unit 210 sends the following second service request message to the transmission / reception unit 340 of the server 3 based on the URL “http: // server300 / object310” corresponding to the requested “service1”. Send.
[0095]
[Equation 3]
Figure 0003932685
[0096]
Upon receiving the second service request message, the transmission / reception unit 340 of the server 3 passes this to the request message analysis unit 330. In response to this, the request message analysis unit 330 executes the following steps.
[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 / reception unit 340.
(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 / reception unit 340.
(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 service object unit 310 indicated by the first reference. In addition, the first capability and the first signature are input to the request message generation unit 360.
[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 service object unit 310 of the server 3 transmits the service request message to the service object unit 410 of the server 4. Accordingly, the request message generation unit 360 is requested to generate a request message.
[0100]
The request message generation unit 360 creates the second signature signature2 using the public key cryptosystem secretkey2 possessed by the server 3 itself, and the first capability, the first signature, and the second signature (that is, “audit”). A third service request message including certificate 20 ") is generated.
[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]
Figure 0003932685
[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 / reception unit 340 of the server 3 via the transmission / reception unit 440. The signature attached to the service response message has the meaning of “receipt 30”.
[0110]
Upon receiving the service response message, the transmission / reception unit 340 of the server 3 passes the service response message to the response message analysis unit 350.
[0111]
The response message analysis unit 350 analyzes the service response message and authenticates the signature using the public key of the server 4. This authentication work means that the server 3 also has a role as a certificate authority for each of the servers 4, 5, 6 that are their descendants.
[0112]
If the signature is correctly authenticated, the response message analysis unit 350 passes the document 1 in the service response message to the service object unit 310.
[0113]
The service object unit 310 generates the first 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, “Document 2” as shown below.
[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 service object unit 310 concatenates the above-described document 1 and document 2 to generate “document 3” as shown below the sentence.
[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 response message generator 320.
[0118]
The response message generator 320 signs the document 3 using the public key cryptosystem private key possessed by the server 3 and generates a service response message. The signature attached to the service response message has a meaning of “receipt 80”. Then, the service response message is transmitted to the transmission / reception unit 240 of the relay / audit server 2 via the transmission / reception unit 340.
[0119]
The transmission / reception unit 240 of the relay / monitoring server 2 passes the received service response message to the response message analysis unit 250.
[0120]
The response message analysis unit 250 checks each signature included in the audit certificate 80 using the public keys of the servers 3 and 4. That is, the relay / monitoring server 2 functions as a certificate authority for the servers 3, 4.
[0121]
If the authentication is successful, the document 3 is transmitted to the client 1 via the transmission / reception unit 240. If the authentication fails, a response message indicating that the service response message is incorrect is transmitted instead of the document 3.
[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)

サービスを要求する1以上のクライアントとサービス・オブジェクトを有する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 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.
前記第1のサーバが、前記第2の要求メッセージで要求されているサービス・オブジェクトの少なくとも一部を要求するための、該サービス・オブジェクトに対するアクセス権限とアクセス権限に対する前記中継・監視サーバの署名、及び前記第1のサーバの署名を付けた第3の要求メッセージを第2のサーバに送信するステップと
前記第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.
前記ステップ(c)における検査が異常であれば、前記第1のサーバは受信した第2の要求メッセージの処理を実行しないことを特徴とする請求項1又は2のいずれかに記載のネットワーク上で遠隔手続き呼び出しを実行するための方法。  3. The network according to claim 1, wherein if the inspection in step (c) is abnormal, the first server does not execute processing of the received second request message. A method for performing remote procedure calls. 前記ステップ(e)における検査が異常であれば、前記中継・監査サーバは第2の応答メッセージを前記クライアントに送信しないことを特徴とする請求項1又は2のいずれかに記載のネットワーク上で遠隔手続き呼び出しを実行するための方法。  3. If the inspection in the step (e) is abnormal, the relay / audit server does not transmit a second response message to the client. A method for performing procedure calls. さらに、前記中継・監査サーバが要求メッセージ又は応答メッセージの送受信の履歴を記録するステップを含むことを特徴とする請求項1又は2のいずれかに記載のネットワーク上で遠隔手続き呼び出しを実行するための方法。The relay / audit server further includes a step of recording a history of transmission / reception of a request message or a response message, to execute a remote procedure call on the network according to claim 1 or 2 Method. サービスを要求する1以上のクライアントとサービス・オブジェクトを有する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.
前記第1のサーバが、前記第2の要求メッセージで要求されているサービス・オブジェクトの少なくとも一部を要求するための、該サービス・オブジェクトに対するアクセス権限とアクセス権限に対する前記中継・監視サーバの署名、及び前記第1のサーバの署名を付けた第3の要求メッセージを第2のサーバに送信するステップと
前記第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.
前記ステップ(e)における検査が異常であれば、前記中継・監査サーバは第2の応答メッセージを前記クライアントに送信しないことを特徴とする請求項6又は7のいずれかに記載のネットワーク上で遠隔手続き呼び出しを実行するための方法。  8. If the inspection in step (e) is abnormal, the relay / audit server does not transmit a second response message to the client. A method for performing procedure calls. さらに、前記中継・監査サーバが要求メッセージ又は応答メッセージの送受信の履歴を記録するステップを含むことを特徴とする請求項6又は7のいずれかに記載のネットワーク上で遠隔手続き呼び出しを実行するための方法。The relay / inspection server further includes a step of recording a transmission / reception history of a request message or a response message, for executing a remote procedure call on the network according to claim 6 or 7. Method. 遠隔手続き呼び出しが実行可能なネットワーク・システムであって、
サービスを要求する要求メッセージを送信するとともにその応答メッセージを受信するクライアントと、
サービス要求メッセージを受信して要求先のサーバに向けて転送するとともに、要求先のサーバから受信したサービス応答メッセージを要求元のクライアントに向けて転送する、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.
前記中継・監査サーバは、受信したサービス応答メッセージが正当なメッセージであることを検査してからサービスの要求元に向けて送信するとともに、要求メッセージ又は応答メッセージの送受信の履歴を記録することを特徴とする請求項10乃至11のいずれかに記載の遠隔手続き呼び出しが実行可能なネットワーク・システム。The relay / audit server checks that the received service response message is a valid message and then transmits the message to the service requester, and records the transmission / reception history of the request message or response message. A network system capable of executing a remote procedure call according to any one of claims 10 to 11. サービスを要求する1以上のクライアントと要求されたサービスを提供する1以上のサーバとで構成されるネットワーク上において、サービス要求メッセージやサービス応答メッセージを受信し或いは送信するサーバであって、
サービス要求メッセージを受信する手段と、
サービス要求メッセージに添付されたアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査する手段と、
アクセス権限及びアクセス権限に対する署名にさらに自身の署名を付けて、該受信したサービス要求メッセージを別のサーバに向けて送信する手段と、
該別のサーバからの、サービス要求メッセージに対する、該別のサーバの署名が付けられたサービス応答メッセージを受信する手段と、
受信したサービス応答メッセージに付けられている署名を検査する手段と、
受信したサービス応答メッセージに含まれるサービス・オブジェクトを適宜利用して、サービス要求メッセージで要求されているサービス・オブジェクトを生成する手段と、
該生成したサービス・オブジェクトに自身の署名を付けたサービス応答メッセージをサービス要求元のクライアントに向けて送信する手段と、
を具備することを特徴とするサーバ。
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:
サービスを要求する1以上のクライアントと要求されたサービスを提供する1以上のサーバとで構成されるネットワーク上において、サービス要求メッセージやサービス応答メッセージを受信し或いは送信するサーバであって、
サービス要求メッセージを受信するとともにその要求元を特定する手段と、
サービス要求メッセージに添付されたアクセス権限の有効性と前記中継・監視サーバの署名の真正性を検査する手段と、
アクセス権限及びアクセス権限に対する署名にさらに自身の署名を付けてサービス要求メッセージをさらに別のサーバに向けて送信する手段と、
該別のサーバからの、サービス要求メッセージに対する、該別のサーバの署名が付けられたサービス応答メッセージを受信する手段と、
受信したサービス応答メッセージに付けられている署名を検査する手段と、
受信したサービス応答メッセージに含まれるサービス・オブジェクトを適宜利用して、
サービス要求メッセージで要求されているサービス・オブジェクトを生成する手段と、
該生成したサービス・オブジェクトに自身の署名を付けたサービス応答メッセージをサービス要求元のクライアントに向けて送信する手段と、
を具備することを特徴とするサーバ。
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の要求メッセージを受信したときに、該要求されているサービス・オブジェクトに対するアクセス権限及び監査証を付けて、第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.
JP22643098A 1998-08-11 1998-08-11 Method for executing remote procedure call on network and network system capable of executing remote procedure call Expired - Fee Related JP3932685B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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