JP2019161557A - 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム - Google Patents

暗号通信装置、暗号通信システム、暗号通信方法及びプログラム Download PDF

Info

Publication number
JP2019161557A
JP2019161557A JP2018048491A JP2018048491A JP2019161557A JP 2019161557 A JP2019161557 A JP 2019161557A JP 2018048491 A JP2018048491 A JP 2018048491A JP 2018048491 A JP2018048491 A JP 2018048491A JP 2019161557 A JP2019161557 A JP 2019161557A
Authority
JP
Japan
Prior art keywords
key
encryption
unit
decryption
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018048491A
Other languages
English (en)
Inventor
佳道 谷澤
Yoshimichi Tanizawa
佳道 谷澤
莉里香 高橋
Ririka Takahashi
莉里香 高橋
英昭 佐藤
Hideaki Sato
英昭 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018048491A priority Critical patent/JP2019161557A/ja
Priority to EP18192267.5A priority patent/EP3541007B1/en
Publication of JP2019161557A publication Critical patent/JP2019161557A/ja
Priority to JP2022144400A priority patent/JP7419463B2/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher

Abstract

【課題】暗号通信速度を更に向上させた暗号通信装置を提供する。【解決手段】量子暗号通信システム200は、暗号化部52と復号部53と制御部3とを備える。暗号化部52は、平文データを受け付ける前に、平文データを暗号化する暗号鍵を鍵提供部23から先読みし、平文データを受け付けた場合、平文データを先読みされた暗号鍵により暗号化する。復号部53は、暗号データを受け付ける前に、暗号データを復号する復号鍵を鍵提供部23から先読みし、暗号データを受け付けた場合、暗号データを先読みされた復号鍵により復号する。制御部3は、先読みされる暗号鍵の量と、先読みされる前記復号鍵の量とを制御する。【選択図】図3

Description

