(57)【特許請求の範囲】
【請求項１】
第二のクライアント端末が、第一のクライアント端末から送信された通信要求パケットを受信した後、前記通信要求パケットから識別アドレスを取り込む識別アドレス取得ステップと、
前記第二のクライアント端末の記憶手段に通信禁止コードが記憶されているか否かを判断する通信禁止コード有無判定ステップと、
前記通信禁止コード有無判定ステップにおいて前記第二のクライアント端末の記憶手段に通信禁止情報を構成する通信禁止コードが記憶されていると判断した場合は、前記通信禁止情報を構成する通信禁止マスク情報と前記識別アドレスとの論理積を演算する第一論理積演算ステップと、
前記第一論理積演算ステップにて得られた論理積演算結果と前記通信禁止コードとが一致するか否かを判断する通信禁止コード一致判定ステップと、
前記通信禁止コード有無判定ステップにおいて前記第二のクライアント端末の記憶手段に前記通信禁止コードが記憶されていないと判定された場合、あるいは前記通信禁止コード一致判定ステップにおいて前記論理積演算結果と前記通信禁止コードとが一致していないと判定された場合に、前記記憶手段に通信許可情報を構成する通信許可コードが記憶されているか否かを判断する通信許可コード有無判定ステップと、
前記通信許可コード有無判定ステップにおいて前記通信許可コードがあると判定された場合には、前記記憶手段から前記通信許可情報を構成する通信許可マスク情報を取り出し、前記通信許可マスク情報と前記識別アドレスとの論理積を演算する第二論理積演算ステップと、
前記第二論理積演算ステップにおいて得られた前記通信許可マスク情報と前記識別アドレスとの論理積演算結果が前記通信許可コードと一致するか否かを判断する通信許可コード一致判定ステップと、
前記通信許可コード一致判定ステップにおいて、前記論理積演算結果と前記通信許可コードが一致したと判断された場合に、前記第一のクライアント端末との接続を開始する通信開始ステップと、
前記通信禁止コード一致判定ステップにおいて前記論理積演算結果と前記通信禁止コードとが一致していると判定された場合、前記通信許可コード有無判定ステップにおいて前記通信許可コードがないと判定した場合、あるいは前記通信許可コード一致判定ステップにおいて前記論理積演算結果と前記通信許可コードが一致しないと判定した場合に、前記第一のクライアント端末との接続をすることなく通信を終了する通信終了ステップと
を有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＴＣＰ／ＩＰ等の特定のプロトコルによってコンピュータ間で相互に通信を行うに際して、それぞれの端末間で相互認証を行なうための通信方法に関する。
【背景技術】
【０００２】
ＴＣＰ／ＩＰ等の特定のプロトコルを利用したクライアントサーバシステムでは、サーバがクライアント端末の認証を行なう方法として、例えば、ユーザＩＤやパスワード、バイオメトリクスを利用することが行なわれている（例えば、特許文献１を参照）。
また、クライアント端末がサービスを提供するサーバにアクセスする際、事前に認証サーバにアクセスして、電子証明書を取得した後、サービスを提供するサーバにアクセスすることも提案されている。
【特許文献１】特開２００４−３００７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、一般に、クライアントサーバシステムでは、クライアント端末のアクセス権限をサーバ側で認証するようにしており、その認証処理に常にサーバを仲介させているため、クライアント端末間の接続に時間がかかる等の問題が生じる。このため、特定のクライアント端末のグループ間で相互に迅速で安全な通信接続ができるようにすることは極めて重要な課題となっている。そこで、それぞれのクライアント端末に認証機能を持たせ、各クライアント端末自体が、なりすまし、不正進入、攻撃から防御できるようにするシステムが必要とされている。つまり、クライアント端末自体が接続要求のあった他のクライアント端末との接続を許可するか、あるいは接続を拒否するかを決定するための認証システムを備えていることが望まれている。
【０００４】
しかし、特定の機関、例えば、ＬＡＮ（Local Area Network）を構築した会社内で複数のクライアント端末が稼働している場合や、共通の目的をもった機関、例えば、ＶＰＮ（Virtual Private Network）でネットワークを構築した自治体内等で複数のクライアント端末が稼働している場合には、それぞれのクライアント端末自体に認証システムを具備させることは現実的ではない。また、上述したように、認証サーバを利用して接続要求のたびに認証を行うことも、応答性の低下を招くという点で問題がある。
【０００５】
また、特定のＬＡＮにおいては、複数のクライアント端末の利用者が、同じグループに属する者同士で通信を行い、他のグループの者からの通信を受け付けないようにしたいという要求もある。例えば、会社組織であれば、取締役だけというような特定の職制の者だけがアクセスできる権限を持っている情報や、経理部門だけというような特定の部署の者だけがアクセスできる権限を持っている情報がある。このような場合は、当然のことながら、クライアント端末同士の接続を一定の範囲のものに限っておきたいという要求がある。
【０００６】
本発明の目的は、特定のグループに属するクライアント端末のみの間で、相互のアクセスすることができるようするため、クライアント端末間で相互認証するための通信方法を提供することにある。
また、本発明は、特定のグループの中でそれぞれのクライアント端末にアクセス権限を付与し、上位のアクセス権限を付与されたクライアント端末から下位のアクセス権限を付与されたクライアント端末への接続を許可し、下位のアクセス権限を付与されたクライアント端末から上位のアクセス権限を付与されたクライアント端末への接続を拒否することにより、情報の漏洩を防止することも目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決し、本発明の目的を達成するため、本発明の通信方法は、第二のクライアント端末が、第一のクライアント端末から送信された通信要求パケットを受信した後、通信要求パケットから識別アドレスを取り込む識別アドレス取得ステップと、第二のクライアント端末の記憶手段に通信禁止コードが記憶されているか否かを判断する通信禁止コード有無判定ステップと、通信禁止コード有無判定ステップにおいて第二のクライアント端末の記憶手段に通信禁止情報を構成する通信禁止コードが記憶されていると判断した場合は、通信禁止情報を構成する通信禁止マスク情報と識別アドレスとの論理積を演算する第一論理積演算ステップと、第一論理積演算ステップにて得られた論理積演算結果と通信禁止コードとが一致するか否かを判断する通信禁止コード一致判定ステップと、通信禁止コード有無判定ステップにおいて第二のクライアント端末の記憶手段に通信禁止コードが記憶されていないと判定された場合、あるいは通信禁止コード一致判定ステップにおいて論理積演算結果と通信禁止コードとが一致していないと判定された場合に、記憶手段に通信許可情報を構成する通信許可コードが記憶されているか否かを判断する通信許可コード有無判定ステップと、通信許可コード有無判定ステップにおいて通信許可コードがあると判定された場合には、記憶手段から通信許可情報を構成する通信許可マスク情報を取り出し、通信許可マスク情報と識別アドレスとの論理積を演算する第二論理積演算ステップと、第二論理積演算ステップにおいて得られた通信許可マスク情報と識別アドレスとの論理積演算結果が通信許可コードと一致するか否かを判断する通信許可コード一致判定ステップと、通信許可コード一致判定ステップにおいて、論理積演算結果と通信許可コードが一致したと判断された場合に、第一のクライアント端末との接続を開始する通信開始ステップと、通信禁止コード一致判定ステップにおいて論理積演算結果と通信禁止コードとが一致していると判定された場合、通信許可コード有無判定ステップにおいて通信許可コードがないと判定した場合、あるいは通信許可コード一致判定ステップにおいて論理積演算結果と通信許可コードが一致しないと判定した場合に、第一のクライアント端末との接続をすることなく通信を終了する通信終了ステップとを有する。
【０００８】
また、本発明の通信方法は、接続要求するコンピュータと該接続要求を受け付けるコンピュータとの間において、ＴＣＰ又はＵＤＰに該当するプロトコルを取り扱う通信方法であって、接続要求するコンピュータにおいて、ＴＣＰパケット又はＵＤＰパケットにコンピュータ及び／又は該コンピュータを使用するユーザに固有の識別アドレスを付加するとともに、接続要求を受け付けるコンピュータにおいて、このＴＣＰパケット又はＵＤＰパケットから識別アドレスを判別して認証し、この接続要求を受け付けるコンピュータにおける識別アドレスの認証の際に、識別アドレスのうちの予め設定された範囲が一致する場合には接続を許可し、識別アドレスのうちの予め設定された範囲が一致しない場合には接続を拒否することを特徴としている。このコンピュータに付加される識別アドレスは、例えば、ＩＰペイロードに搭載されている。そして、特にそのＩＰペイロードの一部を構成するＴＣＰヘッダに搭載されることが望ましい。
【０００９】
さらに、本発明の通信システム及び通信方法の好ましい形態においては、クライアント端末における識別アドレスのビット列がセキュリティレベルに対応して階層化した構造となっており、このセキュリティレベルに対応して識別アドレスの認証を行い、クライアント端末間の接続を許可するか、あるいは接続を拒否するかを判断するようにしている。また、この場合、クライアント端末のセキュリティレベルに応じて、受信した識別アドレスのビット列を部分的にマスクすることにより、上位又は同位のセキュリティレベルのコンピュータからの接続要求に対して接続を許可し、下位のセキュリティレベルのコンピュータからの接続要求に対して接続を拒否するようにしている。
【発明の効果】
【００１０】
本発明の通信システム及び通信方法によれば、ＴＣＰ又はＵＤＰのようなトランスポート層のプロトコル自体に相互認証できる機能を追加し、この相互認証機能を備えたトランスポート層のプロトコルをサーバと各クライアント端末に採用しているので、クライアント端末自体で接続要求のあった他のクライアント端末との接続許可又は接続拒否のための処理が可能である。このため、従来のように、接続要求の度に特定のサーバによって認証を行なう必要がなくなる。したがって、それぞれのクライアント端末が、上述のトランスポート層のプロトコルを利用する限り、他の認証手段・認証方法を用いることなく高度のセキュリティでクライアント端末間の通信を実現することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明による通信システム及び通信方法の実施の形態例を説明する。
図１は、本発明による通信システム及び通信方法を利用したネットワークの適用例を示すブロック図である。グループＡ〜Ｃは１つのＬＡＮ（Local Area Network：ＬＡＮ（１）とする。）に収容されているクライアント端末群を示している。グループＤのクライアント端末は「ＬＡＮ（１）とは異なるＬＡＮ（２）に収容されているクライアント端末である。
ＬＡＮ（１）２０とＬＡＮ（２）３０とは、外部ネットワーク４０を介して接続されている。
【００１２】
ＬＡＮ（１）に収容されているグループＡに属するクライアント端末Ａ１，Ａ２，Ａ３，・・・は、例えば会社の取締役クラスが使用するクライアント端末としてのセキュリティレベルが設定されている。また、ＬＡＮ（１）に収容されているクライアント端末の中で、グループＢに属するクライアント端末Ｂ１，Ｂ２，Ｂ３・・・は、例えば部長や課長などの管理職クラスのセキュリティレベルが設定されているクライアント端末である。そして、同じくグループＣに属するクライアント端末Ｃ１、Ｃ２、Ｃ３・・・は、例えば担当者レベルのセキュリティレベルが設定されているクライアント端末である。当然のことながら、グループＡに属するクライアント端末のセキュリティレベルが最も高く設定され、グループＣに属するクライアント端末のセキュリティレベルが最も低く設定されることになる。
【００１３】
ＬＡＮ（１）とは異なるＬＡＮ（２）に収容されるグループＤに属するクライアント端末Ｄ１，Ｄ２，Ｄ３・・・は、例えば会社の支所や支店に存在しているクライアント端末であり、グループＣに属するクライアント端末Ｃ１〜Ｃ３と同レベルのセキュリティレベルが設定されているものとする。
【００１４】
本実施の形態例では、それぞれのＬＡＮ（１）あるいはＬＡＮ（２）に接続された同じＬＡＮに収容されているクライアント端末間の接続許可あるいは拒否を実現するための通信システム及び通信方法を例として説明するが、異なるＬＡＮ間に収容されているクライアント端末間の通信、すなわち、ＬＡＮ（１）に収容されたクライアント端末、例えばクライアント端末Ａ１と、ＬＡＮ（２）に収容されているクライアント端末、例えばクライアント端末Ｄ１とが通信を行う場合においても、本発明の通信システム及び通信システムを利用することができることは言うまでもない。
【００１５】
上述したように、ＬＡＮ（１）に収容されているクライアント端末は、それぞれのグループ毎に異なるセキュリティレベルが設定されているが、各グループに属するクライアント端末には、そのセキュリティレベルに応じてアクセス権限が設定されることになる。すなわち、取締役クラスのセキュリティレベルが設定されるクライアント端末Ａ１、Ａ２、Ａ３・・・には、グループＡ、グループＢ、グループＣの何れに属するクライアント端末に対してもアクセスできるアクセス権限が設定されている。
【００１６】
また、管理職クラス（部課長クラス）のセキュリティレベルを有するグループＢに属するクライアント端末Ｂ１，Ｂ２，Ｂ３・・・には、そのセキュリティレベルに応じたアクセス権限が設定されている。そして、グループＣに属する担当者レベルのクライアント端末Ｃ１，Ｃ２，Ｃ３・・・は、そのセキュリティレベルのアクセス権限が設定されている。このように、ＬＡＮ（１）が収容する各グループに属するクライアント端末には、インストールサーバＩＳが通信プロトコルをインストールする際に、そのセキュリティレベルに応じたアクセス権限が設定されるようになっている。
【００１７】
また、ＬＡＮ（２）は、例えば、会社の支所や支店が保有するＬＡＮであり、このＬＡＮ（２）に収容されているクライアント端末Ｄ１、Ｄ２、Ｄ３・・・は、例えばＬＡＮ（１）のグループＣに属するクライアント端末Ｃ１、Ｃ２、Ｃ３・・・と同一のセキュリティレベルのクライアント端末と考えてよい。ＬＡＮ（２）に収容されている各クライアント端末にも、インストールサーバＩＳが通信プロトコルをインストールする際に、そのセキュリティレベルに応じたアクセス権限が設定されるようになっている。
【００１８】
また、ＬＡＮ（１）又はＬＡＮ（２）に収容されるそれぞれのクライアント端末は、通信インターフェース１００、記憶手段２００、及び認証手段３００を備えている。図１では、ＬＡＮ（１）のグループＣに属する担当者レベルのセキュリティレベルが設定されるクライアント端末Ｃ１だけに上述の通信インターフェース１００、記憶手段２００、認証手段３００が記載されているが、これらの手段はＬＡＮ（１）とＬＡＮ（２）に収容される全てのクライアント端末及び不図示のサーバも具備しているものである。
【００１９】
通信インターフェース１００は、ＬＡＮ（１）あるいはＬＡＮ（２）に収容されるそれぞれのクライアント端末間で通信を行う際に、その接続部となるインターフェースを構成する部分である。記憶手段２００には、各クライアント端末の識別アドレスが記憶されている。認証手段３００は、それぞれのクライアント端末のセキュリティレベルに応じて設けられるマスクされた識別アドレスを用いて接続要求の許可あるいは接続要求の拒否を判別する手段である。この認証手続については後で詳細に説明する。
【００２０】
上述したように、ＬＡＮ（１）及びＬＡＮ（２）に収容される各クライアント端末には、インストールサーバＩＳによって、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ等の通信プロトコルのアプリケーションプログラムがインストール（ダウンロード）される。なお、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ等の通信プロトコルのアプリケーションプログラムは、ＣＤ−ＲＯＭやＰＣカードのような記録媒体から各クライアント端末のハードディスクにダウンロードすることもできるが、ＰＣカードやＣＤ−ＲＯＭを各クライアント端末に挿入して通信プロトコルを利用可能にしてもよい。
【００２１】
また、外部ネットワーク４０に接続されているインストールサーバＩＳには、アプリケーションプログラムのシリアル番号、ＣＰＵのＩＤ等の端末の機器情報、氏名等のユーザ情報、ＭＡＣアドレス（Media Access Control：通信を行うコンピュータやルータなどのハードウエアが独自に持つアドレス、「物理アドレス」ともいう。）、ルータのＩＰアドレス等のＬＡＮに接続された周辺機器情報が保存されている。そして、インストールサーバＩＳが、通信プロトコルのアプリケーションプログラムを各クライアント端末にイストールする際に、インストールサーバＩＳから、ＬＡＮ（１）とＬＡＮ（２）に収容される各クライアント端末に対して、後述するＴＣＰ２に係る識別アドレス（以下、「ＴＣＰ２アドレス」という。）が付与され、各クライアント端末の記憶手段２００に保存される。このＴＣＰ２アドレスが、各クライアント端末間の通信における端末間の相互認証に利用されることになる。
【００２２】
ＬＡＮ（１）とＬＡＮ（２）に収容されるクライアント端末間の通信は、それぞれのクライアント端末にインストールされるＴＣＰ２アドレスがインストールサーバに登録されていること、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ等の通信プロトコルのアプリケーションプログラムがそれぞれのクライアント端末及びサーバにイストールされていること、及び、それぞれのクライアント端末の記憶手段２００に各クライアント端末及びサーバに対応するＴＣＰ２アドレスが保存されていることの３つを条件として、それぞれのクライアント端末間あるいはクライアント端末とサーバ間の接続が行われ、相互に通信することができるように構成される。ここで、それぞれのクライアント端末にインストールされるのは、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ等の通信プロトコルと各クライアント端末のＴＣＰ２アドレスである。
【００２３】
図２は、それぞれのクライアント端末にインストールされるＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ、及びＴＣＰｓｅｃ／ＩＰ、ＵＤＰｓｅｃ／ＩＰ等の通信プロトコルスタックを示す図である。
まず、図２に示すように、本発明に用いられるプロトコルスタックは、最下層に相当する物理層（第１層）とデータリンク層（第２層）にＮＩＣ(Network Interface Card)のDriver１１が配列されている。このドライバは、コンピュータなどのハードウエアをネットワークに接続するためのインターフェースカードのドライバであり、データ送受信制御のためのソフトウエアである。例えばEthernetに接続するためのLANボードまたはLANカードがこれに相当する。
【００２４】
第３層のネットワーク層には、一部がトランスポート層(第４層)まで延びたＩＰエミュレータ（emulator）１３が存在している。このトランスポート層まで延びた部分には、トランスポート層の機能は実装しておらず、セッション層に、ネットワーク層の機能を提供しているだけある。このＩＰエミュレータ１３は、暗号化通信を行うプロトコルである「ＩＰｓｅｃ ｏｎ ＣＰ」１３ｂと、「ＩＰ ｏｎ ＣＰ」１３ａを用途に応じて切り換えて使う働きをするものである。ここで、「ｏｎ ＣＰ」とは、クラッキング・プロテクタ（ＣＰ）による、「進入」「攻撃」の監視、破棄、切断ないし通過制限の対象となっていること、又は、設定によりなりうることを示している。
【００２５】
また、ネットワーク層にはＡＲＰ on ＣＰ（Address Resolution Protocol on Cracking Protector）が配列されている。このＡＲＰ on ＣＰは、クラッカー（Cracker）への保護対策を具備したＩＰアドレスからEthernetの物理アドレスであるＭＡＣアドレスを求めるのに使われるプロトコルである。
【００２６】
ここで、ＩＰエミュレータ１３は、本発明による各種のセキュリティ機能を、従来のＩＰ周辺のスタックに整合させるためのソフトウエア又はファームウエアである。すなわち、ＩＰのエラーメッセージや制御メッセージを転送するプロトコルであるＩＣＭＰ（Internet Control Message Protocol）１４ａ、同一のデータを複数のホストに効率よく配送するための又は配送を受けるために構成されるホストのグループを制御するためのプロトコルであるＩＧＭＰ（Internet Group Management Protocol）１４ｂ、ＴＣＰ１５、ＵＤＰ１６さらにソケット（Socket）インターフェース１７に整合させるためのソフトウエア、又はファームウエア、ないしはハードウエア（電子回路、電子部品）である。このＩＰエミュレータ１３により、ＩＰｓｅｃの暗号化・復号化及び必要な認証情報付加・認証等の前後の適合処理を行うことができる。
【００２７】
このＩＰエミュレータ１３の上層のトランスポート層（第４層）には、ＴＣＰエミュレータ１５とＵＤＰエミュレータ１６が配置されている。ＴＣＰエミュレータ１５は、暗号化通信を行うプロトコルである「ＴＣＰｓｅｃ on ＣＰ」１５ｂと、通常の通信プロトコルである「ＴＣＰ on ＣＰ」１５ａを用途に応じて切り換えて使う働きをする。同様に、ＵＤＰエミュレータ１６は、暗号化通信を行うプロトコルである「ＵＤＰｓｅｃ on ＣＰ」１６ｂと、通常の通信プロトコルである「ＵＤＰ on ＣＰ」１６ａを用途に応じて切り換えて使う働きをする。
【００２８】
トランスポート層（第４層）の上層のセッション層（第５層）には、ＴＣＰ及びＵＤＰ等のプロトコルとデータのやりとりを行うソケット（socket）インターフェース１７が設けられている。このソケットの意味は、既に述べたようにコンピュータが持つネットワーク内の住所に当たるＩＰアドレスと、ＩＰアドレスのサブアドレスであるポート番号を組み合わせたネットワークアドレスを意味しており、実際には、一連のヘッダの追加ないし削除をまとめて行う、単一のソフトウエアプログラムモジュール（実行プログラム等）あるいは単一のハードウエアモジュール（電子回路、電子部品等）からなっている。このソケットインターフェース１７は、さらに上位のアプリケーションからの統一的なアクセス方式を提供するものであり、引数の種類や型など従来と同様のインターフェースを保つようにしている。
【００２９】
ＴＣＰエミュレータ１５は、トランスポート層において、データの漏洩・改竄の防止の機能、すなわち暗号化、完全性認証及び相手認証等の機能を持つＴＣＰｓｅｃ１５ｂと、このような暗号化、完全性認証、及び相手認証等の機能を持たない通常のプロトコルＴＣＰ１５ａのいずれかにパケットを振り分ける働きをもっている。また、ＴＣＰｓｅｃ１５ｂ及びＴＣＰ１５ａのいずれもクラッキング・プロテクタ（ＣＰ）を備えているため、そのいずれを選択した場合でも、クラッカーによる「進入」「攻撃」に対して防御する機能を実現することができる。ＴＣＰエミュレータ１５は上位層であるソケットとのインターフェースの役割も果たしている。
【００３０】
ＵＤＰエミュレータ１６は、ＴＣＰエミュレータ１５と同様に、データの漏洩・改竄の防止の機能、すなわち暗号化、完全性認証及び相手認証等の機能を持つＵＤＰｓｅｃ１６ｂと、このような暗号化、完全性認証、及び相手認証等の機能を持たない通常のプロトコルＵＤＰ１６ａのいずれかにパケットを振り分ける働きを持っている。ＴＣＰがエラー補償機能を有するのに対して、ＵＤＰはエラー補償機能を持たないが、その分転送速度が速く、かつブロードキャスト機能を備えているという特徴がある。
【００３１】
図２に示すような、ソケット１７、ＴＣＰエミュレータ１５、ＵＤＰエミュレータ１６、「ＴＣＰｓｅｃ ｏｎ ＣＰ」１５ｂ、「ＵＤＰｓｅｃ ｏｎ ＣＰ」１６ｂ、「ＴＣＰ ｏｎ ＣＰ」１５ａ、「ＵＤＰ ｏｎ ＣＰ」１６ａ、「ＩＣＭＰ ｏｎ ＣＰ」１４ａ、「ＩＧＭＰ ｏｎ ＣＰ」１４ｂ、ＩＰエミュレータ１３、「ＩＰ ｏｎ ＣＰ」１３ａ、及び「ＡＲＰｏｎＣＰ」１２からなるプロトコルスタックは、すでに出願人が提案した暗号化通信システムを実現するためのプロトコルスタックである。これらのプロトコルスタックを総称してＴＣＰ２と呼ぶこととする。なお、ＴＣＰ２には「ＩＰｓｅｃ ｏｎ ＣＰ」１３ｂは必須のものとして含まれていないが、「ＩＰｓｅｃ ｏｎ ＣＰ」１３ｂを含めてＴＣＰ２としてもよい。
【００３２】
また、上述のプロトコルスタックには、ＴＣＰ、ＵＤＰ、ＩＰ、ＩＰｓｅｃ、ＩＣＭＰ、ＩＧＭＰ、ＡＲＰの標準プロトコルにＣＰ（クラッキング・プロテクト）を実装しているので、各プロトコルスタックに対する通信からの攻撃、及び、アプリケーションからの攻撃（トロイの木馬、プログラムの改竄、正規ユーザの不正使用）を防御することができる。また、ＴＣＰエミュレータ１５を実装しているので、セッション層にあるソケット（Socket）１７、及びネットワーク層にあるＩＰエミュレータ１３から見て、互換性を保つことができ、外向きには標準ＴＣＰと同じに見せることができる。実際は、ＴＣＰ２の機能として、ＴＣＰとＴＣＰｓｅｃを切り替えて実行するようにする。
【００３３】
また、同様に、ＴＣＰ２では、ＵＤＰエミュレータ１６を実装しており、ＵＤＰエミュレータ１６は、セッション層であるソケット（Socket）１７、及び、ネットワーク層であるＩＰエミュレータ１３から見て、互換性を保つため、外部からは標準ＵＤＰとして見せることができる。実際は、ＴＣＰ２の機能として、ＵＤＰ、ＵＤＰｓｅｃを切り替えて実行する。ＵＤＰｓｅｃは、本発明であるトランスポート層での暗号化及び認証機能である。
【００３４】
次に、ＴＣＰ２において、特に重要な機能である「データ漏洩」を防ぐ機能であるＴＣＰｓｅｃ１５ｂ及びＵＤＰｓｅｃ１６ｂについて説明する。
ＴＣＰｓｅｃ１５ｂ及びＵＤＰｓｅｃ１６ｂのための暗号化・復号化の方法（アルゴリズム、ロジック（論理））としては、公知の秘密鍵（共通鍵）暗号アルゴリズムが用いられる。例えば、秘密鍵暗号アルゴリズムであるＤＥＳ（Data Encryption Standard）や、その改良版としての３ＤＥＳが用いられる。また、その他の暗号アルゴリズムとしては、ＩＤＥＡ（International Data Encryption Algorithm）も用いられる。この暗号アルゴリズムは、データを６４ビットのブロックに区切って暗号化するもので、暗号鍵の長さは１２８ビットである。
【００３５】
また、ＴＣＰｓｅｃ１５ｂ及びＵＤＰｓｅｃ１６ｂの暗号方式として、ＦＥＡＬ（Fast data Encipherment Algorithm）、ＭＩＳＴＹ、ＡＥＳ（Advanced Encryption Standard）といった暗号方式も利用されるほか、また、独自に作成した秘密の暗号化・復号化アルゴリズムを利用することもできる。ここで、ＦＥＡＬは、暗号化と復号化に同じ鍵を用いる秘密鍵型の暗号方式である。このＦＥＡＬは、ＤＥＳに比べて高速に暗号化と復号化ができるという利点がある。
【００３６】
図３は、本発明の実施の形態に用いられるＴＣＰ２アドレスの例を示している。このＴＣＰ２アドレスは、８０bit（２進数８０桁）からなり、図３に示すように、［分類コード］［企業団体コード］［ホストコード］［ユーザコード］［予備コード］の４つに分類したコードから構成される。［分類コード］は２bit、［ユーザコード］は３２bit、［分類コード］は３bitと固定で割り付けられている。［分類コード］は、企業団体コードとホストコードに配分されるビット数４３bitの配分割合を決定するコードであり、２ビットで４種類（図３（Ａ）〜（Ｄ））に分けて定義することを可能としている。
【００３７】
例えば、分類コード「００」は、図１（Ａ）に示すように、４３ｂｉｔの内、企業団体コードに７ビットを割り付け、ホストコードに３６ｂｉｔを割り付けるようにしている。この結果、この分類コード「００」は、企業団体を最大２の７乗（１２８）団体定義することができ、１団体当りのホスト割り当て数は、２の３６乗台となる。つまり、この分類コード「００」では、割り付けられる企業団体が少なくなる反面、ホスト数が多く割り付けることができる。したがって、この分類コード「００」は、団体数としては少ないが、多くのクライアントを持っている通信業者（通信キャリア）のような企業団体向けとして好適なものとなる。
【００３８】
次に、分類コード「０１」は、図１（Ｂ）に示すように、４３bitの内、［企業団体コード］に１５bitを割り付け、［ホストコード］に２８bitを割り付けている。この分類コード「０１」は、企業団体を最大２の１５乗（32768）団体定義することができる。その反面、１団体当りのホスト割り当て数は２の２８乗台となるのである。この分類コード「０１」で分類される団体は、支店や支所を国内あるいは海外に多く抱える大企業向きの分類コードである。
【００３９】
分類コード「１０」は、図１（Ｃ）に示すように、４３bitの内、［企業団体コード］に２５bitを割り付け、［ホストコード］に１８bitを割り付けている。これにより、分類コード「１０」は、企業団体を最大２の２５乗団体定義することができるが、１団体当りのホスト割り当て数は、２の１８乗（262144）台となる。この分類コードは大企業より支店や支所の多くない中堅企業に好適である。
【００４０】
最後の分類コード「１１」は、図１（Ｄ）に示すように、４３bitの内、［企業団体コード］に３１bitを割り付け、［ホストコード］に１２bitを割り付けている。これにより、分類コード「１１」は、企業団体を最大２の３１乗団体定義することができる。ただし、１団体当りのホスト割り当て数は、２の１２乗で、4096台しか割り当てることができない。この分類コード「１１」は、分類コード「００」とは正反対で、割り付けられる企業団体が多くなる反面、ホスト数の割付が小さくなる。例えば、中小の企業団体のような、企業数が多く、一つ一つの企業ではそれほどホスト数を増やす必要がない企業団体向けの分類コードとなる。
【００４１】
上述した［企業団体コード］は、ＴＣＰ２を使用する企業団体に対して、ＴＣＰ２アドレスの割付管理部門が、ユニークに割り当てを行うコードである。これを行うことで、全てのＴＣＰ２使用団体に、ユニークなＴＣＰ２アドレスを割り当てることが可能となる。
また、［ホストコード］は、ネットワークに接続した、ＴＣＰ２を実装するコンピュータ機器の固体を示すコードであり、企業団体内のＴＣＰ２管理部門が、企業団体内のＴＣＰ２アドレスをユニークに割り当てるコードである。これら分類コード、企業団体コード、ホストコードの３つのコードで、ＴＣＰ２を実装するネットワークに接続したコンピュータ機器全てにユニークなＴＣＰ２アドレスを割り付けることができ、これらのコードによりネットワークに接続したＴＣＰ２を実装したコンピュータ機器を全て識別することができるようになる。なお、［ホストコード］は、企業内での組織などにしたがってグループ分けされるコードである。
【００４２】
次に、［ユーザコード］について説明する。「ユーザコード」は、ネットワークに接続され、ＴＣＰ２が実装された各コンピュータ機器を使用するユーザを識別するコードである。１つのコンピュータ機器を複数の人が使用する場合には、１つのコンピュータ機器に対応して複数のユーザコードが存在することになる。特定のユーザが、ＴＣＰ２を使用する際には、その個人にユニークなユーザＩＤ、パスワード、更には、生態認証情報等を必要とするのであるが、これらの情報を３２bitのユーザコードとして決定しておく必要がある。なお、［予備コード］は、今後、ＴＣＰ２アドレスを拡張する際に使用するコードであり、現時点で必要とするものではない。
【００４３】
図４は、図３（Ｃ）に示す分類コード「１０」の例、すなわち、１８bitのホストコードの例を、会社の組織にしたがって分割して示した図である。図４では、１８bitを割り付けている［ホストコード］を４階層にグループ化し、図４（Ｃ）に示すように「事業部コード」、「部コード」、「課コード」、「機器コード」としている。
【００４４】
ＴＣＰ２が実装されるクライアント端末及びサーバ等のコンピュータ機器は、ネットワークを介しての通信開始に際して、通信すべき相手であるかを判断する情報として、上記ＴＣＰ２アドレスの他に、「通信許可情報」と「通信禁止情報」を各コンピュータ機器が備えている記憶手段２００（図１参照）の設定データベースに保存している。ここで、「通信許可情報」は、通信許可コードと通信許可マスク情報をペアで持ち、「通信禁止情報」は、通信禁止コードと通信禁止マスク情報をペアで持っている。これらの通信許可コード、通信許可マスク情報、通信禁止コード、通信禁止マスク情報は、ＴＣＰ２アドレスと同じフォーマットで８０bitの割付けをおこなうことにより形成される。
【００４５】
次に、図５と図６に基づいて、サーバとクライアント端末の間、あるいはクライアント端末同士の通信とユーザ認証の仕組みを説明する。
図５は、実際のコンピュータ機器（サーバあるいはクライアント端末）のグルーピング制御を説明する上のシステム構成例を示す図である。図５に示す例は、分類コードが２（２進数の「１０」）で、企業団体コードが２３の例である。図５に示すように、サーバには「ホストコード」として、事業部コード３、部コード４、機器コード１が割り当てられている。図６（１）は、上記サーバの持つコードを、ＴＣＰ２アドレスとして２進数で示したものである。ここで課コード及びユーザコードは“０”となっていることから、このサーバは、この部に所属するすべてのユーザが共同で利用するサーバであることがわかる。
【００４６】
図５に示すクライアント端末Ｂとクライアント端末ＣＸは同一の課であるＸ課に属するクライアント端末であり、クライアント端末Ｂは、例えば、図１のＬＡＮ（１）のグループ（Ｂ）に属する管理職（課長）クラスのセキュリティを持つクライアント端末Ｂ１〜Ｂ３の１つを示している。このクライアント端末Ｂは、例えば、事業部コード３、部コード４、課コード５、機器コード６、ユーザコード１を有している。このユーザコードが１であることは、一人のユーザ（課長）がクライアント端末Ｂを独占して使用することを示している。
【００４７】
クライアント端末ＣＸは、図１のグループ（Ｃ）に属する担当者クラスのセキュリティを持つクライアント端末Ｃ１〜Ｃ３のいずれか１つの端末でクライアント端末Ｂと同じＸ課に属するクライアント端末を例示したものである。事業部コード３、部コード４、課コード５までは、クライアント端末Ｂのコードと同じであるが、機器コードには“７”が割り当てられ、クライアント端末Ｂの機器コード“６”と異なっている。そして、図６（３）のＴＣＰ２アドレスに示されるユーザコードの最後から３bitに「？？？」が付されているが、これはユーザコード２〜７（「０１０」〜「１１１」）の６人のユーザがこの端末を共同で利用することを意味している。理論的には、ユーザが最大で８人まで利用可能である。
【００４８】
クライアント端末ＣＹは、事業部コード３、部コード４で、クライアント端末Ｂ、ＣＸと一致しているが、課コードが“６”となっている。つまりクライアント端末ＣＹはクライアント端末Ｂ、ＣＸの属するＸ課と異なるＹ課に属する端末である。また、図６（４）のＴＣＰ２アドレスから分かるように、クライアント端末ＣＹの機器コードは“７”であり、ユーザコードの下４桁は「？？？？」である。例えば、このクライアント端末ＣＹは、ユーザコード８〜１５（２進数で「１０００」〜「１１１１」）までのコードが割り当てられ、８人のユーザが共同利用するクライアント端末であるといえる。なお、４桁の「？」は最大で１６人のユーザがこのクライアント端末ＣＹを利用することができることを意味している。
【００４９】
次に、図６を用いて、それぞれのクライアント端末間あるいはクライアント端末とサーバ間の通信接続の可能性について説明する。
図６（１）のサーバは、部内からのホストコンピュータ全てからの接続要求を許可にするため、図６（１）に示す「通信許可コード」をその記憶手段２００の設定データベースに保存している。すなわち、この「通信許可コード」は、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「予備コード」をＴＣＰ２アドレスと同じに設定し、「課コード」、「機器コード」、「ユーザコード」を未設定「０」としている。また、「通信許可マスク情報」としては、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「予備コード」の全てのビットを「１」に設定し、「課コード」、「機器コード」、「ユーザコード」をすべて「０」に設定している。
【００５０】
また、図５のサーバは、図６（１）に示すように、「通信禁止コード」と「通信禁止マスク情報」をその記憶手段２００（図１参照）内の設定データベースに具備している。これは、クライアント端末ＣＹの特定のユーザのアクセスを拒否するために設けられたものである。すなわち、「通信禁止コード」としては、接続を禁止するユーザが使用するクライアント端末が属するＴＣＰ２アドレスである「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「機器コード」、「ユーザコード」、「予備コード」を全て設定する。そして、「通信禁止マスク情報」として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「機器コード」、「ユーザコード」、「予備コード」の全ビットを「１」に設定する。
【００５１】
図５のクライアント端末ＣＸは、図６（２）に示すように、そのＴＣＰ２設定データベースに、通信許可コードと通信許可マスク情報を持っている。これは、Ｘ課内からのクライアント端末からの接続要求を許可にするために設けられるものであり、通信許可コードとしては、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、Ｘ課の「課コード」、「予備コード」をＴＣＰ２アドレスと同じに設定する。そして、「機器コード」、「ユーザコード」を未設定「０」とする。また、「通信許可マスク情報」として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「予備コード」の全てのビットを「１」に設定し、「機器コード」、「ユーザコード」を全て「０」に設定する。
【００５２】
これにより、Ｘ課のクライアント端末Ｂは、クライアント端末ＣＸに接続することが可能となる。同様に、クライアント端末Ｂは、クライアント端末ＣＸと同等なセキュリティレベルを有するＸ課に属する全てのクライアント端末にアクセスすることができる。
一方、クライアント端末Ｂは、例えば課長の占有する端末であり、Ｘ課に属するクライアント端末であっても、例えば特別なクライアント端末ＣＸからの接続要求を拒否することができるように設定される。このため、クライアント端末Ｂは、「通信禁止コード」として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「機器コード」、「予備コード」に禁止するクライアント端末ＣＸが使用するＴＣＰ２アドレスのコードと同じコードを設定している。そして、「通信禁止マスク情報」として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「機器コード」、「予備コード」の全てのビットを「１」とし、「ユーザコード」の全ビットを「０」に設定する。この、「通信禁止コード」、「通信禁止マスク情報」は、「通信許可コード」、「通信許可マスク情報」に優先するため、クライアント端末ＣＸ（担当者）からクライアント端末Ｂ（課長）への接続は拒否されることになる。
【００５３】
以上説明したように、図５に示すクライアント端末ＣＸは、Ｘ課内にある全てのクライアント端末からの接続要求を許可にするように設定されように、そのための情報がクライアント端末ＣＸの記憶手段２００の設定データベースに保存されている。すなわち、図６（３）に示すように、「通信許可コード１」として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、Ｘ課の「課コード」及び「予備コード」をＸ課に属するクライアント端末、例えばクライアント端末ＢのＴＣＰ２アドレスと同じに設定し、「機器コード」、「ユーザコード」を未設定“０”とする。そして、通信許可マスク情報１として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「予備コード」の全てのビットを“１”に設定する。
【００５４】
また、クライアント端末ＣＸは、「通信禁止コード」及び「通信禁止マスク情報」をその記憶手段２００の設定データベース内に保有しない。更に、クライアント端末ＣＸは、例外的に他の課であるだいＹ課のクライアント端末Ｃからの接続要求だけを許可にするため、通信許可コード２として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「機器コード」、「予備コード」をＹ課のクライアント端末ＣのＴＣＰアドレスと同じに設定し、「ユーザコード」を未設定“０”とする。そして、通信許可マスク情報２として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「予備コード」を全てのビットを“１”に設定し、「機器コード」、「ユーザコード」を全て“０”に設定する。これにより、クライアント端末ＣＹからクライアント端末ＣＸへの接続が許可されることになる。
【００５５】
次に、図５のクライアント端末ＣＹは、Ｙ課内の全てのクライアント端末からの接続要求を許可にするため、通信許可コード１として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「予備コード」を設定し、「機器コード」、「ユーザコード」を未設定“０”とする。そして、通信許可マスク情報１として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「予備コード」の全てのビットを“１”に設定し、「機器コード」、「ユーザコード」を全て“０”に設定する。
更に、クライアント端末ＣＹは、例外的に他の課であるＸ課のクライアント端末Ｂからの接続要求だけを許可にするため、通信許可コード２として、「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「予備コード」をＸ課のクライアント端末ＣＸのＴＣＰ２アドレスと同じに設定し、「機器コード」と「ユーザコード」を未設定“０”とする。そして、通信許可マスク情報２の「分類コード」、「企業団体コード」、「事業部コード」、「部コード」、「課コード」、「予備コード」の全てのビットを“１”に設定し、「機器コード」、「ユーザコード」を全て“０”に設定する。これにより、クライアント端末ＣＹは、クライアント端末ＣＸからの接続要求を許可することができる。
【００５６】
次に、図７に基づいて、本発明のＴＣＰ２、特にＴＣＰｓｅｃを用いた端末間の接続シーケンスについて説明する。図７では、コンピュータＢのアプリケーションがＴＣＰｓｅｃパッシブオープンし、コンピュータＡのアプリケーションがＴＣＰｓｅｃアクティブオープンしていることが前提である。
【００５７】
コンピュータＢのアプリケーションがＴＣＰｓｅｃパッシブオープンをすると、ＴＣＰｓｅｃパッシブオープン処理を開始し、コンピュータＢは受信待ちとなる。コンピュータＡのアプリケーションがＴＣＰｓｅｃアクティブオープンをすると、ＴＣＰｓｅｃアクティブオープン処理を開始し、コンピュータＡからコンピュータＢに対して接続要求（ＳＹＮ）が送信される。これにより、ＴＣＰｓｅｃの接続シーケンスが開始状態となる。なお、接続要求（ＳＹＮ）には、オプションで、ＴＣＰ２の固有情報を暗号化して付加し、正しい相手であることを相手に通知するようにしている。すなわち、コンピュータＡとコンピュータＢの間で次のＴＣＰｓｅｃネゴシエーションデータを交換する以前に相手方端末がＴＣＰ２をサポートする端末であるか否か、言い換えると通信する正しい相手であるか否かを確認することができる。
【００５８】
コンピュータＢ側では、コンピュータＡから送信された接続要求（ＳＹＮ）を受信すると、正しい相手であれば、コンピュータＡに対して接続応答（ＳＹＮ・ＡＣＫ）を送信する。そして、コンピュータＡ側は、このコンピュータＢからの接続応答（ＳＹＮ・ＡＣＫ）を受信するとＡＣＫ（肯定応答）を送信する。続いてコンピュータＡとコンピュータＢの間でＴＣＰｓｅｃネゴシエーションデータを交換し、正しい相手であれば、ＴＣＰｓｅｃの接続シーケンスを終了する。
この接続シーケンスが終了すると、ＴＣＰｓｅｃのデータ通信シーケンスが有効となり、コンピュータＡ側又はコンピュータＢ側の何れかがデータを送信後、データを受信した側からＡＣＫ（肯定応答）を返す基本パターンを繰り返してデータの送受信が行われる。なお、このデータは、すべて暗号データである。
【００５９】
図８は、標準ＵＤＰとＴＣＰ２の暗号化方式の一つであるＵＤＰｓｅｃを用いたブロードキャスト通信の開始シーケンス、データ通信シーケンスの流れを説明した図である。
図８（ａ）が、標準のＵＤＰ、図８（ｂ）がＴＣＰ２に設けられるＵＤＰｓｅｃによる通信のシーケンス図である。
図８（ａ）の標準のＵＤＰは、コンピュータＡ、コンピュータＢともにアプリケーションがＵＤＰオープンしている。そして、コンピュータＢのアプリケーションがＵＤＰオープンをすると、ＵＤＰオープン処理を開始する。また、コンピュータＡのアプリケーションがＵＤＰオープンした場合も、同様にＵＤＰオープン処理を開始する。これにより、ＵＤＰのデータ通信を行うことができる状態となる。
また、データはコンピュータＡ、コンピュータＢの何れからも発信することはできるが、図８（ａ）では、ブロードキャスト通信ということもあって、コンピュータＡ側からコンピュータＢ側に一方向的にデータが流れようにしている。ＴＣＰのように、データを受信したコンピュータＢ側からＡＣＫ（肯定応答）を返さないため、送達確認とデータの保証をする機能は持たない。なお、データのブロードキャストは、ＩＰアドレスのサブネットアドレスを全て“１”に設定することで、実現することができる。
【００６０】
次に、図８（ｂ）のＵＤＰｓｅｃによる暗号化通信について説明する。この場合も、コンピュータＡ、コンピュータＢともにアプリケーションがＵＤＰオープンし、ＴＣＰ２がＵＤＰｓｅｃでオープンとしている。
コンピュータＢがＵＤＰｓｅｃオープンをすると、ＵＤＰｓｅｃオープン処理を開始する。また、コンピュータＡがＵＤＰｓｅｃオープンしても同様に、ＵＤＰｓｅｃオープン処理を開始する。これにより、ＵＤＰｓｅｃのデータ通信を行うことができる状態となる。
【００６１】
まず、図８(ｂ)に基づいて、コンピュータＡのアプリケーションからＵＤＰのブロードキャストデータ（ＩＰアドレスがブロードキャストを示しているデータ）の送信要求があった場合を説明する。コンピュータＡは、アプリケーションからＵＤＰのブロードキャストデータの送信要求を受け取ると、ＵＤＰｓｅｃで暗号データとして不特定コンピュータに配信する。コンピュータＢは、コンピュータＡからのブロードキャストデータを受け取ると、ＵＤＰｓｅｃブロードキャスト受信開始処理を開始する。コンピュータＡとコンピュータＢ間でネゴシエーションを開始し、相手が正しい相手であれば、ネゴシエーションを完了して、ブロードキャストデータを復号化して、アプリケーションへ送る。このとき、データを受信したコンピュータＢ側からＡＣＫ（肯定応答）を返さないため、送達確認とデータの保証をする機能はない。
【００６２】
図９（ａ）と図９（ｂ）は、標準ＵＤＰとＴＣＰ２の暗号化方式であるＵＤＰｓｅｃを用いたユニキャスト通信の開始シーケンス、データ通信シーケンスの流れを説明した図である。図８（ａ）、（ｂ）と異なるところは、送信側のコンピュータＡから受信側のコンピュータＢに対してネゴシエーションを開始することと、コンピュータＡとコンピュータＢとの間で、１対１で双方向にデータのやり取りが行われることである。それ以外の点は、上述したブロードキャスト通信と同じであるため説明は省略する。
【００６３】
次に、図１０と図１１に基づいて、本発明の実施の形態例の動作について説明する。
まず、図１０に基づいて、クライアント端末間の一般的な通信動作について説明し、続いて、図１１を用いて具体的な端末間の動作について説明する。
図１０に示すように、まず、通信要求パケットを受信したクライアント端末は、受信したパケットからＴＣＰ２アドレス（図６を参照。）を取り込む（ステップＳ１）。
【００６４】
次に、クライアント端末の記憶手段２００（図１参照。）に通信禁止コード（図６（３）のクライアント端末Ｂを参照。）が記憶されているかどうかが判断される（ステップＳ２）。判断ステップＳ２で、クライアント端末の記憶手段２００の中に通信禁止コードが記憶されていると判断された場合は、続いて通信禁止マスク情報と受信したＴＣＰ２アドレスとの論理積（ＡＮＤ）が演算され（ステップＳ３）、この演算結果と記憶手段２００に記憶されている通信禁止コードとが一致するかどうかが判断される（ステップＳ４）。
【００６５】
そして、この判断ステップＳ４の判断の結果、両者が一致していれば、当該クライアント端末が通信許可をしてはいけない相手方端末からの通信要求パケットであるとして、接続不可となって通信を終了させる（ステップＳ９）。
【００６６】
判断ステップＳ２で通信禁止コードがないと判定された場合、あるいは判断ステップＳ４において、ステップＳ３の演算結果が通信禁止コードと一致しないと判定された場合は、クライアント端末の記憶手段２００に通信許可コードが記憶されているか否かが判断される（ステップＳ５）。そして判断ステップＳ５で通信許可コードがあると判定された場合には、今度は記憶手段２００から通信許可マスク情報を取り出し、このマスク情報と受信したＴＣＰ２アドレスとの論理積（ＡＮＤ）を演算する（ステップＳ６）。そして、この演算結果が記憶手段２００に記憶されている通信許可コードと一致するかどうかが判断される（ステップＳ７）。
【００６７】
判断ステップＳ７において、通信許可マスク情報と受信したＴＣＰ２アドレスとの論理積の演算結果と、記憶手段２００に記憶されている通信許可コードとが一致したと判断された場合のみ、端末間の接続が完了し、通信開始がなされる（ステップＳ８）。判断ステップＳ５で通信許可コードがないと判定された場合、あるいは判断ステップＳ７において、通信許可マスク情報と受信したＴＣＰ２アドレスとの論理積の演算結果と、記憶手段２００に記憶されている通信許可コードとが一致しないと判定された場合は、端末間の接続をすることなく通信を終了する（ステップＳ９）。
【００６８】
以上、図１０に基づいて説明した通信開始処理を、図５に示す具体的な端末間でやり取りする場合について、図１１を用いて説明する。
まず、クライアント端末Ｂのユーザコード１の者が、クライアント端末ＣＸに通信要求する場合（図１１（１）の場合）について説明する。クライアント端末ＣＸは、クライアント端末ＢからＴＣＰ２の通信開始要求が来ると、通信開始要求内にあるクライアント端末ＢのＴＣＰ２アドレスを取り込み、通信可能な相手であるか否かを判断する。このＴＣＰ２アドレスには、機器コードと機器の使用者のコードであるユーザコードが含まれているため、認証精度が高い。
【００６９】
図１１（１）の演算結果は、クライアント端末Ｂの使用者であるユーザコード１の者が、クライアント端末ＣＸに通信要求したとき、クライアント端末ＣＸの記憶手段２００に記憶されている通信許可マスク情報とクライアント端末ＢのＴＣＰ２アドレスとの論理積（ＡＮＤ）結果を示したものである。この演算処理は図１０のステップＳ６の処理に相当する。そして、この演算結果はクライアント端末ＣＸの通信許可コードと比較され（図１０のステップＳ７）、その比較の結果、両者が一致しているため、クライアント端末ＣＸはクライアント端末Ｂからの通信要求を受け入れることになる。
【００７０】
次に、クライアント端末ＣＸのユーザコード５の者が、クライアント端末Ｂに通信要求する場合（図１１（２）の場合）について説明する。
図１１（１）の場合と同様に、クライアント端末Ｂは、クライアント端末ＣＸからＴＣＰ２の通信開始要求が来ると、通信開始要求内にあるクライアント端末ＣＸのＴＣＰ２アドレスを取り込み、通信可能な相手であるのかを判断する。ここで、図６（３）に示すように、クライアント端末Ｂは、その記憶手段２００に、「通信禁止コード」と「通信禁止マスク情報」を持っている。
【００７１】
図１１（２）に示されるように、まず、クライアント端末Ｂで受信したクライアント端末ＣＸのＴＣＰ２アドレスが、クライアント端末Ｂが保有する「通信禁止マスク情報」との論理積（ＡＮＤ）が演算される。この演算処理は、図１０のステップＳ３で行われる。次に、この演算結果とクライアント端末Ｂが保有する「通信禁止コード」とが比較され（図１０のステップＳ４）、これが一致するため、クライアント端末Ｂはクライアント端末ＣＸからの通信を許可しない通信と判断し、通信を終了する。
【００７２】
次に、図１１（３）に基づいて、図６に示されるＹ課に属するクライアント端末ＣＹの使用者であるユーザコード８の者が、サーバに接続要求した場合について説明する。
サーバは、図６（１）に示すように、「通信禁止コード」と「通信禁止マスク情報」をその記憶手段２００にＴＣＰ２設定データベースとして保存している。
そこで、サーバの記憶手段２００に保存されている「通信禁止マスク情報」と「クライアント端末ＣのＴＣＰ２アドレス」とが演算され、その論理積（ＡＮＤ）出力が演算結果として出力される。この処理は、図１０のステップＳ３の処理に相当する。
【００７３】
続いて、この演算結果と同じくサーバの記憶手段２００に保存されている「通信禁止コード」とが比較される（図１０のステップＳ４）。図１１（３）のケースでは、演算結果と「通信禁止コード」とが一致していないため、サーバはクライアント端末ＣＹのユーザコード８の者からの接続要求を許可しない通信とは判断しない。そして、次の許可情報の演算処理を行うことになる。
【００７４】
すなわち、サーバで受信した「クライアント端末ＣＹのＴＣＰ２アドレス」とサーバの記憶手段２００（ＴＣＰ２設定データベース）に保存している「通信許可マスク情報」との論理積（ＡＮＤ）を演算する（図１０のステップＳ６）。そして、この演算結果を同じくサーバの記憶手段２００に保存している「通信許可コード」と比較する（図１０のステップＳ７）。図１１（３）のケースでは、両者が一致しているため許可してもよい通信要求と判断されるので、クライアント端末ＣＹはサーバに接続することが許される。なお、クライアント端末ＣＹの使用者で、例えば、同じＹ課に属していてもサーバへのアクセス権限のないユーザコード１２の者がサーバに対して通信要求を行った場合に、そのユーザコード１２の者からの接続を拒否するように設定できることは言うまでもない。
【００７５】
以上説明したように、ＴＣＰ２を用いたサーバとクライアント端末間、あるいはクライアント端末同士の通信では、それぞれのクライアント端末あるいはサーバに接続許可を与えるクライアント端末あるいは接続を禁止するクライアント端末を自由に設定できるので、情報の漏洩や盗難を防ぐことができ、より確実にクライアント端末間及びクライアント端末とサーバ間通信のセキュリティを保つことができる。
【００７６】
なお、本発明は上述した実施の形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の多くの実施の形態が含まれることは言うまでもない。
【図面の簡単な説明】
【００７７】
【図１】本発明による通信システム及び通信方法を利用したネットワークの適用例を示すブロック図である。
【図２】本発明で用いるプロトコルスタックの例を示す図である。
【図３】本発明で用いられるＴＣＰ２アドレスのビット数を企業団体の形態に応じて分類した例である。
【図４】本発明に用いられるホストコードの具体的内容を示す図である。
【図５】本発明のＴＣＰ２アドレス、通信許可コード、通信許可マスク情報、通信禁止コード及び通信禁止マスク情報の具体例を示す図である。
【図６】本発明の実施の形態に用いられるセキュリティレベルの異なるクライアント端末間、あるいはクライアント端末とサーバ間の通信を説明するための図である。
【図７】ＴＣＰ２の中のＴＣＰｓｅｃを用いた通信の接続処理を示すシーケンス図である。
【図８】ＴＣＰ２の中のＵＤＰｓｅｃを用いたブロードキャスト通信の接続処理を示すシーケンス図である。
【図９】ＴＣＰ２の中のＵＤＰｓｅｃを用いたユニキャスト通信の接続処理を示すシーケンス図である。
【図１０】本発明のクライアント端末間の接続処理の動作を示すプローチャートである。
【図１１】本発明のクライアント端末間の接続処理、及びクライアント端末とサーバ間の接続処理の具体例を説明するための図である。
【符号の説明】
【００７８】
２０、３０・・・ＬＡＮ（Local Area Network）、４０・・・外部ネットワーク、Ａ１〜Ａ３・・・セキュリティレベル上位のコンピュータ（端末）、Ｂ１〜Ｂ３・・・セキュリティレベル中位のコンピュータ（端末）、Ｃ１〜Ｃ３・・・セキュリティレベル下位のコンピュータ（端末）、Ｄ１〜Ｄ３  異なるＬＡＮに接続されたセキュリティレベル下位のコンピュータ（端末）、ＩＳ  インストールサーバ、１５・・・ＴＣＰエミュレータ、１６・・・ＵＤＰエミュレータ
【図１】
0004696204.tif 000002
【図２】
0004696204.tif 000003
【図３】
0004696204.tif 000004
【図４】
0004696204.tif 000005
【図５】
0004696204.tif 000006
【図６】
0004696204.tif 000007
【図７】
0004696204.tif 000008
【図８】
0004696204.tif 000009
【図９】
0004696204.tif 000010
【図１０】
0004696204.tif 000011
【図１１】
0004696204.tif 000012