JP2008028576A - Vpn server hosting system, vpn build up method, and computer program - Google Patents

Vpn server hosting system, vpn build up method, and computer program Download PDF

Info

Publication number
JP2008028576A
JP2008028576A JP2006197385A JP2006197385A JP2008028576A JP 2008028576 A JP2008028576 A JP 2008028576A JP 2006197385 A JP2006197385 A JP 2006197385A JP 2006197385 A JP2006197385 A JP 2006197385A JP 2008028576 A JP2008028576 A JP 2008028576A
Authority
JP
Japan
Prior art keywords
vpn server
vpn
server process
information
digital certificate
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.)
Granted
Application number
JP2006197385A
Other languages
Japanese (ja)
Other versions
JP4837470B2 (en
Inventor
Ayumi Kubota
歩 窪田
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2006197385A priority Critical patent/JP4837470B2/en
Publication of JP2008028576A publication Critical patent/JP2008028576A/en
Application granted granted Critical
Publication of JP4837470B2 publication Critical patent/JP4837470B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To flexibly and simply build up a VPN (Virtual Private Network) for a member arbitrarily selected from a plurality of clients. <P>SOLUTION: By using: a member list for members arbitrarily selected from clients receiving a digital certificate; and a public key corresponding to private keys used for the issuance of the digital certificate, as an argument of a hash function, a hash value is calculated. The hash value is associated with an identification (ID) of a VPN server process. When a client requests connection to a generated VPN server process, his/her digital certificate is verified. The connection is permitted for the client, only if the client is contained in the members. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数の情報端末を仮想的な専用回線で接続するVPNサーバプロセスを稼動させるVPNサーバホスティングシステム、このVPNサーバホスティングシステムによりVPNを構築するVPN構築方法、およびVPNを構築するためのコンピュータプログラムに関する。   The present invention relates to a VPN server hosting system that operates a VPN server process for connecting a plurality of information terminals through a virtual dedicated line, a VPN construction method for constructing a VPN using the VPN server hosting system, and a computer for constructing a VPN Regarding the program.

近年、インターネットの常時接続環境が普及してきていることや、AV機器等の家電製品にネットワーク対応型の製品が増加していることなどを背景として、一般家庭においても家庭内の通信機器に対する外出先からのリモートアクセスの需要が高まりつつある。また、複数のユーザの間でインターネットを介してファイルの共有を行ったり、ネット接続型のゲームを楽しんだりといったことも行われている。これらのサービスを実現する方法の一つとして、利用者毎に仮想的な専用回線であるVPN(Virtual Private Network)を構築し、これにより安全なネットワーク環境を提供可能としたものが提案されている。   In recent years, with the background of the ever-expanding Internet connection environment and the increase in network-compatible products in home appliances such as AV equipment, the general households are also away from home for communication devices. The demand for remote access from is increasing. In addition, files are shared among a plurality of users via the Internet, and Internet-connected games are also enjoyed. As one of the methods for realizing these services, a VPN (Virtual Private Network), which is a virtual dedicated line, is constructed for each user, thereby providing a safe network environment. .

ここで、VPNは、暗号化技術を利用してインターネット上の2地点間を接続して構成された仮想的な閉じたネットワークであり、離れた場所にあるコンピュータ同士があたかも1つのLAN(Local Area Network)に接続されているのと同じように、第三者による盗聴などを防止して相互に通信することを可能にするものである(例えば、非特許文献1参照)。具体的には、VPNのトラフィックを中継するVPNサーバを設置し、認証を与えられた特定の2台のコンピュータ間の通信を同サーバが仲介することによって、第三者から隔離されたネットワークが実現される。   Here, the VPN is a virtual closed network configured by connecting two points on the Internet using encryption technology, and computers in remote locations are as if they are one LAN (Local Area). As in the case of being connected to (Network), it is possible to prevent eavesdropping by a third party and to communicate with each other (for example, see Non-Patent Document 1). Specifically, a VPN server that relays VPN traffic is installed, and the network that is isolated from a third party is realized by the server mediating communication between two authorized computers Is done.

VPNに関して、既に出願人は特願2005−249137の特許出願を出願済みである。当該出願で提案されたVPNの技術は次のようなものである。すなわち、複数のホストサーバからなりVPNサーバプロセスを稼動させるVPNサーバホスティングシステムと、宅内に設置された宅内中継装置および宅内通信機器と、外出先の移動端末とによってネットワークが構成されている。そして、宅内中継装置の公開鍵pkから計算されたハッシュ値H(pk)をVPNサーバプロセスのIDに対応させ、分散ハッシュテーブルを利用してこのVPNサーバプロセスを特定のホストサーバに割り当てて稼動させる。クライアント(宅内中継装置および移動端末)は、宅内中継装置が発行したクライアント証明書を提示してVPNサーバプロセスに対する接続を要求する。そして、同証明書が公開鍵pkによって認証され、同証明書に対応するクライアント秘密鍵を当該クライアントが所有していることが証明された場合、クライアントとVPNサーバプロセスが接続されVPNが構築される。これにより、移動端末と宅内通信機器との間でVPNを介した通信が可能となる。
“SoftEther 仮想イーサネットシステム”、[online]、ソフトイーサ株式会社、[平成18年7月3日検索]、インターネット、〈URL: http://www.softether.com/jp/〉
Regarding VPN, the applicant has already applied for a patent application of Japanese Patent Application No. 2005-249137. The VPN technology proposed in this application is as follows. That is, a network is configured by a VPN server hosting system that includes a plurality of host servers and operates a VPN server process, an in-home relay device and an in-home communication device installed in the house, and a mobile terminal that is away from home. Then, the hash value H (pk) calculated from the public key pk of the home relay device is made to correspond to the ID of the VPN server process, and this VPN server process is assigned to a specific host server by using a distributed hash table to be operated. . Clients (home relay device and mobile terminal) request a connection to the VPN server process by presenting a client certificate issued by the home relay device. When the certificate is authenticated by the public key pk and it is proved that the client possesses the client private key corresponding to the certificate, the VPN server process is connected to the client and the VPN is constructed. . This enables communication between the mobile terminal and the home communication device via the VPN.
“SoftEther Virtual Ethernet System”, [online], SoftEther Corporation, [searched July 3, 2006], Internet, <URL: http://www.softether.com/jp/>

上記の既出願のVPNサーバホスティングシステムでは、宅内中継装置が公開鍵と秘密鍵のペアを生成し、クライアントに対してその秘密鍵を用いてクライアント証明書を発行すると、当該クライアント証明書を持つクライアントだけが接続できるVPNサーバプロセスを作成することができる。しかしながら、例えば複数のクライアントのうち一部のクライアントだけをメンバーとして、元のVPNとは独立にこれらメンバー専用のVPNを構築しようとした場合、再度あらためて公開鍵・秘密鍵ペアの生成とクライアント証明書の発行、配布という手続きが必要となるため、処理が煩雑になるという問題があった。また、例えば装置Aからクライアント証明書Cを発行されたクライアントa1、a2、a3、装置Bからクライアント証明書Cを発行されたクライアントb1、b2、b3、装置CAからクライアント証明書CCAを発行されたクライアントu1、u2、u3が存在していた場合に、クライアントa1とb1とb2とu1とでグループを作り、このグループのメンバーのみが接続できるVPNを構築しようとするときも、新たにクライアント証明書を発行し直さなければならない。そのため、複数のユーザでファイル共有などをする際に簡便にVPNを利用するということが難しかった。 In the above-described VPN server hosting system, when the home relay device generates a public key and private key pair and issues a client certificate to the client using the private key, the client having the client certificate A VPN server process that can only be connected to can be created. However, for example, when only a part of a plurality of clients are members and an attempt is made to construct a VPN dedicated to these members independently of the original VPN, generation of a public / private key pair and a client certificate are again performed. There is a problem that the process becomes complicated because the procedure of issuing and distributing is required. Further, for example, client a1 from device A is issued a client certificate C A, a2, a3, client b1, b2, b3 issued a client certificate C B from the apparatus B, and the client certificate C CA from device CA When issued clients u1, u2, and u3 exist, a group is formed with clients a1, b1, b2, and u1, and a VPN that can be connected only to members of this group is newly created. The client certificate must be reissued. For this reason, it is difficult to easily use the VPN when sharing files with a plurality of users.

本発明はこれらの点に鑑みてなされたものであり、その目的は、複数のクライアントから任意に選択したメンバーに対してVPNを構築することを柔軟且つ簡便に行うことが可能なVPNサーバホスティングシステムを提供することにある。また、このVPNサーバホスティングシステムによりVPNを構築するVPN構築方法、およびVPNを構築するためのコンピュータプログラムを提供する。   The present invention has been made in view of these points, and an object of the present invention is to provide a VPN server hosting system that can flexibly and easily construct a VPN for members arbitrarily selected from a plurality of clients. Is to provide. In addition, a VPN construction method for constructing a VPN using the VPN server hosting system and a computer program for constructing the VPN are provided.

本発明は上記の課題を解決するためになされたものであり、請求項1に記載の発明は、複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムであって、公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するVPNサーバ生成手段と、前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するVPNサーバ接続手段と、を備えることを特徴とするVPNサーバホスティングシステムである。   The present invention has been made to solve the above-mentioned problems, and the invention according to claim 1 executes a VPN server process for connecting a plurality of information terminals with a virtual dedicated line. A VPN server hosting system comprising a plurality of host servers, which generates a public key and a private key pair and obtains a digital certificate from a certificate issuing device that issues a digital certificate signed with the private key Among the information terminals, a plurality of arbitrarily designated information terminals are members, and a hash value of VPN server process specifying information including a public key of the certificate issuing device and a member list for specifying the members is used as an ID. VPN server generation means for generating a VPN server process in the predetermined host server, and the information terminal specifies the VPN server process When the information terminal and the issued digital certificate are presented to request connection to the VPN server process, the information terminal that is the owner of the digital certificate specified by the presented digital certificate is The information terminal is included only when it is included in the member list of the presented VPN server process identification information and the presented digital certificate is verified by the public key of the presented VPN server process identification information VPN server hosting means for permitting connection to a VPN server process whose ID is the hash value of the presented VPN server process identification information.

この発明において、デジタル証明書の発行を受けている情報端末から任意に選択されたメンバーのメンバーリストと、デジタル証明書の発行に用いられた秘密鍵に対応する公開鍵とをハッシュ関数の引数としてハッシュ値を計算し、このハッシュ値をVPNサーバプロセスのIDに対応させている。そして、VPNサーバプロセスに対して情報端末が接続を要求してきた際に、デジタル証明書が検証され、当該情報端末が前記メンバーに含まれている場合にのみ、接続が許可される。したがって、グループを作ったメンバーに対して新たにデジタル証明書を発行することを必要とせず、柔軟且つ簡便にVPNを構築して稼動させることができる。   In this invention, a member list of members arbitrarily selected from an information terminal that has issued a digital certificate and a public key corresponding to the private key used for issuing the digital certificate are used as arguments of the hash function. A hash value is calculated, and this hash value is made to correspond to the ID of the VPN server process. Then, when the information terminal requests connection to the VPN server process, the digital certificate is verified, and connection is permitted only when the information terminal is included in the member. Therefore, it is not necessary to issue a new digital certificate to the members who created the group, and the VPN can be constructed and operated flexibly and easily.

また、請求項2に記載の発明は、請求項1に記載のVPNサーバホスティングシステムにおいて、前記メンバーに含まれる少なくとも一つの情報端末が、他の情報端末に対して発行されたデジタル証明書を所有せず、且つ、該デジタル証明書を発行した証明書発行装置とは異なる証明書発行装置から発行されたデジタル証明書を所有している場合において、前記VPNサーバプロセス特定情報を前記全ての証明書発行装置のそれぞれの公開鍵と前記メンバーを特定するメンバーリストとから構成したことを特徴とする。   The invention described in claim 2 is the VPN server hosting system according to claim 1, wherein at least one information terminal included in the member has a digital certificate issued to another information terminal. And the VPN server process specifying information is used for all the certificates when the digital certificate issued from a certificate issuing device different from the certificate issuing device that issued the digital certificate is owned. It is characterized by comprising each public key of the issuing device and a member list for specifying the member.

この発明によれば、複数の証明書発行装置が存在してそれぞれ異なるデジタル証明書を情報端末に発行している場合でも、異なるデジタル証明書を持つ情報端末をメンバーとしたVPNを構築することができる。   According to the present invention, even when a plurality of certificate issuing devices exist and issue different digital certificates to information terminals, it is possible to construct a VPN including information terminals having different digital certificates as members. it can.

また、請求項3に記載の発明は、請求項1または請求項2に記載のVPNサーバホスティングシステムにおいて、前記各々のホストサーバは、自分の管理する前記ハッシュ値の範囲を定めた分散ハッシュテーブルを保持しており、前記VPNサーバ生成手段は、前記分散ハッシュテーブルにしたがって前記VPNサーバプロセス特定情報のハッシュ値に対応するホストサーバを選択し、該選択したホストサーバ内にVPNサーバプロセスを生成することを特徴とする。   The invention according to claim 3 is the VPN server hosting system according to claim 1 or 2, wherein each of the host servers has a distributed hash table defining a range of the hash values managed by the host server. The VPN server generating means selects a host server corresponding to the hash value of the VPN server process specifying information according to the distributed hash table, and generates a VPN server process in the selected host server It is characterized by.

また、請求項4に記載の発明は、請求項1から請求項3のいずれかの項に記載のVPNサーバホスティングシステムにおいて、前記VPNサーバ接続手段によってVPNサーバプロセスへの接続が許可された情報端末間の通信において、前記VPNサーバプロセスと前記複数の情報端末で共有される第1のセッション鍵を生成するセッション鍵生成手段と、前記第1のセッション鍵と前記情報端末間でのみ共有される第2のセッション鍵とを用いてメッセージ認証コードが付加され、且つ前記第1のセッション鍵を用いてヘッダが暗号化されるとともに前記第2のセッション鍵を用いてペイロードが暗号化されたパケットに対し、前記第1のセッション鍵を使用してメッセージ認証ならびに前記ヘッダの復号化を行うパケット解析手段と、をさらに備えることを特徴とする。   According to a fourth aspect of the present invention, in the VPN server hosting system according to any one of the first to third aspects of the present invention, an information terminal that is permitted to connect to a VPN server process by the VPN server connection means. In communication between the VPN server process and a session key generating means for generating a first session key shared by the plurality of information terminals, and a first shared only between the first session key and the information terminals. A packet authentication code is added using the second session key, the header is encrypted using the first session key, and the payload is encrypted using the second session key. Packet analysis means for performing message authentication and decryption of the header using the first session key, Characterized in that it comprises the al.

また、請求項5に記載の発明は、1つまたは複数のホストサーバからなるサーバシステムにおいて前記いずれかのホストサーバに複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行させてVPNを構築するVPN構築方法であって、公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、を備えることを特徴とするVPN構築方法である。   The invention described in claim 5 causes a VPN server process to connect a plurality of information terminals via a virtual dedicated line to any one of the host servers in a server system composed of one or a plurality of host servers. A VPN construction method for constructing a VPN by generating a digital certificate from a certificate issuing device that generates a public key and a private key pair and issues a digital certificate signed with the private key. A VPN server whose ID is a hash value of VPN server process specifying information including a public key of the certificate issuing device and a member list for specifying the member, with a plurality of arbitrarily specified information terminals among the terminals as members. Generating a process in the predetermined host server; and When the issued digital certificate is presented and a connection to the VPN server process is requested, the information terminal that is the owner of the digital certificate specified by the presented digital certificate is presented. Only if it is included in the member list of the VPN server process identification information and the presented digital certificate is verified by the public key of the presented VPN server process identification information, the information terminal And permitting connection to a VPN server process whose ID is the hash value of the presented VPN server process identification information.

また、請求項6に記載の発明は、複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムにおいて、前記各ホストサーバのコンピュータに、公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、を実行させるためのコンピュータプログラムである。   According to a sixth aspect of the present invention, there is provided a VPN server hosting system comprising one or a plurality of host servers for executing a VPN server process for connecting a plurality of information terminals with a virtual dedicated line. Any of the above information terminals that have obtained a digital certificate from a certificate issuing device that generates a public key and private key pair and issues a digital certificate signed with the private key on the server computer A plurality of information terminals as members, and a VPN server process using a hash value of VPN server process specifying information consisting of a public key of the certificate issuing device and a member list for specifying the member as an ID, the predetermined host server The information terminal is configured to generate the VPN server process specific information and the issued When presenting a digital certificate and requesting a connection to the VPN server process, an information terminal that is the owner of the digital certificate specified by the presented digital certificate is provided by the presented VPN server process Only when it is included in the member list of specific information and the presented digital certificate is verified by the public key of the presented VPN server process specific information, it is presented to the information terminal. And a step of permitting connection to the VPN server process having the ID of the hash value of the VPN server process specifying information as an ID.

本発明によれば、複数のクライアントから任意に選択したメンバーに対してVPNを構築することを柔軟且つ簡便に行うことができる。   According to the present invention, it is possible to flexibly and easily construct a VPN for members arbitrarily selected from a plurality of clients.

また、請求項3に記載の発明によれば、VPNサーバプロセスのIDとして用いられているハッシュ値が分散ハッシュテーブルによって管理され、この分散ハッシュテーブルにしたがってVPNサーバプロセスを生成するホストサーバが決定されるので、ホスティングシステムは自律的に多数のVPNサーバプロセスをホストサーバに分散させることができる。これにより、VPNサーバプロセスの数の増大に対して、ホスティングシステムに拡張性を持たせることが可能である。   According to the third aspect of the present invention, the hash value used as the ID of the VPN server process is managed by the distributed hash table, and the host server that generates the VPN server process is determined according to the distributed hash table. Therefore, the hosting system can autonomously distribute a large number of VPN server processes to the host servers. Thereby, it is possible to make the hosting system expandable with respect to an increase in the number of VPN server processes.

また、請求項4に記載の発明によれば、第1および第2のセッション鍵を使った2段階のメッセージ認証が行われるので、メッセージの改竄(VPNサーバプロセスによるものを含む)や不正なパケットの中継・受信を効果的に防止することができる。また、VPNサーバプロセスは、第1のセッション鍵によって暗号化されたヘッダ部分を復号化することはできる(これによりパケットを中継できる)が、第2のセッション鍵によって暗号化されたペイロード部分は復号化できないので、ホスティングシステムを運営している事業者に対して通信内容の秘匿性を確保することが可能となる。   According to the invention described in claim 4, since the two-stage message authentication using the first and second session keys is performed, message tampering (including one caused by the VPN server process) or illegal packet Can be effectively prevented. Further, the VPN server process can decrypt the header portion encrypted by the first session key (which can relay the packet), but the payload portion encrypted by the second session key can be decrypted. Therefore, it is possible to ensure the confidentiality of the communication contents for the operator operating the hosting system.

以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本発明の一実施形態にかかるVPNサーバホスティングシステム10が利用されてクライアント間にVPNが構築される状況を説明する図である。図1において、VPNサーバホスティングシステム10はインターネット40に接続されている。また、インターネット40には、各ユーザが使用するクライアント(情報端末)21−1〜21−9が接続されている。本実施形態では、これらクライアントが後述する手順に従ってVPNサーバホスティングシステム10内にVPNサーバプロセスを生成してVPNを構築し、このVPNサーバプロセスを介してVPNによる相互通信を行う。なお、クライアントとしては、例えばファイルサーバやビデオサーバ、一般的なパーソナルコンピュータ等のほか、ネットワーク機能を有したあらゆる種類の家電製品・情報機器が該当する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram for explaining a situation in which a VPN is established between clients by using a VPN server hosting system 10 according to an embodiment of the present invention. In FIG. 1, the VPN server hosting system 10 is connected to the Internet 40. Further, clients (information terminals) 21-1 to 21-9 used by each user are connected to the Internet 40. In this embodiment, these clients generate a VPN server process in the VPN server hosting system 10 according to the procedure described later, construct a VPN, and perform mutual communication by VPN via this VPN server process. Examples of the client include a file server, a video server, a general personal computer, and the like, as well as all types of home appliances and information devices having a network function.

VPNサーバホスティングシステム10は、複数台(ここでは4台とする)のホストサーバ11a〜11dから構成されたサーバシステムであり、例えばインターネットサービスプロバイダ等が運用しているものである。これらホストサーバ11a〜11dは、指定されたクライアント間をVPNにより接続する処理を担うVPNサーバプロセスを生成して実行するコンピュータであり、各ホストサーバ11a〜11dは自分の管理するIDに対応するVPNサーバプロセスを生成して実行する。   The VPN server hosting system 10 is a server system composed of a plurality of (four here) host servers 11a to 11d, and is operated by, for example, an Internet service provider. These host servers 11a to 11d are computers that generate and execute a VPN server process that is responsible for connecting specified clients by VPN, and each of the host servers 11a to 11d is a VPN corresponding to an ID that it manages. Create and execute a server process.

証明書発行装置31a〜31cは、公開鍵と秘密鍵のペアを生成してクライアント21にクライアント証明書(デジタル証明書)を発行するコンピュータである。クライアント証明書には、当該クライアント証明書の発行先でその所有者となるクライアントの名前および公開鍵と、発行者(証明書発行装置)の名前および公開鍵が記載され、さらに発行者の秘密鍵(前記公開鍵とペアになる秘密鍵)による署名が付されている。また、ここで、クライアント21−1〜21−3(a1、a2、a3)は証明書発行装置31aからクライアント証明書Cの発行を受け、クライアント21−4〜21−6(b1、b2、b3)は証明書発行装置31bからクライアント証明書Cの発行を受け、クライアント21−7〜21−9(u1、u2、u3)は証明書発行装置31cからクライアント証明書CCAの発行を受けているものとする。なお、証明書発行装置31aおよび31bはユーザが所有し管理する一般的なパーソナルコンピュータ、証明書発行装置31cは第三者認証機関が運用している認証用コンピュータであるものとする。但し、証明書発行主体は一例であり、これに限定されない。 The certificate issuing devices 31 a to 31 c are computers that generate a public key and private key pair and issue a client certificate (digital certificate) to the client 21. The client certificate contains the name and public key of the client that is the owner of the client certificate and the name and public key of the issuer (certificate issuing device), and the private key of the issuer. A signature by (a secret key paired with the public key) is attached. Also, here, the client 21-1~21-3 (a1, a2, a3) is issued a client certificate C A from the certificate issuing unit 31a, the client 21-4~21-6 (b1, b2, b3) is issued a client certificate C B from the certificate issuing unit 31b, the client 21-7~21-9 (u1, u2, u3) is issued a client certificate C CA from the certificate issuing device 31c It shall be. The certificate issuing devices 31a and 31b are general personal computers owned and managed by the user, and the certificate issuing device 31c is an authentication computer operated by a third-party certification authority. However, the certificate issuing entity is an example and is not limited to this.

次に、図2〜図4を参照して、図1の構成における4つのクライアントa1、b1、b2、およびu1がメンバーとなってこれらメンバーだけが接続することが可能なVPNを構築する場合を例に、VPNサーバホスティングシステム10の動作を詳細に説明する。
以下、図2に示すフローチャートの流れに沿って順に説明する。
Next, referring to FIG. 2 to FIG. 4, a case where the four clients a1, b1, b2, and u1 in the configuration of FIG. 1 are members and a VPN that can be connected only to these members is constructed. The operation of the VPN server hosting system 10 will be described in detail as an example.
Hereinafter, description will be made in order along the flow of the flowchart shown in FIG.

(1)VPNサーバプロセスの生成
まず、各証明書発行装置31a〜31cが公開鍵pkと秘密鍵sk(但しX=A、B、CA)のペアを1つ生成する(ステップS11)。ここで、公開鍵pkを用いて暗号化したデータは対応する秘密鍵skでなければ復号化できず、秘密鍵skを用いて暗号化したデータは対応する公開鍵pkでなければ復号化できない。また、秘密鍵skは自分(各証明書発行装置31a〜31c)以外のいかなる第三者に対しても公開されることがないよう管理される。
(1) Generation of VPN Server Process First, each certificate issuing device 31a to 31c generates one pair of public key pk X and private key sk X (where X = A, B, CA) (step S11). Here, not be decrypted unless the secret key sk X is encrypted data corresponding with the public key pk X, unless the public key pk X corresponding encrypted data using the private key sk X Cannot decrypt. The secret key sk X is managed so as not to be disclosed to any third party other than itself (each certificate issuing device 31a to 31c).

また各クライアントa1、b1、b2、およびu1は、VPNサーバプロセスへ接続する際の認証に用いる各自のクライアント公開鍵pkとクライアント秘密鍵sk(但し、Y=a1、b1、b2、u1)のペアを作成する。そして、各証明書発行装置31a〜31cは、これらのクライアント公開鍵がVPNサーバプロセスに接続する権限を有するクライアントのものであることを証明するクライアント証明書C(pka1)、C(pkb1)、C(pkb2)、CCA(pku1)を、それぞれ上記の秘密鍵skで署名することにより発行する(ステップS12)。これらクライアント証明書は、それぞれ各クライアントa1、b1、b2、およびu1に格納される。なお、上記のクライアント秘密鍵skも、いかなる第三者に対しても公開されることがないように管理される。 Each client a1, b1, b2, and u1 has its own client public key pk Y and client secret key sk Y used for authentication when connecting to the VPN server process (where Y = a1, b1, b2, u1). Create a pair. Each of the certificate issuing devices 31a to 31c has client certificates C A (pk a1 ) and C B (pk) that prove that these client public keys belong to clients having authority to connect to the VPN server process. b1 ), C B (pk b2 ), and C CA (pk u1 ) are issued by signing with the secret key sk X , respectively (step S12). These client certificates are stored in the clients a1, b1, b2, and u1, respectively. The client secret key sk Y is also managed so as not to be disclosed to any third party.