本発明の実施形態は暗号通信装置、暗号通信システム、暗号通信方法及びプログラムに関する。
ワンタイムパッド(OTP:One Time Pad)等の暗号通信方式を利用して暗号データ通信を行う技術が従来から知られている。OTPは、送受信されるデータと同じ長さの鍵を用いて、暗号化及び復号化を行い、一度用いた鍵は以後使わずに捨ててゆく方式である。OTPにより送受信された暗号データは、如何なる知識を有する盗聴者によっても解読できないことが情報理論によって保証されている。
特許第5424008号公報 特許第4015385号公報 特許第6203093号公報
しかしながら、従来の技術では、暗号通信速度を更に向上させることが難しかった。
実施形態の暗号通信装置は、暗号化部と復号部と制御部とを備える。暗号化部は、平文データを受け付ける前に、前記平文データを暗号化する暗号鍵を先読みし、前記平文データを受け付けた場合、前記平文データを前記暗号鍵により暗号化する。復号部は、暗号データを受け付ける前に、前記暗号データを復号する復号鍵を先読みし、前記暗号データを受け付けた場合、前記暗号データを前記復号鍵により復号する。制御部は、先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを制御する。
実施形態の鍵共有方式の例を示す図。 実施形態の暗号通信システムの構成例を示す図。 実施形態の量子暗号通信システムの機能構成の例を示す図。 実施形態の暗号鍵及び復号鍵の先読み制御について説明するための図。 実施形態の暗号化部の動作を示すフローチャート。 実施形態の復号部の動作を示すフローチャート。 実施形態の鍵の先読み量の制御例を説明するための図。 実施形態の鍵の先読み量の制御例を説明するための図。 実施形態の暗号化部及び復号部をマルチプロセスにより実行する場合の例を示す図。 実施形態の暗号化部及び復号部をマルチスレッドにより実行する場合の例を示す図。 図8Aのプロセスの数を変更した場合の例を示す図。 図8Bのスレッドの数を変更した場合の例を示す図。 実施形態の量子暗号通信装置のハードウェア構成の例を示す図。
以下に添付図面を参照して、暗号通信装置、暗号通信システム、暗号通信方法及びプログラムの実施形態を詳細に説明する。
はじめに、暗号化及び復号に使用される鍵を、量子鍵配送技術(QKD:(Quantum Key Distribution)により共有する場合の例について説明する。
[鍵共有方式の例]
図1は実施形態の鍵共有方式の例を示す図である。実施形態の鍵の共有は、量子鍵配送技術(以下、「QKD」と呼ぶ。)を利用して行われる。量子鍵配送技術では、光ファイバーで接続された、単一光子を連続的に送信するQKD送信機100aと、当該単一光子を受信するQKD受信機100bとの間で、暗号データ通信用の鍵を安全に共有する。なお、QKD送信機100a及びQKD受信機100bの間で鍵を共有するためには、さらに、QKD送信機100aとQKD受信機100bとの間で鍵蒸留と呼ばれる古典通信路を介した制御データの交換が行われる。
QKD送信機100aとQKD受信機100bとの間で共有される鍵(共通鍵)は、デジタルデータ(乱数列)である。QKDによって共有される鍵は、量子力学の原理に基づいて、盗聴されていないことが保証されている。そのため、QKDによって共有された鍵の安全性は、非常に高いので、この鍵を用いて暗号通信を行うことで、高セキュリティ通信を実現することができる。
なお、暗号通信に使用される暗号アルゴリズムは、上述のワンタイムパッド(OTP)以外でもよい。例えば、暗号アルゴリズムは、AES(Advanced Encryption Standard)等でもよい。実施形態の説明では、暗号アルゴリズムがOTPである場合について説明する。
以下、QKD送信機100a及びQKD受信機100bを総称する場合、単にノードという。一方のノードで暗号化に用いられた鍵(以下、「暗号鍵」と呼ぶ。)は、他方のノードでは復号に用いられる鍵(以下、「復号鍵」と呼ぶ。)である。
送信側のノードから受信側のノードへの暗号データ送信と、受信側のノードから送信側のノードへの暗号データ送信の両方を行うこと、すなわち、全二重での暗号データ通信を考える。全二重での暗号データ通信では、ノード間で共有された鍵のうち、一方のノードの暗号鍵は、他方のノードでは復号鍵として利用され、一方のノードの復号鍵は、他方のノードでは暗号鍵として利用されるように、暗号通信システム全体で制御(鍵管理)する必要がある。
なお、AESの様なブロック暗号が用いられる場合は、OTPのような情報理論的安全性は満たさない。しかしながら、AESでは、暗号データを送信するノードも、当該暗号データを受信するノードも、同一の鍵に基づいて処理をすることが一般的である。そのため、暗号鍵及び復号鍵を分けて鍵管理をすることは必ずしも必要ではなく、単に鍵(共通鍵)の残量として鍵管理をしてもよい。
[暗号通信システムの構成例]
図2は実施形態の暗号通信システム300の構成例を示す図である。実施形態の暗号通信システム300は、拠点Aの量子暗号通信システム200aと、拠点Bの量子暗号通信システム200aとを備える。拠点Aの量子暗号通信システム200aと、拠点Bの量子暗号通信システム200aとは、光ファイバーにより接続されている。
拠点Aの量子暗号通信システム200aは、QKD部1a、鍵管理部2a、制御部3a、アプリ部4a、暗号処理部5a及び通信I/F(Interface)部6aを備える。同様に、拠点Bの量子暗号通信システム200bは、QKD部1b、鍵管理部2b、制御部3b、アプリ部4b、暗号処理部5b及び通信I/F部6bを備える。
以下、量子暗号通信システム200a及び200bを区別しない場合は、単に量子暗号通信システム200と呼ぶ。同様に、QKD部1a及び1b(鍵管理部2a及び2b、制御部3a及び3b、アプリ部4a及び4b、暗号処理部5a及び5b、通信I/F部6a及び6b)を区別しない場合は、単にQKD部1(鍵管理部2、制御部3、アプリ部4、暗号処理部5、通信I/F部6)と呼ぶ。
図2の例では、拠点AのQKD部1aは、上述のQKD送信機100aにより実現され、拠点BのQKD部1bが、上述のQKD受信機100bにより実現される。なお、各拠点のQKD部が、QKD送信機100a及びQKD受信機100bの両方により実現されていてもよい。すなわち、両方の拠点が単一光子を送信できようにしてもよい。
また、各拠点の鍵管理部2は、各拠点の制御部3により暗号鍵又は復号鍵のいずれかに割り当てられた鍵を保持する。割り当てられた鍵は、鍵管理部2により各拠点の暗号処理部5に提供される。
各拠点のアプリ部4は、任意の機能を有する任意の数のアプリケーションにより実現される。実施形態の説明では、アプリ部4は、暗号化処理は行わず、平文データを暗号処理部5に受け渡す。同様に、アプリ部4は、復号処理は行わず、平文データを暗号処理部5から受け取る。
各拠点の暗号処理部5は、アプリ部4からデータを受け付けると、当該データを暗号鍵により暗号化する。また、各拠点の暗号処理部5は、通信I/F部6から暗号データを受け付けると、当該暗号データを復号鍵により復号する。
各拠点の通信I/F部6は、各拠点の暗号処理部5により暗号化された暗号データにより、暗号通信を行う。
なお、各拠点のアプリ部4が、暗号処理を行う機能を有する場合、暗号処理部5の暗号化処理、及び、復号処理の少なくとも一方を行ってもよい。
また、各拠点の量子暗号通信システム200は、複数の装置により実現されていてもよいし、1つの量子暗号通信装置として実現されていてもよい。
次に、各拠点の量子暗号通信システム200の機能構成の例について、より詳細に説明する。
[機能構成の例]
図3は実施形態の量子暗号通信システム200の機能構成の例を示す図である。実施形態の量子暗号通信システム200は、QKD部1、鍵管理部2、制御部3、アプリ部4、暗号処理部5及び通信I/F部6を備える。
図3は、図2で上述した鍵管理部2のより詳細な機能ブロック(暗号鍵保持部21、復号鍵保持部22及び鍵提供部23)、及び、図2で上述した暗号処理部5のより詳細な機能ブロック(仮想I/F部51、暗号化部52、復号部53及び物理I/F部54)も示す。
QKD部1は、量子鍵配送技術によって、通信先の装置と共有された鍵(共通鍵)を生成する。QKD部1は、生成された鍵を鍵管理部2に入力する。
鍵管理部2は、暗号鍵保持部21、復号鍵保持部22及び鍵提供部23を備える。
暗号鍵保持部21は、データを暗号化する鍵(暗号鍵)を保持する。復号鍵保持部22は、データを復号する鍵(復号鍵)を保持する。
なお、鍵の保持方法は任意でよい。鍵の保持方法は、例えば、鍵を固定長(または可変長)のファイルとし、当該ファイルに鍵IDを付与して保持する方法でもよい。鍵IDは、鍵を識別する識別情報である。また例えば、鍵の保持方法は、鍵をデータベースシステムにより保持(管理)する方法でもよい。
鍵提供部23は、暗号処理部5に鍵を提供する。
制御部3は、量子暗号通信システム200の動作を制御する。例えば、制御部3は、QKD部1により生成された鍵(共通鍵)を、暗号鍵又は復号鍵に割り当てる制御を行う。また例えば、制御部3は、暗号通信速度の遅延を抑制する制御を行う。暗号通信速度の遅延を抑制する制御は、例えば鍵の先読み制御、及び、暗号処理の並列化制御等である。鍵の先読み制御、及び、暗号処理の並列化制御の詳細は後述する。
アプリ部4は、他拠点のアプリ部4との間で送受信されるデータを生成する。
暗号処理部5は、アプリ部4から平文データを受け付けると、鍵提供部23により提供された暗号鍵で当該データを暗号化し、暗号データを通信I/F部6に入力する。また、暗号処理部5は、通信I/F部6から暗号データを受け付けると、鍵提供部23により提供された復号鍵で当該暗号データを復号し、平文データをアプリ部4に入力する。
具体的には、暗号処理部5は、仮想I/F部51、暗号化部52、復号部53及び物理I/F部54を備える。
仮想I/F部51は、暗号処理部5とアプリ部4との間のインタフェースである。仮想I/F部51は、通常の通信I/Fと同様のインタフェースをアプリ部4に提供する。例えば、仮想I/F部51は、仮想デバイスとして実装されたネットワークインタフェース等である。これにより、アプリ部4は、暗号処理部5が行っている処理については感知せずに、あるいは、そもそも暗号処理部5の存在を感知せずに、通信を行うことができる。したがって、アプリ部4は、暗号化処理及び復号処理等の変更、追加及び削除をする場合であっても、アプリ部4の変更は不要となる。一方で、暗号処理部5は、仮想I/F部51を介して暗号処理機能を提供することにより、アプリ部4の種類、及び、アプリ部4の数等によらず、暗号機能を提供することができる。
暗号化部52は、アプリ部4から仮想I/F部51経由で受け取った平文データを、鍵提供部23から受け取った暗号鍵で暗号化し、暗号データを物理I/F部54経由で通信I/F部6へ受け渡す。実施形態では、暗号アルゴリズムがOTPのため、暗号化処理は、平文データと暗号鍵とのXOR(エクスクルーシブオア)演算を行うことに相当する。
復号部53は、通信I/F部6から、物理I/F部54経由で受け取った暗号データを、鍵提供部23から受け取った復号鍵で復号化し、平文データを仮想I/F部51経由でアプリ部4へ受け渡す。実施形態では、暗号アルゴリズムがOTPのため、復号処理は、暗号データと復号鍵とのXOR(エクスクルーシブオア)演算を行うことに相当する。
物理I/F部54は、暗号処理部5と通信I/F部6との間の接続インタフェースである。
以上が暗号処理部5の構成の説明である。なお、暗号処理部5は、オペレーティングシステムが提供するドライバソフトウェアとして実現してもよいし、仮想インタフェース機能を利用するアプリケーションソフトウェアとして実現してもよい。
通信I/F部6は、他の装置と通信するためのネットワークインタフェースである。例えば、上述の暗号データは、通信I/F部6を介して他の装置と送受信される。
次に、実施形態の暗号通信システム300の暗号通信速度の遅延を抑制する制御の詳細について説明する。
まず、鍵の先読み制御の詳細について説明する。
[鍵の先読み制御]
図4は実施形態の暗号鍵及び復号鍵の先読み制御について説明するための図である。前述の通り、暗号化部52は、アプリ部4から仮想I/F部51経由で受け取った平文データを、鍵提供部23から受け取った暗号鍵で暗号化し、暗号データを物理I/F部54経由で通信I/F部6へ受け渡す。このとき、暗号化部52が、アプリ部4から平分データを受け取ってから、鍵提供部23から暗号鍵を取得すると、当該暗号鍵の取得に要する時間が、そのまま暗号処理及び送信処理の遅延となって、暗号通信速度が遅くなってしまう。例えば、鍵管理部2が、暗号鍵をファイルシステム上に保持している場合、ファイル読み出し遅延が、暗号通信速度の遅延を増加させてしまう。
同様に、復号部53は、通信I/F部6から物理I/F部54経由で受け取った暗号データを、鍵提供部23から受け取った復号鍵で復号し、平文データを仮想I/F部51経由でアプリ部4へ受け渡す。このとき、復号部53が、通信I/F部6から暗号データを受け取ってから、鍵提供部23から復号鍵を取得すると、当該復号鍵の取得に要する時間が、そのまま復号処理及び受信処理の遅延となって、暗号通信速度が遅くなってしまう。例えば、鍵管理部2が、復号鍵をファイルシステム上に保持している場合、ファイル読み出し遅延が、暗号通信速度の遅延を増加させてしまう。
図5及び図6を参照して、暗号通信速度の遅延を抑制する鍵の先読み制御について説明する。
図5は実施形態の暗号化部52の動作を示すフローチャートである。図5の例では、暗号アルゴリズムがOTPである場合を例にして説明する。
はじめに、暗号化部52が、アプリ部4から平文データを受け取る前に、制御部3により決められた量(サイズ)の暗号鍵を、鍵提供部23から取得しておくことにより、暗号鍵を先読み(プリフェッチ)する(ステップS1)。先読みされた暗号鍵は、暗号化部52により参照されるメモリ等に保持される。
次に、暗号化部52は、アプリ部4から平文データを受け付けると(ステップS2)、ステップS1の処理により先読みされた暗号鍵と、当該平文データとのXOR処理により、当該平文データを暗号化する(ステップS3)。これにより、暗号鍵の取得に伴う暗号通信速度の遅延を抑制することができる。
次に、暗号化部52が、ステップS3のXOR処理により暗号化された暗号データを出力する(ステップS4)。
次に、暗号化部52が、ステップS3のXOR処理で使用された暗号鍵を削除する(ステップS5)。
なお、暗号化部52によるステップS5の削除処理はオプションである。前述の通り、OTPでは一度使用された暗号鍵は二度使用されない。このため、暗号鍵を削除する必要がある。暗号鍵の削除処理は、鍵管理部2又は制御部3が別途、実施してもよいし、暗号化部52が行ってもよい。また、暗号化部52による暗号鍵の削除処理は、ステップS5で必ずしもリアルタイムに行う必要はなく、後回しにしてもよい。すなわち、例えば、暗号化部52は、次に処理すべき平文データの入力がある場合、一つ前の暗号化処理に使用された暗号鍵の削除処理は、当該平文データの暗号化処理を終えた後でもよい。これにより、暗号鍵の削除処理による暗号通信速度の遅延を抑制することができる。
図6は実施形態の復号部53の動作を示すフローチャートである。図6の例では、暗号アルゴリズムがOTPである場合を例にして説明する。
はじめに、復号部53が、通信I/F部6から暗号データを受け取る前に、制御部3により決められた量(サイズ)の復号鍵を、鍵提供部23から取得しておくことにより、復号鍵を先読み(プリフェッチ)する(ステップS11)。先読みされた復号鍵は、復号部53により参照されるメモリ等に保持される。
次に、復号部53は、通信I/F部6から暗号データを受け付けると(ステップS12)、ステップS11の処理により先読みされた復号鍵と、当該暗号データとのXOR処理により、当該暗号データを復号する(ステップS13)。これにより、復号鍵の取得に伴う暗号通信速度の遅延を抑制することができる。
次に、復号部53が、ステップS13のXOR処理により復号された平文データを出力する(ステップS14)。
次に、復号部53が、ステップS13のXOR処理で使用された復号鍵を削除する(ステップS15)。
なお、復号部53によるステップS15の削除処理はオプションである。前述の通り、OTPでは一度使用された復号鍵は二度使用されない。このため、復号鍵を削除する必要がある。復号鍵の削除処理は、鍵管理部2又は制御部3が別途、実施してもよいし、復号部53が行ってもよい。また、復号部53による復号鍵の削除処理は、ステップS15で必ずしもリアルタイムに行う必要はなく、後回しにしてもよい。すなわち、例えば、復号部53は、次に処理すべき暗号データの入力がある場合、一つ前の復号処理に使用された復号鍵の削除処理は、当該暗号データの復号処理を終えた後でもよい。これにより、復号鍵の削除処理による暗号通信速度の遅延を抑制することができる。
次に、鍵の先読み量制御(先読みされた鍵を保持するメモリ55(56)の領域制御)の詳細について説明する。
[鍵の先読み量の制御]
先読みされた鍵が利用されれば、その分、新たな鍵が先読みされる必要がある。先読みされる鍵の量(サイズ)の制御方法には色々な方法が考えられる。例えば、暗号化部52(復号部53)が、現在、メモリに保持された暗号鍵(復号鍵)の残量によらず、常に一定サイズの暗号鍵(復号鍵)を新たに先読みする方法が考えられる。また例えば、暗号化部52(復号部53)が、常にメモリに一定量の暗号鍵(復号鍵)が保持されるように、利用された暗号鍵(復号鍵)のサイズ分だけ新たに暗号鍵(復号鍵)を鍵管理部2から読み出して補充する方法も考えられる。
暗号化部52(復号部53)は、暗号鍵(復号鍵)の先読みを行うことで、暗号化処理(復号処理)を開始する際に発生する、暗号鍵(復号鍵)の読み出し遅延を回避することができる。ところが、暗号通信が連続して発生すると、先読みされた暗号鍵(復号鍵)は当然枯渇する。先読みされた暗号鍵(復号鍵)が枯渇すると、暗号鍵(復号鍵)の読み出しのための通信遅延が発生する。
暗号鍵(復号鍵)として使用される鍵(共通鍵)は、QKD部1により生成され、制御部3により当該共通鍵が暗号鍵又は復号鍵に割り当てられる。したがって、暗号化部52(復号部53)が、任意の量の暗号鍵(復号鍵)を無条件に先読みできるわけではない。そのため、例えば、制御部3が、暗号化部52(復号部53)により先読みされる暗号鍵(復号鍵)の量を、幾つかの要因に基づいて制御(決定)する。また例えば、制御部は、先読みされた暗号鍵を記憶するために確保されるメモリ領域のサイズと、先読みされた復号鍵を記憶するために確保されるメモリ領域のサイズを、幾つかの要因に基づいて制御(決定)する。
図7A及び7Bは、実施形態の鍵の先読み量の制御例を説明するための図である。メモリ55は、暗号化部52により先読みされた暗号鍵を記憶する。メモリ56は、復号部53により先読みされた復号鍵を記憶する。
図7Aの例は、先読みされた暗号鍵を記憶するために確保されたメモリ55のサイズと、先読みされた復号鍵を記憶するために確保されたメモリ56のサイズとが同じ場合を示す。一方、図7Bの例は、先読みされた暗号鍵を記憶するために確保されたメモリ55のサイズが、先読みされた復号鍵を記憶するために確保されたメモリ56のサイズよりも大きい場合を示す。
以下、鍵の先読み量の具体的な制御方法の例として、制御方法(A)〜(D)について説明する。
(A)トラフィックの量に基づく制御
例えば、制御部3は、暗号通信の通信統計情報及び通信履歴情報の少なくとも一方を使用して、先読みされる暗号鍵の量と、先読みされる復号鍵の量とを制御する。
通信統計情報及び通信履歴情報は、例えば通信トラフィックの量、送信トラフィックの量、受信トラフィックの量、及び、通信エラー等を含む。通信統計情報及び通信履歴情報は、例えば、仮想I/F部51、物理I/F部54及び通信I/F部6等で取得される。
具体的には、制御部3は、例えば、通信トラフィックの量が多い場合は、先読みされる暗号鍵(復号鍵)の量(先読みされた暗号鍵(復号鍵)を保持するメモリ55(56)のサイズ)を増加させ、通信トラフィックの量が少ない場合は、先読みされる暗号鍵(復号鍵)の量(先読みされた暗号鍵(復号鍵)を保持するメモリ55(56)のサイズ)を減少させる。こうすることで、通信トラフィックの量が多い場合に、より多くの暗号鍵(復号鍵)を先読みできるようになるので、先読された暗号鍵(復号鍵)が枯渇する可能性を低減させることができる。
特に、送信トラフィックの量と受信トラフィックの量とに偏りがある場合は、制御部3は、メモリ55のサイズとメモリ56のサイズとが異なるように制御してもよい。例えば、送信トラフィックの量が受信トラフィックの量よりも多い場合、制御部3は、先読みされる暗号鍵の量(先読みされた暗号鍵を保持するメモリ55のサイズ)を増加させ、先読みされる復号鍵の量(先読みされた復号鍵を保持するメモリ56のサイズ)を減少させる。こうすることにより、量子暗号通信システム200上で有限であるメモリサイズを有効に活用するとともに、鍵の先読み量の調整、及び、暗号通信速度の最適化を実現することができる。
(B)鍵残量に基づく制御
また例えば、制御部3は、復号鍵保持部22に保持された復号鍵の残量よりも暗号鍵保持部21に保持された暗号鍵の残量の方が多い場合、先読みされる暗号鍵の量(先読みされた暗号鍵を保持するメモリ55のサイズ)を先読みされる復号鍵の量よりも多くする。一方、制御部3は、暗号鍵保持部21に保持された暗号鍵の残量よりも復号鍵保持部22に保持された復号鍵の残量の方が多い場合、先読みされる復号鍵の量(先読みされた復号鍵を保持するメモリ56のサイズ)を先読みされる前記暗号鍵の量よりも多くする。
また例えば、制御部3は、暗号鍵(復号鍵)の残量を確認し、暗号鍵(復号鍵)がそもそも少ない場合(例えば、閾値以下の場合)、暗号鍵(復号鍵)の先読みを行うことができない(または効率的ではない)可能性があるため、先読みを行わない(または先読み量を減少させる)。
また例えば、より鍵残量が多い方の先読み量(先読みされた暗号鍵(復号鍵)を保持するメモリ55(56)のサイズ)を増加させる方法と、より鍵残量が少ない方の先読み量(先読みされた暗号鍵(復号鍵)を保持するメモリ55(56)のサイズ)を減少させる方法とを組み合わせてもよい。これにより、量子暗号通信システム200上で有限であるメモリサイズを有効に活用するとともに、鍵の先読み量の調整、及び、暗号通信速度の最適化を実現することができる。
(C)鍵の生成速度に基づく制御
また例えば、制御部3は、QKD部1により生成される鍵(共通鍵)の生成(共有)速度が速いほど、先読みされる暗号鍵の量(先読みされた暗号鍵を保持するメモリ55のサイズ)と、先読みされる復号鍵の量(先読みされた復号鍵を保持するメモリ56のサイズ)とを多くする。
鍵(共通鍵)の生成(共有)速度は、例えば、送信側で使用される暗号鍵(乱数列)と、受信側で使用される復号鍵(送信側と同じ乱数列)とを生成する速度である。QKD部1による鍵の生成速度が遅いほど、暗号化部52(復号部53)による暗号鍵(復号鍵)の読み出し処理による暗号通信速度の遅延の影響よりも、鍵の生成速度そのものが暗号通信速度を律速する(ボトルネックとなる)可能性が高い。この場合、暗号化部52(復号部53)は、暗号鍵(復号鍵)の先読みを行うことは効率的ではない可能性があるため、先読みを行わない(または先読み量を減少させる)。
なお、暗号鍵(復号鍵)の先読み量は、鍵(共通鍵)の生成速度ではなく、鍵(共通鍵)の残量により制御されてもよい。例えば、制御部3は、暗号鍵又は復号鍵に割り当てられる鍵(共通鍵)の残量が多いほど、先読みされる暗号鍵の量と、先読みされる復号鍵の量とを多くする。
(D)アプリケーションに応じた制御
また例えば、制御部3は、平文データを生成するアプリケーション(アプリ部4)に応じて、先読みされる暗号鍵の量(先読みされた暗号鍵を保持するメモリ55のサイズ)と、先読みされる復号鍵の量(先読みされた復号鍵を保持するメモリ56のサイズ)とを制御する。アプリケーションは、その種類によって、通信データ量、送信データ量及び受信データ量の割合、及び、通信データの発生頻度等の特性が異なる。制御部3は、例えば、このようなアプリケーションの特性に応じた制御を示す設定ファイル等を使用して、先読みされる暗号鍵の量(先読みされた暗号鍵を保持するメモリ55のサイズ)と、先読みされる復号鍵の量(先読みされた復号鍵を保持するメモリ56のサイズ)とを制御する。
具体的には、例えばアプリケーションが、送信データ量(または送信頻度)よりも受信データ量(または送信頻度)が少ない特性を有する場合、制御部3は、先読みされる暗号鍵の量(先読みされた暗号鍵を保持するメモリ55のサイズ)を増加させ、先読みされる復号鍵の量(先読みされた復号鍵を保持するメモリ56のサイズ)を減少させる。これにより、量子暗号通信システム200上で有限であるメモリサイズを有効に活用するとともに、鍵の先読み量の調整、及び、暗号通信速度の最適化を実現することができる。
なお、先読みされる鍵の量(先読みされた鍵を保持するメモリ55(56)のサイズ)は、システム起動時に予め定めておいてもよいし、上記(A)〜(D)の制御方法を使用して、システム起動中に動的に変更されてもよい。
次に、暗号処理(暗号化処理及び復号処理)の並列化制御の詳細について説明する。
[暗号処理の並列化制御]
制御部3は、上述の暗号化部52による暗号化処理(図5参照)、及び、上述の復号部53による復号処理(図6参照)をマルチプロセスまたはマルチスレッドで実行する並列化制御を行う。
図8Aは実施形態の暗号化部52及び復号部53をマルチプロセスにより実行する場合の例を示す図である。図8Aの例は、暗号化部52が、3つのプロセスにより、暗号化部52a〜cとして動作し、復号部53が、3つのプロセスにより、復号部53a〜cとして動作する場合を示す。
図8Bは実施形態の暗号化部52及び復号部53をマルチスレッドにより実行する場合の例を示す図である。図8Bの例は、暗号化部52が、3つのスレッドにより、暗号化部52a〜cとして動作し、復号部53が、3つのスレッドにより、復号部53a〜cとして動作する場合を示す。
暗号化部52及び復号部53が、マルチプロセスまたはマルチスレッドにより並列化される場合の暗号鍵保持部21及び復号鍵保持部22の構成について説明する。
暗号鍵保持部21は、例えば暗号化部52a〜52c毎に用意されてもよい。例えば、暗号鍵がファイルシステム上のファイルとして保持される場合、暗号鍵を保持するディレクトリを分けることにより、暗号化部52a〜52c毎の暗号鍵が区別できるようにしてもよい。また例えば、暗号鍵がファイルシステム上のファイルとして保持される場合、暗号鍵に付与される鍵IDの付与ルールにより、暗号化部52a〜52c毎の暗号鍵が区別できるようにしてもよい。
また例えば、単一の暗号鍵保持部21が、暗号化部52a〜52cからのアクセスを受け付けてもよい。
復号鍵保持部22の構成方法の説明は、上述の暗号鍵保持部21の構成方法と同様であるので省略する。
次に、暗号化部52及び復号部53が、マルチプロセスまたはマルチスレッドにより並列化される場合の暗号処理部5の構成について説明する。
仮想I/F部51は、アプリ部4から受け付けた平文データを、暗号化部52a〜cに配分する必要がある。通常は、平文データを1/3ずつ配分する配分処理を行うことが効率的である。本配分処理は、仮想I/F部51に実装されることが望ましい。このように、受け取ったデータを複数の処理部に配分する配分処理は、例えばLinux(登録商標)オペレーティングシステム等の場合、NIC(Network Interface Card)の冗長化及び負荷分散等に使われるボンディング(bonding)と呼ばれる方法、及び、当該ボンディングの拡張によって実現可能である。
暗号化部52がマルチプロセスにより動作する場合(図8A参照)、各暗号化部52a〜cには、それぞれ独立のメモリ55a〜cが割り当てられる。同様に、復号部53がマルチプロセスにより動作する場合、各復号部53a〜cには、それぞれ独立のメモリ56a〜cが割り当てられる。
一方、暗号化部52がマルチスレッドにより動作する場合(図8B参照)、各暗号化部52a〜cには、共通のメモリ55が割り当てられる。同様に、復号部53がマルチスレッドにより動作する場合、各復号部53a〜cには、共通のメモリ56が割り当てられる。
なお、マルチスレッドの場合、各暗号化部52a〜c(復号部53a〜c)により参照されるメモリ55(56)の各領域サイズは可変であっても構わない。各領域サイズを可変にすることにより、各暗号化部52a〜c(復号部53a〜c)がそれぞれ異なる大きさの暗号鍵(復号鍵)を先読みすることも可能である。
物理I/F部54では、各暗号化部52a〜cから暗号データを受け付けると、当該暗号データを単一の通信I/F部6から出力し、対向の装置の物理I/F部54に接続された対応する復号部53a〜cにて当該暗号データが受信できるように通信制御をする。この通信制御を行う方法は任意でよい。例えば、各暗号化部52a〜cに、固有の識別子を割り当てることにより、暗号化部52aは対向する復号部53aと、暗号化部52bは対向する復号部53bと、暗号化部52cは対向する復号部53cと暗号データを交換できるようにしてもよい。具体的な実装方法としては、例えば、暗号化部52a(b,c)及び復号部53a(b,c)の組毎に、それぞれ異なるポート番号を使ったTCP(Transmission Control Protocol)通信を行わせる方法、それぞれ異なるIP(Internet Protocol)アドレスを使ったIP通信を行わせる方法、及び、それぞれ異なるMAC(Media Access Control)アドレスを使った通信を行わせる方法等がある。
このように、マルチプロセスまたはマルチスレッドにより暗号処理部5を動作させることで、並列化制御に必要なコンピュータのプロセッサ等のリソースが十分にある場合には、暗号通信処理を更に高速化させることができる。一方で、コンピュータのリソースに限りがある場合、やみくもにプロセス数またはスレッド数を増加させても、暗号通信処理は高速化されない。
次に、制御部3が、上述のプロセスの数またはスレッドの数を、幾つかの要因に基づいて制御(変更)する方法について説明する。
図9Aは、図8Aのプロセスの数を変更した場合の例を示す図である。図9Aの例は、暗号化部52に割り当てられたプロセスの数が3から4に増加し、復号部53に割り当てられたプロセスの数が3から2に減少した場合を示す。
図9Bは、図8Bのスレッドの数を変更した場合の例を示す図である。図9Bの例は、暗号化部52に割り当てられたスレッドの数が3から4に増加し、復号部53に割り当てられたスレッドの数が3から2に減少した場合を示す。
以下、プロセス数(スレッド数)の具体的な制御方法の例として、制御方法(A)〜(D)について説明する。
(A)トラフィックの量に基づく制御
例えば、制御部3は、暗号通信の通信統計情報及び通信履歴情報の少なくとも一方を使用して、プロセスの数またはスレッドの数を制御する。なお、通信統計情報及び通信履歴情報の説明は、上述の鍵の先読み制御の説明と同じなので省略する。
具体的には、制御部3は、例えば、通信トラフィックの量が多い場合は、プロセスの数またはスレッドの数を増加させ、通信トラフィックの量が少ない場合は、プロセスの数またはスレッドの数を減少させる。こうすることで、通信トラフィックの量が多い場合に、より多くのプロセスまたはスレッドにより、暗号化処理(復号処理)を実行できるので、当該暗号化処理(復号処理)を高速化できる。
特に、送信トラフィックの量と受信トラフィックの量とに偏りがある場合は、制御部3は、暗号化処理に割り当てられるプロセス(スレッド)の数と、復号処理に割り当てられるプロセス(スレッド)の数とが異なるように制御してもよい。例えば、送信トラフィックの量が受信トラフィックの量よりも多い場合、制御部3は、暗号化処理に割り当てられるプロセス(スレッド)の数を増加させ、復号処理に割り当てられるプロセス(スレッド)の数)を減少させる。こうすることにより、量子暗号通信システム200上で有限であるプロセッサ等のリソースを有効に活用するとともに、暗号通信速度の高速化及び最適化を実現することができる。
(B)鍵残量に基づく制御
また例えば、制御部3は、復号鍵保持部22に保持された復号鍵の残量よりも暗号鍵保持部21に保持された暗号鍵の残量の方が多い場合、暗号化処理に割り当てられるプロセス(スレッド)の数を復号処理に割り当てられるプロセス(スレッド)の数よりも多くする。一方、制御部3は、暗号鍵保持部21に保持された暗号鍵の残量よりも復号鍵保持部22に保持された復号鍵の残量の方が多い場合、復号処理に割り当てられるプロセス(スレッド)の数を暗号化処理に割り当てられるプロセス(スレッド)の数よりも多くする。
また例えば、制御部3は、暗号鍵(復号鍵)の残量を確認し、暗号鍵(復号鍵)がそもそも少ない場合(例えば、閾値以下の場合)、プロセス数(スレッド数)を増加させない(または減少させる)。この理由は、暗号鍵(復号鍵)がそもそも少ない場合は、暗号鍵(復号鍵)の残量がボトルネックとなるため、プロセス数(スレッド数)を増加させても、暗号通信速度を高速化できない可能性があるためである。
また例えば、より鍵残量が多い方のプロセス数(スレッド数)を増加させる方法と、より鍵残量が少ない方のプロセス数(スレッド数)を減少させる方法とを組み合わせてもよい。これにより、量子暗号通信システム200上で有限であるプロセッサ等のリソースを有効に活用するとともに、暗号通信速度の高速化及び最適化を実現することができる。
(C)鍵の生成速度に基づく制御
また例えば、制御部3は、QKD部1により生成される鍵(共通鍵)の生成(共有)速度が速いほど、暗号化処理に割り当てられるプロセス数(スレッド数)と、復号処理に割り当てられるプロセス数(スレッド数)とを多くする。なお、鍵(共通鍵)の生成(共有)速度の説明は、上述の鍵の先読み制御の説明と同じなので省略する。
QKD部1による鍵の生成速度が遅いほど、暗号化部52(復号部53)による暗号化処理(復号処理)による暗号通信速度の遅延の影響よりも、鍵の生成速度そのものが暗号通信速度を律速する(ボトルネックとなる)可能性が高い。この場合、暗号化部52(復号部53)に割り当てられるプロセス(スレッド)の数を増やすことは効率的ではない可能性があるため、制御部3は、プロセス数(スレッド数)を増加させない(または減少させる)。
なお、プロセス数(スレッド数)は、鍵(共通鍵)の生成速度ではなく、鍵(共通鍵)の残量により制御されてもよい。例えば、制御部3は、暗号鍵又は復号鍵に割り当てられる鍵(共通鍵)の残量が多いほど、暗号化処理に割り当てられるプロセス数(スレッド数)と、復号処理に割り当てられるプロセス数(スレッド数)とを多くする。
(D)アプリケーションに応じた制御
また例えば、制御部3は、平文データを生成するアプリケーション(アプリ部4)に応じて、暗号化処理に割り当てられるプロセス数(スレッド数)と、復号処理に割り当てられるプロセス数(スレッド数)とを制御する。アプリケーションは、その種類によって、通信データ量、送信データ量及び受信データ量の割合、及び、通信データの発生頻度等の特性が異なる。制御部3は、例えば、このようなアプリケーションの特性に応じた制御を示す設定ファイル等を使用して、暗号化処理に割り当てられるプロセス数(スレッド数)と、復号処理に割り当てられるプロセス数(スレッド数)とを制御する。
具体的には、例えばアプリケーションが、送信データ量(または送信頻度)よりも受信データ量(または送信頻度)が少ない特性を有する場合、制御部3は、暗号化処理に割り当てられるプロセス数(スレッド数)を増加させ、復号処理に割り当てられるプロセス数(スレッド数)を減少させる。これにより、量子暗号通信システム200上で有限であるプロセッサ等のリソースを有効に活用するとともに、暗号通信速度の高速化及び最適化を実現することができる。
なお、プロセス数(スレッド数)は、対向の量子暗号通信システム200と合意しておく必要がある。すなわち、拠点Aにおける量子暗号通信システム200aの暗号化部52のプロセス数(スレッド数)がN(Nは1以上の整数)、復号部53のプロセス数(スレッド数)がM(Mは1以上の整数)の場合、対向する拠点Bにおける量子暗号通信システム200bの暗号化部52のプロセス数(スレッド数)がN、復号部53のプロセス数(スレッド数)がMである必要がある。
なお、プロセス数(スレッド数)は、システム起動時に予め定めておいてもよいし、上記(A)〜(D)の制御方法を使用して、システム起動中に動的に変更されてもよい。ただし、制御部3は、プロセス数(スレッド数)を動的に変更する場合、制御信号を交換する等の制御方法により、対向の量子暗号通信システム200のプロセス数(スレッド数)も同様に変更する。
最後に、実施形態の量子暗号通信システム200(図2参照)を実現するための量子暗号通信装置のハードウェア構成の例について説明する。
[ハードウェア構成の例]
図10は実施形態の量子暗号通信装置のハードウェア構成の例を示す図である。実施形態の量子暗号通信装置は、制御装置401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405、量子通信I/F406及び古典通信I/F407を備える。
制御装置401、主記憶装置402、補助記憶装置403、表示装置404、入力装置405、量子通信I/F406及び古典通信I/F407は、バス410を介して接続されている。
制御装置401は、補助記憶装置403から主記憶装置402に読み出されたプログラムを実行する。主記憶装置402は、ROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリである。補助記憶装置403は、HDD(Hard Disk Drive)及びメモリカード等である。
表示装置404は、量子暗号通信装置の状態等を示す情報を表示する。表示装置404は、例えば液晶ディスプレイ等である。入力装置405は、ユーザーからの入力を受け付ける。入力装置405は、例えばキーボード及びマウス等である。なお、量子暗号通信装置と情報処理装置とを接続し、例えば上述のアプリ部4(図2参照)を情報処理装置で動作させる場合等は、表示装置404及び入力装置405を備えていなくてもよい。この場合、量子暗号通信装置の設定等は、例えば古典通信I/F407を介して接続される端末等から行われる。
量子通信I/F406は、単一光子が送信される量子通信路に接続するためのインタフェースである。
古典通信I/F407は、イーサネット(登録商標)等の古典通信路(制御通信路)に接続するためのインタフェースである。なお古典通信I/F407は、無線方式でもよい。
実施形態の量子暗号通信装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、メモリカード、CD−R、及び、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
また実施形態の量子暗号通信装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
また実施形態の量子暗号通信装置が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
また実施形態の量子暗号通信装置で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
実施形態の量子暗号通信装置で実行されるプログラムは、実施形態の量子暗号通信装置の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
プログラムにより実現される機能は、制御装置401が補助記憶装置403等の記憶媒体からプログラムを読み出して実行することにより、主記憶装置402にロードされる。すなわちプログラムにより実現される機能は、主記憶装置402上に生成される。
なお実施形態の量子暗号通信装置の機能の一部又は全部を、IC(Integrated Circuit)等のハードウェアにより実現してもよい。ICは、例えば専用の処理を実行するプロセッサである。
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
また実施形態の量子暗号通信装置の動作形態は任意でよい。実施形態の量子暗号通信装置を、例えばネットワーク上のクラウドシステムを構成する装置として動作させてもよい。
以上説明したように、実施形態の暗号通信システム300では、暗号化部52が、平文データを受け付ける前に、平文データを暗号化する暗号鍵を先読みし、平文データを受け付けた場合、平文データを暗号鍵により暗号化する。復号部53が、暗号データを受け付ける前に、暗号データを復号する復号鍵を先読みし、暗号データを受け付けた場合、暗号データを復号鍵により復号する。制御部3は、先読みされる暗号鍵の量と、先読みされる復号鍵の量とを制御する。
これにより実施形態の暗号通信システム300によれば、暗号通信速度を更に向上させることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 QKD部
2 鍵管理部
3 制御部
4 アプリ部
5 暗号処理部
6 通信I/F部
21 暗号鍵保持部
22 復号鍵保持部
23 鍵提供部
51 仮想I/F部
52 暗号化部
53 復号部
54 物理I/F部
55 メモリ
56 メモリ
100a QKD送信機
100b QKD受信機
200 量子暗号通信システム
300 暗号通信システム
401 制御装置
402 主記憶装置
403 補助記憶装置
404 表示装置
405 入力装置
406 量子通信I/F
407 古典通信I/F
410 バス

