本発明の第1の観点によれば、以下の構成の中継サーバが提供される。即ち、この中継サーバは、中継グループ情報登録部と、共有リソース情報登録部と、制御部と、を備える。前記中継グループ情報登録部は、自身との間で相互に接続可能な他の中継サーバを含む中継グループの情報を記憶する。前記共有リソース情報登録部は、前記中継グループ内において複数のクライアント端末間でリソースを共有させる場合に、共有リソース情報を記憶する。この共有リソース情報は、当該リソースに関する情報と、当該リソースの属性情報と、当該リソースを共有するクライアント端末であるリソース共有端末のアカウントの情報と、を含む。前記制御部は、指示中継部と、属性情報管理部と、照合情報中継部と、を備える。前記指示中継部は、前記共有リソース情報に登録されているリソースの操作指示を、自身の配下のクライアント端末又は他の中継サーバの少なくとも何れか一方へ中継する。前記属性情報管理部は、リソースに関する情報が前記共有リソース情報に追加されることにより、当該リソースに関する属性情報を前記共有リソース情報に登録する。前記照合情報中継部は、中継指示に応じて、前記リソースの実体を操作できるクライアント端末又はそれを配下に有する中継サーバから対象のリソースの検証に必要な照合情報を取得し、前記中継指示の送信元へ当該照合情報を中継する。
この構成により、複数のクライアント端末が中継サーバを介して必要な相手とリソースを共有できるとともに、リソースの情報と属性情報の管理の一元化を容易に実現することができる。また、クライアント端末は、対象リソースの属性情報を中継サーバから取得できるとともに、中継サーバの中継によって照合情報を取得することができるので、リソースに改竄が加えられていないか等を検証することができる。
本発明の第2の観点によれば、以下の構成の中継サーバが提供される。即ち、この中継サーバは、中継グループ情報登録部と、共有リソース情報登録部と、制御部と、を備える。前記中継グループ情報登録部は、自身との間で相互に接続可能な他の中継サーバを含む中継グループの情報を記憶する。前記共有リソース情報登録部は、前記中継グループ内において複数のクライアント端末間でリソースを共有させる場合に、共有リソース情報を記憶する。この共有リソース情報は、当該リソースに関する情報と、当該リソースの属性情報と、当該リソースを共有するクライアント端末であるリソース共有端末のアカウントの情報と、を含む。前記制御部は、指示中継部と、属性情報管理部と、検証部と、を備える。前記指示中継部は、前記共有リソース情報に登録されているリソースの操作指示を、自身の配下のクライアント端末又は他の中継サーバの少なくとも何れか一方へ中継する。前記属性情報管理部は、リソースに関する情報が前記共有リソース情報に追加されることにより、当該リソースに関する属性情報を前記共有リソース情報に登録する。前記検証部は、前記リソース共有端末からの検証指示に応じて、前記リソースの実体を操作できるクライアント端末又はそれを配下に有する中継サーバから対象のリソースの検証に必要な照合情報を取得し、前記属性情報及び前記照合情報に基づいて対象のリソースを検証する。
この構成により、複数のクライアント端末が中継サーバを介して必要な相手とリソースを共有できるとともに、リソースの情報と属性情報の管理の一元化を容易に実現することができる。また、クライアント端末は中継サーバに、リソースの属性情報及び照合情報に基づいて、当該リソースに改竄が加えられていないかを検証させることができる。
この構成により、リソースを操作するごとに、対象のリソースを自動的に検証することができる。従って、クライアント端末から検証指示を逐一行わなくてもリソースを検証できるので、ユーザの負担を軽減できるとともに、高いセキュリティを実現することができる。
前記中継サーバにおいては、前記属性情報管理部は、自身が実体を操作できるリソースを共有する指示をクライアント端末が行った場合に、当該クライアント端末が作成した属性情報を前記共有リソース情報に登録することが好ましい。
あるいは、前記属性情報管理部は、自身が実体を操作できるリソースを共有する指示をクライアント端末が行った場合に、当該クライアント端末から当該リソースについての属性作成用情報を取得して、当該属性作成用情報から前記属性情報を作成して前記共有リソース情報に登録することもできる。
この構成により、属性情報の信頼性が時間の経過とともに低下した場合に、リソース共有端末にその旨を自動的に通知して注意を喚起することができる。従って、より高いセキュリティを実現することができる。
前記中継サーバにおいては、前記制御部は、前記属性情報が作成されてから所定期間が経過した場合には、当該属性情報に対応するリソースに関する情報を前記共有リソース情報から削除することが好ましい。
この構成により、属性情報の信頼性が時間の経過とともに低下した場合に、対象となるリソースに関する情報を共有リソース情報から削除して共有を停止することができる。従って、より高いセキュリティを実現することができる。
本発明の第3の観点によれば、以下の構成の中継通信システムが提供される。即ち、この中継通信システムは、複数の中継サーバと、複数のクライアント端末と、を備える。前記中継サーバは、中継グループ情報登録部と、共有リソース情報登録部と、制御部と、を備える。前記中継グループ情報登録部は、自身との間で相互に接続可能な他の中継サーバを含む中継グループの情報を記憶する。前記共有リソース情報登録部は、前記中継グループ内において複数の前記クライアント端末間でリソースを共有させる場合に、共有リソース情報を記憶する。この共有リソース情報は、当該リソースに関する情報と、当該リソースの属性情報と、当該リソースを共有する前記クライアント端末であるリソース共有端末のアカウントの情報と、を含む。前記制御部は、指示中継部と、属性情報管理部と、照合情報中継部と、を備える。前記指示中継部は、前記共有リソース情報に登録されているリソースの操作指示を、自身の配下のクライアント端末又は他の中継サーバの少なくとも何れか一方へ中継する。前記属性情報管理部は、リソースに関する情報が前記共有リソース情報に追加されることにより、当該リソースに関する属性情報を前記共有リソース情報に登録する。前記照合情報中継部は、中継指示に応じて、前記リソースの実体を操作できるクライアント端末又はそれを配下に有する中継サーバから対象のリソースの検証に必要な照合情報を取得し、前記中継指示の送信元へ当該照合情報を中継する。
この構成により、複数のクライアント端末が中継サーバを介して必要な相手とリソースを共有できるとともに、リソースの情報と属性情報の管理の一元化を容易に実現することができる。また、クライアント端末は、対象リソースの属性情報を中継サーバから取得できるとともに、中継サーバの中継によって照合情報を取得することができるので、リソースに改竄が加えられていないか等を検証することができる。
本発明の第4の観点によれば、以下の構成の中継通信システムが提供される。即ち、この中継通信システムは、複数の中継サーバと、複数のクライアント端末と、を備える。前記中継サーバは、中継グループ情報登録部と、共有リソース情報登録部と、制御部と、を備える。前記中継グループ情報登録部は、自身との間で相互に接続可能な他の中継サーバを含む中継グループの情報を記憶する。前記共有リソース情報登録部は、前記中継グループ内において複数の前記クライアント端末間でリソースを共有させる場合に、共有リソース情報を記憶する。この共有リソース情報は、当該リソースに関する情報と、当該リソースの属性情報と、当該リソースを共有する前記クライアント端末であるリソース共有端末のアカウントの情報と、を含む。前記制御部は、指示中継部と、属性情報管理部と、検証部と、を備える。前記指示中継部は、前記共有リソース情報に登録されているリソースの操作指示を、自身の配下のクライアント端末又は他の中継サーバの少なくとも何れか一方へ中継する。前記属性情報管理部は、リソースに関する情報が前記共有リソース情報に追加されることにより、当該リソースに関する属性情報を前記共有リソース情報に登録する。前記検証部は、前記リソース共有端末からの検証指示に応じて、前記リソースの実体を操作できるクライアント端末又はそれを配下に有する中継サーバから対象のリソースの検証に必要な照合情報を取得し、前記属性情報及び前記照合情報に基づいて対象のリソースを検証する。
この構成により、複数のクライアント端末が中継サーバを介して必要な相手とリソースを共有できるとともに、リソースの情報と属性情報の管理の一元化を容易に実現することができる。また、クライアント端末は中継サーバに、リソースの属性情報及び照合情報に基づいて、当該リソースに改竄が加えられていないかを検証させることができる。
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本発明の一実施形態に係る中継通信システムの全体構成を示す説明図である。
図1に示すように、本実施形態の中継通信システムは、WANに接続された複数のLANで構成されている。この中継通信システムは、中継サーバ1、外部サーバ2、クライアント端末5、ファイルサーバ6等を備えている。
WAN(Wide Area Network)は、異なるLANを相互に接続するネットワークである。本実施形態ではWANとしてインターネットが使用されている。
LAN(Local Area Network)は、限定された場所で構築される比較的小規模なネットワークである。LANは複数存在し、互いに物理的に離れた場所に構築されている。本実施形態では、東京支社にLAN91が構築され、大阪支社、名古屋支社、福岡支社にLAN92,93,94がそれぞれ構築される場合を想定している。これら4つのLAN91,92,93,94は、グローバルなネットワークであるインターネットにそれぞれ接続されている。
次に、図2等を参照して外部サーバ2を説明する。図2は外部サーバ2の機能ブロック図である。この外部サーバ2は、各LANに配置された中継サーバ1間での通信に用いられる装置であり、インターネット上に設置されている。
図2に示す外部サーバ2は、SIP(Session Initiaion Protocol)サーバとしての機能を備えている。具体的には、外部サーバ2は、SIPメソッド及びレスポンス等を中継するSIPプロキシサーバとしての機能と、中継サーバ1のアカウントを登録するSIPレジストラサーバとしての機能を備える。
外部サーバ2は、図2に示すように、WANインタフェース201と、制御部202と、中継サーバアカウント情報データベース203と、を主要な構成として備えている。
WANインタフェース201は、グローバルIPアドレスを使用して、インターネットに接続された中継サーバ1等の各装置と通信を行うインタフェースである。
中継サーバアカウント情報データベース203は、登録要求のあった中継サーバ1のアカウントをグローバルIPアドレスと対応付けて管理するデータベースである。
制御部202は、WANインタフェース201を介して行う様々な通信を制御する処理部であり、TCP/IP、UDP又はSIP等のプロトコルに従った通信処理を制御する。この制御部202は、例えば、それぞれの中継サーバ1から当該中継サーバ1のアカウントを受信し、中継サーバアカウント情報データベース203に登録する処理を行う。また、中継サーバ1から送信された様々なSIPメソッド又はレスポンス等の通信データを他の中継サーバ1に中継する処理等を行う。
次に、図3等を参照してクライアント端末5を説明する。図3はクライアント端末5の機能ブロック図である。
このクライアント端末5はユーザが直接操作できる端末であり、例えばユーザによって日々の業務に使用されるパーソナルコンピュータ(PC)等が該当する。従って、LAN内には通常多数のクライアント端末5が存在する。本実施形態では図1に示すように、LAN91にクライアント端末11,12が、LAN92にクライアント端末21,22が接続されている。また、LAN93にクライアント端末31,32が、LAN94にクライアント端末41,42がそれぞれ接続されている。各クライアント端末5には、同一のLANの中で一意に管理されたプライベートIPアドレスが付与されている。
図3に示すように、クライアント端末5は、LANインタフェース601と、制御部602と、リソース記憶部603と、共有リソース情報データベース604と、を主要な構成として備えている。
LANインタフェース601は、前記プライベートIPアドレスを使用して、同一のLANに接続された中継サーバ1及びファイルサーバ6等の各装置と通信を行うインタフェースである。
リソース記憶部603は、そのクライアント端末5が操作可能なファイル又はフォルダ等のリソースの実体を記憶する。
共有リソース情報データベース604は、各クライアント端末5が保有している共有リソースの情報を記述した共有リソース情報を記憶する。
制御部602は、LANインタフェース601を介して行う様々な通信を制御する処理部である。この制御部602は、TCP/IP、UDP又はSIP等のプロトコルに従った通信処理を制御する。
制御部602は、例えば、リソース記憶部603に記憶されているリソースの移動、変更又は削除等を制御する処理を行う。また制御部602は、中継サーバ1から共有リソース情報の変更通知を受信したときは、共有リソース情報データベース604に記憶されている共有リソース情報を更新する処理を行う。
次に、図4等を参照して第1実施形態の中継サーバ1を説明する。図4は各中継サーバ1の機能ブロック図である。
中継サーバ1は、図1に示すように、LANのそれぞれに1台配置されている。具体的には、LAN91には中継サーバR1が、LAN92には中継サーバR2が、LAN93には中継サーバR3が、LAN94には中継サーバR4がそれぞれ配置されている。
中継サーバ1はLANに接続され、同一のLANに接続されている各クライアント端末5と通信可能になっている。また、中継サーバ1はインターネットにも接続されており、他のLANに接続された中継サーバ1と(前記外部サーバ2を介して)通信可能となっている。この通信のため、各中継サーバ1には、プライベートIPアドレスとグローバルIPアドレスの両方が付与されている。
中継サーバ1は、図4に示すように、LANインタフェース501と、WANインタフェース502と、制御部503と、アカウント情報データベース504と、中継グループ情報データベース505と、共有リソース情報データベース506と、を主要な構成要素として備えている。
LANインタフェース501は、自装置と同一のLANに接続されたクライアント端末5との通信を、プライベートIPアドレスを使用して行うインタフェースである。例えば、LAN91において中継サーバR1は、LANインタフェース501を使用して、各クライアント端末11,12と通信を行うことができる。
WANインタフェース502は、グローバルIPアドレスを使用して、インターネットに接続された外部サーバ2等の各装置と通信を行うインタフェースである。
各中継サーバ1はSIPレジストラサーバとしての機能を備えており、各中継サーバ1と各クライアント端末5との間の通信はSIPを使用して行われる。例えば、LAN92において中継サーバR2はSIPレジストラサーバとして機能し、LAN92に接続されている各クライアント端末21,22のアカウントを受信し、アカウント情報データベース504に登録する。
従って、中継サーバ1は図5に示すように、クライアント端末5との関係では、当該クライアント端末5からアカウントを受信して登録(REGISTER)するサーバとして機能する。また、外部サーバ2との関係では、中継サーバ1は、外部サーバ2に対してアカウントを送信して登録(REGISTER)するクライアントとして機能する。
図4のアカウント情報データベース504は、登録要求のあったクライアント端末5のアカウントをプライベートIPアドレスと対応付けて管理するデータベースである。
中継グループ情報データベース(中継グループ情報登録部)505は、アカウント情報データベース504に登録されているクライアント端末5が関連する中継グループ情報を管理するデータベースである。
共有リソース情報データベース(共有リソース情報登録部)506は、アカウント情報データベース504に登録されているクライアント端末5が関連する共有リソース情報を管理するデータベースである。
制御部503は、LANインタフェース501及びWANインタフェース502を介して行う様々な通信を制御する処理部であり、TCP/IP、UDP及びSIP等のプロトコルに従った様々な通信処理を制御する。
この制御部503は、例えば、自装置のアカウントを外部サーバ2に送信して登録を要求する処理、及び、中継グループ情報を作成して中継グループ情報データベース505に記憶する処理を実行する。また、制御部503は、共有リソース情報を作成して共有リソース情報データベース506に記憶する処理等を実行する。
また、前記制御部503は、指示中継部511と、電子署名情報管理部(属性情報管理部)512と、ハッシュ値情報中継部(照合情報中継部)513と、を備えている。
指示中継部511は、共有リソースを開く等の操作指示をクライアント端末5等から受信したときに、当該操作指示を必要な相手(他の中継サーバ1等)に中継する。
電子署名情報管理部512は、共有リソース情報データベース506に記憶される共有リソース情報に共有リソースが追加されたときに、その共有リソースの電子署名データの情報を当該共有リソース情報に追加的に登録できるように構成されている。
ハッシュ値情報中継部513は、クライアント端末5からの中継指示に応じて、前記共有リソースの実体を操作できるクライアント端末5を配下に有する中継サーバ1等から対象の共有リソースの検証に必要なハッシュ値(照合情報)を取得し、前記中継指示の送信元のクライアント端末5へ中継するように構成されている。
次にファイルサーバ6を説明する。図1に示すように、このファイルサーバ6はLANに接続されて、同一のLANに接続されている各クライアント端末5と通信できるように構成されている。
ファイルサーバ6は、ファイル又はフォルダ等のリソースの実体を記憶できるように構成されており、各クライアント端末5が備えている前記リソース記憶部603(図3)に代わるリソース記憶手段として機能する。即ち、本実施形態において各クライアント端末5が操作可能なリソースは、そのクライアント端末5のローカルディスク内に格納されている場合と、ネットワークドライブとしてのファイルサーバ6内に格納されている場合が考えられる。このファイルサーバ6は各LANに必須ではなく、図1の例においてもLAN92,94では設置が省略されている。
次に、この中継通信システムで扱われる情報である中継グループ情報及び共有リソース情報について説明する。
最初に、図6を参照して中継グループ情報を説明する。図6は中継グループ情報の内容例を示す図である。
図6には、中継サーバR3における中継グループ情報データベース505の記憶内容例が示されている。この例では、中継グループ情報データベース505は2つの中継グループ情報100a,100bを記憶している。
それぞれの中継グループ情報100a,100bは、1つのグループ識別情報101と、相互に接続を許可することで中継グループを構成する中継サーバ1の情報(中継アカウント情報)102と、リソース共有可能端末情報110と、を含んでいる。
グループ識別情報101は、その中継グループ情報100を識別するための情報であり、中継グループ情報100が作成される度に、異なる識別IDが付与されて一意に識別できる構成となっている。これにより、オペレータ等は、グループ識別情報101に基づいて中継グループを特定することができ、グループ構成の変更等を簡単に行うことができる。
中継アカウント情報102は、相互に接続を許可することで中継グループを構成するそれぞれの中継サーバ1のアカウントの情報を含んでいる。例えば、図6の上側に示されている中継グループ情報100aにおいては、中継グループを構成する3つの中継サーバR1,R2,R3のアカウントが記述されている。また、図6の下側に示されている中継グループ情報100bにおいては、当該中継グループを構成する1つの中継サーバR3のアカウントが記述されている。
中継アカウント情報102においては、各中継サーバ1のアカウントに付与された具体的な名称が併せて登録され、ユーザの識別が容易になっている。例えば、中継サーバR1(relay−server1)の中継アカウント情報102aであれば、中継サーバR1のアカウント(relay−server1@net)に対して名称(支社A)が付与されている。
以上のように、中継グループ情報100a,100bは、中継グループごとに一意に識別可能に作成されている。また、中継グループ情報100a,100bには、相互に接続を許可することで一群(中継グループ)を構成する各中継サーバのアカウント(中継アカウント情報102)が含まれている。従って、中継グループ情報100a,100bを参照すれば、どのLANとどのLANがグループを構成しているのかを知ることができる。
次に、前記中継グループ情報100に含ませることが可能なリソース共有可能端末情報110について説明する。
図6に示すように、リソース共有可能端末情報110は、各中継グループ情報100に対応して登録されている。例えば、リソース共有可能端末情報110aは中継グループ情報100aに対応して登録され、リソース共有可能端末情報110bは中継グループ情報100bに対応して登録されている。
それぞれのリソース共有可能端末情報110a,110bは、対応する中継グループ情報100a,100bに係る中継グループにおいてリソースの共有が許可されたクライアント端末5を記述した個別端末情報111を含んでいる。この個別端末情報111は、リソースの共有が可能なクライアント端末5それぞれのアカウントを記述した情報である。
例えば、図6の上側のリソース共有可能端末情報110aに対応する中継グループ情報100aは、3つの中継サーバR1,R2,R3で構成される中継グループを定義する。図1に示すように、中継サーバR1が接続されているLAN91には、2台のクライアント端末11,12が存在する。図6の上側のリソース共有可能端末情報110aの例では、この2台の両方が上記中継グループでリソースを共有可能な端末として選択され、そのアカウント情報が個別端末情報111として登録されている。同様に、中継サーバR2が接続されているLAN92ではクライアント端末21,22の両方がリソース共有可能端末として選択されている。中継サーバR3が接続されているLAN93にはクライアント端末31,32が存在するが、リソース共有可能端末情報110aの例ではクライアント端末31のみがリソース共有可能端末として選択され、アカウント情報が個別端末情報111として登録されている。
図6の下側のリソース共有可能端末情報110bに対応する中継グループ情報100bは、中継サーバR3のみで構成される中継グループを定義する。このリソース共有可能端末情報110bの例では、中継サーバR3が接続されているLAN93において、2台のクライアント端末31,32が両方ともリソース共有可能端末として選択され、そのアカウント情報が個別端末情報111として登録されている。
個別端末情報111においては、各リソース共有可能端末のアカウントのほか、当該アカウントに付与された具体的な名称が登録され、ユーザの識別が容易になっている。例えば、クライアント端末11の場合、そのアカウント(例えば、client11@relay−server1.net)に対して付与された名称(client11)が記述されている。更に、個別端末情報111には、営業部及び開発部等、そのリソース共有可能端末の所属を示す所属識別データ112が記述されている。
なお、リソース共有可能端末情報110においてそれぞれの個別端末情報111は、リソース共有可能端末と同一のLANに接続されている中継サーバの中継アカウント情報102と関連付けて記述されている。例えばクライアント端末11に関する個別端末情報111は、中継サーバR1の中継アカウント情報102aと関連付けた形で記述されている。
また、図6の例で示すように、中継グループ情報データベース505は、中継グループ情報100及びリソース共有可能端末情報110をそれぞれ複数記憶することができる。また、クライアント端末31は、2つの中継グループにおけるリソース共有可能端末情報110a,110bの両方においてリソース共有可能端末とされ、その個別端末情報111が記述されている。このように、1つのクライアント端末5を複数の中継グループにおいてリソース共有端末として選択し、その旨のリソース共有可能端末情報110を中継グループ情報データベース505に記憶できるようになっている。
それぞれの中継グループ情報100は、中継グループを構成している各中継サーバ1間で交換される。例えば、図6の上側の中継グループ情報100aは、3つの中継サーバR1,R2,R3で交換され、それぞれの中継サーバR1,R2,R3の中継グループ情報データベース505に記憶される。また、図6の下側の中継グループ情報100bは、中継サーバR3のみで保持され、中継サーバR3の中継グループ情報データベース505に記憶される。
次に、共有リソース情報の内容について、図7を参照して説明する。図7は、クライアント端末11の共有リソース情報データベース604に記憶される共有リソース情報120を例示したものである。なお、これと同じ情報が、クライアント端末11と同一のLANに接続されている中継サーバR1の共有リソース情報データベース506にも記憶される。
共有リソース情報120は、クライアント端末11に関する共有リソース情報であることを示すアカウント識別情報121と、そのクライアント端末11が関連する個別共有リソース情報122と、で構成されている。
アカウント識別情報121は、クライアント端末5ごとに共有リソース情報120が作成されるため、それを識別するための情報である。
個別共有リソース情報122は、共有リソース識別情報123、ファミリアカウント情報124、及びファミリリソース情報125等で構成されている。
共有リソース識別情報123は、その個別共有リソース情報122を識別するための情報であり、個別共有リソース情報122が作成される度に、異なるIDが付与されて一意に識別できる構成となっている。ここでは共有リソース識別情報123は、共有リソース情報120の作成要求のあったクライアント端末5と関連付けられたIDと、その識別を容易にするための名称とで構成されている。前記IDは例えば20071001150032client11@relay−server1等とすることができ、識別を容易にする名称は例えばworkspace1等とすることができる。
これにより、ユーザ等は、共有リソース識別情報123に基づいて個別共有リソース情報122を特定することができるため、簡単にその内容を編集等することができる。
ファミリリソース情報125は、クライアント端末5が保有しているファイル又はフォルダ(ディレクトリ)等のリソースの実体を示すリソース情報126の集合体である。
それぞれのリソース情報126は、共有するリソースの名称の情報と、そのリソースの実体の操作が可能なクライアント端末5(オーナクライアント端末)のアカウントの情報と、そのリソースの実体の所在を示すアドレスの情報と、そのリソースについてのステータス情報と、で構成されている。
共有するリソースの名称とは、リソースを複数のクライアント端末5で共有するにあたって当該リソースに付与される名称であり、例えば、name=”folderA”と記述される。オーナクライアント端末のアカウントの情報には、オーナクライアント端末を識別するアカウントが、例えば、owner=”client11@relay−server1.net”のように記述される。リソースの実体の所在を示すアドレスは、共有リソースがリソース記憶部603(又はファイルサーバ6)に実際に記憶されている場所を示すものであり、例えばフルパスを用いてvalue=”c:/folderA”等と記述される。ステータス情報は、そのリソースの状態を示す情報であり、例えば、status=”ok”等と記述される。
また、前記リソース情報126には、必要に応じて、当該リソースが改竄されていないことを検証するために必要な電子署名情報を含ませることができる。例えば図7のファミリリソース情報125aにおいて、名称がfile00ZX.xlsである共有リソースに係るリソース情報126では、電子署名のファイル名がsignature=”es.p7s”のように記述され、これにより電子署名情報129が構成されている。また、ファミリリソース情報125bにおいて、名称がfile00A.xlsである共有リソースに係るリソース情報126では、電子署名のファイル名がsignature=”es2.p7s”のように記述され、電子署名情報129が構成されている。これらの電子署名のファイルは中継サーバ1により作成され、当該中継サーバ1の適宜の記憶手段に記憶される。
ファミリアカウント情報124は、ファミリリソース情報125で示されているリソースの実体を共有するクライアント端末5のアカウント(例えば、client11@relay−server1.net)の情報の集合体である。
図7のファミリリソース情報125aの例では、オーナクライアント端末は11である。そして、このオーナクライアント端末11を介して間接的にリソースの実体を操作可能なクライアント端末(ユーザクライアント端末)は、図7のファミリアカウント情報124に記述されたクライアント端末のうちオーナクライアント端末11以外のものである。即ち、この例ではクライアント端末21がユーザクライアント端末である。
図7に示すようにファミリリソース情報125は複数記述することができ、それぞれのファミリリソース情報125に記述されたオーナクライアント端末は互いに異なっていても良い。従って、オーナクライアント端末とユーザクライアント端末の関係は固定的なものではなく、ファミリアカウント情報124に記述されたクライアント端末はどれでもオーナアカウント端末となることができる。なお、以降の説明において、このファミリアカウント情報124に記述されたクライアント端末を共有メンバ端末と呼ぶことがある。
図7の例における共有メンバ端末であるクライアント端末11,21のそれぞれは、図6の中継グループ情報100aで記述された中継グループを構成する3台の中継サーバR1,R2,R3の何れかと同一のLANに接続されている。また、各共有メンバ端末は、当該中継グループにおけるリソース共有可能端末情報110aにおいて、何れもリソース共有可能端末として個別端末情報111が記述されているクライアント端末である。
前記共有メンバ端末のそれぞれは、以上で説明した内容の個別共有リソース情報122を持った共有リソース情報120を、共有リソース情報データベース604に記憶している。
次に、図8のシーケンス番号11〜19を参照して、中継グループの生成及び登録段階を説明する。図8に示すシーケンス番号11〜19の処理は、一般に、ユーザ及びオペレータによってネットワークの初期設定として行われる。
まず、中継サーバR1において、中継サーバR2との間で中継グループを新規に形成するメソッド(createGroupメソッド)がオペレータによって実行される。このcreateGroupメソッドでは、中継グループを形成する相手の中継サーバR2のアカウント(relay−server2@net)が指定される。
すると、中継サーバR1において中継グループ情報100aが新たに作成される。このとき、識別ID(0001@relay−server1)が当該中継グループ情報に付与され、グループ識別情報101に記述される。
次に、中継サーバR1においてメッセージ送信コマンド(MESSAGEメソッド)が実行され、相手となる中継サーバR2に対するgroup−infoメッセージが外部サーバ2に送信される(シーケンス番号11)。このメッセージには、前記createGroupメソッドで作成された中継グループ情報の識別ID等が含まれている。
このMESSAGEメソッドでは、メッセージ送信先の中継サーバR2のアカウント(sip:relay−server2@net)が指定されている。外部サーバ2は、中継サーバアカウント情報データベース203を参照することで中継サーバR2のグローバルIPアドレスを取得し、中継サーバR1からのgroup−infoメッセージを中継サーバR2に中継する。メッセージを受信した中継サーバR2は、外部サーバ2を介して中継サーバR1へOKレスポンスを返す。
以上のように、本実施形態の各中継サーバ1間の通信は外部サーバ2を経由して行われ、以下においても同様である。従って、以後の説明では、外部サーバ2を経由する通信処理の具体的な説明を省略する。
次に、中継サーバR1が、中継サーバR2に対し、サーバ情報の送信要求メッセージ(request−server−infoメッセージ)を送信する(シーケンス番号12)。このメッセージを受信した中継サーバR2は、OKレスポンスとともに、自身に関する情報(server−info)を中継サーバR1に返す。
今度は反対に、中継サーバR2が中継サーバR1に対するrequest−server−infoメッセージを送信し(シーケンス番号13)、中継サーバR1は自身に関する情報(server−info)を中継サーバR2に返信する。
以上のように互いのサーバに関する情報を交換することで、両中継サーバR1,R2の情報が中継グループ情報100に含まれる中継アカウント情報102に記述され、各中継サーバR1,R2の中継グループ情報データベース505に記憶される。
次に、中継サーバR2において、先ほど作成した中継グループ(中継サーバR1,R2で構成される中継グループ)に新たに中継サーバR3を加えるメソッド(addGroupメソッド)がオペレータによって実行される。このaddGroupメソッドでは、加入させる中継サーバR3のアカウント(relay−server3@net)、加入させる中継グループの識別ID(0001@relay−server1)が指定される。
すると中継サーバR2は、加入させる相手となる中継サーバR3に対し、group−infoメッセージを送信する(シーケンス番号14)。このメッセージには、前記addGroupメソッドで指定された中継グループの識別ID等が含まれている。これを受信した中継サーバR3は、中継サーバR2へOKレスポンスを返す。次に、シーケンス番号12,13で説明したのと全く同様に、中継サーバR2と中継サーバR3との間でサーバ情報が交換される(シーケンス番号15,16)。
次に、中継サーバR2は、中継グループに中継サーバR3が加わったことを知らせるupdate−group−infoメッセージを、中継サーバR1に送信する(シーケンス番号17)。これを受信した中継サーバR1は、中継サーバR2へOKレスポンスを返す。その後、中継サーバR3と中継サーバR1との間でサーバ情報が交換される(シーケンス番号18,19)。
以上により、3つの中継サーバR1,R2,R3が中継グループを形成している旨の中継グループ情報100(具体的には、図6の符号100aで示した内容の情報)が、各中継サーバR1,R2,R3の中継グループ情報データベース505に記憶される。
なお、図8では図示しないが、中継サーバR3において更に、中継グループを形成する他の中継サーバを指定せずにcreateGroupメソッドが実行される。これにより中継サーバR3のみから形成される中継グループ情報100bが作成され、識別ID(0002@relay−server2)が付与され、R3の中継グループ情報データベース505に記憶される。
次に、図9のシーケンス番号21〜29を参照して、中継グループに対するリソース共有可能端末の登録段階を説明する。
中継サーバR1において、3台の中継サーバR1,R2,R3で構成される中継グループに、リソース共有可能端末としてクライアント端末11を登録するメソッド(addTerminalメソッド)がオペレータによって実行される。このaddTerminalメソッドでは、クライアント端末11のアカウント、及び、登録先の中継グループを示す識別ID(0001@relay−server1)が指定される。
このaddTerminalメソッドが実行されると、中継サーバR1は、自身の中継グループ情報データベース505を検索する。そして、指定された識別IDの中継グループ情報に対応するリソース共有可能端末情報110に、前記クライアント端末11の個別端末情報111を追加する。
その後直ちに、中継サーバR1は、中継グループ情報データベース505の記憶内容から中継グループ情報100を前記識別IDによって特定し、当該中継グループがどの中継サーバ1によって構成されているかを調べる。すると、図6の中継グループ情報100aにより、対象となる中継グループは、自身(中継サーバR1)と、2台の中継サーバR2,R3とで構成されていることが判る。
従って、中継サーバR1は、まず中継サーバR2に対し、中継グループへのリソース共有可能端末の追加を要求するadd−group−infoメッセージを送信する(シーケンス番号21)。このメッセージには、対象となるクライアント端末11のアカウント、及び登録先の中継グループの識別ID等が含まれている。これを受信した中継サーバR2は、中継グループ情報データベース505に記憶されているリソース共有可能端末情報110に前記クライアント端末11の個別端末情報111を追加した後、OKレスポンスを返す。
次に、中継サーバR1は、クライアント端末11に対してgroup−infoメッセージを送信する(シーケンス番号22)。このメッセージには、クライアント端末11の個別端末情報111が追加されたリソース共有可能端末情報110が含まれている。これを受信したクライアント端末11は、受信したリソース共有可能端末情報110の内容を適宜の記憶手段に記憶する。
続いて、中継サーバR1は、中継サーバR3に対しても、中継グループへのリソース共有可能端末の追加を要求するadd−group−infoメッセージを送信する(シーケンス番号23)。これを受信した中継サーバR3は、中継グループ情報データベース505に記憶されているリソース共有可能端末情報110に前記クライアント端末11の個別端末情報111を追加した後、OKレスポンスを返す。
以上により、3つの中継サーバR1,R2,R3の中継グループ情報データベース505に記憶されている中継グループ情報100の中のリソース共有可能端末情報110に、リソース共有可能端末としてクライアント端末11の個別端末情報111が登録される。
次に、中継サーバR2において、前述の中継グループの識別IDを指定して、リソース共有可能端末としてクライアント端末21を登録するメソッド(addTerminalメソッド)がオペレータによって実行される。
すると中継サーバR2は、自身の中継グループ情報データベース505を検索し、識別IDで指定された中継グループ情報に対応するリソース共有可能端末情報110に、前記クライアント端末21の個別端末情報111を追加する。
次に、中継サーバR2は、中継サーバR1に対し、中継グループへのリソース共有可能端末の追加を要求するadd−group−infoメッセージを送信する(シーケンス番号24)。このメッセージには、対象となるクライアント端末21のアカウント、登録先の中継グループの識別ID等が含まれている。
これを受信した中継サーバR1は、中継グループ情報データベース505に記憶されているリソース共有可能端末情報110に、前記クライアント端末21の個別端末情報111を追加する。更に中継サーバR1は、自身と同一のLANに接続されており、既にリソース共有可能端末として記憶されているクライアント端末11に対し、add−group−infoメッセージを送信する(シーケンス番号24.1)。このメッセージを受信したクライアント端末11は、適宜の記憶手段に、前記クライアント端末21の個別端末情報111を記憶する。その後、クライアント端末11は中継サーバR1へOKレスポンスを返し、これを受信した中継サーバR1は中継サーバR2に対しOKレスポンスを返す。
更に、中継サーバR2は、クライアント端末21に対してgroup−infoメッセージを送信する(シーケンス番号25)。このメッセージには、クライアント端末11及び21の個別端末情報111が追加されたリソース共有可能端末情報110が含まれている。これを受信したクライアント端末21は、受信したリソース共有可能端末情報110の内容を、適宜の記憶手段に記憶する。
続いて、中継サーバR2は、中継サーバR3に対しても、中継グループへのリソース共有可能端末の追加を要求するadd−group−infoメッセージを送信する(シーケンス番号26)。これを受信した中継サーバR3は、中継グループ情報データベース505に記憶されているリソース共有可能端末情報110に前記クライアント端末21の個別端末情報111を追加した後、OKレスポンスを返す。
以上により、3つの中継サーバR1,R2,R3の中継グループ情報データベース505に記憶されている中継グループ情報100の中のリソース共有可能端末情報110に、リソース共有可能端末として、クライアント端末11及び21の個別端末情報111が登録された状態となる。
次に、中継サーバR3において、前述の中継グループの識別IDを指定して、リソース共有可能端末としてクライアント端末31を登録するメソッド(addTerminalメソッド)がオペレータによって実行される。
すると中継サーバR3は、自身の中継グループ情報データベース505を検索し、識別IDで指定された中継グループに関するリソース共有可能端末情報110に、前記クライアント端末31の個別端末情報111を追加する。
更に、中継サーバR3は、中継サーバR1に対し、中継グループへのリソース共有可能端末の追加を要求するadd−group−infoメッセージを送信する(シーケンス番号27)。このメッセージには、対象となるクライアント端末31のアカウント、登録先の中継グループの識別ID等が含まれている。
これを受信した中継サーバR1は、中継グループ情報データベース505に記憶されているリソース共有可能端末情報110に、前記クライアント端末31の個別端末情報111を追加する。更に中継サーバR1は、自身と同一のLANに接続されており、既にリソース共有可能端末として記憶されているクライアント端末11に対し、add−group−infoメッセージを送信する(シーケンス番号27.1)。このメッセージを受信したクライアント端末11は、適宜の記憶手段に、前記クライアント端末31の個別端末情報111を記憶する。その後、クライアント端末11は中継サーバR1へOKレスポンスを返し、これを受信した中継サーバR1は中継サーバR3に対しOKレスポンスを返す。
次に、中継サーバR3は、クライアント端末31に対してgroup−infoメッセージを送信する(シーケンス番号28)。このメッセージには、クライアント端末31の個別端末情報111が追加されたリソース共有可能端末情報110が含まれている。これを受信したクライアント端末31は、受信したリソース共有可能端末情報110の内容を、適宜の記憶手段に記憶する。
続いて、中継サーバR3は、中継サーバR2に対しても、中継グループへのリソース共有可能端末の追加を要求するadd−group−infoメッセージを送信する(シーケンス番号29)。これを受信した中継サーバR2は、中継グループ情報データベース505に記憶されているリソース共有可能端末情報110に、前記クライアント端末31の個別端末情報111を追加する。更に中継サーバR2は、自身と同一のLANに接続されており、既にリソース共有可能端末として記憶されているクライアント端末21に対し、add−group−infoメッセージを送信する(シーケンス番号29.1)。このメッセージを受信したクライアント端末21は、適宜の記憶手段に、前記クライアント端末31の個別端末情報111を記憶する。その後、クライアント端末21は中継サーバR2へOKレスポンスを返し、これを受信した中継サーバR2は中継サーバR3に対しOKレスポンスを返す。
以上により、3つの中継サーバR1,R2,R3の中継グループ情報データベース505に記憶されている中継グループ情報100の中のリソース共有可能端末情報110に、リソース共有可能端末としてクライアント端末11,21及び31の個別端末情報111が登録された状態となる。
また、図9では図示していないが、この後、クライアント端末12,22を前記中継グループ情報(識別IDは0001@relay−server1)に追加する操作が更に行われる。これにより、中継グループ情報100の中のリソース共有可能端末情報110に、リソース共有可能端末としてクライアント端末11,12,21,22及び31の個別端末情報111が登録される(図6の符号110aを参照)。更に、中継サーバR3において、クライアント端末31,32を他の中継グループ情報(識別IDは0002@relay−server2)に追加する操作が引き続き行われる。
なお、図9ではリソース共有可能端末としてクライアント端末を登録する処理を説明したが、中継サーバ1は、クライアント端末5のリソース共有可能端末としての登録を外す処理(deleteTerminalメソッド)も行うことができる。この場合は、リソース共有可能端末情報110から、指定されたクライアント端末5の個別端末情報111を削除することになる。
次に、クライアント端末5のリソースを実際に共有させる場合の動作を、図10を参照して説明する。ここでは、クライアント端末11が共有リソースを作成するとともに、当該クライアント端末11の保有するファイル”見積書.xls”に電子署名を付した上で、識別IDが0001@relay−server1である中継グループにおいてクライアント端末21と共有させる場合を例に説明する。
ユーザはクライアント端末11を操作し、識別IDが0001@relay−server1である中継グループを指定した上で、当該中継グループにおけるリソース共有可能端末を表示させる指示をクライアント端末11に対して行う。クライアント端末11は中継サーバR1との通信によりリソース共有可能端末の情報を取得し、指定された中継グループにおけるリソース共有可能端末の一覧を画面に表示する。
ここでは識別IDが0001@relay−server1の中継グループが指定されているので、図6の上側に示すリソース共有可能端末情報110aに基づき、4台のクライアント端末12,21,22及び31がリソース共有可能端末として表示される。ユーザは、実際にリソースを共有させる端末(前記ユーザクライアント端末)として、クライアント端末21を指定する。
更にユーザはクライアント端末11を操作し、共有したいリソースとして、当該クライアント端末11のリソース記憶部603に記憶されているファイルを指定する。今回は、”見積書.xls”というファイルを指定したとする。また、クライアント端末11は、前記ファイルを共有する際の名称をユーザに問い合わせる。今回の説明では、ユーザは共有時の名称として”file00ZX.xls”を指定したとする。
なお、図10以降のシーケンス図では、前記”見積書.xls”のファイルの実体が保存されているフォルダが符号11fで示されている。また、当該シーケンス図では、今回の対象となるファイル”見積書.xls”を便宜的にfile001と表記している。
上記の操作が完了すると、クライアント端末11は最初にReadFileコマンドを実行し、フォルダ11fに保存されている対象ファイルの実体の内容を読み込んで取得する(シーケンス番号31)。続いて、クライアント端末11は電子署名コマンド(ESコマンド)を実行する。この電子署名コマンドにより、対象のファイルの実体の内容についてハッシュ値が計算され、それを暗号化することで電子署名のデータを得ることができる。本実施形態では、前記暗号化の方法として、公開鍵を用いた暗号技術の標準規格群(Public Key Cryptography Standard、PKCS)を使用している。
その後、クライアント端末11は、共有リソースの作成要求(createSharedResourceコマンド)を中継サーバR1に送信する(図10のシーケンス番号31)。このメッセージには、共有相手の指定と、共有するファイルの指定(共有時の名称の指定を含む)と、当該ファイルについて前記処理を行うことにより作成した電子署名のデータと、が含まれている。
これを受信した中継サーバR1は、最初にSaveコマンドを実行し、クライアント端末11から受け取った電子署名のデータを”es.p7s”というファイル名で適宜の記憶手段に保存する。次に、中継サーバR1は共有リソース情報120を作成し、自身の共有リソース情報データベース506に記憶する。
このときに記憶される共有リソース情報120は、クライアント端末11,21のアカウントがファミリアカウント情報124(図7)に記述されるとともに、今回の対象ファイル(実体名”見積書.xls”)のリソース情報126がファミリリソース情報125に記述されたものとなる。また、実体名が”見積書.xls”であるリソースに係るリソース情報126には、電子署名情報(属性情報)129として、前述の電子署名のファイル名がsigunature=”es.p7s”のように記述される。
そして、中継サーバR1は、中継グループの識別IDに基づいて中継グループ情報データベース505の内容を参照し、当該中継グループを構成する他の中継サーバR2に対しupdateResourceメッセージを送信し、作成された共有リソース情報120を通知する(シーケンス番号32.1)。なお、updateResourceメッセージは中継サーバR3にも送信されるが、今回の場合はメンバ端末が11,21の2台だけであり、中継サーバR3は通信処理において重要な役割を果たさないので、以降では中継サーバR3に関する通信処理の説明を省略する。
メッセージを受信した中継サーバR2は、自身の共有リソース情報データベース506にその共有リソース情報120を記憶する。また、中継サーバR2は、指定されたクライアント端末21に対してupdateResourceコマンドを送信し、共有リソース情報120を通知する(シーケンス番号32.1.1)。
updateResourceコマンドを受信したユーザクライアント端末21は、自身の共有リソース情報データベース604に記憶されている共有リソース情報120の変更を行う。その後、ユーザクライアント端末21は送信元の中継サーバR2にOKレスポンスを返し、OKレスポンスを受信した中継サーバR2は中継サーバR1にOKレスポンスを返す。
以上により、中継サーバR1,R2,R3の共有リソース情報データベース506に記憶される共有リソース情報120には、共有リソース識別情報123、及びファミリアカウント情報124が記述されることになる。更に、共有するリソースの実体を示すリソース情報(図7の符号126)が、共有リソース情報120にファミリリソース情報125として加えられる。また、前記リソース情報126には前記電子署名情報129が含められることになる。クライアント端末11,21の共有リソース情報データベース604に記憶される共有リソース情報120にも、同じ内容が記述される。
次に、ユーザクライアント端末21が、上記の処理で追加された共有リソースを開く場合の処理について説明する。今回の説明では、クライアント端末21においてユーザが適宜の操作を行うことにより、先ほど追加された共有リソースを指定して開く旨を指示したとする。
すると、クライアント端末21においてOpenFileコマンドが実行され、直ちに電子署名データの取得要求(GetESコマンド)がクライアント端末21から中継サーバR2に送信される(シーケンス番号33)。電子署名データの取得要求を受信した中継サーバR2は、オーナクライアント端末11を配下に有する中継サーバR1に対してgetESメッセージを送信する(シーケンス番号33.1)。このメッセージを受信した中継サーバR1は、自身に保存した電子署名データを中継サーバR2へ送信し、中継サーバR2はこの電子署名データをクライアント端末21へ中継する。続いて、クライアント端末21はDecodeコマンドを実行し、受信した電子署名データをデコードすることによりハッシュ値を抽出する。
次に、クライアント端末21は、照合情報としてのハッシュ値の取得要求(GetHashCodeコマンド)を中継サーバR2に送信する(シーケンス番号34)。このGetHashCodeコマンドには、オーナクライアント端末の指定(即ちクライアント端末11)と、ハッシュ値の算出の対象となる共有リソースの指定が含まれている。
このコマンドを受信した中継サーバR2は、自身の中継グループ情報データベース505に記憶された中継グループ情報100を調べる。すると、指示されたクライアント端末11が中継サーバR1の配下であることが判る。そこで、中継サーバR2は、中継サーバR1に対してgetHashCodeメッセージを送信する(シーケンス番号34.1)。メッセージを受け取った中継サーバR1は、自身の配下のクライアント端末11に対しGetHashCodeコマンドを送信する(シーケンス番号34.1.1)。このコマンドを受信したクライアント端末11は、ReadFileコマンドを実行してファイルの実体を読み込み(シーケンス番号34.1.1.1)、ハッシュ値を計算して中継サーバR1へ送信する。ハッシュ値のデータは、中継サーバR1から中継サーバR2を中継してクライアント端末11へ送信される。
次に、クライアント端末21はValidationコマンドを実行し、電子署名データから抽出したハッシュ値と、オーナクライアント端末11が計算したハッシュ値とが一致するか否かを調べる。この結果、今回はハッシュ値同士が一致し、共有リソースが改竄されていないことが確認されたとする。
こうして共有リソースの検証に成功すると、クライアント端末21は、ファイルオープン要求(OpenFileコマンド)を中継サーバR2に送信する(シーケンス番号35)。このOpenFileコマンドには、オーナクライアント端末の指定(即ち、クライアント端末11)と、開きたい共有リソースの指定が含まれている。このコマンドを受け取った中継サーバR2は、中継サーバR1に対して接続要求(INVITEメソッド)を送信する(シーケンス番号35.1)。接続要求を受信した中継サーバR1は、クライアント端末11に対しファイルオープン要求(OpenFile)を送信する(シーケンス番号35.1.1)。ファイルオープン要求を受信したクライアント端末11は、対象となるリソースの操作が可能であることを確認してOKレスポンスを中継サーバR1に返し、中継サーバR1は中継サーバR2へOKレスポンスを返す。
OKレスポンスを受信した中継サーバR2は中継サーバR1に対してMediaSessionコマンドを送信し、これにより中継サーバR2,R1間に通信経路が確立される(シーケンス番号35.2)。MediaSessionコマンドを受信した中継サーバR1は、クライアント端末11に対しMediaSessionコマンドを送信し、これにより中継サーバR1とクライアント端末11の間に通信経路が確立される(シーケンス番号35.2.1)。その後、クライアント端末11はReadFileコマンドを実行し(シーケンス番号35.2.1.1)、対象リソースを読み出して中継サーバR1に送信する。対象リソースは中継サーバR1から中継サーバR2に転送され、更にクライアント端末21へ転送される。以上により、共有リソースの実体のデータがクライアント端末21に送信され、クライアント端末21は当該データをオープンする処理を行う。
以上のシーケンス番号35〜35.2.1.1は、ハッシュ値が一致して検証に成功した場合の処理であるが、検証に失敗する場合も考えられる。以下、図11を参照して、検証に失敗した場合の処理を説明する。
クライアント端末21の検証コマンドにおいて、電子署名から抽出したハッシュ値とファイルの実体から計算したハッシュ値とが一致しなかった場合、図11に示すように、クライアント端末21においてエラー通知処理(NotifyErrorコマンド)が実行される。この結果、共有リソースの検証に失敗した旨のエラーメッセージがクライアント端末21のディスプレイに表示される。
更に、クライアント端末21は、中継サーバR2に対しファイルエラー通知(ErrorFileコマンド)を送信する(シーケンス番号36)。このErrorFileコマンドには、オーナクライアント端末の指定(即ち、クライアント端末11)と、エラーの対象となる共有リソースの指定が含まれている。これを受信した中継サーバR2は、中継サーバR1に対してerrorFileメッセージを送信する(シーケンス番号36.1)。
errorFileメッセージを受け取った中継サーバR1は、クライアント端末11に対しErrorFileコマンドを送信し(シーケンス番号36.1.1)、これを受信したクライアント端末11はNotifyErrorコマンドを実行する。この結果、共有リソースの検証に失敗した旨のエラーメッセージがクライアント端末11のディスプレイにも表示される。その後、クライアント端末11は送信元の中継サーバR1にOKレスポンスを返し、OKレスポンスを受信した中継サーバR1は中継サーバR2にOKレスポンスを返す。
次に、クライアント端末21において、検証に失敗した共有リソースを削除するコマンド(DeleteResourceコマンド)が自動的に実行される。このコマンドが実行されると、クライアント端末21は、共有リソース情報データベース604に記憶されている共有リソース情報120から、対象の共有リソースに係るリソース情報126を削除する。
その後、クライアント端末21は、共有リソース情報の更新要求(UpdateResourceコマンド)を中継サーバR2へ送信し、更新された共有リソース情報120を通知する(シーケンス番号37)。この更新要求を受信した中継サーバR2は、通知された共有リソース情報120を共有リソース情報データベース604に記憶するとともに、中継サーバR1に対してupdateResourceメッセージを送信する(シーケンス番号37.1)。このメッセージを受信した中継サーバR1は、更新済みの共有リソース情報120を、中継サーバR2と同様に共有リソース情報データベース604に記憶する。また、中継サーバR1はクライアント端末11に対しUpdateResourceコマンドを送信し、同様に共有リソース情報120を更新させる(シーケンス番号37.1.1)。
次に、図12を参照して、クライアント端末5が自身のファイルを共有リソースとして追加する場合の処理の詳細について説明する。図12は、第1実施形態の中継通信システムにおけるクライアント端末5の共有リソース追加時の動作を示すフローチャートである。なお、図12のフローチャートは、図10におけるクライアント端末11の処理(シーケンス番号31〜32)に実質的に相当するものである。
図12に示すように、クライアント端末5は共有リソースの追加が指示されるまで待機し(S101)、共有リソースの追加が指示された場合は、追加すべき共有リソース(ファイル)を問い合わせる(S102)。ユーザは、この問合せに対し、共有させたいファイルを適宜選択する。
次に、クライアント端末5は、電子署名の情報を共有リソース情報に付与するか否かを問い合わせる(S103)。ユーザは、この問合せに対し、電子署名を付与するかしないかを選択することができる。
ユーザが電子署名の情報を付与する旨を選択した場合は、クライアント端末5は、指定されたファイルの実体を読み込み、ハッシュ値を計算して電子署名データを作成する(S104)。その後、クライアント端末5は、共有リソース情報データベース604に記憶されている共有リソース情報120に対象ファイルのリソース情報126を追加する(S105)。更に、クライアント端末5は、共有リソース情報120の更新コマンドを前記電子署名データ付きで中継サーバ1へ送信する(S106)。
一方、S103の判断でユーザが電子署名の情報を付与しない旨を選択した場合は、共有リソース情報120に対象ファイルのリソース情報126を追加する(S107)とともに、共有リソース情報120の更新コマンドを中継サーバ1へ送信する(S108)。
次に、図13を参照して、クライアント端末5が共有リソースを開く場合の処理の詳細について説明する。図13は、第1実施形態の中継通信システムにおけるクライアント端末5の共有リソースオープン時の動作を示すフローチャートである。なお、図13のフローチャートは、図10及び図11におけるクライアント端末21の処理(シーケンス番号33〜36.1.1)に実質的に相当するものである。
図13に示すように、クライアント端末5は共有リソースを開く指示がされるまで待機し(S201)、共有リソースを開く指示がされた場合は、対象の共有リソースに電子署名の情報が付与されているかを共有リソース情報120に基づいて調べる(S202)。
電子署名の情報が付与されていた場合、クライアント端末5は、指定された共有リソースのオーナが自分以外であるか否かを調べる(S203)。共有リソースのオーナが自分以外である場合(即ち、自身がユーザクライアント端末である場合)は、ハッシュデータ取得コマンドを中継サーバ1へ送信し(S204)、オーナクライアント端末が計算したハッシュ値のデータを中継サーバ1経由で受信して取得する(S205)。一方、共有リソースのオーナが自分である場合(即ち、自身がオーナクライアント端末である場合)は、自身がファイルの実体を読み込み、ハッシュ値のデータを計算して取得する(S206)。
次に、クライアント端末5は、中継サーバ1から電子署名データを取得し(S207)、これを復号化(デコード)することによりハッシュ値を抽出する(S208)。そして、S205又はS206の処理で得られたハッシュ値と、S208の処理で得られたハッシュ値とが一致するか否かを調べる(S209)。この結果、ハッシュ値が不一致だった場合は、改竄が検出されたこと(検証に失敗したこと)をユーザに通知する(S210)。
S209の判断でハッシュ値が一致していた場合、及び、S202の判断で電子署名の情報が付与されていなかった場合は、クライアント端末5は、指定された共有リソースのオーナが自分以外であるか否かを調べる(S211)。共有リソースのオーナが自分以外である場合(即ち、自身がユーザクライアント端末である場合)は、ファイル実体データの転送コマンドを中継サーバ1へ送信し(S212)、ファイル実体データを中継サーバ1経由で受信して取得する(S213)。一方、共有リソースのオーナが自分である場合(即ち、自身がオーナクライアント端末である場合)は、自身がファイルの実体を読み込む。その後、得られたファイル実体データをオープンする処理を行う(S214)。
以上の構成により、複数のクライアント端末11,21の間で、必要に応じてリソースを共有することができる。また、リソースを共有する際に電子署名を計算しておき、これをファイルの実体から計算したハッシュ値と照合することで、共有リソースの意図せぬ改竄を検出でき、安全性の高いファイル共有を実現することができる。
以上に示すように、本実施形態の中継サーバ1は、中継グループ情報データベース505と、共有リソース情報データベース506と、制御部503と、を備える。前記中継グループ情報データベース505は、自身との間で相互に接続可能な他の中継サーバを含む中継グループの情報(中継グループ情報100)を記憶する。共有リソース情報データベース506は、前記中継グループ内において複数のクライアント端末5間でリソースを共有させる場合に、共有リソース情報120を記憶する。この共有リソース情報120は、当該リソースの情報であるファミリリソース情報125と、当該リソースの電子署名情報129と、当該リソースを共有するクライアント端末であるリソース共有端末のアカウントの情報(ファミリアカウント情報124)と、を含む。前記制御部503は、指示中継部511と、電子署名情報管理部512と、ハッシュ値情報中継部513と、を備える。そして、例えば図10のシーケンス番号35及び35.1に示すように、中継サーバR2の前記指示中継部511は、前記共有リソース情報120に登録されているリソースの操作指示を、自身の配下のクライアント端末5又は他の中継サーバ1へ中継する。また、シーケンス番号32に示すように、中継サーバR1の電子署名情報管理部512は、リソースに関する情報が前記共有リソース情報120に追加されることにより、当該リソースに関する電子署名情報129を共有リソース情報120に登録する。また、シーケンス番号34及び34.1に示すように、中継サーバR2のハッシュ値情報中継部513は、クライアント端末21の中継指示(GetHashCodeコマンド)に応じて、前記リソースの実体を操作できるクライアント端末11を配下に有する中継サーバR1から対象のリソースの検証に必要なハッシュ値の情報を取得し、前記中継指示の送信元であるクライアント端末21へハッシュ値の情報を中継する。
これにより、複数のクライアント端末5が中継サーバ1を介して必要な相手とリソースを共有できるとともに、リソースの情報と属性情報の管理の一元化を容易に実現することができる。また、クライアント端末5は、対象リソースの電子署名のデータを中継サーバ1から取得できるとともに、中継サーバの中継によって検証に必要なハッシュ値の情報を取得できるので、リソースに改竄が加えられていないか等を検証することができる。
また、本実施形態において、前記共有リソース情報120には電子署名情報129が含まれており、この電子署名によって共有リソースを検証できるように構成されている。
これにより、電子署名を用いて共有リソースの改竄を容易かつ強力に検出し、信頼性の高い検証を行うことができる。
また、本実施形態では図10のシーケンス番号32に示すように、中継サーバR1の制御部503の電子署名情報管理部512は、リソースを共有する指示を行ったオーナクライアント端末11がESコマンドで作成した電子署名データを前記共有リソース情報120に登録するように構成されている。
これにより、リソースの実体を操作できるクライアント端末自身が、その実体に基づいて電子署名データを作成するので、共有リソースの登録処理を簡素化することができる。
次に、本発明の第2実施形態を説明する。なお、この第2実施形態において前記第1実施形態と同一又は類似する部材には、図面に同一の符号を付して説明を省略する。図14は第2実施形態に係る中継サーバ1の機能ブロック図である。
第2実施形態の中継サーバ1の制御部503は、図14に示すように、前記第1実施形態で備えられていたハッシュ値情報中継部513を省略し、その代わりに検証部514を備えている。この検証部514は、クライアント端末5からの共有リソースの検証指示に応じて、当該共有リソースのオーナクライアント端末5又はそれを配下に有する中継サーバ1から対象の共有リソースの検証に必要なハッシュ値を取得し、電子署名情報129の電子署名データ及び前記ハッシュ値に基づいて共有リソースを検証するように構成されている。
次に、この第2実施形態においてクライアント端末5のリソースを実際に共有させる場合の動作を、図15を参照して説明する。ここでは、2台のクライアント端末11,21の間でリソースを共有するための仮想的な場(共有リソース情報)が予め作成されており、この場において、クライアント端末21が保有するファイル”doc001.xls”に電子署名を付した上でクライアント端末11と共有させる場合を例に説明する。
ユーザはクライアント端末21を操作し、共有したいリソースとして、当該クライアント端末21のリソース記憶部603に記憶されているファイルを指定する。今回は、”doc001.xls”というファイルを指定したとする。また、クライアント端末11は、前記ファイルを共有する際の名称をユーザに問い合わせる。今回の説明では、ユーザは共有時の名称として”file00A.xls”を指定したとする。
なお、図15以降のシーケンス図では、前記”doc001.xls”のファイルの実体が保存されているフォルダが符号21fで示されている。また、当該シーケンス図では、今回の対象となるファイル”doc001.xls”を便宜的にfile002と表記している。
上記の操作が完了すると、クライアント端末21は最初にReadFileコマンドを実行し、フォルダ21fに保存されている対象ファイルの実体の内容を読み込んで取得する(図15のシーケンス番号41)。次に、クライアント端末21は、リソースの追加要求(addResourceコマンド)を中継サーバR1に送信する(シーケンス番号42)。このコマンドには、共有リソース情報の指定と、共有するファイルの指定(共有時の名称の指定を含む)と、電子署名を付与する旨の指定と、当該ファイルの実体から計算したハッシュ値のデータと、が含まれている。
これを受信した中継サーバR2は、電子署名コマンド(ESコマンド)を実行し、クライアント端末21から受信したハッシュ値を暗号化することで電子署名のデータを作成する。次に中継サーバR2はSaveコマンドを実行し、作成した電子署名のデータを”es2.p7s”というファイル名で適宜の記憶手段に保存する。更に中継サーバR2はupdateResourceコマンドを実行し、自身の共有リソース情報データベース506に記憶される共有リソース情報120を更新する。
以上の処理により、共有リソース情報データベース506に記憶される共有リソース情報120は、今回の対象ファイル(実体名”doc001.xls”)のリソース情報126がファミリリソース情報125に記述されたものとなる。また、実体名が”doc001.xls”であるリソースに係るリソース情報126には、電子署名情報(属性情報)129として、前述の電子署名のファイル名がsigunature=”es2.p7s”のように記述される。
そして、中継サーバR2は、中継グループを構成する他の中継サーバR2(R3)に対しupdateResourceメッセージを送信し、更新された共有リソース情報120を通知する(シーケンス番号43)。また、中継サーバR2は、自身の配下のクライアント端末21に対してupdateResourceコマンドを送信し、更新された共有リソース情報120を通知する(シーケンス番号44)。
updateResourceメッセージを受信した中継サーバR1は、自身の共有リソース情報データベース506にその共有リソース情報120を記憶する。また、中継サーバR1は、自身の配下のクライアント端末11に対してupdateResourceコマンドを送信し、共有リソース情報120を通知する(シーケンス番号43.1)。
中継サーバR1からupdateResourceコマンドを受信したユーザクライアント端末11は、自身の共有リソース情報データベース604に記憶されている共有リソース情報120の変更を行う。その後、ユーザクライアント端末11は送信元の中継サーバR1にOKレスポンスを返し、OKレスポンスを受信した中継サーバR1は中継サーバR2にOKレスポンスを返す。また、中継サーバR2からupdateResourceコマンドを受信したクライアント端末21は、自身の共有リソース情報データベース604に記憶されている共有リソース情報120の変更を行う。その後、クライアント端末21は、送信元の中継サーバR2に対してOKレスポンスを返す。
次に、ユーザクライアント端末11が、上記の処理で追加された共有リソースを開く場合の処理について説明する。今回の説明では、クライアント端末11においてユーザが適宜の操作を行うことにより、先ほど追加された共有リソースを指定して開く旨を指示したとする。
すると、クライアント端末11は、ファイルオープン要求(OpenFileコマンド)を中継サーバR1に送信する(シーケンス番号45)。このOpenFileコマンドには、オーナクライアント端末の指定(即ち、クライアント端末21)と、開きたい共有リソースの指定が含まれている。このコマンドを受け取った中継サーバR1は、中継サーバR2に対して接続要求(INVITEメソッド)を送信する(シーケンス番号45.1)。接続要求を受信した中継サーバR2は、自身の配下のオーナクライアント端末21に対しGetHashCodeコマンドを送信する(シーケンス番号45.1.1)。このコマンドを受信したクライアント端末21は、ReadFileコマンドを実行してファイルの実体を読み込み(シーケンス番号45.1.1.1)、ハッシュ値を計算して中継サーバR2へ送信する。
次に、中継サーバR2は、共有リソース情報120の電子署名情報129を調べて、自身の記憶する電子署名データを読み出し、これを復号化(デコード)してハッシュ値を計算する。そして、中継サーバR2はValidationコマンドを実行し、電子署名データの復号化により得られたハッシュ値と、オーナクライアント端末11が計算したハッシュ値とが一致するか否かを調べる。この結果、今回はハッシュ値同士が一致し、共有リソースが改竄されていないことが確認されたとする。
すると、中継サーバR2は、クライアント端末21に対しファイルオープン要求(OpenFile)を送信する(シーケンス番号45.2.1)。ファイルオープン要求を受信したクライアント端末21は、対象となるリソースの操作が可能であることを確認してOKレスポンスを中継サーバR2に返し、中継サーバR2は中継サーバR1へOKレスポンスを返す。
OKレスポンスを受信した中継サーバR1は中継サーバR2に対してMediaSessionコマンドを送信し、これにより中継サーバR1,R2間に通信経路が確立される(シーケンス番号45.2)。MediaSessionコマンドを受信した中継サーバR2は、クライアント端末21に対しMediaSessionコマンドを送信し、これにより中継サーバR2とクライアント端末21の間に通信経路が確立される(シーケンス番号45.2.1)。その後、クライアント端末11はReadFileコマンドを実行し(シーケンス番号45.2.1.1)、対象リソースを読み出して中継サーバR2に送信する。対象リソースは中継サーバR2から中継サーバR1に転送され、更にクライアント端末11へ転送される。以上により、共有リソースの実体のデータがクライアント端末11に送信され、クライアント端末21は当該データをオープンする処理を行う。
以上のシーケンス番号45〜45.2.1.1は、ハッシュ値が一致して検証に成功した場合の処理であるが、検証に失敗する場合も考えられる。以下、図16を参照して、検証に失敗した場合の処理を説明する。
図16のシーケンス番号46〜46.1.1.1の処理は、図15のシーケンス番号45〜45.1.1.1の処理と全く同様であるので、説明は省略する。中継サーバR2で実行されるValidationコマンドにおいて、電子署名から抽出したハッシュ値とファイルの実体から計算したハッシュ値とが一致しなかった場合、中継サーバR2はクライアント端末21に対しファイルエラー通知(ErrorFileコマンド)を送信する(シーケンス番号46.1.2)。これを受信したクライアント端末21はNotifyErrorコマンドを実行する。この結果、共有リソースの検証に失敗した旨のエラーメッセージがクライアント端末21のディスプレイに表示される。その後、クライアント端末21は送信元の中継サーバR2にOKレスポンスを返す。
次に中継サーバR2は、ErrorFileレスポンスを中継サーバR1に返す。このレスポンスには、検証に失敗した共有リソースのオーナクライアント端末21の情報と、当該共有リソースの情報が含まれている。当該レスポンスを受信した中継サーバR1は、対象となっている共有リソースを開こうとしたクライアント端末11に対し、ErrorFileレスポンスを送信する。これを受信したクライアント端末11はNotifyErrorコマンドを実行し、共有リソースの検証に失敗した旨のエラーメッセージを当該クライアント端末11のディスプレイに表示させる。なお、本実施形態では、検証に失敗した共有リソースを共有リソース情報120から自動的に削除する処理は行われない。
次に、図17を参照して、自身の配下にあるクライアント端末5がファイルを共有リソースとして追加する場合の中継サーバ1の処理の詳細について説明する。なお、図17のフローチャートは、図15における中継サーバR2の処理(シーケンス番号42〜44)に実質的に相当するものである。
図17に示すように、中継サーバ1は共有リソースの更新コマンドを自身の配下のクライアント端末5から受信するまで待機し(S301)、共有リソースの更新コマンドを受信した場合は、電子署名の付与が指示されているかを調べる(S302)。
電子署名の情報を付与する旨が指示されていた場合は、自身の配下のオーナクライアント端末5(前記更新コマンドの送信元)からハッシュ値のデータを受信する(S303)。そして、このハッシュ値を暗号化して電子署名データを作成して保存するとともに(S304)、この電子署名に関する情報を共有リソース情報120に追加する(S305)。一方、S302の判断において電子署名の情報を付与する指示がなかった場合は、S303〜S305の処理はスキップされる。そして、共有リソース情報120の更新コマンドを、自身の配下のクライアント端末5又は他の中継サーバ1に配信する(S306)。
次に、図18を参照して、自身の配下にあるクライアント端末5から共有リソース(ファイル)をオープン又は検証する指示を受けた場合の中継サーバ1の処理の詳細について説明する。なお、図18のフローチャートは、図15及び図16における中継サーバR2の処理(シーケンス番号45〜46.1.2)に相当するものである。
図18に示すように、中継サーバ1は共有リソースを開くコマンド又は検証コマンドがクライアント端末5から受信されるまで待機し(S401)、当該コマンドを受信した場合は、対象の共有リソースに電子署名の情報が付与されているかを共有リソース情報120に基づいて調べる(S402)。電子署名の情報が付与されていなかった場合、ファイルを開くコマンドのときは、そのコマンドを(必要であれば他の中継サーバ1を介して)オーナクライアント端末5へ転送する(S403)。なお、ファイル検証コマンドの場合は、電子署名がなければ検証が不可能であるので、所定のエラーメッセージを通知して処理を終了する。
電子署名の情報が付与されていた場合、中継サーバ1は、オーナクライアント端末5に対しハッシュ値の取得コマンドを送信し(S404)、ハッシュ値のデータを受信する(S405)。次に、電子署名のデータを読み込み(S406)、それを復号化することによりハッシュ値を抽出する(S407)。そして、S405の処理で得られたハッシュ値と、S407の処理で得られたハッシュ値とが一致するか否かを調べる(S408)。この結果、ハッシュ値が不一致だった場合は、関係するクライアント端末5等に、改竄が検出されたこと(検証に失敗したこと)を通知する(S409)。
S408の判断でハッシュ値が一致していた場合は、中継サーバ1は、受信したコマンドがファイルを開くコマンドであるか否かを調べる(S410)。ファイルを開くコマンドである場合は、そのコマンドを(必要であれば他の中継サーバ1を介して)オーナクライアント端末5へ転送する(S411)。ファイルを開くコマンドでない場合(ファイル検証コマンドである場合)は、検証結果(即ち、検証に成功したこと)を送信元のクライアント端末5に通知する(S412)。
以上に示すように、本実施形態の中継サーバ1は、ハッシュ値情報中継部513の代わりに検証部514を備える。そして、この検証部514は、リソース共有端末5からの検証コマンドに応じて、対象となるリソースのオーナクライアント端末5又はそれを配下に有する中継サーバ1から対象のリソースの検証に必要なハッシュ値を取得し、前記電子署名及び前記ハッシュ値に基づいて対象のリソースを検証するように構成されている。
これにより、クライアント端末5は中継サーバ1に、リソースの電子署名及びハッシュ値に基づいて、リソースに改竄が加えられていないかを検証させることができる。
また、例えば図15のシーケンス番号45〜45.2.1.1に示すように、中継サーバR1の検証部514は、前記リソース共有端末5から中継サーバR1を介してリソースを開く旨の操作指示がされると、対象のリソースについての検証を自動的に行うように構成されている。
これにより、クライアント端末5がリソースを開くごとに、対象のリソースを自動的に検証することができる。従って、クライアント端末5が逐一検証指示を行わなくてもリソースを適切に検証できるので、ユーザの負担を軽減できるとともに、高いセキュリティを実現することができる。
また、例えば図16のシーケンス番号46〜46.1.2に示すように、中継サーバR2の制御部503は、前記リソース共有端末5から中継サーバR1を介してリソースを開く操作指示がされ、検証部514によるリソースの検証に失敗した場合には、当該操作指示を自身の配下のクライアント端末21へ中継することを中止するように構成されている。
これにより、改竄された可能性があるリソースをクライアント端末が操作することを未然に防止でき、高いセキュリティを実現することができる。
また、例えば図15のシーケンス番号42に示すように、中継サーバR2の電子署名情報管理部512は、リソースの追加指示を行ったオーナクライアント端末21から当該リソースに関する属性作成用情報としてのハッシュ値を取得して、当該ハッシュ値から電子署名を作成して前記共有リソース情報120に登録するように構成されている。
これにより、電子署名の作成とそれによる検証の両方を中継サーバ1側で行うこととなるので、クライアント端末5の負荷を低減することができる。
なお、以上に説明した2つの実施形態において、前記中継サーバ1の制御部503は、前記電子署名情報が作成されてから所定期間が経過した場合には、そのリソースを共有するクライアント端末5にその旨を自動的に通知するように構成することもできる。
この場合、電子署名の信頼性が時間の経過とともに低下した場合に、リソース共有端末にその旨を自動的に通知して注意を喚起することができる。従って、より高いセキュリティを実現することができる。
また、前記中継サーバ1の制御部503は、前記電子署名情報が作成されてから所定期間が経過した場合には、その電子署名に対応するリソース情報126を共有リソース情報120から自動的に削除するように構成することもできる。
この場合、電子署名の信頼性が時間の経過とともに低下した場合に、対象となるリソースに関する情報を共有リソース情報120から削除して共有を停止することができる。従って、より高いセキュリティを実現することができる。
以上に本発明の好適な複数の実施形態を説明したが、以上の構成は例えば以下のように変更することができる。
上記実施形態ではSIPサーバである外部サーバ2を介して各中継サーバ1間での通信を行ったが、これに代えて、外部サーバ2を介さずに中継サーバ1間で直接通信する構成に変更することができる。
電子署名情報129としては、電子署名のファイル名を記述することに代えて、例えば電子署名のデータそのものをエンコードして共有リソース情報120に記述することができる。
共有リソース情報120には、電子署名情報の代わりに、例えばハッシュ値又はタイムスタンプ(ハッシュ値に時刻情報を付加して暗号化したもの)の情報を記述することもできる。これらによっても、共有リソースの改竄を容易かつ強力に検出することができる。
共有リソースの操作指示はファイルを開く操作に限定されず、例えばファイルのコピー操作等の前に当該共有リソースを検証するように構成することもできる。