次に、上記メンバーのうち一つのクライアント(ここではクライアントa1とする)が各メンバーにクライアント証明書を発行した全ての証明書発行装置の公開鍵とメンバーのリストとを、自分がIPアドレスを知っているホストサーバの1台(ホストサーバ11aとする)に送付することによって、VPNサーバプロセスの生成を要求する(ステップS13)。ここで、上記送付するデータ(VPNサーバプロセス特定情報)の並び順は、証明書発行装置の公開鍵と当該証明書発行装置からクライアント証明書を発行されたクライアントをひとかたまりとして並べるものとする。具体的には、この例の場合、VPNサーバプロセス特定情報は、
pk,{a1},pk,{b1,b2},pkCA,{u1}
となる。
Next, one of the above members (here, client a1) knows the IP address and the public key of all certificate issuing devices that issued client certificates to each member and the list of members. It is requested to generate a VPN server process by sending it to one of the host servers (referred to as host server 11a) (step S13). Here, the arrangement order of the data to be sent (VPN server process specifying information) is such that the public key of the certificate issuing device and the client that has issued the client certificate from the certificate issuing device are arranged as a group. Specifically, in this example, the VPN server process identification information is
pk A , {a1}, pk B , {b1, b2}, pk CA , {u1}
It becomes.

ここで、上記のVPNサーバプロセス特定情報のハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})がVPNサーバプロセスのID(VPN−ID)に設定される。例えば、ハッシュ関数としてSHA−1(Secure Hash Algorithm 1)を用いた場合、ハッシュ値H()をVPN−IDに持つVPNサーバプロセスは、160ビットのハッシュ空間における1つの点で代表させることができる。すなわち、VPN−IDをハッシュ関数SHA−1によるハッシュ値と対応付けることによって、2160通りのVPNサーバプロセスを管理することが可能になっている。なお、ハッシュ関数の特徴から、任意の複数のVPN−IDは統計的にはハッシュ空間内に均一に分布することになる。 Here, the hash value H (pk A , {a1}, pk B , {b1, b2}, pk CA , {u1}) of the VPN server process specific information is the VPN server process ID (VPN-ID). Is set. For example, when SHA-1 (Secure Hash Algorithm 1) is used as a hash function, a VPN server process having a hash value H () as a VPN-ID can be represented by one point in a 160-bit hash space. . That is, by associating the VPN-ID with the hash value by the hash function SHA-1, it is possible to manage 2160 kinds of VPN server processes. Note that, from the characteristics of the hash function, a plurality of arbitrary VPN-IDs are statistically uniformly distributed in the hash space.