Claims (15)

  1. 平文データを受け付ける前に、前記平文データを暗号化する暗号鍵を先読みし、前記平文データを受け付けた場合、前記平文データを前記暗号鍵により暗号化する暗号化部と、
    暗号データを受け付ける前に、前記暗号データを復号する復号鍵を先読みし、前記暗号データを受け付けた場合、前記暗号データを前記復号鍵により復号する復号部と、
    先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを制御する制御部と、
    を備える暗号通信装置。
  2. 前記制御部は、先読みされた前記暗号鍵を記憶するために確保されるメモリ領域のサイズと、先読みされた前記復号鍵を記憶するために確保されるメモリ領域のサイズとを更に制御する、
    請求項1に記載の暗号通信装置。
  3. QKD(Quantum Key Distribution)により、通信先の装置と共有された共通鍵を生成するQKD部を更に備え、
    前記制御部は、前記共通鍵を前記暗号鍵又は前記復号鍵に割り当て、前記共通鍵の生成速度が速いほど、先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを多くする、
    請求項1に記載の暗号通信装置。
  4. QKD(Quantum Key Distribution)により、通信先の装置と共有された共通鍵を生成するQKD部を更に備え、
    前記制御部は、前記共通鍵の残量が多いほど、先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを多くする、
    請求項1に記載の暗号通信装置。
  5. QKD(Quantum Key Distribution)により、通信先の装置と共有された共通鍵を生成するQKD部を更に備え、
    前記暗号化部と前記復号部とは、任意の数のマルチプロセス又はマルチスレッドにより実現され、
    前記制御部は、前記共通鍵の生成速度が速いほど、前記マルチプロセスのプロセス数、又は、前記マルチスレッドのスレッド数を多くする、
    請求項1に記載の暗号通信装置。
  6. QKD(Quantum Key Distribution)により、通信先の装置と共有された共通鍵を生成するQKD部を更に備え、
    前記暗号化部と前記復号部とは、任意の数のマルチプロセス又はマルチスレッドにより実現され、
    前記制御部は、前記共通鍵の残量が多いほど、前記マルチプロセスのプロセス数、又は、前記マルチスレッドのスレッド数を多くする、
    請求項1に記載の暗号通信装置。
  7. 前記制御部は、前記復号鍵の残量よりも前記暗号鍵の残量の方が多い場合、先読みされる前記暗号鍵の量を先読みされる前記復号鍵の量よりも多くし、前記暗号鍵の残量よりも前記復号鍵の残量の方が多い場合、先読みされる前記復号鍵の量を先読みされる前記暗号鍵の量よりも多くする、
    請求項1に記載の暗号通信装置。
  8. 前記暗号化部と前記復号部とは、任意の数のマルチプロセス又はマルチスレッドにより実現され、
    前記制御部は、前記復号鍵の残量よりも前記暗号鍵の残量の方が多い場合、前記暗号化部を実現するマルチプロセス又はマルチスレッドの数を、前記復号部を実現するマルチプロセス又はマルチスレッドの数よりも多くし、前記暗号鍵の残量よりも前記復号鍵の残量の方が多い場合、前記復号部を実現するマルチプロセス又はマルチスレッドの数を、前記暗号化部を実現するマルチプロセス又はマルチスレッドの数よりも多くする、
    請求項1に記載の暗号通信装置。
  9. 前記制御部は、前記暗号通信装置による暗号通信の通信統計情報及び通信履歴情報の少なくとも一方を使用して、先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを制御する、
    請求項1に記載の暗号通信装置。
  10. 前記暗号化部と前記復号部とは、任意の数のマルチプロセス又はマルチスレッドにより実現され、
    前記制御部は、前記暗号通信装置による暗号通信の通信統計情報及び通信履歴情報の少なくとも一方を使用して、前記暗号化部を実現するマルチプロセス又はマルチスレッドの数と、前記復号部を実現するマルチプロセス又はマルチスレッドの数とを制御する、
    請求項1に記載の暗号通信装置。
  11. 前記制御部は、前記平文データを生成するアプリケーションに応じて、先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを制御する、
    請求項1に記載の暗号通信装置。
  12. 前記暗号化部と前記復号部とは、任意の数のマルチプロセス又はマルチスレッドにより実現され、
    前記制御部は、前記平文データを生成するアプリケーションに応じて、前記暗号化部を実現するマルチプロセス又はマルチスレッドの数と、前記復号部を実現するマルチプロセス又はマルチスレッドの数とを制御する、
    請求項1に記載の暗号通信装置。
  13. 平文データを受け付ける前に、前記平文データを暗号化する暗号鍵を先読みし、前記平文データを受け付けた場合、前記平文データを前記暗号鍵により暗号化する暗号化部と、
    暗号データを受け付ける前に、前記暗号データを復号する復号鍵を先読みし、前記暗号データを受け付けた場合、前記暗号データを前記復号鍵により復号する復号部と、
    先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを制御する制御部と、
    を備える暗号通信システム。
  14. 平文データを受け付ける前に、前記平文データを暗号化する暗号鍵を先読みし、前記平文データを受け付けた場合、前記平文データを前記暗号鍵により暗号化するステップと、
    暗号データを受け付ける前に、前記暗号データを復号する復号鍵を先読みし、前記暗号データを受け付けた場合、前記暗号データを前記復号鍵により復号するステップと、
    先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを制御するステップと、
    を含む暗号通信方法。
  15. コンピュータを、
    平文データを受け付ける前に、前記平文データを暗号化する暗号鍵を先読みし、前記平文データを受け付けた場合、前記平文データを前記暗号鍵により暗号化する暗号化部と、
    暗号データを受け付ける前に、前記暗号データを復号する復号鍵を先読みし、前記暗号データを受け付けた場合、前記暗号データを前記復号鍵により復号する復号部と、
    先読みされる前記暗号鍵の量と、先読みされる前記復号鍵の量とを制御する制御部、
    として機能させるためのプログラム。
