説明

通信ボード装置及び通信方法

【課題】 パーソナルコンピュータに対してソフトウエア、若しくはハードウエアを実装するなどの負担を掛けることなく、外部との通信において、インターネット上でのデータの「漏洩」及び「改竄」、さらには「なりすまし」、「進入」ないし「攻撃」を防ぐ。
【解決手段】 LANカード100Aには、コンピュータのPCIバス200に接続するためのPCIインターフェイスコントローラ1と、例えばRJ45コネクタ2を介してイーサネット300に接続するためのメディアアクセスコントローラ3が設けられ、これらのPCIインターフェイスコントローラ1とメディアアクセスコントローラ3の間は、内部バス4で接続されている。さらに内部バス4に対して、CPU51と、フラッシュROM52、SDRAM53、EEPROM54などのメモリ手段が設けられ、これらの構成5により「TCP2」の機能が実現されるようになされている。

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

【特許請求の範囲】
【請求項1】
トランスポート層に位置するTCP又はUDPプロトコルに暗号化機能を追加して電子化情報の通信を行う際に用いられる通信ボード装置であって、
ネットワークと接続されるメディアアクセス制御手段と、
コンピュータと接続されるインターフェイス手段と、が設けられると共に、
相対する相手装置との間で対応する暗号化及び復号化ロジックを取り決める取決め手段と、
送受信する情報単位としてのパケットのうち、少なくとも前記TCP又はUDPプロトコルのペイロードを前記取決め手段により取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化手段と、
受信した前記暗号化されたTCP又はUDPプロトコルのペイロードを前記取決め手段により取り決めた復号化ロジックに従って復号化するプロトコル復号化手段と、を備え、
前記トランスポート層のTCP又はUDPプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うことを特徴とする通信ボード装置。
【請求項2】
前記暗号化及び復号化ロジックの取決め手段による取決め候補となりうる暗号化及び復号化ロジックをメモリに記憶、ないしは回路として実装し、
該記憶ないし実装した取決め候補となりうる暗号化及び復号化ロジックを定期的に変更するロジック変更手段をさらに備えた
ことを特徴とする請求項1に記載の通信ボード装置。
【請求項3】
前記暗号化及び復号化ロジックの取決め手段が、前記暗号化及び復号化ロジックに関連して、暗号化をしないで平文を取り扱う旨を取り決める
ことができるようにした請求項1又は2に記載の通信ボード装置。
【請求項4】
トランスポート層に位置するTCP又はUDPプロトコルに暗号化機能を追加して電子化情報の通信を行う際に用いられる通信方法であって、
コンピュータ本体とのインターフェイスが設けられると共に、
相対する相手装置との間で対応する暗号化及び復号化ロジックを取り決め、
送受信する情報単位としてのパケットのうち、すくなくとも前記TCP又はUDPプロトコルのペイロードを前記取り決めた暗号化ロジックに従って暗号化し、
受信した前記暗号化されたTCP又はUDPプロトコルのペイロードを前記取り決めた復号化ロジックに従って復号化し、
前記トランスポート層のTCP又はUDPプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うことを特徴とする通信方法。
【請求項5】
前記暗号化及び復号化ロジックの取決め候補となりうる暗号化及び復号化ロジックをメモリに記憶、ないしは回路として実装し、
該記憶ないし実装した取決め候補となりうる暗号化及び復号化ロジックを定期的に変更する
ことを特徴とする請求項4に記載の通信方法。
【請求項6】
前記暗号化及び復号化ロジックの取決めが、前記暗号化及び復号化ロジックに関連して、暗号化をしないで平文を取り扱う旨を取り決める
ことができるようにした請求項4又は5に記載の通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−19632(P2007−19632A)
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願番号】特願2005−196498(P2005−196498)
【出願日】平成17年7月5日(2005.7.5)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
2.WINDOWS
3.ETHERNET
【出願人】(503287764)ティー・ティー・ティー株式会社 (18)
【Fターム(参考)】