ステップS13の要求をホストサーバ11aが受けると、各ホストサーバが相互に連携することによって、VPNサーバホスティングシステム10を構成するホストサーバ11a〜11dの中から、VPN−IDがハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})であるVPNサーバプロセスを受け持つホストサーバが検索される(ステップS14)。この検索には、分散ハッシュテーブル(DHT;Distributed Hash Table)が用いられる。そして、検索の結果該当するホストサーバ(ホストサーバ11cとする)に、上記のVPNサーバプロセス特定情報が転送される。 When the host server 11a receives the request at step S13, the host servers cooperate with each other, so that the VPN-ID has the hash value H (pk A) among the host servers 11a to 11d constituting the VPN server hosting system 10. , {A1}, pk B , {b1, b2}, pk CA , {u1}) are searched for the host server responsible for the VPN server process (step S14). For this search, a distributed hash table (DHT) is used. Then, the VPN server process specifying information is transferred to the corresponding host server (referred to as host server 11c) as a result of the search.

ここで、DHTを用いたVPNサーバプロセスの管理方法(ある特定のVPNサーバプロセスをどのホストサーバが受け持つか)およびホストサーバの検索方法について、図3を参照して説明する。
同図には、4ビットのハッシュ空間(説明を簡単にするため便宜上4ビットで考える)を4台のホストサーバ11a〜11dで管理している様子が示されている。すなわち、この例では2=16個のVPNサーバプロセスを管理可能である。これらVPNサーバプロセスのVPN−IDは0,1,2,…,15である。一方、各ホストサーバは固有の識別番号を有しており、ホストサーバ11aの識別番号は3、ホストサーバ11bの識別番号は7、ホストサーバ11cの識別番号は11、ホストサーバ11dの識別番号は15であるものとする。このような条件において、ホストサーバ11aが管理するのはVPN−ID=0〜3のVPNサーバプロセスであり、ホストサーバ11bが管理するのはVPN−ID=4〜7のVPNサーバプロセスであり、…というように、各ホストサーバとそれに割り当てられるVPNサーバプロセスとの対応関係が決められる。そして、各ホストサーバは、自分に割り当てられたVPN−ID(すなわちハッシュ値)の範囲を定めた表であるDHTを保持し、検索(下記)の際に利用する。
Here, a VPN server process management method using DHT (which host server is responsible for a specific VPN server process) and a host server search method will be described with reference to FIG.
The figure shows a state in which a 4-bit hash space (considered with 4 bits for convenience to simplify the description) is managed by the four host servers 11a to 11d. That is, in this example, 2 4 = 16 VPN server processes can be managed. The VPN-IDs of these VPN server processes are 0, 1, 2,. On the other hand, each host server has a unique identification number, the identification number of the host server 11a is 3, the identification number of the host server 11b is 7, the identification number of the host server 11c is 11, and the identification number of the host server 11d is 15 is assumed. Under such conditions, the host server 11a manages VPN server processes with VPN-ID = 0-3, and the host server 11b manages VPN server processes with VPN-ID = 4-7, As described above, the correspondence between each host server and the VPN server process assigned to it is determined. Each host server holds a DHT, which is a table that defines the range of VPN-IDs (ie, hash values) assigned to the host server, and uses it for searching (below).

