(57)【特許請求の範囲】
【請求項１】
端末装置とサーバーが公衆回線上で通信パケットを用いて行う通信システムにおいて、
公衆回線と接続され、認証書を発行する認証局と、
端末装置と公衆回線の間に設置された端末接続装置と
アドレス取得要求があった前記端末接続装置にアドレスを付与する通信管理サーバーと、
公衆回線とサーバーの間に設置されたサーバー接続制限装置とを有し、
前記端末接続装置は、
前記通信管理サーバーからアドレスを取得し、
前記端末装置のアドレスを含む情報に基づく認証書を前記認証局から取得し、
前記通信管理サーバーからアドレスを取得する毎に前記サーバー接続制限装置に認証要求と前記認証書を送付し、
前記端末装置が利用を許可されたサービスに対応するポートを前記端末装置に対して開き、
前記端末装置が前記ポートに対して送信した前記通信パケットに自らのアドレスとサービスを提供するサーバーを管轄する前記サーバー接続制限装置のアドレスを付加してカプセル通信パケットとし、
前記カプセル通信パケットを公衆回線に送り出し、
前記通信管理サーバーは、
アドレス要求のあった前記端末接続装置に使用できるアドレスを与え、
前記認証局は、
前記端末接続装置から送られた前記端末を識別し、
前記端末が利用可能なサービスの一覧と前記端末のアドレスを含む認証書を前記端末接続装置に送信し、
前記サーバー接続制限装置は、
前記端末接続装置から認証要求があった時は前記端末接続装置に接続されている前記端末装置との間ですでに通信が行われているか否かを判断し、
すでに通信を行っている場合は前記端末装置に接続されていると記録されている前記端末接続装置のアドレスを、前記認証要求を行った端末接続装置のアドレスに書き換え、
前記端末接続装置から受信した前記カプセル通信パケットから、サービスを要求した前記端末装置を識別し、
前記端末装置が要求してきたサービスを受けることができると判断した場合は、前記付加されたアドレスを削除して通信パケットとし、
前記サービスを提供するサーバーの対応ポートにのみ前記通信パケットを送信する通信システム。
【請求項２】
端末接続装置を介して端末装置との間で通信パケットを用いた通信が行われる公衆回線と、１台以上のサーバーの集まりの間に設置され、
前記端末接続装置が送信した認証要求を認識する認証要求判断部と、
前記認証要求と共に送られた認証書に基づいて前記端末接続装置に接続された前記端末装置がすでに通信を行っているか否かを判断する通信記録確認部と、
前記通信記録確認部によりすでに通信を行っていると判断された前記端末接続装置のアドレスを更新するアドレス更新部と、
通信パケットにアドレスが付加されたカプセル通信パケットを受信する受信部と、
前記サーバーが提供するサービス毎に、利用できる端末装置を記載した許可端末リストと、
前記カプセル通信パケットからサービス提供を要求してきた端末装置を識別する識別部と、
前記端末装置との通信を記録する端末装置通信記録部と、
前記許可端末リストに基づいて前記端末装置は要求してきた前記サービスを受けられるか否かを判断する判断部と、
前記判断部によって前記サービスを受けられると判断された場合は前記カプセル通信パケットから前記通信パケットを取り出す通信パケット取り出し部と、
前記通信パケットを前記サービスを提供するサーバーの該当ポートに送信するポート接続部とを有するサーバー接続制限装置。
【請求項３】
前記許可端末リストに記載されたサービスは、前記サービスを提供するサーバーのアドレスとポート番号で区別される請求項２記載のサーバー接続制限装置。
【請求項４】
前記通信パケット取り出し部が取り出した前記通信パケットを復号化するトンネリング暗号復号部を有する請求項２または３のいずれか１項に記載のサーバー接続制限装置。
【請求項５】
前記許可端末リストはサービス毎の暗号方式および暗号鍵の情報をさらに有し、
前記通信カプセル取り出し部が取り出した前記通信パケットの中で前記暗号方式および暗号鍵によって暗号化された部分を復号化するサービス暗号復号部を有する請求項２または３のいずれか１項に記載のサーバー接続制限装置。
【請求項６】
前記許可端末リストは、サービスを特定するシンボルとサービスを提供するサーバーのアドレスとポート番号が記載され、
前記許可端末リストに基づいて前記受信したパケットの前記シンボルをサーバーのアドレスとポート番号に書き換えるシンボルアドレス書換部を有する請求項２または３のいずれか１項に記載のサーバー接続制限装置。
【請求項７】
前記識別部は、前記カプセル通信パケットで送られた認証書に基づいて前記端末装置を識別する請求項２または３のいずれか１項に記載のサーバー接続制限装置。
【請求項８】
端末装置に接続され
通信管理サーバーからアドレスを取得するアドレス取得部と、
前記端末装置のアドレスを含む情報に基づいて認証局から認証書及び
前記端末装置が利用可能なサービスを提供するサーバーおよびポート番号とサーバーを管轄するサーバー接続制限装置のアドレスを記載した利用可能サービスリストを取得する認証書取得部と、
前記アドレス取得部が新たなアドレスを取得する毎に前記認証書を前記サーバー接続制限装置に送信する認証要求通知部と、
前記端末装置が許可されるサービスに該当するポートを端末に対して開くサービスポート開設部と、
前記端末装置が前記ポートに対して送信した前記通信パケットに自らのアドレスとサービスを提供するサーバーを管轄するサーバー接続制限装置のアドレスを付加してカプセル通信パケットを得るカプセル通信パケット作成部と、
前記カプセル通信パケットを公衆回線に送信するポートを開く接続ポート開設部を有する端末接続装置。
【請求項９】
前記利用可能サービスリストに記載されたサービスは、前記サービスを提供するサーバーおよびポート番号で区別される請求項８記載の端末接続装置。
【請求項１０】
前記端末装置が送信した前記通信パケットを暗号化するトンネリング暗号化部を有する請求項８または９のいずれか１項に記載の端末接続装置。
【請求項１１】
前記端末装置が送信した前記通信パケットのヘッダ以外の部分を暗号化するサービス暗号化部を有する請求項８または９のいずれか１項に記載の端末接続装置。
【請求項１２】
前記利用可能サービスリストはサービスを特定するシンボルとサービスを提供するサーバーを管轄するサーバー接続制限装置のアドレスが記載されており、
前記サービスポート開設部は、前記端末装置に前記シンボルに対応したポートを開く請求項８または９のいずれか１項に記載の端末接続装置。
【請求項１３】
前記利用可能サービスリストと認証書を前記公衆回線上にある認証局から取得する認証書取得部を有する請求項８または９のいずれか１項に記載の端末接続装置。
【請求項１４】
公衆回線に接続され、
認証書を発行できる端末装置および前記端末装置の公開鍵を記載した認証可能リストと、
前記端末装置が利用可能なサービスを記載した利用可能サービスリストと、
認証を求めてきた端末装置の通信パケットを前記端末装置の公開鍵で復号し、認証を求めてきたのが前記端末装置であることを確認する端末装置確認部と、
前記端末装置のアドレスを含む情報により認証書を作成する認証書作成部と、
前記認証書と前記端末装置に割り当てられた利用可能サービスリストを前記端末装置の公開鍵で暗号化する認証パック作成部とを有する認証局。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットを用いたコンピューター装置間の通信に関し、特にＶＰＮ（Ｖiｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）における接続制限を行う事で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）内に保有するサーバー内のデータの安全性を高める技術に関するものである。
【背景技術】
【０００２】
公衆回線を用いたインターネットの普及によって、さまざまな場所からインターネットへ接続する事が可能になった。例えば、オフィスのように特定のネットワークが敷設された場所だけでなく、個人の自宅や旅行先のホテル、移動中の車両の中からでさえ、人々はインターネットを利用することができる。
【０００３】
この事は、自分のために設置した固定端末以外の場所からでもサーバー中のデータにアクセスできる事を意味する。そしてこれは、ビジネスやサービスの環境と機会を一気に拡大させる事になる。
【０００４】
一方で、インターネットにアクセスできるサーバーにデータを置くということは、以下のような危険性もある。
【０００５】
公衆回線を用いたインターネットは、どこからでも接続できるという特徴を有すると共に、誰でも接続が可能であるという特徴も有する。従って、公衆回線上を流れるデータは、容易に盗聴され、内容を改ざんされる危険性がある。また送り主や受け取り主に成りすまして、データを受けたり流したりもできる。
【０００６】
つまり、秘匿性の高いデータをインターネット上でアクセス可能な状態にするのは、情報漏えいという見地からは、決して安全とは言えない。
【０００７】
一般に秘匿性の高いデータは他人からの侵入が困難な専用回線や限定された端末からのアクセスしか許さないようにして取り扱う。しかし、そのように融通性や冗長性のないネットワークでは、上記に記載したアクセスの容易性という御利益を享受できない。結果、ビジネスやサービスの環境と機会の拡大を逸する事となる。
【０００８】
そこで、誰でもアクセスできる公衆回線を用いて、特定者にだけアクセスが可能なアクセス制限の技術が必要となる（例えば特許文献１参照）。
【０００９】
ＶＰＮとは、インターネットや通信事業者のもつ公衆回線を用いて、ユーザーの拠点ＬＡＮ間を仮想的に接続する技術をいう。すなわち、多数のユーザーが使用する通信回線の中にあたかも専用回線を引いたようにする技術のことである。
【００１０】
図２０には、ＶＰＮの概略を示す。公衆回線（５００）には、ＶＰＮ端末である（５０２）と（５０４）が接続されている。ＶＰＮ端末（５０２）と（５０４）には、それぞれのＬＡＮが接続されるが、簡単のためにクライアント（１０）とサーバー（３０）だけが繋がっている場合を説明する。クライアント（１０）は、サーバー（３０）に対して、通信を行うために、サーバー（３０）のアドレスを記載したヘッダ（５１０）にペイロード（５１２）をつけてパケット（５６０）を作り送出する。これを受け取ったＶＰＮ端末（５０２）は、ヘッダ（５１０）とペイロード（５１２）を予め決められた鍵によって暗号化パケット（５６４）にする。
【００１１】
さらに、送信先である相手のＶＰＮ端末（５０４）のアドレス（５１４）と、送信元である自分のアドレス（５１６）を記載したヘッダをつけてパケット（５６６）とする。これはカプセル化と呼ばれる。パケット（５６６）はインターネット上を流れて、ＶＰＮ（５０４）にたどり着く。
【００１２】
ＶＰＮ端末（５０４）では、ヘッダをはずした後、暗号化パケット（５６４）を得る。さらに、決められた鍵で暗号を解きパケット（５６０）を得る。その後、サーバー（３０）に対して送信する。
【００１３】
ここで、暗号化はＲＳＡ方式などの公開鍵暗号方式やＤＨ（Ｄｉｆｆｅｒ−Ｈｅｌｌｍａｎ）交換による共通鍵方式などが使われる。クライアント（１０）の作ったパケット（５６０）が暗号化されることで、公衆回線上を送信中での盗聴から通信内容を保護することができる。
【００１４】
また、秘匿性の高い鍵の管理方法を実施することによって、データの送信中での、盗聴・改ざんを防止するとともに、通信相手や通信内容の認証も行える。通信相手の認証はいわゆる「なりすまし」によって通信相手を騙す行為を防止することができる。
【００１５】
さらに、カプセル化によって擬似的な専用回線が確立される。これは、ＶＰＮの内側（クライアントやサーバーがいる側）には、公衆回線から自由には侵入できないので、クライアントやサーバーから見るとあたかも専用回線のように見えるということである。これはトンネリングとも呼ばれる技術である。
【００１６】
【特許文献１】特開２００１−２０３６９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ＶＰＮによって公衆回線を用いて擬似専用回線を確立することができる。
図２１では、公衆回線（５００）にＶＰＮ端末（５０２）が接続され、そのＶＰＮ端末（５０２）に複数のユーザが接続されている。図２１では７つの端末を示した。一方サーバー側でもＶＰＮ端末（５０４）を介して公衆回線（５００）と接続されており、複数のサーバーがＶＰＮ端末（５０４）に接続されている。図２１では３つのサーバーを表した。
【００１８】
ユーザは、ＶＰＮ端末（５０２）とＶＰＮ端末（５０４）によって、公衆回線（５００）上に構築された擬似的な専用回線を利用して、サーバー（３０）やサーバー（３２）などに接続することができる。つまり、ユーザＡ（１０）はサーバー（３０）、（３２）、（３４）に接続することができ、またユーザＢ（１４）も同じくサーバー（３０）、（３２）、（３４）に接続することができる。
【００１９】
ところで、図２１に示すように、ＶＰＮに接続されるＬＡＮの使用者が増加した場合、全てのクライアントが同じ情報を利用するとは限らない。
【００２０】
つまり、ユーザＡ（１０）にとって必要なデータＤ（５０６）は、ユーザＢ（１４）にとっては、不要なデータとなりえる。しかし、不要なデータと言っても、ＬＡＮの外の第三者にとっては、非常に利用価値の高いデータであるかもしれない。すると、ユーザＢ（１４）を通じてデータＤ（５０６）が外部に漏洩する可能性が発生する。
【００２１】
また、利用者が多くなると、中にはうっかり第三者にパスワードを漏らしたり、端末を占領されてしまう場合もある。
【００２２】
さらに、システムを管理する管理者は、パケットの暗号化についての情報を得る事ができるため、容易に通信の内容を盗聴することもできる。
【００２３】
すなわち、データの秘匿性を高めるために敷設したＶＰＮであっても、利用者の数が多くなると、あるデータに不必要に多くの人がアクセスできるようになった結果発生する情報漏洩の危険性が高くなる。すなわち、図２１の場合、ユーザＢ（１４）は、ＶＰＮ端末（５０４）を通過してしまった後は、自分で使うデータでないにもかかわらず、データＤ（５０６）にアクセスできる点が課題である。本発明はかかる課題を解決するために発想されたものである。
【課題を解決するための手段】
【００２４】
本発明は、上記の課題を解決するために、ＬＡＮ同士をつないで擬似的な専用回線を作るだけでなく、個々のクライアントと、そのクライアントが利用可能なアプリケーションやデータの間に擬似的な専用回線を構築する。この新たな擬似的専用回線は、ＬＡＮ同士がＶＰＮで繋がった環境であっても、あるアプリケーションやデータに対しては、許可された個人以外は接続させない。従って、公衆回線を使って秘匿性の高い擬似専用回線を構築する利益は保ったまま、不必要に多くの人がアクセスするという点を回避できる。本発明の通信をＰＣＣ（Ｐｒｉｖａｔｅ  Ｃｅｒｔｉｆｉｃａｔｅｄ  Ｃｏｎｎｅｃｔｉｏｎ）と呼ぶことにする。
【発明の効果】
【００２５】
本発明のＰＣＣ方式を用いることで、余分なアプリケーションを関係ない人間が見る事はなくなるので、データの安全性が高まる。また、アクセスできる人間を限定できるので、データの安全性に対する責任が明確になる。アプリケーションをサーバーで独立させる必要がなくなり、ハード資源の有効活用ができるという効果がある。
【００２６】
また、クライアントは利用できるアプリケーションを見ることができるだけなので、サーバーの数を意識することなく、あたかも１つのサーバー上に自分の利用できるサービスがあるように複数のサービスを扱うことができるという効果もある。
【発明を実施するための最良の形態】
【００２７】
以下本発明の実施の形態について説明する。本発明はソフトウェア的な処理で実現される部分が多く、以下の実施の形態の説明では基本的な部分についての説明を行うが、それぞれの実施の形態で説明した機能を組み合わせることもできる。
【００２８】
（実施の形態１）
図１を参照して、本発明のアクセス制限の手法を用いた通信形態の概略を説明する。なお、図中の番号は括弧をつけて表す。公衆回線（５００）は図１７の公衆回線と同じものである。公衆回線は、不特定多数の人がアクセスすることができる。公衆回線には、エリア毎の通信を束ねる通信局があり、公衆回線と接続するには、これらの通信局を介して接続する。図では省略した。
【００２９】
ＰＣＣクライアント（以後「ＰＣＣＣ」とも言う。）は、ユーザ側にあって、本発明を実現する装置である。ＰＣＣクライアントは、直接若しくは図示しない通信局を介して公衆回線と接続する。ユーザはこのＰＣＣクライアントを介して公衆回線と接続をはかる。ＰＣＣクライアントはユーザ端末１台につき１台が用意される。すなわち、ＰＣＣクライアントは端末に接続される端末接続装置である。
【００３０】
ＰＣＣサーバー（以後「ＰＣＣＳ」とも記す。）はサーバー側にあって、本発明を実現する装置である。ＰＣＣＳは公衆回線と接続する。サーバー（以後「Ｓ」とも記す。）は、各種のサービスを実現するためのデータやアプリケーションが搭載されている。サービスを提供するサーバーは複数台存在してもよい。図では５台のサーバー（Ｓ１乃至Ｓ５）がある場合を例示している。各サーバーは、ＰＣＣＳを介して公衆回線と接続する。ＰＣＣＳはサーバー１台につき１台である必要はなく、１つのＰＣＣＳに複数のサーバーが接続されていてもよい。
【００３１】
ＰＣＣサーバーは、サーバーへの無制限な接続を制限し、サーバーに蓄えられた情報を必要以上に開示させない役割を負う。すなわち、ＰＣＣサーバーは、サーバー接続制限装置である。
【００３２】
サーバーが提供するサービスとは、電子メールやＷＷＷ、遠隔ログイン、ネット管理などのよく知られたアプリケーションの提供だけでなく、個人情報管理、経理管理、各種データアクセスなど特別に作成されたアプリケーションの提供を含める事ができる。これらのアプリケーションはいずれも各サーバーのポート番号（以後「Ｐ」とも記す。）で弁別することができる。
【００３３】
例えば、サーバーＳ１のポート３５には、経理管理アプリケーションが割り当てられているといった具合である。なお、本明細書では、サービスとアプリケーションはほぼ同意に使っている。また、本明細書では、サービスを指定するのに、サーバーとポートを並べて記載する場合がある。その際は、サーバーとポートをコロンを挟んで並べて記載する。例えばサーバー１のポート１の場合は、Ｓ１：Ｐ１のごとくである。または、サーバーのアドレスとポート番号をコロンを介して記載する。例えばアドレスＭ１のサーバーのポート番号１の場合は、Ｍ１：Ｐ１のごとくである。
【００３４】
図１では、ユーザＡとユーザＢがサービスを利用できる構成を示す。ユーザＡは端末装置（以後「端末」とも記す。）であるＴａ（１０）を操作する。Ｔａ（１０）はＰＣＣクライアントであるＰＣＣＣａ（１２）に接続されている。またユーザＢは端末であるＴｂ（１４）を操作し、Ｔｂ（１４）はＰＣＣＣｂ（１６）に接続されている。ＰＣＣクライアントａおよびｂは公衆回線（５００）に接続されている。
【００３５】
なお、端末（１０）、端末（１４）、ＰＣＣクライアントａ（１２）、ＰＣＣクライアントｂ（１６）の各ＩＰアドレスは、それぞれＵａ、Ｕｂ、Ａａ、Ａｂである。図では「ＩＰ、Ｕａ」などと表示している。以後同様である。
【００３６】
また、端末（１０）、端末（１４）、ＰＣＣクライアントａ（１２）、ＰＣＣクライアントｂ（１６）は、図中Ｔａ、Ｔｂ、ＰＣＣＣａ、ＰＣＣＣｂと記載した。なお、ＰＣＣＣａとはユーザＡのＰＣＣクライアントの意味である。
【００３７】
ＰＣＣサーバーは、ＰＣＣサーバーであるＰＣＣＳ１（２０）およびＰＣＣＳ２（２２）が公衆回線（５００）に接続されている。それぞれのＩＰアドレスは、Ｇ１およびＧ２である。
サーバーはサーバー１乃至５（３０乃至３８）があり、サーバー１乃至３はＰＣＣＳ１（２０）に接続されている。サーバー４および５はＰＣＣＳ２に接続されている。サーバー１乃至５のＩＰアドレスはそれぞれＭ１乃至Ｍ５である。
【００３８】
また、図中、ＰＣＣサーバー１（２０）、ＰＣＣサーバー２（２２）、サーバー１乃至５は、ＰＣＣＳ１（２０）、ＰＣＣＳ２（２２）、Ｓ１（３０）、Ｓ２（３２）、Ｓ３（３４）、Ｓ４（３６）、Ｓ５（３８）と記した。
【００３９】
なお、ＩＰアドレスとは、例えば、２５５．２５５．２５５．２５５などのように８ビットの数字が４組で表される数字の組を言うが、これに限定するものではない。
【００４０】
（全体の動作）
次に本発明の全体的な動作についての概略を説明する。本発明では、サーバーのサービスを受けようとするユーザは、ＰＣＣクライアントとＰＣＣサーバーを介してサーバーと接続を図る。その際に、ユーザは自分が許可されたサービスだけをサーバーから受けることができる。
【００４１】
図１を参照して、ユーザＡが、サーバーの利用を受ける場合を説明する。ユーザＡは、サーバーであるＳ１からＳ５の中で、Ｓ１のポート２５とＳ４のポート１１０の利用を許可されていたとする。ユーザＡがこれらのサービスの使用を許可されていたという情報は予めＰＣＣＣａ（１２）にもＰＣＣＳ１（２０）にも登録されている。
【００４２】
ユーザＡがサーバーへの接続を試みると、ユーザＡは、Ｓ１のポート２５とＳ４のポート１１０にだけ接続することができる。すなわち、ＰＣＣＳ１（２０）は、ユーザＡにＳ１（３０）の接続を許可するものの、ポート２５以外のポートの接続を許可しない。言い換えるとユーザＡは、Ｓ１（３０）への接続ではポート２５で提供されるサービス以外のサービスを受ける事ができない。
【００４３】
同様にＰＣＣＳ２（２２）は、ユーザＡがＳ４（３６）に接続することを許可するものの、ポート１１０以外のポートへの接続を許可しない。もちろんユーザＡは許可されていない他のサーバーへの接続はできない。
【００４４】
このように本発明は、サーバーに接続するユーザ毎に利用できるサービスすなわち特定サーバーの特定ポートへの接続を厳格に管理する。
【００４５】
（より詳細な動作）
図２を用いて、より具体的な動作について説明する。図２は図１のユーザＡが利用できるサービスの説明をするために、図１から関連する部分を抜き出したものである。従って、図１と同じ要素は同じ番号を付してある。
【００４６】
ユーザＡは、サーバーの提供するサービスのうち、アプリケーション１乃至３の利用を許可されているとする。上記の（全体の動作）での説明より受けられるサービスの数を１つ増やした場合を説明する。
【００４７】
図では「アプリ１」乃至「アプリ３」で表した。ユーザＡはこれらのアプリケーションを端末であるＴａ（１０）上で利用する。これらのアプリケーションはＳ１（３０）およびＳ４（３６）に用意されているものとする。そして、アプリケーション１および２はＳ１（３０）に、そしてアプリケーション３はＳ４（３６）に用意されているものとする。
【００４８】
ＰＣＣＣａ（１２）には、予めユーザＡが利用できるサービスの情報（４０）が記録されている。具体的には、サービスが提供されるサーバーのアドレス、サービスが提供されているポートの番号、そして、サーバーに接続される前に接続すべきＰＣＣサーバーのアドレスなどである。すなわち、サービスの情報（４０）は、利用可能サービスリストといえる。暗号方法および暗号鍵に関しては後の「アプリケーション毎の暗号化」で説明する。
【００４９】
ＰＣＣＣａ（１２）は、これらのサービス提供のために、ユーザＡに対してサービス毎のポート（５０、５１、５２）を開く。このポートは、個々のサービスを特定するものであるので、「Ｍ１：Ｐ１」のようにサーバーアドレスとポート番号をコロンで結んで図に示した。サービス毎のポートは、具体的な実現方法はソフトウェアによるもので、具体的なハードウェアとしては、接続ラインとＰＣＣＣａ（１２）のＣＰＵとメモリである。すなわち、これらのサービス毎のポートを開設するのは、ソフトウェア的な処理による。
【００５０】
ＰＣＣサーバーの方では、管理すべきアプリケーションの情報を把握している。具体的にはアプリケーション１を提供するＳ１（３０）のアドレスとポート番号および利用を許可されているユーザ名およびそのアドレスなどである。具体的には、ＰＣＣＳ１（２０）には、アプリケーション１に関する情報（４２）を有しており、そこには接続すべきＳ１のアドレスＭ１とポート番号Ｐ１、そしてアプリケーション１の利用を許可されたユーザ名と、暗号方式および暗号鍵が記載されている。アプリケーションに関する情報（４２）は、許可端末リストである。
【００５１】
このアプリケーションの情報（４２）は、ＰＣＣサーバーが管轄するサーバーが用意している全てのアプリケーションについて用意されている。具体的には、図２では、アプリケーション１乃至３についてそれぞれアプリケーションの情報が存在している。図ではアプリケーション１の情報（４２）だけを示した。
【００５２】
通信パケットの説明を随時加えていくが、通信パケットに関しては図３に例示した。点線と点線の間は公衆回線上を示す。公衆回線の左側はＰＣＣＣ側、右側はＰＣＣＳ側でのパケットの様子を示す。なお、これは説明のための例示であって、これに限定されるものではない。
【００５３】
ユーザＡは、アプリケーション１を利用しようとすると、まず、アプリケーション１へ送る通信パケットを作成する。そして、ＰＣＣＣａ（１２）が用意したサービスのポート（５０）に送信する。このときユーザＡの作成するパケット（６０）は、先頭に接続を希望するサーバーＳ１（３０）のアドレスであるＭ１と提供を希望するサービスのポート番号Ｐ１を記し、次に自分のアドレスＵａを記載し、その後ろに接続要求のコマンドを記載したパケットをつけて構成する。つまり、Ｍ１：Ｐ１は、アドレスであるとともにサービス自体をも特定する。図３に示したこのパケット（６０）をＰＣＣクライアント（１２）の用意したポート（５０）へ送る。すなわち、図２中でのＰＣＣクライアントのＭ１：Ｐ１というポート（５０）である。
【００５４】
なお、ここでは、接続要求のコマンドを記載したパケットの送信を例示したが、他のコマンドや要求、命令、応答、データなど必要な情報であってもよい。ポート番号を含む送り先アドレスや自分のアドレス以外の部分をペイロードと呼ぶ。また、ポート番号はパケットの先頭に記載するとしたが、パケットの別の場所に記載してもよい。
【００５５】
ＰＣＣＣａ（１２）は、ユーザＡから要求されたサービスがＳ１（ＩＰアドレスはＭ１）のポート番号Ｐ１であることをユーザＡの情報テーブル（４０）から知り、アクセス先のＰＣＣサーバーはＰＣＣＳ１（ＩＰアドレスはＧ１）であることを同時に知る。そこで、ユーザＡから受け取ったパケットの先頭に、ＰＣＣＳ１のアドレス「Ｇ１」と自分のアドレス「Ａａ」をつけたパケット（６１）を作成し、公衆回線に送り出す。これはいわば、ユーザＡのパケットをカプセル化したことに他ならない。これらの処理も主としてソフトウェア的に行われるが、いわばカプセル通信パケットを作成する処理である。
【００５６】
ＰＣＣＳ１（２０）は、自分宛のパケットとしてこのパケット（６１）を受け取る。ＰＣＣＳ１の受取口は通信回線を常にモニタしており、いわば受信部である。
そして、自分のアドレスとＰＣＣクライアントのアドレスの後ろにあるパケット（６０）を取り出す。これはカプセルからパケットを取り出すことである。このような通信パケット取出しについてもソフトウェア的な処理で行われる。
【００５７】
取り出したパケット（６０）のアドレスから、アドレスＵａ（ユーザＡ）、がアドレスＭ１（サーバーＳ１）のポート番号Ｐ１（アプリケーション１）への接続要求を行ってきたことがわかる。すなわち、端末識別を行う。
【００５８】
ＰＣＣＳ１（２０）は、アプリケーション１の情報（４２）を参照し、そこにユーザＡがいれば、Ｓ１のポートＰ１へ、このパケット（６０）を送り出す。すなわち、アドレスＵａ（ユーザＡ）は、アプリケーション１を利用できるか否かを判断し、サービスに対応するポートＰ１へ接続する。
【００５９】
Ｓ１（３０）は、送られてきたパケット（６０）の要求に従って処理をし、ペイロードの部分に結果を載せ、今度は逆の順序でパケットを送り出す。ＰＣＣＳ１（２０）、ＰＣＣＣａ（１２）も全く逆の動作をすることによって、ユーザＡはＳ１（３０）からの結果を受け取ることができる。
【００６０】
なお、アプリケーションの情報（４２）には、ユーザＡに関する情報として、ユーザ名以外にアドレスであるＵａやＰＣＣクライアントのアドレスであるＡａが予め記録されている、若しくは動的に記録されることはいうまでもない。
【００６１】
本発明では、ＰＣＣサーバーが接続を希望するユーザを確認するため、許可を得ていない者がサーバーへ接続することはできない。また、サーバーへの接続を許可された者も、許されたアプリケーション以外の利用はできない。すなわち、情報の漏洩の少ない接続制御が可能である。
【００６２】
また本発明では、ＰＣＣＣａ（１２）は、ユーザＡが利用可能なアプリケーションに対応するポートをユーザＡに開く。図２では、ポート（５０）乃至ポート（５２）である。そのため、ユーザＡからは、あたかもすぐそこにサーバーやポート、若しくは提供されるアプリケーションそのものがあるように見える。すなわち、ＰＣＣクライアントは目的のアプリケーションを有したサーバーになりすましているともいえる。従って、本発明を利用するユーザーにとっては、本発明の接続制限を受けているのかいないのかわからない。許可された接続先の異なる端末を同時に比較して、一方で繋がるサービスが他方では繋がらないという方法でなら、本発明の接続制限を受けているか否かを判断できる。
【００６３】
（アプリケーション毎の暗号化）
上記の説明では、カプセル化に際し、暗号化を行わず、パケット（６０）の部分がそのままの形で公衆回線（５００）に送られる態様の説明を行ったが、公衆回線上での盗聴を困難にするために、暗号化することもできる。
【００６４】
本発明では、ユーザは自分が受けることのできるサービス毎にＰＣＣクライアントに接続の口を有する。従って、サービス毎に暗号化の方法若しくは暗号の鍵を変更することができる。
【００６５】
図２を再度参照して、ＰＣＣＣａ（１２）には、ユーザＡの情報として、サーバーのＩＰアドレス、サーバーのポート番号、転送先ＰＣＣサーバーのＩＰアドレスの情報（４０）を持たせているが、これに暗号方法および暗号鍵の情報を持たせる。ＰＣＣＣａ（１２）は、ユーザＡの要求するサービス毎に、決められた暗号方法および暗号鍵で、アドレス以外の情報を暗号化する。図３では「接続要求」すなわち、ペイロードの部分に相当する情報である。
【００６６】
図３を参照して、ペイロードの部分を暗号化したパケットは（６２）の様になる。これをカプセル化してパケット（６３）の状態で公衆回線上へ送信する。ペイロードの部分を暗号化したパケットはサービス毎に異なる暗号鍵で暗号化することができ、これをサービス暗号化と呼ぶ。これはＰＣＣＣａ（１２）のＣＰＵとメモリによるソフトウェア処理によって実現される。
【００６７】
なお、図３中、暗号化された部分は四角で囲んで示した。以後、暗号化されたパケットおよびパケットの部分は四角で囲むことで表す。
【００６８】
このパケットを受け取ったＰＣＣＳ１（２０）は、カプセルから上記で説明したパケット（６２）の内容を取り出して、該当するアプリケーション（ポート番号）へ送る前に、暗号化された部分を復号してパケット（６０）を得たのちサーバーに送る。
【００６９】
ここで、ＰＣＣサーバーのアプリケーションの情報にあるユーザのリストに、ＰＣＣクライアントにある情報に相当する暗号化の方法と暗号鍵の情報が、記憶されている。そして、上記の復号はこの情報に基づいて復号される。図２では、ＰＣＣＣａ（１２）の持つユーザＡの情報（４０）にある暗号方式と鍵に対応する情報はＰＣＣＳ１（２０）のアプリ１の情報（４２）にもある。図２では、暗号方式（Ｅ１）、鍵（Ｋｅｙ１０）がこれに相当する。これは上述したＰＣＣＣａ（１２）のサービス暗号化とは逆の処理であるのでサービス暗号復号化と呼ぶ。
【００７０】
このようにして、アプリケーション毎に通信できるユーザが制限される上に、アプリケーションを利用するユーザ毎に暗号方式と暗号の鍵を設定することができる。これは、盗聴に対するセキュリティーをより強固なものにする。
【００７１】
（カプセル化の暗号化）
上記で説明したように、ＰＣＣクライアントとＰＣＣサーバーの間ではパケットがカプセル化されている。そこで、従来のＶＰＮで行われていたようにカプセルの暗号化は本発明でも用いることができる。
【００７２】
再度図２を参照して、ＰＣＣＣａ（１２）は、ＰＣＣＳ１（２０）およびＰＣＣＳ２（２２）と接続する必要がある。従って、ＰＣＣＳ１（２０）およびＰＣＣＳ２（２２）との間で、鍵のやり取りを行う必要がある。この間の暗号の方式は特に限定されるものではなく、共通鍵方式、公開鍵方式のいずれも使うことができる。
【００７３】
図２中でＰＣＣＣａ（１２）の（５３）、（５４）は擬似的な出力ポートである。これらの出力ポートは公衆回線への接続ポートであり、ソフトウェア的に処理されることで開設される。なお、この点はすでに説明した（より詳細な動作）や（アプリケーション毎の暗号化）でも適用される。
【００７４】
またＰＣＣＳ１（２０）およびＰＣＣＳ２（２２）の（５５）、（５６）はＰＣＣＣａ（１２）用の擬似的な入力ポートである。ＰＣＣサーバーは、接続してくる相手がＰＣＣＣａ（１２）だけではない。そこで、他のＰＣＣクライアントに対してはそれぞれ別々の擬似的な入力ポートを構築する。これは上述した受信部の一環としてソフトウェア的に開設される。
【００７５】
ＰＣＣクライアントとＰＣＣサーバーはそれぞれ複数の相手と接続する可能性があるため、ＰＣＣクライアントは擬似的な出力ポートの数だけ、またＰＣＣサーバーは擬似的な入力ポートの数だけ暗号方式と暗号鍵を管理するテーブルが必要である。図２では（４４）と（４６）で示した。これらの間の暗号方式と暗号鍵作り方はすでに知られた公知の方法を用いることができる。
【００７６】
ＰＣＣクライアント側の管理テーブル（４４）には、接続するＰＣＣサーバー毎のアドレスと暗号方式、および暗号鍵が記載してある。図２ではＰＣＣＣａが公衆回線（５００）を介して接続するための接続ポート（５３）と（５４）のために有する管理テーブル（４４）を例示してある。ＰＣＣＣａ（１２）は、ＰＣＣＳ１（２０）とＰＣＣＳ２（２２）に接続することができるので、それぞれのＩＰアドレスであるＧ１とＧ２が記載してある。またＰＣＣＳ１（２０）とＰＣＣＳ２（２２）との通信には暗号方式をＥ３を使い、それぞれの暗号鍵がＫｅｙ４０とＫｅｙ４１であることを記載してある。
【００７７】
一方ＰＣＣサーバー側でも対応する管理テーブル（４６）がある。図２では、ＰＣＣＳ１（２０）の場合を例示した。ＰＣＣＳ１（２０）は図１で示すように、ＰＣＣＣａ（１２）およびＰＣＣＣｂ（１６）と接続するので、それぞれのアドレスであるＡａおよびＡｂとそれに対応する暗号方式および暗号鍵の情報が記載される。ＰＣＣＳ２（２２）の管理テーブルについては省略した。
【００７８】
なお、ＰＣＣサーバーが使用するカプセル化の際に併用する暗号方式および暗号鍵については、接続要求のある全ＰＣＣクライアントに対して重複して使ってもかまわない。すなわち、ＰＣＣサーバーは接続する全ての相手に対するカプセル化に１つの暗号方式と暗号鍵を用いても構わない。
【００７９】
ポート（５３）およびポート（５４）はそれぞれポート（５５）およびポート（５６）との間で暗号の方式と鍵を決めてある。つまり、擬似的な出力ポート（５３）から送信されたパケットは、カプセル化されていると共に、自分のアドレスより後ろ側を決められた方法と鍵で暗号化する。図３では、パケット（６４）がその状態を示す。これにＰＣＣサーバーのアドレスＧ１と自分のアドレスＡａを付してカプセル化したパケット（６６）を公衆回線に送信する。なお、この暗号化はＰＣＣＣａ（１２）のＣＰＵとメモリによってソフトウェア的に処理されることで実現される。カプセル化してなおかつ暗号化するのはいわゆるトンネリングの技術であるので、この処理は、いわばトンネリング暗号化である。よって、管理テーブル（４４）、（４６）はトンネリング暗号管理テーブルと呼ぶ。
【００８０】
ＰＣＣサーバーの入力ポート（５５）で受信されたパケットは、カプセル化されたアドレスの部分を取り外し、パケット（６４）を得る。さらに暗号化された部分を復号しパケット（６２）を得る。これも同様にＰＣＣＳ１のＣＰＵによるソフトウェア処理であり、上述したトンネリング暗号化に対応するトンネリング暗号復号化である。
【００８１】
同様に、ＰＣＣＳ１（２０）およびＰＣＣＳ２（２２）のポート（５７、５８、５９）も擬似的な出力ポートで、ペイロードの部分をアプリケーションの情報（４２）に記載してある暗号方式および暗号鍵に従って復号してからそれぞれ所定のサーバーに送信する。すなわち、最終的にパケット（６２）からパケット（６０）を得て、所定サーバーの所定ポートに送信する。
【００８２】
（フローの説明）
図４には、ＰＣＣクライアントとＰＣＣサーバーの動作のフローを上記（カプセル化の暗号）を例にとって示す。ＰＣＣクライアント（１２）はユーザＡからのサービス要求を待っている（１００２）。サービス要求があったら、ユーザＡの情報（４０）を参照して要求されたサービスは許可されたサービスかどうかを判断する（１００４）。このとき、ＰＣＣクライアント（１２）はパケット（６０）を受信することになる。
【００８３】
もし要求されたサービスが、ユーザＡの情報（４０）に無かったら、そのまま公衆回線に送信してもよいし、破棄してもよい（１０２１）。望ましくは、相手先サーバーがユーザの情報（４０）に掲載されていない場合は破棄するのが望ましい。不特定の相手に、ユーザが接続を希望した接続先に関する情報を提供することになりかねないからである。
【００８４】
情報（４０）に掲載されたサービスである場合は、情報（４０）の暗号方式（Ｅ１）および暗号鍵（Ｋｅｙ１０）に従って、ペイロードの部分を暗号化する（１００６）。このときにはパケット（６２）が作られる。
【００８５】
その後、送信するＰＣＣサーバー（２０）との間の暗号方式（Ｅ３）と共通鍵（Ｋｅｙ４０）で暗号化する（１００８）。この時のパケットはパケット（６４）のごとくである。そして、カプセル化を行い公衆回線へ送信する（１０１０）。最終的にはパケット（６６）になる。
【００８６】
ＰＣＣサーバー側では、自分宛のパケットの取得のルーチンは別途他の処理と並列して走っている。そこで、自分宛のパケットを受け取ったものとする（１０２０）。ＰＣＣサーバーでは、まずカプセル化を解除する（１０２２）。カプセル化解除によってパケット（６４）を得る。
【００８７】
次にカプセルの中身を復号化する（１０２４）。ここでは、送信元がＰＣＣクライアント（１２）であることがアドレス（Ａａ）からわかっているので、カプセル化の暗号方式および暗号鍵を情報（４６）から取得して復号化する。この復号化によってパケット（６２）を得る。なお、カプセルの中身を復号化するのは図２のＰＣＣサーバーの擬似的な入力ポート（５５もしくは５６）としているが、この入力ポートを介したパケットの処理という意味であって、実際はＰＣＣサーバーが行う処理である。
【００８８】
パケット（６２）が得られると、接続要求されたサーバーＳ１（アドレスはＭ１）とポートＰ１がわかるので、ＰＣＣサーバー（２０）が管轄するサーバーか否かを判断する（１０２６）。例えば、ＰＣＣＳ１はＳ４やＳ５は管理していないので、管轄していない。管轄するサーバーでない場合は、破棄するかまたは接続対称でない旨の回答を行ってもよい（１０３６）。
【００８９】
また、サーバーとポート番号がわかるので、対応するアプリケーション（アプリ１）を決めることができ、アプリケーション情報（４２）を参照して、接続要求をしたユーザは許可されたものか否かを確認する（１０２８）。許可されていないユーザであった場合は、破棄するか、もしくは接続は許可されない旨の回答をおこなってもよい（１０３８）。
【００９０】
許可されたユーザであった場合は、アプリケーションの情報（４２）を参照して、ペイロードの部分を復号化する。この複合化によってパケット（６０）を得ることができる。この処理は、擬似的な出力ポートに関わる部分（図２では５７、５８、５９）で行われるように図示したが、この出力ポートを介するパケットの処理という意味であって、実際はＰＣＣサーバーが行う処理である点は、入力ポート（５５もしくは５６）の場合と同じである。最後に所定のサーバーの所定ポートへ送信する（１０３２）。
【００９１】
なお、アプリケーション毎の暗号化とカプセル化の暗号は、いずれか一方だけを行ってもよいし、両方行ってもよい。
【００９２】
本実施の形態では、ユーザＡからサーバーＳ１への接続は、カプセル化したパケットでやり取りを行っている。これは公衆回線上にあたかもプライベートな専用回線を作っているようなものであるため、ＶＰＮと似ている。しかし、ＶＰＮがＬＡＮ間の接続するために多くの利用者が通れるトンネルを作っているのに対して、本発明では、個々のユーザが自分が許可されたアプリケーションだけに接続するための細いトンネルを数多く作っている点で違いがある。
【００９３】
（実施の形態２）
実施の形態１では、アプリケーション毎の暗号方式と暗号鍵についてはすでにＰＣＣクライアントとＰＣＣサーバーに予め用意されているとした。しかし、ユーザの数が増えるとＰＣＣクライアント側の暗号に関する情報を更新するのは大変な作業となる。そこで、ＰＣＣクライアントが公衆回線を使って接続要求した際にそれぞれのアプリケーション毎に暗号方式と暗号鍵を決める方法を説明する。
【００９４】
図５にはＰＣＣクライアントであるＰＣＣＣａ（１２）が公衆回線５００を介してＰＣＣサーバーであるＰＣＣＳ１（２０）に接続する前の状況を示す。ＰＣＣＣａ（１２）側とＰＣＣＳ１（２０）側が有するトンネリングのための暗号方式と鍵の情報であるトンネリング暗号管理テーブル（４４）と（４６）には何も記録されていない。
【００９５】
端末であるＴａ（１０）とＰＣＣＣａ（１２）の間にはすでにアプリケーション１乃至３に関わる接続関係はできている。これは、ＰＣＣＣａ（１２）がＴａ（１０）に接続された時点で確立される。もちろん、ＰＣＣＣａ（１２）が実際にＰＣＣサーバーとの接続を確立してから、Ｔａ（１０）にアプリケーションを表示させるようにしてもよい。
【００９６】
図６には、ＰＣＣＣａ（１２）とＰＣＣＳ１（２０）との間で行われる、やり取りのパケットや、利用可能サービスリストである情報（４０）やトンネリング暗号管理テーブルである情報（４６）などの状態を例示する。また図７には通信開始時のフローを示す。右側はＰＣＣＳ１（２０）を左側はＰＣＣＣａ（１２）のフローを示す。
【００９７】
図６および図７を参照して、ＰＣＣＣａ（１２）がＰＣＣＳ１（２０）へ、自分に接続しているユーザ名とＩＰアドレスを送信する（１０５０）。図６の場合ユーザ名はユーザＡでＩＰアドレスはＵａである。ＰＣＣＳ１に送られるパケットは図６のパケット（６８）のようなパケットになる。
【００９８】
ＰＣＣＳ１（２０）では、ＰＣＣＣａ（１２）からのパケットを受信し（１０７０）、ユーザＡ（アドレスＵａ）は、アプリケーションの情報のいずれかにあるか否かを調べる（１０７２）。アプリケーションの情報とは許可端末リスト（４２等）である。ＰＣＣＳ１（２０）が管轄しているサービスは複数あり、そのサービスに対応するアプリケーション情報の中のいずれかのアプリケーション情報にユーザＡが登録されていれば、登録されているものと判断する。
【００９９】
一方、いずれのアプリケーションに関する情報にもユーザＡがいなければ接続を許可できない相手からの接続希望であるので、破棄するかまたは接続できない旨の回答を行う（１０８６）。
【０１００】
アプリケーション情報にユーザＡがあれば、トンネリングに用いる暗号を決める。ここではＤＨ変換による共通鍵を求めることにした（１０５４および１０７４）。しかし、予め公開鍵方式の秘密鍵と公開鍵があれば、公開鍵を持っているほうが、共通鍵を決めて相手に送信してもよい。ここではＤＨ変換によって得た鍵を用いた暗号方式をＥ３とする。図６では、「ＤＨ変換」で表した。
【０１０１】
トンネリングに用いる共通鍵が決まったら、ＰＣＣＣａ（１２）およびＰＣＣＳ１（２０）間の暗号鍵としてトンネリング暗号管理テーブル（４４）および（４６）に記録する。図６では、トンネリング暗号管理テーブル（４４）に相手のアドレスＧ１と暗号方法を示すＥ３と暗号の鍵がＫｅｙ１である点が記録されたことを示す。また、ＰＣＣＳ１（２０）側ではトンネリング暗号管理テーブル（４６）として、相手アドレスであるＡａと、同じく暗号方法を示すＥ３と暗号の鍵がＫｅｙ１である点が記録されたことを示す。
【０１０２】
ＰＣＣＳ１（２０）は、共通鍵を用いて要求するサービス内容を提示するようにＰＣＣＣａ（１２）に求める（１０７６）。この時のパケットは図６のパケット（７０）である。
【０１０３】
通信を受け取ったＰＣＣＣａ（１２）は復号し内容を解読する（１０５６）。そして、ＰＣＣＳ１（２０）に対して要求するサービスを共通鍵で暗号化し送信する（１０５８）。この時のパケットは図６のパケット（７２）である。要求するサービスとは、ユーザＡが利用を許可されたサービスのうち、ＰＣＣＳ１（２０）が提供する予定のサービスである。ＰＣＣＣａ（１２）はユーザＡの利用可能サービスリスト（４０）からそれを知る。図６では、ＰＣＣＳ１（２０）へ連絡すべきサービスとして、Ｍ１：Ｐ１とＭ１：Ｐ２があり、それを通知しているところを示す。
【０１０４】
ＰＣＣＳ１（２０）は、これを受け取り復号化し解読する（１０７８）。そして受け取ったサービスは確かに許可されたものかどうかそれぞれのアプリケーションの情報、すなわち許可端末リストに従って確認する（１０８０）。もし許可されていないサービスがあれば、その旨通知する（１０８８）。
【０１０５】
ＰＣＣＳ１（２０）は、許可されていることを確認できたら、サービス毎に暗号方式と暗号鍵を決め、ＰＣＣＣａ（１２）に送信する（１０８２）。このときのパケットは、図６のパケット（７４）になる。
【０１０６】
このパケットを受信したＰＣＣＣａ（１２）は復号化し、内容を解読してユーザＡの利用可能サービスリスト（４０）にあるそれぞれのサービスの情報に暗号方式と暗号鍵を記録する（１０６４）。また、ＰＣＣＳ１（２０）はアプリケーションの情報である許可端末リスト（４２）にもこれを記録する。
【０１０７】
同じ手続きをＰＣＣＳ４とも行うことで、ユーザＡの情報とトンネリングに使う暗号情報（４４）および（４６）とアプリケーションの情報（４２）が図２のごとく完成する。本実施の形態のように、アプリケーション毎の暗号方式と暗号鍵を通信のたびに変えることができるようにすることで、より一層セキュリティが高くなる。
【０１０８】
（実施の形態３）
図８に第３の実施の形態について説明する。本発明の基本的な構成は実施の形態１で示した。本実施の形態では、公衆回線を用いたときの「なりすまし」を防止するために、認証手続きを行う場合について説明する。よって、図８では図１に認証局（９）が追加される。
【０１０９】
図９を参照し、ＰＣＣクライアントであるＰＣＣＣａ（１１）と認証局（９）とのやり取りについて説明する。ＰＣＣＣａ（１１）と認証局（９）の間の通信で用いる暗号は、特に限定するものではないが、ここでは公開鍵方式による暗号を用いた場合を説明する。ＰＣＣＣａ（１１）は、認証局（９）のアドレスＴを持っており、認証局（９）は、ユーザ名、アドレス、ユーザの公開鍵、ユーザ毎の利用可能なサービスに関する情報を有している。サービスに関する情報とは、サーバー、ポート番号、ＰＣＣサーバーのアドレスなどを含む利用可能サービスリストである。
【０１１０】
ＰＣＣＣａ（１１）は、電源が投入されると、ユーザ名（８１）、自分のアドレス（８２）、最初の共通鍵（図ではＫｅｙＣと記載）などを自己の秘密鍵で暗号化し、暗号化していないユーザ名（８３）をつけて認証局（９）に送る。公開鍵暗号方式なので、この暗号化された内容はＰＣＣＣａ（１１）の公開鍵でなければ開かない。具体的にはパケット（８０）のような構成が例として挙げられる。
【０１１１】
認証局（９）では、ユーザ名（８３）を見て、予め用意されているユーザリスト（これを「認証許可リスト」と呼ぶ）からユーザの公開鍵（８４）を選択し、暗号を解く。解いた内容に書かれたユーザ名（８１）と暗号化されていなかったユーザ名（８３）が一致したら、正しいユーザからの送信であると認定する。なぜなら、登録されたユーザの公開鍵で復号できたということは、秘密鍵の持ち主が暗号化したものとみなせるからである。すなわち、このパケットを送ってきたのは、確かに送り元の端末であることを確認する。また、認証許可リストにない者からの認証要求には応えない。
【０１１２】
認証局（９）は、ユーザ名、アドレス、最初の共通鍵を認証局の秘密鍵で暗号化する。これは認証局の公開鍵でないと開かない。認証局は特殊なサイトであり、その公開鍵はサーバーを管理する特定の者にしか通知されないようにしておく。つまり、一般のユーザにとっては、暗号を解くことができない情報になる。すなわち、これは認証書（８６）となる。なお、認証書（８６）に含める内容はユーザ名、アドレスなどを例示したが、これに限定されるものではない。
【０１１３】
認証局（９）はさらに、そのユーザが利用を許可されているサービスのリスト（利用可能サービスリスト）と共に、これらの情報をさらにユーザの公開鍵で暗号化する。従って、この情報は秘密鍵を有するユーザだけが解くことができる情報となる。認証書と利用可能サービスリストを含めて暗号化したものを認証パックと呼ぶ。そして、これをＰＣＣＣａ（１１）宛に送信する。具体的にはパケット（８８）である。
【０１１４】
ＰＣＣＣａ（１１）では、受け取った情報を自分の秘密鍵で解く。そして、ＰＣＣＣａ（１１）は、認証書と利用可能なサービスリストを得る。このようにすれば、ＰＣＣＣａ（１１）は、予め許可されたサービスリストを持っている必要はなくなるし、また許可されたサービスの更新も、認証局（９）を通じて容易にできる。この認証書等の取得はＰＣＣＣａ（１１）のＣＰＵによってソフトウェア処理によって行われる。
【０１１５】
次にＰＣＣＣａ（１１）は、サービスリストを見て、接続可能なＰＣＣサーバー宛に、認証書を送る。すなわち認証の要求を通知する。図１０を参照して、ＰＣＣサーバーであるＰＣＣＳ１（１９）に接続を試みる場合を説明する。ＰＣＣＣａ（１１）がＰＣＣＳ１（１９）へ送信するパケットは、例えばパケット（９０）に示す形となる。すなわち、ＰＣＣＳ１（１９）のアドレスであるＧ１と自分のアドレスであるＡａとペイロードにあたる部分である。ここには、ユーザ名であるユーザＡと認証書（８６）が記載されている。
【０１１６】
ＰＣＣＳ１（１９）は受け取った認証書（８６）を認証局の公開鍵で解く。正しく解ければ、送信者は、認証局が認証したユーザと認定できる。また、パケット（９０）に記載してあるユーザ名と復号された認証書に書かれたユーザ名が同じであれば、送信者は確かに認証局に認証を受けたユーザであるとみなせる。
【０１１７】
また、認証書（８６）には最初の共通鍵もついているので、この共通鍵に基づいて、ＰＣＣＳ１（１９）からの伝達事項をＰＣＣＣａ（１１）に安全に送信することができる。具体的な要求としては、ユーザが許可されているサービスのリストの送付や、暗号方式の通知や暗号鍵の更新などが上げられる。
【０１１８】
ＰＣＣＳ１（１９）は、ＰＣＣＣａ（１１）が送付したサービスリストと自らが保持しているユーザに関する情報を比較対照してさらに確認作業をすることができる。また、サービスごとに使用する共通鍵を変えてもよい。
【０１１９】
以上のようにＰＣＣクライアントとＰＣＣサーバーの間で認証作業が終了したら、共通鍵を用いて実施の形態１や２と同じように、通信が可能になる。
【０１２０】
本実施の形態では、ユーザが使用できるサービスのリストは認証局からユーザに認証書作成の際に送付される。従って、予めＰＣＣＳ１がユーザＡの使用が許可されたサービスを知っていなくても認証書にサービスリストが入っていれば、ＰＣＣＳ１はそれを信じてアプリケーションに関する情報４０のリストを更新することができる。
【０１２１】
また、本実施の形態では、最初の共通鍵を認証書に含めるようにしたが、図１０のＰＣＣＣａ（１１）とＰＣＣＳ１（１９）との通信をＤＨ交換から始めれば、最初の共通鍵は不要となる。また、最初の共通鍵は認証局が与えるようにしてもよい。
【０１２２】
（実施の形態４）
本実施の形態では、サーバー側のネットワークが多重化されている場合について説明を行う。図１１は、本実施の形態の構成を示す。図１１は図１の構成で示したＰＣＣサーバーによって管轄されるネットワークが多重化されている状況を示す。
【０１２３】
サーバーＢ１（１０６）には、サーバーＢ２（１０８）とサーバーＢｓ２（１１２）が接続されている。サーバーＢ２（１１２）はさらにサーバーＢｓ１（１１０）が接続されている。サーバーＢｓ１（１１０）には、Ｓ１（３０）とＳ２（３２）の２つのサーバーが接続されている。また、サーバーＢｓ２（１１２）にはサーバーＳ３（３４）が接続されている。
【０１２４】
すなわち公衆回線（５００）側から見ると、Ｂ１（１０６）を経由して通信することができる外側ネットワークセグメント（１００）があり、その内側にＢ２（１０８）を経由して通信することができる内側ネットワークセグメント（１０２）が存在する。これらのネットワークセグメントは通常はファイアウォール等により管理されており、ＶＰＮはＢ１と同じ位置に設置される。
【０１２５】
ＰＣＣサーバーが管理するネットワークの多重化は、より多くのサーバーの接続の要求という局面で必要になる。しかし、実施の形態１および２に開示した発明だけでは、ユーザーからのパケットは、内側ネットワークセグメントを管轄するサーバー（図１１の場合はＢ２）を、突破して所定のサーバーに到達することができない。本実施の形態の目的は、このような場合でも所望のサーバーにパケットを到達させるための発明を開示することである。
【０１２６】
なお、ユーザと接続されているサーバをバンドルクライアント（Ｂｃ）、サーバと接続されるサーバをバンドルサーバー（Ｂｓ）、ＢｃとＢｓ間で通信を中継するサーバーをバンドル（Ｂｄ）と呼ぶ。また、外側ネットワークセグメントを管轄するバンドルをＢｄｏ、内側ネットワークセグメントを管轄するバンドルをＢｄｉとする。図１１では、Ｂ１（１０６）はＢｄｏ、Ｂ２（１０８）はＢｄｉである。
【０１２７】
本実施の形態では、実施の形態１および２で示したＰＣＣサーバーの有するアプリケーション毎の情報とは別にサーバー側のネットワーク内での通信経路制御を行うためのデータベースを別に用意する。この情報によってサーバー側のネットワーク内での通信経路を通過させる。経路制御のためのデータベースはＤＢに番号を随時付加して表す。
【０１２８】
図１１において、簡単のために、サーバーであるＳ１（３０）は２つ、Ｓ２（３２）とＳ３（３４）はそれぞれ１つのサービスを提供しているとする。それぞれを識別するポートをＰ１およびＰ２とする。すなわち、Ｂ１（１０６）は自身のネットワークの中に、Ｍ１：Ｐ１、Ｍ１：Ｐ２、Ｍ２：Ｐ１、Ｍ３：Ｐ１という４つのサービスを有する。
【０１２９】
（全体的な動作の流れ）
図１１を参照して、データベースＤＢ１（１１４）は、Ｂ１の有するデータベースである。ここには、Ｂ１（１０６）が管轄する４つのサービスに対して要求があったとき、その要求を転送すべき相手先が記録してある。
【０１３０】
また、ＤＢ２（１１６）は、Ｂ２の有するデータベースである。ここには、Ｂ２の管轄する２つのサービスに対して要求があったときに、その要求の転送先が記録されている。
【０１３１】
例えば、Ｂ１（１０６）に対して、Ｍ１：Ｐ２のサービスの要求があったとすると、Ｂ１はＤＢ１（１１４）を参照して、このパケットをＢ２（アドレスは「Ｇｂ２」）へ転送する。このようにすると、Ｂ１はＢ２のネットワークの内部構成を知る必要がない。Ｂ２もネットワーク内の通信情報のデータベースであるＤＢ２（１１６）を参照する。図１１では、Ｂ２（１０８）は受け取ったパケットのサービスを特定する情報であるＭ１：Ｐ２を見て、Ｂｓ１（アドレスは「Ｇ１」）へパケットを転送する。ＤＢ１やＤＢ２をサービス対応リストと呼ぶ。
【０１３２】
さらにこのパケットを受け取ったＢｓ１（１１０）は、自身の有するアプリケーション情報（図２の４２すなわち許可端末リストに相当）に照らし合わせ、許可されたユーザーからの要求であることを確認し、所定の暗号方式と鍵で復号化した後、所定のサーバーのポートへ送信する。
【０１３３】
Ｂｃは実施の形態１乃至３で示したＰＣＣクライアントと同じものである。また、Ｂｓ１、Ｂｓ２は後に明確になるように、パケット化の暗号を解かない点を除けば、実施の形態１乃至３のＰＣＣサーバーと同じである。
【０１３４】
（より詳細な説明）
図１２には、本実施の形態で使われるパケットを示した。図１１と１２を参照してより詳細な説明を行う。
【０１３５】
ユーザＡがＳ１のポートＰ１のサービスを受けようとした場合について説明を進める。ユーザＡがＴａ（１０）からサービスを特定するＭ１：Ｐ１へサービス提供のコマンドを送る。ペイロードの内容は「ｃｏｍ.」と示した。パケット（１２０）がこれにあたる。Ｂｃ（１０４）は、実施の形態１乃至３のＰＣＣクライアントと同じ機能を有しており、指定されたアドレスへユーザＡは接続を許可されているか否かを自身の有するユーザの情報（図２の４０すなわち利用可能サービスリストに相当）を参照して確認する。
【０１３６】
実施の形態１乃至３では、ユーザの情報には転送先のＰＣＣサーバーのアドレスが記載してあったが、ここではバンドルのアドレスが記載されたものになる。また、サービスを許可されているということと、所定ポートへ接続できるということはここでは同意である。
【０１３７】
Ｂｃは上記の確認ができたら、ペイロードの部分をアプリケーション毎の暗号方式と暗号鍵によって暗号しパケット（１２２）を得る。さらにトンネリングのための暗号をパケット（１２２）に行いパケット（１２４）を得る。これに自身のアドレスであるＡａと送信先のバンドルであるＢ１のアドレスＧｂ１をつけてパケット（１２６）を得る。これを公衆回線に送信する。
【０１３８】
Ｂ１（１０６）はこれを自身宛のパケットとして受け取る。そして、トンネリングのための暗号を復号し、パケット（１２８）を得る。パケット（１２８）からは、要求されているサービスがＭ１：Ｐ１であることがわかる。すなわちサービスを識別する。Ｂ１（１０６）はＤＢ１（１１４）を参照して、転送アドレスＧｂ２を得る。そこで、先頭アドレスをＧｂ２に書き換えたパケット（１３０）をＢ２に送信する。これをセクションアドレスの書き換えと呼び、Ｂ２への送信をセクション内送信と呼ぶ。
【０１３９】
Ｂ２は、パケット（１３０）を受け取り、ＤＢ２（１１６）を参照し、サービスＭ１：Ｐ１はアドレスＧ１のＢｓ１に送信することを知る。Ｂ２の受信は、公衆回線からの直接受信ではない。そこでこれをセクション内通信受信という。そして先頭アドレスをＧ１に書き換えたパケット（１３２）をＢｓ１に送信する。ここでのアドレス書き換えと送信もセクションアドレスの書換えおよびセクション内送信である。
【０１４０】
Ｂｓ１は実施の形態１乃至３で説明したＰＣＣサーバーと同じである。ただし送られてくるカプセル化されたパケットは、パケット化の暗号はすでに復号済みのものが送られている。Ｂｓ１はパケット（１３２）のカプセル化を解除し、アプリケーション毎の暗号鍵を用いてペイロード部を復号化する。このようにして得たパケット（１３４）をＳ１へ送信する。
【０１４１】
以上のようにすることで、多重化されたネットワークでもサービス毎の専用回線を確立することができる。
【０１４２】
（フローチャートの説明）
図１３には、本実施の形態のバンドルであるＢｄの動作のフローを示す。これはＢｄｏの動作を示すフローである。
【０１４３】
自分宛のパケットを取得したら（１０４０）、カプセル化を解除する（１０４２）。これはパケット（１２６）から自分のアドレスＧｂ１と、送信元のアドレスＡａを削除することである。次に共通鍵を用いて残りの部分を復号化する（１０４４）。これはトンネリング暗号の復号化である。Ｂ１（１０６）とＢｃ（１０４）の間は実施の形態１乃至３で説明したＰＣＣクライアントとＰＣＣサーバーと同様に、共通鍵によるセキュアー通信路が確立されている。この処理によって送られてきたパケットはどのアプリケーションを要求したものかが分かる。
【０１４４】
次にＤＢを参照して、要求されたアプリケーションはどこに転送すればよいかを判断する。もし、要求されたアプリケーションがなければ、破棄もしくは対応できない旨を通知する（１０４６乃至１０４８）。転送先がわかれば、転送先アドレスに送信元アドレスであるＡａを付加し、カプセル化したパケット（１３０）を作って、そこに転送する（１０５０）。
【０１４５】
バンドルはこのようにしてパケットを後方のサーバーに転送する。これによって、バンドルは後方のネットワークの構成を知る必要はなくなり、管理は容易になる。
【０１４６】
なお、内部ネットワークセグメントであるＢ２（１０８）では、図１３の（１０４２）および（１０４４）の処理はスキップする。トンネリングの暗号は、すでにＢ１（１０６）が復号しているからである。
【０１４７】
また、Ｂｓ１（１１０）やＢｓ２（１１２）は実施の形態１乃至３で説明したＰＣＣＳと同じフローで動作するが、トンネリングの復号は不要なので、その部分は不要である。具体的には図４の（１０２６）以下の処理を行えば足りる。
【０１４８】
（実施の形態５）
実施の形態４では、サービスを提供するサーバＳ１、Ｓ２、Ｓ３のＩＰアドレスであるＭ１、Ｍ２、Ｍ３などとポート番号を指定することでサービスを特定していた。そうすると、利用者の端末Ｔａ（１０）などからそのＩＰアドレスが盗まれたり、流出したりする事故があったときにサーバのＩＰアドレスが知れてしまうことになる。特に利用者の端末の数が多くなればなるほど、サーバのＩＰアドレスが流出する可能性は高くなる。
【０１４９】
そこで、サービスの特定の仕方としてサーバーのアドレスとポート番号の代わりにサービスＩＤといういわばサービスを表すシンボルを使う。このサービスＩＤを用いると直接サーバのＩＰアドレスやポート番号が漏れる心配がなくなる。
【０１５０】
本実施の形態では、図１１においてＭ１：Ｐ１などで表していたサービスをｈｔｔ１といったサービスＩＤで表す。具体的には、サーバＳ１のサービスであるＭ１：Ｐ１をｈｔｔｐ１１、Ｍ１：Ｐ２をｈｔｔｐ１２、サーバＳ２のサービスであるＭ２：Ｐ２をｈｔｔｐ２２、サーバＳ３のサービスであるＭ３：Ｐ１をｈｔｔｐ３１というサービスＩＤで置き換えた。
【０１５１】
図１４に本実施の形態の構成を示す。ＤＢ１とＤＢ２以外は実施の形態４で示した図１１と同じである。
【０１５２】
ＤＢ１（１４０）やＤＢ２（１４２）はサービスを特定するために新たに導入されたサービスＩＤも情報として含まれる。これによってユーザは、Ｍ１：Ｐ１といった指定方法によって特定されるサービスを、ｈｔｔｐ１１といったサービスＩＤで指定することができる。
【０１５３】
ユーザからの要求がｈｔｔｐ１１で表されるサービスＭ１：Ｐ１であったとして説明する。Ｂ１（１０６）は、ユーザから送られてきたパケットのサービスＩＤを取り出し、ＤＢ１（１４０）を参照して、次の転送先であるＢ２のアドレスＧｂ２を得る。Ｂ２（１０８）は、送られてきたパケットのサービスＩＤがｈｔｔｐ１１であることを知り、ＤＢ２（１４２）を参照して、次の転送先であるＢａ１のアドレスＧ１と、ｈｔｔｐ１１のサービス番号はＭ１：Ｐ１であることを知る。Ｂａ１は、ＤＢ２を参照した時点で、サービスＩＤからサービス番号に変換を行う。いわば、サービスを表すシンボルをアドレスへ書き換える。
【０１５４】
図１５には、これをパケットの動きで説明する。ユーザが使用するのは、サービスＩＤなので、ユーザが作成するパケット（１５０）のヘッダにはサービスＩＤである「ｈｔｔｐ１１」が記載される。ＰＣＣＣはコマンド部分を暗号化し（１５２）、さらに全体を暗号化し（１５４）、自分のアドレス（Ａａ）と送り先のＰＣＣＳのアドレス（Ｇｂ１）をつけて公衆回線上に送り出す。
【０１５５】
ＰＣＣＳ側では、受け取ったパケットを復号化し、サービスＩＤを確認する（１５８）。そこでサービスＩＤであるｈｔｔｐ１１をＤＢ１（１４０）で参照し、自分のアドレスであるＧｂ１を次の転送先Ｂ２のアドレスＧｂ２に書き換えて送り出す（１６０）。
【０１５６】
Ｂ２（１０８）は、ＤＢ２（１４２）を参照してサービスの特定をシンボルであるｈｔｔｐ１１からアドレスとポート番号であるＭ１：Ｐ１に書き換える。さらに、自分のアドレスであるＧｂ２を、次の転送先Ｂｓ１のアドレスＧ１に書き換えて、送り出す（１６２）。以下Ｂｓ１（１１０）が、不要なヘッダを削除し、サーバＳ１（アドレスはＭ１）のポート１番にパケット（１６４）を送るのは実施の形態４の場合と同じである。
【０１５７】
図１６には、同じくフローでの説明を行う。パケットを取得し（１０６０）、復号化（１０６４）し、データベースを参照（１０６６）し、サービスがＤＢにあるか否か（１０６８）の判断までは図１３と同じである。但し、サービスがＤＢにあるか否かの判断はサービスＩＤ、若しくはサーバのアドレスとポート番号で判断する。
【０１５８】
サービスがＤＢにあった場合は、さらに具体的なアドレスの記述がＤＢにあるか否かを判断する（１０７０）。もし具体的なアドレスの記載があれば、サービスＩＤを具体的なアドレスに書き換える（１０７２）。例えば、上述したようにｈｔｔｐ１１というサービスＩＤをＭ１：Ｐ１というアドレスとポート番号に書き換える。そして次の転送先へ転送する（１０７２）。もし、具体的なアドレスがＤＢに記載されてなかったら（１０７０でＮの分岐）、そのまま次の転送アドレス先に転送する。
【０１５９】
なお、内部ネットワークセグメントであるＢ２（１０８）では、図１６の（１０６２）および（１０６４）の処理はスキップする。トンネリングの暗号は、すでにＢ１（１０６）が復号しているからである。
【０１６０】
また、Ｂｓ１（１１０）やＢｓ２（１１２）は実施の形態１乃至３で説明したＰＣＣＳと同じフローで動作するが、トンネリングの復号は不要なので、その部分は不要である。具体的には図４の（１０２６）以下の処理を行えば足りる。
【０１６１】
このようにサービスを特定するのにサービスＩＤという代表文字もしくは数字、記号といったシンボルを用いることで、サービスを提供するサーバのＩＰアドレスが、流出することをより強固に防ぐことができる。
【０１６２】
（実施の形態６）
本実施の形態では、ＰＣＣクライアントのＩＰアドレスが自動取得となる場合について説明する。本発明ではユーザは自分の端末およびＰＣＣクライアントを移動端末として持ち歩き、移動中もサービスが受けられる。特に、接続を切断することなく、継続的な接続を要求するサービスでは、接続が切断された場合の処理を、ＰＣＣクライアントとＰＣＣサーバーが吸収してしまう。従って、ユーザーとサーバーは実際に通信が切断されたことを意識せずに、サービスの利用と提供を行うことができる。
【０１６３】
図１７に本実施の形態の構成を示す。ユーザーの端末であるＴａ（１０）にはＰＣＣクライアントであるＰＣＣＣａ（１１）が接続されており、これが公衆回線５００に接続されている。公衆回線５００を通じてＰＣＣサーバーであるＰＣＣＳ１との間でサービス毎の専用回線が形成され、実際にサービスを行うサーバーであるＳ１（３０）と接続されているのは、実施の形態１乃至３で説明した場合と同じである。なお、本実施の形態においても、認証局を利用するが、認証局については、図示を省略した。
【０１６４】
図１７（ａ）を参照して、ＰＣＣＣａ（１１）は、自身のＩＰアドレスの取得に際して、近郊のホットスポット１（１７０）に通信をし、アドレスを取得する。これはＰＣＣＣａ（１１）のＣＰＵとメモリで行われるソフトウェア処理で実現する。ホットスポット１（１７０）は通信管理サーバー（１７２）が接続されていて、ＩＰアドレスの使用状況を監視し、アドレスの重複がないように常時管理している。
【０１６５】
アドレスを取得したＰＣＣＣａ（１１）は、実施の形態２で示した認証を行い、公衆回線を使ってＰＣＣＳ１（１９）とサービス毎の専用回線を確立する。ユーザーはホットスポット１（１７０）と通信可能な間は割り当てられたＩＰアドレスを用いて公衆回線と接続することができる。例えばここでは、ユーザＡは、サーバＳ１と通信を行う。すなわち、ＰＣＣＣａ（１１）は端末Ｔａ（１０）に対してＭ１：ＰＸで表されるサービスのポートを開いている。同様にサーバＳ１からはＰＣＣＳ１がＵａというアドレスのユーザと接続を行っているように見える。
【０１６６】
図１７（ｂ）を参照して、ユーザが今移動中で、ホットスポット１（１７０）との通信が困難になった場合は、ＰＣＣＣａ（１１）と、ホットスポット１（１７０）との通信は切断される。
【０１６７】
この場合、ＰＣＣＣａ（１１）とＰＣＣＳ１（１９）との間の通信は切断される。しかし、ユーザの端末（１０）はＰＣＣＣａ（１１）と通信しており、Ｓ１（３０）はＰＣＣＳ１（１９）と通信を行っている。従って、端末（１０）とＳ１（３０）は、お互いの間の通信が切断されたことを検知しない。相手側からの返信に時間がかかっているだけと認識できるだけである。すなわち、永続的な接続を要求するサービスであっても、継続して受けることができる。
【０１６８】
図１７（ｃ）を参照して、ＰＣＣＣａ（１１）は、別のホットスポット２（１７４）と通信を行い、アドレスを取得しこちらへ切り替える。すなわち、ＰＣＣＣａ（１１）が使うアドレスは変わることとなる。図１７では、ＰＣＣＣａのＩＰアドレスはＡａからＡｘに変わった。
【０１６９】
ホットスポット２（１７４）と通信を行い新たなアドレスを割り当てられたＰＣＣＣａ（１１）は、再度認証の手続きを行い、ＰＣＣＳ１（１９）とサービス毎の専用回線を確立する。
【０１７０】
この間、ユーザの端末Ｔａ（１０）はＰＣＣＣａ（１１）と常にＭ１というポートで繋がっており、またサーバＳ１はＵａというユーザと接続を行っているように見える。以上のようにホットスポットの切り替えが行われても、ユーザの端末Ｔａ（１０）とサーバＳ１（３０）は本発明のＰＣＣ方式の通信環境下で、高いセキュリティーの通信を継続して行える。
【０１７１】
（フローの説明）
図１８は、ＰＣＣクライアント側の動作を表すフローである。図１７の場合では、ＰＣＣＣａの動作に相当する。ＰＣＣＣａ（１１）は、使用可能なアクセスポイントを探す（１０８０）。これは、電界強度が強く、使用を許可されたスポットである。電界強度が強く、良好な受信状態を得たとしても使用を許可されていないスポットは使えない。ここではホットスポット（１７０）が使用を許可されたスポットであるとする。そして、ホットスポット１（１７０）を解して通信局（１７２）からアドレスを取得する（１０８２）。
【０１７２】
図１７には図示していないが、認証局との間で実施の形態２で説明した認証作業を行い認証書を得る（１０８４）。この認証に失敗した場合は再度アクセス可能なホットスポットを探しにいく（１０８４のＮ分岐）。認証をもらえたら、この認証書を持って、ＰＣＣＳ１へ接続を図る（１０８６）。
【０１７３】
通信が開始できたら、通信処理を始める（１０９０）。通信処理には、サービス毎の鍵の設定を受けたり、所定のパケットの送信や受信が含まれる。この動作中ホットスポットとの間での電界強度Ｅが所定の値（Ｔｈ）より小さいか否かをモニタする（１０７２）。これが所定の値以上であれば、通信を続ける（１０８８）。
【０１７４】
もし、電界強度Ｅが所定の値（Ｔｈ）以下であれば、現在与えられているアドレスでの通信をあきらめて、一旦公衆回線との接続を切る（１０９４）。そして、また接続可能なホットスポットを探索しにいく（１０８０）。図１７では、ホットスポット２との接続を示す。
【０１７５】
そして再度アドレスの取得を行う（１０８２）。図１７では、最初のホットスポット１（１７０）への接続で取得したアドレスはＡａであった。次に接続したホットスポット２（１７４）では、Ａｘというアドレスに変わっている。
【０１７６】
次にまた認証局に対して認証を行うが（１０８４）、ここでは、先に接続していた際のアドレスであるＡａと現在取得したアドレスであるＡｘの両方を認証書に書き込んでおくのが好ましい。次にＰＣＣＳ１へ接続した際に、ＰＣＣＳ１がどのユーザーとの接続を変更したのかが、わかるためである。
【０１７７】
この処理では、通信を終了するか否かをモニタしておき（１０８８）、通信を終了する場合は、終了処理を行い（１０９６）、終了する。
【０１７８】
図１９には、ＰＣＣＳ１での動作のフローを表す。ＰＣＣＳ１は自分宛のパケットを受け取り（１１１０）、認証局の公開鍵で復号化する（１１１２）。通信相手の認証を確認できたら（１１１４）、ユーザ毎のＰＣＣＣのアドレスを記録する（１１１６）。具体的には図２に示したアプリケーション毎の情報である許可端末リスト（４２）と、トンネリング暗号管理テーブル（４６）部分にＰＣＣＣのアドレスを記録する。認証が確認されなければ、そのパケットは破棄される（１１１８）。通信を許可された相手ではないからである。
【０１７９】
サービス毎の暗号方式および鍵の設定を行い（１１２０）、通信を開始する（１１２４）。通信が終了の場合は（１１２６）、終了処理を行って（１１２８）終了する。
【０１８０】
ＰＣＣＳ１は、ＰＣＣＣａがホットスポットとの接続を切断したことを知ることができないので、ＰＣＣＳ１は常に通信内容が認証要求か否かをモニタする（１１２２）。そして、送られてきたパケットが認証要求である場合は、再び認証局の公開鍵で復号化し、認証を確認する（１１１２、１１１４）。すなわち、ＰＣＣＳ１は通信パケットが認証要求であるか否かを判断する。
【０１８１】
ここで、認証書に前のアドレスと新しいアドレスが記載されている場合には、ユーザ毎のＰＣＣＣのＩＰアドレスを書き換える。すなわち、アドレスを更新する。図１７の場合では、ＰＣＣＣａのＩＰアドレスは、最初の接続ではＡａであったが、新たな認証書には前のアドレスであるＡａと新しいアドレスであるＡｘが記載されているので、図２のアプリケーション毎の情報（４２）と、カプセル化のための情報（４６）に記載されたＰＣＣＣａのＩＰアドレスを書き換える。
【０１８２】
なお、ここでは認証書に新旧のアドレスが記載されていた例を説明したが、ステップ１１１６でユーザ毎のＰＣＣＣのアドレスを記録しているのでこれを利用してもよい。すなわち、アプリケーション毎の情報（４２）やカプセル化のための情報（４６）には、ユーザ名だけでなく端末のアドレスも記載されている。従って、認証を求めてきた相手がすでにこれらのテーブルに記載されていたら、現在通信を行っている端末に接続されたＰＣＣＣのアドレスが変更になったと判断する。これはいわば、通信記録を確認することになる。
【０１８３】
その後、再度サービス毎の暗号方式と暗号鍵の設定（１１２０）は行ってもよいし、前の設定をそのまま用いてもよい。
【０１８４】
上記の説明で、送られてきたパケットが認証要求であるかどうかをＰＣＣＳの動作フローの（１１２２）として説明したが、この処理は別途の専用処理ルーチンで処理をし、認証要求であれば、割り込みをかけて処理（１１１２）から始まるようにしてもよい。
【０１８５】
以上のようなＰＣＣクライアントと、ＰＣＣサーバーによって、利用者はローミング機能を有した本発明を利用することができ、移動しながらでもセキュリティーの高いサービスを受けることができる。
【産業上の利用可能性】
【０１８６】
サーバーの提供するサービス毎に接続できる利用者を制限することで、公衆回線を利用しながらあたかもサービス毎の専用回線を設置したようなセキュリティーの高い通信ができるので、多くのサーバーを有したＬＡＮのセキュリティー向上に役立つ。
【図面の簡単な説明】
【０１８７】
【図１】本発明の通信方法を説明する図
【図２】本発明のＰＣＣクライアントとＰＣＣサーバーの動作を説明する図
【図３】本発明の通信でのパケットの変化を説明する図
【図４】本発明のＰＣＣクライアントとＰＣＣサーバーの動作を示すフロー
【図５】本発明のＰＣＣクライアントとＰＣＣサーバーが接続する前の図
【図６】ＰＣＣクライアントとＰＣＣサーバーが暗号方式と鍵をやり取りする場合の通信内容を説明する図
【図７】図６の場合にＰＣＣクライアントとＰＣＣサーバーの動作を示すフロー
【図８】認証局がある場合の通信方法を説明する図
【図９】ＰＣＣクライアントと認証局のデータのやり取りを説明する図
【図１０】認証局がある場合のＰＣＣクライアントとＰＣＣサーバのやり取りを説明する図
【図１１】ＰＣＣサーバーの管理するネットワークが多重化した場合を説明する図
【図１２】図１１の場合のパケットの変遷を説明する図
【図１３】図１１の場合のＰＣＣサーバーの動作を示すフロー
【図１４】サービスＩＤを用いる場合にネットワークが多重化した場合を説明する図
【図１５】図１４の場合のパケットの変遷を説明する図
【図１６】図１５の場合のＰＣＣサーバーの動作を示すフロー
【図１７】ＰＣＣクライアントがローミング機能を有する場合を説明する図
【図１８】図１４のときにＰＣＣクライアントの動作を説明する図
【図１９】図１４のときにＰＣＣサーバーの動作を説明する図
【図２０】従来のＶＰＮを説明する図
【図２１】従来のＶＰＮの課題を説明する図
【符号の説明】
【０１８８】
１０  ユーザ端末
１２  ＰＣＣクライアント
２０  ＰＣＣサーバー
３０  サーバー
４０  ユーザの情報である利用可能サービスリスト
４２  アプリケーションの情報である許可端末リスト
４４  トンネリング暗号管理テーブル
【図１】
0004752064.tif 000002
【図２】
0004752064.tif 000003
【図３】
0004752064.tif 000004
【図４】
0004752064.tif 000005
【図５】
0004752064.tif 000006
【図６】
0004752064.tif 000007
【図７】
0004752064.tif 000008
【図８】
0004752064.tif 000009
【図９】
0004752064.tif 000010
【図１０】
0004752064.tif 000011
【図１１】
0004752064.tif 000012
【図１２】
0004752064.tif 000013
【図１３】
0004752064.tif 000014
【図１４】
0004752064.tif 000015
【図１５】
0004752064.tif 000016
【図１６】
0004752064.tif 000017
【図１７】
0004752064.tif 000018
【図１８】
0004752064.tif 000019
【図１９】
0004752064.tif 000020
【図２０】
0004752064.tif 000021
【図２１】
0004752064.tif 000022