図面 (/)

技術 鍵生成装置、鍵生成方法及びプログラム

出願人 株式会社東芝
発明者 高橋莉里香谷澤佳道土井一右鯨岡真美子村上明
出願日 2018年9月19日 (2年3ヶ月経過) 出願番号 2018-174928
公開日 2020年3月26日 (9ヶ月経過) 公開番号 2020-048069
状態 未査定
技術分野 暗号化・復号化装置及び秘密通信
主要キーワード 真空パルス 動作速度性能 各対角線 セキュアキー 処理サイズ 行数と列数 光ファイバーリンク 暗号鍵長
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年3月26日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

制限されたリソース下で、鍵の安全性を維持しつつ、生成速度をより向上させる。

解決手段

実施形態の情報処理装置は、計算部と決定部と生成部とを備える。計算部は、鍵長を計算する。決定部は、鍵生成処理処理単位であるブロックサイズと、前記鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズとを決定する。生成部は、前記ブロックサイズと、前記出力可能サイズとにより定まるサイズの行列を使用したハッシュ演算によって、前記鍵長の鍵を生成する。

概要

背景

光ファイバーにより接続された送信装置受信装置との間で連続的に送信された単一光子を利用して、安全に暗号鍵共有する量子鍵配送(QKD:Quantum Key Distribution)技術が従来から知られている。

概要

制限されたリソース下で、鍵の安全性を維持しつつ、生成速度をより向上させる。実施形態の情報処理装置は、計算部と決定部と生成部とを備える。計算部は、鍵長を計算する。決定部は、鍵生成処理処理単位であるブロックサイズと、前記鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズとを決定する。生成部は、前記ブロックサイズと、前記出力可能サイズとにより定まるサイズの行列を使用したハッシュ演算によって、前記鍵長の鍵を生成する。

目的

また実施形態の鍵生成装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

鍵長を計算する計算部と、鍵生成処理処理単位であるブロックサイズと、前記鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズとを決定する決定部と、前記ブロックサイズと、前記出力可能サイズとにより定まるサイズの行列を使用したハッシュ演算によって、前記鍵長の鍵を生成する生成部と、を備える鍵生成装置

請求項2

前記決定部は、前記鍵生成装置のリソース通信路エラーレート、及び、前記通信路を介して受信されたパルス統計情報の少なくとも1つに基づいて、前記ブロックサイズを決定する、請求項1に記載の鍵生成装置。

請求項3

前記決定部は、前記ブロックサイズを決定し、前記鍵生成装置のリソースと前記ブロックサイズとに基づいて前記出力可能サイズを決定する、請求項1に記載の鍵生成装置。

請求項4

前記決定部は、前記出力可能サイズを決定し、前記鍵生成装置のリソースと前記出力可能サイズとに基づいて前記ブロックサイズを決定する、請求項1に記載の鍵生成装置。

請求項5

前記決定部は、前記出力可能サイズが前記鍵長と等しくなるように前記ブロックサイズを決定する、請求項4に記載の鍵生成装置。

請求項6

前記決定部は、所定の時間間隔で、前記鍵長のフィードバック受け付け、フィードバックされた鍵長と、前記出力可能サイズとを比較して、前記出力可能サイズが前記鍵長と等しくなるように、前記ブロックサイズを決定する、請求項4に記載の鍵生成装置。

請求項7

前記決定部は、前記鍵長が計算される度に、前記鍵長のフィードバックを受け付け、フィードバックされた鍵長と、前記出力可能サイズとを比較して、前記出力可能サイズが前記鍵長と等しくなるように、前記ブロックサイズを動的に決定する、請求項4に記載の鍵生成装置。

請求項8

前記決定部は、前記鍵長の履歴収集し、前記鍵長の平均又は最大値よりも、前記出力可能サイズが大きくなるように、前記ブロックサイズを決定する、請求項4に記載の鍵生成装置。

請求項9

前記決定部は、所定の時間間隔で、前記鍵長と、前記鍵長が算出されたときの出力可能サイズとを監視し、前記鍵長と前記出力可能サイズとが近づくように、前記ブロックサイズを決定する、請求項4に記載の鍵生成装置。

請求項10

鍵長を計算するステップと、鍵生成処理の処理単位であるブロックサイズと、前記鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズとを決定するステップと、前記ブロックサイズと、前記出力可能サイズとにより定まるサイズの行列を使用したハッシュ演算によって、前記鍵長の鍵を生成するステップと、を含む鍵生成方法

請求項11

コンピュータを、鍵長を計算する計算部と、鍵生成処理の処理単位であるブロックサイズと、前記鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズとを決定する決定部と、前記ブロックサイズと、前記出力可能サイズとにより定まるサイズの行列を使用したハッシュ演算によって、前記鍵長の鍵を生成する生成部、として機能させるためのプログラム