JP2018048491A 2018-03-15 2018-03-15 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム Pending JP2019161557A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018048491A JP2019161557A (ja) 2018-03-15 2018-03-15 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム
EP18192267.5A EP3541007B1 (en) 2018-03-15 2018-09-03 Cryptographic communication apparatus, cryptographic communication system, cryptographic communication method and computer-readable medium
JP2022144400A JP7419463B2 (ja) 2018-03-15 2022-09-12 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018048491A JP2019161557A (ja) 2018-03-15 2018-03-15 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022144400A Division JP7419463B2 (ja) 2018-03-15 2022-09-12 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2019161557A true JP2019161557A (ja) 2019-09-19

Family

ID=63490339

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018048491A Pending JP2019161557A (ja) 2018-03-15 2018-03-15 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム
JP2022144400A Active JP7419463B2 (ja) 2018-03-15 2022-09-12 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022144400A Active JP7419463B2 (ja) 2018-03-15 2022-09-12 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム

Country Status (2)

Country Link
EP (1) EP3541007B1 (ja)
JP (2) JP2019161557A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3944555A1 (en) * 2020-07-22 2022-01-26 Kabushiki Kaisha Toshiba Communication system, key management server device, router, and computer-readable medium
KR20220055403A (ko) * 2020-10-26 2022-05-03 가부시끼가이샤 도시바 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템
EP4362381A1 (en) 2022-10-24 2024-05-01 Kabushiki Kaisha Toshiba Cryptographic communication system, cryptographic communication device, cryptographic communication method, and cryptographic communication program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023136936A (ja) * 2022-03-17 2023-09-29 株式会社東芝 鍵管理装置、量子暗号通信システム及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221785A (ja) * 2010-04-09 2011-11-04 Seiko Epson Corp 情報処理装置、メモリ管理方法、及びそのプログラム
US20150043730A1 (en) * 2013-08-09 2015-02-12 Introspective Power, Inc. Streaming one time pad cipher using rotating ports for data encryption
JP2015179989A (ja) * 2014-03-19 2015-10-08 株式会社東芝 通信システム、通信装置、通信方法およびプログラム
JP2018029283A (ja) * 2016-08-18 2018-02-22 株式会社東芝 通信装置、通信システム及び通信方法
JP2018029302A (ja) * 2016-08-19 2018-02-22 株式会社東芝 通信装置、通信方法および通信システム
JP2018033079A (ja) * 2016-08-26 2018-03-01 株式会社東芝 通信装置、通信システム及び通信方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444794B2 (en) * 2012-07-03 2016-09-13 Futurewei Technologies, Inc. Low-latency secure segment encryption and authentication interface

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221785A (ja) * 2010-04-09 2011-11-04 Seiko Epson Corp 情報処理装置、メモリ管理方法、及びそのプログラム
US20150043730A1 (en) * 2013-08-09 2015-02-12 Introspective Power, Inc. Streaming one time pad cipher using rotating ports for data encryption
JP2015179989A (ja) * 2014-03-19 2015-10-08 株式会社東芝 通信システム、通信装置、通信方法およびプログラム
JP2018029283A (ja) * 2016-08-18 2018-02-22 株式会社東芝 通信装置、通信システム及び通信方法
JP2018029302A (ja) * 2016-08-19 2018-02-22 株式会社東芝 通信装置、通信方法および通信システム
JP2018033079A (ja) * 2016-08-26 2018-03-01 株式会社東芝 通信装置、通信システム及び通信方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3944555A1 (en) * 2020-07-22 2022-01-26 Kabushiki Kaisha Toshiba Communication system, key management server device, router, and computer-readable medium
KR20220055403A (ko) * 2020-10-26 2022-05-03 가부시끼가이샤 도시바 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템
US11824975B2 (en) 2020-10-26 2023-11-21 Kabushiki Kaisha Toshiba Communication device, computer program product, and communication system using quantum key distribution
KR102612892B1 (ko) * 2020-10-26 2023-12-13 가부시끼가이샤 도시바 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템
JP7414688B2 (ja) 2020-10-26 2024-01-16 株式会社東芝 通信装置、通信方法、プログラムおよび通信システム
EP4362381A1 (en) 2022-10-24 2024-05-01 Kabushiki Kaisha Toshiba Cryptographic communication system, cryptographic communication device, cryptographic communication method, and cryptographic communication program