ホストサーバの検索は、以下の方法にしたがって行われる。図3に示した4ビットのハッシュ空間において、ステップS13で要求されたVPNサーバプロセスのVPN−IDを「9」とする。ホストサーバ11a(要求を受けたホストサーバ)は、自分の保持するDHTを参照して、検索対象となるハッシュ値(VPN−ID)の「9」が自分の管理する範囲内のハッシュ値であるか否かを判定する。ハッシュ値「9」はホストサーバ11aの管理下にないので、ホストサーバ11aはデータ(公開鍵pkとVPN設定情報)を隣のホストサーバ11bへ転送する。ホストサーバ11bは同じように自分のDHTを参照して判定処理を行い、ハッシュ値「9」が管理下にないのでさらに隣のホストサーバ11cへ上記データを転送する。ホストサーバ11cは、自分のDHTに検索対象であるハッシュ値「9」が含まれるので、要求されたVPNサーバプロセスを受け持つのは自分であるとの判断を下す。このような手順でルーティングが行われることによって、目的のホストサーバが検索される。   The search for the host server is performed according to the following method. In the 4-bit hash space shown in FIG. 3, the VPN-ID of the VPN server process requested in step S13 is “9”. The host server 11a (host server that received the request) refers to the DHT held by itself, and the hash value (VPN-ID) “9” to be searched is a hash value within the range managed by the host server 11a. It is determined whether or not. Since the hash value “9” is not under the management of the host server 11a, the host server 11a transfers the data (public key pk and VPN setting information) to the adjacent host server 11b. Similarly, the host server 11b performs a determination process with reference to its own DHT, and since the hash value “9” is not under management, the data is transferred to the adjacent host server 11c. Since the host server 11c includes the hash value “9” to be searched for in its own DHT, the host server 11c determines that it is the person responsible for the requested VPN server process. By performing routing in such a procedure, the target host server is searched.

