IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特開2024-161569鍵管理サーバ装置、鍵管理方法及びプログラム
<>
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図1
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図2
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図3
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図4
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図5
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図6
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図7
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図8
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図9
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図10
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図11
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図12
  • 特開-鍵管理サーバ装置、鍵管理方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161569
(43)【公開日】2024-11-19
(54)【発明の名称】鍵管理サーバ装置、鍵管理方法及びプログラム
(51)【国際特許分類】
   H04L 9/12 20060101AFI20241112BHJP
   H04L 9/36 20060101ALI20241112BHJP
【FI】
H04L9/12
H04L9/36
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024139865
(22)【出願日】2024-08-21
(62)【分割の表示】P 2020185822の分割
【原出願日】2020-11-06
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田中 康之
(72)【発明者】
【氏名】山浦 隆博
(57)【要約】
【課題】広域IP網の通信性能を損なわずに、QKDによる暗号化及び復号を行えるようにする。
【解決手段】実施形態の転送装置は、量子鍵配送を用いて復号鍵を生成する鍵管理サーバ装置に接続された転送装置であって、パケット受信処理部と復号処理部と転送処理部とを備える。パケット受信処理部は、受信パケットを受信する。復号処理部は、前記受信パケットが復号対象パケットである場合、前記受信パケットを復号する。転送処理部は、復号された前記受信パケット、または、復号されていない前記受信パケットを転送する。
【選択図】図3
【特許請求の範囲】
【請求項1】
転送装置と接続された鍵管理サーバ装置であって、
量子鍵配送によってビット列を共有する鍵配送処理部と、
広域IP網管理サーバ装置から前記転送装置へ暗号化対象パケットが指定された場合、前記転送装置から送信された暗号鍵生成要求に応じて、前記暗号化対象パケットを暗号化する暗号鍵を、前記ビット列から生成する暗号鍵生成部と、
前記暗号鍵を識別する鍵識別情報と、前記暗号鍵の長さを示す鍵長とを含む制御信号を、対向の鍵管理サーバ装置に送信する制御信号処理部と、
を備える鍵管理サーバ装置。
【請求項2】
転送装置と接続される鍵管理サーバ装置の鍵管理方法であって、
前記鍵管理サーバ装置が、量子鍵配送によってビット列を共有し、
前記鍵管理サーバ装置が、広域IP網管理サーバ装置から前記転送装置へ暗号化対象パケットが指定された場合、前記転送装置から送信された暗号鍵生成要求に応じて、前記暗号化対象パケットを暗号化する暗号鍵を、前記ビット列から生成し、
前記鍵管理サーバ装置が、前記暗号鍵を識別する鍵識別情報と、前記暗号鍵の長さを示す鍵長とを含む制御信号を、対向の鍵管理サーバ装置に送信する、
鍵管理方法。
【請求項3】
転送装置と接続される鍵管理サーバ装置を、
量子鍵配送によってビット列を共有させ、
広域IP網管理サーバ装置から前記転送装置へ暗号化対象パケットが指定された場合、前記転送装置から送信された暗号鍵生成要求に応じて、前記暗号化対象パケットを暗号化する暗号鍵を、前記ビット列から生成させ、
前記暗号鍵を識別する鍵識別情報と、前記暗号鍵の長さを示す鍵長とを含む制御信号を、対向の鍵管理サーバ装置に送信させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は転送装置、鍵管理サーバ装置、通信システム、転送方法及びプログラムに関する。
【背景技術】
【0002】
量子鍵配送(QKD:Quantum Key Distribution)によって生成された暗号鍵・復号鍵を鍵管理サーバ装置から取得する際にAPI(Application Programming Interface)が用いられている。ワンタイム暗号を施されたパケットを受信したルータ等の転送装置(またはホスト)は、当該APIを使って鍵管理サーバ装置から復号鍵を得て、パケットを復号する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ETSI GS QKD 014、[令和2年10月9日検索]、インターネット〈URL:https://www.etsi.org/deliver/etsi_gs/QKD/001_099/014/01.01.01_60/gs_qkd014v010101p.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら従来の技術では、広域IP網の通信性能を損なわずに、QKDによる暗号化及び復号を行うことが難しかった。
【課題を解決するための手段】
【0005】
実施形態の鍵管理サーバ装置は、転送装置と接続された鍵管理サーバ装置であって、鍵配送処理部と暗号鍵生成部と制御信号処理部と、を備える。鍵配送処理部は、量子鍵配送によってビット列を共有する。暗号鍵生成部は、広域IP網管理サーバ装置から前記転送装置へ暗号化対象パケットが指定された場合、前記転送装置から送信された暗号鍵生成要求に応じて、前記暗号化対象パケットを暗号化する暗号鍵を、前記ビット列から生成する。制御信号処理部は、前記暗号鍵を識別する鍵識別情報と、前記暗号鍵の長さを示す鍵長とを含む制御信号を、対向の鍵管理サーバ装置に送信する。
【図面の簡単な説明】
【0006】
図1】第1実施形態の通信システムの装置構成の例を示す図。
図2】第1実施形態のパケットを暗号化するルータの機能構成の例を示す図。
図3】第1実施形態のパケットを復号するルータの機能構成の例を示す図。
図4】第1実施形態の暗号鍵を提供する鍵管理サーバ装置の機能構成の例を示す図。
図5】第1実施形態の復号鍵を提供する鍵管理サーバ装置の機能構成の例を示す図。
図6】第1実施形態の通信方法の例を説明するための図。
図7】第2実施形態の通信システムの装置構成の例を示す図。
図8】第2実施形態の経路変更指示を受け付けるルータの機能構成の例を示す図。
図9】第3実施形態の通信システムの装置構成及び通信方法の例を説明するための図。
図10】第4実施形態の通信システムの装置構成の例を示す図。
図11】第4実施形態のパケットを復号するルータの機能構成の例を示す図。
図12】第1乃至第4実施形態のルータのハードウェア構成の例を示す図。
図13】第1乃至第4実施形態の鍵管理サーバ装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、転送装置、鍵管理サーバ装置、通信システム、転送方法及びプログラムの実施形態を詳細に説明する。
【0008】
なお、下記の実施形態の説明では、パケットは、ネットワーク経由でやり取りされる情報の伝送単位を示しており、便宜上、L2におけるフレーム、L4におけるセグメントやデータグラムもパケットと呼ぶ。パケットと呼んだ場合にもL2のヘッダやフッタなどの情報を含むものとする。
【0009】
(第1実施形態)
はじめに、第1実施形態の通信システムの装置構成の例について説明する。
【0010】
[装置構成の例]
図1は第1実施形態の通信システム100の装置構成の例を示す図である。第1実施形態の通信システム100は、ルータ10a及び10b、鍵管理サーバ装置20a及び20b、広域IP網管理サーバ装置30、並びに、ネットワーク101~106を備える。
【0011】
以下、ルータ10a及び10bを区別しない場合には、単にルータ10という。同様に、鍵管理サーバ装置20a及び20bを区別しない場合には、単に鍵管理サーバ装置20という。
【0012】
ルータ10a及び10bはネットワーク102を介して接続されている。ネットワーク102は、例えばインターネットなどの広域網である。
【0013】
また、ルータ10aはネットワーク101とも接続されており、ネットワーク101を介して受信されたパケットをルータ10bへ転送する。ルータ10bはネットワーク103とも接続されており、ルータ10bはルータ10aから転送されたパケットをネットワーク103に接続された外部装置に転送する。
【0014】
ルータ10aは鍵管理サーバ装置20aと接続され、ルータ10bは鍵管理サーバ装置20bと接続される。ルータ10aは、ルータ10bへ転送するパケットを暗号化するための暗号鍵を鍵管理サーバ装置20aから得る。一方、ルータ10bは、ルータ10aから受信されたパケットを復号するための復号鍵を鍵管理サーバ装置20bから得る。
【0015】
便宜上、実施形態の説明にパケットの暗号化、及び、パケットの復号という処理を記載するが、必ずしもパケットの暗号化及び復号をしなくてよい。アプリケーションによっては、ルータ10aはパケットの暗号化はせずに認証データを付与し、ルータ10bはその認証データの検証をするかもしれない。いずれにしても、ルータ10aはパケットの転送処理に伴い、鍵管理サーバ装置20aから鍵を取得し、ルータ10bは、ルータ10aで使用された鍵に対応する鍵を、鍵管理サーバ装置20bから取得する。
【0016】
なお、ルータ10及び鍵管理サーバ装置20は同一筐体内に一つの装置として実装されていてもよいし、それぞれ別の装置として実装されていてもよい。
【0017】
鍵管理サーバ装置20a及び20bはネットワーク104を介して接続されている。ネットワーク102及び104は同一のネットワークでもよいし、異なるネットワークでもよい。典型的には鍵管理サーバ装置20a及び20bは光ファイバ網でお互い接続され、量子暗号通信によりお互いに安全にビット列を共有できる。鍵管理サーバ装置20a及び20bはビット列の共有に加え、暗号鍵に対応する復号鍵を生成・共有するための制御メッセージをやり取りする。例えば、各鍵を特定するための鍵識別子、及び、鍵の長さ(鍵長)等は制御メッセージにより調整される。制御メッセージに含まれる情報を鍵情報と呼ぶ。一方、暗号鍵及び復号鍵そのものを示すビット列を鍵値と呼ぶ。
【0018】
広域IP網管理サーバ装置30はネットワーク105を介してルータ10aと接続される。広域IP網管理サーバ装置30は、暗号化するパケットを指定する情報をルータ10aに送信する。また、広域IP網管理サーバ装置30はネットワーク106を介してルータ10bと接続される。広域IP網管理サーバ装置30は、復号するパケットを指定する情報をルータ10bに送信する。
【0019】
なお、ネットワーク102、105及び106は、同一のネットワークでもよいし、それぞれ異なるネットワークでもよい。また、ネットワーク102、105及び106の一部が同一のネットワークで残りが別のネットワークでもよい。
【0020】
暗号化するパケット及び復号するパケットの指定は、例えばパケットの送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、プロトコル及び優先度等に基づき行われる。
【0021】
例えば、対象がTCPパケット及びUDPパケット等の場合、広域IP網管理サーバ装置30は送信元ポート番号及び宛先ポート番号等を使って、暗号化または復号するパケットを特定する。また例えば、対象がICMPパケットならば、広域IP網管理サーバ装置30はICMPタイプ及びコード等を使って暗号化または復号するパケットを特定する。
【0022】
プロトコルの識別には、例えばイーサネット(登録商標)フレームのEtherTypeフィールド、フレームに含まれるSNAP(Subnetwork Access Protocol)のPID、及び、IPヘッダのProtocolフィールド等を用いることができる。例えば、IPv4を用いる場合には、優先度としてType of Service (TOS)フィールドの値を用いることができる。また例えば、IPv6を用いる場合には、優先度としてTraffic Classフィールドの値を用いることができる。いずれにしても、広域IP網管理サーバ装置30は、特定のノード間や特定のアプリケーション間でやり取りされる一連のパケットを一意に指定し、指定した複数のパケット(フロー)に対してルータ10aに暗号化を指示し、ルータ10bに復号の指示を行う。なお、広域IP網管理サーバ装置30の指定する暗号化及び復号の対象は、複数のパケット(フロー)だけでなく、1つのパケットでもよい。
【0023】
さらに、広域IP網管理サーバ装置30は、ルータ10aに暗号化を行わないフローも指定でき、ルータ10bに復号を行わないフローも指定できる。
【0024】
ルータ10aは、ルータ10bのSAE(Secure Application Entity) ID等の情報を広域IP網管理サーバ装置30からの指示と共に得てもよいし、当該指示からルータ10bのSAE IDを特定してもよい。
【0025】
広域IP網管理サーバ装置30からルータ10aへの指示には、SNMP、NETCONF、SIPなどのプロトコルを用いてもよいし、独自の通信プロトコルを用いてもよい。また例えば、広域IP網管理サーバ装置30とルータ10aとの間でファイル及びメモリを共有し、当該ファイル及びメモリ上で指示を行ってもよい。広域IP網管理サーバ装置30からルータ10bへの指示についても、同様である。
【0026】
[パケットを暗号化するルータの機能構成の例]
図2は第1実施形態のパケットを暗号化するルータ10aの機能構成の例を示す図である。第1実施形態のルータ10aは、受付部11、パケット受信処理部12、暗号化処理部13、暗号鍵受信処理部14、記憶制御部15、記憶部16及び転送処理部17を備える。
【0027】
受付部11は、広域IP網管理サーバ装置30から、例えば暗号化するパケット(暗号化対象パケット)を指定する情報を受け付ける。また例えば、受付部11は、広域IP網管理サーバ装置30から、暗号化しないパケットを指定する情報を受け付ける。受付部11は、広域IP網管理サーバ装置30から指示を受けると、指示されたパケットに対する暗号化の有無を暗号化処理部13に伝える。
【0028】
パケット受信処理部12は、ネットワーク101からパケットを受信すると、当該パケットを暗号化処理部13に入力する。
【0029】
暗号化処理部13は、受信したパケットが広域IP網管理サーバ装置30により暗号化の指示を受けたものならば、鍵長が指定された暗号鍵の読み出し要求を記憶制御部15に入力し、記憶制御部15から暗号鍵を取得する。そして、暗号化処理部13は、パケットに暗号化処理を施し、暗号化されたパケットを転送処理部17に入力する。一方、暗号化処理部13は、受信したパケットが広域IP網管理サーバ装置30により暗号化の指示を受けたものでなければ、暗号化処理を施さずに、当該パケットを転送処理部17に入力する。
【0030】
暗号鍵受信処理部14は、鍵管理サーバ装置20aから暗号鍵を受け付けると、当該暗号鍵を記憶制御部15に入力する。
【0031】
記憶制御部15は、暗号鍵受信処理部14から暗号鍵を受け付けると、当該暗号鍵を記憶部16に記憶する。また、記憶制御部15は、暗号化処理部13から、鍵長が指定された暗号鍵の読み出し要求を受け付けると、記憶部16から、指定された鍵長の暗号鍵を読み出し、当該暗号鍵と当該暗号鍵を識別する鍵識別子とを暗号化処理部13に入力する。
【0032】
なお、記憶制御部15は、暗号化処理部13の動作とは独立に、暗号鍵受信処理部14を介して鍵管理サーバ装置20aから暗号鍵を取得し続けていてもよいし、暗号化処理部13から指示された場合に、暗号鍵受信処理部14を介して鍵管理サーバ装置20aから暗号鍵を取得してもよい。
【0033】
例えば、暗号鍵の取得はETSI GS QKD 014のような通信プロトコルを使って行われる。また例えば、暗号鍵の取得は、鍵管理サーバ装置20aにより生成される鍵ファイルを介して行われてもよい。また例えば、ルータ10a及び鍵管理サーバ装置20aが同一筐体内に一つの装置として実装されている場合は、共有メモリ上で暗号鍵の取得が行われてもよい。
【0034】
転送処理部17は、暗号化処理部13から、暗号化されたパケット又は暗号化されていないパケットを受け付けると、当該パケットを、ネットワーク102を介してルータ10bへ転送する。
【0035】
[パケットを復号するルータの機能構成の例]
図3は第1実施形態のパケットを復号するルータ10bの機能構成の例を示す図である。基本的には、ルータ10bは、ルータ10aと同様の動作を行う。ルータ10aとルータ10bの違いはパケットに施す処理であり、ルータ10aは暗号化を行い、ルータ10bは復号を行う。第1実施形態のルータ10bは、受付部11、パケット受信処理部12、記憶制御部15、記憶部16、転送処理部17、復号鍵受信処理部18及び復号処理部19を備える。
【0036】
パケットのヘッダには暗号化の有無が含まれる。暗号化されている場合は、パケットのヘッダには、暗号化に用いられた鍵の鍵識別子及び暗号アルゴリズムが含まれる。ペイロードの一部のみが暗号化されている場合は、パケットのヘッダには、暗号化されている領域を特定する情報が含まれる。
【0037】
受付部11は、広域IP網管理サーバ装置30から、例えば復号するパケット(復号対象パケット)を指定する情報を受け付ける。また例えば、受付部11は、広域IP網管理サーバ装置30から、復号しないパケットを指定する情報を受け付ける。受付部11は、広域IP網管理サーバ装置30から指示を受けると、指示されたパケットに対する復号の有無を復号処理部19に伝える。
【0038】
パケット受信処理部12は、ネットワーク102からパケットを受信すると、当該パケットを復号処理部19に入力する。
【0039】
一方、復号鍵受信処理部18は、パケットの受信処理とは独立に、鍵管理サーバ装置20bから復号鍵を取得する。復号鍵受信処理部18は、鍵管理サーバ装置20bから復号鍵を受け付けると、当該復号鍵を記憶制御部15に入力する。
【0040】
復号鍵の取得は、例えばETSI GS QKD 014のような通信プロトコルを使って行われる。また例えば、復号鍵の取得は、鍵管理サーバ装置20bにより生成される鍵ファイルを介して行われてもよい。また例えば、ルータ10b及び鍵管理サーバ装置20bが同一筐体内に一つの装置として実装されている場合は、共有メモリ上で復号鍵の取得が行われてもよい。
【0041】
記憶制御部15は、復号鍵受信処理部18から復号鍵を受け付けると、当該復号鍵を記憶部16に記憶する。復号鍵は、パケットの受信処理とは独立に、記憶部16に蓄積される。また、記憶制御部15は、復号処理部19から、復号鍵の読み出し要求を受け付けると、記憶部16から、復号鍵を読み出し、当該復号鍵を復号処理部19に入力する。
【0042】
なお、記憶制御部15は、復号処理部19の動作とは独立に、復号鍵受信処理部18を介して鍵管理サーバ装置20bから復号鍵を取得し続ける。これにより、復号処理部19が、鍵管理サーバ装置20bに復号鍵の生成要求を出さずに、鍵管理サーバ装置20bから提供された復号鍵を用いて、パケットを復号可能にする。
【0043】
復号処理部19は、受付部11から指示されたパケットの復号を行う。復号処理部19はパケットの復号を行う際、パケットのヘッダ情報などから、当該パケットの暗号化に使用された暗号鍵に対応する復号鍵の識別情報(典型的には鍵識別子)を抽出し、当該識別情報に対応する復号鍵を、記憶制御部15を介して記憶部16から取得する。
【0044】
このとき、記憶部16が、暗号鍵に対応する復号鍵を持たない場合(復号鍵が鍵管理サーバ装置20bから提供されていなかった場合)、記憶制御部15が復号鍵受信処理部18を介して、鍵管理サーバ装置20bへ当該復号鍵を要求する。そして、記憶制御部15は、復号鍵が復号鍵受信処理部18から入力された際、記憶部16に記憶することなくそのまま復号処理部19に入力する。これによりできるだけ早く復号鍵を復号処理部19に渡すことができ復号処理を早く行うことができる。
【0045】
なお、復号処理部19は、パケットを復号するときに、パケットを復号する復号鍵が鍵管理サーバ装置20bから提供されていなかった場合、所定の時間待ってから、記憶制御部15に復号鍵の読み出しを要求してもよい。
【0046】
復号処理部19は、所定の回数、記憶制御部15に復号鍵の読み出しを要求しても復号鍵を取得できなかった場合、パケットを復号せずに廃棄する。また、復号処理部19は、パケットを復号するときに、パケットを復号する復号鍵が鍵管理サーバ装置20bから提供されていなかった場合、所定の時間、記憶制御部15からの通知を待ち、所定の時間が経過しても通知を受信できなかった場合、パケットを復号せずに廃棄してもよい。
【0047】
復号処理部19は、記憶制御部15から復号鍵を取得すると、パケットに復号処理を施し、復号されたパケットを転送処理部17に入力する。
【0048】
転送処理部17は、復号処理部19から復号されたパケットを受け付けると、当該パケットをネットワーク200bに接続された外部装置へ転送する。
【0049】
[暗号鍵を提供する鍵管理サーバ装置の機能構成の例]
図4は第1実施形態の暗号鍵を提供する鍵管理サーバ装置20aの機能構成の例を示す図である。第1実施形態の鍵管理サーバ装置20aは、鍵配送処理部21、記憶部22、制御信号処理部23、暗号鍵生成部24及び提供部25を備える。
【0050】
鍵配送処理部21は、量子鍵配送(量子暗号通信)を用いて鍵管理サーバ装置20bとネットワーク200dを介してビット列を共有する。なお、鍵配送処理部21は、量子鍵配送処理装置として鍵管理サーバ装置20aとは別の装置として実装されてもよい。
【0051】
記憶部22は、鍵配送処理部21によって共有されたビット列を蓄積する。
【0052】
制御信号処理部23は、前述のビット列の共有に関わる制御に加え、暗号鍵(鍵管理サーバ装置20bでは復号鍵)の識別情報(典型的には鍵識別子)、鍵長及びオフセット情報などの鍵情報を含む制御信号を、復号鍵を生成する鍵管理サーバ装置20bに送信する。オフセット情報は、共有されたビット列のどこから暗号鍵(復号鍵)を切り出すかを示す情報である。
【0053】
暗号鍵生成部24は、ルータ10aからの暗号鍵の要求に応じて、又は自律的に、暗号鍵を生成する。暗号鍵の鍵長は、例えば、ルータ10aからの暗号鍵の要求で指定される。また例えば、暗号鍵生成部24は、所定の鍵長の暗号鍵を自律的に生成する。暗号鍵生成部24は、ビット列から鍵長分の暗号鍵を切り出して、暗号鍵を生成するとともに、当該暗号鍵を識別する鍵識別子を生成する。
【0054】
提供部25は、ルータ10aからの暗号鍵の要求に応じて、又は自律的に、暗号鍵生成部24により生成された暗号鍵をルータ10aに提供する。暗号鍵は、暗号鍵そのものを示すビット列(鍵値)と、暗号鍵を識別する鍵識別子とによりルータ10aに提供される。
【0055】
[復号鍵を提供する鍵管理サーバ装置の機能構成の例]
図5は第1実施形態の復号鍵を提供する鍵管理サーバ装置20bの機能構成の例を示す図である。第1実施形態の鍵管理サーバ装置20bは、鍵配送処理部21、記憶部22、制御信号処理部23、提供部25及び復号鍵生成部26を備える。
【0056】
鍵配送処理部21は、量子鍵配送(量子暗号通信)を用いて鍵管理サーバ装置20aとネットワーク200dを介してビット列を共有する。なお、鍵配送処理部21は、量子鍵配送処理装置として鍵管理サーバ装置20bとは別の装置として実装されてもよい。
【0057】
記憶部22は、鍵配送処理部21によって共有されたビット列を蓄積する。
【0058】
制御信号処理部23は、前述のビット列の共有に関わる制御に加え、復号鍵(鍵管理サーバ装置20aでは暗号鍵)の識別情報(典型的には鍵識別子)、鍵長及びオフセット情報などの鍵情報を含む制御信号を、鍵管理サーバ装置20aから受信する。
【0059】
復号鍵生成部26は、制御信号が受信された時点で、ルータ10bからの復号鍵の生成要求を待たずに、ビット列から鍵識別情報と鍵長とに基づいて、暗号鍵に対応する復号鍵を生成する。これにより、ルータ10bがルータ10aから受信したパケットを復号処理する際に、より早く復号鍵を取得できるようになり、ルータ10bの転送スループット・転送速度が向上する。なお、共有されたビット列から復号鍵を切り出すビットの位置は、例えば制御信号に含まれるオフセット情報により特定される。
【0060】
提供部25は、復号鍵生成部26により生成された復号鍵をルータ10bに提供する。
【0061】
[通信方法の例]
図6は第1実施形態の通信方法の例を説明するための図である。はじめに、ルータ10aの受付部11が、広域IP網管理サーバ装置30から、暗号化するパケットを指定する情報を受け付ける(ステップS1-1)。一方、ルータ10bでは、受付部11が、広域IP網管理サーバ装置30から、復号するパケットを指定する情報を受け付ける(ステップS1-2)。
【0062】
次に、ルータ10aのパケット受信処理部12が、ネットワーク101に接続された外部装置からパケットを受信する(ステップS2)。次に、ルータ10aの暗号化処理部13が、ステップS2の処理により受信されたパケットと同じ長さの暗号鍵の生成要求を鍵管理サーバ装置20aに送信する(ステップS3)。
【0063】
次に、鍵管理サーバ装置20aの暗号鍵生成部24が、暗号鍵を生成し、制御信号処理部23が、生成された暗号鍵の鍵情報(鍵識別情報及び鍵長)を鍵管理サーバ装置20bに通知する(ステップS4)。
【0064】
次に、鍵管理サーバ装置20aの提供部25が、暗号鍵をルータ10aに提供する(ステップS5-1)。一方、鍵管理サーバ装置20bでは、復号鍵生成部26が、ルータ10bからの復号鍵の生成要求を待たずに、鍵管理サーバ装置20aと共有されたビット列から、ステップS4で通知された鍵識別情報と鍵長とに基づいて、ステップS5-1の処理により提供された暗号鍵に対応する復号鍵を生成し、提供部25が、当該復号鍵をルータ10bに提供(プッシュ)する(ステップS5-2)。
【0065】
次に、ルータ10aの暗号化処理部13が、ステップS2の処理により受信されたパケットがステップS1-1の処理により指定されたパケットである場合、ステップS5-1の処理により提供された暗号鍵を使用して当該パケットを暗号化し、暗号化されたパケットを、ネットワーク200cを介してルータ10bに転送する(ステップS6)。なお、ステップS1-1の処理により指定されていないパケットは、ステップS6で暗号化処理を行われずに転送される。
【0066】
次に、ルータ10bのパケット受信処理部12が、ステップS6の処理により転送されたパケットを受信する。そして、復号処理部19が、ステップS6の処理により転送されたパケットがステップS1-2の処理により指定されたパケットである場合、ステップS5-2の処理により提供された復号鍵を使用して当該パケットを復号し、転送処理部17が、当該パケットをネットワーク200bに接続された外部装置に転送する(ステップS7)。なお、ステップS1-2の処理により指定されていないパケットは、ステップS7で復号処理を行われずに転送される。
【0067】
以上、説明したように、第1実施形態の通信システム100は、広域IP網管理サーバ装置30と、鍵管理サーバ装置20a(第1の鍵管理サーバ装置)と、鍵管理サーバ装置20b(第2の鍵管理サーバ装置)と、ルータ10a(第1の転送装置)と、ルータ10b(第2の転送装置)とを備える。
【0068】
ルータ10a(第1の転送装置)では、受付部11が、広域IP網管理サーバ装置30から、暗号化対象パケットを指定する情報を受け付ける。パケット受信処理部12が、ネットワーク101(第1のネットワーク)を介して第1の受信パケットを受信する。暗号化処理部13が、第1の受信パケットが暗号化対象パケットである場合、第1の鍵管理サーバ装置に暗号鍵生成要求を送信し、第1の鍵管理サーバ装置から提供された暗号鍵を用いて、第1の受信パケットを暗号化する。そして、転送処理部17(第1の転送処理部)が、暗号化された第1の受信パケット、または、暗号化されていない第1の受信パケットを、ネットワーク102(第2のネットワーク)を介して第2の転送装置に転送する。
【0069】
鍵管理サーバ装置20a(第1の鍵管理サーバ装置)では、鍵配送処理部21が、量子鍵配送によってビット列を共有する。暗号鍵生成部24が、広域IP網管理サーバ装置30から第1の転送装置へ暗号化対象パケットが指定された場合、第1の転送装置から送信された暗号鍵生成要求に応じて、暗号化対象パケットを暗号化する暗号鍵を、ビット列から生成する。そして、制御信号処理部23が、暗号鍵を識別する鍵識別情報と、暗号鍵の長さを示す鍵長とを含む制御信号を、第2の鍵管理サーバ装置に送信する。
【0070】
ルータ10b(第2の転送装置)では、パケット受信処理部12が、第2のネットワークを介して第2の受信パケットを受信する。復号処理部19が、第2の受信パケットが復号対象パケットである場合、第2の鍵管理サーバ装置に復号鍵生成要求を送信せずに、第2の鍵管理サーバ装置から提供された復号鍵を用いて、第2の受信パケットを復号する。そして、転送処理部17(第2の転送処理部)が、復号された第2の受信パケット、または、復号されていない第2の受信パケットを転送する。復号鍵生成要求とは例えばETSI GS QKD 014に記載のKey Delivery APIのGet keyやGet key with key IDsの呼び出しのことである。またはTCPやUDP、その他トランスポートプロトコル上でルータ10bから鍵管理サーバ装置20bへ復号鍵生成要求を出してもよい。ルータ10bと鍵管理サーバ装置20bがファイルシステムやメモリを共有している場合はプロセス間通信などを通じて復号鍵生成要求を出してもよい。
【0071】
鍵管理サーバ装置20b(第2の鍵管理サーバ装置)では、鍵配送処理部21が、量子鍵配送によってビット列を共有する。制御信号処理部23が、制御信号を受信する。復号鍵生成部26が、制御信号が受信された時点で、第2の転送装置からの復号鍵生成要求を待たずに、ビット列から鍵識別情報と鍵長とに基づいて、暗号鍵に対応する復号鍵を生成する。そして、提供部25が、復号鍵を第2の転送装置に提供する。
【0072】
これにより、第1実施形態の通信システム100によれば、広域IP網の通信性能を損なわずに、QKDによる暗号化及び復号を行えるようにすることができる。具体的には、上記構成によって、ルータ10a(QKD対応ルータ)が、広域IP網からの制御情報(暗号化対象のパケット(フロー)を指定する情報)を受け付けられるので、ルータ10aを通るトラフィックのうち、QKDの暗号鍵で保護すべきトラフィックをルータ10aは特定できるようになる。また、広域IP網からの制御情報はQKDの鍵管理サーバ装置20a及び20bにも伝えられるので、保護すべき通信の両端点で必要な暗号鍵が共有できるよう鍵管理サーバ装置20a及び20b間で調整が行われる。すなわち、広域IP網の通信を選択的にQKDで保護できる。この結果、網内主要拠点にQKDによる暗号化ルータ(VPNルータ)を設置しても広域IP網の通信性能を損なうことなく、保護すべき通信についてはこれを適切に暗号化することができるようになる。
【0073】
従来の技術では、QKDによる鍵配送処理速度は広域IP網の通信速度に対して遅いため、網内主要拠点にQKDによる暗号化ルータ(VPNルータ)を設置してしまうと広域IP網の通信性能が損なわれていた。
【0074】
なお、図1の例では、鍵管理サーバ装置20bに接続されたルータ10bが1つである場合を例示しているが、鍵管理サーバ装置20bに複数のルータ10bが接続されていてもよい。鍵管理サーバ装置20bに複数のルータ10bが接続されている場合、制御信号は、復号鍵が提供されるルータ10bを識別するルータ識別情報を更に含む。ルータ識別情報は、例えばルータ10のIPアドレス、ポート番号及びホスト名等を含む。提供部25は、ルータ識別情報により識別されるルータに復号鍵を提供する。
【0075】
(第1実施形態の変形例1)
次に第1実施形態の変形例1について説明する。変形例1の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0076】
変形例1では、広域IP網管理サーバ装置30が、暗号化及び復号の指定をする際に、ルータ10a及び10bのポート、並びに、パケット(データ)を転送するフレームのVLANタグ・ラベルなどを指定する場合について説明する。
【0077】
変形例1の広域IP網管理サーバ装置30は、ネットワーク101からパケットを受信するルータ10aのネットワークインタフェース及びポート等に対して、暗号化の要否を指示する。ネットワークインタフェース及びポートは、ルータ10aの物理デバイスでもよいし、ルータ10aの仮想デバイスでもよい。
【0078】
また、広域IP網管理サーバ装置30は、ネットワークインタフェース及びポート等の代わりに、フレームに付与されたラベル及びVLANタグなどの制御情報を以て暗号化の要否を指示してもよい。具体的には、例えばVLANのIDフィールド及びPCPフィールド等が用いられる。また例えば、既存または新規のEthertypeを用いて、暗号化されていることを示してもよい。さらに、広域IP網管理サーバ装置30は、一部のパケット(フロー)に対しては、上述の第1実施形態のようにIPアドレス等で暗号化を指示し、一部のパケット(フロー)については、ネットワークインタフェース等で暗号化を指示してもよい。復号処理を行うルータ10bに対する指示についても、暗号化処理を行うルータ10aの場合と同様である。
【0079】
(第1実施形態の変形例2)
次に第1実施形態の変形例2について説明する。変形例2の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0080】
変形例2では、フローごとにSAE IDを生成して、付与する場合について説明する。
【0081】
変形例2のルータ10aの受付部11は、広域IP網管理サーバ装置30から、暗号化するフローの指定を受けると、そのフローに対応するSAE IDを生成し、自身に追加設定する。受付部11は、例えばルータ10a自身に設定されたSAE IDと、フローを特定する情報とを組み合わせて、フローに対応したSAE IDを生成する。
【0082】
受付部11は、例えば、ルータ10a自身に設定されたSAE IDと、フローを特定する情報とを連結して新しいSAE IDを生成する。また例えば、受付部11は、ルータ10a自身に設定されたSAE IDと、フローを特定する情報のハッシュ値とを連結して新しいSAE IDを生成する。また例えば、受付部11は、ルータ10a自身に設定されたSAE IDと、フローを特定する情報とから得られるハッシュ値を、新しいSAE IDとして生成する。
【0083】
フローに対応する新たなSAE IDは、グローバルユニークであってもよいし、ルータ10a及び10bの間でのみユニーク(ローカルユニーク)であってもよい。いずれにしても、広域IP網管理サーバ装置30から指示を受け付けたルータ10aの受付部11は、なんらかのルールに従い、暗号化を行うフローに対応したSAE IDを生成する。ルータ10bの受付部11も同様の方法で復号するフローに対応したSAE IDを生成する。
【0084】
それぞれの受付部11により生成されたSAE IDは、例えばルータ10a及び10b間でやり取りされてもよいし、鍵管理サーバ装置20を介して制御信号通信路上でやり取りされてもよい。また例えば、ルータ10aは、ルータ10b自身のSAE IDと、ルータ10bが復号することになるフローを特定する情報とから、ルータ10bが新たに生成するであろうSAE IDを推測してもよい。ルータ10bについても同様である。
【0085】
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0086】
第2実施形態では、経路変更指示を受け付けるルータが追加されている場合について説明する。
【0087】
[装置構成の例]
図7は第2実施形態の通信システム100-2の装置構成の例を示す図である。第2施形態の通信システム100-2は、ルータ10a~10d、鍵管理サーバ装置20a及び20b、広域IP網管理サーバ装置30、並びに、ネットワーク101~107を備える。第2実施形態では、第1実施形態の構成に、ルータ10c及び10d、並びに、ネットワーク107が追加されている。ルータ10c及び10dは同一の構成を持つので、ルータ10cの場合を例にして図8を用いて後述する。
【0088】
図7の例では、ルータ10a及び10bはネットワーク107を介して接続されている。ルータ10bにより暗号化されたパケットは、ネットワーク107を通り、ルータ10bに転送される。ネットワーク107及びネットワーク102は同一のネットワークでもよいし、異なるネットワークでもよい。また、ルータ10a及び10bがネットワーク107に接続せず、ルータ10aにより暗号化されたパケットがルータ10c、ネットワーク102及びルータ10dを通ってルータ10bに転送されてもよい。
【0089】
なお、第2実施形態の経路変更を実現する方法としてSDN(Software Defined Networking)対応ルータと、RFC8300によって定義されるNSH(Network Service Header)とを用いてもよい。この場合、受付部11は、広域IP網管理サーバ装置30から指示された特定のパケットを、ルータ10a及び10bを経由するようにするため、サービスの機能種別と順序とが記述されたNSHヘッダを、当該特定のパケットに付与する。そして転送処理部17は、NSHヘッダで指定されたパケットをルータ10aに転送する。転送処理部17は、その他のパケット(広域IP網管理サーバ装置30から指示されていないパケット)、及び、ルータ10aから受信したパケットは、ネットワーク102に転送する。
【0090】
また。第2実施形態の経路変更を実現する方法としてSegment Routing(SR)を用いてもよい。SRではデータプレーンとしてMPLSやIPv6を用いることができる。それぞれSR-MPLS、SRv6と呼ばれる。SRでは、SID(Segment Identifier)と呼ばれる識別子で受信したパケットに対して実行する指示を行う。データプレーンにMPLSを用いる場合は、ラベルスタックにSIDが格納される。一方、データプレーンにIPv6を用いる場合には、Segment Routing Header(SRH)のSegment ListにSIDが格納される。データプレーンにIPv6を用いる場合には、SIDによって、機能を提供するネットワークノードの位置、機能、引数を指定することができる。SRを用いる場合、受付部11は、広域IP網管理サーバ装置30から指示された特定のパケットを、ルータ10a及び10bを経由するようにするため、SIDによって処理内容と順序とが記述されたSRHヘッダまたはMPLSラベルを、当該特定のパケットに付与する。そして転送処理部17は、SRHヘッダまたはMPLSラベルで指定されたルータ10aに転送する。転送処理部17は、その他のパケット(広域IP網管理サーバ装置30から指示されていないパケット)、及び、ルータ10aから受信したパケットは、SRHヘッダまたはMPLSラベルでの指定に従い、ネットワーク102に転送する。
【0091】
[経路変更指示を受け付けるルータの機能構成の例]
図8は第2実施形態の経路変更指示を受け付けるルータ10cの機能構成の例を示す図である。第2実施形態のルータ10cは、受付部11、パケット受信処理部12及び転送処理部17を備える。
【0092】
受付部11は広域IP網管理サーバ装置30から特定のパケットをルータ10aに転送する指示(指定)を受け付ける。
【0093】
転送処理部17は、指定されたパケットをルータ10aに転送する。転送処理部17は、その他のパケット(広域IP網管理サーバ装置30から指示されていないパケット)、及び、ルータ10aから受信したパケットは、ネットワーク102に転送する。
【0094】
ルータ10a及び10bは、広域IP網管理サーバ装置30と接続されていてもよいし、広域IP網管理サーバ装置30と接続されていなくてもよい。図7では、ルータ10a及び10bが、広域IP網管理サーバ装置30との接続を持つ構成を例示している。ルータ10a及び10bが、広域IP網管理サーバ装置30との接続を持つ場合、第1実施形態と同様に、広域IP網管理サーバ装置30から指定されたパケットに対し暗号化及び復号を行う。
【0095】
ルータ10a及び10bが、広域IP網管理サーバ装置30との接続を持たない場合、ルータ10aは受信したパケットを常に暗号化したり、特定のパケットだけを暗号化したりするなど、所定の設定に従って暗号化を行う。復号を行うルータ10bについても同様である。
【0096】
(第3実施形態)
次に第3実施形態について説明する。第3実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0097】
第3実施形態では、鍵管理サーバ装置20a及び20bの間に1以上の鍵管理サーバ装置20が存在する場合について説明する。
【0098】
図9は第3実施形態の通信システム100-3の装置構成及び通信方法の例を説明するための図である。図3の例では、鍵管理サーバ装置20a及び20bの間に2つの鍵管理サーバ装置20e及び20fが追加されている。
【0099】
第3実施形態では、鍵管理サーバ装置20aが量子暗号通信路を介してビット列を共有している装置は、鍵管理サーバ装置20eである。また、鍵管理サーバ装置20bが量子暗号通信路を介してビット列を共有している装置は鍵管理サーバ装置20fである。そのため、第3実施形態では、鍵管理サーバ装置20a及び20bの間では、ビット列を直接共有できない。
【0100】
そこで、第3実施形態では、鍵管理サーバ装置20aの制御信号処理部23が、ルータ10bがパケットの復号に使う鍵情報を、隣接する鍵管理サーバ装置20eと共有するビット列で保護(暗号化)して、鍵管理サーバ装置20eに送信する。なお、第3実施形態の鍵情報は、鍵識別情報及び鍵長だけでなく、復号鍵に使用される鍵値も含む。鍵管理サーバ装置20eの制御信号処理部23は、自身が隣接する鍵管理サーバ装置20fに同様の方法で、ルータ10bがパケットの復号に使う鍵情報を送信する。このように、ルータ10aにより転送されるパケットの復号に使用される鍵情報は、鍵管理サーバ装置20間のバケツリレー方式で、鍵管理サーバ装置20bまで運ばれる(ステップS4-1~ステップS4-3)。
【0101】
鍵管理サーバ装置20aの提供部25は、暗号鍵をルータ10aに提供する(ステップS5-1)。一方、鍵管理サーバ装置20bでは、復号鍵生成部26が、ルータ10bからの復号鍵の生成要求を待たずに、ステップS4-3の処理により通知された鍵情報に含まれる鍵値を使用して復号鍵を生成し、提供部25が、当該復号鍵をルータ10bに提供(プッシュ)する(ステップS5-2)。
【0102】
なお、ステップS1-1、ステップS1-2、ステップS2、ステップS3、ステップS6及びステップS7の説明は、第1実施形態の説明(図6参照)と同様なので省略する。
【0103】
なお、鍵管理サーバ装置20a及び20eでは、鍵配送処理部21により事前にビット列が共有されているため、このビット列の一部をルータ10bで使用される復号鍵の鍵値として切り出して使ってもよい。つまり、鍵管理サーバ装置20aは、ルータ10bで使用される復号鍵を新たに生成して、それを鍵管理サーバ装置20eと共有しているビット列で保護して鍵管理サーバ装置20eに送信してもよいし、ルータ10bで使用される復号鍵の鍵値として鍵管理サーバ装置20eと共有しているビット列の一部を使うよう、鍵管理サーバ装置20eに指示してもよい。
【0104】
また、鍵管理サーバ装置20a及び20bで共有される鍵識別情報及び鍵長については、鍵管理サーバ装置20e及び20によりバケツリレー方式で中継されずに、鍵管理サーバ装置20aの制御信号処理部23が、鍵管理サーバ装置20bに直接送信してもよい。なお、この際、鍵識別情報及び鍵長は暗号化されてもよいし、平文でもよい。
【0105】
なお、鍵管理サーバ装置20a及び20bの間に追加の鍵管理サーバ装置20が存在しない場合、つまり、図1の第1実施形態と同様の構成であっても、鍵管理サーバ装置20aはルータ10bで使用される復号鍵を、鍵管理サーバ装置20bと共有するビット列で保護(暗号化)して鍵管理サーバ装置20bに送信してもよい。
【0106】
以上、説明したように、第3実施形態の通信システム100-3では、鍵管理サーバ装置20aの鍵配送処理部21は、量子鍵配送によって、対向の鍵管理サーバ装置20eとビット列を共有する。鍵管理サーバ装置20aの制御信号処理部23は、共有されたビット列を使用して復号鍵を暗号化し、暗号化された復号鍵及び復号鍵を識別する鍵識別情報を含む制御信号を、対向の鍵管理サーバ装置20eに送信する。
【0107】
同様に、鍵管理サーバ装置20eの鍵配送処理部21は、量子鍵配送によって、対向の鍵管理サーバ装置20fとビット列を共有する。鍵管理サーバ装置20eの制御信号処理部23は、共有されたビット列を使用して復号鍵(鍵管理サーバ装置20aから受信した復号鍵)を暗号化し、暗号化された復号鍵及び復号鍵を識別する鍵識別情報を含む制御信号を、対向の鍵管理サーバ装置20fに送信する。
【0108】
同様に、鍵管理サーバ装置20fの鍵配送処理部21は、量子鍵配送によって、対向の鍵管理サーバ装置20bとビット列を共有する。鍵管理サーバ装置20fの制御信号処理部23は、共有されたビット列を使用して復号鍵(鍵管理サーバ装置20eから受信した復号鍵)を暗号化し、暗号化された復号鍵及び復号鍵を識別する鍵識別情報を含む制御信号を、対向の鍵管理サーバ装置20bに送信する。
【0109】
鍵管理サーバ装置20bの提供部25は、ルータ10bから復号鍵の生成要求を待たずに、鍵管理サーバ装置20fから制御信号を受信した時点で、復号鍵をルータ10bに提供する。
【0110】
一方、ルータ10bでは、パケット受信処理部12が、鍵識別情報により識別される復号鍵に対応する暗号鍵によって暗号化されたパケットを受信する。そして、復号処理部19が、鍵管理サーバ装置20bに復号鍵の生成要求を出さずに、鍵管理サーバ装置20bから提供された復号鍵を用いて、パケットを復号する。
【0111】
これにより、第3実施形態の通信システム100-3によれば、鍵管理サーバ装置20a及び20bの間でビット列を直接共有できない場合でも、第1実施形態と同様の効果が得られる。また、第3実施形態の通信システム100-3によれば、暗号化パケットを受信しなくても、当該暗号化パケットを復号する復号鍵を鍵管理サーバ装置20bから取得できる。
【0112】
(第4実施形態)
次に第4実施形態について説明する。第4実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0113】
第4実施形態では、広域IP網管理サーバ装置30が、ルータ10aと接続され、ルータ10bとは接続されない場合について説明する。
【0114】
[装置構成の例]
図10は第4実施形態の通信システム100-4の装置構成の例を示す図である。第4実施形態の通信システム100-4は、ルータ10a及び10b、鍵管理サーバ装置20a及び20b、広域IP網管理サーバ装置30、並びに、ネットワーク101~105を備える。第4実施形態では、第1実施形態の構成から、広域IP網管理サーバ装置30とルータ10bとの間のネットワーク106が削除されている。
【0115】
[パケットを復号するルータの機能構成の例]
図11は第4実施形態のパケットを復号するルータ10bの機能構成の例を示す図である。第4実施形態のルータ10bは、パケット受信処理部12、記憶制御部15、記憶部16、転送処理部17、復号鍵受信処理部18及び復号処理部19を備える。第4実施形態では、ルータ10bは受付部11を持たない。そして、第1実施形態とは異なり、復号処理部19は受信したパケットのヘッダ等から、当該パケットが暗号化されているか否かを判定し、暗号化されている場合は第1実施形態と同様に、復号鍵を得て復号処理を行う。ルータ10bのその他の動作は、第1実施形態と同様である。
【0116】
最後に、第1乃至第4実施形態のルータ10及び鍵管理サーバ装置20のハードウェア構成の例について説明する。
【0117】
[ハードウェア構成の例]
図12は第1乃至第4実施形態のルータ10のハードウェア構成の例を示す図である。ルータ10は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信IF(Interface)306を備える。
【0118】
制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信IF306は、バス310を介して接続されている。
【0119】
制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)及びメモリカード等である。
【0120】
表示装置304は、ルータ10の状態等を表示する。入力装置305はユーザーからの入力を受け付ける。通信IF306は、ネットワーク101~103、105~107及び、鍵管理サーバ装置20に接続するためのインターフェースである。なお、ルータ10は、表示装置304及び入力装置305を備えていなくてもよい。ルータ10が表示装置304及び入力装置305を備えていない場合は、例えば通信IF306を介して接続された外部端末の表示機能及び入力機能を利用してもよい。
【0121】
図13は第1乃至第4実施形態の鍵管理サーバ装置20のハードウェア構成の例を示す図である。第1乃至第4実施形態の鍵管理サーバ装置20は、制御装置401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405、量子通信IF406及び古典通信IF407を備える。
【0122】
制御装置401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405、量子通信IF406及び古典通信IF407は、バス410を介して接続されている。
【0123】
制御装置401は、補助記憶装置403から主記憶装置402に読み出されたプログラムを実行する。主記憶装置402は、ROM及びRAM等のメモリである。補助記憶装置403は、HDD及びメモリカード等である。
【0124】
表示装置404は、鍵管理サーバ装置20の状態等を表示する。入力装置405はユーザーからの入力を受け付ける。なお、鍵管理サーバ装置20は、表示装置404及び入力装置405を備えていなくてもよい。
【0125】
量子通信IF406は、量子暗号通信路(ネットワーク104)に接続するためのインターフェースである。古典通信IF407は、制御信号通信路及びルータ10に接続するためのインターフェースである。
【0126】
第1乃至第4実施形態のルータ10及び鍵管理サーバ装置20で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R、及び、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【0127】
また、第1乃至第4実施形態のルータ10及び鍵管理サーバ装置20で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【0128】
また、第1乃至第4実施形態のルータ10及び鍵管理サーバ装置20が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0129】
また、第1乃至第4実施形態のルータ10及び鍵管理サーバ装置20で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0130】
第1乃至第4実施形態のルータ10で実行されるプログラムは、第1乃至第4実施形態のルータ10の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。プログラムにより実現される機能は、制御装置301が補助記憶装置303等の記憶媒体からプログラムを読み出して実行することにより、主記憶装置302にロードされる。すなわちプログラムにより実現される機能は、主記憶装置302上に生成される。
【0131】
また、第1乃至第4実施形態の鍵管理サーバ装置20で実行されるプログラムは、第1及び第2実施形態の鍵管理サーバ装置20の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。プログラムにより実現される機能は、制御装置401が補助記憶装置403等の記憶媒体からプログラムを読み出して実行することにより、主記憶装置402にロードされる。すなわちプログラムにより実現される機能は、主記憶装置402上に生成される。
【0132】
なお、第1乃至第4実施形態のルータ10及び鍵管理サーバ装置20の機能の一部又は全部を、IC(Integrated Circuit)等のハードウェアにより実現してもよい。ICは、例えば専用の処理を実行するプロセッサである。
【0133】
また、複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
【0134】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0135】
例えば上述のルータ10は、L2レイヤでフレーム(パケット)の転送を行うスイッチでもよい。すなわち、上述の実施形態は、ルータ及びスイッチ、ゲートウェイ等を含む転送装置に適用できる。
【0136】
また例えば、パケットの暗号化および復号は、パケット全体に対して行うのではなく部分的に行ってもよい。好ましくは暗号化もしく復号の指定されたプロトコルのうち、最も上位のプロトコルの指定された条件以外の一部または全部の暗号化を行う。例えば、最も上位のプロトコルのデータ部分(ペイロード部分)を暗号化または復号するようにしてもよい。例えば,IPv4で転送され、UDPの宛先ポート番号が1234番のフローを対象に暗号化および復号を行う場合には、UDPヘッダを除くUDPのデータ部分(ペイロード部分)を暗号化および復号するようにしてもよい。パケット全体を暗号化すると転送で問題が生じたり、復号側で同じ条件で復号対象を指定したりすることが難しくなるが、データ部分のみを暗号化することでこれらの問題を解決することができる。
【0137】
また例えば、暗号化もしくは復号する部分は、広域IP網管理サーバ装置30から指定されてもよい。例えばフロー毎に暗号化・復号する条件とともに、パケット中の暗号化または復号を行う開始位置及び終了位置を含む暗号化対象部分(復号対象部分)を通知するようにしても良い。例えば、開始位置及び終了位置はパケットの先頭からのオフセットをバイト数(オクテット数)で通知してもよい。ルータ10は上記指示に基づきパケットの指定された部分の暗号化または復号を行う。また、暗号化対象部分(復号対象部分)は、フレームのヘッダやデータなどに埋め込んで伝達するようにしてもよい。さらに逆に、暗号化対象部分(復号対象部分)ではなく、暗号化対象外部分(復号対象外部分)を伝達するようにしてもよい。
【0138】
また例えば、ルータ10aの暗号化処理部13(ルータ10bの復号処理部19)は、暗号化(復号)によってデータが変わるため、イーサネットのチェックサムの再計算を行う。この際、IPv4、UDP、TCP、及び、その他プロトコルのチェックサムが変更になる場合には、計算しなおして付与するようにしてもよい。
【符号の説明】
【0139】
10 ルータ
11 受付部
12 パケット受信処理部
13 暗号化処理部
14 暗号鍵受信処理部
15 記憶制御部
16 記憶部
17 転送処理部
18 復号鍵受信処理部
19 復号処理部
20 鍵管理サーバ装置
21 鍵配送処理部
22 記憶部
23 制御信号処理部
24 暗号鍵生成部
25 提供部
26 復号鍵生成部
30 広域IP網管理サーバ装置
101~107 ネットワーク
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信IF
310 バス
401 制御装置
402 主記憶装置
403 補助記憶装置
404 表示装置
405 入力装置
406 量子通信IF
407 古典通信IF
410 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13