特許第5936618号(P5936618)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キネテイツク・リミテツドの特許一覧

<>
  • 特許5936618-量子鍵配送 図000004
  • 特許5936618-量子鍵配送 図000005
  • 特許5936618-量子鍵配送 図000006
  • 特許5936618-量子鍵配送 図000007
  • 特許5936618-量子鍵配送 図000008
  • 特許5936618-量子鍵配送 図000009
  • 特許5936618-量子鍵配送 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5936618
(24)【登録日】2016年5月20日
(45)【発行日】2016年6月22日
(54)【発明の名称】量子鍵配送
(51)【国際特許分類】
   H04L 9/12 20060101AFI20160609BHJP
【FI】
   H04L9/00 631
【請求項の数】6
【全頁数】32
(21)【出願番号】特願2013-541416(P2013-541416)
(86)(22)【出願日】2011年12月1日
(65)【公表番号】特表2013-544479(P2013-544479A)
(43)【公表日】2013年12月12日
(86)【国際出願番号】GB2011001670
(87)【国際公開番号】WO2012072983
(87)【国際公開日】20120607
【審査請求日】2014年11月27日
(31)【優先権主張番号】1020424.6
(32)【優先日】2010年12月2日
(33)【優先権主張国】GB
(73)【特許権者】
【識別番号】511247389
【氏名又は名称】キネテイツク・リミテツド
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】ローワンス,ブライアン・シンクレア
(72)【発明者】
【氏名】ヒツクス,リチヤード・ミドルトン
【審査官】 打出 義尚
(56)【参考文献】
【文献】 国際公開第2009/093036(WO,A1)
【文献】 特開2008−288665(JP,A)
【文献】 国際公開第2010/064003(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/12
(57)【特許請求の範囲】
【請求項1】
量子鍵配送の方法であって、量子交換ステップと、その後の鍵合意ステップとを備え、量子交換ステップでは、第1の量子ノードおよび第2の量子ノードが第1の量子リンク上で量子信号を交換し、第1の量子ノードが制御ノードと、制御ノードが量子交換ステップで交換された量子信号に関する情報を有するように通信し、制御ノードが鍵合意ステップで第1の量子ノードに取って代わり、方法は、量子信号の形で交換されたビットと、鍵合意ステップで使用された、または使用されることになるビット数との比に対応するビット損失係数を決定するステップと、第1の量子ノードと、第2の量子ノードと、制御ノードとのうちのいずれかを伴う通信において一定レベルの損失を維持するステップとをさらに備える、量子鍵配送の方法。
【請求項2】
ビット損失係数が所定のセキュリティ要件を満たすかどうかを判定し、所定の要件が満たされない場合、ビット損失係数を増大させること、鍵を確立する際に使用されるビットをハッシュすること、代わりのまたは追加のハッシング関数を使用してハッシングの際のビット低減を拡大すること、鍵が置換されるレートを増大させること、ネットワークを通る複数の経路を提供すること、異なる経路に沿って鍵を決定するためのランダムなストリングの一部を送信することのうち少なくとも1つにより、ネットワークのセキュリティを高めるステップをさらに備える、請求項1に記載の方法。
【請求項3】
ノード間の損失を増大させることにより、および/またはノード、もしくはネットワークの構成要素の効率を選択することにより、ビット損失係数が増大させられる、請求項2に記載の方法。
【請求項4】
鍵生成で使用される可能なビットの組合せ数が、ネットワークを使用する際に確立されることができる可能な鍵の数を超える場合、ビット損失係数が所定のセキュリティ要件を満たす、請求項2または3に記載の方法。
【請求項5】
量子鍵配送ネットワークであって、少なくとも1つの中間量子鍵配送機器を介して、エンドポイント量子鍵配送機器と直列に連結された制御量子鍵配送機器を備え、各量子鍵配送機器は、量子交換ステップで、隣接する量子鍵配送機器と量子信号を交換するように構成された少なくとも1つの量子送信機および/または量子受信機を有し、各中間量子鍵配送機器は、隣接する量子鍵配送機器と交換された量子信号に関する情報を制御量子鍵配送機器における通信ユニットと通信するための通信ユニットを備え、制御量子鍵配送機器は、鍵合意ステップで、量子鍵を各量子鍵配送機器と連続的に順に合意するように構成され、ネットワークは、少なくとも1つの量子交換ステップで量子信号の形で交換されたビットと、関連する鍵合意ステップで使用された、または使用されることになるビット数との比に対応するビット損失係数を決定するように構成されたセキュリティモニタをさらに備え、
ネットワークは、一定レベルの損失が量子鍵配送機器のいずれかを伴う通信において維持されるように適合される、量子鍵配送ネットワーク。
【請求項6】
ビット損失係数が所定のセキュリティ要件を満たすかどうかを判定し、所定の要件が満たされない場合、ビット損失係数を増大させること、鍵を確立する際に使用されるビットをハッシュすること、鍵が置換されるレートを増大させること、ネットワークを通る複数の経路を提供すること、異なる経路に沿って鍵を決定するためのランダムなストリングの一部を送信することのうち少なくとも1つにより、ネットワークのセキュリティを高めるようにセキュリティモニタが構成される、請求項5に記載のネットワーク。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子鍵配送のための装置、方法、信号、およびコンピュータ用プログラム、ならびにこれらを組み入れるシステムに関する。
【背景技術】
【0002】
さまざまな媒体上、特に通信ネットワークおよび/またはデータネットワーク上の通信を保護するために暗号化が一般に使用される。暗号化は、一般に何らかの秘密値を共有する当事者間の通信を保護することを望む当事者に基づく。この値は、通信を保護するために使用される暗号鍵を得るために使用されてもよい。暗号化が高度になるほど、鍵なしで復号することがより困難になる。現代のよく管理された暗号化方式を解読するには膨大な従来のコンピューティング資源を必要とすると一般に信じられている。しかしながら、異なる通信に対して同じ暗号鍵を繰り返し使用することで、扱う素材をより多く潜在的暗号解読者に与え、かつ暗号化に脆弱性を持ち込む可能性があることはよく知られている。したがって、暗号鍵をしばしば変更することが望ましい。
【0003】
鍵の知識があれば、盗聴者がすべての通信を復号することができるので、新しい鍵素材を安全に配送することが不可欠である。鍵配送はまた、さらに効率的かつ好都合であることが好ましいが、以前に使用された方法、たとえば信頼できる急使などにより新しい鍵を物理的に配送することは、多くの状況で費用がかかり実用的ではない。
【0004】
量子鍵配送(quantum key distribution、QKD)は、安全な鍵配送の可能性を提供する公知の技法である。QKDは、基本的な量子的性質に依存し、一般にアリス(Alice)およびボブ(Bob)呼ばれる2人の当事者が値を交換し、かつ通常イブ(Eve)と呼ばれる盗聴者が値に関してほとんど突き止めなかったことを知ることができるようにする。QKDにより、必要に応じて鍵素材がアリスおよびボブにより安全に得られることができるようになり、このことは、鍵配送の他の方法に対して大きな利点を提供する。
【0005】
QKDにはいくつかの公知のプロトコルが存在する。たとえば、BennetおよびBrassardが、C.H.BennetおよびG.Brassard、「Quantum cyptography:『Public key distribution and coin tossing』」、IEE Conf.Computers Systems Signal Processing、Bangalore、India、1984年で、BB84プロトコルとして知られるようになったQKDプロトコルについて説明した。BB84プロトコルは、適切に暗号化された一連の単一光子の送信(量子交換)に続き、任意の従来の通信媒体を介したオープンな議論(鍵合意段階)を使用して、アリスおよびボブが乱数の共有ストリングを得ることができるようにする。量子交換で単一光子が使用されるので、イブがこの交換に関する任意の情報を得ることができる唯一の方法が、アリスから送信された単一光子を傍受し、かつ情報を自分で測定することである。検出を逃れるために、イブは、自分が傍受した元の光子を複製しようとする光子をボブに送信しなければならない。符号化のランダムな選択、および単一光子の量子力学的性質のために、イブは、正しく符号化された光子をボブに渡すことを保証することができず、このことが統計誤差を引き起こし、この誤差は、アリスおよびボブの従来型の通信中にアリスおよびボブにより見つけ出される。
【0006】
当業者に理解されるように、量子鍵合意プロトコルの基礎として使用されてもよい任意の信号が量子信号である。たとえば、量子信号は、一連の適切に変調された単一光子を備えてもよい。当業者は、使用されてもよいさまざまな変調方式を、たとえば、限定されることなく、BB84プロトコルまたはB92プロトコル(Bennet、Charles H.、「Quantum cryptography using any two non−orthogonal states」、Physical Review Letters、Vol.68、No.21、1992年5月25日、3121〜3124ページで説明されている)または6状態プロトコルまたはこれらの変形のいずれかに基づく信号を認識しているであろう。変調は、たとえば位相、時間、周波数、または偏光の変調を備えてもよい。量子信号はまた、もつれ光子(entangled photon)を備えることができる。たとえば、もつれ光子源がもつれ光子対を発生させてもよく、これらの光子の一方が適切なリンクを介して送信されてもよい。したがって、量子信号の量子交換が、もつれ光子の転送を含んでもよい。もつれ光子対源が遠隔に配置され、かつ各対の一方の光子がアリスおよびボブに提供されることが可能である。連続変数などを使用するプロトコルおよび同種のものも同じく知られている。量子信号を構成するために使用されるビットが、一般にキュービットとして知られている。
【0007】
QKDは、盗聴から保護する、新しい鍵素材を配送する安全な手段を提供する。最初に説明されたようなBB84プロトコルは、いわゆる中間者攻撃に対して潜在的に脆弱である。この場合、通常マロリ(Mallory)と呼ばれる攻撃者が、アリスとボブの間で交換されるすべてのデータを傍受し停止させることができるように、自分自身を配置する。次いで、マロリはアリスと通信するが、アリスには自分がボブである振りをする。マロリはまた、ボブと通信するが、そうする際にアリスである振りをする。したがって、アリスおよびボブの各々は自分たちが互いに話していると思っているが、実際には、アリスおよびボブは両者ともマロリと話している。このシナリオで単純なQKDプロトコルが使用された場合、アリスは量子鍵を、すなわち、相互に合意したランダム光子ストリングを使用してQKDにより得られた鍵をマロリと(それがボブであると思って)確立する。ボブは、同様に量子鍵をマロリと確立する(マロリが、アリスと合意したストリングに基づきビットストリングを送信することができるので、この量子鍵は同一の鍵である場合がある)。アリスは、自分がボブと量子鍵を設定したと思って、ボブに向けられたメッセージをこの鍵で暗号化する。マロリは古典的チャネル上で送信されるこの通信を傍受またはコピーし、この通信を復号し、自分がメッセージから欲しいと思う任意の情報を得ることができる。ボブからアリスへの通信は、逆の順序で同一原理に従う。
【0008】
中間者攻撃を克服するためには、通信の当事者が、認証ステップに着手して、アリスが実際にはマロリではなくボブと(およびボブがアリスと)話していることを保証するのが普通である。認証は、通常、ボブおよびアリスにだけ知られている共有秘密、たとえばID鍵を明らかにする、または使用することを伴う。ボブと通信することを望むアリスは、ボブに連絡しようとして、量子鍵を設定する。そうする際に、アリスはボブのID鍵に基づく認証を要求する。マロリはこのことを知らず、したがって、うまくボブである振りをすることができない。同様に、アリスであると称するだれかと量子鍵を設定する要求を受信するボブは、アリスのID鍵に基づく認証を要求する。認証は、QKDを開始する前にアリスおよびボブが少なくとも1つのID鍵の知識を共有する必要があるが、この鍵は、システムの初期化時に一度供給されることができる。使用に際して、この場合、ID鍵は、認証されたQKDセッションから得られた量子鍵を使用して更新されることができる。
【0009】
次いで、要約すると、暗号鍵に関係する任意の情報が(一般に、イブとして、または能動的役割を演じ、かつメッセージまたは同種のものを置換する場合にはマロリとして知られる)第三者により傍受された場合、ユーザに警報を発するように設計されたやり方で、QKDにより、暗号鍵が(一般にアリスおよびボブとして知られる)2人の当事者間で合意されることが可能になる。アリスとボブの間で送信される情報は、標準的暗号化技法に従って鍵を使用して暗号化されることができる。暗号化された情報に対する標準的攻撃に暗号化は影響を受けないが、QKDはネットワーク上で動作することができるので、鍵が頻繁に置換されることができ、したがって、いかなるうまくいった攻撃でも、アリスとボブの間の通信へのアクセスが限定されるようになる。
【0010】
上述のようなQKDは、量子チャネルの役割を果たす、アリスからボブへの途切れない光路を必要とする。この光路は、自由空間中であっても、光ファイバケーブルなどの光導波路を通してであってもよい。いずれの場合も、特に単一光子を使用するために、距離が制限される。さらに、多数の接続されたユーザを有するネットワークでは、各ユーザが互いのユーザとの直接光リンクを有することは実用的ではない。
【0011】
この制限を克服する1つの方法が、図1に示されるようなノードからなるネットワークを有することである。アリスからボブに通信するために、ノードのチェーンが形成され、各ノードは、QKDが適用されることができる光リンクにより次のノードに接続される。この例では(逆が真であり得るが)、アリスはチェーン内の最初のノードであり、ボブは最後のノードである。一例では、この場合、各ノードが、自分の隣のノードとQKDにより量子鍵を確立することができる。次いで、1対のノードにより確立された鍵が、1対のノード間を通過するデータトラフィックを暗号化するために使用される。この方法では、チェーンに沿って通過するメッセージがノード間で暗号化されるが、異なる鍵が各リンク上で使用される。これにより、任意のリンク上で盗聴しようとするイブに対する保護が提供される。しかしながら、ノード内部ではデータが平文の形である、すなわち暗号化されておらず、したがって、チェーン内のノードである振りをするマロリに対して保護することが必要であることが明らかであろう。これには、チェーン内の各ノードが隣接ノードを認証する必要がある。
【0012】
このような構成は可能ではあるが、アリスおよびボブがノードを信頼して、ネットワークを通る正しい経路を確立し、かつ正しく認証することが実際に必要である。また、これには、各ノードが、自分自身のID鍵、およびチェーン内の前のノードおよび次のノードのID鍵を知る必要がある。
【0013】
分散量子鍵配送(Distributed Quantum Key Distribution、DQKD)が、アリスからボブへの、認証された段階的経路を確立する技法について説明している。
【0014】
DQKDネットワークのための技法が、国際公開第2009/093037号、国際公開第2009/093036号、国際公開第2009/093034号、国際公開第2009/141586号、国際公開第2009/141587号、国際公開第2010/049673号、国際公開第2010/064004号(PCT/GB2009/002802)、国際公開第2010/064003号(PCT/GB2009/002801)、および国際公開第2001/039503号(PCT/GB2010/001811)で説明され、これらすべてが参照により本明細書に組み入れられる。
【0015】
国際公開第2009/093036号で説明されているように、1つのこのような方法では、光ネットワークの第1のノードおよび宛先ノードが、自分たちが少なくとも1つの中間ノードを含むネットワーク経路によりリンクされ、したがって、第1のノードと宛先ノードの間に直接の光リンクを有しないことがあるときでさえ、量子鍵配送の原理を使用して量子鍵を直接合意する。同じくソースノードまたは制御ノードと呼ばれることがある経路内の第1のノードは、鍵が宛先ノードと合意されるまで、今度は経路内の各ノードと別個の量子鍵を確立する。量子鍵が宛先ノードと直接合意されると、量子鍵は、ソースノードと宛先ノードの間の通信のエンドツーエンド暗号化用に使用されることができる。本明細書で使用されるように、「ノード」という用語は、量子鍵配送に適した量子信号を送信および/または受信することができる少なくとも1つの装置を有する、光ネットワーク内の場所を意味することに留意されたい。ノードが、ネットワークのエンドポイントであっても、ネットワークの中間部分であってもよい。
【0016】
この方法により、機関(たとえばネットワーク管理機関または安全基準機関)により必要とされることができる、鍵管理センタによる「鍵預託(Key Escrow)」が、ネットワークを介して通信する当事者により使用されるトラフィック鍵にアクセスすることができるようになるという利点がこの方法にはある。
【0017】
国際公開第2010/064004号は、別個の鍵管理センタ(KMC)により管理されるが、各KMCに共通のいくつかのノードとの重複が存在する2つのサブネットワーク間をどのようにノードが接続するかについて説明している。この場合、2つのKMCが協働する場合、または一方が他方に対してスレーブである場合、互いに直接接続されないノードが相互に認証されることができる。
【0018】
このようなDQKD法は、経路に沿った中間ノードによるどんな誤ったルーティングでも防ぐことを目的とする認証された経路を生み出す。トラフィック負荷に応じて、ネットワークを通る各信号に対して最適経路を識別し、かつネットワーク管理システムにより設定された優先順位に従って各接続をスケジュールするルータを含む効率的なネットワークが開発されることができる。認証鍵およびトラフィック鍵を含む完全な1組の鍵が、1つまたは複数の集中KMCにより生成され、管理されてもよい。
【0019】
このようなQKDシステムでは、ノードは、物理的に安全であることが、すなわち偶発的なデータ漏洩に対して安全であり、さらに安全な場所にある、および/または改ざんに対して保護されていることが好ましい。いずれかの中間ノードが物理的に損なわれた場合、メッセージを送信し、かつ自分が選択した鍵を合意する(または少なくとも合意された鍵に関する情報を得る)ことができる攻撃者により中間ノードのIDが仮定されることができる。したがって、ノードは、覆い隠され、改ざんが明白な安全な箱の中に密封される、または他の方法で物理的に安全にされる傾向がある。公知の技法を使用して、ノード自体にアクセスするうまくいったいかなる試みでも、警報発生をもたらすことがあり、通信システムが一般に停止することがある。他のシステムでは、ノードが状態報告を送信してもよく、このような報告の内容、またはこのような報告が存在しないことが警報を構成してもよい。好ましいシステムでは、ノードは、あばかれた場合、自分にとって既知の鍵をすべて回復できないほどに削除するように構成される。
【0020】
システムが分散QKDシステムである、またはいくつかの中継ノードを備えるとき、各ノードは、好ましくは、ネットワークが全体として安全になるように、ノードの物理的セキュリティが損なわれたことを示すことができる信号を送信することができるべきである。信号は、起こり得るセキュリティ侵害が少なくとも存在するという指示であってもよい、または状態が満足すべきものであることを示す信号であってもよい。ノードが損なわれた可能性があることを示すこのような信号がなければ、損なわれたノードを通る任意の経路に沿ったセキュリティが破られる場合があり、この侵害は、たとえばノードの物理的点検が行われるまで続く可能性がある。
【0021】
容易に理解されるように、ネットワーク内で必要な保護のレベルは、このネットワークに含まれる情報の価値に、したがって、情報が潜在的暗号解読者にどれだけ多くのインセンティブを提供するかに依存する。また、ネットワークに必要なセキュリティレベルを評価する際に、データ自体の性質について考慮されてもよい。たとえば、データの価値が一時的(たとえば数日)である場合、コードが数日の間に破られる可能性が低いことが十分な場合がある。しかしながら、情報の価値が持続される場合、より多くの、またはより高度な暗号セキュリティ機構(たとえば暗号化アルゴリズム、プライバシ増幅などのハッシング関数、ノードの改善された物理的および/または電気機械的セキュリティなど)、または同種のものを必要とするネットワークが必要とされる場合がある。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】国際公開第2009/093037号
【特許文献2】国際公開第2009/093036号
【特許文献3】国際公開第2009/093034号
【特許文献4】国際公開第2009/141586号
【特許文献5】国際公開第2009/141587号
【特許文献6】国際公開第2010/049673号
【特許文献7】国際公開第2010/064004号(PCT/GB2009/002802)
【特許文献8】国際公開第2010/064003号(PCT/GB2009/002801)
【特許文献9】国際公開第2001/039503号(PCT/GB2010/001811)
【非特許文献】
【0023】
【非特許文献1】C.H.BennetおよびG.Brassard、「Quantum cyptography:『Public key distribution and coin tossing』」、IEE Conf.Computers Systems Signal Processing、Bangalore、India、1984年
【非特許文献2】Bennet、Charles H.、「Quantum cryptography using any two non−orthogonal states」、Physical Review Letters、Vol.68、No.21、1992年5月25日、3121〜3124ページ
【発明の概要】
【発明が解決しようとする課題】
【0024】
本発明は、安全な量子鍵配送のための改善された1つまたは複数の方法、および装置を提供しようとする。
【課題を解決するための手段】
【0025】
本発明の第1の態様によれば、量子鍵配送の方法であって、量子交換ステップと、その後の鍵合意ステップとを備え、量子交換ステップでは、第1の量子ノードおよび第2の量子ノードがこれらのノード間の第1の量子リンク上で量子信号を交換し、第1の量子ノードが制御ノードと、制御ノードが量子交換ステップで交換された量子信号に関する情報を有するように通信し、制御ノードがその後の鍵合意ステップで第1の量子ノードに取って代わり、方法は、量子信号の形で交換されたビットと、鍵合意ステップで使用された(または使用されることを意図された)ビット数との比に対応するビット損失係数を決定するステップをさらに備える、量子鍵配送の方法が提供される。
【0026】
方法は、制御ノードと、直列に連結された複数の量子ノードとの間で量子鍵を確立するステップを備える。このような例では、量子ノードの各々が(最初のノードおよび最後のノードを除く)、エンドポイントノードに到達するまで、第1の量子ノードの役割を、次いで今度は2番目の量子ノードの役割を果たす。エンドポイントノードは、鍵を制御ノードと直接合意してもよく、このエンドポイントと制御ノードの間の通信が、この鍵を使用して保護されてもよい。当業者により容易に理解されるように、「直列に連結された」という用語は、静的リンクまたは一時的リンクを指してもよい、すなわち、ネットワークは、固定されている、可変である、臨時的に形成された、または同種のものであってもよい。
【0027】
以下でより詳細に説明されるように、ネットワーク内に損失が存在するということは、盗聴者が最初の量子ノードへのアクセスを制限されていない場合でさえ、送信されたビットの検討または解析から、外側のエンティティまたは盗聴者が、どのビットが受信されたかを直接決定することが不可能であることを意味する。量子信号が一方のノードからもう一方のノードまで渡されるときのデータの任意の損失に加えて、受信機ノード内部に、ならびに任意のデコイ(Decoy)状態パルス、ふるい分け、誤り訂正、およびプライバシ増幅の分離の際に、損失が見られる。これらの損失のすべてがビット損失係数に寄与する可能性がある。
【0028】
当業者により理解されるように、ノードを支配している攻撃者が、送信されるビットのすべてが次のノードで受信されることを高いレベルの確実性で保証することができることがある。たとえば、量子信号が所望の量までパルス当たりの光子の平均数を低減するように構成された減衰器を介してレーザにより送信されることがあるということを攻撃者が利用することができる。したがって、攻撃者が送信ノードにレーザを、および受信ノードに減衰器を提供する場合がある。介在する媒体(たとえば光ファイバまたは自由空間)上で送信される高エネルギーパルスが、宛先に到達する確率が非常に高い。この場合、減衰器は、パルスのエネルギーを減衰させるように作動する。このようなシステムの下では、送信の際のビット損失係数への寄与は無視でき、したがって、いくつかの実施形態では、ビット損失係数は、大部分は受信ノード内部の損失で構成される。
【0029】
有利には、方法は、ビット損失係数が所定のセキュリティ要件を満たすかどうかを判定するステップをさらに備える。方法は、所定の要件が満たされない場合、ビット損失係数を増大させること、鍵を確立する際に使用されるビットをハッシュすること、鍵が置換されるレートを増すこと、ネットワークを通る複数の経路を提供すること、異なる経路に沿って量子信号の一部を送信すること、または同種のことのうち少なくとも1つによりネットワークのセキュリティを高めるステップをさらに備えてもよい。したがって、以下でより詳細に説明されるように、ビット損失係数が、量子信号の形で交換されたビット数、および受信されかつ鍵生成のために利用可能なビット数(すなわち、鍵合意で使用されるべきビット数)を使用して決定されてもよい。いくつかの例では、方法は、所定のセキュリティ要件が満たされた場合に鍵合意のみ続ける。これにより、ネットワークが、使用する際に、最低限の所定のセキュリティ要件を満たすことが保証される。このような方法では、ネットワーク内部の損失を直接増大させること(たとえば、量子ノード内部に追加の光インタフェースを含むこと)、プライバシ増幅が増大させられることができるようにより長いビットストリームを備える量子信号を送信すること、損失率が比較的高くなるようにノードまたはノードの構成要素の効率を選択すること、または同種のことにより、ネットワークのセキュリティが高められてもよい。このような方法は、ネットワーク内の任意のQKD機器で、またはネットワーク内の2つ以上のQKD機器で実現されてもよい。
【0030】
あるいは、ビット損失係数が所定のレベルを超えた場合、ネットワーク内の1つまたは複数のセキュリティ手段(たとえば、プライバシ増幅、ハッシング、鍵置換のレート、代替ネットワーク経路など)が低減される、または取り除かれてもよい。これにより、ネットワークのセキュリティを過度に損なうことなくネットワークセキュリティが簡素化されることがある。
【0031】
したがって、送信されたビットストリングに対して、この送信されたストリングのサブ部分(本明細書でサブストリングと呼ばれる)だけが受信され、受信機内部で正しく測定され、したがって、鍵生成のための素材として「利用可能」であることが理解されよう。さらに、サブストリング内の平均ビット数が、ビット損失係数により、送信されたビットストリーム内のビット数と関係がある。また、サブストリングが、送信されたビットストリームから順序正しく取られたビットから構成されるという制限付きで、サブストリングは、送信されたビットの任意の組合せから構成されてもよいことが理解されよう。または、他の表現をすれば、サブストリングは、送信されたストリングのランダムな選択になる。送信されたビットストリームが0001であり、かつ2ビットが受信され、かつ正しく測定される簡単な例では、ビットは、00または01であってもよい。しかしながら、10は可能なサブストリングではない。
【0032】
一実施形態では、鍵生成で使用される可能なサブストリングの数(すなわち、送信されたビットストリング「から構成される」ことができる、受信されたビットの異なる組合せの数)が、ネットワークを使用する際に確立されてもよい可能な鍵の数(たとえば、128ビット鍵が使用される場合、2128であってもよい)を超える場合、ビット損失係数は所定のセキュリティ要件を満たす。
【0033】
これは、ネットワークのセキュリティが、少なくとも、選択された暗号化により設定されるセキュリティであることを、すなわち、ネットワークの設計自体がセキュリティリスク増大を生じさせないことを意味するので、有利である。
【0034】
分散QKDシステムを攻撃する際に、得られる任意の情報が、エンドポイントノードと制御ノードの間で確立される最終的な鍵を決定する際に最も有用であるように、直列に連結されたノードのチェーンのエンドポイントにできるだけ近接したノードを攻撃者が攻撃しようとする可能性が高いことが理解されよう。中間サブネットワークからのエラーメッセージが、制御ノードなどの制御機器に適切に送信されない場合があるリスクが存在する例では、少なくとも、エンドポイントノードに隣接する中間機器が、信頼できるサブネットワーク内に、すなわちエラーメッセージがその意図された宛先に到達する、より高い確度が存在するネットワーク内に提供されるように、ネットワークが構成されてもよい。
【0035】
他の態様によれば、本発明は、少なくとも1つの中間QKD機器を介してエンドポイントQKD機器と直列に連結された制御QKD機器を備える量子鍵配送ネットワークであって、各QKD機器は、量子鍵交換ステップで、隣接するQKD機器と量子信号を交換するように構成された少なくとも1つの量子送信機および/または量子受信機を有し、各中間QKD機器は、通信ユニットを備える隣接するQKD機器と制御QKD機器で交換される量子信号に関する情報を伝達するための通信ユニットを備え、制御QKD機器は、鍵合意ステップで、量子鍵を各QKD機器と連続的に順に合意するように構成され、ネットワークは、少なくとも1つの量子交換ステップで量子信号の形で交換されたビットと、関連する鍵合意ステップで使用された(または使用されることを意図された)ビット数との比に対応するビット損失係数を決定するように構成されたセキュリティモニタをさらに備える量子鍵配送ネットワークを備える。
【0036】
セキュリティモニタは、QKD処理をモニタするように構成された装置(すなわち、標準的なBB84手順の一部として誤り率を評価する装置)と共に物理的に配置されてもよい。したがって、この装置は1つまたは各QKD機器の処理装置の一部を形成してもよい。一実施形態では、このようなセキュリティモニタが、制御QKD機器だけに提供されてもよい。
【0037】
いくつかの実施形態では、少なくとも2つの中間QKD機器が存在してもよい。
【0038】
通信ユニットは、暗号ユニット(crypto−unit)であってもよい。暗号ユニットという用語は、本明細書で使用されるように、通信を暗号化し、かつ暗号化された通信を任意の通常の手段を介して送信するための、および/または暗号化された通信を受信し、かつ暗号鍵を使用して、暗号化された通信を復号するための機器を意味する。
【0039】
当業者により容易に理解されるように、「直列に連結された」という用語は、静的リンクまたは一時的リンクを指してもよい、すなわち、ネットワークは、固定されている、可変である、臨時的に形成された、または同種のものであってもよい。
【0040】
有利には、セキュリティモニタは、ビット損失係数が所定のセキュリティ要件を満たすかどうかを判定するように構成されてもよい。このような実施形態では、所定の要件が満たされない場合、セキュリティモニタは、ビット損失係数を増大させること、鍵を確立する際に使用されるビットをハッシュすること、鍵が置換されるレートを増すこと、ネットワークを通る複数の経路を提供すること、異なる経路に沿って量子信号の一部を送信すること、または同種のことのうち少なくとも1つによりネットワークのセキュリティを高めるように構成されてもよい。
【0041】
あるいは、ビット損失係数が所定のレベルを超えた場合、ネットワーク内の1つまたは複数のセキュリティ手段(たとえば、プライバシ増幅、ハッシング、鍵置換のレート、代替ネットワーク経路など)が低減される、または取り除かれてもよい。これにより、ネットワークのセキュリティを過度に損なうことなくネットワークセキュリティが簡素化されることがある。
【0042】
これにより、ネットワークが、使用する際に、最低限の所定のセキュリティ要件を満たすことが保証される。このようなネットワークでは、ネットワークのセキュリティは、QKD機器間の損失を直接増大させること(たとえば、通信用のより長いまたはより損失の大きいファイバでスイッチングすること)、より長いビットストリームを備える量子信号を送信しプライバシ増幅を増すこと、ノードの効率が低減されない限りおよびノードの効率が低減されるまでネットワークからのノード(またはノードの構成要素)を拒絶すること、または同種のことにより高められる場合がある。このような損失は、ネットワーク内の任意のQKD機器で、またはネットワーク内の2つ以上のQKD機器で実現されてもよい。また、このようなセキュリティ増強は、ネットワークがデータを移送する間に(すなわち、ネットワークは、ビット損失を増大させるために、および/または他のセキュリティ手段を実現するために「オンザフライで」更新されてもよい)、またはネットワークの確立中に、もしくはネットワークの確立前に実行されてもよいことが理解されよう。
【0043】
一態様では、本発明は、量子信号を提供するように構成されたビットストリームをモニタするステップと、ビットストリームのビット分布を解析して、ビットストリームから利用可能な鍵情報が所定のしきいレベルを超えているかどうかを判定するステップとを備える、量子鍵を確立する方法を備える。
【0044】
本明細書で使用されるように、「鍵情報」という用語は、潜在的攻撃者が所定の確度で鍵中の少なくとも1ビットの値および位置を識別することができるようにする、潜在的攻撃者に利用可能な情報を指す。
【0045】
鍵情報により、量子信号に基づき生成された鍵の潜在的弱点が識別されることができるようになるので、鍵情報は、QKDシステムを安全にする際に有利である。潜在的攻撃者が任意のこのような鍵情報を使用して、たとえば、鍵情報から生成された鍵に対する力ずくの攻撃を組織化することができる。
【0046】
方法は、たとえば上述のような分散QKDシステムにおける方法であってもよい。
【0047】
方法は、所定のしきいレベルを超えた場合、量子信号をモニタすることにより得られることができる情報を低減するようにビットストリームを調整するステップを備えてもよい。これにより、量子信号の送信の結果として合意された鍵のセキュリティが改善される。
【0048】
一例では、鍵情報がビットストリームから利用可能であるかどうかを判定するためにビットストリームを解析するステップは、鍵生成で使用される(または使用されることになる)繰り返されるビット数をカウントするステップを、すなわち一貫した論理1または0のストリング長をカウントするステップを備える。
【0049】
当業者により理解されるように、ビットが、受信される順序で利用されなくてもよい。たとえば、ビットが逆順で使用される、または偶数ビットことに、次いで奇数ビットごとに使用される、または任意の他の方式で使用されることをプロトコルが必要としてもよい。しかしながら、このような方式は一般に公になっている(または発見されることができる)ので、偶然に、送信されたストリングが一連の論理1(または逆に論理0のストリング)となり、これらのストリングが鍵生成で使用される場合、鍵生成で使用された少なくとも1つのビットの値を、攻撃者が高い確度で突き止めるまたは推測することが可能な場合がある。したがって、解析されるストリングは、使用されることになるストリングである(その結果、たとえば、奇数ビットが、受信された順序で使用されるシステムでは、ビット1、3、5、7などが、奇数ビットから利用可能な鍵情報が所定のしきいレベルを超えるかどうかを判定するために解析される)。
【0050】
このような例では、所定のしきいレベルが、シーケンス中の同一値の所定のビット数を備えてもよい。1列に並んだ一貫したビットの許容可能な数は、システム内の損失(送信されるビットのうちより少ない割合が使用されるので、損失がより高い場合、数はより大きくてもよい)、ビットストリング内のシーケンスの位置(詳細にはストリングの最初の部分にある一貫したシーケンスが、攻撃者がそれによってどのビットが鍵生成で最初に受信されるかを高い確度で判定することができるので、攻撃者にとって有用であることがわかる)、許容可能なレベルのセキュリティリスク(たとえば、128ビット鍵システムで、攻撃者が6または7ビットの残りを突き止めることは許容可能である場合があり、残りの力ずくの攻撃が、時間および/または資源に関して「より容易」であるが、送信されているデータに対して十分なセキュリティを与える場合がある)、または同種のことに依存してもよい。
【0051】
このような例では、方法は、同一値の1列に並んだ所定のビット数が生成される場合(たとえば、擬似乱数発生器または乱数発生器による)、ビットを他の値のビットと置換するステップを含んでもよい(たとえば、1列に並んだnビットの値0が生成された場合、n番目のビットが値1のビットと置換されることができる)。
【0052】
他の例では、所定のしきい値が、送信されたビットのすべてまたは一部を備えるシーケンス中のビットの割合を判定することを備えてもよい。このような実施形態では、ビットストリームが、ビットの1つまたは複数を反対の値のビットと置換するように(「調整されて」)操作され続けてもよい。
【0053】
たとえば、送信される最初の100ビット中、ビットの80%が論理0である場合、受信される最初のビットが0であることが、比較的高い確率で予測されることができる。この場合も、ビットストリーム中の所与の値の許容可能な不均衡な表現のレベルが、システム内の損失、ビットストリーム内部のビットの不均衡な表現を有するシーケンスの位置、許容可能なセキュリティレベル、または同種のものに依存してもよい。
【0054】
代わりに、または追加で、所定のしきいレベルを超えた場合、鍵生成処理が放棄され、かつ再始動されてもよい。
【0055】
一実施形態では、方法は、送信されるビットが、鍵を合意する機器間で共有される秘密として使用されるべき順序を提供するステップを備えてもよい。たとえば、機器が互いに認証することができるようになるように、機器間で共有されるID鍵(または他の共有値)が、擬似乱数発生器(PRNG)でシード(seed)として使用されてもよい。送信されるビットが使用される順序を制御するために、PRNGからの出力が使用されることができる。擬似乱数発生器にシードを与えるために使用される値が共有された値ではない場合、BB84処理または同種のものにより生成される鍵が同一ではなく、かつこの鍵を使用して暗号化される任意の情報がこの情報の暗号化により保護されるので、PRNGにより制御されるこの順序づけが認証の代わりに使用されることができる。さらに、「復号された」情報が意味をなさないので、「復号された」情報と、期待される情報との相違が即座に明らかになる。実際には、シーケンスが依然として秘密のままであることが許容可能な確度で判定されることができる場合、ビットが使用される順序を変えることにより、送信されたビットストリームから得られることができる鍵情報が制限されていることを保証する際に、ビットストリームをモニタすることに対する代替手段が提供されてもよい。
【0056】
したがって、一態様では、本発明は、量子交換ステップで複数のビットを備える量子信号を交換するように構成された少なくとも2つの量子機器を備えるQKDシステムを備え、量子機器のうち少なくとも1つが、鍵合意ステップで第1の鍵合意機器の役割を果たし、かつ第2の鍵合意機器と鍵を合意するように構成され、各鍵合意機器が、どのビットが鍵合意のために利用可能であるかを(たとえば、鍵合意機器間の通信により)判定し、かつ鍵合意ステップでビットが使用される順序をさらに判定するように構成された鍵判定ユニットに結合される。
【0057】
「鍵合意機器」という用語は、公知のQKD技法に従って量子信号に基づき鍵合意に関与する任意の機器を指す。第2の鍵合意機器は、量子信号を交換した量子機器の他方の構成要素を備えてもよい、または量子機器であってもなくてもよい(すなわち、量子信号を送信または受信することができる)他の機器、たとえば制御機器であってもよい(または他の機器の構成要素を備えてもよい)。
【0058】
鍵合意では、ビットが所定のシーケンスまたは順序で使用されることを当業者は理解されよう。ビットが受信されない、または(鍵合意で使用される通常の古典的通信に続き両方のノードにより識別されるような)正しい基底で測定されない場合、シーケンス中の次のビットが使用される。したがって、5ビットのストリングが順序3、2、5、4、1で使用されるべきであることが確立される場合があるが、ビット1が受信されず、ビット5が受信され測定されたが、符号化された基底で測定されなかった(しかし、他すべてのビットがうまく受信され、符号化された基底で測定された)場合、鍵生成のために使用されるビットのシーケンスは3、2、4である。当然のことながら、量子鍵合意は、一般に、単に原理の例示として提供された、上記の5ビットシーケンスよりもはるかに大きな長さのストリングで行われる。
【0059】
公知のQKDシステムでは、ビットが使用される順序があらかじめ決定され、不変である。多くの場合、順序が一般のプロトコルの一部を備える。本発明のこの態様によれば、ビットが使用される順序は鍵判定ユニットにより判定される(鍵判定ユニットは1つの、複数の、もしくは各鍵合意機器と一緒に置かれる、または遠隔であるが鍵合意機器に接続され、2つ以上の鍵合意機器と結合される)。これにより、順序が鍵合意機器間の共有秘密となることが可能になり、したがって、セキュリティに寄与する。偶然に明らかになるビットストリームを送信するリスクが取り除かれる、または低減されるだけでなく(順序が知られていない場合、どのビットが明らかになるかを潜在的攻撃者が知らないため)、好ましい実施形態では、シーケンスが知られるようになる場合、シーケンスが有用である時間が制限されるように、順序が随時変更されてもよい。さらに、順序が共有秘密であるとき、順序は鍵合意機器間の追加の検証として使用されることができる、または実際には、上記で概説されたように、他の認証方法を置換することができる。
【0060】
いくつかの実施形態では、順序は各鍵合意の前に決定される。
【0061】
好ましい一実施形態では、各鍵合意機器に関連する1つまたは複数の鍵判定ユニットが、擬似乱数発生器(PRNG)を備える。各鍵合意機器が、関連するPRNGを有してもよく、この場合、PRNGは同等である。
【0062】
好ましい実施形態では、鍵合意機器が共有値を記憶するように構成され、共有値は1つまたは複数の擬似乱数発生器のためのシードとして使用される。共有値はID鍵を備えてもよい。共有値は、ID鍵、セッション鍵、トラフィック鍵、または同種のものを更新するために、公知のQKD技法により一般的なように配送されてもよい。受信されるビットを使用するための新しい順序が、量子交換が行われるたびに、またはそれほど頻繁ではなく決定されてもよい。
【0063】
本発明の他の態様によれば、いくつかのビットを備える量子信号が少なくとも2つの量子機器間で交換される量子交換ステップと、少なくとも2つの鍵合意機器に知られている値を有する量子信号のビットの少なくとも一部が両方の機器に知られる鍵を決定するために使用される鍵合意ステップとを備える量子鍵配送の方法が提供され、方法は、鍵合意ステップでビットが使用される順序を決定するステップをさらに備える。
【0064】
いくつかの実施形態では、順序は各鍵合意の前に決定される。順序は、量子信号の形で交換される情報に基づき決定されてもよい。いくつかの実施形態では、量子信号は鍵を確立するときに同一の2つの機器間で交換されるが(すなわち、鍵合意機器は量子機器である)、これに該当する必要はない。量子信号は、たとえば、2つの量子機器の間で交換されてもよく、鍵がこれらの量子機器のうちの一方と別個の制御機器(これ自体量子機器であってもなくてもよい)の間で合意されてもよい。
【0065】
好ましい一実施形態では、順序は、少なくとも1つの擬似乱数発生器(PRNG)により(たとえば、PRNGの出力が、たとえばすでに確立された鍵を使用するなどして、暗号化され、かつ一方の鍵合意機器からもう一方に送信されてもよい、または暗号化され、かつ鍵合意機器の一方の機器から両方に送信されてもよい)、およびより好ましくは、鍵合意機器とそれぞれ結合された、関連する同等のPRNGにより決定される。PRNGは、ID鍵を備えてもよい共有値でシードを与えられてもよい。共有値は、ID鍵、セッション鍵、トラフィック鍵、または同種のものを更新するために、公知のQKD技法により一般的なように配送されてもよい。
【0066】
鍵合意ステップでビットが使用される順序を決定するステップは、量子交換が行われるたびに、またはそれほど頻繁ではなく行われてもよい。
【0067】
一態様では、本発明は、量子送信機ユニットを備え、量子送信機ユニットは、ビットストリングを生成するように構成された擬似乱数発生器(PRNG)と、量子通信媒体上で送信するためのビットストリームでキュービットを符号化するように構成された量子エンコーダとを備え、量子送信機ユニットは、PRNGの出力をモニタし、かつビットストリームの解析により得られることができる鍵情報を決定するように構成されたビットストリーム解析ユニットをさらに備える。
【0068】
一実施形態では、量子送信機ユニットは、PRNGのためのシードを受信するように構成された通信ユニットを備える。このシードは、鍵管理センタまたは他の制御ユニットから送信されてもよく、ビットのストリングを生成するためにPRNGにより使用されてもよい。
【0069】
ビットストリーム解析ユニットは、利用可能な鍵情報が所定のレベルを超える場合、ビットストリーム調整ユニットを制御して、1つまたは複数のビットの値を変更することによりビットストリームを調整するように構成されてもよい。他の実施形態では、ビットストリーム解析ユニットが、送信を終了するように構成されてもよく、通信ユニットが新しいシードを要求してもよい。
【0070】
本発明の他の態様によれば、量子鍵配送システムで使用するための、ビットストリーム解析ユニットを備える擬似乱数発生器が提供される。ビットストリーム解析ユニットは、上記のビットストリーム解析ユニットに関して説明された特徴のいずれかを有してもよい。
【0071】
本発明はまた、他の追加の装置と一緒に本発明を具体化する装置の1つまたは複数の実施例を備える、通信のためのシステムを提供する。
【0072】
本発明はまた、説明された装置が動作する、装置のあらゆる機能を実行するめの方法ステップを含む方法を対象にする。
【0073】
本発明はまた、機械可読な形で、動作時に、装置および/または方法のあらゆる機能を実行するように構成されたコンピュータソフトウェアを提供する。
【0074】
本発明はまた、本発明のその他の態様により使用される信号を対象にする。
【0075】
好ましい特徴が、当業者に明らかであるように、必要に応じて組み合わせられてもよく、本発明の態様のいずれかと組み合わせられてもよい。
【0076】
本発明がどのように実施されることができるかを示すために、次に、本発明の実施形態が、単なる例として、添付図面を参照して以下で説明される。
【図面の簡単な説明】
【0077】
図1】分散QKDネットワークの一例を示す。
図2】ノード間の相互認証を概略的に示す。
図3】いくつかのエンクレーブ(enclave)を備えるネットワークの一例を示す。
図4】いくつかのエンクレーブを備えるネットワークの他の例を示す。
図5】ビットストリーム解析の方法におけるステップの流れ図を示す。
図6図5の方法で使用するための装置の一例を示す。
図7】鍵を生成する際にビットを使用するための順序を決定するように構成された装置の一例を示す。
【発明を実施するための形態】
【0078】
本発明のいくつかの実施形態が、分散QKDまたはシリアルQKDのモデルを利用して、下流のセキュリティを改善する。従来のQKDでは、データが隣接ノード間でホップする。ノードへのアクセス権が得られることができる場合、ネットワークを通過する情報のすべてを理解し、したがってネットワークのセキュリティを破ることが可能である。
【0079】
公知のQKDシステムでは、物理的セキュリティに依存して、ノードへのアクセス権が得られることができないことを保証する、またはノードの物理的セキュリティが損なわれた場合、セキュリティが損なわれたことを示すエラーメッセージが生成される(またはいくつかのシステムでは、ノードが一般に自分のセキュリティが損なわれていないことを示すメッセージを送信し、このようなメッセージが存在しないことが警告を提供する)。しかしながら、すべてのノードが、信頼できる組織の制御下にあるわけではないということがある。詳細には、実際の実施形態では、任意のこのように生成されたエラーメッセージを転送すると確信できない、中間ノードのうち1つまたは複数が、機関または組織により提供される場合がある。たとえば、実際のネットワークでは、第三者(完全に信頼できるわけではない場合がある)により管理および認証される、制御されない中間ネットワークを通過することにより、メッセージが、一方の信頼できるサブネットワークまたはエンクレーブから第2の信頼できるサブネットワークに安全に渡される必要がある場合がある。この例では、エンクレーブ内で動作しているネットワーク管理システムへのセキュリティ警報が送信されない場合がある(たとえばブロックされる)、またはセキュリティ警報の内容が改変される場合がある。
【0080】
したがって、各ノードのための改ざん防止セキュリティが、アラームを発する(あるいは、ノードを損なうもしくは乗っ取る任意の物理的改ざんの試みを検出するのに、定期検査が、費用効率が高いおよび/または十分である)ことが常に仮定されることができない。
【0081】
上述のようなDQKDでは、たとえば本出願者らの先行出願である国際公開第2009/093036号では、鍵がノードを通して次のノードに中継されないので、制限された有用な情報が得られることができることがこれまでは仮定されていた。しかしながら、マロリがノードを実際に制御する、またはノードの内部メッセージ伝達のすべてを読み取ることができる場合、一方のノードで得られた情報が、次のノードと交換された量子信号の洞察を提供するので、このようなノードを下流方向に通過するネットワーク経路のセキュリティに関するセキュリティ問題が存在する(すなわち、このノードから前方へ通過した情報が危険な状態にある)という新しい洞察が示された。
【0082】
しかしながら、ここで説明されたように、ノードが物理的に損なわれた場合でさえ、得られることができる情報の量を制限するために、適切なネットワーク設計が使用されることができる。
【0083】
たとえば国際公開第2010/064003号でより詳細に説明されているように、図1が、量子暗号を実現させるためのネットワークを、この具体的事例では、暗号化されたメッセージを2つの開始ノード(鍵管理センタ(KMC))KMC、KMCのいずれかから中間ノードであるNode2〜5を介して4つのエンドポイントノードであるEndPoint、EndPoint、EndPoint、EndPointのいずれかに渡すためのネットワークを示す。エンドポイントノード間を渡されるデータの暗号化用にトラフィック鍵が使用される。この鍵は、KMCとエンドポイントノードの間で合意された量子鍵を使用して暗号化された形で、KMCから各エンドポイントノードに供給される。この量子鍵は、個々の量子鍵が、制御QKD機器の役割を果たすKMCと、KMCとエンドポイントノードの間の経路内のあらゆる他のノード(中間QKD機器)との間で順番に合意される処理により確立されてもよい。たとえば、KMCとEndPointの間で量子鍵を確立するためには、KMCとNodeの間、KMCとNodeの間、および最後にKMCとEndPointの間で量子鍵がまず確立される。一例では、KMCと、KMCとエンドポイントノードの間の経路内の所与のノードとの間で量子鍵を確立するために、所与のノードと経路内の前のノードの間で量子信号が渡されてもよく、その量子信号内の情報が、前のノードとKMCの間で確立された量子鍵を使用して、前のノードからKMCに渡されてもよい。次いで、所与のノードとKMCの間で鍵合意ステップが行われて、これら2つのノード間で量子鍵を確立してもよい。
【0084】
この処理における段階をより詳細に考慮すると、量子鍵がKMCとNodeの間で確立されたとき、量子交換ステップの後に鍵交換ステップが続く。量子交換ステップでは、Node(第1の量子ノードの役割を果たす)が、Node(第2の量子ノードの役割を果たす)と量子リンク上で量子信号を交換する。第1の量子ノードであるNodeは、KMC(制御ノードの役割を果たす)と通信して、Nodeにより送信される量子信号に関する情報を共有する。次いで、Nodeとのその後の鍵合意ステップに関与するのがNodeではなくKMCである。
【0085】
KMCとエンドポイントノードの間で量子鍵を確立するこの段階的な方式が、量子信号が送信されてもよい最大距離に関係する、実際的に考慮すべき点により、ネットワーク内の隣接ノード間の距離が制限されるという問題を克服する。
【0086】
また、任意の2つのノード間で量子鍵を確立するには、通常、2つのノード間で共有された認証鍵を使用した認証ステップを伴う。ネットワーク内の一般的ノードにより記憶されなければならない認証鍵の数は、特定のノードだけが、この例ではKMCが開始ノード、すなわち暗号化されたメッセージがエンドノードに送信されてもよいノードの役割を果たすことができるようにすることにより制限されてもよい。
【0087】
図2は、2つのネットワークノード間で、たとえば図1のネットワーク内のKMCとNodeの間で、量子鍵を確立する際の従来技術のステップを示し、詳細には、相互認証の処理を示す。図2では、2つのノードがNodeおよびNodeとラベル付けされ、それぞれ上記の例でKMCおよびNodeとみなされる役割を果たす。Nodeは、Nodeに知られている(しかし本明細書で説明される実施形態では、常にNodeから送信されるわけではない)ビットストリームに基づく量子信号QSを受信する。次いで、NodeおよびNodeは、鍵合意ステップで、すなわち、量子鍵が合意されるステップで、古典的チャネル上でメッセージMXY、MYXを交換する。最後に、この量子鍵が使用されることができる前に、NodeおよびNodeの各々が、認証ステップで自分のIDを他方にそれぞれ立証しなければならない。認証ステップでは、Node、Nodeの各々が、Nodeが鍵合意ステップで他方のノードに渡したメッセージMYXの認証鍵を使用して、暗号ハッシュを他方のノードに渡し、暗号ハッシュは、2つのノードであるNodeとNodeの間の「共有秘密」である認証鍵AYを用いて生成される。図2では、暗号ハッシュは、[MXY]AYおよび[MYX]AYと示されている。各ノードは、他方のノードから受信したハッシュを、ローカルに生成された同等物と比較し、したがって、他方のノードのIDを確認し、したがって、いわゆる「中間者攻撃」から保護する。ノードであるNode、Nodeの間で確立された量子鍵の全体または一部が、2つのノードにより共有される認証鍵AYを生成または更新するために使用されてもよい。
【0088】
図1を再び参照すると、KMCは認証鍵I1−2、I1−3、I1−5、I1−6、I1−7をそれぞれNode、Node、Node、EndPoint、およびEndPointと共有する。したがって、KMCと、これらの中間ノードおよびエンドノードの任意の1つとの間で量子鍵が合意されてもよい。量子鍵は、セキュリティを改善するために変更されてもよい。共有認証鍵を更新するために、新しい量子鍵が使用されてもよい。同様に、KMCは認証鍵I2−2、I2−4、I2−5、I2−8、およびI2−9をそれぞれNode、Node、Node、EndPoint、およびEndPoint、およびEndPointと共有する。
【0089】
次に、分散QKDネットワークのセキュリティを改善および保証する方法が、図3を参照して説明される。
【0090】
一般に、マロリの攻撃が隠れていることが意図されると仮定される(しかし同じく、マロリが、公然の攻撃を使用して、たとえば、ネットワークトラフィックを、マロリが制御することができるノードに迂回させる、または鍵の分割などのセキュリティ増大手段を防ぐことができることが思い出されるべきである)。
【0091】
図3は、制御QKD機器の役割を果たす鍵管理センタKMCが、この場合Nで示される所与のエンドポイント機器と安全な通信をセットアップすることを望むネットワーク300を示す。2つの中間QKD機器NおよびNが存在する。本出願者らによる先行出願(たとえば国際公開第2009/093034号)でより詳細に説明されたように、KMCとNの間で鍵を確立するために、KMCが量子信号SQ1をNに送信し、次いで、古典的通信SN1を使用して、量子鍵をNと合意し、KMCおよびNが相互認証を実行する。次いで、Nが量子信号SQ2をNに送信する。NおよびKMCがこの信号に関する情報を交換する。NがKMCに量子信号に関する情報を提供する場合がある。この情報が、信号自体(すなわち、完全なビットストリーム)を示す情報であってもよい、または「開始ポイント」、もしくは擬似乱数発生器のためのシードであってもよい(この場合、NもKMCも同等の擬似乱数発生器を含む)。NによりNに送信される量子ストリングが、代わりに、たとえば擬似乱数発生器のシードまたは完全なビットストリームをNに送信してもよいKMCにより規定された可能性がある(すなわち、情報交換が、NからKMC、もしくはKMCからNとすることができ、実際には、ビットストリームが第3のエンティティから全体が、またはシードとして送信されてもよく、たとえば本出願者らの先行出願に記載されるような他の選択肢も可能である)。交換される情報が、KMCとNの間で合意された鍵を使用して暗号化されてもよく、KMCが、古典的信号SN2を使用して量子鍵をNと(しかもNを経由せず)直接合意するのに十分な情報を有することを保証する。次いで、NおよびKMCが相互に認証してもよい。次いで、Nが量子信号SQ3をNに送信し、KMCとNの間で合意された鍵を使用して暗号化された、この量子信号に関する情報をKMCと交換し、次いで、KMCが通信SN3で、古典的チャネル上で量子鍵をNと直接合意することができる。
【0092】
分散ネットワークで鍵を確立する他の方法が当業者によく知られており、必要に応じて、上記で概説された方法の代わりに使用されることができる。
【0093】
本発明の一実施形態としてここで説明されたセキュリティ強化ネットワーク300では、KMCは第1のエンクレーブ302により提供される信頼できるサブネットワーク内の物理的に安全な場所の中にある。エンドノードNは、第2のエンクレーブ304により提供される信頼できるサブネットワーク内の別個の物理的に安全な場所の中にある。しかしながら、Nに到達するためには、制御されないサブネットワーク内の、すなわち、ノードNの物理的セキュリティが保証されることができない、および/またはNで発せられた任意のアラームがKMCに到達することが安全に仮定されることができない領域内の、少なくとも1つのノードNを通信が通過しなければならない。
【0094】
ネットワーク300は、ネットワーク300により送信されるデータのセキュリティをいくつかの方法で改善するように構成され、これらの方法は、独立にまたは組み合わせて使用されることができ、既存のセキュリティ手段、たとえばハッシング、プライバシ増幅、および同種のものと共に使用されてもよい。これらの方法は、ネットワーク300の少なくとも一部の内部に一定レベルの損失を保証するステップを含む。さらに、この例では、最後から2番目のノードおよびエンドポイントノードが安全な第2のエンクレーブ304内に位置する。他の方法が、送信されたビットストリームを解析して、送信されたビットストリームが、このビットストリームから生成されてもよい鍵に関して受け入れられない量の情報を提供しないことを保証するステップ、および/または鍵を生成するためにビットが使用される順序を変えるステップを含む。このような方法について、以下でより詳細に説明される。
【0095】
次に、セキュリティを改善する際の、ネットワーク300内の損失の役割について説明される。
【0096】
概念上、QKDのいくつかの実施形態では、光子のストリームがノード間で送信され、各光子がデータの単一ビットを表す。しかしながら、実際には、単一光子発生源を作り出すことが技術的に困難であるため、QKDシステムは、大きく減衰させられたレーザをしばしば使用する。レーザと減衰器の組合せが、各パルス内に平均で1個未満の光子が認められるように、パルスを放出するように構成されてもよい。これは、μ<1と呼ばれる。μの典型的な値が0.1であってもよい、すなわち、10個のパルスごとに、平均で、ほぼ9個に光子がなく、1個が1つの光子を含むが、どのパルスが1つまたは複数の光子を含むか知られていない。
【0097】
より正確には、パルス当たりの光子数がポアソン分布に対応する。μ=0.1に対して、平均で、ほぼ90.5%のパルスが空であり、9.05%のパルスが1個の光子を有し、0.45%のパルスが2個の光子を有し、0.015%のパルスが3個の光子を有するなどである。公知のセキュリティ攻撃では、マロリが、いくつかのパルスが2個以上の光子を有するという知識を使用し、これらの複数光子のパルスを使用して情報を得る場合がある。
【0098】
システム内の損失が十分大きい場合(しきいレベル以上)、このことは、プロトコルで規定されるセキュリティが回避されることができることを意味する。事実上、攻撃者が「損失の中に隠れる」ことができ、すべての単一光子のパルスを停止し、複数光子のパルスを受信機に送信する。このような攻撃を検出する方法が、デコイ状態を使用することである。このような状態では、典型的には、2つまたは3つの異なる値のμが使用される(すなわち、μが2つまたは3つの所定の値の1つから選択される)。たとえば、μが、ある時間には0、他の時間には0.1、および第3の時間には0.5であってもよい。値は各パルスに対してランダムに変更される。μの値は、ビットの送信後に、検査するメッセージ伝達プロトコルの一部として交換される。パルスが傍受された場合、統計データが整合しない。
【0099】
送信での損失のために、送信された所与のランダムストリングに対して、このストリングの一部だけが受信機に到達する。さらに、ビットが、受信機内部で失われる、または正しくない基底で測定される、およびふるい分けで排除される、またはプライバシ増幅もしくは同種のもので失われる。その結果、送信されたストリングのサブセットだけが、鍵生成で使用するために利用可能である。送信でどのビットが失われるかを前もって知ることはできないが、鍵生成のために利用可能なサブストリングが、送信されたストリング内に出現した順序と同一順序のビットのストリングであることが知られている。所与の送信されたストリングから得られることができる可能なこのようなサブストリングの数が、確率論を使用して計算されてもよい。
【0100】
最初に送信されたストリングがSQ2と示され、かつ損失がビットのランダムなサブストリングS’Q2をもたらすランダム過程である場合、確率論の見地から、サブストリングS’Q2は、ビットシーケンスの、多くの異なるランダムな選択を有することができる。ビットのストリングのランダムな選択の数が、組合せの確率論を使用して表されることができる。
【0101】
【数1】
【0102】
ネットワーク300および/または少なくとも1つの受信ノード内部の、一定レベルの損失を選択または保証することにより、システムの中にさらに高いレベルのセキュリティが導入される。所与のノード、たとえばNが損なわれ、かつ攻撃者が、Nに送信された完全な量子ストリングSQ2を知っている場合でさえ、攻撃者が、これらのビットのうちどれが受信され、かつ正しい基底を使用して測定されるかを知らず、かつ以下で典型的な損失を参照してより完全に実証されるように、正しく推測する可能性が極めて低い。従来のQKDでは、どのビットが受信されたかをNがNに即座に伝えるので、このことはNを支配している潜在的攻撃者にとって問題とならない。しかしながら、上述のように、この場合、Nは、信号SN2を使用して古典的通信チャネルを介してKMCと通信し、したがって、この情報を得るためには、攻撃者が、この例では対称暗号化を使用して暗号化された、NからKMCへのトラフィックSN2を傍受し、かつトラフィックSN2を復号しなければならない。
【0103】
どのビットが鍵生成のために利用可能であるかを正しく推測する可能性が、予想損失3dB(すなわち、装置が、間違った基底を使用して平均でビットの50%を測定するときの、BB84プロトコルシステムでの最小の予想損失である、送信されたビットのおおよそ半分であり、これらのビットはふるい分け過程により取り除かれる)を利用した少し理想的な状況を使用して、以下で概説されるように計算されることができる。実際には、損失30dB(ビット損失係数1/1,000)が認められることがある(詳細には、送信損失が考慮された場合)。現在の技術を使用して注意深く作られたQKD受信機でさえ、受信機自体の内部で損失10dBが予想される。上記で指摘されたように、傍聴者が受信ノードのすぐ外側に減衰器を配置し、したがって、どのビットが受信されたかを高い確度で知ることができるという懸念のために、制御されるのはノード内部の損失だけである場合がある。
【0104】
μ=0.1で何10メガビットものパルスが送信される場合、これらのパルスのほぼ1/10が光子を含む。μ=0.1で100,000,000個のパルスを送信する例を取り上げると(すなわち、これらのパルスの1/10が光子を含む)、この場合、ほぼ10,000,000ビットの送信となる(減衰過程は統計的であり、したがって、ビット数は実際には10,000,000より多いまたは少ない場合がある)。損失30dBは、ほぼ1/1,000だけの減少を意味し、すなわち、ほぼ10,000ビットが受信される。これは組合せ理論を用いて100,000,0001,000、またはどのパルスがパルスの中に光子を有するかを攻撃者が検出することが可能な場合には10,000,00010,000と表現されることができる。これは非常に大きな数値である。たとえ損失が3dBしかないと仮定しても、かつ最初のストリング長が1000ビットしかないと仮定すると(この場合も、実際には普通よりはるかに小さい)、この確率が以下に示される(この場合も、すべての数値は近似である)。
【数2】
【0105】
ファイバの距離約80km〜100kmおよび現在の技術を仮定すると、ファイバに沿った(および光ネットワーク構成要素を通る)損失が、QKD受信機内部(たとえばN内)の損失と組み合わせられ、かつデコイ状態およびQKDプロトコルの適用による損失と組み合わせられた組合せが結合して、非常に大きな損失(典型的には>30dB)を生み出す場合がある。受信機内の損失だけが考慮される場合でさえ、少なくとも10dBの損失が予想される場合がある。さらにこの単純な例では、ほぼ500ビットがシーケンスS’Q2を形成すると仮定しているが(これらのビットの半分が異なるデコイ状態を表す)、実際には、はるかに大きなストリングが送信され、これにより500ビットの選択数がさらに大きくなり、実際には、組合せの数が何倍も大きくなる場合がある。
【0106】
ランダムビットの受信されたストリングは、セッション鍵が確立される鍵素材を依然として形成したままである。たとえば、上述のように、すでに確立された認証鍵を使用して完全なメッセージ伝達シーケンスの適切なハッシュを利用することにより、認証が完了されることができる(または認証は、メッセージ処理中の複数の機会に行われてもよい)。
【0107】
マロリがN(またはより一般的な言葉で言えば、ネットワーク300の制御されない部分内の任意のノード)に対して隠れた攻撃をうまく仕掛けようとする場合、ネットワークセキュリティ警報を発することなく、または少なくともセキュリティ警報がKMCに到達することなく、Nの改ざん防止手段が破られなければならない。しかしながら、これが達成された場合、マロリは、やりとりされるすべてのトラフィックをモニタすることが可能であり、かつ自分がそう選択する場合には、トラフィックを変えることができると仮定されてもよい。わかりやすくするために、この例では、マロリは他のノードに対して他のどのような攻撃も行わない。
【0108】
この例では、純粋に例として、マロリは、Nに送信され、かつKMCにより暗号化されたランダムストリングSQ2の完全な内容を知っている。したがって、マロリは、デコイ状態のために使用された値を知っている。マロリはまた、Nに送信されることになっている量子信号に対するランダム基底を知っている。この実施形態では、QKDデコイ状態が利用されるので、上記のことは、Nに到達する任意のパルスの確率をマロリが変えようとする場合(すなわち、受信されたビットの少なくとも一部をマロリが判定することができるように、いくつかのビットが変更される)、このことが誤り検査結果をしきい値の上に持っていくエラーを導入し、かつネットワーク300が破られたという旨の警報をもたらすので、Nが統計データ内の任意の変動を検出することができることを意味する。本明細書では、マロリは、KMCとNの間ですでに確立された認証鍵に関する事前情報を有しないことが仮定され、これは、KMCとNの間のその後のQKDプロトコルメッセージ伝達が、破られていない暗号化により保護されることを意味する。KMCおよびNは、送信されるストリングSQ2よりも短く、かつこの段階ではマロリに知られていない最終ストリングS’Q2を確認することが可能である。
【0109】
この例では、ネットワーク300は、SQ2に対する「ビット損失係数」が、鍵の組合せの数(たとえば2128)より大きい可能なサブストリングの数より十分大きくなるように構成されるが、合意される鍵により保護されるべき情報に応じて、他のレベルが適切な場合がある。ビット損失係数は、Nの設計(たとえば、光学構成要素の選択、またはファイバの選択もしくはファイバの長さ)、「使い捨て」アルゴリズムの使用、プライバシ増幅、または同種のものにより保証されることができる。
【0110】
しかしながら、他の例では、N内部のビット損失係数が(いくつかの例では、盗聴者が、Nで受信されるビットをすべて知っている場合があるというリスクが存在し、したがって、送信の損失が無視されてもよいことを思い出すと)、たとえば超伝導構成要素を使用して理論的最小値50%に近づく場合がある。
【0111】
この実施形態では、ネットワーク300は、NからNに送信されるビットの最大1/10が、量子鍵を合意する際に使用されるように構成される。この例では、KMCは、受信され、かつ鍵生成で使用するために利用可能なビット(この情報は、KMCとNの間の通常の鍵合意通信でKMCに利用可能になる)と、送信されたビット数(NとKMCの間の通信から知られる)との比を計算するように構成されたセキュリティマネージャSMを備える。セキュリティマネージャSMが、10ビット中2ビット以上が使用されると判定した場合、Nと鍵を確立する試みが放棄される。KMCは、量子信号として新しい、より長いビットストリームをNに送信するようNに指令し、さらに、より高いレベルのセキュリティ増幅(ハッシングにより、より高い程度のビット損失をもたらす)を利用するようNに指令する。便宜上、SMはまた、QKDで使用される標準的なセキュリティ検査を実行してもよく、たとえば、盗聴が発生したかどうかを判定するために誤り率を検査するが、この検査は、スタンドアロンの処理システムとすることができる。
【0112】
他の例のビット損失係数が、1/5、1/100、1/1,000、または同様な値であってもよい。
【0113】
さらに、NおよびNが、保護されたエンクレーブ304内に位置し、保護されたエンクレーブ304内部のノードにより生成されたどんな警報でもKMCに到達すると確信することができる。これは、ネットワークが完全性を有することを意味し、すなわち、N/Nで生成された警報が存在しない場合、ネットワークの改ざんに成功しなかったことをユーザが合理的に確信することができる。また、当然のことながら、攻撃者がいくつかの例ではこのようなメッセージを傍受するように行動する場合があるので、攻撃が識別できないことを示す「状態」メッセージをノードが送信してもよく、したがって、このようなメッセージが存在しないことが警報を構成することができる。また、この例では、メッセージがKMCに送信されるが、代わりに、KMCと同じ場所に配置されても、KMCとは別個であってもよい何らかの別個のネットワーク管理機器にメッセージ送信されてもよいことが理解されよう。
【0114】
上記で示されたように、変形の数が非常に大きいので、マロリは任意の鍵に対して使用されるビット値を推測することが容易にはできない。実際には、変形の数は対称暗号化鍵に対するより何倍も大きいので、マロリが、たとえばネットワークで使用される128ビット対称暗号化鍵を力ずくで、ノードに対してKMCにより使用されるセッション鍵を推測することは、より容易である。
【0115】
マロリがシーケンスSQ2を変更することにより、より多くの情報を得ようと試みる場合、KMCとN間の誤り訂正処理が、使用されたデコイ状態に対しても、同じくビットシーケンスに対しても、本来の完全性検査を行うので、マロリは検出される。これにより、マロリは、さもなければ自分の存在が即座に検出される、本来のネットワーク誤り率の範囲内に制約される情報だけの使用を強いられ、この情報は、その後のQKDプロトコルにより取り除かれてもよい。
【0116】
さらに、マロリがビットシーケンスに関する情報を(たとえば数ビット)何らかの形で実際に得た場合でさえ、この実施形態は、鍵生成の前に、ビットシーケンスをハッシュして、より短いストリングを作り出すプライバシ増幅ステップをさらに備える。KMCとNの間だけで合意された方法でビットがXORされるので(このシナリオでは、マロリがNだけにアクセスすることができることを思い出すと)、このシナリオには非可逆性がある。したがって、他の平文攻撃または組合せ攻撃により、マロリに理論的情報レベルが明らかにされたことが知られている場合、これは、適切なレベルのハッシングにより本質的に取り除かれる。したがって、誤り率に従ってプライバシ増幅のレベルを選択することにより、システムのセキュリティがさらに高められることができる。
【0117】
マロリはネットワーク内の、Nの下流のノードを攻撃することができ、NとNの間に他の保護されていないノードが存在する可能性がある。KMCが安全であると仮定すると、マロリは、NとKMCの間の、または平行経路に沿った、任意のノード間の情報交換に関する情報を有しない。
【0118】
いくつかのノードが、またはサブネットワークさえ損なわれる場合がある可能性がある。エンドツーエンドの暗号化鍵が最終ステップで決定されるので、マロリは、最終ノード、または最終ノードに近いノードを攻撃しようと試みることがある。したがって、ノードの物理的セキュリティの重要性(および改ざんされたときに警報を発する、ノードの能力)がチェーンのさらに下流で増大する。この理由のために、この実施形態では、ネットワークは、最後から2番目のノードおよびエンドポイントノードが、信頼できるエンクレーブ304の内部に存在するように設計され、このことは、古典的に高められたQKDセキュリティが再確立されることを意味するが、次により詳細に説明されるように、このとき、下流のセキュリティの見込みがほとんどないことは、危険な状態である。
【0119】
マロリが、力ずくの攻撃または何らかの他の手段により、KMCとNの間で使用されるセッション暗号化鍵を何らかの形で推測または突き止めることが可能である、または同じく、メッセージを傍受することができる場合でさえ、Nから次のノードNに送信されるストリングを突き止めるための、非常に小さな時間の窓が存在する。上記で指摘されたように、損失が大きい場合、これによりそれ自体で十分な情報を提供することはないが、損失が小さい場合(または以下で説明されるように、鍵の少なくとも一部が推測されることができるようになるビットストリングが送信された場合)、マロリはNとKMCの間で設定される鍵を決定し、したがって、Nへ送信されるビットストリングを知ることができる場合がある。したがって、KMCがもう1回続けて、これらのさらされたノードとのすべての暗号化鍵を更新する前に、下流のセキュリティのチェーンが危険な状態になるという、限定されているが可能な状況が存在する。換言すれば、下流のセキュリティが完璧ではないが、鍵配送のリフレッシュレートが考慮されなければならない。これは、任意の情報へのアクセスが有効である時間の量を制限する。ネットワークが破られるに違いないというだけでなく、繰り返し破られるに違いない。したがって、リフレッシュレートは、誤り率に従って設定されてもよい。
【0120】
上記で指摘されたように、この例では、NおよびNは保護されたエンクレーブ304内に存在する。したがって、これらのノードにより生成された任意の警報がKMCに到達する確度がより高い。
【0121】
さらに、これらのノードの物理的セキュリティに、より高い信頼度が存在する場合がある。これらの度合いの一方または両方により、マロリがこれらのノードを(隠れて)支配することが不可能になる、より高い確度が可能になる。
【0122】
他の分散ネットワークと同様に、サービス妨害攻撃が、ネットワーク300を通る代替経路を提供することにより防止されることができる。また、提供される経路の多様性が、ネットワーク300を通過しているすべての情報に盗聴者がアクセスできることを、盗聴者が保証することができるためには、すべての可能な経路が破られなければならないことを意味する。したがって、本明細書で説明された考えは、鍵を分割し、かつ鍵の一部を異なる経路により送信する公知のシステムと共に使用されてもよい。しかしながら、サービス妨害タイプの攻撃が、損なわれたノードを介してトラフィックを迂回させるという実際の動機づけで使用されるおよび/またはすべてのネットワークトラフィックが1つまたは少数の経路に沿って進まなければならないことを保証することができるというリスクが存在する。
【0123】
図4は、図3のネットワーク300と対照的に、第2のエンクレーブ304が別個のKMCであるKMCを有するネットワーク400の一例を示す。この例では、KMCはKMCのスレーブであるが、他の例では、KMCは独立しており、エンドユーザにより信頼されてもよい。
【0124】
このようなネットワーク400では、いずれのKMCからも更新される1組の鍵を導入することにより、セキュリティを強化することが可能である。図4の例では、ノードNおよびNは、KMCにより、同じくKMCにより(相互認証処理により)更新されることができる複数組の鍵を有する。したがって、両方のKMCが、これらのノードに対する認証鍵を共有する。
【0125】
通常、NがKMCに対して認証するとき、Nはたとえば、メッセージ伝達処理中に設定されるメッセージ全体の暗号ハッシュを形成して、新しい1組の鍵を確立してもよい。このとき、Nは、KMCおよびKMCからの認証鍵で二重に暗号化することができる。この鍵を再利用するのを避けるために、この鍵はKMCにより頻繁に更新され、必要なときに暗号化され、KMCと共有されることができる。
【0126】
あるいは、認証鍵が再利用され、フィルガン(fill gun)を使った更新(たとえば、本出願者の先行出願である国際公開第2010/049673号の量子フィルガン)、またはたとえば本出願者らの出願である国際公開第2009/141587号に記載されているような、移動可能な鍵機器を介した不定期または定期的な更新により、KMCおよびKMCが鍵を置換したときに新しい複数組の鍵の組合せが確認された後にだけKMCにより置換される。これらの事例では、通信の下流のセキュリティがリセットされる。
【0127】
マロリによる任意の他の損なう攻撃が、第2のエンクレーブまたはサブネットワーク内部のKMCに向かう上流方向のあらゆるノードに対するものに違いない。
【0128】
KMCは、情報が二重に暗号化されるように、独立した鍵を生成することができる。2つのKMCが、相互認証を使用して連絡を保つことができる。
【0129】
図3のネットワーク300では、最終ノードNがエンドポイントであり、第2のKMCに、たとえば家庭、事業単位、またはデスクトップに接続されない。これらの状況では、第2の認証鍵が、トークンまたはフィルガンを使用して物理的にインストールされることができる。これにはまた、個人にアクセス制御を提供する必要がある場合があり、この鍵は常にKMCに知られ、したがって、容易に取り消される、または更新されることができる。
【0130】
次に、ビットストリームを解析することにより明らかにされることができる、送信されたビットストリーム中に有用な情報を提供するリスクに対処する方法が、図5図7を参照して説明される。
【0131】
QKDプロトコルの下では、トラフィック鍵またはセッション鍵を合意するために、一方のノードが、一連のランダムなまたは擬似ランダムなビットをもう一方のノードに送信する。この鍵を頻繁に変更して、力ずくの「鍵消耗」攻撃により(典型的には対称)鍵を解読するために利用可能な時間を限定することはよい慣行である。これは、QKDシステムでは、新しい鍵が比較的頻繁に(これは、1カ月に1度、1日に1度、1時間に1度、1分に1度、またはいくつかの他の時間枠では、ネットワークの所望のセキュリティおよび暗号化のロバスト性を考慮して必要に応じてということを意味する場合がある)作り出されることを意味する。
【0132】
上記で説明されたように、送信の損失、および受信ノード自体の効率の悪さのために、送信されるビットのサブセットだけが受信される。さらに、受信ノードは、ビットがどの基底で送信されたかに関し推測し、かつ正しくない推測が行われたビットが鍵生成で使用されないので、マロリが、どの受信されたビットが使用されるかを判定することが不可能な場合がある。さらに、QKDシステムは、しばしば余分のビットを送信することがあるので、ビットが鍵生成のために選択される前に、「使い捨て」アルゴリズムまたはハッシングアルゴリズムが使用される。ビット損失係数を参照して上記で説明されたように、このことが、DQKDネットワークのセキュリティを不確実に増大させるが、それにもかかわらず、送信されたビットストリームを調べることにより、受信されたビットの少なくとも一部を盗聴者が推測することが可能な場合がある。
【0133】
この極端な例を示すと、送信されたビットストリームが1または0の一貫したシーケンスで、たとえば1列に並んだ50個の1で開始することが、随時発生する。ノード内部に3dBの損失を有するシステムでは、受信され、かつ鍵で使用するために利用可能な第1のビットが1であることが、高い確度で仮定されることができる(当然のことながら、ビットが受信された順序で使用されなくてもよいことが留意される)。同じく、受信され、かつ利用可能な第2のビットが1である可能性が非常に高いなどであり、ビットストリームを通じて確実性が低下する。受信された1つのビットだけでも知り、かつ受信されたストリームから生成される鍵におけるこのビットの位置を知ることは、鍵を解読する際に、暗号という重荷を軽くするのに大いに役立ち、力ずくの攻撃では、それぞれの既知のビットが、鍵を解読するのに必要な平均時間を半分だけ低減する。当業者によく知られているが、128ビットの鍵は、鍵を網羅的に試験し、したがって鍵を確実に解読するのに2128回までの実験を必要とする。
【0134】
最初の6ビットが既知である場合、鍵を網羅的に試験するために2122回の実験だけが必要であり、これは非常により高速に行われることができる。
【0135】
したがって、鍵中のビットのうち少なくとも1つのよい指示を提供するビットストリームが認められるまで、盗聴者が待つことを選択することができる。一実施形態では、KMCおよび/またはノードが、割り当てられた「開始位置」またはシードからビットを生成する擬似乱数発生器(PRNG)を有する。シードは、KMCと送信ノードの間で共有されてもよい。開始位置を変更することにより不正を働くノードの存在が明らかになるので、不正を働くノードが開始位置を変更することができないと仮定されている。しかしながら、鍵生成で使用されるビットの1つまたは複数が相当の確度で推測されることができるようになるビットのシーケンスが認められ、次いで、この情報を使用して力ずくの攻撃が開始されるまで、ノードが待つことができる。隠された部分をより明らかにするビットストリームが受信された場合、この攻撃は放棄されることができる。
【0136】
ここで説明された例では、ビットが、受信された順序で使用されると仮定されているが、以下でより詳細に説明されるように、このことが当てはまる必要はない。
【0137】
ビットストリームがあまりにも多くの鍵情報を明らかにする場合があるという起こり得るリスクに対処するために、いくつかの一貫したランダムな数字が設定されてもよいレベルが、警報生成をもたらしてもよい、または鍵生成が再び開始される、または反対極性のいくつかのビットを含むように、ビットストリームが変えられることができる。送信されたビットが受信されたと判定されてもよい確実性が、システム内の損失に依存するので、これらの損失がどのようなものであるかを予想して数値が選択されてもよい。
【0138】
この方法がどのように実行されることができるかの一例が図5に提供されている。図5は、KMCが、自分が送信するビットストリームをモニタする処理(ステップ502)におけるステップの流れ図を示す。ステップ504で、第1のビットが値1または0であるかどうかを処理が判定する。ビットが1である場合、第1のカウンタ(n)が始動させられる(ステップ506)。ビットが0である場合、第2のカウンタ(m)が始動させられる(ステップ508)。ステップ510で、第1のビットが1であった場合、次のビットが1であるかどうかが判定され、1である場合、カウンタnが増分され(ステップ512)、カウンタが所定のしきい値を超えたかどうかに関して検査が行われる(ステップ514)。これが、それぞれの連続する1についてカウンタが増分されて継続し、ついにはしきい値に到達し、この場合、ビットストリームが終了し(ステップ516)、かつ新しい鍵生成の取り組みが開始されてもよい、または0のビットが受信され、この場合、新しい第1のビットで方法が再び開始される。同様に、ステップ518で、第1のビットが0であった場合、次のビットが0であるかどうかが判定され、0である場合、カウンタmが増分され(ステップ520)、カウンタが所定のしきい値を超えたかどうかに関して検査が行われる(ステップ522)。この場合も、これが、それぞれの連続する0についてカウンタが増分されて継続し、ついにはしきい値に到達し、この場合ビットストリームが終了し(ステップ516)、かつ新しい鍵生成の取り組みが開始されてもよい、または1のビットが受信され、この場合、新しい第1のビットで方法が再び開始される。
【0139】
当然のことながら、他の実施形態では、一定のビットのストリングをカウントするように構成された単一カウンタが使用されてもよい。
【0140】
一定値のビットを含むビットストリングの許容できる長さ(すなわち、nまたはmに対する最大の許容できる値)が、この例では、システム内の損失、および同じくビットレート低減因子の要素であるハッシングおよび/またはプライバシ適用のレベルを留意して選択される。次いで、この長さが、これらの手段により提供されるセキュリティレベルが適切であるかどうかを判定するために、ネットワークを通過させられる情報の望ましさ、およびこのデータが保護されるべき時間の長さ(いくつかの事例では、データが数秒または数分の間安全であることを知ることが十分な場合がある)に対して評価されることができる。
【0141】
この例では、nまたはmの最大値が、通信のビット損失係数を参照して設定される。この例では、最大値はビット損失係数の逆数である。たとえば、ビット損失係数が1/10である場合、しきい値に達するまで、1列に並んだ10ビットまでが認められる場合がある。他の例では、最大値は、ビット損失係数の逆数の割合、たとえば半分、4分の1、10分の1などであってもよい(そうはいっても、ビット損失係数が小さいとき、割合の選択範囲が小さく、ビットストリームが十分なエントロピを有することを保証するために、所望の値に対する最小値が存在してもよいことが理解されよう)。
【0142】
実際には、実験が実行される順序に優先順位をつけるために、ビットストリームに関する任意の情報が使用されることができる。システム内の損失に留意して、特定の位置に出現する特定ビットの可能性増大を判定するために、解析が実行されることができる。いくつかの例では、一方の値のビットの高い割合を有するビットストリームが送信される場合があり、たとえば、最初の50ビットの80%が値1を有し、これは、受信される最初の数ビットが同じく値1を有する可能性が非常に高いことを意味する場合がある。ビットストリームの解析が、確実性のしきいレベルを超えて、受信されるビット、および生成される鍵内部のビット位置のしきい数値より多く明らかにする場合、システムは、鍵合意処理を終了する、および/もしくは動作し続ける、または送信されたビットストリームを「調整」して、情報が明らかにされるリスクを低減するように構成されてもよい。
【0143】
このような処理で使用するための装置が図6に示されており、KMCまたは任意のノード内に配置されることができる量子送信機ユニット600を備える。量子送信機ユニット600は、暗号化された通信を任意の通常の手段を介して送信する前に通信を暗号化し、同じく、暗号化された通信を受信し、暗号鍵を使用して、暗号化された通信を復号する通信ユニットを、この例では暗号ユニット602を備える。
【0144】
量子送信機ユニット600は、擬似乱数発生器(PRNG)604をさらに備える。暗号ユニット602は、この例では、鍵管理センタからPRNG604のためのシードを受信し、これらのシードがビットストリングを生成するために使用される。これらのビットは、量子エンコーダ606により量子受信機ユニット(図示せず)に量子通信媒体(自由空間、光ファイバ、または同種のもの)上で送信するための光子(またはより一般的にはキュービット)上に符号化される。
【0145】
量子送信機ユニット600は、量子送信から得られることができる情報を判定するために、PRNG604の出力に対して動作するように構成されたビットストリーム解析ユニット608をさらに備える。この実施形態では、ビットストリーム解析ユニット608は、PRNG604により出力されたビットストリームを解析するように構成され、PRNG出力(またはPRNGが使用するアルゴリズム)へアクセスできる盗聴者が、どのビットが受信され、したがって、どのビットが、このビットから生成される鍵中の所与の位置で使用される可能性があるかに関する受け入れられない程度の情報を判定することができると判定された場合、1つまたは複数のビットの値が反対の値に変更される。すなわち、ビットストリームが、ビットストリーム調整ユニット610により「調整される」。ビットストリーム解析ユニット608およびビットストリーム調整ユニット610は、PRNG604の出力が、量子信号を符号化するために使用される前に、PRNG604の出力に対して動作することが留意されよう。
【0146】
この実施形態では、ビットストリーム解析ユニット608は、以下のいずれかが当てはまる場合に、ビットストリームを調節するように判定するように構成される:
(i)最初の100ビットが一定値である
(ii)ビットストリーム中に、200ビットを超える一定値を含むシーケンスが存在する。
【0147】
一定値のビットストリームがビットストリーム中に認められた後では、一定値のビットストリングの有用性が低減することが理解されよう。したがって、ビットストリームの場所が考慮されることができる。このような例では、ストリング中の一定ビットの最大数が、ストリング中の一定値のビットストリーム開始位置と共に増大することができるようにする機能を使用して、ビットストリーム解析ユニット608が動作してもよい。たとえば、一実施形態では、一定値のビットストリームの最大長が、90+10i未満、最大200までであってもよく、ここで、iは、送信されたビットストリーム中の一続きの一定値のビットの最初のビットの場所である(またはより一般的に、z+yiであり、ここでxおよびyは数値である。いくつかの例では、zおよび/またはxはビット損失係数を参照して設定されてもよい)。この方法では、最初のビットが連続の開始であった場合、100の連続が試験に不合格になり、2番目のビットが連続の最初のビットであった場合、110の連続が試験に不合格になり、5番目のビットが連続の開始であった場合、140の連続が試験に不合格になるなどである。
【0148】
より一般的には、ビットストリーム解析ユニット608は、攻撃者が所定の確度で、受信機により受信されたビット数および鍵内部でのこれらのビットの場所を、送信されたビットストリームの知識から判定することができる場合があると判定された場合、ビットストリーム調整ユニット610にビットストリームを調整させるように構成される。当然のことながら、この数および確度は、ネットワークの用途、および必要とされるセキュリティの関連するレベルに依存する。128ビット鍵については、たとえば、鍵中の6ビットの値および場所を攻撃者が突き止めることが許容できてもよいのは、今や事実上122ビット鍵である鍵が、データが送信されるために許容できるレベルの保護を提供することができるためである。しかしながら、より機密性が高いデータまたは価値のあるデータを移送する他のネットワークでは、50%を超える確実性で推測されることができる、許容できるビット数が、たとえば4ビットである場合がある。
【0149】
ノード(および/またはKMC)が、同等のビットストリーム解析ユニット608およびビットストリーム調整ユニット610を有してもよいことが理解されよう。ビットストリーム調整ユニット610は、機器間で共有された規則に従って、ビットストリームに対して動作する。例のために、送信機ユニット600が送信ノードの構成要素であり、かつKMCが受信ノードと鍵を合意する場合、KMCと送信ノードの両方の中のビットストリーム解析ユニット608が、たとえばビットストリームをモニタするように構成されてもよく、100個の連続した値1のビットが受信された場合、ビットストリーム調整ユニット610が、10番目ごとのビットを、ビットストリームとして符号化される前に、値0と置換するように作動する。KMCは、同一シードから同一ビットストリームを作り出す、自分自身のPRNGを有し、したがって、同一の100個の連続した1を認識し、量子受信機ノードと通信して鍵を確立するときに、10番目のビットごとに0と置換することを知っている。
【0150】
また、この方法でビットストリームを操作することが、ひいては潜在的暗号解読者に情報を提供するストリングのエントロピを低減することが、当業者には理解されよう。したがって、ストリング中のエントロピの適切なレベルを維持することと、特性またはサブシーケンスを明らかにすることを伴うキュービットの送信を防ぐこととの間のバランスが必要とされることがある。
【0151】
この実施形態では、ビットストリーム調整ユニット610およびビットストリーム解析ユニット608が送信機の構成要素であるとして示されているが、他の例では、これらのユニットはPRNGの一部であってもよい。これにより、既存の量子ノードの中への組込が容易になる場合がある。
【0152】
当業者によく知られているように、ビットが、受信される順序で使用されなくてもよい。うまく受信され、測定された場合に、送信されたビットストリームの3番目のビットごとが使用される一例を取り上げると、受信ユニットは、このビットが受信された時間に基づき、受信されたビットに位置を割り当てることができるようなクロックを有する(送信機と受信機を同期させる方法は、当業者に知られている)。(正常な鍵合意ステップで確認されるように)3番目のビットが受信され、かつ正しい基底で測定された場合、このビットは、鍵生成で使用される最初のビットである。そうではなく、6番目のビットがうまく受信され、かつ測定されたと仮定すると、この6番目のビットは、鍵生成で使用される最初のビットになる。このような例では、システムにとって関心のある連続したビットが、3番目、6番目、9番目、12番目などのシーケンスである。このビットシーケンスは、一貫した1または0で構成されていないことを保証するために検査されるべきである。さらに、潜在的攻撃者に最も有用であるのが、使用されるシーケンスの最初にある一連のビットである(上述の例の最初の100ビットが、この例における最初の300ビットの3番目ごとのビットに相当する)。
【0153】
当然のことながら、この場合も、3番目ごとのビットを使用することは、純粋に例示のためであり、ビットストリームが使用される方法は、自由にあらかじめ決められてもよい。実際には、上述のシステムは、ビットを「浪費する」ので、使用される可能性が低い。他の例が、奇数ごとのビットと、次いで偶数ごとのビットを、または3番目ごとのビットと、次いで最終ビット、最後から2番目のビット、最終ビットから4番目のビット、最終ビットから7番目のビットなどを使用することを含んでもよい。要約すると、可能な方式が多く存在する。しかしながら、例は、解析されるべきであるのが、使用されるビットシーケンスであり、必ずしも送信されたシーケンスではないという原理を例示するのに役立つ。
【0154】
したがって、いくつかの実施形態では、使用されるビットシーケンスは、秘密の共有された値であってもよく、たとえば、PRNG、および認証のために使用されるIDを備えるシードを使用して生成されてもよい。この方法は、ビットストリーム解析と共に、またはビットストリーム解析と独立して使用されることができる。次に、このような実施形態で使用するための装置について、図7を参照して説明される。この例では、分散QKDではなく、標準的なアリスからボブ(A−to−B)について説明されるが、方法は分散QKDシステムで同様に適用されることができることが当業者には容易に理解されよう。
【0155】
送信ノードアリス(N)が量子信号QSを受信ノードボブ(N)に送信する。アリスもボブも、同じく鍵合意機器の役割を果たすように構成された量子機器であり、それぞれ鍵判定ユニット702および通信ユニット704を備える。この実施形態では、鍵判定ユニット702はPRNG706を備える。PRNGは、同一シードを供給された場合、同一の(通常、より長い)ビットストリングを作り出すという意味で同等である。
【0156】
ボブは送信されたビットの一部を受信し、これらのビットをランダムな基底で測定し、その後、古典的通信信号CSを使用して、ボブおよびアリスのそれぞれの通信ユニット704を介して、どのビットが受信されたか、および測定のためにどの基底が使用されたかをアリスに表明する。図2に関連して上記で概説されたように相互認証する代わりに(共有認証鍵AYを使用してメッセージの暗号ハッシュを準備することによる)、受信されかつ正しく測定されたビットが、このビットから鍵を生成する際に使用される順序を判定するために使用されるストリングを生成するために、共有認証鍵がPRNG706でシードとして使用される。この例では、生成されたストリングの一部がビット使用順序における各ビットを識別する(たとえば、PRNG706により出力された最初の60ビットが、使用すべき第1のビットの識別を与え、2番目の60ビットが第2のビットの識別を与え、以前に使用されたビットがその後識別された場合、この結果は無視され、次の60ビットが検討される)。
【0157】
しかしながら、ビット使用順序を生成または識別する他の方法が、当業者には明らかであろう。たとえば、記憶された1組のビット使用順序が存在してもよく、そのうちの1つがPRNG706の出力によりランダムに識別される。ビット使用シーケンスを識別するために必要なビット数が上記で概説された第1の方法と比べて比較的少ない場合があるので、この第2の方法には利点がある場合があるが、所定の数のシーケンスが利用可能であるという欠点があり、これらのことが攻撃者に知られるようになった場合、攻撃者は潜在的に明らかになるビットストリームに対するすべての組合せをモニタすることができる。このリスクは多数のパターンを保持することにより軽減されることができ、これにより、攻撃者が成功することができる確率が低減される。第3の方法が、ループされてもよい所定のシーケンスを有することであってもよく、PRNG706の出力が、ループ中の開始ポイントを識別するために使用される。これにはまた、いくつかのビット使用順序のうち1つを識別するために多数のビットを必要としないという利点がある。その結果、認証鍵中のビット数が一般には限定されているので、鍵生成の際にビットがどの順序で使用されるべきかを直接識別するために、共有認証鍵が使用される実施形態では、第2および第3の方法が特に適している場合がある。
【0158】
アリスおよびボブはそれぞれ鍵を生成し、この鍵を使用して、両者の間に送信される通信を暗号化する。アリスおよびボブが異なる認証鍵を使用する場合、同等のPRNG706が異なるシーケンスを出力し、異なる順序でビットが使用され、異なる暗号鍵をもたらすので、別個の認証処理の必要はない。したがって、アリスは、ボブの鍵で暗号化された、受信された情報をうまく復号することができず、その逆も成り立つ(そうはいっても、当然のことながら、他の実施形態では、詳細には、受信された情報が適時に復号されることがあるという懸念が存在する場合、他の認証が行われてもよく、この場合、正しいエンティティに情報が直接送信されることが、できるだけ保証されるべきである)。
【0159】
図1に関連して詳細に上記で説明されたようなDQKDシステムでこの方法を実現するためには、制御ノードまたはKMCが、受信ノードとして同等のPRNGを提供され、受信ノードと共有された認証鍵を使用してもよい。この例では、2つのノードが量子機器の役割を果たし、ノードの一方およびKMCが鍵合意機器の役割を果たす。
【0160】
当然のことながら、得られた鍵を使用して、新しい認証鍵(またはPRNGのための他のシード)が暗号化されて分配されることができる。あるいは、認証鍵自体またはいくつかの他の共有値が、ビットが使用される順序を規定してもよいので、PRNGは必要ない。
【0161】
本明細書の教示を理解するために、当業者には明らかであるように、本明細書で示される任意の範囲または機器の値が、得ようとされる効果を失うことなく拡張または変更されてもよい。
図1
図2
図3
図4
図5
図6
図7