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

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

▶ 独立行政法人情報通信研究機構の特許一覧

特開2022-149498暗号鍵生成装置、暗号鍵生成プログラムおよび暗号鍵生成・消去方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022149498
(43)【公開日】2022-10-07
(54)【発明の名称】暗号鍵生成装置、暗号鍵生成プログラムおよび暗号鍵生成・消去方法
(51)【国際特許分類】
   H04L 9/12 20060101AFI20220929BHJP
   H04L 9/18 20060101ALI20220929BHJP
【FI】
H04L9/00 631
H04L9/00 651
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2021051694
(22)【出願日】2021-03-25
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人量子科学技術研究開発機構、戦略的イノベーション創造プログラム(SIP)事業「光・量子を活用したSociety5.0実現化技術/量子暗号技術と量子セキュアクラウド技術に関する研究開発」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】藤原 幹生
(72)【発明者】
【氏名】武岡 正裕
(72)【発明者】
【氏名】佐々木 雅英
(57)【要約】
【課題】量子鍵配送によって生成される送受信間で共有する共有鍵から、安全に消去できる暗号鍵を生成することが可能な暗号鍵生成装置を提供する。
【解決手段】暗号鍵生成装置2は、共有鍵K0を第1鍵K1と第2鍵K2とに分離し、第1鍵K1を不揮発性記憶手段20に記憶するとともに、第2鍵K2を揮発性記憶手段21に記憶する共有鍵分離手段23と、第2鍵K2を第1鍵K1と同じ鍵長に拡張し、第3鍵K3として揮発性記憶手段21に記憶する鍵拡張手段24と、第1鍵K1と第3鍵K3との排他的論理和で暗号鍵K4を算出し、揮発性記憶手段21に記憶する暗号鍵算出手段25と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
量子鍵配送によって生成される送受信間で共有する共有鍵から、ワンタイムパッド暗号で使用する暗号鍵を生成する暗号鍵生成装置であって、
前記共有鍵を第1鍵と第2鍵とに分離し、前記第1鍵を不揮発性記憶手段に記憶するとともに、前記第2鍵を揮発性記憶手段に記憶する共有鍵分離手段と、
前記第2鍵を前記第1鍵と同じ鍵長に拡張し、第3鍵として揮発性記憶手段に記憶する鍵拡張手段と、
前記第1鍵と前記第3鍵との排他的論理和で前記暗号鍵を算出し、揮発性記憶手段に記憶する暗号鍵算出手段と、
を備えることを特徴とする暗号鍵生成装置。
【請求項2】
前記共有鍵分離手段は、前記共有鍵を前記暗号鍵と同じ鍵長の前記第1鍵と前記第1鍵よりも鍵長の短い前記第2鍵とに分離することを特徴とする請求項1に記載の暗号鍵生成装置。
【請求項3】
量子鍵配送によって生成される送受信間で共有する共有鍵から、ワンタイムパッド暗号で使用する暗号鍵を生成するために、コンピュータを、
前記共有鍵を第1鍵と第2鍵とに分離し、前記第1鍵を不揮発性記憶手段に記憶するとともに、前記第2鍵を揮発性記憶手段に記憶する共有鍵分離手段、
前記第2鍵を前記第1鍵と同じ鍵長に拡張し、第3鍵として揮発性記憶手段に記憶する鍵拡張手段、
前記第1鍵と前記第3鍵との排他的論理和で前記暗号鍵を算出し、揮発性記憶手段に記憶する暗号鍵算出手段、
として機能させるための暗号鍵生成プログラム。
【請求項4】
量子鍵配送によって生成される送受信間で共有する共有鍵から、ワンタイムパッド暗号で使用する暗号鍵を生成する暗号鍵生成・消去方法であって、
共有鍵分離手段によって、前記共有鍵を第1鍵と第2鍵とに分離し、前記第1鍵を不揮発性記憶手段に記憶するとともに、前記第2鍵を揮発性記憶手段に記憶する共有鍵分離ステップと、
鍵拡張手段によって、前記第2鍵を前記第1鍵と同じ鍵長に拡張し、第3鍵として揮発性記憶手段に記憶する鍵拡張ステップと、
暗号鍵算出手段によって、前記第1鍵と前記第3鍵との排他的論理和で前記暗号鍵を算出し、揮発性記憶手段に記憶する暗号鍵算出ステップと、
暗号鍵出力手段によって、前記暗号鍵を使用した後、生成した各鍵を消去する鍵消去ステップと、
を含むことを特徴とする暗号鍵生成・消去方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号鍵生成装置、暗号鍵生成プログラムおよび暗号鍵生成・消去方法に関する。
【背景技術】
【0002】
従来、情報理論的に安全な通信を実現するための技術として量子暗号がある。
量子暗号は、量子鍵配送(QKD:Quantum Key Distribution)によるデータの送受信間での暗号鍵の共有と、ワンタイムパッド(OTP:One Time Pad)暗号によるデータの送受信間でのデータの暗号化および復号の処理とで構成される。
量子鍵配送は、伝送媒体である光子の量子状態が、観測によって確率的に変化する性質を用いて、漏洩した情報量を見積もり、その結果に応じて暗号鍵(乱数)を生成する手法である(例えば、BB84:非特許文献1参照)。
ワンタイムパッド暗号は、送信側で、データを暗号鍵(パッド)で暗号化し、受信側で、暗号化されたデータを暗号鍵で復号し、一度使用した暗号鍵を使用しない手法である。例えば、OTP暗号の暗号化/復号処理として、伝送するデータの1ビット毎の暗号鍵との排他的論理和演算を送受信双方で実施するバーナム・ワンタイムパッドがある。
通常、量子暗号は、大量のデータを送信する場合、送信側と受信側とで事前に長時間かけて大量の暗号鍵を共有しておく。
量子暗号では、暗号鍵を大容量記憶媒体に記憶し、使用後、暗号鍵を消去することで、データの安全性を図っている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】C. H. Bennett and G. Brassard, “Quantum cryptography: public-key distribution and coin tossing,” in Proceedings of the IEEE International Conference on Computers, Systems and Signal Processing (Institute of Electrical and Electronics Engineers, New York, 1984), pp. 175-179.
【発明の概要】
【発明が解決しようとする課題】
【0004】
量子暗号のように、暗号鍵を大容量記憶媒体に記憶し、使用後、暗号鍵を削除する場合、従来の記憶媒体では、データ(暗号鍵)を消去することが困難である。
例えば、従来の大容量記憶媒体では、管理情報を消去するだけで、見かけ上消去しても、データを読み出すことが原理的に可能である場合が多い。具体的には、記憶媒体にプローブを当てて調べたり、管理情報を復旧させたりすることで、データを復元することが可能な場合がある。
【0005】
また、記憶媒体のデータを消去するには、任意のデータで複数回上書きする手法があるが、量子暗号で使用する大容量記憶媒体では、上書きに非常に長い時間を要するため現実的ではない。
このように、従来の量子暗号における暗号鍵をそのまま記憶媒体に記憶する手法では、データ消去が不完全であるため、データ(暗号鍵)を記憶媒体から抽出することが可能であり、量子暗号による通信のセキュリティホールになってしまうという問題がある。
【0006】
そこで、本発明は、量子鍵配送によって生成される送受信間で共有する共有鍵から、安全に消去できる暗号鍵を生成することが可能な暗号鍵生成装置、暗号鍵生成プログラムおよび暗号鍵生成・消去方法を提供することを課題とする。
【課題を解決するための手段】
【0007】
前記課題を解決するため、本発明に係る暗号鍵生成装置は、量子鍵配送によって生成される送受信間で共有する共有鍵から、ワンタイムパッド暗号で使用する暗号鍵を生成する暗号鍵生成装置であって、共有鍵分離手段と、鍵拡張手段と、暗号鍵算出手段と、を備える構成とした。
【0008】
かかる構成において、暗号鍵生成装置は、共有鍵分離手段によって、共有鍵を第1鍵と第2鍵とに分離し、第1鍵を不揮発性記憶手段に記憶するとともに、第2鍵を揮発性記憶手段に記憶する。第2鍵は、電源が消えた場合、完全に消去可能な記憶手段に記憶されることになる。なお、第1鍵については、不揮発性記憶手段に記憶することで、停電が発生しても、そのまま利用することが可能になる。
【0009】
そして、暗号鍵生成装置は、鍵拡張手段によって、第2鍵を第1鍵と同じ鍵長に拡張し、第3鍵として揮発性記憶手段に記憶する。第3鍵は、電源が消えた場合、完全に消去可能な記憶手段に記憶されることになる。
【0010】
そして、暗号鍵生成装置は、暗号鍵算出手段によって、第1鍵と第3鍵との排他的論理和で暗号鍵を算出し、揮発性記憶手段に記憶する。暗号鍵は、電源が消えた場合、完全に消去可能な記憶手段に記憶されることになる。
これによって、暗号鍵生成装置は、電源を消すことで、暗号鍵および暗号鍵を生成するための共有鍵の一部を完全に消去することができる。
【0011】
また、前記課題を解決するため、本発明に係る暗号鍵生成プログラムは、量子鍵配送によって生成される送受信間で共有する共有鍵から、ワンタイムパッド暗号で使用する暗号鍵を生成するために、コンピュータを、共有鍵分離手段、鍵拡張手段、暗号鍵算出手段、として機能させる構成とした。
【0012】
かかる構成において、暗号鍵生成プログラムは、共有鍵分離手段によって、共有鍵を第1鍵と第2鍵とに分離し、第1鍵を不揮発性記憶手段に記憶するとともに、第2鍵を揮発性記憶手段に記憶する。
そして、暗号鍵生成プログラムは、鍵拡張手段によって、第2鍵を第1鍵と同じ鍵長に拡張し、第3鍵として揮発性記憶手段に記憶する。
そして、暗号鍵生成装置は、暗号鍵算出手段によって、第1鍵と第3鍵との排他的論理和で暗号鍵を算出し、揮発性記憶手段に記憶する。
【0013】
また、前記課題を解決するため、本発明に係る暗号鍵生成・消去方法は、量子鍵配送によって生成される送受信間で共有する共有鍵から、ワンタイムパッド暗号で使用する暗号鍵を生成する暗号鍵生成・消去方法であって、共有鍵分離ステップと、鍵拡張ステップと、暗号鍵算出ステップと、鍵消去ステップと、を含む手順とした。
【0014】
かかる手順において、暗号鍵生成・消去方法は、共有鍵分離ステップで、共有鍵分離手段によって、共有鍵を第1鍵と第2鍵とに分離し、第1鍵を不揮発性記憶手段に記憶するとともに、第2鍵を揮発性記憶手段に記憶する。
そして、暗号鍵生成・消去方法は、鍵拡張ステップで、鍵拡張手段によって、第2鍵を第1鍵と同じ鍵長に拡張し、第3鍵として揮発性記憶手段に記憶する。
そして、暗号鍵生成・消去方法は、暗号鍵算出ステップで、暗号鍵算出手段によって、第1鍵と第3鍵との排他的論理和で暗号鍵を算出し、揮発性記憶手段に記憶する。
さらに、暗号鍵生成・消去方法は、鍵消去ステップで、暗号鍵出力手段によって、暗号鍵を使用した後、生成した各鍵を消去する。
【発明の効果】
【0015】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、電源を消すことで、暗号鍵および暗号鍵を生成するための共有鍵の一部を完全に消去することができる。これによって、本発明は、量子鍵配送によって生成される共有鍵から、安全に消去可能な暗号鍵を生成することができる。
【図面の簡単な説明】
【0016】
図1】本発明の実施形態に係る暗号鍵生成装置を含む量子暗号システムの構成を説明するための全体構成図である。
図2】本発明の実施形態に係る暗号鍵生成装置の構成を示す機能ブロック図である。
図3A図2の共有鍵分離手段における共有鍵の分離処理を説明するための説明図である。
図3B図2の鍵拡張手段における鍵拡張処理を説明するための説明図である。
図3C図2の暗号鍵算出手段における暗号鍵の算出処理を説明するための説明図である。
図4A】本発明の実施形態に係る暗号鍵生成装置の暗号鍵生成動作(暗号鍵生成方法)を示すフローチャートである。
図4B】本発明の実施形態に係る暗号鍵生成装置の暗号鍵出力動作(暗号鍵消去方法)を示すフローチャートである。
図5A】本発明の実施形態に係る暗号鍵生成装置を含む量子暗号システムの変形例(その1)を説明するための概要図である。
図5B】本発明の実施形態に係る暗号鍵生成装置を含む量子暗号システムの変形例(その2)を説明するための概要図である。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明に係る暗号鍵生成装置、暗号鍵生成プログラムおよび暗号鍵生成・消去方法を実施するための形態について詳細に説明する。
【0018】
≪量子暗号システム≫
図1を参照して、本発明の実施形態に係る暗号鍵生成装置を含む量子暗号システムの全体構成について説明する。図1は、本発明の実施形態に係る暗号鍵生成装置を含む量子暗号システムの構成を説明するための全体構成図である。
【0019】
量子暗号システム100は、量子鍵配送(QKD)で順次生成される共有鍵から暗号鍵を生成し、データ(平文)を暗号化して、送信機3から受信機4に送信する量子暗号のシステムである。
量子暗号システム100は、データの送信側の装置として、量子鍵配送装置1(1S)と、暗号鍵生成装置2(2S)と、送信機3とを備え、データの受信側の装置として、量子鍵配送装置1(1R)と、暗号鍵生成装置2(2R)と、受信機4とを備える。なお、量子鍵配送装置1Sおよび量子鍵配送装置1R、ならびに、暗号鍵生成装置2Sおよび暗号鍵生成装置2Rは、それぞれ同一の装置であるが、送信側と受信側とで区別するため、“S”,“R”の符号を付加している。
【0020】
量子鍵配送装置1(1S,1R)は、量子鍵配送(QKD)により乱数列の鍵を共有するものである。量子鍵配送は、量子鍵配送装置1Sと量子鍵配送装置1Rとの間で、光ファイバを介して、光子パルスを送受信し、安全かつ誤りのない予め定めたデータ長の乱数列を鍵蒸留により取り出すことで、鍵(以下、共有鍵K0という)を共有する手法である。共有鍵K0の鍵長は、後記する送信機3および受信機4で使用する暗号鍵K4よりも長いこととする。
なお、量子鍵配送は、公知の技術であるため、ここでは、詳細な説明を省略する。
量子鍵配送装置1(1S,1R)は、順次生成する共有鍵K0を暗号鍵生成装置2(2S,2R)に出力する。
【0021】
暗号鍵生成装置2(2S,2R)は、量子鍵配送装置1(1S,1R)で生成される共有鍵から、データの暗号化および復号を行うための暗号鍵K4を生成するものである。なお、量子暗号システム100の暗号方式は、量子暗号により一度使用した暗号鍵を使用しない暗号方式である。そのため、暗号鍵生成装置2は、生成した暗号鍵K4を複数蓄積する機能を有する。
【0022】
暗号鍵生成装置2は、量子鍵配送装置1で順次生成される共有鍵K0を、第1鍵K1と第2鍵K2とに分離する。なお、第1鍵K1の鍵長は、後記する送信機3および受信機4で使用する暗号鍵K4と同じ長さである。そして、暗号鍵生成装置2は、第1鍵K1を不揮発性記憶媒体(例えば、SRAM〔Static Random Access Memory〕、SSD〔Solid State Drive〕等)に記憶する。また、暗号鍵生成装置2は、第2鍵K2を揮発性記憶媒体(例えば、DRAM〔Dynamic Random Access Memory〕等に記憶する。
【0023】
暗号鍵生成装置2は、第2鍵K2の鍵長を第1鍵K1と同じになるように鍵拡張した第3鍵K3を生成し、揮発性記憶媒体(DRAM)に記憶する。そして、暗号鍵生成装置2は、第1鍵K1と第3鍵K3とで排他的論理和演算を行うことで暗号鍵K4を生成し、揮発性記憶媒体(DRAM)に記憶する。
そして、暗号鍵生成装置2は、ワンタイムパッドとして、暗号鍵K4を送信機3,受信機4に出力する。
暗号鍵生成装置2は、暗号鍵K4を出力後、暗号鍵K4と、暗号鍵K4を生成するために使用した第1鍵K1、第2鍵K2および第3鍵K3とを削除する。
なお、暗号鍵生成装置2の構成および動作についての詳細は後記する。
【0024】
送信機3は、平文のデータを暗号化して、受信機4に送信するものである。
送信機3は、暗号鍵生成装置2Sから出力される暗号鍵K4と、暗号鍵K4と同じビット長のデータとの間で排他的論理和演算を行うことで、データを暗号化する。
ここでは、送信機3は、データを暗号鍵K4(パッド)で暗号化し、一度使用した暗号鍵K4を使用しないワンタイムパッド(OTP)暗号によりデータを暗号化する。
送信機3は、暗号化したデータ(暗号文)を、データ通信回線を介して、受信機4に送信する。
【0025】
受信機4は、暗号化されたデータ(暗号文)を、送信機3から受信し、元のデータ(平文)に復号するものである、
受信機4は、暗号鍵生成装置2Rから出力される暗号鍵生成装置2Sと共有している暗号鍵K4と、暗号鍵K4と同じビット長のデータとの間で排他的論理和演算を行うことで、データを復号する。
ここでは、受信機4は、暗号化されたデータ(暗号文)を暗号鍵K4(パッド)で復号し、一度使用した暗号鍵K4を使用しないワンタイムパッド(OTP)暗号によりデータを復号する。
【0026】
以上説明したように、量子暗号システム100は、量子鍵配送(QKD)で順次生成される共有鍵K0を、データを暗号化/復号するための暗号鍵とせずに、暗号鍵生成装置2が共有鍵K0から生成した暗号鍵K4を用いることとした。
なお、第3鍵K3は、第2鍵を単に拡張しただけであるため、鍵としては計算量的安全性しか有さない。しかし、共有鍵K0から分離した第1鍵K1と第3鍵K3とを排他的論理和演算することで生成された暗号鍵K4は、第1鍵K1が量子鍵配送で生成された鍵の一部であるため、情報理論的安全性を有することになる。そのため、量子暗号システム100は、データの安全性を担保することができる。
【0027】
また、暗号鍵生成装置2は、共有鍵K0を第1鍵K1と第2鍵K2とに分離し、第1鍵K1を不揮発性記憶媒体、第2鍵を揮発性記憶媒体に記憶するともに、順次生成する第3鍵および暗号鍵K4を揮発性記憶媒体に記憶する。
これによって、暗号鍵生成装置2は、電源を消すことで、第2鍵K2、第3鍵K3および暗号鍵K4を完全消去することができる。たとえ、不揮発性記憶媒体に記憶されている第1鍵K1が漏洩しても、第3鍵K3を推定することは困難であるため、暗号鍵K4の漏洩を防止することができる。
【0028】
<暗号鍵生成装置の構成>
次に、図2を参照(適宜図1参照)して、本発明の実施形態に係る暗号鍵生成装置の構成について説明する。図2は、本発明の実施形態に係る暗号鍵生成装置の構成を示す機能ブロック図である。
【0029】
暗号鍵生成装置2は、不揮発性記憶手段20と、揮発性記憶手段21と、共有鍵入力手段22と、共有鍵分離手段23と、鍵拡張手段24と、暗号鍵算出手段25と、暗号鍵出力手段26と、を備える。
【0030】
不揮発性記憶手段20は、データを記憶するメモリであって、電源が供給されなくなってもデータを保持することが可能な不揮発性のメモリである。例えば、不揮発性記憶手段20は、SRAM等で構成することができる。
ここでは、不揮発性記憶手段20は、共有鍵分離手段23で分離された第1鍵K1を第1鍵記憶領域20aに記憶する。なお、不揮発性記憶手段20には、第1鍵K1のみを記憶するため、不揮発性記憶手段20のメモリ全体が第1鍵記憶領域20aに相当する。
不揮発性記憶手段20に記憶された第1鍵K1は、暗号鍵算出手段25によって、順次、読み出される。
なお、不揮発性記憶手段20は、図示を省略したメモリコントローラによって、データの書き込み、読み出し、消去が行われる。
【0031】
揮発性記憶手段21は、電源を供給している間、データを保持することが可能な揮発性のメモリである。例えば、揮発性記憶手段21は、DRAM等で構成することができる。
ここでは、揮発性記憶手段21は、共有鍵分離手段23で分離された第2鍵K2を第2鍵記憶領域21aに記憶する。また、揮発性記憶手段21は、鍵拡張手段24で生成された第3鍵K3を第3鍵記憶領域21bに記憶する。また、揮発性記憶手段21は、暗号鍵算出手段25で生成された暗号鍵K4を暗号鍵記憶領域21cに記憶する。
【0032】
揮発性記憶手段21に記憶された第2鍵K2は、鍵拡張手段24によって、順次、読み出される。また、揮発性記憶手段21に記憶された第3鍵K3は、暗号鍵算出手段25によって、順次、読み出される。また、揮発性記憶手段21に記憶された暗号鍵K4は、暗号鍵出力手段26によって、順次、読み出される。
なお、揮発性記憶手段21は、図示を省略したメモリコントローラによって、データの書き込み、読み出し、消去が行われる。
【0033】
共有鍵入力手段22は、量子鍵配送装置1によって共有された共有鍵K0を順次入力するものである。
共有鍵入力手段22は、入力した共有鍵K0を、順次、共有鍵分離手段23に出力する。
【0034】
共有鍵分離手段23は、共有鍵入力手段22で入力された共有鍵K0を、第1鍵K1と第2鍵K2とに分離するものである。共有鍵K0をどのように分離するかは、予めデータの送受信側の暗号鍵生成装置2(2S,2R)で共通とする。例えば、共有鍵分離手段23は、共有鍵K0の予め定めたビット位置から、データを抽出して第2鍵K2とし、残りを第1鍵K1とする。
【0035】
共有鍵分離手段23は、分離した第1鍵K1を、連続するインデックスに対応付けて不揮発性記憶手段20の第1鍵記憶領域20aに書き込み記憶する。また、共有鍵分離手段23は、分離した第2鍵K2を、第1鍵K1と同じインデックスと対応付けて揮発性記憶手段21の第2鍵記憶領域21aに書き込み記憶する。
【0036】
なお、共有鍵分離手段23は、共有鍵K0を、第1鍵K1と第2鍵K2とに分離する際に、図3Aに示すように、第1鍵K1を、第2鍵K2に対して十分長くすることが好ましい。例えば、第2鍵K2は、共有鍵K0の1/10以下、より好ましくは1/100以下とする。これは、量子鍵配送により生成された共有鍵K0の大部分である第1鍵K1を、不揮発性記憶手段20に記憶することで、停電時によるデータ喪失を最小限に抑えるためである。
共有鍵分離手段23は、第2鍵K2を揮発性記憶手段21に記憶した旨を鍵拡張手段24に通知する。
【0037】
鍵拡張手段24は、揮発性記憶手段21に記憶された第2鍵K2を、第1鍵K1と同じ鍵長に拡張するものである。すなわち、鍵拡張手段24は、図3Bに示すように、短い鍵長の第2鍵K2を、第1鍵K1と同じ鍵長に拡張して第3鍵K3を生成する。
例えば、鍵拡張手段24は、共通鍵暗号方式(AES:Advanced Encryption Standard)の鍵拡張手法を用いて、鍵長を拡張することができる。
鍵拡張手段24は、第2鍵K2の鍵長を拡張した第3鍵K3を、第2鍵K2と同じインデックスと対応付けて揮発性記憶手段21の第3鍵記憶領域21bに書き込み記憶する。
鍵拡張手段24は、第3鍵K3を揮発性記憶手段21に記憶した旨を暗号鍵算出手段25に通知する。
【0038】
暗号鍵算出手段25は、第1鍵K1と第3鍵K3との排他的論理和で暗号鍵K4を算出するものである。
具体的には、暗号鍵算出手段25は、図3Cに示すように、不揮発性記憶手段20に記憶されている第1鍵K1と、揮発性記憶手段21に記憶されている、第1鍵K1とインデックスが同じ第3鍵K3とで、排他的論理和演算を行うことで、暗号鍵K4を算出する。
暗号鍵算出手段25は、算出した暗号鍵K4を、第1鍵K1と同じインデックスと対応付けて揮発性記憶手段21の暗号鍵記憶領域21cに書き込み記憶する。
なお、第3鍵K3は、計算量的安全性しか有さない。しかし、第3鍵K3と第1鍵K1との間で排他的論理和演算を行うことで、生成される暗号鍵K4は、情報理論的安全性を有することになる。
【0039】
暗号鍵出力手段26は、外部から指示されることで、揮発性記憶手段21に記憶されている暗号鍵K4を順次読み出して外部に出力するものである。データの送信側の暗号鍵生成装置2Sの場合、暗号鍵算出手段25は、読み出した暗号鍵K4を送信機3に出力する。また、データの受信側の暗号鍵生成装置2Rの場合、暗号鍵算出手段25は、読み出した暗号鍵K4を受信機4に出力する。
【0040】
暗号鍵出力手段26は、暗号鍵K4を出力後、すなわち、暗号鍵K4を使用後、インデックスが同じ第1鍵K1、第2鍵K2、第3鍵K3および暗号鍵K4を削除(消去)する。
ここでは、暗号鍵出力手段26は、図示を省略したメモリコントローラを介して、第1鍵K1、第2鍵K2、第3鍵K3および暗号鍵K4を削除する。
【0041】
ただし、管理上、各鍵を削除しても、データとしてメモリ上に残存する場合があり、プローブ攻撃等によって、暗号鍵K4が漏洩する場合がある。そこで、暗号鍵生成装置2は、送信機3から受信機4へのデータ伝送が完了した後、電源を消すこととする。これによって、揮発性記憶手段21に記憶されていた第2鍵K2、第3鍵K3および暗号鍵K4は完全に消去される。また、不揮発性記憶手段20には、第1鍵K1が残存する可能性があるが、第1鍵K1が漏洩しても、第3鍵K3を推定することは困難であるため、暗号鍵K4の漏洩を防止することができる。
【0042】
なお、暗号鍵生成装置2は、第2鍵K2、第3鍵K3および暗号鍵K4を、揮発性記憶手段21に記憶するため、停電等で電源が喪失した場合、第2鍵K2、第3鍵K3および暗号鍵K4が消去される。しかし、量子鍵配送(QKD)で共有した共有鍵K0の大部分は、第1鍵K1として保持される。すなわち、予期せぬ電源喪失後、電源が復旧した場合、暗号鍵生成装置2S,2R間で、第2鍵K2のみを共有し直せばよい。
【0043】
例えば、暗号鍵生成装置2は、電源復旧後、復旧した暗号鍵生成装置2の第1鍵記憶領域20aに保存され、暗号鍵生成装置2S,2R間で共有している第1鍵K1を乱数源とし、予め定めたビット位置から第2鍵K2を生成し、第3鍵K3、暗号鍵K4を順次生成すればよい。
また、例えば、量子鍵配送装置1S,1Rによって第2鍵K2の鍵長の乱数列を量子鍵配送により生成し、暗号鍵生成装置2S,2Rに出力することとしてもよい。その場合、共有鍵分離手段23は、入力した鍵を分離せず、揮発性記憶手段21の第2鍵記憶領域21aに記憶し、第3鍵K3、暗号鍵K4を順次生成すればよい。
【0044】
<暗号鍵生成装置の動作>
次に、図4Aを参照(構成については、適宜図2参照)して、本発明の実施形態に係る暗号鍵生成装置の暗号鍵生成動作(暗号鍵生成方法)について説明する。図4Aは、本発明の実施形態に係る暗号鍵生成装置の暗号鍵生成動作(暗号鍵生成方法)を示すフローチャートである。
【0045】
ステップS1において、共有鍵入力手段22は、量子鍵配送装置1によって共有された共有鍵K0を入力する。
ステップS2において、共有鍵分離手段23は、ステップS1で入力された共有鍵K0を、第1鍵K1と第2鍵K2とに分離する。このとき、共有鍵分離手段23は、第1鍵K1を、第2鍵K2に対して十分長くする。
【0046】
ステップS3において、共有鍵分離手段23は、ステップS2で分離した第1鍵K1を、連続するインデックスに対応付けて不揮発性記憶手段20の第1鍵記憶領域20aに書き込み記憶する。
ステップS4において、共有鍵分離手段23は、ステップS2で分離した第2鍵K2を、第1鍵K1と同じインデックスと対応付けて揮発性記憶手段21の第2鍵記憶領域21aに書き込み記憶する。
なお、ステップS3とステップS4とは、動作順序を入れ替えてもよい。
【0047】
ステップS5において、鍵拡張手段24は、ステップS4で揮発性記憶手段21に記憶された第2鍵K2を第1鍵K1と同じ鍵長に拡張して、第3鍵K3を生成する。
ステップS6において、鍵拡張手段24は、ステップS5で生成した第3鍵K3を、第2鍵K2と同じインデックスと対応付けて揮発性記憶手段21の第3鍵記憶領域21bに書き込み記憶する。
【0048】
ステップS7において、暗号鍵算出手段25は、ステップS3で不揮発性記憶手段20に記憶された第1鍵K1と、ステップS6で揮発性記憶手段21に記憶された第3鍵K3とで、排他的論理和演算を行うことで、暗号鍵K4を生成する。このとき、暗号鍵算出手段25は、同じインデックスで対応する第1鍵K1と第3鍵K3とから暗号鍵K4を生成する。
【0049】
ステップS8において、暗号鍵算出手段25は、ステップS7で生成された暗号鍵K4を、第1鍵K1と同じインデックスと対応付けて揮発性記憶手段21の暗号鍵記憶領域21cに書き込み記憶する。
【0050】
ステップS9において、暗号鍵算出手段25は、所定数の暗号鍵K4を生成したか否かを判定する。なお、暗号鍵K4の所定数は、伝送するデータ長に依存して、予め設定された数である。
【0051】
ここで、暗号鍵K4の数が所定数に満たない場合(ステップS9でNo)、暗号鍵生成装置2は、ステップS1に戻って動作を継続する。
一方、暗号鍵K4の数が所定数に達した場合(ステップS9でYes)、暗号鍵生成装置2は、暗号鍵の生成動作を終了する。
これによって、揮発性記憶手段21には、所定数の暗号鍵K4が記憶されることになる。
【0052】
次に、図4Bを参照(構成については、適宜図2参照)して、本発明の実施形態に係る暗号鍵生成装置の暗号鍵出力動作(暗号鍵消去方法)について説明する。図4Bは、本発明の実施形態に係る暗号鍵生成装置の暗号鍵出力動作(暗号鍵消去方法)を示すフローチャートである。
すなわち、図4Bの動作は、図4Aの動作で暗号鍵が生成され、揮発性記憶手段21に蓄積された後、外部からの指示で暗号鍵を出力する動作である。
【0053】
ステップS10において、暗号鍵出力手段26は、揮発性記憶手段21に記憶されている暗号鍵K4をインデックスの順に読み出す。
ステップS11において、暗号鍵出力手段26は、ステップS10で読み出した暗号鍵K4を、外部(送信機3または受信機4)に出力する。
【0054】
ステップS12において、暗号鍵出力手段26は、ステップS11で暗号鍵K4を出力後、インデックスが同じ第1鍵K1、第2鍵K2、第3鍵K3および暗号鍵K4を削除する。
【0055】
ステップS13において、暗号鍵出力手段26は、所定数の暗号鍵K4を出力したか否かを判定する。なお、暗号鍵K4の所定数は、伝送するデータ長に依存して、予め設定された数であって、ステップS9(図4A)の所定数と同じである。
ここで、暗号鍵K4の出力数が所定数に満たない場合(ステップS13でNo)、暗号鍵生成装置2は、ステップS10に戻って動作を継続する。
一方、暗号鍵K4の出力数が所定数に達した場合(ステップS13でYes)、暗号鍵生成装置2は、暗号鍵の出力動作を終了する。
【0056】
なお、本動作終了後、暗号鍵生成装置2の電源を消すこととする。
これによって、暗号鍵生成装置2は、暗号鍵K4および暗号鍵K4を生成するための鍵を完全に消去することができ、暗号鍵K4の漏洩を防止することができる。
【0057】
以上、本発明の実施形態に係る暗号鍵生成装置2の構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
ここでは、暗号鍵生成装置2を、図1に示すように、量子鍵配送装置1Sと送信機3との間、量子鍵配送装置1Sと送信機3との間に、独立した装置として構成した。
【0058】
しかし、図5Aの量子暗号システム100Bに示す送信機3Bや受信機4Bのように、送信機3Bの内部、受信機4Bの内部に、暗号鍵生成装置2を備える構成としてもよい。
また、図5Bの量子暗号システム100Cに示す量子鍵配送装置1Bのように、量子鍵配送装置1Bの内部に、暗号鍵生成装置2を備える構成としてもよい。
【符号の説明】
【0059】
1 量子鍵配送装置
2 暗号鍵生成装置
20 不揮発性記憶手段
21 揮発性記憶手段
22 共有鍵入力手段
23 共有鍵分離手段
24 鍵拡張手段
25 暗号鍵算出手段
26 暗号鍵出力手段
3 送信機
4 受信機
100 量子暗号システム
図1
図2
図3A
図3B
図3C
図4A
図4B
図5A
図5B