技術分野

0001

本発明の実施形態は鍵生成装置鍵生成方法及びプログラムに関する。

背景技術

0002

光ファイバーにより接続された送信装置受信装置との間で連続的に送信された単一光子を利用して、安全に暗号鍵共有する量子鍵配送(QKD:Quantum Key Distribution)技術が従来から知られている。

0003

英国特許第2503045号明細書

先行技術

0004

Efficient decoy−state quantum key distribution with quantified security, M. Lucamarini et al., Optics Express, Vol. 21, Issue 21, pp. 24550−24565 (2013).

発明が解決しようとする課題

0005

しかしながら、従来の技術では、制限されたリソース下で、鍵の安全性を維持しながら、生成速度を向上させることが難しかった。

課題を解決するための手段

0006

実施形態の鍵生成装置は、計算部と決定部と生成部とを備える。計算部は、鍵長を計算する。決定部は、鍵生成処理処理単位であるブロックサイズと、前記鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズとを決定する。生成部は、前記ブロックサイズと、前記出力可能サイズとにより定まるサイズの行列を使用したハッシュ演算によって、前記鍵長の鍵を生成する。

図面の簡単な説明

0007

鍵蒸留処理の例を示すフローチャート
ブロックサイズ、出力可能サイズ及び鍵長の関係を示す図。
実施形態の鍵生成装置の機能構成の例を示す図。
実施形態のブロックサイズ及び出力可能サイズの例1を示す図。
実施形態のブロックサイズ及び出力可能サイズの例2を示す図。
実施形態の鍵生成装置10の効果を説明するための図。
実施形態の鍵生成装置のハードウェア構成の例を示す図。

実施例

0008

以下に添付図面を参照して、鍵生成装置、鍵生成方法及びプログラムの実施形態を詳細に説明する。

0009