図2のフローチャートに戻って説明を続ける。
ステップS14で検索結果に該当したホストサーバ11cは、次に、ハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})をVPN−IDとするVPNサーバプロセスを生成する(ステップS15)。
Returning to the flowchart of FIG.
Next, the host server 11c corresponding to the search result in step S14 uses the hash value H (pk A , {a1}, pk B , {b1, b2}, pk CA , {u1}) as a VPN-ID VPN. A server process is generated (step S15).

(2)VPNの構築(VPNサーバプロセスへの接続)
次に、生成されたVPNサーバプロセスに対して、クライアント(ここではクライアントb1とする)は以下の手続きにしたがってVPNによる接続を行う。
まず、クライアントb1は、接続を希望するVPNサーバプロセスのVPN−ID、すなわちハッシュ値H(pk,{a1},pk,{b1,b2},pkCA,{u1})をホストサーバの1台に送信することによって、必要な接続情報の問い合わせを行う(ステップS21)。送信先は、IPアドレスを知っているホストサーバ11aである。
(2) VPN construction (connection to VPN server process)
Next, the client (here, referred to as client b1) connects to the generated VPN server process by VPN according to the following procedure.
First, the client b1 is, VPN-ID of the VPN server process to the desired connection, the hash value H (pk A, {a1} , pk B, {b1, b2}, pk CA, {u1}) to the host server The necessary connection information is inquired by transmitting to one device (step S21). The transmission destination is the host server 11a that knows the IP address.

