本願発明者は、先に上位アプリケーションのプログラムを変更することなく、データの漏洩、改竄、なりすまし、進入、攻撃の防止機能を強化するため、送信側と受信側とで暗号化・復号化ロジックの取決めを行い、これをトランスポート層に存在するTCP又はUDPに該当するプロトコルのペイロードに適用する新規な暗号化システムTCP2を提供している(例えば、特許文献1参照。)。
近年、インターネットを利用した通信は、Windowsパソコンさえあれば、それをネットワークに接続するだけで、誰でもネットワーク上のコンピュータにアクセスできるため、社会の中で急速に普及拡大している。一方、このインターネット通信の普及拡大に伴って、ハッカー(hacker)やクラッカー(cracker)が他人のコンピュータシステムに侵入して、ソフトウエアやデータを盗み見たり、改竄や破壊を行ったりするという社会問題も大きくなっている。
具体的な不正妨害のケースとしては、まず第1に、中心的なシステムが使えなくなるように、ネットワークから大量のメッセージを送りつけコンピュータシステムの運用を妨害するシステム妨害がある。この妨害によってホストが過負荷になるとシステムダウンに陥ってしまうことも起こりうる。
また、ホストのパスワードを不正に入手し、機密情報を盗んだり、情報の改竄や破壊を行ったりする「不正アクセスとなりすまし」の不正妨害がある。この妨害にはコンピュータが保有する情報を勝手に書き換え、人を陥れる卑劣のものもある。また、特定のパソコンに忍び込み、メールアドレスやパスワードなど個人の機密データを搾取するスパイウエアといわれる不正行為も発生している。このようにネットワークに接続したコンピュータが持つデータベースの内容を不正に盗み見る、いわゆる盗聴行為も頻繁に行われている可能性も否定できない。
また、サイト若しくはサーバの運営元で、意図的に個人情報を盗むといった行為や、社内に潜むスパイなどによるサイバーテロ(cyber terrorism)といった危機も全くないとはいえない状況である。
さらに、他人のコンピュータにコンピュータ障害をもたらすプログラムである「ウイルス」を送り込むという不正妨害が最近多くなっている。この送り込まれたウイルスに、メールなどを自宅で使用したパソコンが感染し、それを社内に接続した瞬間に社内のパソコン全体が感染したり、ウイルスがコンピュータの中のファイルを破壊させたり、更には、ネットワーク全体をダウンさせたりするといった問題も生じている。
このため、従来のTCP/IP(Transmission Control Protocol/Internet Protocol)やUDP(User Datagram Protocol)を利用したインターネット上での通信において、データの「漏洩」、「改竄」等を防ぐ機能として、IPsec(アイピーセック:Security Architecture for Internet Protocol)やSSL(Secure Socket Layer)といわれる暗号化通信が利用されている。
一般に、暗号化通信には、共通鍵(秘密鍵ともいう)暗号方式と公開鍵暗号方式があるが、IPsecは共通鍵暗号方式を用いたものが多い。共通鍵暗号方式の方が公開鍵暗号方式より暗号化・復号化の速度が速いという特徴がある。このIPsecに用いられる共通鍵暗号方式は、暗号化と復号化を同じ鍵で行う方式であり、鍵の生成は送信側又は受信側のいずれで生成してもよいが、受信側と送信側とで共通鍵を使うために、鍵の交換時に内容が外部に漏れないよう細心の注意を払わなければならない。
共通鍵暗号方式に用いられるアルゴリズムはDES(Data Encryption Standard:米国IBM社が開発した共通鍵(秘密鍵)暗号化アルゴリズム)が代表的である。IPsecもこのDESを暗号アルゴリズムの1つに採用している。IPsecは、IETF(Internet Engineer Task Force)が標準化を進めたものであり、この特徴は、単に特定のアプリケーションだけを暗号化するのではなく、ホストから送信されるあらゆる通信をIPレベルで暗号化する点にある。
これによりユーザはアプリケーションを意識することなく安全な通信を可能とすることができる。また、IPsecは、将来にわたって使えるように、それ自体の仕組みを変えることなく使用する暗号アルゴリズムを変更することを可能としている。IPsecで用いられる共通暗号鍵としては、SPI(Security Pointer Index)と呼ばれる32ビット符合が用いられ、鍵交換プロトコルとしては、IKE(Internet Key Exchange)が用いられる。さらに、IPsecには、完全性認証のためのプロトコルAH(Authentication Header)が用意されている。
また、SSLは、米ネットスケープ社(現在AOLに吸収合併)の開発したセキュリティ機能付HTTPプロトコルであり、これを利用することによりクライアントとサーバがネットワーク上でお互いを認証できるようになり、クレジットカード情報などの機密性の高い情報を暗号化してやり取りすることが可能となる。これにより、データの盗聴、再送攻撃(ネットワーク上に流れたデータを盗聴して何度も繰り返して送ってくる攻撃)、なりすまし(本人の振りをして通信する)、データの改竄などを防止することができる。
図6のAは従来のIPsecを用いた暗号化通信を行う場合のプロトコルスタックの例を示し、図6のBは従来のSSLを用いた暗号化通信を行う場合のプロトコルスタックの例を示している。
OSI参照モデルは、最下層(第1層)が物理層、第2層がデータリンク層、第3層がネットワーク層、第4層がトランスポート層、第5層がセッション層、第6層がプレゼンテーション層、最上層(第7層)がアプリケーション層になっている。このOSI参照モデルにおける7階層は、通信機能を7段階に分けたものであり、その階層毎に標準的な機能モジュールを定めている。図6のAでは、第5層のセッション層までが示されている。プロトコルスタックとは、ネットワークの各階層における機能を実現するためのプロトコルを選び、階層状に積み上げたソフトウエア群である。
まず、OSI参照モデルについて概略を説明すると、第1層の物理層は、信号線の物理的な電気特性や符号の変調方法などを規定した層である。ただ、この層だけが単独で定義・実装されることは少なく、通常は、第2層のデータリンク層と共に、例えばイーサネット(Ethernet)の規格、などとして定義される。
第2層のデータリンク層は、データのパケット化や物理的なノードアドレス、パケットの送受信方法などを規定する層である。この層は、物理的な通信媒体を通して、2つのノード間でパケットをやり取りするためのプロトコルを規定するものであり、各ノードに対して、何らかのアドレスを付け、そのアドレスに基づいてパケットの送信先を特定し、パケットを通信媒体上に送信する。
通信媒体としては、銅配線や無線、光ファイバなど、多様なものがある。また、接続形態(トポロジー)も、1対1の対向接続だけでなく、バス型やスター型、リング型など多くの種類がある。通信媒体上に送信されたパケットは、受信側ノードに到着した時点でそのノードに取り込まれ、さらに上位のプロトコル層へと渡される。
物理層とデータリンク層に渡って配置されるNIC(Network Interface Card)ドライバは、パソコンやプリンタなどを構内ネットワーク(LAN)につなぐための拡張ボードである。単にネットワークカードという場合はイーサネットにつなぐ場合が多い。
このNICドライバにより、データを送信したいノード(機器)がケーブルの空き状況を監視して、ケーブルが空くと送信を開始するようにしている。このとき、もし複数のノードが同時に送信を開始するとケーブル内でデータが衝突して破壊されるので、両者は送信を中止し、ランダムな時間を待って送信を再開するのである。これによって一本のケーブルを複数のノードが共有して互いに通信することができる。
第3層のネットワーク層は、任意の2つのノード間での通信方法を規定する層である。TCP/IPでいえばIP層に相当する。データリンク層では、同一ネットワーク媒体上のノード間での通信を行うことができるが、その機能を使って、ネットワーク上に存在する任意の2つのノード間で、ルーティング(routing)を行いながら通信するのがこのネットワーク層の役目である。
ここで、ルーティングとはTCP/IPネットワークにおいて目的のホストまでパケットを送信するときに、最適な経路を選択して送信することをいう。例えばイーサネットでは、同一セグメント上のノード同士でしかお互いに通信できないが、ネットワーク層では、2つのイーサネットセグメント間でパケットをルーティングすることによって通信を行う。
また、電話回線を通じてコンピュータをネットワーク(イーサネット)に接続するダイヤルアップPPP(Point to Point Protocol)回線へのルーティング、また、光ファイバを使った専用線へのルーティングなど、物理的なネットワーク媒体によらずにパケットをルーティングすることができる。この目的のため、通常は、物理媒体に依存しないアドレス(TCP/IPならば、IPアドレス)を各ノードに割り当て、これに基づいてルーティングを行っている。
IPsecは、このネットワーク層で、つまりIPレベルでホストから送信されるあらゆる通信を暗号化するので、ユーザはアプリケーションを意識することなく安全な通信を可能とすることができるのである。
第4層のトランスポート層は、各ノード上で実行されている2つのプロセス間で通信を行う機能を提供している層であり、プロトコル層である。TCP/IPでいえばTCPがこれに相当する。またネットワーク層では、2つのノード間での通信を行う機能を提供しているが、これを使って、2つのプロセス(アプリケーション)間で、エラーのない、仮想的な通信路を提供するのがTCPの役目である。
すなわち、ネットワーク層ではデータを送ることはできるが、そのデータが確実に相手に届くという保証はない。また、送信した順に正しくデータが届くという保証もない。そこで、アプリケーションにとって使いやすくするために、エラーのない通信路を提供するのがTCPである。必要ならばデータの再送・回復処理などを行う。
このトランスポート層にはTCPの他にUDPも配置されるが、このUDPとTCPの違いは、TCPがデータの補償がされているプロトコルである分、UDPより低速であるのに対して、UDPはデータ補償がない分、高速になっている点である。コンピュータ間の通信のように主としてデータを送る場合にはTCPが用いられ、IP電話のように音声や画像を送る場合にはUDPが多く用いられる。この通信システムは、本願発明者が特許文献1において初めて提案したものである。
第5層のセッション層は、セッション(通信の開始から終了まで)の手順を規定する層であり、アプリケーション間でコネクションを開設して通信ができる状態にする層である。この層に配置されるソケット(socket)は、コンピュータが持つネットワーク内の住所に当たるIPアドレスと、IPアドレスのサブアドレスであるポート番号を組み合わせたネットワークアドレスを意味している。
コンピュータ同士を接続する場合は、必ずソケット(IPアドレスとポート番号の組)を指定して行う。図6のBに示すように、従来の代表的な暗号化通信技術であるSSLは、このセッション層で暗号化通信を実現している。
第6層のプレゼンテーション層は、セッション(通信の開始から終了まで)でやり取りするデータの表現方法や符号化、暗号化などを規定する層である。TCP/IPプロトコルでは、この層に相当する部分はなく、通常はアプリケーション自身でストリームデータの処理をハンドリングしている。
また、第7層のアプリケーション層は、アプリケーション間でのデータのやり取りを規定するための層であり、TCP/IPプロトコルではこの層に相当する部分はない。例えば、電子メールのフォーマットや、文書の内部構造など、アプリケーション間で相互にデータをやり取りする場合に必要な、共通のデータ構造などを規定する層である。
図6のAは、IPsecを搭載した標準プロトコルスタックであるが、まず、物理層(第1層)とデータリンク層(第2層)に、NIC(Network Interface Card)ドライバが設けられている。このドライバは、コンピュータなどのハードウエアをネットワークに接続するためのインターフェースカードのドライバであり、その内容はデータ送受信制御ソフトウエアである。例えばイーサネットに接続するためのLANボードまたはLANカードがこれに相当する。
第3層のネットワーク層は、一部がトランスポート層(第4層)まで伸びたIPエミュレータ(emulator)が存在している。このトランスポート層まで延びた部分には、トランスポートとしての機能は実装していない。セッション層に、ネットワーク層の機能を提供しているだけある。このIPエミュレータは、IPsecによる暗号化通信を行うプロトコルと、暗号化通信を行わないプロトコルであるIPを用途に応じて切り換えて使う働きをする。
また、第3層のネットワーク層にはARP(Address Resolution Protocol)が配置されている。このARPは、IPアドレスからイーサネットの物理アドレスであるMAC(Media Access Control)アドレスを求めるのに使われるプロトコルである。MACは、媒体アクセス制御と呼ばれる、LANなどで利用される伝送制御技術であり、データの送受信単位であるフレームの送受信方法やフレームの形式、誤り訂正などを規定する技術として利用されている。
また、このネットワーク層には、IPのエラーメッセージや制御メッセージを転送するプロトコルであるICMP(Internet Control Message Protocol)と、同一のデータを複数のホストに効率よく配送するための又は配送を受けるために構成されるホストのグループを制御するためのプロトコルであるIGMP(Internet Group Management Protocol)が設けられている。そして、ネットワーク層の上位層のトランスポート層には、TCPとUDPが、そしてその上位層であるセッション層にはソケット(socket)インターフェイスが配列されている。
図6のBは、暗号化処理プロトコルとしてSSLを具備した標準プロトコルの例であり、ネットワーク層にIPsecを搭載しない代わりにソケット(セッション層)にSSLが搭載されている。この他のプロトコルは図6のAに示したものと同じである。
従来の代表的な暗号化通信技術の中で、IPsecは、IPのパケットを暗号化して送受信するものであり、従って、TCPやUDPなどの上位のプロトコルを利用するアプリケーションソフトはIPsecが使われていることを意識する必要がない。
一方、SSLでは、互いの認証レベルではRSA(Rivest Shamir Adleman:公開鍵暗号方式を開発者3人の頭文字)公開鍵暗号技術を用いたデジタル証明書が用いられ、データの暗号化ではDESなどの共通鍵暗号技術が用いられている。このSSLは第5層のセッション層にあるため、特定のアプリケーションに依存することになる。
IPsecは、OSIにおける第4層(トランスポート層)より下位の第3層(ネットワーク層)におけるデータの「漏洩」や「改竄」を防ぐ機能として実現したものである(非特許文献1を参照。)。これに対して、SSLは、第5層のセッション層における暗号化技術であり、現在インターネットで広く使われているWWW(World Wide Web)やFTP(File Transfer Protocol)などのデータを暗号化して、プライバシーに係る情報や企業秘密情報などを安全に送受信するためのものである。
図7に示す表1は、IPsecとSSLの機能を比較して記載したものである。この表から見る限り、IPsecとSSLは互いに相反する利点と欠点がある。
例えば、クライアント−クライアント間の通信では、SSLの場合、そのコマンド体系と通信内容が主従の関係、つまりクライアント/サーバとなってしまうことから、サーバを介することなくクライアント−クライアント間の通信はできなかった。すなわち、端末Aから端末Bに秘密のデータをSSLにより暗号化して送る場合には、必ず間にサーバを介在する必要があった。これに対して、IPsecではこのような制約がないので直接通信が可能となる。
また、PPP(Point to Point Protocol)モバイル環境あるいはADSL(Asymmetric Digital Subscriber Line)環境においては、IPsecは、データの暗号化通信を開始する前に、暗号化方式の決定、鍵の交換、相互認証に使用するプロトコルであるIKE(Internet Key Exchange)プロトコルを使用した通信の中で、接続先相手の認証を行っている。
従って、PPPモバイル環境(リモートクライアント)又は、ADSL環境の場合、IPアドレスが固定できないため、IPsecのゲートウェイ間で、最も使用しているIKEのMainモード、つまり認証の際に通信相手のIPアドレス情報を使用するモードを使用することができない。
なお、解決策としては、Aggressiveモードを使用することで、ID情報にIPアドレスを使用しなくてもよく、ID情報に例えばユーザ情報を使用し、既知共有鍵にユーザのパスワードを使用することで相手を特定することができる。但し、Aggressiveモードでは鍵交換情報と同じメッセージの中で接続先相手のIDを送信するため、IDは暗号化されずに平文のまま送信することになる。
また、XAUTH(Extended Authentication within IKE)を利用することにより、認証の問題を解決することができるが、ファイアウォールの設定で、リモートクライアントからのアクセスは、IPアドレスが不明であるため、IKE、IPsecを全て許可にする必要があり、セキュリティ上問題が残る。SSLは、この環境下であっても、通信することが可能である。
また、IPsecは、NAT(Network Address Translation)やIPマスカレードに対応することができないという問題がある。これらに対応するためには、例えばUDPのペイロードに載せるといった他の機能と併用しなければならない。
NATは、インターネットに接続された企業などが1つのグローバルなIPアドレスを複数のコンピュータで共有する技術であり、組織内でのみ通用するIPアドレス(ローカルアドレス)とインターネット上のアドレス(グローバルアドレス)を相互変換する技術である。NATに対応できないのは、IPヘッダがAH(Authentication Header)の認証範囲に入っているため、このローカルアドレスからグローバルアドレスの相互変換ができなくなり、サブネットの異なるローカルアドレス同士の通信ができなくなるからである。
また、IPマスカレードとは、LAN内のプライベートアドレスを持つ複数のクライアントからインターネットにアクセスすることを可能とするような仕組みであり、これを利用すると、外部(インターネット)からはIPマスカレードが動作している端末しか見えないのでセキュリティ上から見て望ましいといえるものである。IPsecがIPマスカレードに対応できない理由は、IPsecのESP(Encapsulating Security Payload:暗号ペイロード)ヘッダがIPヘッダのすぐ後にあるためである。
IPマスカレードを実装している通常のルータは、IPヘッダのすぐ後ろには、TCP/UDPのポート番号があると判断している。従って、IPマスカレードを実装しているルータを経由すると、このポート番号を変更してしまうため、IPsecは、改竄されたと判断して、ホストの認証ができないという問題が生じる。この問題は、UDPのペイロードに乗せるためのNAT−T(NAT-Traversal)をサポートする製品を利用することで回避することができる。
但し、NAT−Tのドラフトバージョンが異なると、NAT−T対応製品同士でも接続することができない。SSLは、この環境下であっても、通信することが可能である。
これに対し、ハッカーやクラッカーといわれるネットワークの不正侵入者によるTCP/IPへのさまざまな攻撃、いわゆるDoS攻撃(Denial of Service:サービスを停止させる攻撃)に対しては、SSLは無力である。TCP/IPプロトコルスタックへのDoS攻撃、例えば、TCP切断攻撃が行われると、TCPセッションが切れてしまいSSLのサービスは停止してしまうのである。
IPsecは第3層(IP層)に実装しているため、IP層にセキュリティ機能を持つので、TCP/IP(第4層、第3層)へのDoS攻撃を防ぐことができる。しかし、SSLは、TCP/IP(第4層、第3層)より上の層(第5層)に実装されている暗号化プロトコルであるため、TCP/IPへのDoS攻撃を防ぐことができない。
さらに、物理ノイズが多く通信エラーが多発するような劣悪な通信環境化における通信に対しては、SSLの方がIPsecに比べて効果的である。すなわち、IPsecは、エラーの検出をした場合、再送動作を上位のTCPに任せることになる。TCPは、再送データをIPsecに送るが、IPsecはこの再送データであることが認識できず、再暗号を行ってしまうのである。SSLはTCPでエラー回復処理を行うので同じデータを再暗号化することはない。
また、IPsecでは異なったLAN間の通信ができない。すなわち、LAN内のサブネットアドレスの配布管理は、LAN内にあるDHCP(Dynamic Host Configuration Protocol)サーバが管理しているため、LAN内では、同一のサブネットアドレスが割り振られることはないが、異なったLAN間の通信の場合、お互いのLAN内にあるDHCPサーバが個別にサブネットアドレスを割り振っているため、同一アドレスが割り振られる可能性がある。
このように同一アドレスが割り振られた場合には、IPsecでは通信することができない。但し、別にIPsec−DHCPサーバを立てて、同一アドレスにならないように管理すれば、通信することができる。SLLは上述したようにOSI参照モデルの第5層(セッション層)に位置しているため、下位層のTCPでエラー回復処理を行うことができ、上記のような劣悪な環境下でも通信することが可能となる。
また、異なったネットワーク環境下における通信に対しては、IPsecは、経由するノード全てを管理し、IPsecが通過できるように設定変更しなければならないため、管理が大変であるが、SSLは、この環境下であっても、経由するノードの環境を意識せず通信することが可能である。
また、SSLは、UDPの通信をサポートしていないため、UDPを暗号通信することができない。TCPも特定のポートしかサポートしていないため、TCP全てのポートを暗号通信することができない。これに対して、IPsecは、UDPでもTCPでも暗号通信することができる。
さらに、SSLはアプリケーションに対する互換性を持たない点において問題がある。アプリケーションは、インターネット通信を行う際にソケット(第5層)をプログラムインターフェースとして使用する。このため、アプリケーションがSSL(第5層)を使用する場合には、このソケットインターフェースをSSLインターフェースに変更しなければならない。従って、SSLにアプリケーションの互換性はない。
これに対し、IPsecは、ソケット(第5層)の下に位置しているため、アプリケーションは、ソケット(第5層)をプログラムインターフェースとしてそのまま使用することができるのでアプリケーションの互換性がある。また、IPsecは、IPアドレス単位で制御することができるのに対し、SSLは、ソース単位(URL単位、フォルダー単位)で制御することになる。
さらに、IPsecは最大セグメントサイズが小さくなるという問題がある。すなわち、IPsecでは、ESPヘッダ、ESPトレーラを使用するため、ペイロードが小さくなるため、フラグメント(パケットの分割)が発生し、スループットが低下する。また、TCPパケットでは、フラグメントが禁止であるため、エンドエンドで、IPsecの通過する環境を把握し、フラグメントが発生しない最大セグメントサイズを設定する必要がある。これに対し、SSLは、通過する環境を把握する必要がないため、最大セグメントサイズを設定する必要はない。
以上、表1(図7)にもとづいてIPsecとSSLの機能比較について説明したが、上述のようにIPsecとSSLには、互いに相反する長所と短所が混在しているものである。これに対して、本願発明者は先に、これらIPsecとSSLのすべての長所を含み、さらに他にも多くのメリットを有する画期的な暗号通信プロトコルであるTCP2を提案した(特許文献1参照。)。
すなわち特許文献1に記載の発明においては、コンピュータ端末への不正侵入を防ぐための「暗号化の機能」をアプリケーション・プログラムそれぞれに実装する必要がなく、従って、アプリケーション・プログラム自体を再作成する必要もなく、かつ上記暗号化機能に対応していない通信相手とも従来の平文による通信でき、さらにはIPsecが利用できない環境(あるいは利用したくない状況)でも暗号化や認証の恩恵を受けることができる。
図8は、本願発明者が先に特許文献1において提案した暗号化通信システムの一実施の形態に用いられるプロトコルスタックを示すものである。
この特許文献1に記載の発明に用いられるプロトコルスタックは、図8に示すように、OSI7階層の物理層(第1層)とデータリンク層(第2層)に相当する階層に、NIC(Network Interface Card)ドライバ11が配列される。このドライバは、既に述べたように、コンピュータなどのハードウエアをネットワークに接続するためのインターフェースカードのドライバであり、その内容はデータ送受信制御ソフトウエアである。例えばイーサネットに接続するためのLANボードまたはLANカードがこれに相当するものである。
第3層のネットワーク層には、一部がトランスポート層(第4層)まで延びたIPエミュレータ(emulator)3が存在している。上記延びた部分には、トランスポートとしての機能は実装していない。セッション層に、ネットワーク層の機能を提供しているだけである。このIPエミュレータ3は、暗号化通信を行うプロトコルである「IPsec on CP」13bと、「IP on CP」13aを用途に応じて切り換えて使う働きをするものである。ここで、「on CP」とは、クラッキング・プロテクタ(CP)による、「進入」、「攻撃」の監視、破棄、切断ないし通過制限の対象となっていること、又は、設定によりなりうることを示している。
また、ネットワーク層には「ARP on CP(Address Resolution Protocol on Cracking Protector)」が配列されている。この「ARP on CP」は、クラッカー(cracker)への保護対策を具備したIPアドレスからイーサネットの物理アドレスであるMAC(Media Access Control)アドレスを求めるのに使われるプロトコルである。MACは、媒体アクセス制御と呼ばれる、LANなどで利用される伝送制御技術であり、データの送受信単位であるフレームの送受信方法やフレームの形式、誤り訂正などを規定する技術として利用されている。
ここで、IPエミュレータ13は、本発明による各種のセキュリティ機能を、従来のIP周辺のスタックに整合させるためのソフトウエア又はファームウエアである。すなわち、IPのエラーメッセージや制御メッセージを転送するプロトコルであるICMP(Internet Control Message Protocol)14a、同一のデータを複数のホストに効率よく配送するための又は配送を受けるために構成されるホストのグループを制御するためのプロトコルであるIGMP(Internet Group Management Protocol)14b、TCP15、UDP16さらにソケット(socket)インターフェイス17に整合させるためのソフトウエア、又はファームウエア、ないしはハードウエア(電子回路、電子部品)である。このIPエミュレータ13により、IPsecの暗号化・復号化及び必要な認証情報付加・認証等の前後の適合処理を行うことができる。
このIPエミュレータ13の上層のトランスポート層(第4層)には、TCPエミュレータ15とUDPエミュレータ16が配置されている。TCPエミュレータ15は、暗号化通信を行うプロトコルである「TCPsec on CP」15bと、通常の通信プロトコルである「TCP on CP」15aを用途に応じて切り換えて使う働きをする。同様に、UDPエミュレータ16は、暗号化通信を行うプロトコルである「UDPsec on CP」16bと、通常の通信プロトコルである「UDP on CP」16aを用途に応じて切り換えて使う働きをする。
この特許文献1の最も特徴とするべき点は、このトランスポート層(第4層)に、TCPsec15bと、UDPsec16bの暗号化通信プロトコルを搭載したことである。TCPsec15bとUDPsec16bについては後述する。
このトランスポート層(第4層)の上層のセッション層(第5層)には、TCP及びUDP等のプロトコルとデータのやりとりを行うソケット(socket)インターフェイス17が設けられている。このソケットの意味は、既に述べたようにコンピュータが持つネットワーク内の住所に当たるIPアドレスと、IPアドレスのサブアドレスであるポート番号を組み合わせたネットワークアドレスを意味しており、実際には、一連のヘッダの追加ないし削除をまとめて行う、単一のソフトウエアプログラムモジュール(実行プログラム等)あるいは単一のハードウエアモジュール(電子回路、電子部品等)からなっている。
このソケットインターフェース17は、さらに上位のアプリケーションからの統一的なアクセス方式を提供するものであり、引数の種類や型など従来と同様のインターフェイスを保つようにしている。
TCPエミュレータ15は、トランスポート層において、データの漏洩・改竄の防止の機能、すなわち暗号化、完全性認証及び相手認証等の機能を持つTCPsec15bと、このような暗号化、完全性認証、及び相手認証等の機能を持たない通常のプロトコルTCP15aのいずれかにパケットを振り分ける働きをもっている。また、TCPsec15b及びTCP15aのいずれもクラッキング・プロテクタ(CP)を備えているため、そのいずれを選択した場合でも、クラッカーによる「進入」、「攻撃」に対して防御する機能を実現することができる。TCPエミュレータ15は上位層であるソケットとのインターフェイスの役割も果たしている。
また、既に述べたようにTCPがエラー補償機能を有するのに対して、UDPはエラー補償機能を持たないが、その分転送速度が速く、かつブロードキャスト機能を備えているという特徴がある。UDPエミュレータ16は、TCPエミュレータ15と同様に、データの漏洩・改竄の防止の機能、すなわち暗号化、完全性認証及び相手認証等の機能を持つUDPsec16bと、このような暗号化、完全性認証、及び相手認証等の機能を持たない通常のプロトコルUDP16aのいずれかにパケットを振り分ける働きを持っている。
図8に示すように、ソケット17、TCPエミュレータ15、UDPエミュレータ16、「TCPsec on CP」15b、「UDPsec on CP」16b、「TCP on CP」15a、「UDP on CP」16a、「ICMP on CP」14a、「IGMP on CP」14b、IPエミュレータ13、「IP on CP」13a、及び「ARP on CP」12からなるプロトコルスタックが本発明の暗号化処理を行うためのプロトコルスタックであり、以下、このプロトコルスタックを総称してTCP2と呼ぶことにする。
なお、TCP2には「IPsec on CP」13bは必須のものとして含まれていないが、「IPsec on CP」13bを含めてTCP2とすることもできる。
特許文献1に開示されているTCP2には、上述した暗号化処理を行うためのプロトコルスタックの他に、TCP、UDP、IP、IPsec、ICMP、IGMP、ARPの標準プロトコルスタックも含んでいる。そして、これらの標準プロトコルにCP(クラッキング・プロテクト)を実装し、各プロトコルスタックに対する通信からの攻撃、及び、アプリケーション・プログラムからの攻撃(トロイの木馬、プログラムの改竄、正規ユーザの不正使用など)を防御することができるようにしている。
また、TCP2では、TCPエミュレータ15を実装し、このTCPエミュレータ15は、セッション層にあるソケット(socket)17、及びネットワーク層にあるIPエミュレータ13から見て、互換性を保つため、外向きには標準TCPと同じに見せることができる。実際は、TCP2の機能として、TCPとTCPsecを切り替えて実行する。TCPsecは、本発明であるトランスポート層での暗号化及び認証機能である。
また、同様に、TCP2では、UDPエミュレータ16を実装しており、UDPエミュレータ16は、セッション層であるソケット(socket)17、及び、ネットワーク層であるIPエミュレータ13から見て、互換性を保つため、外部からは標準UDPとして見せることができる。実際は、TCP2の機能として、UDP、UDPsecを切り替えて実行する。UDPsecは、特許文献1に記載の発明であるトランスポート層での暗号化及び認証機能である。
次に、TCP2において、特に重要な機能である「データ漏洩」を防ぐ機能であるTCPsec15b及びUDPsec16bについて説明する。
TCPsec15b及びUDPsec16bのための暗号化・復号化の方法(アルゴリズム、ロジック(論理))としては、公知の秘密鍵(共通鍵)暗号アルゴリズムが用いられる。例えば、1960年代にIBM社によって開発された秘密鍵暗号アルゴリズムであるDES(Data Encryption Standard)や、その改良版としての3DESが用いられる。
また、その他の暗号アルゴリズムとしては、1992年にスイス工科大学のJames L.Massey氏とXuejia Lai氏によって発表されたIDEA(International Data Encryption Algorithm)も用いられる。この暗号アルゴリズムは、データを64ビットのブロックに区切って暗号化するもので暗号鍵の長さは128ビットである。秘密鍵暗号を効率よく解読する線形解読法や差分解読法に対しても十分な強度を持つように設計されている。
また、特許文献1に記載の発明に用いられるTCPsec15b及びUDPsec16bの暗号方式として、FEAL(Fast data Encipherment Algorithm)、MISTY、AES(Advanced Encryption Standard)といった暗号方式も利用されるほか、また、独自に作成した秘密の暗号化・復号化アルゴリズムを利用することもできる。ここで、FEALは、日本電信電話株式会社(当時)が開発した暗号方式で、暗号化と復号化に同じ鍵をもちいる秘密鍵型の暗号方式である。このFEALは、DESに比べて高速に暗号化と復号化ができるという利点がある。
次に、同じく特許文献1に記載の発明に利用される暗号方式であるMISTYは、三菱電機株式会社が開発した秘密鍵型の暗号方式であり、IDEAと同様にデータを64ビットのブロックに区切って暗号化する。鍵の長さは128ビットである。暗号化と復号化には同じプログラムが使われる点はDESなどと同じである。この方式も秘密鍵暗号を効率よく解読する線形解読法や差分解読法に対しても十分な強度を持つように設計されている。
また、AESは、米国商務省標準技術局によって選定作業が行われている、米国政府の次世代標準暗号化方式であり、現在の標準的な暗号方式であるDESに代わる次世代の暗号標準として開発が進められたものである。世界に公募して集められて幾つかの暗号方式の中から、2000年10月に、ベルギーの暗号開発者Joan Daemen氏とVincent Rijmen氏が開発したRijndaelという方式が採用された。
このように、特許文献1に記載の発明に適用されるTCPsec15b及びUDPsec16bの暗号方式としては、既に知られているさまざまな秘密鍵の暗号アルゴリズムを採用することができるほか、ユーザが独自に開発した秘密鍵(共通鍵)暗号方式も利用することが可能である。
さらに、いわゆる「なりすまし」及び「データの改竄」などを防ぐための「相手認証」及び「完全性認証」の方法として、公開鍵や事前秘密共有(pre-shared)を利用したアルゴリズム、例えば、MD5(Message Digest 5)、SHA1(Secure Hash Algorithm 1)などの認証アルゴリズムが用いられる。また、このような公知の認証アルゴリズムに代えて独自の一方向関数を利用したアルゴリズムを採用することもできる。
このMD5は、認証やデジタル署名に用いられるハッシュ関数(一方向要約関数)の一つであり、原文を元に固定長のハッシュ値を発生し、これを通信経路の両端で比較することにより、通信途中で原文が改竄されていないかを検出することができるものである。このハッシュ値は擬似的な乱数のような値をとり、これを基にしては原文を再生できないようになっている。また、同じハッシュ値を生成する別のメッセージを作成することも困難になっている。
SHA1も、認証やデジタル署名などに使われるハッシュ関数の一つであり、2の64乗ビット以下の原文から160ビットのハッシュ値を生成し、通信経路の両端で比較することにより、通信途上の原文の改竄を検出するものである。この認証アルゴリズムは従来のインターネットの暗号化通信の代表的なものであるIPsecにも採用されている。
なお、これらの認証アルゴリズムについては、DH(Diffie-Hellman)公開鍵配送法や、IPsecと同様のIKE(Internet Key Exchange)プロトコル(UDPの500番)などにより安全な鍵交換ができるように設計され、しかも、定期的に暗号化/完全性認証アルゴリズム(論理)自体やそのための鍵の集合/定義域が変更されるように、プロトコルドライバープログラム(TCPsec15b、UDPsec16bなど)によりスケジュールされている。
国際公開WO 2005/015827 A1号公報
R.Atkinson,1995年8月「Security Architecture for the Internet Protocol」RFC1825
以下、図面を参照して本発明の実施の形態例を説明する。図1のAは、本発明を適用した中継コネクタ装置の一実施形態例の構成を示す。すなわち、図1のAにおいて、本例の中継コネクタ装置100は、例えばコンピュータのPCMICA(Personal Computer Memory Card International Association)スロット200と、そこに接続される既存のモバイルデータカード300の間に設けられるものであって、従来は図1のBに示すように直結されていたコンピュータのPCMICAスロット200とモバイルデータカード300との間に設けられるものである。
そこでこの中継コネクタ装置100には、PCMICAスロット200からのPCMICAバス20に接続するための第1のPCI(Peripheral Component Interconnect)インターフェイスコントローラ1と、モバイルデータカード300からのPCMICAバス30に接続するための第2のPCIインターフェイスコントローラ2とが設けられる。また、これらの第1及び第2のPCIインターフェイスコントローラ1、2は内部バス3に接続される。
さらにこの内部バス3に対して、「TCP2」の機能を実現するための構成4(破線で囲って示す)が設けられる。すなわちこの構成4には、CPU41と、フラッシュROM42、例えばSDRAM(Synchronous DRAM)43、例えばEEPROM(Electrically Erasable Programmable ROM)44などのメモリ手段が含まれており、これらの構成4が内部バス3に接続される。そしてこれらの構成4により、上述の「TCP2」の機能が実現されるようになされている。
ここで中継コネクタ装置100においては、「TCP2」の機能を実現するための構成4が、モバイルデータカード300をエミュレートしている。このため、コンピュータ本体の通信プログラムは、モバイルデータカード300とインターフェイスを確立した際には、単にモバイルデータカード300から例えばイーサネット経由で通信を行っているとだけ判断し、通信を開始することになる。
そしてこのとき、モバイルデータカード300をエミュレートしている「TCP2」の機能を実現するための構成4は、コンピュータ本体の通信プログラムからPCMICAスロット200及びPCMICAバス20経由で受け取った送信データを暗号化し、モバイルデータカード300から例えばイーサネット経由で暗号データを送信する。
また、モバイルデータカード300が、例えばイーサネットからの暗号化した通信データを受信した場合、「TCP2」の機能を実現するための構成4で復号化し、PCMICAスロット200及びPCMICAバス20経由でコンピュータ本体の通信プログラムへ受信データとして出力する。なお、通信を開始する際には、対向のTCP2とお互いを認証する機能があり、ここで認証できない場合は、通信を強制終了するか、繋ぐかを予め選択しておくことができる。
すなわち、この中継コネクタ装置100においては、それ自体が「TCP2」の機能を実現するパーソナルコンピュータと同等の機能を有するものである。そこでこの中継コネクタ装置100には、それぞれがネットワークを形成するPCMICAバス20、30と接続されるコントローラ1、2が設けられ、これらのコントローラ1、2を含む中継用のアプリケーション層に対して、PCMICAバス20、30の延長上に存在する任意の2つのノード間で、ルーティング(routing)を行いながら通信するための通信方法を規定する「TCP/IP」を含むネットワーク層とトランスポート層が設けられる。
そしてこれらの中継用のアプリケーション層とネットワーク層との間に、本願発明者が先に提案した「TCP2」の機能を設けることができる。すなわちこの場合に、「TCP2」の機能は構成4に内蔵されるCPU41のソフトウエア、若しくはハードウエアとして設けることができると共に、さらに、この「TCP2」の機能を制御したり、暗号化及び復号化ロジックを定期的に変更したり、必要に応じて暗号化をしないで平文を取り扱う旨の取り決めをしたりするための手段を、メモリ42〜44として設けることができる。
従って、この実施形態において、本願発明者が先に提案した「TCP2」の機能を中継コネクタ装置100に装備することによって、パーソナルコンピュータ本体に対してはソフトウエア、若しくはハードウエアを実装するなどの負担を掛けることなく、パーソナルコンピュータと外部との通信において、インターネット上でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができる。
すなわち、本発明の中継コネクタ装置100は、例えば概念図を図2に示すように、TCP2を暗号通信、並びに、認証を行う通信回線上に接続する中継コネクタ装置100として実現される。そしてこの図2において、TCP2を含む中継コネクタ装置100は、データリンク層以下のインターフェイスに依存しないため、様々なインターフェイスに接続することができる。
従って、コンピュータ本体の通信ソフト201からの内部バス20であるインターフェイスAと、モバイルデータカード300などの通信モジュール301からの内部バス30であるインターフェイスBには、PCI(Peripheral Component Interconnect)、ISA(Industry Standard Architecture)、EISA(Extended Industry Standard Architecture)、PCMCIA、USB(Universal Serial Bus)を含む様々な通信インターフェイスが用いられる。また、対向通信機器400に接続される外部ネットワーク300であるインターフェイスCには、イーサネット、FDDI(Fiber Distributed Data Interface)、PPP(Point-to-Point Protocol)、無線LAN、IEEE1394を含む様々な通信インターフェイスが用いられる。
そして中継コネクタ装置100は、インターフェイスAからの既存の通信データを入力し、TCP2で暗号化し、インターフェイスBへ暗号データとして出力する。また、インターフェイスBからの暗号化した通信データを入力し、TCP2で復号化し、インターフェイスAへ既存の通信データとして出力する。なお、中継コネクタ装置100は、通信を開始する際に、対向通信機器400との間で互いのTCP2を認証する機能があり、ここで認証できない場合は、通信を強制終了するか、繋ぐかを予め選択しておくことができる。
そこで、このような通信システムにおいて、既存の通信ソフト201と中継コネクタ装置100の間は既存の通信データがやり取りされるが、中継コネクタ装置100と対向通信機器400の間は暗号通信データがやり取りされることになり、この部分でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができる。
このような通信ネットワークにおいては、内部バス20の範囲は既存の通信データによるやり取りが行われ、内部バス30及び外部ネットワーク40の部分において、暗号通信データによるやり取りが行われることになる。このため、この外部ネットワーク40の部分でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができる。なお、通信ネットワーク40には、電力線、無線LAN、有線LAN、専用線などの種々の形態を採用することができる。
こうして本発明の中継コネクタ装置によれば、トランスポート層に位置するTCP又はUDPプロトコルに暗号化機能を追加して電子化情報の通信を行う際に用いられるものであって、コンピュータ本体のメディア接続手段に接続される第1の接続手段と、外付けメディアに接続される第2の接続手段とが設けられると共に、相対する相手装置との間で対応する暗号化及び復号化ロジックを取り決める取決め手段と、送受信する情報単位としてのパケットのうち、少なくともプロトコルのペイロードを取決め手段により取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化手段と、受信した暗号化されたTCP又はUDPプロトコルのペイロードを取決め手段により取り決めた復号化ロジックに従って復号化するプロトコル復号化手段とを備え、トランスポート層のTCP又はUDPプロトコルを用いて暗号化及び復号化ロジックに基づいた通信を行うことにより、パーソナルコンピュータに対してはソフトウエア、若しくはハードウエアを実装するなどの負担を掛けることなく、パーソナルコンピュータと外部との通信において、インターネット上でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができるものである。
ところで上述した本発明の中継コネクタ装置において、この装置を構成する各回路ブロックは、全体を1個の半導体回路装置に形成することが可能である。そこで本発明は、このように全体を1個に形成した半導体回路装置も含むものである。すなわち上述の中継コネクタ装置は、トランスポート層に位置するTCP又はUDPプロトコルに暗号化機能を追加して電子化情報の通信を行う際に用いられる半導体回路装置であって、相対する相手装置との間で対応する暗号化及び復号化ロジックを取り決める取決め手段と、送受信する情報単位としてのパケットのうち、少なくともプロトコルのペイロードを取決め手段により取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化手段と、受信した暗号化されたTCP又はUDPプロトコルのペイロードを取決め手段により取り決めた復号化ロジックに従って復号化するプロトコル復号化手段とを備え、トランスポート層のTCP又はUDPプロトコルを用いて暗号化及び復号化ロジックに基づいた通信を行うことを特徴とする半導体回路装置とすることができるものである。
このような本発明の半導体回路装置101は、例えば概念図を図3に示すように、TCP2を暗号通信、並びに、認証を行う通信回線上に接続する半導体回路装置101として実現される。すなわち図3の概念図において、コンピュータ本体の通信ソフト201からの内部バス20であるインターフェイスAがTCP2を含む半導体回路装置101に接続され、この半導体回路装置101からの内部バス31であるインターフェイスBが通信物理層チップ302に接続される。そしてこの図3において、TCP2を含む半導体回路装置101は、データリンク層以下のインターフェイスに依存しないため、様々なインターフェイスに接続することができる。
従って図3の概念図において、上述のインターフェイスAにはPCI、ISA、EISA、PCMCIA、USBを含む様々な通信インターフェイスが用いられる。また、インターフェイスBにはMII(Media Independent Interface)を含む様々な通信インターフェイスが用いられる。さらに対向通信機器400に接続される外部ネットワーク300であるインターフェイスCには、イーサネット、FDDI、PPP、無線LAN、IEEE1394を含む様々な通信インターフェイスが用いられる。
ここでは、半導体回路装置101は、インターフェイスAからの既存の通信データを入力し、TCP2で暗号化し、インターフェイスBへ暗号データとして出力する。また、インターフェイスBからの暗号化した通信データを入力し、TCP2で復号化し、インターフェイスAへ既存の通信データとして出力する。また、インターフェイスBに送られた暗号化データは、通信物理層チップ302、インターフェイスCを介して対向通信機器400に送られる。なお、半導体回路装置101は、対向通信機器400との間で通信を開始する際に、互いのTCP2を認証する機能があり、ここで認証できない場合は、通信を強制終了するか、繋ぐかを予め選択しておくことができる。
そこで、このような通信システムにおいて、既存の通信ソフト201と半導体回路装置101の間は既存の通信データがやり取りされるが、半導体回路装置101と対向通信機器400の間は暗号通信データがやり取りされることになり、この部分でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができる。
そして、このような通信ネットワークにおいては、内部バス20の範囲は既存の通信データによるやり取りが行われ、内部バス31及び外部ネットワーク40の部分において、暗号通信データによるやり取りが行われることになる。そしてこの外部ネットワーク40の部分でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができる。なお、通信ネットワーク40には、電力線、無線LAN、有線LAN、専用線などの種々の形態を採用することができる。
こうして本発明の半導体回路装置によれば、トランスポート層に位置するTCP又はUDPプロトコルに暗号化機能を追加して電子化情報の通信を行う際に用いられる半導体回路装置であって、相対する相手装置との間で対応する暗号化及び復号化ロジックを取り決める取決め手段と、送受信する情報単位としてのパケットのうち、少なくともプロトコルのペイロードを取決め手段により取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化手段と、受信した暗号化されたTCP又はUDPプロトコルのペイロードを取決め手段により取り決めた復号化ロジックに従って復号化するプロトコル復号化手段とを備え、トランスポート層のTCP又はUDPプロトコルを用いて暗号化及び復号化ロジックに基づいた通信を行うことにより、パーソナルコンピュータに対してはソフトウエア、若しくはハードウエアを実装するなどの負担を掛けることなく、パーソナルコンピュータと外部との通信において、インターネット上でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができるものである。
なお、本発明の半導体回路装置によれば、この半導体回路装置を任意の通信物理層チップの前段に設けることによって、この通信物理層チップを通じて行われる通信におけるインターネット上でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができる。そこでこのような半導体回路装置は、例えば携帯電話やIP電話、さらに画像配信や、FA(Factory Automation)における制御情報の通信などに使用して極めて有効となるものである。
すなわち、このような携帯電話やIP電話、さらに画像配信や、FAにおける制御情報の通信などに本発明の半導体回路装置を適用することによって、これらの通信におけるデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐことができる。従って、これらの通信の安全性を高め、例えばインターネットを経由した通信であっても、通信の信頼性を極めて向上させることが可能になる。あるいはこのような信頼性の確保された通信を、簡易なインターネットを経由して行うことができるようになる。
最後に、本発明のTCP2が、従来のIPsecあるいはSSLと比べて如何に優位であるかという点について、図4に示す表2及び図5に基づいて説明する。図4の表2は、上述した図7の表1のIPsecとSSLの機能比較表にTCP2の機能を追加して示したものである。
この表2から明らかなように、IPsec及びSSLが持っている様々な問題点(これらについては背景技術において示した)を、TCP2を採用することによりことごとく解決していることが分かる。例えば、SSLでは対応が困難であった、クライアント−クライアント間の通信、TCP/IPプロトコルへのDoS攻撃、全てのUDPポートあるいはTCPポートのセキュアな通信、ソケットプログラムを変更しなければならなかったアプリケーションでの制限などに、TCP2は完全に対応している。
また、IPsecでは対応が困難であった、エラーが多発する劣悪な環境下での通信、異なったLAN間での通信、複数キャリア経由の接続、PPPモバイル環境、ADSL環境での通信に対しても、TCP2は完全にサポートしている。さらに、モバイル環境下やADSL環境下でVoIP(Voice over Internet Protocol)を使ったインターネットに対しては、IPsec及びSSLとも表1及び表2に示すように問題があるが、本発明のTCP2によれば、どちらの環境下でも対応可能である。
また、異なったLAN間でVoIPを使ったインターネット電話に対しても、IPsecとSSLでは対応不可能であったが、本発明のTCP2によれば完全に対応することができる。
図5は、TCP2の優位性を説明するための図であるが、セキュリティのないプロトコルスタック(a)に、従来のSSLを適用したケース(b)と、IPsecを適用したケース(c)と、本発明のTCP2(TCPsec/UDPsec)を適用したケース(d)を比較して示している。
図5(b)のSSLは既に述べたように、セッション層(第5層)のソケットに設けられているので、上位のアプリケーションに対する互換性がないのである。このため、SSL自体、上述のような問題を抱えることになっている。また図5(c)のIPsecは、ネットワーク層(第3層)にあり、IP層での互換性がないため、ネットワークを構成する上で上述したような様々な制約を受けることになる。
これに対して、図5(d)のTCP2(TCPsec/UDPsec)は、トランスポート層(第4層)に導入する暗号化技術であり、このためアプリケーションから見るとソケットをそのまま利用することができ、またネットワークから見るとIPもそのまま利用できるのでネットワークを構成する上での制約は受けない。
以上のように、本発明の通信ボード装置及び通信方法は、本願発明者が先に提案したTCP2を用いることによって、既存の暗号化処理システムに比べても、特にデータの漏洩、改ざん、なりすまし、進入そして攻撃に対して極めて高いセキュリティ機能を有するものである。
なお、本発明は、以上説明した実施の形態に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない範囲において、さらに多くの実施形態を含むものであることは言うまでもない。
100…中継コネクタ装置、200…PCMICAスロット、300…モバイルデータカード、1,2…PCIインターフェイスコントローラ、3…内部バス、4…「TCP2」の機能を実現するための構成、41…CPU、42…フラッシュROM、43…SDRAM、44…EEPROM