(QKD概要
はじめに、量子暗号通信システムについて説明する。量子暗号通信システムは、送信機受信機とによって構成される。送信機が光子光ファイバーリンク上で送信し、受信機がこれを検出する。その後、送信機と受信機とが相互に制御情報交換することによって、送信機と受信機との間で暗号鍵情報を共有する。この処理をシフティング処理(Sifting)と称する。次に、共有された暗号鍵情報をもとに、誤り訂正処理(Error Correction,EC)によって、送信機と受信機との間で生じた暗号鍵情報の誤り修正する。さらに、暗号鍵情報のうち、盗聴者によって盗聴されたかもしれない情報を打ち消すための情報圧縮に相当する秘匿性増強処理(Privacy Amplification,PA)を実施する。以上の処理によって、最終的に、送信機及び受信機は盗聴されていないことが保証された暗号鍵を共有することができる。

0010

以上の技術は一般に量子鍵配送(Quantum Key Distribution,QKD)と呼ばれる技術により実現できる。共有された暗号鍵は、送信機と受信機との間、あるいは、それぞれの装置に接続されたアプリケーション間でデータの暗号通信を行う際に利用される。

0011

QKDでは、暗号鍵を共有するために利用される量子は、観測されることで状態が変化する、量子力学基本原理の一つである不確定原理を持っている。この性質により、送信機が送信した暗号鍵情報を含む量子を量子通信路上で盗聴者が観測すると、量子の状態が変化し、量子を受け取った受信機は、盗聴者に量子を観測されたことを知ることができる。その際、量子状態の変化は送信機と受信機間リンク量子ビットエラーレート(Quantum Bit Error Rate、QBER)として現れる。盗聴者が量子を盗聴しようとすると、量子の状態が変化し、QBERが大きくなるため、受信機と送信機は盗聴者の存在を知ることができる。

0012

(性能・セキュアキーレート)
共有する暗号鍵の単位時間あたりの量は、セキュアキーレートと呼ばれ、量子暗号ステム動作速度性能に相当する。沢山の暗号鍵を利用できる方が、より高速、かつ、安全な暗号通信ができるため、セキュアキーレートが大きいほど、より高性能な量子暗号通信システムであると言える。

0013

(安全性・有限長効果)
QKDでは、盗聴者に盗聴された情報量を正確に知ることは難しいため、盗聴された情報量を推定して、推定値から安全な暗号鍵の長さの計算を行うことがある。盗聴者に漏れた情報量を取り除いた暗号鍵を出力するために、QBERなどのQKDを行ったときの測定値から、盗聴者に漏れた情報量を推定して、安全性の確保された暗号鍵の長さを算出する。

0014

QBERなどのQKDの測定値は、盗聴者の存在だけでなく、温度やファイバーへの外的要因などの環境要因によっても変動するが、QKDシステムではこれらの違いを判別することはできない。そこで、一般的には安全側に倒して考えて、環境要因によるQKDの測定値の変動もすべて盗聴者の存在によるもの、盗聴者に情報が漏れたと考えて暗号鍵の長さを算出する。

0015

理想的なQKDシステムにおいては、QBERから生成された暗号鍵、及び、暗号鍵が生成される過程の処理での暗号鍵情報など、QKDの動作中のすべてのQKDの測定値から盗聴者に漏れた情報量を決定し、誤差なく暗号鍵の長さを算出することが理想である。しかし、現実的には無限の長さである、すべてのQKDの測定値を収集して盗聴者に漏れた情報量を決定することは不可能であり、ある程度の長さのブロックに区切るなどして有限の長さのQKDの測定値を収集して、盗聴者に漏れた情報量をその範囲で推定しなければならない。この盗聴者に漏れた情報量の推定を行うときに、推定をより精度良く行うために、QKDの測定値の収集量を多くして変動をできるだけ抑え、推定誤差をできるだけ少なくすることが望ましいと考えられている。推定によって生じた誤差に関しても、安全側に倒して考え、盗聴者に漏れた情報量が多い方の推定値を採用して、暗号鍵の長さを算出する。そのため、理想的に無限の長さから盗聴者に漏れた情報量を決定する場合に比べて、現実的には盗聴者に漏れた情報量を多めに推定するので、算出される暗号鍵の長さは小さくなる。この理想的なシステムと実際のシステムとの乖離による暗号鍵の長さの減少を有限長効果(finite size effect)と呼んだりする。有限長効果による暗号鍵の長さの減少を抑えるためには、QKDの測定値を収集する範囲を大きくするなど、QKDシステムでの処理の単位をできるだけ大きくすることが望ましいと考えられている。この処理の単位のことをブロックサイズと呼ぶ。

0016

(PAのステップ
図1は鍵蒸留処理の例を示すフローチャートである。鍵蒸留処理は、シフティング処理、誤り訂正処理及び秘匿性増強処理を含む。

0017

シフティング処理(Sifting)では、光子のパルス基底の情報とに基づいて、量子通信で検出した光子から鍵ビット列を抽出し、さらに、鍵長を計算するために利用するパルスの統計情報データを作成する。

0018

誤り訂正処理(EC)では、シフティング処理により生成された鍵ビット列を入力として、送受信者で共有したビット列誤り訂正を行い、誤りビット数から量子通信路のエラーレートを算出し、EC後の鍵ビット列を出力する。

0019

秘匿性増強処理(PA)では、量子通信路のエラーレートとパルスの統計情報データとに応じて、最終的な暗号鍵の長さを算出し、鍵長に応じたサイズの行列を用意する。そして、当該行列と、EC後の鍵ビット列とのハッシュを計算する。

0020

具体的には、PAは、鍵長計算のステップとハッシュ計算のステップとの2つに分けられる。鍵長計算のステップでは、量子通信路のエラーレートとパルスの統計情報とに応じて、最終的な暗号鍵の長さを算出する。量子通信路のエラーレートが高いほど、盗聴者に洩れた情報量を多く見積もり、安全な鍵とするために暗号鍵の長さは小さくする。最終的な暗号鍵の長さの計算を行う際に、盗聴者に漏洩した情報量を見積もるために、パルスや基底の組合せのエラーレートを計算する。そのため、Siftingで生成されたパルスの統計情報から、複数のデータのカウント数ビット誤りの数とを計算する。さらに、鍵長計算のステップでは、ECから、量子通信路のエラーレートと誤り訂正の処理で古典通信路上を通信したビット数受け付けパラメータ推定に利用し、最終的な暗号鍵の長さの計算を行う。

0021

また、前述(安全性・有限長効果)のように盗聴者に漏洩した情報量の推定での誤差を小さくするために、暗号鍵の長さ、及び、一連の処理を行うデータセットのサイズ(ブロックサイズ)をできるだけ大きくする。ブロックサイズが大きいほど、推定誤差が小さくなり、計算される暗号鍵の長さは大きくなる。

0022

ハッシュ計算のステップでは、鍵長計算のステップで計算された暗号鍵の長さと、鍵長計算で利用したブロックサイズとに応じたサイズの行列を用意する。そして、当該行列を使用して、ECで出力されたブロックサイズ分の鍵ビット列とのハッシュ演算を計算して、最終的に鍵長計算のステップで計算された暗号鍵の長さ分の暗号鍵ビット列を出力する。ハッシュ計算は、行列とベクトルの積になるため、単純に実装すると大きなメモリが必要になってしまう。

0023

(PAのハッシュ計算の説明)
PAのハッシュ計算は、盗聴者に漏れた情報を取り除く処理である。量子通信路でのエラーレートなどQKDの測定値の変動は盗聴者によるものかもしれないという考え、及び、古典通信路で通信するデータはすべて盗聴者に盗聴されているかもしれないという考えの上で最終的に安全な暗号鍵を生成する。処理としては、例えばハッシュ関数として、Toeplitz行列と呼ばれる、左から右の各対角線に沿って要素が一定であるような対角一定行列を、入力されるビット列にかけることにより、ビット列を安全な範囲まで圧縮する。その際、量子通信路のエラーレートなどのQKDの測定値の変動に応じて安全性を考慮して、最終的に出力すべき暗号鍵のビット列の長さを変える。

0024

図2はブロックサイズn、出力可能サイズm及び鍵長sの関係を示す図である。図2を使用して、処理の順序について説明する。

0025

(1)EC処理がされたブロックサイズn分の入力ビット列を受け付ける。
(2)量子通信路のエラーレートなどから暗号鍵の鍵長sが計算される。
(3)n×sのハッシュ行列が乱数を使用して構成される。
(4)入力ビット列とハッシュ行列との行列積を計算し、出力された鍵長sのビット列を暗号鍵とする。

0026

PAでは、処理速度及び安全性(有限長効果)の観点から、できるだけ大きなサイズのハッシュ行列を利用することが理想とされているが、ハッシュ計算に割り当てられるリソース(メモリのサイズ)によってPAで扱うハッシュ行列のサイズが制限される。

0027

PAに入力するビット列のサイズ(ブロックサイズn)を大きくすればするほど、効率的に暗号鍵を生成できるが、ハッシュを実装するメモリサイズ等の実装の制約がある。以下、実装の制約がある状況で、安全性及び高速性を考慮して、暗号鍵を生成する方法について説明する。

0028

[機能構成の例]
図3は実施形態の鍵生成装置10の機能構成の例を示す図である。実施形態の鍵生成装置10は、共有部1、記憶部2、シフティング処理部3、誤り訂正処理部4及び秘匿性増強処理部5を備える。

0029

実施形態の説明では、鍵生成装置10が受信装置に備えられている場合を例にして説明する。

0030

共有部1は、送信装置との間で光子情報のやりとりを行い、当該光子情報から取り出した量子鍵ビット列、当該量子鍵ビット列を取り出す際に選択された基底の情報、及び、送信装置が光子の送信に利用したパルスの情報などを記憶部2に記憶する。

0031

記憶部2は情報を記憶する。記憶部2は、例えば各機能ブロックにより得られた情報(ビット列等)を記憶する。なお、記憶部2に記憶される情報は、当該記憶部2を経由して、他の構成ブロックで利用してもよいし、構成ブロック間で直接やりとりしてもよい。

0032

シフティング処理部3は、記憶部2から、量子鍵ビット列を読み出し、上述のシフティング処理を行って、送信装置と共有する共有鍵ビット列を生成し、当該共有鍵ビット列を記憶部2に記憶する。

0033

誤り訂正処理部4は、記憶部2から共有鍵ビット列を読み出し、上述の誤り訂正処理を行って、共有鍵ビット列の誤りを訂正し、訂正後の共有鍵ビット列を記憶部2に記憶する。

0034

秘匿性増強処理部5は、記憶部2から、訂正後の共有鍵ビット列を読み出し、上述の秘匿性増強処理を行って、暗号鍵を生成し、当該暗号鍵を記憶部2に記憶する。誤り訂正処理で送信装置との間で行われた通信は、盗聴者に漏れていると考えて、秘匿性増強処理で、盗聴された可能性のある情報の量に基づいて、訂正後の共有鍵ビット列から暗号鍵が生成される。盗聴された可能性のある情報の量が多いほど、秘匿性増強処理で削減される情報の量が多くなる。

0035

具体的には、秘匿性増強処理部5は、計算部51、決定部52及び生成部53を備える。

0036

計算部51は、暗号鍵の鍵長を計算する。具体的には、計算部51は、統計情報をもとに、最終的な暗号鍵の長さを計算する。例えば、統計情報は、誤り訂正処理部4から受け取ったエラーレートなどである。また例えば、統計情報は、シフティング処理部3から受け取ったパルス(例えばデコイパルス及び真空パルス等)の統計情報(カウント数及び誤り数など)である。また例えば、統計情報は、誤り訂正処理部の処理で、古典通信を介して通信されたデータのビット数である。

0037

決定部52は、鍵生成処理の処理単位であるブロックサイズnと、当該鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズmとを決定する。ブロックサイズnは、例えば暗号鍵の鍵長を計算する計算式に基づいて、決定される。また例えば、ブロックサイズnは、フィードバックされた鍵長に基づいて、ブロックサイズnを改善していくなどして決定(更新)される。

0038

PAにおいては、処理速度及び安全性の観点から、より大きなブロックサイズn(行数n)のハッシュ行列を利用することが理想とされているが、ハッシュ行列を保持するメモリサイズの制約により、入力であるブロックサイズnを大きくすると、出力可能サイズmが制限され、さらには、出力である最終的な暗号鍵のサイズ(鍵長s)が制限される。そこで、決定部52が、鍵長計算で得られた鍵長sに応じたブロックサイズnを決定する。

0039

ブロックサイズnを決定するための具体的な方式の例について説明する。

0040

(方式/最適値導出
決定部52は、鍵生成装置10のリソース、量子通信路のエラーレート、及び、パルスの統計情報の少なくとも1つに基づいて、ブロックサイズnを決定する。具体的には、決定部52は、例えば鍵長計算で算出される鍵長sが出力可能サイズmと等しくなるようにブロックサイズnを決定する。例えば、f(n)=mという方程式解くことで、最適なnを得る。ここで、関数fは鍵長計算の式であり、ブロックサイズnに依存することを表している。また、関数fには、例えば通信路(量子通信路)のエラーレート等の変数が含まれる。変数Xを鍵生成装置のリソースによるハッシュ行列の行数と列数の和の上限を表す定数としたとき、出力可能サイズmはブロックサイズnとリソースXから、m=X−nと表せるので、f(n)=X−nとなる。また、鍵長sは鍵長計算の式から算出されるのでs=f(n)でもある。

0041

(方式/比較)
決定部52は、鍵長計算で算出される鍵長sと出力可能サイズmの正負の関係からブロックサイズnを処理ごとに決定(更新)する。決定部52は、m=X−nであるので、s>mならば、より出力可能サイズmを大きくするために、ブロックサイズnを小さくする。一方、決定部52は、s<mならば、出力可能サイズmを絞ってブロックサイズnを大きくする。

0042

(方式/履歴参照)
決定部52は、これまでの鍵長計算で算出される鍵長sの履歴を収集してブロックサイズnを決定(更新)する。決定部52は、例えば、これまでの鍵長sの履歴の平均s_avgを参照して、s_avgよりも大きな出力可能サイズmとなるように、ブロックサイズnをn=X−mとして決定する。また例えば、決定部52は、これまでの鍵長sの履歴の最大のs_maxを参照して、s_maxよりも大きな出力可能サイズmとなるように、ブロックサイズnを決定する。

0043

(方式/監視
決定部52は、所定の時間間隔で、鍵長計算で算出される鍵長sと、鍵長sが算出されたときの出力可能サイズmと、を監視し、鍵長s(の値)と出力可能サイズm(の値)とが近づくように、ブロックサイズnを最適な値に決定(更新)する。

0044

(方式/リアルタイム制御
決定部52は、鍵長計算で算出される鍵長sの結果をもとに、PAの処理の内部で、リアルタイムに出力可能サイズmと比較しながら、最適なブロックサイズnを探し、適用する。具体的には、決定部52は、例えば鍵長sが計算される度に、鍵長sのフィードバックを受け付け、フィードバックされた鍵長sと、出力可能サイズmとを比較して、出力可能サイズmが鍵長sと等しくなるように、ブロックサイズnを動的に決定する。なお、決定部52は、所定の時間間隔で、鍵長sのフィードバックを受け付け、フィードバックされた鍵長sと、出力可能サイズmとを比較して、出力可能サイズmが鍵長sと等しくなるように、ブロックサイズnを決定してもよい。

0045

なお、秘匿性増強処理の単位となるブロックサイズnは、他の統計情報から盗聴者に漏れている情報量を推定するときの推定誤差に影響する。そのため、ブロックサイズnも上述の統計情報に含めてもよい。

0046

生成部53は、ブロックサイズnと、出力可能サイズmとにより定まるサイズの行列を使用したハッシュ演算によって、計算部51により計算された鍵長の鍵を生成する。生成部53は、例えばブロックサイズnと同じ行数と、出力可能サイズmと同じ列数とを有する行列(ハッシュ行列)を使用したハッシュ演算によって、計算部51により計算された鍵長の鍵を生成する。具体的には、生成部53は、記憶部2に記憶された訂正後の共有鍵ビット列をブロックサイズ分取り出し、送信装置と共通のブロックサイズと出力可能サイズとからなるハッシュ行列を使用してハッシュ計算を行う。ハッシュ後の鍵ビット列は、暗号鍵として出力しても良いし、ハッシュ後の鍵ビット列を記憶部2に記憶してから、暗号鍵として出力しても良い。

0047

なお、生成部53は、ブロックサイズnと同じ列数と、出力可能サイズmと同じ行数とを有する行列を使用したハッシュ演算によって、計算部51により計算された鍵長の鍵を生成してもよい。

0048

動作方法の例]
上述の図1のように、PAとは、前段のECからの入力を受けて、暗号鍵を算出する処理である。ECでは、さらに前段の処理であるシフティング処理から受け取った鍵ビット列の誤りを訂正して、訂正後の鍵ビット列をPAに入力する。さらに、ECでは、鍵ビット列に含まれる誤りからエラーレートを計算し、QKDを行う量子通信路のエラーレートとして、PAに入力する。

0049

PAの内部の処理は、鍵長計算とハッシュ計算とに分けられる。

0050

PAの鍵長計算では、ECで算出した量子通信路のエラーレート、QKDのパラメータ(パルスの統計情報など)、及び、処理を行う鍵ビット列のサイズ(ブロックサイズ)に応じて、最終的な暗号鍵の長さを算出する。最終的な暗号鍵長の計算を行うための盗聴者に漏洩した情報量を見積もるために、パルス及び基底の組合せでエラーレートを計算することがある。そのため、計算部51は、シフティングで生成されたパルスの統計情報から、複数のデータのカウント数及びビット誤りの数を計算する。さらに、計算部51は、ECから量子通信路のエラーレートと、誤り訂正で漏洩したビット数(古典通信路上の通信ビット数)とを受け付ける。計算部51は、複数のデータのカウント数、ビット誤りの数、量子通信路のエラーレート、及び、誤り訂正で漏洩したビット数をパラメータ推定に利用し、最終的な暗号鍵長である鍵長sを計算する。

0051

計算部51は、量子通信路のエラーレートが高いほど、盗聴者に洩れた情報量が多いと考えて、盗聴者に洩れた情報量を取り除いて、安全な鍵とするために鍵長sを小さくする。一方、計算部51は、量子通信路のエラーレートが低いほど、盗聴者に洩れた情報量が少ないと考えて、鍵長sを大きくする。

0052

また、ブロックサイズnによって、盗聴者に漏洩した情報量の見積りの精度が変わる。そのため、ブロックサイズnは、最終的な暗号鍵長である鍵長sに影響する。

0053

ブロックサイズnが大きければ、QKDのパラメータから推定される盗聴者に漏洩した情報量の推定誤差が減り、鍵長sは大きくなり、ブロックサイズnが小さければ、QKDのパラメータから推定される盗聴者に漏洩した情報量の推定誤差が大きくなり、鍵長sは小さくなる。安全性の評価においては、一般的に安全側に倒して考えるので、実際に盗聴された情報量は盗聴者に漏洩した情報量の推定値の最悪のケースを想定する。そのため、推定された値の範囲の中で最も大きい値を盗聴者に漏洩した情報量とする。したがって、推定誤差を小さくすることは、漏洩した情報量の推定の上限値を小さくすることにつながり、実際に近い推定ができ、実際よりも余分に多く盗聴される情報量を推定して最終的な鍵の長さを小さくすることを避けることにつながる。

0054

PAのハッシュ計算では、鍵長計算で算出された暗号鍵の長さに応じたサイズの行列を用意して、ECで出力されたブロックサイズ分の鍵ビット列との行列積を計算して、最終的な暗号鍵ビット列を出力する。PAでは、例えば、ハッシュ行列としてToeplitz行列という特殊な対角一定行列を利用する。これを実現する場合においては、行数と列数の和がメモリサイズによって制限される。行数は入力ブロックサイズと等しく、安全性の観点からできる限り大きいことが理想である。列数は出力する暗号鍵ビット列のサイズと等しく、高速化の観点から大きいことが望まれる。

0055

ハッシュ計算で利用するハッシュ関数では、上述の図2のようにブロックサイズnと出力可能サイズmが、行列の行数及び列数に対応する。ブロックサイズnは安全性の観点から無限に大きくするのが理想である。出力可能サイズmもできる限り大きくして、最終的に鍵長計算で算出される鍵長sをできるだけそのまま暗号鍵として出力したい。しかし、鍵生成装置のリソースによるハッシュ行列のサイズの制約Xがあるため、行列の行数と列数とがトレードオフの関係になり、両方の値をともに大きくすることが難しくなる。

0056

ここで、鍵長sは、鍵長計算において、量子通信路のエラーレートなどの変動値とブロックサイズnによって安全性を考慮して決められる。出力可能サイズmを大きくしても、安全性を考慮した鍵長計算で算出された鍵長sしか出力することはできないし、鍵長sが出力可能サイズmよりも小さくなる可能性はある。そこで、決定部52が、鍵長計算で算出される鍵長sが出力可能サイズmと等しくなるようにブロックサイズnを決定することで、鍵生成装置のリソースを有効に活用しながら、安全性を維持しつつ、処理速度を向上させる。

0057

(メモリサイズとハッシュ計算サイズの関係)
ハッシュ行列を用いたハッシュ計算においては、ハッシュ行列を保持するメモリサイズによって利用できる処理サイズの上限が抑えられる。例えば、数論変換NTT:Number Theoretical Transform)を用いて、高速にToeplitz行列を用いたハッシュ計算を実行しようとした場合、ハッシュの行数と列数との和である処理サイズに応じて、NTTの実装において必要なメモリが大きくなることがわかっている。

0058

つまり、無限の長さのQKDの測定値を用いて、ECのビット列に対してハッシュ計算を行えないにしても、できるだけ大きな長さのハッシュ計算を行おうとした場合に、ハッシュ行列を保持するためのメモリのサイズが制約となってくる。

0059

(PAのハッシュ行列のサイズと出力サイズの関係)
例として、PAでToeplitz行列などを利用した場合、実装においては、行数と列数との和がメモリサイズによって制限される。行数は、入力されるビット列のサイズ(ブロックサイズn)と等しく、安全性と処理速度の観点から無限に大きいことが理想である。列数は出力する暗号鍵の長さと等しく、高速化の観点から大きいことが望まれる。

0060

Toeplitz行列を用いたハッシュ計算ではハッシュ行列を保持するメモリサイズによってハッシュ関数の構成にも制約があることは前述のとおりである。このハッシュ関数の特徴の制約として、例えばハッシュ行列の行数に対応するブロックサイズnと、列数に対応する出力可能サイズmはトレードオフの関係になる。すなわち、(ブロックサイズn)+(出力可能サイズm)<(ハッシュ関数の処理サイズ(行数及び列数の和))という関係が成り立つ。ここで、前述のとおり、安全性及び処理速度の観点から、ブロックサイズnは無限に大きくすることが理想であり、出力可能サイズmは鍵長計算で算出される暗号鍵の長さsをカバーできるくらい大きくする必要がある。暗号鍵の長さsはエラーレートなどの変動値とブロックサイズnによって安全性を考慮して決められるもので、処理速度の観点からはできるだけ大きくしたい。ただし、出力可能サイズmを大きくしても、鍵長sはそれ以下になる可能性もある。

0061

具体的には、ブロックサイズnと出力可能サイズmとの関係は、例えば図4及び図5のようになる。

0062

図4は実施形態のブロックサイズ及び出力可能サイズの例1を示す図である。例えば、ブロックサイズnを100Mbitと大きくすると、メモリの制約によりハッシュ行列の処理サイズが決まり、出力可能サイズmは28Mbitと小さくせざるを得なくなる。生成部53は、鍵長計算で算出される鍵長sが、28Mbitよりも大きい場合は、出力可能サイズmで暗号鍵を生成する。

0063

図5は実施形態のブロックサイズ及び出力可能サイズの例2を示す図である。また例えば、ブロックサイズnを80Mbitと小さくすると、出力可能サイズmは48Mbitまで大きくできるため、生成部53で、鍵長計算で算出される鍵長sが48Mbitとなっても鍵をすべて出力できるが、鍵長計算で算出される暗号鍵の長さsもブロックサイズnによる有限長効果によって小さくなる。

0064

図4及び図5で示されるように、決定部52が、出力可能サイズmと鍵長sとのバランスを考慮して、ブロックサイズnを決定することが、効率的なPAの計算には不可欠である。

0065

(効果の説明)
図6は実施形態の鍵生成装置10の効果を説明するための図である。従来は、鍵長計算で計算された暗号鍵の鍵長sにかかわらず、ハッシュ行列のブロックサイズnを固定して利用していた。しかし、例えば図4で説明したように、ハッシュ関数の処理サイズ(行数及び列数の和)が128Mbit、ブロックサイズnが100Mbitのとき、暗号鍵の出力可能サイズmは28Mbit以下に抑えられてしまう。鍵長計算で算出される暗号鍵の鍵長sが35Mbitとなったとき、28Mbitよりも大きい超過分7Mbitは処理しきれずに切り捨てられることになり、最終的なセキュアキーレートが律速されることがあった。

0066

実施形態の鍵生成装置10では、決定部52が、鍵長計算で計算される鍵長sから最適なブロックサイズnを決定し適用することで、出力可能サイズmと鍵長計算で算出される暗号鍵の鍵長sを等しい値にすることができる。例えばハッシュ関数の処理サイズが128Mbit、ブロックサイズnが96Mbitとしたときに、暗号鍵の出力可能サイズmは32Mbit以下に抑えられる。実施形態の鍵生成装置10では、鍵長計算で算出される暗号鍵の鍵長sが32Mbitであることを、あらかじめフィードバックをかけたり、上述の方程式f(n)=mを解いたりするなどして特定する。これにより、ブロックサイズが96Mbitで出力可能サイズが32Mbit、鍵長が32Mbitとなり、鍵生成装置のリソースを有効に利用しながら、処理しきれずに切り捨てられる鍵ビット列をなくすことができる。例えば上述の図4の例では、従来は7Mbitの切り捨てによる処理速度の低下があったが、実施形態の鍵生成装置10では、この切り捨てはなくなり、32Mbitの暗号鍵ビット列を出力することができ、処理速度を向上させることができる。

0067

以上、説明したように実施形態の鍵生成装置10では、計算部51が、鍵長sを計算する。決定部52が、鍵生成処理の処理単位であるブロックサイズnと、前記鍵生成処理によって出力可能な鍵のサイズを示す出力可能サイズmとを決定する。そして、生成部53が、ブロックサイズnと、出力可能サイズmとにより定まるサイズの行列を使用したハッシュ演算によって、鍵長sの鍵を生成する。

0068

これにより実施形態の鍵生成装置10によれば、制限されたリソース下で、鍵の安全性を維持しつつ、生成速度をより向上させることができる。具体的には、実施形態の鍵生成装置10によれば、ハッシュ行列を保持するメモリのサイズの制約を考慮しつつ、鍵長計算で計算される鍵長sに対する最適なブロックサイズnを適用できるので、安全性を維持しつつ、セキュアキーレートを改善させることができる。

0069

従来は、ブロックサイズが固定されていたため、最終的に算出される暗号鍵の鍵長sがブロックサイズnから導出される出力可能サイズmを超えていた場合に、実際に出力できるのは鍵長sではなく、出力可能サイズmとなってしまい、鍵を切り捨てていた。一方、実施形態の鍵生成装置10では、最適なブロックサイズnを適用するため、ブロックサイズnから導出される出力可能サイズmと、計算部51で計算される鍵長sが限りなく近くなり、鍵の切り捨てが起きることを避けることができる。こうすることで、リソースによる制約がある状況で、最大のセキュアキーレートを得ることができる。

0070

最後に、実施形態の鍵生成装置10のハードウェア構成の例について説明する。

0071

[ハードウェア構成の例]
図7は実施形態の鍵生成装置10のハードウェア構成の例を示す図である。実施形態の鍵生成装置10は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305、量子通信IF(Interface)306及び古典通信IF307を備える。

0072

制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305、量子通信IF306及び古典通信IF307は、バス310を介して接続されている。

0073

制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)及びメモリカード等である。

0074

表示装置304は、鍵生成装置10の状態等を表示する。入力装置305はユーザからの入力を受け付ける。

0075

量子通信IF306は、量子通信路に接続するためのインターフェースである。古典通信IF307は、古典通信路に接続するためのインターフェースである。

0076

実施形態の鍵生成装置10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルCD−ROM、メモリカード、CD−R、及び、DVD(Digital Versatile Disc)等のコンピュータ読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。

0077

また実施形態の鍵生成装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。

0078

また実施形態の鍵生成装置10が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。

0079

また実施形態の鍵生成装置10で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。

0080

実施形態の鍵生成装置10で実行されるプログラムは、実施形態の鍵生成装置10の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。

0081

プログラムにより実現される機能は、制御装置301が補助記憶装置303等の記憶媒体からプログラムを読み出して実行することにより、主記憶装置302にロードされる。すなわちプログラムにより実現される機能は、主記憶装置302上に生成される。

0082

なお実施形態の鍵生成装置10の機能の一部又は全部を、IC(IntegratedCircuit)等のハードウェアにより実現してもよい。ICは、例えば専用の処理を実行するプロセッサである。

0083

また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。

0084

また実施形態の鍵生成装置10の動作形態は任意でよい。実施形態の鍵生成装置10を、例えばネットワーク上のクラウドシステムを構成する装置として動作させてもよい。

0085

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

0086

1 取得部
2 決定部
通知制御
4 記憶部
通知
20管理装置
100情報処理システム
301制御装置
302主記憶装置
303補助記憶装置
304表示装置
305入力装置
306通信装置
310 バス

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