ホストサーバ11aがVPN−IDを受け取ると、上述のステップS14と同様にDHTを用いたルーティングによりホストサーバの検索が実行され、当該VPN−IDはホストサーバ11c(当該VPN−IDのVPNサーバプロセスを生成し、稼動させているホストサーバ)へ転送される。VPN−IDを受信すると、ホストサーバ11cは、自分のIPアドレスや問い合わせにかかるVPNサーバプロセスのポート番号などの接続情報をクライアントb1に返送する(ステップS22)。なおこの際、応答は最初に問い合わせを受けたホストサーバを経由させて返す(ホストサーバ11c→11a→クライアントb1)。上記接続情報を受信することによって、クライアントb1は接続を希望するVPNサーバプロセスがホストサーバ11cで稼動していることを知ることになる。   When the host server 11a receives the VPN-ID, a search for the host server is executed by routing using DHT as in step S14 described above, and the VPN-ID is stored in the host server 11c (the VPN server process of the VPN-ID is Generated and transferred to a host server that is running. Upon receiving the VPN-ID, the host server 11c returns connection information such as its own IP address and the port number of the VPN server process related to the inquiry to the client b1 (step S22). At this time, the response is returned via the host server that received the inquiry first (host server 11c → 11a → client b1). By receiving the connection information, the client b1 knows that the VPN server process to be connected is operating on the host server 11c.

クライアントb1は、次に、取得した接続情報を用いて目的のVPNサーバプロセスに対する接続を要求する。具体的には、ホストサーバ11cに直接、VPNサーバプロセス特定情報(pk,{a1},pk,{b1,b2},pkCA,{u1})とステップS12で発行され格納しておいたクライアント証明書C(pkb1)とを送信する(ステップS23)。ホストサーバ11cは、上記送られてきたVPNサーバプロセス特定情報のハッシュ値を計算して稼動中のVPNサーバプロセスのVPN−IDと一致するかどうかを検証する(ステップS24)。ハッシュ値とVPN−IDが一致した場合、さらに、上記クライアント証明書C(pkb1)に記載されている所有者(ここではクライアントb1)が上記VPNサーバプロセス特定情報のメンバーリストに含まれているかどうかを検証する(ステップS25)。メンバーリストに含まれている場合は、さらに、当該所有者に対応する証明書発行装置の公開鍵(ここではpk)を使ってクライアント証明書C(pkb1)を検証する(ステップS26)。クライアント証明書C(pkb1)が公開鍵pkで正しく検証できた場合は、次いで、ホストサーバ11cはクライアントb1に1回限りのチャレンジメッセージを送り、そのメッセージに対してクライアント秘密鍵skb1による署名を付加して返送させる。そして、この署名をクライアント証明書C(pkb1)に記載されているクライアント公開鍵pkb1によって検証し、クライアントb1が確かにクライアント秘密鍵skb1を所有していることを確認する。以上により、クライアントb1が正当な接続権限を持っていることが証明されるので、目的のVPNサーバプロセスへの接続が許可される(ステップS27)。一方、ステップS24〜ステップS26の検証に失敗した場合は、接続が拒否される(ステップS17)。 Next, the client b1 requests connection to the target VPN server process using the acquired connection information. Specifically, VPN server process specific information (pk A , {a1}, pk B , {b1, b2}, pk CA , {u1}) and is issued and stored in step S12 directly to the host server 11c. The received client certificate C B (pk b1 ) is transmitted (step S23). The host server 11c calculates the hash value of the sent VPN server process identification information and verifies whether or not it matches the VPN-ID of the running VPN server process (step S24). When the hash value and the VPN-ID match, the owner (here, client b1) described in the client certificate C B (pk b1 ) is further included in the member list of the VPN server process specifying information. It is verified whether or not (step S25). If it is included in the member list, the client certificate C B (pk b1 ) is further verified using the public key (here, pk B ) of the certificate issuing device corresponding to the owner (step S26). . If the client certificate C B (pk b1 ) can be correctly verified with the public key pk B , then the host server 11c sends a one-time challenge message to the client b1, and the client private key sk b1 for that message. Add the signature by and send it back. Then, this signature is verified by the client public key pk b1 described in the client certificate C B (pk b1 ), and it is confirmed that the client b1 surely possesses the client private key sk b1 . As described above, since it is proved that the client b1 has a proper connection authority, the connection to the target VPN server process is permitted (step S27). On the other hand, if the verification in steps S24 to S26 fails, the connection is rejected (step S17).

以上でクライアントb1とVPNサーバプロセスの間がVPNで接続される。上記VPNサーバプロセス特定情報のメンバーに含まれる他のクライアント(例えばクライアントa1)についても、クライアント証明書C(pka1)を使い同様の手続きをすることによって、VPNサーバプロセスとの接続が行われる。こうして、VPNサーバプロセスを介してメンバー間にVPNが構築される。 Thus, the VPN is connected between the client b1 and the VPN server process. The other client (for example, client a1) included in the member of the VPN server process specifying information is connected to the VPN server process by performing the same procedure using the client certificate C A (pk a1 ). . In this way, a VPN is established between the members via the VPN server process.

(3)VPN通信の準備
上記のように構築されたVPNを利用して、メンバーのうちクライアントa1とクライアントb1でVPN通信を行う手順を説明する。なお、他のメンバーであるクライアントb2とクライアントu1についても同様の手順によりVPN通信を行うことができる。
VPNサーバプロセスは、メッセージ認証とパケットの暗号化のための共有セッション鍵K macとK encを作成して、クライアントa1とクライアントb1にこれら共有セッション鍵を送信する(ステップS31)。送信は、送信相手のクライアント公開鍵pka1とpkb1を使った暗号化通信により行う。この共有セッション鍵は、VPNサーバプロセスとクライアントa1とクライアントb1とで共有されて、次に述べるVPNの通信において使用されるものである。
(3) Preparation for VPN Communication A procedure for performing VPN communication between the client a1 and the client b1 among the members using the VPN constructed as described above will be described. Note that VPN communication can be performed by the same procedure for the client b2 and the client u1, which are other members.
The VPN server process creates shared session keys K s mac and K s nc for message authentication and packet encryption, and transmits these shared session keys to the clients a1 and b1 (step S31). Transmission is performed by encrypted communication using the client public keys pk a1 and pk b1 of the transmission partner. This shared session key is shared by the VPN server process, the client a1, and the client b1, and is used in VPN communication described below.

また、クライアントa1(またはクライアントb1)は、同様にメッセージ認証とパケットの暗号化のためのクライアントセッション鍵K macとK encを作成し、これらをクライアントb1(またはクライアントa1)のクライアント公開鍵pkb1(またはpka1)で暗号化した上で上記の共有セッション鍵を使ってクライアントb1(またはクライアントa1)に送信する(ステップS32)。クライアントb1(クライアントa1)は、受信したクライアントセッション鍵を共有セッション鍵と自分のクライアント秘密鍵skb1(またはska1)によって復号化し、平文のクライアントセッション鍵を取得する。このクライアントセッション鍵は、共有セッション鍵と併せてVPNの通信において使用されるものであるが、上記の手順でやり取りされることによって、クライアントa1とクライアントb1との間でのみ共有されることとなる。 Similarly, the client a1 (or client b1) creates client session keys K u mac and K u enc for message authentication and packet encryption, and uses these as client public keys of the client b1 (or client a1). pk b1 (or pk a1) using the shared session key on encrypted with sending to the client b1 (or client a1) (step S32). The client b1 (client a1) decrypts the received client session key with the shared session key and its own client secret key sk b1 (or sk a1 ), and acquires a plaintext client session key. The client session key is used in the VPN communication together with the shared session key, but is shared only between the client a1 and the client b1 by exchanging in the above procedure. .

上記ステップにより、共有セッション鍵とクライアントセッション鍵の共有がなされると、VPN通信の準備が整うことになる。クライアントa1とクライアントb1は、共有セッション鍵とクライアントセッション鍵を使用し、VPNサーバプロセスを介したVPNによる通信を行う(ステップS33)。以下、図4を参照してVPNの具体的な通信方法を説明する。   When the shared session key and the client session key are shared by the above steps, preparation for VPN communication is completed. The client a1 and the client b1 use the shared session key and the client session key to perform communication by VPN via the VPN server process (step S33). Hereinafter, a specific VPN communication method will be described with reference to FIG.

(4)VPNによる通信の実行
図4は、VPNによりクライアントa1からクライアントb1へ通信する場合に送受信されるパケットの構造を示した図であり、上述した合計4つのセッション鍵を用いてメッセージ認証とパケットの暗号・復号化が行われる様子を示したものである。送信者であるクライアントa1は、パケットのヘッダ部分をK enc、ペイロード部分をK encでそれぞれ暗号化し、さらに、メッセージ(ヘッダ+ペイロード)とK macから作成したメッセージ認証コードMACならびにメッセージとK macから作成したMACをパケットの末尾に付加する。なお、メッセージ認証コード(MAC;Message Authentication Code)は、所定のMAC関数にメッセージと鍵を入力して得られる固定長ビットの出力値である。そして、入力に使った鍵を送信者と受信者で共有しておき、受信したメッセージと共有鍵とから計算したMACが、受信したメッセージに付加されているMACと一致すれば、受信者はそのメッセージが改竄されていないことを確認(メッセージ認証)できる。
(4) Execution of communication by VPN FIG. 4 is a diagram showing the structure of a packet transmitted and received when communication is performed from the client a1 to the client b1 by VPN. Message authentication is performed using a total of four session keys described above. It shows how a packet is encrypted / decrypted. The client a1, which is a sender, encrypts the header part of the packet with K s enc and the payload part with K u enc , and further creates the message authentication code MAC u and the message generated from the message (header + payload) and K u mac And MAC s created from K s mac are added to the end of the packet. The message authentication code (MAC) is an output value of fixed length bits obtained by inputting a message and a key to a predetermined MAC function. Then, the key used for the input is shared between the sender and the receiver, and if the MAC calculated from the received message and the shared key matches the MAC added to the received message, the receiver Confirm that the message has not been tampered with (message authentication).

VPNサーバプロセスは、上記MACの付加と暗号化がなされたパケットに対し、共有セッション鍵K macを使ってメッセージ認証コードMACを検証し、検証に成功した場合には、パケットからMACを削除するとともに、共有セッション鍵K encを使ってヘッダを復号化した上で当該ヘッダにしたがって宛先であるクライアントb1にパケットを送り届ける。なおこの時、VPNサーバプロセスはクライアントセッション鍵を所有していないため、ペイロードを復号化することはできない。 The VPN server process verifies the message authentication code MAC s using the shared session key K s mac with respect to the packet with the MAC added and encrypted, and if the verification is successful, the MAC s is determined from the packet. At the same time, the header is decrypted using the shared session key K s nc and the packet is delivered to the destination client b 1 according to the header. At this time, since the VPN server process does not own the client session key, the payload cannot be decrypted.

クライアントb1は、共有セッション鍵K encでヘッダを解析して自分宛てのパケットを選別し、当該パケットの末尾に付加されているメッセージ認証コードMACをクライアントセッション鍵K macにより検証する。検証できたら、クライアントセッション鍵K encでペイロードを復号化し、平文の送信データを得る。こうして、通信内容をVPNサーバプロセスに秘匿したまま、クライアントa1とクライアントb1とでVPNの通信が行われる。 The client b1 analyzes the header with the shared session key K s nc and selects a packet addressed to itself, and verifies the message authentication code MAC u added to the end of the packet with the client session key K u mac . Once verified, the payload is decrypted with the client session key K u enc to obtain plain text transmission data. In this way, VPN communication is performed between the client a1 and the client b1 while keeping the communication contents secret from the VPN server process.

以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、DHT自体はP2P(Peer to Peer)のファイル交換などで用いられる既存の技術であり、ChordやCAN、Tapestryなど種々ある方式のいずれを適用することも可能である。
As described above, the embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to the above, and various design changes and the like can be made without departing from the scope of the present invention. It is possible to
For example, DHT itself is an existing technology used for P2P (Peer to Peer) file exchange, and any of various methods such as Chord, CAN, and Tapestry can be applied.

また、サーバ装置のコンピュータに、上記実施形態にかかるVPNサーバホスティングシステムの機能を実現するためのコンピュータプログラムを実行させるようにすることもできる。   It is also possible to cause a computer of the server device to execute a computer program for realizing the function of the VPN server hosting system according to the above embodiment.

本発明の一実施形態にかかるVPNサーバホスティングシステムが利用されてクライアント間にVPNが構築される状況を説明する図である。It is a figure explaining the condition where VPN is constructed between clients using the VPN server hosting system concerning one Embodiment of this invention. 図1のVPNサーバホスティングシステムの動作を示したフローチャートである。It is the flowchart which showed operation | movement of the VPN server hosting system of FIG. DHTによりVPNサーバプロセスを管理する仕組みを説明した図である。It is the figure explaining the mechanism which manages a VPN server process by DHT. VPN通信において送受信されるパケットの構造を示した図である。It is the figure which showed the structure of the packet transmitted / received in VPN communication.

符号の説明Explanation of symbols

10…VPNサーバホスティングシステム 11a〜11d…ホストサーバ 21…クライアント(情報端末) 31…証明書発行装置 40…インターネット

DESCRIPTION OF SYMBOLS 10 ... VPN server hosting system 11a-11d ... Host server 21 ... Client (information terminal) 31 ... Certificate issuing apparatus 40 ... Internet

Claims (6)

複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムであって、
公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するVPNサーバ生成手段と、
前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するVPNサーバ接続手段と、
を備えることを特徴とするVPNサーバホスティングシステム。
A VPN server hosting system comprising one or a plurality of host servers for executing a VPN server process for connecting a plurality of information terminals with a virtual dedicated line,
A plurality of information arbitrarily specified from among the information terminals that generate a digital certificate from a certificate issuing device that generates a public key and a private key pair and issues a digital certificate signed with the private key A VPN having a terminal as a member and generating a VPN server process in the predetermined host server with a hash value of VPN server process specifying information consisting of a public key of the certificate issuing device and a member list for specifying the member as an ID Server generation means;
The digital certificate specified by the presented digital certificate when the information terminal requests the connection to the VPN server process by presenting the VPN server process identification information and the issued digital certificate An information terminal which is the owner of the VPN server process is included in the member list of the presented VPN server process identification information, and the presented digital certificate is verified by the public key of the presented VPN server process identification information VPN server connection means for permitting connection to a VPN server process with the hash value of the presented VPN server process identification information as an ID only to the information terminal,
A VPN server hosting system comprising:
前記メンバーに含まれる少なくとも一つの情報端末が、他の情報端末に対して発行されたデジタル証明書を所有せず、且つ、該デジタル証明書を発行した証明書発行装置とは異なる証明書発行装置から発行されたデジタル証明書を所有している場合において、
前記VPNサーバプロセス特定情報を前記全ての証明書発行装置のそれぞれの公開鍵と前記メンバーを特定するメンバーリストとから構成した
ことを特徴とする請求項1に記載のVPNサーバホスティングシステム。
At least one information terminal included in the member does not have a digital certificate issued to another information terminal, and is different from the certificate issuing apparatus that issued the digital certificate If you have a digital certificate issued by
2. The VPN server hosting system according to claim 1, wherein the VPN server process specifying information includes each public key of all the certificate issuing devices and a member list that specifies the members.
前記各々のホストサーバは、自分の管理する前記ハッシュ値の範囲を定めた分散ハッシュテーブルを保持しており、
前記VPNサーバ生成手段は、前記分散ハッシュテーブルにしたがって前記VPNサーバプロセス特定情報のハッシュ値に対応するホストサーバを選択し、該選択したホストサーバ内にVPNサーバプロセスを生成する
ことを特徴とする請求項1または請求項2に記載のVPNサーバホスティングシステム。
Each of the host servers holds a distributed hash table that defines the range of the hash values that it manages,
The VPN server generating means selects a host server corresponding to the hash value of the VPN server process specifying information according to the distributed hash table, and generates a VPN server process in the selected host server. The VPN server hosting system according to claim 1 or 2.
前記VPNサーバ接続手段によってVPNサーバプロセスへの接続が許可された情報端末間の通信において、前記VPNサーバプロセスと前記複数の情報端末で共有される第1のセッション鍵を生成するセッション鍵生成手段と、
前記第1のセッション鍵と前記情報端末間でのみ共有される第2のセッション鍵とを用いてメッセージ認証コードが付加され、且つ前記第1のセッション鍵を用いてヘッダが暗号化されるとともに前記第2のセッション鍵を用いてペイロードが暗号化されたパケットに対し、前記第1のセッション鍵を使用してメッセージ認証ならびに前記ヘッダの復号化を行うパケット解析手段と、
をさらに備えることを特徴とする請求項1から請求項3のいずれかの項に記載のVPNサーバホスティングシステム。
Session key generation means for generating a first session key shared by the VPN server process and the plurality of information terminals in communication between information terminals permitted to connect to the VPN server process by the VPN server connection means; ,
A message authentication code is added using the first session key and a second session key shared only between the information terminals, and a header is encrypted using the first session key, and the A packet analysis means for performing message authentication and decryption of the header using the first session key for a packet whose payload is encrypted using a second session key;
The VPN server hosting system according to any one of claims 1 to 3, further comprising:
1つまたは複数のホストサーバからなるサーバシステムにおいて前記いずれかのホストサーバに複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行させてVPNを構築するVPN構築方法であって、
公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、
前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、
を備えることを特徴とするVPN構築方法。
A VPN construction method for constructing a VPN by executing a VPN server process for connecting a plurality of information terminals with a virtual dedicated line to any one of the host servers in a server system composed of one or a plurality of host servers. ,
A plurality of information arbitrarily specified from among the information terminals that generate a digital certificate from a certificate issuing device that generates a public key and a private key pair and issues a digital certificate signed with the private key Creating a VPN server process in a predetermined host server with a terminal as a member and using as a ID a hash value of VPN server process specifying information comprising a public key of the certificate issuing device and a member list for specifying the member When,
The digital certificate specified by the presented digital certificate when the information terminal requests the connection to the VPN server process by presenting the VPN server process identification information and the issued digital certificate An information terminal which is the owner of the VPN server process is included in the member list of the presented VPN server process identification information, and the presented digital certificate is verified by the public key of the presented VPN server process identification information Only when the information terminal is allowed to connect to the VPN server process whose ID is the hash value of the presented VPN server process identification information;
A VPN construction method comprising:
複数の情報端末間を仮想的な専用回線で接続するVPNサーバプロセスを実行する、1つまたは複数のホストサーバからなるVPNサーバホスティングシステムにおいて、前記各ホストサーバのコンピュータに、
公開鍵と秘密鍵のペアを生成し該秘密鍵で署名されたデジタル証明書を発行する証明書発行装置からデジタル証明書を取得している前記情報端末のうち、任意に指定された複数の情報端末をメンバーとして、前記証明書発行装置の公開鍵と前記メンバーを特定するメンバーリストとからなるVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスを所定の前記ホストサーバ内に生成するステップと、
前記情報端末が前記VPNサーバプロセス特定情報および前記発行されたデジタル証明書を提示して前記VPNサーバプロセスへの接続を要求した際に、前記提示されたデジタル証明書によって特定される該デジタル証明書の所有者である情報端末が前記提示されたVPNサーバプロセス特定情報のメンバーリストに含まれており、且つ、前記提示されたデジタル証明書が前記提示されたVPNサーバプロセス特定情報の公開鍵によって検証された場合にのみ、該情報端末に対して前記提示されたVPNサーバプロセス特定情報のハッシュ値をIDとするVPNサーバプロセスへの接続を許可するステップと、
を実行させるためのコンピュータプログラム。

In a VPN server hosting system comprising one or a plurality of host servers for executing a VPN server process for connecting a plurality of information terminals with a virtual dedicated line, the computers of the host servers are respectively
A plurality of information arbitrarily specified from among the information terminals that generate a digital certificate from a certificate issuing device that generates a public key and a private key pair and issues a digital certificate signed with the private key Creating a VPN server process in a predetermined host server with a terminal as a member and using as a ID a hash value of VPN server process specifying information comprising a public key of the certificate issuing device and a member list for specifying the member When,
The digital certificate specified by the presented digital certificate when the information terminal requests the connection to the VPN server process by presenting the VPN server process identification information and the issued digital certificate An information terminal which is the owner of the VPN server process is included in the member list of the presented VPN server process identification information, and the presented digital certificate is verified by the public key of the presented VPN server process identification information Only when the information terminal is allowed to connect to the VPN server process whose ID is the hash value of the presented VPN server process identification information;
A computer program for running.

JP2006197385A 2006-07-19 2006-07-19 VPN server hosting system, VPN construction method, and computer program Active JP4837470B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006197385A JP4837470B2 (en) 2006-07-19 2006-07-19 VPN server hosting system, VPN construction method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006197385A JP4837470B2 (en) 2006-07-19 2006-07-19 VPN server hosting system, VPN construction method, and computer program

Publications (2)

Publication Number Publication Date
JP2008028576A true JP2008028576A (en) 2008-02-07
JP4837470B2 JP4837470B2 (en) 2011-12-14

Family

ID=39118805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006197385A Active JP4837470B2 (en) 2006-07-19 2006-07-19 VPN server hosting system, VPN construction method, and computer program

Country Status (1)

Country Link
JP (1) JP4837470B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011166509A (en) * 2010-02-10 2011-08-25 Yamaha Corp Relay device
JP2016534671A (en) * 2013-09-11 2016-11-04 シティパッセンジャー Method and system for establishing a virtual private network between local area networks
JP2018046575A (en) * 2017-11-29 2018-03-22 キヤノン株式会社 Authentication system and image formation apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03145835A (en) * 1989-11-01 1991-06-21 Hitachi Ltd Information service system
JPH11224219A (en) * 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program
JP2003345742A (en) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> METHOD FOR MANAGING CUG (Closed User Group), CUG PROVIDING SYSTEM, CUG PROVIDING PROGRAM AND STORAGE MEDIUM WITH CUG PROVIDING PROGRAM STORED THEREIN

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03145835A (en) * 1989-11-01 1991-06-21 Hitachi Ltd Information service system
JPH11224219A (en) * 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> Decentralized cache control method, decentralization controller, decentralizzed cache system, and storage medium stored with decentralized cache control program
JP2003345742A (en) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> METHOD FOR MANAGING CUG (Closed User Group), CUG PROVIDING SYSTEM, CUG PROVIDING PROGRAM AND STORAGE MEDIUM WITH CUG PROVIDING PROGRAM STORED THEREIN

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011166509A (en) * 2010-02-10 2011-08-25 Yamaha Corp Relay device
JP2016534671A (en) * 2013-09-11 2016-11-04 シティパッセンジャー Method and system for establishing a virtual private network between local area networks
JP2018046575A (en) * 2017-11-29 2018-03-22 キヤノン株式会社 Authentication system and image formation apparatus

Also Published As

Publication number Publication date
JP4837470B2 (en) 2011-12-14

Similar Documents

Publication Publication Date Title
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
Xue et al. A dynamic secure group sharing framework in public cloud computing
EP3192229B1 (en) Supporting differentiated secure communications among heterogeneous electronic devices
KR100860404B1 (en) Device authenticaton method and apparatus in multi-domain home networks
EP1635502B1 (en) Session control server and communication system
JP4962117B2 (en) Encryption communication processing method and encryption communication processing apparatus
US20170126623A1 (en) Protected Subnet Interconnect
WO2005086411A1 (en) Method for verifying and building highly-safe anonymous sales route in peer-to-peer anonymous proxy
JP2004032311A (en) Method, system and program for confirming pki certificate
JP2014529238A (en) System and method for providing secure multicast intra-cluster communication
CN101605137A (en) Safe distribution file system
JP5012173B2 (en) Encryption communication processing method and encryption communication processing apparatus
KR20090095436A (en) Method for managing authentication information in homenetwork and apparatus thereof
RU2685975C2 (en) Providing communication security with extended multimedia platforms
JP4490352B2 (en) VPN server hosting system and VPN construction method
JP4344783B2 (en) Seed delivery type one-time ID authentication
WO2008002081A1 (en) Method and apparatus for authenticating device in multi domain home network environment
JP3908982B2 (en) CUG (Closed User Group) management method, CUG providing system, CUG providing program, and storage medium storing CUG providing program
JP5012574B2 (en) Common key automatic sharing system and common key automatic sharing method
JP4837470B2 (en) VPN server hosting system, VPN construction method, and computer program
WO2007135963A1 (en) Authentication method and authentication system using same
Palomar et al. Secure content access and replication in pure p2p networks
US20230045486A1 (en) Apparatus and Methods for Encrypted Communication
CN113918971A (en) Block chain based message transmission method, device, equipment and readable storage medium
Reimair et al. In Certificates We Trust--Revisited

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110909

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: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110928

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4837470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150