Also Published As

Publication number Publication date
JP7419463B2 (ja) 2024-01-22
EP3541007B1 (en) 2023-09-06
EP3541007A1 (en) 2019-09-18
JP2022172360A (ja) 2022-11-15

Similar Documents

Publication Publication Date Title
US10630464B2 (en) Communication device, communication system, and communication method allocating shared keys to plural channels
JP7419463B2 (ja) 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム
EP3417569B1 (en) System and method for quantum key distribution
JP6203093B2 (ja) 通信システム、通信装置、通信方法およびプログラム
US8774415B2 (en) Key sharing device, key sharing method, and computer program product
US9240882B2 (en) Key generating device and key generating method
JP2019516266A (ja) 量子鍵配送に基づく暗号化及び復号のためのシステム及び方法
US10735186B2 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
US20140013101A1 (en) Communication device, key generating device, and computer readable medium
US20120089829A1 (en) Accelerating stream cipher operations using single and grid systems
KR20150093112A (ko) 콘텐츠-기반의 전송 보안
KR102143525B1 (ko) 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치
US20070113095A1 (en) Encryption scheme management method
JP6615718B2 (ja) 通信装置、通信システム及び通信方法
JP5372057B2 (ja) 通信システム及び通信方法
JP2017169187A (ja) 量子鍵配送装置、量子鍵配送システム、および量子鍵配送方法
JP2024500257A (ja) ネットワーク内の装置
TWI565285B (zh) A cryptographic device, a memory system, a decoding device, a cryptographic method, a decoding method, a cryptographic program product and a decoding program product
JPWO2021001990A1 (ja) データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム
CN114244515B (zh) 基于Hypervisor的虚拟机通信方法、装置、可读存储介质及电子设备
US20230084881A1 (en) Quantum cryptography communication system, quantum cryptography communication device, key management device, and computer program product
CN111480313B (zh) 通信终端、服务器装置、记录介质
JP5178269B2 (ja) 復号装置及びプログラム
JP2009207049A (ja) 通信装置
KR102066487B1 (ko) 하드웨어 인증칩 기반의 경량 암호 알고리즘 보안 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220628