[go: up one dir, main page]

JP5060081B2 - フレームを暗号化して中継する中継装置 - Google Patents

フレームを暗号化して中継する中継装置 Download PDF

Info

Publication number
JP5060081B2
JP5060081B2 JP2006216737A JP2006216737A JP5060081B2 JP 5060081 B2 JP5060081 B2 JP 5060081B2 JP 2006216737 A JP2006216737 A JP 2006216737A JP 2006216737 A JP2006216737 A JP 2006216737A JP 5060081 B2 JP5060081 B2 JP 5060081B2
Authority
JP
Japan
Prior art keywords
frame
encryption
processing unit
relay
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006216737A
Other languages
English (en)
Other versions
JP2008042715A (ja
Inventor
貴光 飯田
秀志 櫻井
聡史 小原
幸宏 中島
敬之 佐久間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006216737A priority Critical patent/JP5060081B2/ja
Priority to US11/622,750 priority patent/US7979693B2/en
Publication of JP2008042715A publication Critical patent/JP2008042715A/ja
Application granted granted Critical
Publication of JP5060081B2 publication Critical patent/JP5060081B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、データリンク層のフレームを暗号化して中継することによって機密通信を実現する装置に関する。
イーサネット(登録商標)は、10Mbps、100Mbps、1Gbpsといった高速通信を実現し、かつNIC(Network Interface Card)、ハブ、スイッチ、ケーブルなどの通信用機器が安価で入手しやすいため、個人利用から企業の基幹業務システムまで広く用いられている。
イーサネット(登録商標)の仕様は、OSI(Open Systems Interconnection)参照モデルにおける物理層(レイヤ1ともいう)およびデータリンク層(レイヤ2ともいう)の仕様を規定している。また、イーサネット(登録商標)を標準化したIEEE(Institute of Electrical and Electronic Engineers)802.3規格では、レイヤ2がさらに二つの副層に分かれており、レイヤ1に近いほうがMAC(Media Access Control)副層、ネットワーク層(レイヤ3ともいう)に近いほうがLLC(Logical Link Control)副層である。レイヤ2においてデータは、フレームという単位で送受信される。
上記のようにイーサネット(登録商標)は広く用いられているが、イーサネット(登録商標)における通信そのものは暗号化されていない。つまり、送受信されるフレームは暗号化されていない。よって、通信を傍受されたときには重要な情報が漏洩してしまう。
リピータハブを用いているときには、同一ハブに接続されているすべての端末が通信を傍受することが可能である。スイッチングハブを用いれば、通常は他の端末の通信を傍受することはできないが、ARP(Address Resolution Protocol)スプーフィングやMACフラッディングなどの攻撃手法を使うことで、容易に傍受が可能となる。このことから、イーサネット(登録商標)通信を暗号化し、通信内容を秘匿する必要性が生じている。
イーサネット(登録商標)通信を暗号化すること自体は、既存のプロトコル利用することで可能であり、以下に説明するようにいくつかの方法があるが、いずれも問題がある。
第一の方法は、非特許文献1に記載されたIPsecと非特許文献2に記載されたEtherIPとを組み合わせる方法である(「EtherIP over IPsec」ともよばれる)。
IPsecはインターネット通信をセキュアにするアーキテクチャであり、IP(Internet Protocol)パケットを暗号化する技術が含まれる。また、EtherIPは、IP上でイーサネット(登録商標)通信を実現する方式である。よって、IPsecとEtherIPを組み合わせて使用することで、イーサネット(登録商標)通信を暗号化することができる。
第二の方法は、非特許文献1に記載されたIPsecと非特許文献3に記載されたL2TPv3とを組み合わせる方法である。L2TPv3は、IP上でレイヤ2フレームを伝送する方式である。よって、IPsecとL2TPv3を組み合わせて使用することで、イーサネット(登録商標)通信を暗号化することができる。
第三の方法は、IEEE802.1AEとして規格化するための準備が行われている方法であり、MAC副層を暗号化する方法である。MAC副層を暗号化することにより、イーサネット(登録商標)通信を暗号化することができる。
RFC4301 Security Architecture for the Internet Protocol http://www.ietf.org/rfc/rfc4301.txt (閲覧確認:2006年7月28日) RFC3378 EtherIP: Tunneling Ethernet(登録商標) Frames in IP Datagrams http://www.ietf.org/rfc/rfc3378.txt (閲覧確認:2006年7月28日) RFC 3931 Layer Two Tunneling Protocol - Version 3 (L2TPv3) http://www.ietf.org/rfc/rfc3931.txt (閲覧確認:2006年7月28日)
しかし、上記第一の方法には次の問題がある。
(a)EtherIPでは特定の宛先にしかイーサフレームを転送できないため、1対1の通信トポロジに限定されてしまう。つまり、この方法では、1対1に対応する1組のスイッチ間での通信を暗号化することしかできない。しかし、一般的なオフィスLAN(Local Area Network)においては、N対Nの通信が行われることが多い。
(b)EtherIPはブリッジ動作ではないため、MACアドレスが学習されず、無駄な転送を防ぐことができない。したがって、無駄なトラフィックが生じる。
(c)ルーティングが必要なIPと、鍵交換が必要なIPsecと、EtherIPと、という複雑なプロトコルスタックを使うため、構成定義が複雑である。よって、通信機器の運用保守も容易ではない。
(d)プロトコルスタックが複雑なため、ハードウェア化することが困難である。一方、ソフトウェアで実現すると処理に時間がかかる。よって、Gbps級の性能を実現するのは困難である。
また、上記第二の方法も第一の方法と同様の問題がある。
また、上記第三の方法には次の問題がある。
(e)暗号通信をする相手のスイッチを識別する必要があり、かつ相手のスイッチごとに鍵交換プロトコルを使って鍵を交換する必要がある。よって、複数のスイッチがN対Nの関係で暗号化通信を行うトポロジには処理が複雑になりすぎるために適さない。
(f)暗号化の粒度が物理的なインターフェイス単位である。つまり、特定の二つのスイッチ間で送受信されるフレームがすべて暗号化されるか、すべて暗号化されないか、のいずれかである。よって、VLAN(Virtual LAN)ごとに暗号化するか否かを選択するなど、より細かい粒度に対応することができない。
本発明の目的は、中継速度を損なわない構成、かつN対Nの関係の暗号化通信に適した構成を有した、データリンク層のフレームを暗号化して中継する中継装置を提供することである。
本発明による中継装置は、データリンク層のフレームを中継する中継装置であって、該中継装置の外部と前記フレームの送受信を行うための複数のポートと、前記フレームを中継するフレーム中継処理部と、一つ以上の暗号処理部とを有する。該暗号処理部は、前記複数のポートのうちの一つとの間で前記フレームを送受信する第一のインターフェイス、および前記フレーム中継処理部との間で前記フレームを送受信する第二のインターフェイスを有する。また、該暗号処理部は、前記第一または第二のインターフェイスの一方から前記フレームを受信したとき該フレームを暗号化して暗号化フレームを生成する暗号化処理を行い、前記第一または第二のインターフェイスの他方から前記暗号化フレームを受信したとき該暗号化フレームを復号化する復号化処理を行う。
また、前記暗号処理部がシーケンス番号を格納する番号格納部を備え、該シーケンス番号を前記暗号化処理および前記復号化処理に利用することが望ましい。つまり、前記暗号化処理を行うとき、前記暗号処理部は、前記シーケンス番号に基づいて暗号鍵を生成し、該暗号鍵を使って前記フレームを暗号化して前記暗号化フレームを生成し、前記シーケンス番号を該暗号化フレームに含ませ、前記番号格納部に格納された前記シーケンス番号の値を変化させることが望ましい。そして、前記復号化処理を行うとき、前記暗号処理部は、前記暗号化フレームに含まれる前記シーケンス番号に基づいて前記暗号鍵を生成し、該暗号鍵を使って前記復号化処理を行うことが望ましい。
本発明によれば、中継装置が暗号処理部を有するのでフレームを暗号化して中継することができる。
また、暗号化処理および復号化処理は、フレーム中継処理部とは独立した暗号処理部において行われるので、フレーム中継処理部は単純に中継処理のみを行えばよい。したがって、フレーム中継処理部で暗号化処理および復号化処理を行う装置と比べて、本発明の中継装置は中継速度を高速に保つことができる。
また、各暗号処理部は、複数のポートのうちの一つと対応して配置されているが、一つの中継装置に設ける暗号処理部の数や、どのポートに対応させて暗号処理部を設けるかという点については、利用者の都合に合わせて任意に選択することができる。よって、様々なネットワーク構成で本発明を利用することができる。
また、上記のようにシーケンス番号に基づいた暗号鍵を利用することにより、動的な鍵情報の交換を不要とし、かつ比較的簡易な構成で暗号鍵を生成することが可能となる。よって、暗号化処理および復号化処理が中継装置全体の中継速度を低下させる度合いは小さい。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、実質的に同一のものに対しては、同じ番号または添え字のみが異なる番号を付す。
また、レイヤ2で送受信されるフレームには、例えばDIXイーサネット(登録商標)のMACフレームやIEEE802.3のMACフレームがある。これらは、細かい点で異なるがほぼ同一の形式であり、本発明においてその区別は重要ではない。よって、以下ではこれらのMACフレームの総称として単に「フレーム」という表現をする。
図1は本発明による中継装置の一実施形態における構成図である。図1の中継装置1を利用することにより、中継装置(スイッチ)間でフレームを暗号化し、機密通信を実現することができる。従来のイーサネット(登録商標)通信は暗号処理がなされないだけでなく、盗聴自体が容易であるという弱点がある。しかし、本発明の中継装置1を利用すればフレームが暗号化されるため、盗聴されても機密性を保持することができる。
本発明による中継装置1はフレームを中継するスイッチ装置であり、具体的には例えばスイッチングハブである。すなわち、中継装置1はレイヤ2の中継機能をもち、L2スイッチの一種である。中継装置1が、外部とフレームを送受信するための複数の物理的なポートを備える(図1では四つのポート3a〜3dがある)、およびフレームを中継するフレーム中継処理部2を備えるという点は、従来の装置と同様である。
中継装置1は、各ポート3a〜3dに対応した暗号処理モジュール4a〜4dをさらに備えている。暗号処理モジュール4a〜4dはそれぞれが一つのチップとして製造されてもよい。暗号処理モジュール4a〜4dはそれぞれ、対応するポート3a〜3dおよびフレーム中継処理部2と、GMII(Gigabit Medium Independent Interface)やMII(Medium Independent Interface)などの汎用のインターフェイスを介して接続されている。つまり、暗号処理モジュール4a〜4dの入力と出力はともにフレームである。GMIIやMIIはレイヤ1とMAC副層とのインターフェイスであり、イーサネット(登録商標)で一般的に使われている。
なお、詳しくは後述するが、暗号処理モジュール4a〜4dが行う暗号処理は、暗号化処理および復号化処理である。以下では、「暗号化処理および復号化処理」の意味で「暗号処理」という語を用いる。
また、中継装置1は、TCG(Trusted Computing Group)の仕様に準拠したTCG対応チップ5を搭載している。TCG対応チップ5には、後述する事前共有鍵k0やファーム文字列fsなどのデータが格納される。これらのデータは暗号鍵に関するデータであり、暗号処理モジュール4a〜4dにより利用される。TCG対応チップ5に格納されたデータは外部から不正に取り出すことができないため、TCG対応チップ5を使うと安全にデータを格納することができる。
また、中継装置1はCPU(Central Processing Unit)6を備える。CPU6は、例えば不図示のROM(Read Only Memory)に格納されたプログラムにしたがって動作し、不図示のRAM(Random Access Memory)をワーク用に用いる。後述するように、CPU6は、暗号処理モジュール4a〜4dに命令して暗号処理に必要なデータの生成を行わせたりする。
フレーム中継処理部2、暗号処理モジュール4a〜4d、TCG対応チップ5、CPU6、ROM、RAMは、内部バス7に接続されている。
中継装置1の特徴の一つは、フレーム中継処理部2と暗号処理モジュール4a〜4dが分かれていることである。これにより、フレーム中継処理と暗号処理が切り離されるため、中継処理が容易となり、中継速度の性能を出すことができる。
従来の装置にはフレーム中継処理部において暗号処理を行う装置があるが、そのような装置では、中継処理が複雑になり中継速度の性能を保つことが難しかった。なぜなら、中継すべきすべてのフレームに対して、そのフレームが暗号化対象か否かを判別する処理や、使用する暗号鍵を読み出す処理などを行う必要があるためである。
一方、本発明の中継装置1は、物理的なポート3a〜3dそれぞれに対応して暗号処理モジュール4a〜4dが配備され、フレーム中継処理とは切り離されて暗号処理が行われる。よって、本発明の中継装置1においてフレーム中継処理部2は、暗号に関して何も考慮する必要がなく、まったく暗号処理を行わない従来の中継装置のフレーム中継処理部と同様の動作をするだけでよい。
なお、このように中継処理と暗号処理を切り離すために、フレーム中継処理部2と暗号処理モジュール4a〜4dのインターフェイスはGMIIやMII等のインターフェイスとなっている。まったく暗号処理を行わない従来の中継装置の場合、フレーム中継処理部はポートとGMIIやMII等のインターフェイスで接続され、そのインターフェイスを介してフレームの中継処理を行う。図1のフレーム中継処理部2も同様に、GMIIやMII等のインターフェイスを介してフレームの中継処理だけを行う。
また、中継装置1の別の特徴は、各ポート3a〜3dに対応して暗号処理モジュール4a〜4dを備えていることである。EtherIP over IPsecなどの従来の方法は、フレームの転送先が一つに限定され、1対1の関係で暗号通信を行う二つのスイッチ間でしか使うことができなかった。しかし本発明の中継装置1を使うことにより、一般的なオフィス環境でよく使われるN対Nのトポロジにおいてもイーサネット(登録商標)通信を暗号化することができる。なお、ここで「N対Nのトポロジ」とは、物理的なケーブル配線の意味ではなく、複数の中継装置が、それぞれ複数の中継装置との間で暗号通信を行うことを意味している。
図2は本発明による中継装置の別の実施形態における構成図である。図2と図1の違いは、図2では一部のポート(3a、3b)にのみ暗号処理モジュール4a、4bが備えられている点である。他のポート(3c〜3j)は、直接フレーム中継処理部2とGMIIやMII等のインターフェイスで接続されており、暗号処理モジュールを備えていない。つまり、本発明の中継装置1は、暗号化通信の必要性などに応じて、一部のポートのみに暗号処理モジュールを備えてもよく、全部のポートに暗号処理モジュールを備えてもよい。
なお、フレーム中継処理部2は、暗号処理モジュール4a、4bとの間のインターフェイスも、暗号処理モジュールを備えていないポート3c〜3jとの間のインターフェイスも同じインターフェイス(例えばGMIIやMII)である。よって、フレーム中継処理部2は、暗号処理モジュールを備えたポートとそうでないポートを区別することなく、フレームの中継に専念することができる。
図3Aは、VLAN環境における本発明の中継装置の利用例を示す。また、図3Bは、図3Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。
図3Aは、VLAN10、20、30という三つのVLANを含むネットワーク構成を示している。
図3Aにおいて、中継装置1a、1bは、図1または図2の中継装置1と同様の装置である。なお、本発明の中継装置1はレイヤ2のフレームを中継する機能を有するスイッチ装置なので、図3A以降では「L2SW」と表記することがある。中継装置1a、1bにはそれぞれ、VLAN10、20、30に属する端末(コンピュータ)が接続されている。つまり、中継装置1a、1bは端末と接続されているエッジスイッチである。
また、従来の中継装置であるコアL2/L3スイッチ41(レイヤ2またはレイヤ3の中継機能を有するが暗号処理に関する機能をもたない従来のスイッチ装置)には、中継装置1a、1b、およびファイヤウォール43が接続されている。つまり、コアL2/L3スイッチ41はスイッチ間で中継を行うコアスイッチである。ファイヤウォール43はルータ44に接続され、ルータ44はインターネット45に接続されている。
ところで、VLANの一つの使い方は、同一の物理的なネットワーク上に複数のシステムを重畳させることである。例えば、図3Aの例においては、中継装置1a、コアL2/L3スイッチ41、中継装置1bという装置およびこれらを接続するケーブルは物理的な存在である。そして、これらの物理的な存在が接続された物理的なネットワークを、VLAN10、20、30という三つの異なるVLANが共有している。つまり、同一の物理的なネットワーク上に複数のシステムが重畳している。
それら複数のシステムには、機密情報を主に扱うシステムと、秘匿する必要のないウェブ閲覧が中心のシステムとが含まれることがある。前者と後者では、通信の機密性に対する要件が異なって当然である。したがって、VLANを利用している場合には、物理ポートを単位として暗号処理を行うこと(例えば、中継装置1aからコアL2/L3スイッチ41へ送られるすべてのフレームを暗号処理モジュール4aで暗号化すること)は好ましくない。なぜなら、機密データを含まない通信まで暗号化するという無駄な処理が行われるからである。
例えば、ある企業には部署A、B、Cがあるとする。部署A、Bでは機密データを扱うために通信を暗号化する必要があり、かつ機密を守るためにインターネット45との通信を禁じているとする。また、部署Cでは機密データを扱っておらず、主に電子メールの送受信やウェブの閲覧(これらはインターネット45との通信をともなう)を行っているとする。この場合、各部署を別のVLANに分けて図3Aのような構成とすることがある。つまり、部署AがVLAN10に、部署BがVLAN20に、部署CがVLAN30に対応する。
本発明によれば、VLANごとに暗号化するか否かを選択し、不要な暗号処理を避けることができる。つまり、VLAN10、20を暗号化の対象とし、VLAN30は暗号化の対象外とすることができる。また、図3Aに示すように、本発明による中継装置1a、1bと従来の中継装置であるコアL2/L3スイッチ41とを混在させてネットワークを構成することができる。このことを以下で説明する。
図3Bに抜粋して示したように、中継装置1aにはポート3a〜3dがあり、ポート3aはVLAN10に、ポート3bはVLAN20に、ポート3cはVLAN30に、それぞれ割り当てられている。この割り当ては、管理者により予め設定される。ポート3dはコアL2/L3スイッチ41と接続されたポートである。中継装置1aの内側では、ポート3dが暗号処理モジュール4aとGMIIやMII等のインターフェイスで接続されている。ポート3a〜3cおよび暗号処理モジュール4aは、それぞれフレーム中継処理部2aとGMIIやMII等のインターフェイスで接続されている。
同様に、中継装置1bはポート3e〜3hを備えており、ポート3eはVLAN10に、ポート3fはVLAN20に、ポート3gはVLAN30に、それぞれ割り当てられている。また、ポート3hはコアL2/L3スイッチ41と接続されたポートである。
なお、表示の便宜上、図3Aでは中継装置1a、1bを示す矩形の外側に暗号処理モジュール4a、4bを表示しているが、実際の構成は図1、図2、図3Bに示したようになっており、暗号処理モジュールは中継装置の内部にある。以降の図でも図3Aと同様の表現をすることがある。また、図3Bでは、中継装置1a、1bの構成要素のうち、TCG対応チップなどは省略している。
同一のVLAN内で図3Aの左から右へフレームを送信する場合、どのVLANの場合でも、フレームは中継装置1a、コアL2/L3スイッチ41、中継装置1bを経由する。図3Bを参照してより詳細に述べれば、いずれの場合も、フレーム中継処理部2a、暗号処理モジュール4a、ポート3d、コアL2/L3スイッチ41、ポート3h、暗号処理モジュール4b、フレーム中継処理部2bを経由する。フレームが経由する経路のうちVLANごとに異なるのは、図3Bにおいてフレーム中継処理部2aより左側の部分とフレーム中継処理部2bより右側の部分のみである。
また、図3Aおよび図3Bでは、上記のごとく、VLAN30に所属する端末はインターネット45との通信を行うと仮定している。このインターネット45との通信は、図3Aにおいて、二つの黒い矢印(中継装置1aから出発して、コアL2/L3スイッチ41、ファイヤウォール43、ルータ44を経由し、インターネット45へ向かう矢印、および中継装置1bから出発して、コアL2/L3スイッチ41、ファイヤウォール43、ルータ44を経由してインターネット45へ向かう矢印)により示される。
このように、いずれのVLAN内で通信する場合でも、あるいはインターネット45等の外部のネットワークと通信する場合でも、フレームはポート3dとコアL2/L3スイッチ41の間、および/またはポート3hとコアL2/L3スイッチ41の間を経由する。つまり、ポート3dとコアL2/L3スイッチ41の間、およびポート3hとコアL2/L3スイッチ41の間の物理的な通信路(ケーブル)は、複数のVLANで共有される。このような通信路(42aおよび42b)は、VLANの規格であるIEEE802.1Qの名にちなんで「.1Qトランク」とよばれる。
また、ポート3aなどは一つのVLANに固定的に割り当てられているが、ポート3dやポート3hは複数のVLANで共有されている。ポート3dやポート3hは、「タグVLANポート(tagged VLAN port)」とよばれる。管理者はポート3dとポート3hをタグVLANポートとして予め設定する。タグVLANポートに対しては、対応するVLANを一意に決定することができないため、ポート3dとポート3hの間(より正確には、フレーム中継処理部2aとフレーム中継処理部2bの間)で送受信されるフレームには、VLANを識別する情報であるVLAN‐IDが付加されている(詳細は図4とあわせて後述する)。
上記のごとく、図3Aの例では、VLAN10とVLAN20が暗号化の対象であり、VLAN30は暗号化の対象外である。管理者は、どのVLANを暗号化の対象とするのかという設定を、中継装置1aに入力する。すると、図3Bには示されていないCPU(図1のCPU6に相当する)が、暗号処理モジュール4aに対して、入力された内容を設定するよう命令する。中継装置1bに関しても同様である。その結果、暗号処理モジュール4a、4bは、管理者が入力した設定にしたがって、暗号処理が必要なフレームに対してだけ暗号処理を行う。
例えば、図3Bの左から右へVLAN10内でフレームを送信する場合、ポート3aで受信されたフレーム(ポート3aに接続された端末から送信されたフレーム)は、フレーム中継処理部2aを経由して暗号処理モジュール4aに送信される。暗号処理モジュール4aは、フレームに含まれるVLAN‐IDと上記の設定内容とに基づき、このフレームが暗号化の対象であると判断し、このフレームを暗号化する。そして、暗号化されたフレームは、ポート3d、コアL2/L3スイッチ41、ポート3hを経由して、暗号処理モジュール4bに送信される。暗号処理モジュール4bは、フレームに含まれるVLAN‐IDと上記の設定内容とに基づき、このフレームが復号化の対象であると判断する(あるいは、後述する暗号ヘッダ71をこのフレームが含むことから、このフレームが復号化の対象であると判断する)。そして、暗号処理モジュール4bがこのフレームを復号化する。復号化されたフレームは、フレーム中継処理部2bへ送信され、ポート3eへ中継される。そしてポート3eから、ポート3eに接続された端末に送信される。
つまり、端末からポート3aを経由して暗号処理モジュール4aまでの経路、および暗号処理モジュール4bからポート3eを経由して端末までの経路では、フレームは平文(クリアテキストともいう)の状態で送信される。一方、暗号処理モジュール4aと暗号処理モジュール4bの間では、フレームは暗号化された状態で送信される。VLAN20内でフレームを送信する場合も同様である。
以後、平文の状態のフレームを「平文フレーム」、暗号化された状態のフレームを「暗号化フレーム」とよぶ。図3Bでは、平文フレームの送信を実線の矢印で示し、暗号化フレームの送信を破線の矢印で示している。
図3Bの左から右へVLAN30内でフレームを送信する場合、暗号処理モジュール4aは、フレームに含まれるVLAN‐IDと上記の設定内容とに基づき、このフレームが暗号化の対象外であるため暗号化処理が不要だと判断する。そして、平文フレームのままポート3dに送信する。また、暗号処理モジュール4bでは、フレームに含まれるVLAN‐IDと上記の設定内容とに基づき、このフレームが暗号化の対象外であるため復号化処理が不要だと判断する(あるいは、受信したフレームに暗号ヘッダ71が含まれないことから、復号化処理が不要だと判断する)。そして、受信した平文フレームをそのままフレーム中継処理部2bに送信する。
VLAN30に属するコンピュータがインターネット45にIPパケットを送信する場合、そのIPパケットに対応するフレームは、ポート3dまたはポート3hを経由する。例えば中継装置1a内では、VLAN30に対応するポート3cがフレーム中継処理部2aに接続され、フレーム中継処理部2aが暗号処理モジュール4aに接続され、暗号処理モジュール4aがポート3dに接続されているので、暗号処理が不要なフレームも必ず暗号処理モジュール4aを経由する。
しかし、VLAN30に対応するポート3cで受信したフレームをポート3dに中継する場合、暗号処理モジュール4aは、VLAN30内でフレームを送信する場合と同様に、暗号処理が不要だと判断し、平文フレームをそのままポート3dに送信する。このことは、図3Bにおいて、実線の矢印(平文フレームの送信を示す)が、中継装置1aからコアL2/L3スイッチ41を経由してファイヤウォール43に向かっていることに対応する。
上記のように図3Aでは、VLANごとに暗号化の対象とするか否かを設定している。つまり、例えばポート3dとコアL2/L3スイッチ41の間の.1Qトランク42aを経由するすべてのフレームを暗号化する場合と比べて、図3Aは暗号化の粒度がより細かい。粒度が細かいことは、機密データを含まない通信を無駄に暗号化するのを避けることができるため、本発明の利点である。
このようにVLANごとに選択的に、暗号化対象とするか否かを暗号処理モジュール4a、4bに対して設定することができるため、本発明では、中継装置1aと中継装置1bの間に従来の中継装置であるコアL2/L3スイッチ41を介在させ、コアL2/L3スイッチ41を直接ファイヤウォール43に接続することが可能である。
仮にVLANごとの設定ができないとすると、図3Aにおいて、VLAN30に属する端末がインターネット45と通信を行う際にも、フレームが暗号処理モジュール4aで暗号化されてしまう。よって、暗号化フレームを復号化してからファイヤウォール43の外に送信するためには、本発明の中継装置1をコアL2/L3スイッチ41とファイヤウォール43との間に介在させる必要がある。
つまり、VLANごとの設定を可能とすることによって、必要な装置の数を減らすことができる。換言すれば、ネットワークを構成する際の制約を減らすことができる。つまり、様々な構成に対して本発明を適用することができる。
図4は、本発明で利用するフレームの形式を説明する図である。本発明ではフレームのうちデータ部のみを暗号化する。
図4の上段に示したフレーム50は、レイヤ2で送受信される通常のフレームである。フレーム50は、6バイトの送信先MACアドレス51、6バイトの送信元MACアドレス52、データ部53、4バイトのエラー検出用のFCS(Frame Check Sequence)54からなる。
DIXイーサネット(登録商標)のMACフレームの場合、データ部53の先頭は2バイトで表されるタイプであり、その後に46〜1500バイトのデータが続く。したがって、フレームは最大で1518バイトである(6+6+2+1500+4=1518)。IEEE802.3規格によるMACフレームの場合、データ部53の先頭は2バイトで表される長さ/タイプである。その後には、具体的なフレーム形式によって異なるが、3バイトのLLCヘッダや5バイトのSNAP(Sub Network Access Protocol)ヘッダが続き、その後にデータが続く。LLCヘッダやSNAPヘッダを含めて、データは46〜1500バイトである。したがって、フレームの最大長は1518バイトである。
図4の中段に示したタグつきフレーム60は、フレーム50にVLANタグが挿入されたものである。タグつきフレーム60は、送信元MACアドレス52とデータ部53の間に、2バイトのTPID(Tag Protocol Identifier)61と2バイトのTCI(Tag Control Information)62が挿入されている他は、フレーム50と同様である。イーサネット(登録商標)の場合、VLANを示すTPID61の値は0x8100(16進数で8100の意)である。TCI62は、VLANを識別するための12ビットのVLAN‐IDを含む。TPID61やTCI62は、フレームの送信元の端末で付加される場合もあるが、一般的には中継装置で付加されることが多い。後者の場合、FCS54の再計算も中継装置で行われる。
図3AのようにVLANごとに暗号処理を行うか否かを設定する場合、TCI62に含まれるVLAN‐IDの値に基づいて、暗号処理モジュール4が暗号処理の要否を判定する。
図4の下段に示した暗号化フレーム70は、タグつきフレーム60を暗号化して得られるフレームであり、本発明に独自のフィールドを含む。暗号化フレーム70をタグつきフレーム60と比較すると、TCI62の直後に暗号ヘッダ71が挿入される点、データ部53が暗号化されて暗号化データ部72となる点、暗号化データ部72の直後にICV(Integrity Check Value)73が挿入されている点で異なっている。暗号ヘッダ71は、復号化に必要な情報(例えば鍵に関する情報。詳しくは後述する)を含む。ICV73は、送信先MACアドレス51から暗号化データ部72までの範囲に基づいて算出される一種のチェックサムである。なお、フレームを暗号化する際、暗号処理モジュール4は、FCS54の再計算も行う。
暗号化フレーム70の第一の特徴は、データ部53のみが暗号化され、MACヘッダ(送信先MACアドレス51と送信元MACアドレス52からなる部分)は暗号化されない点である。第二の特徴は、暗号ヘッダ71がTCI62よりも後にある点である。
第一の特徴は、フレームが大きくなることや処理が複雑化することを避けられるという利点につながる。このことを以下で説明する。
MACヘッダを含めてフレームを暗号化する方式は、どの端末とどの端末が通信しているかという情報も隠すことができるため、機密度がより高い。例えば、中継装置であるスイッチXsに接続された端末Xtから、スイッチYsに接続された端末Ytにフレームを送信する場合、そのフレームの送信先MACアドレス51には端末YtのMACアドレスが書かれ、送信元MACアドレス52には端末XtのMACアドレスが書かれている。MACヘッダを含めてこのフレームを暗号化する場合、暗号化後のフレームは、先頭に別のMACヘッダが付加されてカプセル化されたフレームである。つまり、外側のフレームにおける送信先MACアドレス51としてスイッチYsのMACアドレスが書かれ、送信元MACアドレス52としてスイッチXsのMACアドレスが書かれる。
このカプセル化されたフレームでは、端末Xtと端末Ytが通信しているという情報が暗号化されており、機密性が高い。しかし、付加したMACヘッダの分だけフレームが大きくなり、オーバーヘッドが生じる。また、このようにカプセル化するには、スイッチのフレーム中継処理部において、フレームごとに中継先のスイッチを判定し、それに応じたMACヘッダを付加しなくてはならない(この例では、スイッチXsが送信先の端末YtのMACアドレスからスイッチYsのMACアドレスを特定する必要がある)。よって、中継処理が複雑である。
一方、本発明による暗号化フレーム70では、送信先MACアドレス51と送信元MACアドレス52は暗号化されない。そのため、機密度という点では上記の方法に比べてやや劣る。しかしながら、フレームに別のMACヘッダを追加する必要がないのでフレームの大きさを抑えることができる。
また、フレーム中継処理部2は通常の中継処理を行うだけでよい(例えば、送信先の端末YtのMACアドレスからスイッチYsのMACアドレスを特定する必要がない)。よって、本発明では、図1や図2に示したごとく、暗号処理を行わない従来のスイッチ装置と同様のフレーム中継処理部2を利用することができる。そして、暗号化・復号化に関する機能は、ポートごとに必要に応じて設けられた暗号処理モジュール(4a等)にオフロードすることができる。
次に、暗号ヘッダ71がTCI62よりも後にあるという第二の特徴について説明する。第二の特徴は、本発明による中継装置1と、暗号処理機能をもたない通常のレイヤ2中継装置を混在させてネットワークを構成することができるという利点につながる。
イーサネット(登録商標)通信を暗号化する従来の方法のうち上記第三の方法では、MACヘッダの直後(つまり送信元MACアドレス52の直後)に暗号化のためのヘッダを挿入する方式が検討されている。この方式では、暗号化されたフレームを復号化しないかぎり、暗号化前のオリジナルのタグつきフレーム60が所属するVLANを判別することができない。なぜなら、判別に必要な情報であるTCI62は、挿入されたヘッダの後に、暗号化された状態で配置されているからである。そのため、ネットワークの通信経路の途中に暗号処理機能をもたない通常のレイヤ2中継装置を混在させると、当該中継装置はそのフレームがどのVLANに対応するのか判断することができず、適切にフレームを中継することができない。よって、上記第三の方法を採用する場合、暗号処理機能をもたない通常のレイヤ2中継装置を混在させることができない。
一方、本発明による暗号化フレーム70は、平文の状態のTPID61およびTCI62の後に、暗号ヘッダ71と暗号化データ部72が続いている。よって、暗号処理機能をもたない通常のレイヤ2中継装置でも、そのフレームがどのVLANに対応するのかを判断することができ、適切にフレームを中継することができる。この場合、その通常のレイヤ2中継装置にとっては、暗号化フレーム70は単なるタグつきフレームとして認識される。したがって、本発明によれば、通常のレイヤ2中継装置を混在させてネットワークを構成することができ、既存の装置を有効に利用することができる。また、本発明の中継装置1を様々なネットワーク構成において利用することができる。
なお、図1や図2に示した本発明による中継装置1におけるフレーム中継処理部2も暗号処理機能をもたないことに注目すると、第二の特徴から得られる利点は、次のごとくである。すなわち、フレーム中継処理部2は、図4の暗号化フレーム70を単なるタグつきフレーム60と同様に認識し、暗号化について何ら考慮することなく中継処理を行うことができる。つまり、フレーム中継処理部2は、暗号処理機能をもたない従来のレイヤ2中継装置におけるフレーム中継処理部とまったく同様の処理を行うだけでよい。また、図2に示したように、暗号処理モジュールを全ポートに搭載する必要もない。
なお、VLANを使わない環境においては、タグつきフレーム60ではなくフレーム50を暗号化する。よって、その場合の暗号化フレームは、図4の暗号化フレーム70からTPID61とTCI62を除いた形式となる。
図5は、暗号ヘッダ71の詳細を示す図である。図4に示したとおり暗号ヘッダ71の長さは12バイトである。暗号ヘッダ71は図5に示すごとく、先頭から順に、2バイトのタイプ711、1バイトのサブタイプ712、1バイトの予約フィールド713、8バイトのシーケンス番号714からなる。
タイプ711はフレームの種別を表すグローバルユニークな値を格納するフィールドである。タイプ711をグローバルユニークな値とするためには、IEEEに値の割り当てを申請し、IEEEに値を割り当ててもらう必要がある。タイプ711がグローバルユニークな値でなくてはならない理由は、以下の通りである。
図4と図5とから分かるとおり、VLANを使用する環境ではタイプ711はTCI62の直後にあり、VLANを使用しない環境ではタイプ711は送信元MACアドレス52の直後にある。したがって、フレーム50またはタグつきフレーム60におけるタイプ(データ部53の先頭にある)と、暗号化フレーム70におけるタイプ711とは、同じ位置にある。よって、タイプ711の値によって暗号ヘッダ71の有無を判別する必要がある。
ところで、フレーム50やタグつきフレーム60においてデータ部53の先頭にあるタイプは、上位層すなわちレイヤ3が使用しているプロトコルを識別するためのグローバルユニークな値である。例えば、0x0800はIPを表す。タイプの値が0x0800のとき、データ部53はIPの形式にしたがったデータである。
よって、タイプ711にグローバルユニークな特定の値(仮にZとする)を割り当てることによって、暗号ヘッダ71の有無を判別することができるようになる。つまり、VLANを使用する環境ではTCI62の直後の2バイトの値がZなら暗号ヘッダ71があると判定することができ、VLANを使用しない環境では送信元MACアドレス52の直後の2バイトの値がZなら暗号ヘッダ71があると判定することができる。
このようにして暗号ヘッダ71の有無を判定可能とすることにより、例えば、図3Bにおいてポート3hからフレームを受信した暗号処理モジュール4bが、受信したのが暗号化フレームなのか平文フレームなのかを暗号ヘッダ71の有無に基づいて判断することができるようになる。
サブタイプ712は、IEEEから割り当てられた一つの値(上記のZ)を様々な目的で利用するためのフィールドである。タイプ711とサブタイプ712は、上位層のデータが何を表しているのかを識別することができればよく、数値そのものに意味はない。例えば、「タイプ711がZでサブタイプ712の値が0x01のとき、イーサネット(登録商標)の暗号化通信を行っており、暗号ヘッダ71に暗号化データ部72が続くことを表す」などと決めることができる。
予約フィールド713は将来の使用のために予約された1バイトである。使用例の一つを図11とあわせて後述する。
シーケンス番号714は、暗号処理モジュール4がフレームを暗号化して送信するたびに1ずつ増加する番号を格納するフィールドである(暗号処理モジュール4のこの動作については図9とあわせて後述する)。シーケンス番号714のフィールド長は8バイト、すなわち64ビットなので、264個の番号が利用可能である。したがって、1Gbpsや10Gbpsといった高速回線であっても、同じシーケンス番号が使われるには極めて長い時間が必要である。
例えば、暗号処理モジュールが1秒あたり1G個のフレームを暗号化する場合、同じシーケンス番号に戻るのに264/10=1.84×1010秒≒585年かかる。よって、シーケンス番号714は事実上ユニークと考えてよい。
ただし、二つ以上の暗号化モジュール4が偶然同じ値を用いることはあり得る。そこで、各暗号処理モジュール4におけるシーケンス番号の開始値をランダムに設定することにより、偶然二つ以上の暗号化モジュールが同じ値を用いる確率を小さくすることが望ましい。
図6Aから図8Bは、本発明による中継装置1を使ったネットワークの構成例を示す。本発明による中継装置1は、図1と図2に示したように、実施形態によってどのポートに暗号処理モジュール(4a等)を備えるかという点で様々に異なる。さらに、各暗号処理モジュールは、実施形態によって、フレームが送信される方向に応じて暗号化と復号化のどちらを行うのかという点で異なる。
これらの変化の組み合わせによって、中継装置1の価格や、レイヤ2の暗号通信を実現するためのネットワーク構成の仕方が異なる。つまり、本発明は、利用者の都合に合わせて様々な形態で実施することができ、非常に柔軟である。
図6Aのネットワーク構成では、一つのポートにしか暗号処理モジュールを備えていない安価な中継装置1a〜1eと従来のL2スイッチ41bのみを用いている。図6Bは図6Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。図6Bでは、図3Bと同様に、TCG対応チップ等の構成要素は省略している。
図6Aでは、四台のPC(Personal Computer)46a〜46dが本発明による中継装置1a〜1dにそれぞれ接続されている。中継装置1a〜1dはいずれも、暗号処理を行わない従来のL2スイッチ41bに接続されている。そしてL2スイッチ41bは本発明による中継装置1eに接続されている。つまり、ケーブルの配線という物理的な意味での図6Aのトポロジは、1対Nのスター型のスイッチトポロジによく似たトポロジだが、暗号化通信を行うペアという論理的な意味でのトポロジは、N対Nの関係のトポロジである。つまり、中継装置1aと1bのペア、中継装置1aと1cのペア、中継装置1aと1dのペア、中継装置1bと1cのペア、中継装置1bと1dのペア、……などの組み合わせで暗号化通信を行うので、N対Nの関係である。
中継装置1a〜1dのそれぞれは、L2スイッチ41bと接続されたポートに対応して暗号処理モジュール4a〜4dが備えられているが、それ以外のポートには暗号処理モジュールは備えられていない。中継装置1eは、L2スイッチ41bと接続されたポートに対応して暗号処理モジュール4eが備えられているが、中継装置1eのそれ以外のポートには暗号処理モジュールは備えられていない。中継装置1eはファイヤウォール43とも接続されており、ファイヤウォール43はルータ44に接続されている。インターネット45など外部のネットワークとの通信は、ルータ44を介して行われる。
図6Aにおける中継装置1a〜1eはいずれも、一つのポートにのみ暗号処理モジュールを備えているため、安価に製造することができる。また、図6Aの暗号処理モジュール4a〜4eは、いずれも対応するポートへの送信時にフレームを暗号化し、対応するポートからの受信時にフレームを復号化する。例えば、図6Bに示すように、暗号処理モジュール4aに対応するポートはポート3bである。暗号処理モジュール4aは、フレームをフレーム中継処理部2aから受信してポート3bに送信するときに暗号化し、フレームをポート3bから受信してフレーム中継処理部2aに送信するときに復号化する。
次に、PC46aからPC46bにフレームを送信する場合について図6Bを参照して説明する。中継装置1aは、ポート3aを介してPC46aと接続され、ポート3bを介してL2スイッチ41bと接続されている。まず、PC46aが図4のフレーム50(平文フレーム)を送信すると、このフレーム50はポート3aで受信され、フレーム中継処理部2aによって、暗号処理モジュール4aが備えられたポート3bへと中継される。その際、フレーム50が暗号処理モジュール4aを経由し、ここで暗号化される。
図6Aの例ではVLANを利用していないため、暗号化フレームは、図4の暗号化フレーム70からTPID61とTCI62を削除した形式である。暗号化フレームは、中継装置1aのポート3bからL2スイッチ41bのポート3eに送信される。
L2スイッチ41bが暗号化フレームをポート3eで受信すると、暗号化フレームはフレーム中継処理部2cに送信され、フレーム中継処理部2cが、中継装置1bに接続されたポート3fにその暗号化フレームを中継する。この暗号化フレームは図4に関して説明したごとく、MACヘッダが暗号化されていない。よって、L2スイッチ41bのフレーム中継処理部2cはこの暗号化フレームを通常のフレームとして認識し、中継処理を行うことが可能である。ポート3fに中継された暗号化フレームは、ポート3fから中継装置1bに送信される。つまり、この暗号化フレームは、L2スイッチ41bを経由している間、何ら暗号に関する処理をされない。
中継装置1bは、暗号化フレームを、暗号処理モジュール4bが備えられたポート3dで受信する。暗号処理モジュール4bは、ポート3dとフレーム中継処理部2bとの間に備えられており、暗号化フレームを復号化する。復号化されたフレームは、フレーム中継処理部2bに送信され、PC46bに接続されたポート3cに中継され、ポート3cからPC46cに送信される。
以上のようにしてPC46aからPC46bフレームが送信され、暗号化通信が実現される。図6Bは図3Bと同様に、平文フレームが実線の矢印に、暗号化フレームが破線の矢印に対応する。また、図6Aでは暗号通信が行われる範囲を網かけで示している。
次に、図6Aおよび図6BにおいてPC46aからインターネット45にIPパケットを送信する場合について説明する。このIPパケットに対応するフレームがPC46aから中継装置1aとL2スイッチ41bを経由して中継装置1eへ送信される。
PC46aからL2スイッチ41bまでの経路は上記の例とまったく同様である。その後、L2スイッチ41bのポート3eで受信された暗号化フレームは、フレーム中継処理部2cによって、中継装置1eに接続されたポート3gに中継される。そして、この暗号化フレームはポート3gから中継装置1eに送信される。
図6Bに示すごとく、中継装置1eは、L2スイッチ41bに接続されたポート3hと、ポート3hに接続された暗号処理モジュール4eと、ファイヤウォール43に接続されたポート3iを有している。さらに中継装置1eは、暗号処理モジュール4eとポート3iに接続されたフレーム中継処理部2eを有している。中継装置1eは、L2スイッチ41bのポート3gから送信された暗号化フレームをポート3hで受信する。この暗号化フレームはポート3hに接続された暗号処理モジュール4eで復号化されてフレーム中継処理部2eに送信され、ポート3iに中継される。そして復号化された平文フレームがポート3iからファイヤウォール43に送信される。
図6Aおよび図6Bに示した構成によれば、イーサネット(登録商標)での通信を暗号化することができる。また、ポート3iからは復号化された平文フレームが送信されるため、既存のファイヤウォール43やルータ44の構成を変える必要もない。
なお、図6Aおよび図6Bにおける暗号処理モジュール4a〜4eは、暗号化処理と復号化処理のいずれかを必ず行う構成であると仮定している。一方、図3Aおよび図3Bにおける暗号処理モジュール4a、4bは、前述のとおり、暗号処理の要否を判定し、VLAN30に対応するフレームに対しては何も処理しないよう構成されている。いずれの構成によっても本発明を実施することができるが、暗号処理の要否を判定しない実施形態の方が、処理が簡素で高速になりハードウェア化も容易である。
仮に、図6Aおよび図6Bにおいて、暗号処理モジュール4a〜4dを、暗号処理の要否を判定するように構成すれば、インターネット45との通信において暗号処理モジュール4eで復号化処理を行う必要がないため、中継装置1eは不要である。ただし、その場合で、VLANを使用しないのであれば、例えば送信先MACアドレス51に基づいて暗号処理の要否を暗号処理モジュール4aなどが判定するといった動作が必要になる。
図7Aのネットワーク構成では、一つのポートにしか暗号処理モジュールを備えていない安価な中継装置1a〜1dと、複数のポートに暗号処理モジュールを備えた高価な中継装置1eを用いている。図7Bは図7Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。図7Bでも図3Bと同様に、TCG対応チップ等の構成要素は省略している。
図6Aと図7Aの大きな違いは、図6Aでは必要だったL2スイッチ41bが図7Aでは不要な点である。そのかわり図7Aでは、複数のポートに暗号処理モジュールを備えた高価な中継装置1eが必要となっている。
図7Aのネットワーク構成も図6Aと同様に、ケーブルの配線という物理的な意味では1対Nのスター型のスイッチトポロジだが、暗号化通信を行うペアという論理的な意味でのトポロジはN対Nの関係のトポロジである。
図7Aにおいて、四台のPC46a〜46dが本発明による中継装置1a〜1dにそれぞれ接続されている。中継装置1a〜1dはいずれも、本発明による中継装置1eに接続されている。中継装置1a〜1dのそれぞれは、中継装置1eと接続されたポートに対応して暗号処理モジュール4a〜4dが備えられているが、それ以外のポートには暗号処理モジュールは備えられていない。中継装置1eは複数のポートに暗号処理モジュールを備えている。具体的には図7Bに示すように、中継装置1a〜1dと接続されたポート3e〜3nに対応して、それぞれ暗号処理モジュール4e〜4nが備えられている。中継装置1eはファイヤウォール43とも接続されており、ファイヤウォール43はルータ44に接続されている。インターネット45など外部のネットワークとの通信は、ルータ44を介して行われる。
図7Aにおける暗号処理モジュール4a〜4nは、いずれも対応するポートへの送信時にフレームを暗号化し、対応するポートからの受信時にフレームを復号化する。
例えば、PC46aからPC46bにフレームを送信する場合について図7Bを参照して説明する。図7Bの中継装置1aは、図6Bの中継装置1aと同様の構成である。まず、PC46aから図4のフレーム50が送信される。このフレーム50は、中継装置1aの、PC46aに接続されたポート3aで受信される。そして、中継装置1a内のフレーム中継処理部2aによって、暗号処理モジュール4aが備えられたポート3bへと中継される。その際、フレーム50が暗号処理モジュール4aを経由し、ここで暗号化される。暗号化されたフレームは、中継装置1aのポート3bから中継装置1eのポート3eに送信される。
中継装置1eが暗号化フレームをポート3eで受信すると、ポート3eに接続された暗号処理モジュール4eがこのフレームを復号化して、フレーム中継処理部2eに送信する。フレーム中継処理部2eは受信したフレームをポート3fに中継するが、その際、フレームはポート3fに接続された暗号処理モジュール4fを経由し、暗号処理モジュール4fによって再度暗号化される。暗号化されたフレームは暗号処理モジュール4fからポート3fに送信され、ポート3fから中継装置1bに送信される。
中継装置1bは、暗号処理モジュール4bが備えられたポート3dで暗号化フレームを受信する。暗号処理モジュール4bはポート3dとフレーム中継処理部2bとの間に備えられており、フレームを復号化する。復号化されたフレームは、フレーム中継処理部2bに送信され、PC46bに接続されたポート3cに中継され、ポート3cからPC46cに送信される。
以上のようにしてPC46aからPC46bフレームが送信され、暗号化通信が実現される。なお、図7Bでも図3Bと同様に、平文フレームが実線の矢印に、暗号化フレームが破線の矢印に対応する。また、図7Aでも図6Aと同様に暗号通信が行われる範囲を網かけで示している。
次に、図7AにおいてPC46aからインターネット45にIPパケットを送信する場合について、図7Bを参照して説明する。このIPパケットに対応するフレームがPC46aから中継装置1aを経由して中継装置1eへ送信される。
PC46aから中継装置1eまでの経路は上記の例とまったく同様である。その後、中継装置1eのポート3eで受信された暗号化フレームは、暗号処理モジュール4eで復号化されてフレーム中継処理部2eに送信され、ファイヤウォール43に接続されたポート3oに中継される。このフレームはポート3oからファイヤウォール43に送信される。
図7Aおよび図7Bに示した構成によれば、中継装置1eのように高価な装置が必要ではあるものの、図6Aよりも少ない装置でネットワークを構成し、イーサネット(登録商標)での通信を暗号化することができる。また、ポート3oからは復号化された平文フレームが送信されるため、既存のファイヤウォール43やルータ44の構成を変える必要がない。
図8Aのネットワーク構成では、一つのポートにしか暗号処理モジュールを備えていない安価な中継装置1a〜1eのみを用いている。図8Aは、中継装置1eの具体的な構成が図7Aの中継装置1eと異なるという以外は、図7Aと同様である。図8Bは図8Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。図8Bでも、図3Bと同様に、TCG対応チップ等の構成要素は省略している。
図8Aの構成は、図6Aに比べて一つ装置の数が少なくて済み(L2スイッチ41bが不要)、図7Aに比べて安価な装置だけで済む(図7Aの中継装置1eは高価だが図8Aの中継装置1eは安価である)という利点がある。このような構成が可能となる理由は、図6Aや図7Aとは逆に、対応するポートへの送信時にフレームを復号化し、対応するポートからの受信時にフレームを暗号化する暗号処理モジュール4eを用いたためである。
例えば、PC46aからPC46bにフレームを送信する場合について図8Bを参照して説明する。PC46aから送信されたフレーム50が中継装置1aの暗号処理モジュール4aで暗号化され、暗号処理モジュール4aに接続されたポート3bから中継装置1eに送信されるまでは、図7Bの場合と同様である。
この暗号化フレームは、ポート3bと接続された中継装置1eのポート3eで受信される。中継装置1eはフレーム中継処理部2cを有しており、ポート3eはフレーム中継処理部2cと接続されている。また、中継装置1eは、中継装置1bと接続されたポート3fを有しており、ポート3fはフレーム中継処理部2cとも接続されている。したがって、ポート3eで受信された暗号化フレームは、フレーム中継処理部2cに送信され、暗号化された状態のまま、送信先MACアドレス51にしたがってポート3fに中継される。そして、ポート3fから中継装置1bに送信される。
中継装置1bはポート3dでこの暗号化フレームを受信し、ポート3dに接続された暗号処理モジュール4bがこの暗号化フレームを復号化する。復号化されたフレームは暗号処理モジュール4bからフレーム中継処理部2bに送信されて、ポート3cに中継され、ポート3cに接続されたPC46bに送信される。
以上のようにしてPC46aからPC46bフレームが送信され、暗号化通信が実現される。なお、図8Bでも図3Bなどと同様に、平文フレームが実線の矢印に、暗号化フレームが破線の矢印に対応する。また、図8Aでは暗号通信が行われる範囲を網かけで示している。図8Bと図7Bの違いは、図8BではPC46aからPC46bにフレームを送信する際に中継装置1eが何ら暗号に関する処理を行わない点である。
次に、図8AにおいてPC46aからインターネット45にIPパケットを送信する場合について図8Bを参照して説明する。このIPパケットに対応するフレームがPC46aから中継装置1aを経由して中継装置1eへ送信される。
PC46aから中継装置1eまでの経路は上記の例とまったく同様である。その後、中継装置1eのポート3eで受信された暗号化フレームは、暗号化された状態のままフレーム中継処理部2cに送信される。中継装置1eは、ファイヤウォール43と接続されたポート3gを有しており、ポート3gは暗号処理モジュール4eと接続され、暗号処理モジュール4eはフレーム中継処理部2cと接続されている。よって、フレーム中継処理部2cは暗号化フレームをポート3gに中継する。その際、フレームは暗号処理モジュール4eを経由し、暗号処理モジュール4eで復号化されて、ポート3gに送信される。そしてこのフレームはポート3gからファイヤウォール43に送信される。
図8Aおよび図8Bに示した構成によれば、図6Aよりも少ない装置のみで、また、図7Aよりも安価な装置のみで、ネットワークを構成し、イーサネット(登録商標)での通信を暗号化することができる。図8Aの構成は、図6Aに比べて装置の数が少ないので、コストパフォーマンスが優れているだけでなく、障害の発生率も低い。なぜなら、図6AではL2スイッチ41bの障害がイーサネット(登録商標)全体の障害を引き起こすが、図8Aの構成にはL2スイッチ41bが存在しないためである。また、図8Bの中継装置1eのポート3gからは復号化された平文フレームが送信されるため、既存のファイヤウォール43やルータ44の構成を変える必要がない。
以上説明したように、暗号処理モジュールは、フレームの送受信の方向によって暗号化処理と復号化処理のいずれを行うか、という点では二種類のものがある。つまり、対応するポートへの送信時にフレームを暗号化し、対応するポートからの受信時にフレームを復号化するもの(例えば図8Bの暗号処理モジュール4a〜4d)と、対応するポートへの送信時にフレームを復号化し、対応するポートからの受信時にフレームを暗号化するもの(例えば図8Bの暗号処理モジュール4e)という二種類である。
個々の暗号処理モジュールがどちらの動作を行うのかは、任意に選択可能である。例えば、管理者が中継装置1に設定を入力し、CPU6がその内容を個々の暗号処理モジュール4に設定してもよい。このように二種類の動作が選択可能であるため、図6A〜図8Bで説明したような様々な構成の中から、個々の実施形態に応じた適切な構成を利用者が選択することが可能である。
図9は、本発明において暗号処理に用いられる鍵について説明する図である。本発明では暗号処理(暗号化および復号化)に秘密鍵方式(共有鍵方式ともいう)の暗号を利用しているが、暗号鍵の生成方法に特徴がある。
一般に、秘密鍵方式の暗号アルゴリズムでは、暗号化を行う装置と復号化を行う装置との間で、暗号鍵を共有する必要がある。また、同じ暗号鍵を使い続けると、傍受された暗号文に基づいて暗号が破られる(解読される)確率が上がってしまう。よって、より強固なセキュリティのためには、暗号鍵を定期的に新しいものに取り換える必要がある。そのためには一般に、暗号通信を行う装置間で所定のプロトコルにしたがって動的に鍵情報を交換し、その鍵情報から新しい秘密鍵を生成する必要がある。
しかし、暗号鍵の共有のために動的に鍵情報を交換する方式には欠点がある。第一に、鍵情報を交換するためのプロトコルが複雑で、鍵情報を交換する際や装置に障害が発生した際に不具合が発生しやすい。特に、N対Nの関係で暗号化通信を行う場合の実装は複雑である。第二に、暗号通信を行う相手の装置が多いと、鍵情報を交換する処理にかかる負荷が増大し、スケーラビリティに制約が生じる。
本発明によれば、動的に鍵情報を交換する必要がなく、簡易な構成でフレームごとに異なる暗号鍵を生成することができる。よって、強固なセキュリティとスケーラビリティを両立させ、高速な処理を実現することができる。そのための具体的な方法を以下で説明する。
図9において暗号鍵の生成には三種類の情報を利用するが、まず用語の定義を(d1)〜(d5)に示す。
(d1)「フレーム鍵」とは、フレームの暗号化および復号化に用いる暗号鍵であって、暗号化を行う中継装置1と復号化を行う中継装置1で共有する秘密鍵である。以下では、フレーム鍵を記号「k」で表す。
(d2)「事前共有鍵」とは、管理者等により中継装置1に設定されるデータである。事前共有鍵は、例えば8文字以内の英数字からなるパスワードでもよい。以下では、事前共有鍵を記号「k0」で表す。
(d3)「MACヘッダ情報」とは、暗号化の対象である平文フレーム(フレーム50またはタグつきフレーム60)の送信先MACアドレス51または送信元MACアドレス52の少なくとも一方に基づく情報である。以下の実施形態において、MACヘッダ情報は、送信先MACアドレス51と送信元MACアドレス52の双方からなる情報である。以下では、MACヘッダ情報を記号「k1」で表す。
(d4)「シーケンス番号」とは、暗号化を行う暗号処理モジュール4ごとに管理される番号で、暗号化処理を行うたびに1ずつ増加する番号である。また、シーケンス番号は暗号化フレームに書き込まれる。シーケンス番号のデータ長は、図5の例および以下の実施形態において8バイトである。以下では、シーケンス番号を記号「k2」で表す。また、暗号処理モジュール4で管理されているシーケンス番号を記号「k2_s」で表し、図5のシーケンス番号714のように暗号化フレームに書き込まれたシーケンス番号を記号「k2_r」で表して区別することもある。
(d5)「マスター鍵」とは、事前共有鍵k0に基づいて暗号処理モジュール4が生成するデータである。マスター鍵は事前共有鍵k0よりも長いデータ長を持つことが望ましい。以下ではマスター鍵を記号「k3」で表す。
以下の実施形態では、フレーム鍵kを生成するのに、MACヘッダ情報k1、シーケンス番号k2、マスター鍵k3の三つの情報を利用する。
図9には、図1や図2と同様の中継装置1のうち、フレーム鍵kの生成に関係する部分のみ抜粋したものが示してある。
事前共有鍵k0は管理者によって事前に設定され、TCG対応チップ5に格納される。よって、事前共有鍵k0を外部から不正に読み取ることは不可能である。
ある実施形態では、事前共有鍵k0は、暗号化通信を行う範囲に含まれるすべての本発明の中継装置1において同じ値が設定される。例えば、図3Aの例では中継装置1a、1bの双方に同じ値の事前共有鍵k0が設定され、図8Aの例では中継装置1a〜1eのすべてに同じ値の事前共有鍵k0が設定される。
VLANを利用する別の実施形態では、VLANごとに異なる事前共有鍵k0を設定してもよい。例えば、図3Aの例では中継装置1a、1bの双方に対し、VLAN10用の事前共有鍵k0とVLAN20用の事前共有鍵k0’をそれぞれ設定してもよい。ただし、この場合も、中継装置1a、1bの双方で同じ値が設定されるという点は上記実施形態と共通である。
MACヘッダ情報k1は暗号化対象のフレーム50から読み取ることができる情報である。なお、VLAN環境における暗号化の対象は図4のタグつきフレーム60だが、その場合も、MACヘッダ情報k1をタグつきフレーム60から読み取ることができる。
シーケンス番号k2_sは、例えば暗号処理モジュール4が内部に有するカウンタに格納されている。暗号処理モジュール4は、一つのフレームを暗号化するたびにこのカウンタの値を1ずつ増やす。カウンタの初期値は、前述したごとく、暗号処理モジュール4によってランダムに異なる値が設定されていることが望ましい。このカウンタの示す値がシーケンス番号k2_sである。シーケンス番号k2_sは、暗号処理モジュール4によって、暗号化フレーム70の中の暗号ヘッダ71の部分にシーケンス番号k2_rとして配置される(シーケンス番号k2_rは図5のシーケンス番号714に相当する)。
マスター鍵k3は、事前共有鍵k0に基づいて暗号処理モジュール4が生成する。管理者が事前共有鍵k0を中継装置1に設定すると、CPU6が暗号処理モジュール4にマスター鍵k3の生成を命令し、暗号処理モジュール4はその命令にしたがってマスター鍵k3を生成する。生成されたマスター鍵k3は、暗号処理モジュール4の内部に格納される。あるいは、マスター鍵k3のもととなる候補値の配列であるマスター鍵配列kaを事前共有鍵k0に基づいて暗号処理モジュール4が生成してもよい。この場合、マスター鍵配列kaが暗号処理モジュール4の内部に格納され、その中からマスター鍵k3が選択される(詳細は後述する)。いずれにしても、マスター鍵k3は事前共有鍵k0に基づいて生成される。
事前共有鍵k0からマスター鍵k3を生成する方法には、後述するようにいくつかの方法がある。上記のように、暗号化通信を行う範囲に含まれるすべての本発明の中継装置1において、事前共有鍵k0は同じ値である。また、後述するように、中継装置1は、事前共有鍵k0から一意に決まるマスター鍵k3が生成されるように構成されている。すなわち、個々の中継装置1の違いによらず、同じ事前共有鍵k0からは同じマスター鍵k3が生成される。したがって、暗号化通信を行う範囲に含まれるすべての本発明の中継装置1において、マスター鍵k3は同じ値である。
暗号処理モジュール4は、フレームを暗号化および復号化する際にフレーム鍵kを生成する。フレームを暗号化する際の暗号処理モジュール4の動作は下記のステップ(s1)〜(s6)のとおりである。
(s1)暗号化の対象となる平文フレームを、対応するポートまたはフレーム中継処理部2から受信する。
(s2)そのフレームからMACヘッダ情報k1を読み取る。
(s3)現在のシーケンス番号k2_sをカウンタから読み取り、カウンタの値を1増やす。
(s4)マスター鍵k3を読み出す。
(s5)所定の関数fを用いて、k=f(k1,k2_s,k3)なるフレーム鍵kを生成する。
(s6)フレーム鍵kを用いてフレームを暗号化し、(s3)で読み取った値を暗号ヘッダ71にシーケンス番号k2_rとして書き込む。
フレームを復号化する際の暗号処理モジュール4の動作は下記のステップ(r1)〜(r6)のとおりである。
(r1)復号化の対象となる暗号化フレームを、対応するポートまたはフレーム中継処理部2から受信する。
(r2)そのフレームからMACヘッダ情報k1を読み取る。
(r3)そのフレームの暗号ヘッダ71からシーケンス番号k2_rを読み取る。
(r4)マスター鍵k3を読み出す。
(r5)所定の関数fを用いて、k=f(k1,k2_r,k3)なるフレーム鍵kを生成する。なお、この関数fはステップ(s5)における関数fと同じである。
(r6)フレーム鍵kを用いてフレームを復号化する。
ステップ(s4)および(r4)においては、実施形態によって、単に格納されたマスター鍵k3を読み出す場合もあれば、何らかの演算に基づいてマスター鍵k3を決定する場合もある。
ところで、シーケンス番号k2は、暗号処理モジュール4が管理するシーケンス番号k2_sでもあり、暗号化フレームに書き込まれたシーケンス番号k2_rでもあるから、上記の関数fを用いてk=f(k1,k2,k3)と表すこともできる。なお、後述するように、関数fの具体的な内容は実施形態により様々に異なる。また、上記のようにマスター鍵k3は事前共有鍵k0に基づいて決められるため、フレーム鍵kはMACヘッダ情報k1とシーケンス番号k2と事前共有鍵k0に基づいて定められている、と言うこともできる。
MACヘッダ情報k1は、フレームの送信元と送信先のペアごとに異なる。よって、異なるノード間の通信ではMACヘッダ情報k1が異なる。異なるMACヘッダ情報k1に対しては異なるフレーム鍵kが生成されるような関数fを利用すれば、異なるノード間の通信に対しては異なるフレーム鍵kが使われ、高いセキュリティレベルを実現することができる。
また、シーケンス番号k2は、暗号処理モジュール4がフレームを暗号化するたびに1ずつ増加する番号であり、かつ、十分に長いデータ長を有する。よって、シーケンス番号k2は、同一ノード間の通信でもフレームごとに異なる値となる。よって、異なるシーケンス番号k2に対しては異なるフレーム鍵kが生成されるような関数fを利用すれば、フレームごとに異なるフレーム鍵kが使われ、高いセキュリティレベルを実現することができる。
以上のようにフレーム鍵kを生成することにより、フレーム鍵kがMACヘッダ情報k1およびシーケンス番号k2によって異なる値となる。よって、動的に鍵情報の交換を行って暗号鍵を新しいものに取り換えなくても、事実上フレームごとに異なるフレーム鍵kが使われる。本発明によれば、動的に鍵情報の交換を行わなくてもよいため、複雑なプロトコルを実装する必要がない。また、動的に鍵情報の交換を行う場合、一つの中継装置に障害があると全体に影響し、通信が切断されるが、本発明では他の中継装置1への影響はない。したがって、上記のように生成したフレーム鍵kを利用することは、セキュリティ、スケーラビリティ、信頼性のすべてを満足する効果をもつ。
以下では、フレーム鍵kの生成の具体的な方法について、いくつか説明する。
フレーム鍵kを生成する第一の方法は、関数fとしてハッシュ関数hを利用することである。この方法では、上記のステップ(s5)、(r5)は以下のステップ(s5‐1)、(r5‐1)で置き換えられる。
(s5‐1)k=h(k1+k2_s+k3)なるフレーム鍵kを生成する。
(r5‐1)k=h(k1+k2_r+k3)なるフレーム鍵kを生成する。
ここで、ハッシュ関数hとして、MD5(Message Digest Algorithm 5)やSHA‐1(Secure Hash Algorithm-1)等の汎用の高速ハッシュ関数を利用することができる。暗号通信の送信側と受信側の暗号処理モジュール4同士が同じハッシュ関数を利用してさえいれば、ハッシュ関数hとして任意のハッシュ関数を用いることができる。
ハッシュ関数を利用することにより、異なる二つの(k1,k2,k3)の組から同じフレーム鍵kが生成される確率を、無視しても問題がない程度まで低くすることができる。また、フレーム鍵kの値の分布が一様かつランダムになることが期待される。つまり、連続する二つのフレームに対するフレーム鍵kの値が大きく異なることが期待される。よって、暗号化フレームが傍受された場合でも、フレーム鍵kを推測することは非常に難しい。さらに、高速な演算が可能な汎用のハッシュ関数を利用することができるため、実装が容易である。
フレーム鍵kを生成する第二の方法は、配列を用いる方法である。図10はこの方法を説明する図であり、この方法では、上記のステップ(s4)、(s5)、(r4)、(r5)はそれぞれ以下のステップ(s4‐2)、(s5‐2)、(r4‐2)、(r5‐2)で置き換えられる。
(s4‐2)(s3)で読み取ったk2_sに基づいて、マスター鍵配列kaからマスター鍵k3を読み出す。
(s5‐2)k=k3 XOR (k1+k2_s)なるフレーム鍵kを生成する。
(r4‐2)(r3)で読み取ったk2_rに基づいて、マスター鍵配列kaからマスター鍵k3を読み出す。
(r5‐2)k=k3 XOR (k1+k2_r)なるフレーム鍵kを生成する。
図10を参照して上記のステップについて説明する。図9においては、事前共有鍵k0から一つのマスター鍵k3が生成されていたが、図10では事前共有鍵k0からM個の値が生成され、それらの値の配列をマスター鍵配列kaとして暗号処理モジュール4に格納しておく。以下、マスター鍵配列kaで添え字がjの値をka[j]と表し、各ka[j]の値を候補値とよぶ。
ステップ(s4‐2)では、例えば、k2_sをMで割ったときの剰余jを算出し、ka[j]の値をマスター鍵k3として読み出してもよい。ステップ(r4‐2)でも同様にして、マスター鍵k3を読み出すことができる。もちろん、実施形態によっては別の方法を使ってjを決定し、マスター鍵配列kaからマスター鍵k3(=ka[j])を読み出してもよい。
ステップ(s4‐2)や(r4‐2)では、マスター鍵k3がシーケンス番号k2(k2_sまたはk2_r)に基づいて算出されるため、連続した二つの暗号化フレームで異なるマスター鍵k3が用いられ、したがって、異なるフレーム鍵kが用いられる。また、暗号化フレームを傍受されたとしてもフレーム鍵kが推測困難なようにするためには、マスター鍵配列kaを生成する際にka[i]とka[i+1]のビット列が類似しないような方法で生成し、かつMを適度に大きな値(例えば256)としておくことが望ましい。
この第二の方法では、関数fとして、ハッシュ関数よりもさらに高速に演算することが可能な、簡単な関数を利用している。すなわち、ステップ(s5‐2)および(r5‐2)に示したごとく、関数fの計算に必要なのは加算と排他的論理和の演算のみである。
したがって、この第二の方法は、フレーム鍵kの安全性と演算速度をともに考慮した方法であり、Gbps級の高速通信に好適である。
ところで、図3AのようにVLANを利用する環境においては、上記の第一および第二の方法を変形した方法を採用することも可能である。例えば、図3Aの例において、VLAN10とVLAN20で同じマスター鍵k3を利用してもよいが、異なるマスター鍵k3、k3’を利用してもよい。後者の場合、暗号化対象であるVLAN10、20にそれぞれ対応する事前共有鍵k0、k0’を管理者が中継装置1aに設定し、暗号処理モジュール4aは事前共有鍵k0からマスター鍵k3を生成するとともに事前共有鍵k0’からマスター鍵k3’を生成する。管理者は、中継装置1bにも同様に事前共有鍵k0、k0’を設定し、暗号処理モジュール4bにマスター鍵k3、k3’を生成させる。以上は第一の方法を変形した方法である。第二の方法も同様にして変形することができる。すなわち、暗号処理モジュール4a、4bはそれぞれ、VLAN10、20に対応する二つの事前共有鍵k0、k0’から二組のマスター鍵配列ka、ka’を生成する。そして、VLAN10に対応するフレームの暗号処理ではマスター鍵配列kaを使い、VLAN20に対応するフレームの暗号処理ではマスター鍵配列ka’を使う。
次に、事前共有鍵k0からマスター鍵k3を生成する方法についていくつか説明する。事前共有鍵k0からマスター鍵k3を生成する方法が異なれば、同じ事前共有鍵k0、MACヘッダ情報k1、シーケンス番号k2から異なるフレーム鍵kが生成される。
事前共有鍵k0からマスター鍵k3を生成する第一の方法は、ランダムなバイト列を生成する関数rを用いる方法である。関数rには引数としてシードが与えられる。関数rは同じシードに対しては同じ結果を返す関数である。
この第一の方法による実施形態では、中継装置1のファームウェアが一意な文字列(以下では「ファーム文字列」とよび、記号fsで表す)を定義しており、暗号処理モジュール4はファーム文字列fsを参照することができるようになっている。つまり、同じファームウェアが組み込まれた複数の中継装置1に備えられたすべての暗号処理モジュール4は、同じファーム文字列fsを参照することができる。ファーム文字列fsは、例えばファームウェアを設計して中継装置1に組み込んだ製造業者しか知らないものであって、中継装置1の利用者には秘密にされる。
また、本実施形態では、暗号化フレームの送信側と受信側で使われる暗号処理モジュール(例えば図3Aの4aと4b)が同じファームウェアを搭載しており、かつ同じ関数rを利用可能であるものとする。
関数rに与えるシードは、ファーム文字列fsと事前共有鍵k0に基づいて算出される。例えば、ファーム文字列fsと事前共有鍵k0を文字列として連結したものをシードとしてもよく、ファーム文字列fsと事前共有鍵k0のビット列から排他的論理和を演算してシードとしてもよい。
例えば、算出すべきマスター鍵k3の長さをNバイトと定めたとする。このとき、関数rが長さNバイトの値を返す関数であれば、上記のようにしてファーム文字列fsと事前共有鍵k0に基づいて算出したシードを関数rの引数として与えれば、マスター鍵k3を得ることができる。あるいは、関数rが長さ1バイトの値を返す関数として定義されている場合は、N個のランダムなバイト値を生成し、それらを連結してNバイトのマスター鍵k3を得てもよい。この場合、N個の異なる値(以下「インデックス値」とよぶ)を使ってN個のシードを生成し、それらN個のシードを使ってN個のランダムなバイト値を生成する。インデックス値は、例えば1からNの整数でもよく、別のものでもよい。例えば、インデックス値が1からNの整数のとき、j番目のシードは、ファーム文字列fsと事前共有鍵k0とjとに基づいて生成される(1≦j≦N)。
この第一の方法によれば、暗号化フレームの送信側と受信側で同じ事前共有鍵k0を設定すると、同じマスター鍵k3が生成される。マスター鍵k3の生成に使われるシードは、中継装置1の利用者に対して秘密にされるファーム文字列fsと、管理者しか知らない事前共有鍵k0とに基づいて算出される。よって、たとえ関数rとして汎用のライブラリ関数を利用したとしても、外部からマスター鍵k3を推測することは非常に困難であり、安全にマスター鍵k3を生成することができる。
事前共有鍵k0からマスター鍵k3を生成する第二の方法はハッシュ関数hを用いる方法である。ハッシュ関数hは、同じ引数に対しては常に同じハッシュ値を算出する関数である。
この第二の方法では、関数rのかわりにハッシュ関数hを用いる点以外は、第一の方法と同様である。第二の方法では、ハッシュ関数hの引数はファーム文字列fsと事前共有鍵k0に基づいて算出される値であり、その結果得られるハッシュ値がマスター鍵k3である。ハッシュ関数を使うのでマスター鍵k3のビット配列には規則性がない。また、マスター鍵k3はファーム文字列fsと事前共有鍵k0とに基づいて算出される。したがって、たとえハッシュ関数hとして汎用のライブラリ関数(例えばMD5やSHA‐1など)を利用したとしても、外部からマスター鍵k3を推測することは非常に困難であり、安全にマスター鍵k3を生成することができる。
ところで、事前共有鍵k0からマスター鍵k3を生成する上記の第一および第二の方法は、変更を加えることによって、図10のようにマスター鍵配列kaを利用する実施形態にも適用することができる。
事前共有鍵k0からマスター鍵配列kaを生成する第一の方法は、事前共有鍵k0からマスター鍵k3を生成する第一の方法と類似の方法である。ただし、マスター鍵k3の長さをNバイトと定めた場合に、Nバイトの長さをもつ一つのマスター鍵k3を生成するのではなく、それぞれがNバイトの長さをもつM個の候補値を生成し、それらをka[0]〜ka[M−1]として格納する点で異なる。
例えば、関数rが長さ1バイトの値を返す関数として定義されている場合は、N×M個のランダムなバイト値を生成し、N個ずつを連結してNバイトの長さをもつM個の候補値とし、それぞれをka[0]〜ka[M−1]として格納する。この場合、N×M個のインデックス値を使ってN×M個のシードを生成し、それらのシードを関数rの引数とする。
この方法によれば、関数rとして汎用のライブラリ関数を利用したとしても、外部からマスター鍵配列kaの内容を推測することは非常に困難である。したがって、マスター鍵配列kaの中から選択されるマスター鍵k3の安全性も保たれる。
事前共有鍵k0からマスター鍵配列kaを生成する第二の方法は、事前共有鍵k0からマスター鍵k3を生成する第二の方法と類似の方法である。ただし、一つのマスター鍵k3を生成するのではなく、M個の候補値を生成し、それらをka[0]〜ka[M−1]として格納する点で異なる。
この方法では、M個の候補値を生成するためにM個のインデックス値を使う。例えば、インデックス値が1からMの整数のとき、j番目の候補値、すなわちka[j−1]は、ファーム文字列fsと事前共有鍵k0とjとに基づいて算出した値をハッシュ関数hの引数として得たハッシュ値である(1≦j≦M)。
この方法によれば、ハッシュ関数hとして汎用のライブラリ関数を利用したとしても、外部からマスター鍵配列kaの内容を推測することは非常に困難である。したがって、マスター鍵配列kaの中から選択されるマスター鍵k3の安全性も保たれる。また、ハッシュ関数を用いているため、ka[0]〜ka[M−1]に格納されたそれぞれの値はビット配置に規則性がない。したがって、暗号化フレームを傍受したとしてもマスター鍵k3を推測することは困難であり、マスター鍵k3の安全性が保たれている。
次に、図11を参照しながら、フレームの分割と再構成について説明する。本発明による中継装置1は、好ましい実施形態において、暗号化フレーム70を分割し、分割された複数のフレームからもとの一つのフレームを再構成する機能を有している。以下では、この機能を「フラグメンテーション機能」とよび、分割された暗号化フレーム70を「フラグメントフレーム」とよぶ。図11はフラグメンテーション機能を実現するための暗号ヘッダ71の形式を説明する図である。
前述のとおり一般に、イーサネット(登録商標)の最大フレーム長は1518バイトという仕様であり、IEEE802.1Q(VLAN)タグフレームの最大フレーム長は1522バイトという仕様である。また、一般に、暗号化したデータは平文データよりもデータサイズが大きくなる。さらに、暗号化フレーム70は暗号ヘッダ71を含む。よって、フレーム50やタグつきフレーム60のデータ部53を暗号化した場合、暗号化フレーム70のサイズが、上記の最大フレーム長を超えることがありうる。
市販の多くのレイヤ2中継装置は、最大フレーム長を1518バイトや1522バイトよりも大きく設定することができる。よって、本発明による中継装置1と従来の中継装置とを混在させたネットワークにおいて、従来の中継装置の設定を変えることによって、1522バイトよりも長い暗号化フレーム70の送受信が可能となる。例えば図3Aにおいて、1522バイトよりも長い暗号化フレーム70を中継装置1aから中継装置1bへ送信する際に、コアL2/L3スイッチ41で最大フレーム長が適切に設定されていれば、この暗号化フレーム70はコアL2/L3スイッチ41を経由して中継装置1bに届く。
したがって、例えばある会社が自社のオフィス用のLANとして独自に構築したネットワークなど、中継装置の設定を任意に変えることができる場合には、本発明の利用が問題になることは少ない。しかし、通信キャリア事業者が提供するイーサネット(登録商標)網を利用している場合など、利用者が好きなように中継装置の設定を変えることができない場合もある。その場合、本発明を利用しようとすると、最大フレーム長の制限から、暗号化フレーム70が送信できなくなることがありうる。
そこで、本発明による中継装置1は、フラグメンテーション機能を有することが望ましい。図11の実施形態では、中継装置1がフラグメンテーション機能を具備しており、暗号ヘッダ71もそれに合わせた形式となっている。フラグメンテーション機能を備えた中継装置1を使えば、ネットワークの経路上に従来の中継装置がある場合でも、その中継装置で規定された最大フレーム長よりも長い暗号化フレーム70を送受信することができる。
フラグメンテーション機能を実現するために、具体的には暗号処理モジュール4は以下のことを行う。第一に、暗号化した結果サイズが増加した暗号化フレーム70を、複数のフラグメントフレームに分割する。第二に、受信したフレームがフラグメントフレームなのか、分割されていない暗号化フレーム70なのかを判定する。第三に、フラグメントフレームだと判定された場合には、すべてのフラグメントフレームを受信した後、一つの暗号化フレーム70に復元し、復元した暗号化フレーム70を復号化する。
図11と図5の暗号ヘッダ71を比較すると、図11では予約フィールド713の値が0x01または0x02と指定されており、2バイトのID(Identification)715と2バイトのフラグメントオフセット716の二つのフィールドが追加されている点が相違点である。
本実施形態では、予約フィールド713の値が0x01または0x02の場合は暗号ヘッダ71が図11のように16バイトに拡張されることを意味し、予約フィールド713の値が0x00の場合は暗号ヘッダ71が図5のように12バイトであることを意味する。したがって、暗号処理モジュール4は、受信した暗号化フレームの予約フィールド713の値によって暗号ヘッダ71の範囲を判定することができる。
分割されていない暗号化フレーム70において予約フィールド713の値は0x00である。一つの暗号化フレーム70をn個のフラグメントフレームに分割した場合、予約フィールド713の値は、1番目から(n−1)番目までのフラグメントフレームでは0x01であり、n番目のフラグメントフレームでは0x02である。
IDフィールド715は、分割する前の暗号化フレーム70ごとに一つ割り当てられる識別番号を示すフィールドである。本実施形態においてはランダムな値を生成してID715に利用する。一つの暗号化フレーム70をn個のフラグメントフレームに分割した場合、ID715の値はそれらn個のフラグメントフレームで同一である。
フラグメントオフセット716は、そのフラグメントフレームが先頭から何バイト目に位置するのかを示す値が入る。
次に、このような暗号ヘッダ71を使ってフラグメンテーション機能を実現するための暗号処理モジュール4の動作について説明する。
暗号処理モジュール4は、暗号化を行う際に以下の動作を行う。まず、暗号化フレーム70のデータ長が最大フレーム長(通常のイーサネット(登録商標)では1518バイト、VLAN環境においては1522バイト)を超えるか否かを判定する。最大フレーム長を超えていたら、暗号化フレーム70を複数のフラグメントフレームに分割する。その際、一つのランダムな値を生成し、その値をそれぞれのフラグメントフレームのID715にコピーする。また、各フラグメントフレームに対して、フラグメントオフセット716、ICV73、FCS54の値をそれぞれ計算する。
暗号処理モジュール4は、暗号ヘッダ71を含むフレームを受信したら、以下の動作を行う。まず、予約フィールド713の値を調べる。この値が0x00の場合、分割されていない暗号化フレームを受信したと判断し、その暗号化フレームを復号化する。予約フィールド713の値が0x01の場合、n個に分割されたフラグメントフレームのうち、1〜(n−1)番目のいずれかのフラグメントフレームを受信したと判断し、そのフラグメントフレームをの内容を一時的にバッファに格納する。予約フィールド713の値が0x02の場合、n個に分割されたフラグメントフレームのうちn番目のフラグメントフレームを受信したと判断し、バッファに格納されている1〜(n−1)番目のフラグメントフレームとあわせてもとの暗号化フレームを再構成し、再構成した暗号化フレームを復号化する。なお、再構成に際しては、n個のフラグメントフレームでID715が同じ値か否か、フラグメントオフセット716の値と矛盾なく再構成可能か否かを確認しながら再構成を行う。また、通信路の状態によっては、すべてのフラグメントフレームを受信することができないかもしれないので、所定の時間以内にすべてのフラグメントフレームが揃って再構成を行うことができなければ、バッファをクリアする。
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
図4では、タイプ等も含めたデータ部53を暗号化の対象としている。しかし、タイプ、LLCヘッダ、SNAPヘッダまでをヘッダ情報であると見なし、これらを暗号化の対象から除外してもよい。その場合、暗号化フレーム70における暗号ヘッダ71の位置は、図4と同様にTCI62の直後でもよく、TCI62の直後にタイプ等が続き、その後に暗号ヘッダ71が続き、その後に暗号化データ部が続くのでもよい。後者の場合は、暗号化の対象外となるヘッダ部分、暗号ヘッダ71、暗号化データ部という順になるという点で、図4と同様である。
上記の実施形態では、k=f(k1,k2,k3)なるフレーム鍵kを生成している。しかし、フレーム鍵kを生成するのに、MACヘッダ情報k1やマスター鍵k3は必須ではなく、シーケンス番号k2のみが必須である。なぜなら、フレームの送信のたびに異なる要素は、シーケンス番号k2のみだからである。したがって、例えば、ハッシュ関数hを利用してk=h(k2)などの計算によりフレーム鍵kを生成してもよい。
ただし、フレーム鍵kの強度という点からはMACヘッダ情報k1およびマスター鍵k3も利用することが望ましい。また、図10のように計算を単純化して処理を高速化するためにも、シーケンス番号k2以外の要素であるMACヘッダ情報k1およびマスター鍵k3を利用することが望ましい。
また、関数fは上記で例示した以外の関数でもよいことは無論である。
図11では、フラグメントオフセット716を利用する仕組みを採用しているが、図11とは異なる形式の暗号ヘッダ71を採用して、フラグメンテーション機能を実現してもよい。例えば、予約フィールド713とフラグメントオフセット716に基づいて再構成を行うかわりに、「全部でいくつのフラグメントフレームがあるか」という情報と「このフラグメントフレームは何番目のフラグメントフレームであるか」という情報を暗号ヘッダ71に記録し、それらの情報に基づいて再構成を行ってもよい。
以上説明したことを概観すれば本発明は以下のような構成を備えるものである。
(付記1)
データリンク層のフレームを中継する中継装置であって、
該中継装置の外部と前記フレームの送受信を行うための複数のポートと、
前記フレームを中継するフレーム中継処理部と、
前記複数のポートのうちの一つとの間で前記フレームを送受信する第一のインターフェイス、および前記フレーム中継処理部との間で前記フレームを送受信する第二のインターフェイスを有し、前記第一または第二のインターフェイスの一方から前記フレームを受信したとき該フレームを暗号化して暗号化フレームを生成する暗号化処理を行い、前記第一または第二のインターフェイスの他方から前記暗号化フレームを受信したとき該暗号化フレームを復号化する復号化処理を行う、一つ以上の暗号処理部と、
を備えることを特徴とする中継装置。
(付記2)
前記フレームがVLANを識別するVLAN識別情報を含むとき、前記暗号処理部は、前記VLAN識別情報に基づいて、受信した前記フレームに対して前記暗号化処理または前記復号化処理のうちの一方を行うか、いずれも行わないか、を決定することを特徴とする付記1に記載の中継装置。
(付記3)
前記暗号化処理において、前記暗号処理部は、前記フレームのヘッダを除くデータ部を暗号化し、前記ヘッダと、前記データ部を暗号化して得られた暗号化データとの間の位置に、復号化に必要な情報を含む暗号ヘッダを配置して暗号化フレームを生成することを特徴とする付記1に記載の中継装置。
(付記4)
前記暗号処理部は、該暗号処理部に対応する前記ポートから前記第一のインターフェイスを介して前記フレームを受信したときに前記暗号化処理を行い、前記フレーム中継処理部に前記第二のインターフェイスを介して生成した前記暗号化フレームを送信し、
前記暗号処理部は、前記フレーム中継処理部から前記第二のインターフェイスを介して前記フレームを受信したときに前記復号化処理を行い、該暗号処理部に対応する前記ポートに前記第一のインターフェイスを介して復号化した前記フレームを送信する、
ことを特徴とする付記1に記載の中継装置。
(付記5)
前記暗号処理部は、該暗号処理部に対応する前記ポートから前記第一のインターフェイスを介して前記フレームを受信したときに前記復号化処理を行い、前記フレーム中継処理部に前記第二のインターフェイスを介して復号化した前記フレームを送信し、
前記暗号処理部は、前記フレーム中継処理部から前記第二のインターフェイスを介して前記フレームを受信したときに前記暗号化処理を行い、該暗号処理部に対応する前記ポートに前記第一のインターフェイスを介して生成した前記暗号化フレームを送信する、
ことを特徴とする付記1に記載の中継装置。
(付記6)
前記暗号処理部はシーケンス番号を格納する番号格納部を備え、
前記暗号化処理を行うとき、前記暗号処理部は、前記シーケンス番号に基づいて暗号鍵を生成し、該暗号鍵を使って前記フレームを暗号化して前記暗号化フレームを生成し、前記シーケンス番号を該暗号化フレームに含ませ、前記番号格納部に格納された前記シーケンス番号の値を変化させ、
前記復号化処理を行うとき、前記暗号処理部は、前記暗号化フレームに含まれる前記シーケンス番号に基づいて前記暗号鍵を生成し、該暗号鍵を使って前記復号化処理を行う、
ことを特徴とする付記1に記載の中継装置。
(付記7)
前記暗号処理部は前記暗号鍵を生成する際、さらに、前記フレームに含まれる送信先MACアドレスまたは送信元MACアドレスの少なくとも一方から得られるMACヘッダ情報にも基づいて前記暗号鍵を生成することを特徴とする付記6に記載の中継装置。
(付記8)
前記暗号処理部は前記暗号鍵を生成する際、さらに、前記暗号化フレームを送受信するために組み合わせて利用される複数の前記中継装置の各々において予め設定された同一の値である事前共有鍵にも基づいて、前記暗号鍵を生成することを特徴とする付記6に記載の中継装置。
(付記9)
前記暗号処理部がハッシュ関数を使って前記暗号鍵を生成することを特徴とする付記6に記載の中継装置。
(付記10)
前記暗号化フレームを送受信するために組み合わせて利用される複数の前記中継装置の各々において予め設定された同一の値である事前共有鍵に基づいて、前記暗号処理部が2以上の整数であるM個の値を生成して候補値として記憶し、
前記暗号処理部は、M個の前記候補値のうちの一つを前記シーケンス番号に基づいて選択し、選択した前記候補値に基づいて前記暗号鍵を生成することを特徴とする付記6に記載の中継装置。
(付記11)
前記暗号処理部は前記暗号鍵を生成する際、前記中継装置のファームウェアにより一意に規定される文字列と前記事前共有鍵とに基づいて算出した値を、同じシードからは同じ値を生成するランダム関数にシードとして与えてランダムな値を生成し、該ランダムな値に基づいて前記暗号鍵を生成することを特徴とする付記8に記載の中継装置。
(付記12)
前記暗号処理部は前記暗号鍵を生成する際、前記中継装置のファームウェアにより一意に規定される文字列と前記事前共有鍵とに基づいて算出した値をハッシュ関数の引数としてハッシュ値を算出し、該ハッシュ値に基づいて前記暗号鍵を生成することを特徴とする付記8に記載の中継装置。
(付記13)
前記暗号処理部はM個の前記候補値を生成する際、M個の異なるインデックス値に対してそれぞれ、前記中継装置のファームウェアにより一意に規定される文字列と前記事前共有鍵と当該インデックス値とに基づいてシードを算出し、同じシードからは同じ値を生成するランダム関数に該シードを与えてランダムな値を算出することによって、M個の前記候補値を生成することを特徴とする付記10に記載の中継装置。
(付記14)
前記暗号処理部はM個の前記候補値を生成する際、M個の異なるインデックス値に対してそれぞれ、前記中継装置のファームウェアにより一意に規定される文字列と前記事前共有鍵と当該インデックス値とに基づいて算出される値をハッシュ関数の引数として与えることによって、M個の前記候補値を算出することを特徴とする付記10に記載の中継装置。
(付記15)
前記暗号化処理において、前記暗号処理部はさらに、前記暗号化フレームの長さが所定の長さを超えるとき前記暗号化フレームを分割して複数のフラグメントフレームを生成し、
前記復号化処理において、前記暗号処理部はさらに、前記フラグメントフレームを受信したのか、それとも分割されていない前記暗号化フレームを受信したのかを判定し、前記フラグメントフレームを受信したと判定した場合には、分割前の前記暗号化フレームに対応する複数の前記フラグメントフレームのすべてを受信してから、該すべてのフラグメントフレームを分割前の前記暗号化フレームに再構成する、
ことを特徴とする付記1に記載の中継装置。
本発明による中継装置の一実施形態における構成図である。 本発明による中継装置の別の実施形態における構成図である。 VLAN環境における本発明の中継装置の利用例を示す図である。 図3Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。 本発明で利用するフレームの形式を説明する図である。 暗号ヘッダの詳細を示す図である。 本発明による中継装置を使ってネットワークを構成した例を示す図である。 図6Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。 本発明による中継装置を使ってネットワークを構成した例を示す図である。 図7Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。 本発明による中継装置を使ってネットワークを構成した例を示す図である。 図8Aの一部を抜粋して装置の詳細を示すとともに、フレームの流れを示す図である。 本発明において暗号処理に用いられる鍵について説明する図である。 本発明において暗号処理に用いられる鍵を、配列を利用して生成する方法について説明する図である。 フレームの分割と再構成を実現するための暗号ヘッダの形式を説明する図である。
符号の説明
1、1a〜1e 中継装置
2、2a〜2e フレーム中継処理部
3、3a〜3o ポート
4a〜4n 暗号処理モジュール
5 TCG対応チップ
6 CPU
7 内部バス
10、20、30 VLAN
41 コアL2/L3スイッチ
41b L2スイッチ
42a、42b .1Qトランク
43 ファイヤウォール
44 ルータ
45 インターネット
46a〜46d PC
50 フレーム
51 送信先MACアドレス
52 送信元MACアドレス
53 データ部
54 FCS
60 タグつきフレーム
61 TPID
62 TCI
70 暗号化フレーム
71 暗号ヘッダ
72 暗号化データ部
73 ICV
711 タイプ
712 サブタイプ
713 予約フィールド
714 シーケンス番号
715 ID
716 フラグメントオフセット
k0 事前共有鍵
k1 MACヘッダ情報
k2、k2_s、k2_r シーケンス番号
k3 マスター鍵
ka マスター鍵配列

Claims (5)

  1. データリンク層のフレームを中継する第一、第二、および第三の中継装置を含むシステムであって、
    前記第一、第二、および第三の中継装置の各々は、当該中継装置の外部と前記フレームの送受信を行うための複数のポートと、前記フレームを中継するフレーム中継処理部と、一つ以上の暗号処理部を備え、
    前記一つ以上の暗号処理部の各々は、
    前記複数のポートのうちの、当該暗号処理部と一対一に対応する、当該暗号処理部にとっての特定の一つのポート、および前記フレーム中継処理部と、接続されており、
    前記特定の一つのポートとの間で前記フレームを送受信する第一のインターフェイス、および前記フレーム中継処理部との間で前記フレームを送受信する第二のインターフェイスを有し、
    前記第一または第二のインターフェイスの一方から前記フレームを受信したとき該フレームを暗号化して暗号化フレームを生成する暗号化処理を行い、
    前記第一または第二のインターフェイスの他方から前記暗号化フレームを受信したとき該暗号化フレームを復号化する復号化処理を行い、
    前記第一の中継装置において、前記一つ以上の暗号処理部のうちの一つである第一の暗号処理部は、前記複数のポートのうち、前記第一の暗号処理部に対応する前記特定の一つのポートである第一のポートと接続されており、前記第一のインターフェイスからの受信の際に前記復号化処理を行い、前記第二のインターフェイスからの受信の際に前記暗号化処理を行い、
    前記第二の中継装置において、前記一つ以上の暗号処理部のうちの一つである第二の暗号処理部は、前記複数のポートのうち、前記第二の暗号処理部に対応する前記特定の一つのポートである第二のポートと接続されており、前記第一のインターフェイスからの受信の際に前記復号化処理を行い、前記第二のインターフェイスからの受信の際に前記暗号化処理を行い、
    前記第三の中継装置の前記複数のポートは、
    前記第一の中継装置の前記第一のポートに接続されるとともに、前記第三の中継装置の前記フレーム中継処理部に接続された第三のポートと、
    前記第二の中継装置の前記第二のポートと接続されるとともに、前記第三の中継装置の前記フレーム中継処理部に接続された第四のポートと、
    前記第三の中継装置における前記一つ以上の暗号処理部のうちの一つである第三の暗号処理部に対応する前記特定の一つのポートである第五のポートを含み、
    前記第三の暗号処理部は、前記第一のインターフェイスからの受信の際に前記暗号化処理を行い、前記第二のインターフェイスからの受信の際に前記復号化処理を行う
    ことを特徴とするシステム。
  2. 前記暗号化処理において、前記暗号処理部は、前記フレームのヘッダを除くデータ部を暗号化し、前記ヘッダと、前記データ部を暗号化して得られた暗号化データとの間の位置に、復号化に必要な情報を含む暗号ヘッダを配置して暗号化フレームを生成することを特徴とする請求項1に記載のシステム。
  3. 前記暗号処理部はシーケンス番号を格納する番号格納部を備え、
    前記暗号化処理を行うとき、前記暗号処理部は、前記シーケンス番号に基づいて暗号鍵を生成し、該暗号鍵を使って前記フレームを暗号化して前記暗号化フレームを生成し、前記シーケンス番号を該暗号化フレームに含ませ、前記番号格納部に格納された前記シーケンス番号の値を変化させ、
    前記復号化処理を行うとき、前記暗号処理部は、前記暗号化フレームに含まれる前記シーケンス番号に基づいて前記暗号鍵を生成し、該暗号鍵を使って前記復号化処理を行う、
    ことを特徴とする請求項1に記載のシステム。
  4. 前記第一、第二、および第三の中継装置の各々において予め設定された同一の値である事前共有鍵に基づいて、前記暗号処理部が2以上の整数であるM個の値を生成して候補値として記憶し、
    前記暗号処理部は、M個の前記候補値のうちの一つを前記シーケンス番号に基づいて選択し、選択した前記候補値に基づいて前記暗号鍵を生成することを特徴とする請求項3に記載のシステム。
  5. 前記暗号化処理において、前記暗号処理部はさらに、前記暗号化フレームを分割して複数のフラグメントフレームを生成し、
    前記復号化処理において、前記暗号処理部はさらに、前記フラグメントフレームを受信したのか、それとも分割されていない前記暗号化フレームを受信したのかを判定し、前記フラグメントフレームを受信したと判定した場合には、分割前の前記暗号化フレームに対応する複数の前記フラグメントフレームのすべてを受信してから、該すべてのフラグメントフレームを分割前の前記暗号化フレームに再構成する、
    ことを特徴とする請求項1に記載のシステム。
JP2006216737A 2006-08-09 2006-08-09 フレームを暗号化して中継する中継装置 Expired - Fee Related JP5060081B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006216737A JP5060081B2 (ja) 2006-08-09 2006-08-09 フレームを暗号化して中継する中継装置
US11/622,750 US7979693B2 (en) 2006-08-09 2007-01-12 Relay apparatus for encrypting and relaying a frame

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006216737A JP5060081B2 (ja) 2006-08-09 2006-08-09 フレームを暗号化して中継する中継装置

Publications (2)

Publication Number Publication Date
JP2008042715A JP2008042715A (ja) 2008-02-21
JP5060081B2 true JP5060081B2 (ja) 2012-10-31

Family

ID=39177224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006216737A Expired - Fee Related JP5060081B2 (ja) 2006-08-09 2006-08-09 フレームを暗号化して中継する中継装置

Country Status (2)

Country Link
US (1) US7979693B2 (ja)
JP (1) JP5060081B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159495B2 (en) 2017-02-03 2021-10-26 Mitsubishi Electric Corporation Transfer device and communication network

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5435845B2 (ja) * 2007-02-20 2014-03-05 株式会社メガチップス 信号処理装置
US8166205B2 (en) * 2007-07-31 2012-04-24 Cisco Technology, Inc. Overlay transport virtualization
JP5178269B2 (ja) * 2008-03-21 2013-04-10 三菱電機株式会社 復号装置及びプログラム
US8170043B2 (en) * 2008-04-22 2012-05-01 Airhop Communications, Inc. System and method of communication protocols in communication systems
US8667568B2 (en) * 2008-05-29 2014-03-04 Red Hat, Inc. Securing a password database
KR101274392B1 (ko) * 2008-06-06 2013-06-17 텔레폰악티에볼라겟엘엠에릭슨(펍) 암호화 키 생성
WO2010014973A1 (en) * 2008-08-01 2010-02-04 Real D Method and apparatus to mark and identify stereoscopic video frames
US8181009B2 (en) * 2009-03-03 2012-05-15 Harris Corporation VLAN tagging over IPSec tunnels
WO2011114373A1 (ja) * 2010-03-17 2011-09-22 富士通株式会社 通信装置、プログラムおよび方法
CN102035845B (zh) * 2010-12-20 2012-07-18 西安西电捷通无线网络通信股份有限公司 支持链路层保密传输的交换设备及其数据处理方法
JP5797463B2 (ja) 2011-06-07 2015-10-21 ラピスセミコンダクタ株式会社 フレーム受信装置、フレーム送信装置、フレーム送受信システム及びフレーム送受信方法
US8792643B1 (en) * 2012-02-16 2014-07-29 Google Inc. System and methodology for decrypting encrypted media
US9355279B1 (en) 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9374344B1 (en) 2013-03-29 2016-06-21 Secturion Systems, Inc. Secure end-to-end communication system
US9798899B1 (en) 2013-03-29 2017-10-24 Secturion Systems, Inc. Replaceable or removable physical interface input/output module
US9317718B1 (en) 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US9524399B1 (en) * 2013-04-01 2016-12-20 Secturion Systems, Inc. Multi-level independent security architecture
US20150036820A1 (en) * 2013-07-30 2015-02-05 Gideon Samid Probability Durable Entropic Advantage
EP2854332A1 (en) * 2013-09-27 2015-04-01 Gemalto SA Method for securing over-the-air communication between a mobile application and a gateway
US9503272B2 (en) 2014-03-13 2016-11-22 Cisco Technology, Inc. Fast convergence with multicast source mobility
US10218496B2 (en) * 2014-08-04 2019-02-26 Cryptography Research, Inc. Outputting a key based on an authorized sequence of operations
US20160112488A1 (en) * 2014-10-20 2016-04-21 Ssh Communications Security Oyj Providing Information of Data Streams
US9916476B2 (en) * 2015-08-28 2018-03-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Maintaining cryptoprocessor types in a multinode environment
US11283774B2 (en) 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
JP2017060083A (ja) * 2015-09-18 2017-03-23 トヨタ自動車株式会社 通信装置および暗号通信方法
US11575524B2 (en) 2015-10-12 2023-02-07 Servicenow, Inc. Selective encryption delineation
US10601781B2 (en) 2015-10-12 2020-03-24 Servicenow, Inc. Selective encryption delineation
US10708236B2 (en) 2015-10-26 2020-07-07 Secturion Systems, Inc. Multi-independent level secure (MILS) storage encryption
GB201713499D0 (en) 2017-08-23 2017-10-04 Nchain Holdings Ltd Computer-implemented system and method
TWI760546B (zh) 2017-08-23 2022-04-11 安地卡及巴布達商區塊鏈控股有限公司 用於高安全性高速資料加密及傳輸的電腦實施系統與方法
KR101959686B1 (ko) * 2018-10-01 2019-03-18 한국수자원공사 네트워크 보안용 l2 스위치 및 이를 이용한 원격 감시제어 시스템
CN109413444A (zh) * 2018-10-30 2019-03-01 苏州科达科技股份有限公司 视频的完整性校验数据生成方法、完整性校验方法及装置
JP7213664B2 (ja) * 2018-11-19 2023-01-27 三菱電機株式会社 中継装置、中継方法及び中継プログラム
CN109992209B (zh) * 2019-03-29 2023-02-03 新华三技术有限公司成都分公司 数据处理方法、装置及分布式存储系统
JP6875474B2 (ja) * 2019-08-27 2021-05-26 Necプラットフォームズ株式会社 通信システムおよび通信方法
IT201900023091A1 (it) * 2019-12-05 2021-06-05 St Microelectronics Srl Sistema elettronico, procedimento di funzionamento e dispositivo elettronico corrispondenti
CN113141345B (zh) * 2021-03-13 2022-05-20 中国人民解放军战略支援部队航天工程大学 一种多边互信机制式数据报文分段传输方法
US20240396880A1 (en) * 2021-09-17 2024-11-28 Han Chuen Lim Communication link

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0585140A (ja) 1991-04-10 1993-04-06 Nissan Motor Co Ltd 車両用サスペンシヨン
JPH06252922A (ja) * 1993-02-23 1994-09-09 Matsushita Electric Works Ltd セキュリティ機能付きhub
JP3595145B2 (ja) * 1997-06-02 2004-12-02 三菱電機株式会社 暗号通信システム
JPH11145975A (ja) * 1997-11-07 1999-05-28 Toshiba Corp 送信制御方式
CA2313242C (en) * 1997-12-19 2008-10-14 British Telecommunications Public Limited Company Data communications
JPH11239184A (ja) * 1998-02-23 1999-08-31 Matsushita Electric Works Ltd スイッチングハブ
JP3996288B2 (ja) * 1998-12-07 2007-10-24 株式会社日立製作所 通信ネットワークシステムの管理方法および情報中継装置
JP2001007849A (ja) * 1999-06-18 2001-01-12 Toshiba Corp Mplsパケット処理方法及びmplsパケット処理装置
ATE403992T1 (de) 1999-06-22 2008-08-15 Hitachi Ltd Kryptografisches gerät und verfahren
US6289455B1 (en) 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
JP3259724B2 (ja) * 1999-11-26 2002-02-25 三菱電機株式会社 暗号装置、暗号化器および復号器
JP3864675B2 (ja) 2000-03-09 2007-01-10 株式会社日立製作所 共通鍵暗号装置
JP3730480B2 (ja) * 2000-05-23 2006-01-05 株式会社東芝 ゲートウェイ装置
US20040213237A1 (en) 2000-06-29 2004-10-28 Toshikazu Yasue Network authentication apparatus and network authentication system
AU2001276731A1 (en) * 2000-08-25 2002-03-04 Matsushita Electric Industrial Co., Ltd. Data transmission method and data relay method
JP4427196B2 (ja) * 2001-02-07 2010-03-03 株式会社日立製作所 Ipパケット通信装置及び冗長構成切替え方法
JP2003037600A (ja) * 2001-07-26 2003-02-07 Allied Tereshisu Kk テストマネージャ付きメディアコンバータ、障害検出方法、およびそれを用いたシステム
JP2003060633A (ja) 2001-08-20 2003-02-28 Mitsubishi Electric Corp 受動光ネットワークシステム及び受動光ネットワークシステム暗号化方法及びネットワークシステム及びネットワークシステム
GB2379587B (en) 2001-09-10 2003-08-20 Simon Alan Spacey A method and apparatus for securing electronic information
US20030210696A1 (en) * 2002-04-25 2003-11-13 Globespanvirata Incorporated System and method for routing across segments of a network switch
WO2003098874A1 (en) * 2002-05-17 2003-11-27 Allied Telesis Kabushiki Kaisha Concentrator and its power supply reset management method
WO2004015931A1 (ja) 2002-08-07 2004-02-19 Allied Telesis K.K. 伝送システムおよびその方法
US20040177369A1 (en) 2003-03-06 2004-09-09 Akins Glendon L. Conditional access personal video recorder
JP2004363739A (ja) 2003-06-03 2004-12-24 Hitachi Ltd 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
US7232063B2 (en) 2003-06-09 2007-06-19 Fujitsu Transaction Solutions Inc. System and method for monitoring and diagnosis of point of sale devices having intelligent hardware
US7515717B2 (en) 2003-07-31 2009-04-07 International Business Machines Corporation Security containers for document components
JP2007529967A (ja) 2004-03-18 2007-10-25 クゥアルコム・インコーポレイテッド セキュリティ保護された実時間プロトコルにおける暗号情報の効率的な送信
JP4211659B2 (ja) * 2004-03-31 2009-01-21 ヤマハ株式会社 マルチプロセッサ構造およびlanエミュレータ
JP4368251B2 (ja) 2004-06-09 2009-11-18 富士通株式会社 フレーム転送処理方法及び装置
JP2006033275A (ja) * 2004-07-14 2006-02-02 Fujitsu Ltd ループフレーム検知装置およびループフレーム検知方法
US7571329B2 (en) 2004-07-14 2009-08-04 Intel Corporation Method of storing unique constant values
WO2006080623A1 (en) * 2004-09-22 2006-08-03 Samsung Electronics Co., Ltd. Method and apparatus for managing communication security in wireless network
US7246224B2 (en) 2004-09-27 2007-07-17 Intel Corporation System and method to enable platform personality migration
US20060269066A1 (en) * 2005-05-06 2006-11-30 Schweitzer Engineering Laboratories, Inc. System and method for converting serial data into secure data packets configured for wireless transmission in a power system
US20060274899A1 (en) 2005-06-03 2006-12-07 Innomedia Pte Ltd. System and method for secure messaging with network address translation firewall traversal
US20070242828A1 (en) 2006-04-12 2007-10-18 General Dynamics C4 Systems, Inc. Dynamic interleaving of state vector components in an encrypted data communication system
JP4923908B2 (ja) 2006-09-21 2012-04-25 富士通株式会社 パケット転送装置およびパケット転送方法
US7817802B2 (en) 2006-10-10 2010-10-19 General Dynamics C4 Systems, Inc. Cryptographic key management in a communication network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159495B2 (en) 2017-02-03 2021-10-26 Mitsubishi Electric Corporation Transfer device and communication network

Also Published As

Publication number Publication date
US7979693B2 (en) 2011-07-12
US20080052533A1 (en) 2008-02-28
JP2008042715A (ja) 2008-02-21

Similar Documents

Publication Publication Date Title
JP5060081B2 (ja) フレームを暗号化して中継する中継装置
JP2008104040A (ja) 共通鍵生成装置および共通鍵生成方法
US7506065B2 (en) Remote mirroring using IP encapsulation
US7724732B2 (en) Secure multipoint internet protocol virtual private networks
US8041824B1 (en) System, device, method and software for providing a visitor access to a public network
US7231664B2 (en) System and method for transmitting and receiving secure data in a virtual private group
KR100976750B1 (ko) 암호 장치 및 방법, 암호 시스템
JP4447463B2 (ja) ブリッジ暗号vlan
JP4407452B2 (ja) サーバ、vpnクライアント、vpnシステム、及びソフトウェア
US20050220091A1 (en) Secure remote mirroring
CN111371798B (zh) 数据安全传输方法、系统、装置及存储介质
US20020083344A1 (en) Integrated intelligent inter/intra networking device
US20100077203A1 (en) Relay device
KR102643187B1 (ko) 시간 인식 엔드-투-엔드 패킷 흐름 네트워크들에 사이버 보안을 제공하기 위한 방법들 및 디바이스들
KR20040013601A (ko) 점대다 토폴로지의 네트워크에서 논리링크의 형성과 그보안 통신 방법
CN114338116A (zh) 加密传输方法、装置及sd-wan网络系统
JP4594081B2 (ja) 暗号化の一元集中管理システム
US20060143701A1 (en) Techniques for authenticating network protocol control messages while changing authentication secrets
CN114915451B (zh) 一种基于企业级路由器的融合隧道加密传输方法
US20240322999A1 (en) Key distribution over ip/udp
US7376828B1 (en) Method and apparatus for using incompletely trusted service provider point-to-point networks
JP4757088B2 (ja) 中継装置
Li Communication Engineering Data Transmission System Based on IPV6 Encryption Technology
Zhang The solution and management of VPN based IPSec technology
CN119583146A (zh) 三层报文传输方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120731

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120803

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

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5060081

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees