JP2017038413A - Communication device, key generating device, communication method, program, and communication system - Google Patents

Communication device, key generating device, communication method, program, and communication system Download PDF

Info

Publication number
JP2017038413A
JP2017038413A JP2016228380A JP2016228380A JP2017038413A JP 2017038413 A JP2017038413 A JP 2017038413A JP 2016228380 A JP2016228380 A JP 2016228380A JP 2016228380 A JP2016228380 A JP 2016228380A JP 2017038413 A JP2017038413 A JP 2017038413A
Authority
JP
Japan
Prior art keywords
encryption
key
communication
unit
communication device
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
JP2016228380A
Other languages
Japanese (ja)
Inventor
佳道 谷澤
Yoshimichi Tanizawa
佳道 谷澤
馬場 伸一
Shinichi Baba
伸一 馬場
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 JP2016228380A priority Critical patent/JP2017038413A/en
Publication of JP2017038413A publication Critical patent/JP2017038413A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To select an optimal encryption communication mode taking throughput and cost into consideration according to a request of an application.SOLUTION: A communication device to be connected to a key generating device generating an encryption key comprises an inquiry unit, an encryption processing unit, and a selection unit. The inquiry unit inquires the key generating device of capability information indicating capability by which the key generating device generates the encryption key. The encryption processing unit executes a plurality of encryption functions. The selection unit selects an encryption function according to the capability information from the plurality of encryption functions. The encryption processing unit executes the encryption function selected by the selection unit.SELECTED DRAWING: Figure 3

Description

本発明の実施形態は、通信装置、鍵生成装置、通信方法、プログラムおよび通信システムに関する。   Embodiments described herein relate generally to a communication device, a key generation device, a communication method, a program, and a communication system.

複数のリンクによって相互に接続され、ネットワーク化された複数のノードから構成される暗号通信ネットワークが知られている。各ノードは、リンクによって接続された対向ノードとの間で乱数を生成して共有する機能(以下、生成共有ともいう)と、その乱数を暗号鍵(以下、リンク鍵)として利用して、リンク上で暗号通信を行う機能とを備える。また、ノードのうちの幾つかは、リンクとは独立に乱数を生成する機能と、別のノードに対し、生成した乱数を送信する機能とを備える。暗号通信ネットワークにおけるアプリケーションは、ノードから、乱数を取得し、これを暗号鍵(以下、アプリケーション鍵)として利用して、別のアプリケーションとの間で暗号通信を行う機能を備える。アプリケーションは、ノードと一体として実現されてもよいし、ノードと独立した端末として実現されてもよい。   There is known a cryptographic communication network composed of a plurality of nodes connected to each other by a plurality of links. Each node uses a function for generating and sharing a random number (hereinafter also referred to as generation sharing) with an opposite node connected by a link, and using the random number as an encryption key (hereinafter referred to as a link key). And a function for performing encrypted communication. Some of the nodes have a function of generating a random number independently of the link and a function of transmitting the generated random number to another node. An application in the encryption communication network has a function of acquiring a random number from a node and using this as an encryption key (hereinafter referred to as an application key) to perform encryption communication with another application. The application may be realized integrally with the node, or may be realized as a terminal independent of the node.

ノードにおいて、リンクによって接続された対向ノードとの間で乱数(リンク鍵)を生成共有する機能は、例えば、一般に量子暗号通信と呼ばれる技術により実現する。この場合、ノードにおいて、リンクとは独立に乱数(アプリケーション鍵)を生成し、生成した乱数を別のノードにリンクを介して送信する技術は、量子鍵配送(Quantum Key Distribution、QKD)と呼ばれることがある。   In the node, the function of generating and sharing a random number (link key) with an opposite node connected by a link is realized, for example, by a technique generally called quantum cryptography communication. In this case, a technique in which a node generates a random number (application key) independently of a link and transmits the generated random number to another node via the link is called quantum key distribution (QKD). There is.

Dianati, M., Alleaume, R., Gagnaire, M. and Shen, X. (2008), Architecture and protocols of the future European quantum key distribution network. Security and Communication Networks, 1: 57-74. DOI: 10.1002/sec.13Dianati, M., Alleaume, R., Gagnaire, M. and Shen, X. (2008), Architecture and protocols of the future European quantum key distribution network. Security and Communication Networks, 1: 57-74. DOI: 10.1002 / sec.13

暗号通信ネットワーク上のノードにおいて、リンクとは独立に生成する乱数(すなわちアプリケーション鍵)は、暗号通信ネットワークにおける有限なリソースである。また、アプリケーション鍵の生成速度に関しても技術的に上限がある。従って、アプリケーションにとって、ノードからアプリケーション鍵を取得して暗号通信する方法が最もセキュアな通信であるとしても、コスト等も考慮した場合には最適な暗号通信であるとは限らない。例えば、通信スループットの制約、および、有限リソースを利用することによるコストの観点から、他の(すなわち暗号通信ネットワーク上のノードからアプリケーション鍵を取得して暗号通信する方式以外の)暗号通信方式を用いる方が、セキュリティは低くなるとしても、アプリケーションの要求を満たした通信である場合もある。このように、ノードからアプリケーション鍵を取得して暗号通信する方法が常に最適とは限らない。すなわち、従来の方式では、アプリケーションの要求に照らして、スループットとコストをも考慮した上で最適な暗号通信方式を選択することができない。   A random number (that is, an application key) generated independently of a link in a node on the cryptographic communication network is a finite resource in the cryptographic communication network. There is also a technical upper limit on the generation speed of application keys. Therefore, even if the method of acquiring the application key from the node and performing the encrypted communication for the application is the most secure communication, the encrypted communication is not always optimal in consideration of the cost and the like. For example, from the viewpoint of communication throughput restrictions and costs due to the use of finite resources, another encryption communication method (that is, a method other than the method in which an application key is acquired from a node on the encryption communication network and encrypted communication) is used. Even if the security is lower, the communication may satisfy the requirements of the application. As described above, the method of obtaining the application key from the node and performing cryptographic communication is not always optimal. In other words, in the conventional method, it is not possible to select an optimal encryption communication method in consideration of throughput and cost in light of application requirements.

実施形態の通信装置は、暗号鍵を生成する鍵生成装置と接続される通信装置であって、問合せ部と、暗号処理部と、選択部と、を備える。問合せ部は、鍵生成装置が暗号鍵を生成する能力を表す能力情報を鍵生成装置に問い合わせる。暗号処理部は、複数の暗号機能を実行する。選択部は、複数の暗号機能のうち、能力情報に応じた暗号機能を選択する。暗号処理部は、選択部により選択された暗号機能を実行する。   The communication apparatus according to the embodiment is a communication apparatus connected to a key generation apparatus that generates an encryption key, and includes an inquiry unit, an encryption processing unit, and a selection unit. The inquiry unit inquires the key generation device about capability information indicating the capability of the key generation device to generate the encryption key. The cryptographic processing unit executes a plurality of cryptographic functions. The selection unit selects an encryption function corresponding to the capability information from among the plurality of encryption functions. The encryption processing unit executes the encryption function selected by the selection unit.

実施形態にかかる通信システムのネットワーク構成図。The network block diagram of the communication system concerning embodiment. 第1の実施形態のノードのブロック図。The block diagram of the node of 1st Embodiment. 第1の実施形態におけるアプリケーションのブロック図。The block diagram of the application in 1st Embodiment. 第1の実施形態の通信システムによる通信処理のシーケンス図。The sequence diagram of the communication processing by the communication system of 1st Embodiment. 第2の実施形態にかかるノードのブロック図。The block diagram of the node concerning 2nd Embodiment. 第2の実施形態にかかるアプリケーションのブロック図。The block diagram of the application concerning 2nd Embodiment. 第2の実施形態の通信システムによる通信処理のシーケンス図。The sequence diagram of the communication processing by the communication system of 2nd Embodiment. 第1および第2の実施形態にかかる装置のハードウェア構成図。The hardware block diagram of the apparatus concerning 1st and 2nd embodiment.

以下に添付図面を参照して、この発明にかかる通信装置の好適な実施形態を詳細に説明する。   Exemplary embodiments of a communication apparatus according to the present invention will be explained below in detail with reference to the accompanying drawings.

(第1の実施形態)
第1の実施形態にかかる通信システムは、アプリケーションがノードに対し、アプリケーション鍵を生成する能力を表す能力情報(以下、アプリケーション鍵情報という)を問い合わせる。アプリケーションは、アプリケーション鍵を取得した場合に可能な暗号機能および性能と、アプリケーション鍵を取得することなく可能な暗号機能および性能と、を比較する。そして、アプリケーション要求に照らして最適な暗号通信方式を選択する。
(First embodiment)
In the communication system according to the first embodiment, an application inquires capability information (hereinafter referred to as application key information) indicating the capability of generating an application key to a node. The application compares the encryption function and performance that are possible when the application key is acquired with the encryption function and performance that are possible without acquiring the application key. Then, an optimal encryption communication method is selected in light of the application request.

アプリケーション鍵情報は、例えば以下のような情報である。
(A)ノードが現在、該当アプリケーションに対して提供可能なアプリケーション鍵の量
(B)ノードが現在、生成共有を行っているアプリケーション鍵のスループットのうち、該当アプリケーションに割当て可能なアプリケーション鍵のスループットに関する情報
(C)アプリケーション鍵の量またはスループットを該当アプリケーションに割り当てる場合に必要となるコストに関する情報
The application key information is, for example, the following information.
(A) The amount of application keys that the node can currently provide to the corresponding application. (B) Among the application key throughputs that the node is currently generating and sharing, the application key throughput that can be assigned to the corresponding application. Information (C) Information related to the cost required for allocating the application key amount or throughput to the corresponding application

図1は、本実施形態にかかる通信システムのネットワーク構成例を示す図である。通信システムは、鍵生成装置としてのノード100a〜100cと、アプリケーション200a、200cと、を含む。   FIG. 1 is a diagram illustrating a network configuration example of a communication system according to the present embodiment. The communication system includes nodes 100a to 100c as key generation devices and applications 200a and 200c.

ノード100a〜100cを区別する必要がない場合は、単にノード100という場合がある。アプリケーション200a、200cを区別する必要がない場合は、単にアプリケーション200という場合がある。ノード100の個数は3に限られるものではない。また、アプリケーション200の個数は2に限られるものではない。   When it is not necessary to distinguish the nodes 100a to 100c, the node 100 may be simply referred to as a node 100. When it is not necessary to distinguish between the applications 200a and 200c, the application 200a may be simply referred to as an application 200. The number of nodes 100 is not limited to three. Further, the number of applications 200 is not limited to two.

ノード100a〜100cは、上述のように、対向ノードとの間で乱数を生成共有する機能と、生成した乱数をリンク鍵として利用して、リンク(リンク300a、300b)上で暗号通信を行う機能とを備える。ノード100は、リンクとは独立に乱数を生成する機能と、別のノードに対して生成した乱数を送信する機能とを備えてもよい。   As described above, the nodes 100a to 100c generate and share random numbers with the opposite node, and use the generated random numbers as link keys to perform cryptographic communication on links (links 300a and 300b). With. The node 100 may have a function of generating a random number independently of the link and a function of transmitting the generated random number to another node.

図2は、ノード100の構成の一例を示すブロック図である。図2に示すように、ノード100は、第1通信部101と、生成部102と、鍵管理部103と、第2通信部104と、プラットフォーム部105と、を備えている。   FIG. 2 is a block diagram illustrating an example of the configuration of the node 100. As illustrated in FIG. 2, the node 100 includes a first communication unit 101, a generation unit 102, a key management unit 103, a second communication unit 104, and a platform unit 105.

第1通信部101は、他のノード100(外部装置)との間の通信リンク(ノード間通信リンク)であるリンク51によって接続された他のノード(以下、対向ノードともいう)との間で、量子暗号通信技術を用いて、乱数を生成共有し、生成した乱数をリンク鍵として管理する。なお、量子暗号通信技術以外の方法でリンク鍵を生成共有してもよい。また、第1通信部101は、リンク51によって接続された他のノードとの間でデータの送受信(ノード間データ通信)を行う際に利用される。ここで、データ通信の相手となる他のノードとは、リンク51によって直接接続された対向ノードである場合もあるし、その対向ノードの別のリンクを介してさらに接続される別のノードである場合もある。この場合、第1通信部101は、暗号通信ネットワークにおいて、複数のノード100を介して通信を行うためのルーティング機能を提供してもよい。また、ノード間データ通信は、第1通信部101が管理するリンク鍵を用いて暗号化された通信であってもよい。   The first communication unit 101 communicates with another node (hereinafter also referred to as an opposite node) connected by a link 51 that is a communication link (inter-node communication link) with another node 100 (external device). Using random encryption communication technology, random numbers are generated and shared, and the generated random numbers are managed as link keys. Note that the link key may be generated and shared by a method other than the quantum cryptography communication technique. The first communication unit 101 is used when data is transmitted / received to / from other nodes connected by the link 51 (inter-node data communication). Here, the other node that is the partner of the data communication may be an opposite node directly connected by the link 51, or another node that is further connected via another link of the opposite node. In some cases. In this case, the first communication unit 101 may provide a routing function for performing communication via the plurality of nodes 100 in the encryption communication network. The inter-node data communication may be communication encrypted using a link key managed by the first communication unit 101.

生成部102は、第1通信部101とは独立に、乱数を生成し、生成した乱数を他のノード100と共有する機能を持つ。他のノード100と乱数を共有する際に、第1通信部101の機能を用いてもよい。生成部102が生成共有した乱数を、アプリケーション鍵と呼ぶ。   The generation unit 102 has a function of generating a random number independently of the first communication unit 101 and sharing the generated random number with other nodes 100. The function of the first communication unit 101 may be used when sharing random numbers with other nodes 100. The random number generated and shared by the generation unit 102 is called an application key.

また、生成部102は、第2通信部104を介したアプリケーション200からの問い合わせに対して、現在提供可能なアプリケーション鍵の量、現在生成共有を行っているアプリケーション鍵のうち該当アプリケーション200に割当て可能なアプリケーション鍵のスループットに関する情報、および、スループットや鍵の量を実現するために必要なコストに関する情報、を通知する機能を持つ。ノード100がこれらの情報を把握する方法はどのような方法であってもよい。ノード100は、何らかの方法により、これらの情報を把握していればよい。   Further, the generation unit 102 can assign to the application 200 among the application keys that can be currently provided and the application keys that are currently generated and shared in response to an inquiry from the application 200 via the second communication unit 104. A function for notifying information on the throughput of a simple application key and information on a cost necessary to realize the throughput and the amount of keys. Any method may be used for the node 100 to grasp the information. The node 100 only needs to grasp the information by some method.

鍵管理部103は、生成部102が生成共有したアプリケーション鍵を管理する。鍵管理部103は、第2通信部104からの要求に応じて、適切なアプリケーション鍵を選択して受け渡す。   The key management unit 103 manages the application key generated and shared by the generation unit 102. The key management unit 103 selects and passes an appropriate application key in response to a request from the second communication unit 104.

第2通信部104は、アプリケーション200との間の通信リンクであるリンク52(アプリケーション通信リンク)を介して、アプリケーション200と接続して通信する。第2通信部104は、アプリケーション200からの要求を受け付け、アプリケーション200に対してアプリケーション鍵を提供する。   The second communication unit 104 communicates by connecting to the application 200 via a link 52 (application communication link) that is a communication link with the application 200. The second communication unit 104 receives a request from the application 200 and provides an application key to the application 200.

ここで、アプリケーション通信リンクについては特に規定しないため、アプリケーション200は、何らかのネットワークを介してノード100と接続される別のコンピュータ上に存在していてもよい。この場合、ノード100とアプリケーション200とを接続するネットワーク上では、ファイアウォール、データの暗号化、およびデータの認証等、既存のネットワークセキュリティ機能が実現されていてもよい。アプリケーション200がノード100上に存在し、ソフトウェアのAPI(Application Program Interface)を介して第2通信部104と接続していてもよい。   Here, since the application communication link is not particularly defined, the application 200 may exist on another computer connected to the node 100 via some network. In this case, existing network security functions such as a firewall, data encryption, and data authentication may be implemented on the network connecting the node 100 and the application 200. The application 200 may exist on the node 100 and may be connected to the second communication unit 104 via a software API (Application Program Interface).

プラットフォーム部105は、ノード100上の他の構成要素の管理や、動作に必要なコンピュータのオペレーティングシステム機能等を提供する。   The platform unit 105 provides management of other components on the node 100, computer operating system functions necessary for operation, and the like.

以上、第1の実施形態におけるノード100の構成について説明した。次に、第1の実施形態におけるアプリケーション200の構成例について説明する。図3は、第1の実施形態におけるアプリケーション200の構成例を示すブロック図である。図3に示すように、アプリケーション200は、通信部201と、暗号処理部202と、実行部203と、通信部204と、問合せ部205と、選択部206と、プラットフォーム部207と、を備えている。   The configuration of the node 100 in the first embodiment has been described above. Next, a configuration example of the application 200 in the first embodiment will be described. FIG. 3 is a block diagram illustrating a configuration example of the application 200 according to the first embodiment. As illustrated in FIG. 3, the application 200 includes a communication unit 201, an encryption processing unit 202, an execution unit 203, a communication unit 204, an inquiry unit 205, a selection unit 206, and a platform unit 207. Yes.

通信部201は、アプリケーション通信リンク(リンク52)を介して、ノード100(具体的にはノード100の第2通信部104)と接続して各種データを送受信する。例えば、通信部201は、暗号通信を行うために必要なアプリケーション鍵をノード100から取得する。   The communication unit 201 is connected to the node 100 (specifically, the second communication unit 104 of the node 100) via the application communication link (link 52) and transmits / receives various data. For example, the communication unit 201 acquires from the node 100 an application key necessary for performing cryptographic communication.

暗号処理部202は、データの暗号化処理および復号処理の機能を提供する。第1の実施形態の暗号処理部202は、複数の暗号機能のうち、選択された暗号機能を実行する。アプリケーション200が備えるセキュリティチップやCPU(Central Processing Unit)等のハードウェアリソース、および、暗号ライブラリ等のソフトウェアリソースにより、提供可能な暗号機能や性能は異なる。提供可能な暗号機能の1つとして、通信部201が取得したアプリケーション鍵を保持し、アプリケーション鍵を利用して、暗号通信を行う上で必要なデータの暗号化処理と復号処理を行ってもよい。   The encryption processing unit 202 provides functions of data encryption processing and decryption processing. The cryptographic processing unit 202 according to the first embodiment executes a selected cryptographic function among a plurality of cryptographic functions. Cryptographic functions and performance that can be provided differ depending on hardware resources such as a security chip and CPU (Central Processing Unit) included in the application 200 and software resources such as a cryptographic library. As one of the encryption functions that can be provided, the application key acquired by the communication unit 201 may be held, and the application key may be used to perform encryption processing and decryption processing of data necessary for performing encrypted communication. .

なお、暗号機能が利用する暗号アルゴリズム(暗号方式)については特に限定は行わない。アプリケーション鍵を利用してもしなくても良いし、また、例えば、AES(Advanced Encryption Standard)の様なブロック暗号であってもよいし、OTP(One-time Pad)の様なバーナム暗号であってもよい。   The encryption algorithm (encryption method) used by the encryption function is not particularly limited. An application key may or may not be used. For example, a block cipher such as AES (Advanced Encryption Standard) or a Burnham cipher such as OTP (One-time Pad) Also good.

暗号処理部202はさらに、提供可能な暗号機能に関する情報に加え、性能に関する情報を把握してこれを選択部206等へ通知可能であってもよい。暗号機能に関する情報とは、一般的にはサポートする暗号アルゴリズムおよび認証アルゴリズムやその鍵長の情報である。例えば、「AES−128−CBC」、「AES−256−CBC」、「DES−EDE3」等のアルゴリズム・鍵長・モードを示す文字列でもよい。性能に関する情報とは、その暗号機能を利用した場合に処理可能な一定時間あたりのデータ量、および、暗号機能を利用したときのCPU負荷などに関する情報である。例えば、10Gbps、100Mbpsといったスループットの形式、CPU負荷(%表示)である。または、一定サイズのデータを処理するのに必要なCPU命令数等で表現してもよい。   The cryptographic processing unit 202 may be capable of grasping information on performance in addition to information on cryptographic functions that can be provided and notifying the selection unit 206 and the like. The information related to the cryptographic function is generally information about supported cryptographic algorithms and authentication algorithms and their key lengths. For example, a character string indicating an algorithm, a key length, and a mode such as “AES-128-CBC”, “AES-256-CBC”, and “DES-EDE3” may be used. The information related to performance is information related to the amount of data per fixed time that can be processed when the cryptographic function is used, the CPU load when the cryptographic function is used, and the like. For example, throughput formats such as 10 Gbps and 100 Mbps, and CPU load (% display). Alternatively, it may be expressed by the number of CPU instructions necessary for processing data of a certain size.

なお、第1の実施形態においては、暗号処理部202がこれらの情報を把握する方法はどのような方法であってもよい。暗号処理部202は、何らかの方法により、これらの情報を把握していればよい。   In the first embodiment, any method may be used for the encryption processing unit 202 to grasp the information. The cryptographic processing unit 202 only needs to grasp the information by some method.

暗号処理部202がいずれの暗号機能を利用するかは、後述する選択部206等によって決定および設定される。また、暗号処理部202が、どのような暗号機能を利用しているかは、実行部203や通信部204には隠蔽されてもよい。   Which encryption function the encryption processing unit 202 uses is determined and set by the selection unit 206 and the like which will be described later. Further, what encryption function the encryption processing unit 202 uses may be hidden by the execution unit 203 and the communication unit 204.

実行部203は、暗号通信を行うアプリケーション機能を実行する。通信を行うものであれば特にアプリケーション機能の種類は限定しない。例えば、実行部203は、ビデオ送信等の機能を実行する。実行部203は、送信データを通信部204へと受け渡し、受信データを通信部204から受け取る。   The execution unit 203 executes an application function for performing cryptographic communication. The type of application function is not particularly limited as long as it performs communication. For example, the execution unit 203 executes functions such as video transmission. The execution unit 203 passes transmission data to the communication unit 204 and receives reception data from the communication unit 204.

実行部203は、何らかの方法(例えばユーザ、管理者、および、アプリケーション開発者による設定、統計情報処理、および、自動制御等の方法)により、アプリケーション要求に関する情報(要求情報)を保持しているものとする。要求情報とは、例えば、セキュリティ(暗号化処理および復号処理の安全性に対する要求)、スループット(通信速度に対する要求)、コスト(アプリケーション鍵という有限リソースを消費することに伴って発生する、(例えば金銭的な)コストに対する要求)、および、それらの優先度等を数値化した値である。   The execution unit 203 holds information (request information) related to an application request by some method (for example, a method such as setting by a user, an administrator, and an application developer, statistical information processing, and automatic control). And Request information includes, for example, security (request for security of encryption processing and decryption processing), throughput (request for communication speed), cost (consumption of a finite resource called an application key) (for example, money) (Required for cost) and their priorities and the like.

通信部204は、実行部203の動作に必要な通信機能を提供する。また、データ通信の際には、暗号処理部202を用いてデータの暗号化と復号を行うことができる。通信部204は、アプリケーション200から送信データを受けとると、暗号処理部202を用いてこれを暗号化し、データ通信リンク(リンク53)を介してデータを送信する。データ通信リンクは、通信相手のアプリケーション200との間でデータを送受信するためのリンクである。また、通信部204は、データ通信リンクからデータを受信すると、暗号処理部202を用いて受信したデータを復号し、アプリケーション200へと復号したデータを受け渡す。   The communication unit 204 provides a communication function necessary for the operation of the execution unit 203. In data communication, the encryption processing unit 202 can be used to encrypt and decrypt data. When receiving the transmission data from the application 200, the communication unit 204 encrypts the data using the encryption processing unit 202, and transmits the data via the data communication link (link 53). The data communication link is a link for transmitting and receiving data to and from the communication partner application 200. In addition, when receiving data from the data communication link, the communication unit 204 decrypts the received data using the encryption processing unit 202 and delivers the decrypted data to the application 200.

問合せ部205は、通信部201を介して、上述の(A)〜(C)のようなアプリケーション鍵情報をノード100に対して問い合わせる。問い合わせによって得られた結果は、選択部206に渡される。   The inquiry unit 205 inquires of the node 100 about application key information such as the above (A) to (C) via the communication unit 201. The result obtained by the inquiry is passed to the selection unit 206.

選択部206は、得られたアプリケーション鍵情報等を参照し、アプリケーション200を実行する際に、最適な暗号機能を選択する。選択部206は、ノード100に問い合わせて得られたアプリケーション鍵情報の他に、以下のようなアプリケーション200に関する情報(以下、アプリケーション情報という)を用いて暗号機能を選択してもよい。選択部206が選択時に参照する情報は、これらに限定されないし、このうちの一部のみ参照してもよい。
(1)実行部203から取得した要求情報
(2)暗号処理部202から取得した、アプリケーション200が自身で実現可能な暗号機能および性能に関する情報(以下、暗号機能情報という)
(3)プラットフォーム部207等から取得した、現在のアプリケーション200におけるリソース使用状況に関する情報(以下、リソース情報という)
The selection unit 206 refers to the obtained application key information and the like, and selects an optimal encryption function when executing the application 200. The selection unit 206 may select the encryption function using the following information about the application 200 (hereinafter referred to as application information) in addition to the application key information obtained by inquiring the node 100. The information referred to by the selection unit 206 at the time of selection is not limited to these, and only some of them may be referred to.
(1) Request information acquired from the execution unit 203 (2) Information regarding the cryptographic function and performance that can be realized by the application 200 by itself, acquired from the cryptographic processing unit 202 (hereinafter referred to as cryptographic function information)
(3) Information obtained from the platform unit 207 or the like regarding the resource usage status in the current application 200 (hereinafter referred to as resource information)

プラットフォーム部207は、アプリケーション200上の他の構成要素の管理や、動作に必要なコンピュータのオペレーティングシステム機能等を提供する。   The platform unit 207 provides management of other components on the application 200, computer operating system functions necessary for operation, and the like.

以上、第1の実施形態におけるアプリケーション200の構成について説明した。ただし、上記説明は一例である。   The configuration of the application 200 in the first embodiment has been described above. However, the above description is an example.

なお、ノード100およびアプリケーション200の各部は、例えば、CPU(Central Processing Unit)などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。   Note that each unit of the node 100 and the application 200 may be realized by causing a processing device such as a CPU (Central Processing Unit) to execute a program, that is, by software or hardware such as an IC (Integrated Circuit). It may be realized by a combination of software and hardware.

次に、第1の実施形態を実現するシーケンスについて説明する。図4は、第1の実施形態の通信システムによる通信処理の一例を示すシーケンス図である。図4は、アプリケーション200が暗号通信を開始する際に、ノード100に対してアプリケーション鍵の生成状況について問い合わせを行い、アプリケーション200が最適な暗号機能を選択する場合のシーケンスである。   Next, a sequence for realizing the first embodiment will be described. FIG. 4 is a sequence diagram illustrating an example of communication processing by the communication system according to the first embodiment. FIG. 4 is a sequence in a case where when the application 200 starts encryption communication, the node 100 is inquired about the generation state of the application key, and the application 200 selects an optimal encryption function.

アプリケーション200の実行部203は、アプリケーション実行開始の前に、自身が保持する要求情報を選択部206に対して通知し、本アプリケーション実行に伴う最適な暗号機能を問い合わせる。選択部206は、この問い合せを受けて、問合せ部205に対して、アプリケーション鍵の問い合わせ(鍵問い合わせ)を指示する。問合せ部205は、この問合せを受けて、通信部201を介して、ノード100に対し、鍵問い合わせのためのメッセージを送信する(ステップS101)。   The execution unit 203 of the application 200 notifies request information held by the execution unit 203 to the selection unit 206 before initiating the execution of the application, and inquires about an optimal encryption function associated with the execution of the application. Upon receiving this inquiry, the selection unit 206 instructs the inquiry unit 205 to inquire about the application key (key inquiry). In response to this inquiry, the inquiry unit 205 transmits a key inquiry message to the node 100 via the communication unit 201 (step S101).

ノード100の第2通信部104は、鍵問い合わせのメッセージを受け取る。第2通信部104は、鍵問い合わせを鍵管理部103に通知する。鍵管理部103は、鍵問い合わせに対して、上述の(A)〜(C)のアプリケーション鍵情報のうち少なくとも1つを、第2通信部104を介して、アプリケーション200へ回答する(ステップS102)。アプリケーション200の通信部201は、受信したアプリケーション鍵情報を問合せ部205へ通知する。問合せ部205は、アプリケーション鍵情報を選択部206へ通知する。   The second communication unit 104 of the node 100 receives the key inquiry message. The second communication unit 104 notifies the key management unit 103 of the key inquiry. In response to the key inquiry, the key management unit 103 returns at least one of the above-described application key information (A) to (C) to the application 200 via the second communication unit 104 (step S102). . The communication unit 201 of the application 200 notifies the inquiry unit 205 of the received application key information. Inquiry unit 205 notifies application key information to selection unit 206.

選択部206は、問合せ部205からアプリケーション鍵情報を取得する。選択部206は、さらに、提供可能な暗号機能に関して暗号処理部202に問い合わせを行ってもよい。この問い合わせを受けて、暗号処理部202は、暗号機能情報を選択部206に提供する。暗号機能情報は、より具体的には、利用可能なセキュリティチップ(ハードウェア)の機能および性能に関する情報、並びに、利用可能な暗号ライブラリ(ソフトウェア)の機能および性能に関する情報などである。   The selection unit 206 acquires application key information from the inquiry unit 205. The selection unit 206 may further inquire the encryption processing unit 202 regarding the encryption functions that can be provided. Upon receiving this inquiry, the cryptographic processing unit 202 provides the cryptographic function information to the selection unit 206. More specifically, the cryptographic function information includes information on the function and performance of an available security chip (hardware) and information on the function and performance of an available cryptographic library (software).

選択部206は、さらに、プラットフォーム部207に対して、アプリケーションにおけるリソース使用状況に関して問い合わせを行ってもよい。本問い合わせを受けて、プラットフォーム部207は、リソース情報を選択部206に提供する。リソース情報は、より具体的には、CPU負荷、メモリ使用量、他ジョブの実行状況、および、セキュリティチップの利用状況などである。   The selection unit 206 may further inquire the platform unit 207 regarding the resource usage status in the application. Upon receiving this inquiry, the platform unit 207 provides the resource information to the selection unit 206. More specifically, the resource information includes CPU load, memory usage, execution status of other jobs, usage status of security chip, and the like.

なお、選択部206による問合せ部205からのアプリケーション鍵情報取得と、暗号処理部202およびプラットフォーム部207への問い合わせおよび情報取得のタイミングは特に限定しない。どちらが先に行われても構わない。あるいは、本シーケンス実行より前に事前に行われていても構わない。   Note that the timing of acquisition of application key information from the inquiry unit 205 by the selection unit 206 and the inquiry and information acquisition to the encryption processing unit 202 and the platform unit 207 are not particularly limited. Whichever is done first. Alternatively, it may be performed in advance before the execution of this sequence.

選択部206は、以上により、実行部203からの要求情報、問合せ部205からのアプリケーション鍵情報、暗号処理部202からの暗号機能情報、および、プラットフォーム部207からのリソース情報を、受けとることができる。ただし、これは一例であり、以上のうちのいくつかの情報のみを利用してもよいし、これ以外の情報を取得してもよい。   As described above, the selection unit 206 can receive the request information from the execution unit 203, the application key information from the inquiry unit 205, the cryptographic function information from the cryptographic processing unit 202, and the resource information from the platform unit 207. . However, this is an example, and only some of the above information may be used, or other information may be acquired.

選択部206は、以上の情報を元に、アプリケーション要求(要求情報)に照らして最適な暗号機能を選択する(ステップS103)。選択の方法には様々な方法がありえ、ここでは特に限定しない。例えば、「スループットXを確保した上で、最もセキュリティの高い通信を行いたい」というアプリケーション要求があった場合、以下のような選択方法を適用できる。なお、この例では簡単化のため、アプリケーション200は、セキュリティチップにより、AESのみをサポートしているものとする。また、暗号機能によっては、
(C1)アプリケーション鍵を利用したOTP暗号(以下、QKD OTP)
(C2)アプリケーション鍵を利用したAESブロック暗号(以下、QKD AES)
(C3)通常のAES暗号
が可能であるものとする。また、これらの3種類の暗号機能にコストの差はなく、(C1)、(C2)、(C3)の順にセキュリティが高いと仮定する。
Based on the above information, the selection unit 206 selects an optimal encryption function in light of the application request (request information) (step S103). There are various selection methods, and there is no particular limitation here. For example, if there is an application request “I want to perform communication with the highest security while ensuring the throughput X”, the following selection method can be applied. In this example, for simplification, it is assumed that the application 200 supports only AES by the security chip. Depending on the encryption function,
(C1) OTP encryption using application key (hereinafter referred to as QKD OTP)
(C2) AES block cipher using application key (hereinafter QKD AES)
(C3) It is assumed that normal AES encryption is possible. Also, it is assumed that there is no difference in cost among these three types of cryptographic functions, and security is higher in the order of (C1), (C2), and (C3).

まず、選択部206は、最もセキュリティの高い(C1)の暗号機能を適用した場合のスループットAがX以上であるか否かを判断する。スループットAは、取得したアプリケーション鍵情報のうち、該当アプリケーション200に割当て可能なアプリケーション鍵のスループットに関する情報を用いて算出できる。選択部206は、X<Aであれば、暗号機能(C1)を用いることが最適であると判断する。そうでない場合は、(C1)は最適ではない。   First, the selection unit 206 determines whether or not the throughput A when the (C1) encryption function with the highest security is applied is X or more. Throughput A can be calculated using information on the throughput of application keys that can be assigned to the application 200 among the obtained application key information. If X <A, the selection unit 206 determines that it is optimal to use the encryption function (C1). Otherwise (C1) is not optimal.

次に、選択部206は、2番目にセキュリティの高い(C2)のスループットBがX以上か否かを判断する。スループットBは、アプリケーション鍵情報のうち、該当アプリケーション200に割当て可能なアプリケーション鍵のスループットに関する情報と、(C2)で用いるAESの鍵長および利用可能なセキュリティチップまたは暗号ライブラリの性能と、から算出できる。選択部206は、X<Bであれば、暗号機能(C2)を用いることが最適であると判断する。そうでない場合は、(C2)は最適ではない。   Next, the selection unit 206 determines whether or not the second highest security (C2) throughput B is X or more. The throughput B can be calculated from the information on the throughput of the application key that can be allocated to the application 200 among the application key information, the AES key length used in (C2), and the performance of the available security chip or cryptographic library. . If X <B, the selection unit 206 determines that it is optimal to use the encryption function (C2). Otherwise (C2) is not optimal.

最後に、選択部206は、3番目にセキュリティの高い(C3)のスループットCがX以上か否かを判断する。スループットCは、(C3)で用いるAESの鍵長および利用可能なセキュリティチップまたは暗号ライブラリの性能から算出できる。選択部206は、X<Cであれば、暗号機能(C3)を用いることが最適であると判断する。   Finally, the selection unit 206 determines whether or not the third highest security (C3) throughput C is X or more. Throughput C can be calculated from the key length of AES used in (C3) and the performance of available security chips or cryptographic libraries. If X <C, the selection unit 206 determines that it is optimal to use the encryption function (C3).

以上の例では、アプリケーション要求として、スループット要求のみを考慮した。例えば「コストY以下を確保した上で、最もセキュリティの高い通信を行いたい」というようなコストに関するアプリケーション要求(コスト要求)に対しても、同様に比較および判断してよい。また、今回の例では利用しなかったが、例えばアプリケーション200に対して「通信データ量がZである」ことが明らかである場合、アプリケーション200に対して提供可能なアプリケーション鍵の量についても比較してもよい。   In the above example, only the throughput request is considered as the application request. For example, an application request (cost request) related to a cost such as “I want to perform communication with the highest security after securing the cost Y or less” may be compared and determined in the same manner. Although not used in this example, for example, when it is clear to the application 200 that the communication data amount is Z, the amount of application keys that can be provided to the application 200 is also compared. May be.

なお、アプリケーション要求を満たす暗号機能が1つも見つからなかった場合の動作はいくつか可能である。例えば、最もアプリケーション要求に近い暗号機能を選択し、選択した暗号機能を最適なものと判断する方法、および、最適な暗号機能が見つからないためエラーとしてアプリケーション200またはユーザに通知する方法などが利用できる。   Note that several operations are possible when no encryption function satisfying the application request is found. For example, a method of selecting an encryption function closest to the application request, determining that the selected encryption function is optimal, and a method of notifying the application 200 or the user as an error because the optimal encryption function is not found can be used. .

選択部206は、最適と判断した(選択した)暗号機能を利用するように、暗号処理部202を設定する(ステップS104)。また、選択部206は、実行部203に対して、暗号機能の選択が完了したこと、または、その結果選択された暗号機能を通知してもよい。   The selection unit 206 sets the encryption processing unit 202 to use the encryption function determined (selected) as optimal (step S104). In addition, the selection unit 206 may notify the execution unit 203 that the selection of the encryption function has been completed or the encryption function selected as a result.

実行部203は、アプリケーション200の実行を開始する(ステップS105)。アプリケーション200は、データ通信の際、通信部204を利用する。このとき、選択部206によって最適に設定された暗号処理部202によって、通信データの暗号化処理および復号処理が行われる。なお、ノード100から提供されるアプリケーション鍵が不要な場合は、アプリケーション200はアプリケーション鍵を利用せずに別の暗号方式による暗号機能および別の暗号鍵を利用して暗号通信してもよい。   The execution unit 203 starts executing the application 200 (step S105). The application 200 uses the communication unit 204 during data communication. At this time, the encryption processing unit 202 optimally set by the selection unit 206 performs encryption processing and decryption processing of communication data. When the application key provided from the node 100 is unnecessary, the application 200 may perform encrypted communication using an encryption function using another encryption method and another encryption key without using the application key.

このように、第1の実施形態にかかる通信システムでは、アプリケーションが、ノードに問い合わせて得たアプリケーション鍵情報とアプリケーション要求とを用いて最適な暗号機能を選択することができる。   As described above, in the communication system according to the first embodiment, an application can select an optimal encryption function using application key information obtained by inquiring a node and an application request.

(変形例)
第1の実施形態では、アプリケーション機能(暗号通信)の実行開始前に暗号機能を選択した。変形例では、暗号通信の最中であっても、利用する暗号機能を動的に変更可能とする(変形機能1)。また、第1の実施形態では、最適な1つの暗号通信方式(暗号機能)を選択したが、選択する暗号機能の個数は1に限られるものではない。変形例にかかる通信システムは、最適な暗号通信方式の組み合わせ(複数の暗号機能)を選択する(変形機能2)。なお、変形機能1および変形機能2のうちいずれか一方のみを実行してもよい。
(Modification)
In the first embodiment, the encryption function is selected before the execution of the application function (encrypted communication). In the modification, the encryption function to be used can be dynamically changed even during the encryption communication (deformation function 1). In the first embodiment, an optimal one encryption communication method (encryption function) is selected. However, the number of encryption functions to be selected is not limited to one. The communication system according to the modified example selects an optimal combination of cryptographic communication methods (a plurality of cryptographic functions) (modified function 2). Only one of the deformation function 1 and the deformation function 2 may be executed.

変形例では、アプリケーション200の構成要素のうち、以下の点が第1の実施形態と異なる。   The modification differs from the first embodiment in the following points among the components of the application 200.

暗号処理部202は、暗号通信の最中であっても、利用する暗号機能を動的に変更することができる。また、暗号処理部202は、複数の暗号機能(暗号アルゴリズム)を同時に設定し、暗号通信することができる。さらに、暗号処理部202は、通信部204から、送信するデータ(送信データ)と共に、送信データの重要度および機密レベルなどのメタデータを受け取り、メタデータに基づいて、送信データの暗号化に利用する暗号機能(暗号アルゴリズム)を選択することができる。なお、通信部204からメタデータを受け取らず、暗号処理部202が受け取ったデータを元にして暗号アルゴリズムを選択するように構成してもよい。   The cryptographic processor 202 can dynamically change the cryptographic function to be used even during cryptographic communication. Also, the encryption processing unit 202 can set a plurality of encryption functions (encryption algorithms) at the same time and perform encrypted communication. Further, the encryption processing unit 202 receives the transmission data (transmission data) and the metadata such as the importance level and the confidential level of the transmission data from the communication unit 204, and uses them for encryption of the transmission data based on the metadata. The encryption function (encryption algorithm) to be selected can be selected. Note that the encryption algorithm may be selected based on the data received by the encryption processing unit 202 without receiving the metadata from the communication unit 204.

通信部204は、さらに、暗号処理部202に対して、データの重要度等のメタデータを受け渡すことができる。   Further, the communication unit 204 can pass metadata such as importance of data to the encryption processing unit 202.

問合せ部205は、暗号通信の最中であっても、問い合わせと、暗号処理部202への結果の受け渡しを行うことができる。   The inquiry unit 205 can send an inquiry and a result to the encryption processing unit 202 even during encryption communication.

選択部206は、暗号通信の最中であっても、判断を行うことができる。さらに選択部206が、アプリケーション要求に照らして最も適切な暗号機能の組み合わせを選択してもよい。   The selection unit 206 can make a determination even during encryption communication. Further, the selection unit 206 may select the most appropriate combination of cryptographic functions in light of the application request.

以上、変形例のノードおよびアプリケーションの構成について説明した。ただし、上記説明は一例である。   Heretofore, the configuration of the node and application according to the modification has been described. However, the above description is an example.

次に、本変形例を実現するシーケンスについて説明する。処理の流れは第1の実施形態のシーケンスを表す図4と同様である。本変形例のシーケンスは、例えば、アプリケーション200が暗号通信を行っている最中に、ノード100に対してアプリケーション鍵の生成状況について問い合わせを行い、アプリケーション200が最適な暗号機能を選択する場合のシーケンスである。以下、第1の実施形態との違いに着目して説明する。   Next, a sequence for realizing this modification will be described. The process flow is the same as that of FIG. 4 representing the sequence of the first embodiment. The sequence of this modification is, for example, a sequence when the application 200 makes an inquiry about the generation status of the application key to the node 100 while the application 200 is performing encrypted communication, and the application 200 selects an optimal encryption function. It is. Hereinafter, description will be made by paying attention to the difference from the first embodiment.

選択部206は、アプリケーション実行中においても、定期的に、問合せ部205に対して、鍵問い合わせを指示する。問合せ部205は、この指示を受けて、通信部201を介して、ノード100に対して鍵問い合わせを実行する(ステップS101)。   The selection unit 206 instructs the inquiry unit 205 to make a key inquiry periodically even during execution of the application. In response to this instruction, the inquiry unit 205 makes a key inquiry to the node 100 via the communication unit 201 (step S101).

ノード100は、鍵問い合わせに回答する(ステップS102)。このとき、ノードの回答は、暗号通信中である現在のアプリケーション鍵情報を返す。なお、鍵問い合わせ(ステップS101)を実行せず、ノード100からアプリケーション200に対してアプリケーション鍵情報を直接通知(ステップS102)するように構成してもよい。   The node 100 answers the key inquiry (step S102). At this time, the response of the node returns the current application key information that is being encrypted. The key inquiry (step S101) may not be executed, and the application key information may be directly notified from the node 100 to the application 200 (step S102).

アプリケーション200の通信部201は、アプリケーション鍵情報を問合せ部205へと通知する。問合せ部205は、アプリケーション鍵情報を、選択部206へと通知する。   The communication unit 201 of the application 200 notifies the inquiry unit 205 of application key information. Inquiry unit 205 notifies application key information to selection unit 206.

選択部206は、問合せ部205から、上述のアプリケーション鍵情報を取得する。選択部206は、通信中の動的な情報を受けとることができる。具体的には、選択部206は、実行部203から要求情報を受け取り、問合せ部205からアプリケーション鍵情報を受け取り、暗号処理部202から暗号機能情報を受け取り、プラットフォーム部207からリソース情報を受け取る。ただし、これは一例であり、以上のうちのいくつかの情報のみを利用してもよいし、これ以外の情報を取得してもよい。   The selection unit 206 acquires the above-described application key information from the inquiry unit 205. The selection unit 206 can receive dynamic information during communication. Specifically, the selection unit 206 receives request information from the execution unit 203, receives application key information from the inquiry unit 205, receives cryptographic function information from the cryptographic processing unit 202, and receives resource information from the platform unit 207. However, this is an example, and only some of the above information may be used, or other information may be acquired.

選択部206は、以上の情報を元に、アプリケーション要求に照らして最適な暗号機能を選択する(ステップS103)。   Based on the above information, the selection unit 206 selects an optimal encryption function in light of the application request (step S103).

例えば、このときの選択結果として、選択部206は、「暗号機能Aと暗号機能Bの組み合わせ」が最適であるといった判断を行うこともできる。また、例えば判断の基準として、要求スループットを維持するために、どの暗号機能を併用すればよいか、といったロジックであってもよい。   For example, as a selection result at this time, the selection unit 206 can also determine that “the combination of the encryption function A and the encryption function B” is optimal. For example, as a criterion for determination, logic such as which encryption function should be used in combination to maintain the required throughput may be used.

選択部206は、最適と判断した(選択した)暗号機能を利用するように、暗号処理部202を設定する。この設定は、暗号通信の最中であっても反映される。暗号方式のネゴシエーションが通信相手のアプリケーションとの間で必要な場合はこれを行ってもよい。   The selection unit 206 sets the encryption processing unit 202 to use the encryption function determined (selected) as optimal. This setting is reflected even during encrypted communication. This may be done if cryptographic negotiation is required with the communication partner application.

また、複数の暗号機能を選択した場合、それぞれの暗号機能を利用する場合の基準(暗号機能の選択基準)も決定する。選択基準は、例えば、送信データの種別、および、付加的に渡される送信データのメタデータ等によって暗号機能を決定するための基準である。   In addition, when a plurality of encryption functions are selected, a criterion for using each encryption function (encryption function selection criterion) is also determined. The selection criterion is a criterion for determining the encryption function based on, for example, the type of transmission data and additionally transmitted metadata of transmission data.

実行部203は、アプリケーション200の実行を継続する。アプリケーション200には透過的であるが、データ通信の際に、暗号処理部202が利用している暗号機能は、アプリケーション開始時と変更しているかもしれない。この変更により、アプリケーション200が利用可能な通信スループットは、実際にノード100の機能により利用可能なアプリケーション鍵のスループットが変動したとしても、維持することができる。   The execution unit 203 continues to execute the application 200. Although it is transparent to the application 200, the encryption function used by the encryption processing unit 202 during data communication may be changed from when the application is started. With this change, the communication throughput that can be used by the application 200 can be maintained even if the throughput of the application key that can be used by the function of the node 100 actually fluctuates.

なお、複数の暗号機能(暗号機能Aと暗号機能B)を組み合わせて併用する場合には、いくつかの方法が考えられる。   In the case where a plurality of encryption functions (encryption function A and encryption function B) are used in combination, several methods are conceivable.

例えば、1つのデータパケットにおいて、前半は暗号機能Aによって暗号化したデータを含み、後半は暗号機能Bによって暗号化したデータを含むような新しい暗号機能を定義することで併用を実現することも可能である。この方法はデータパケットに限るものではない。例えば、データストリームを用いる通信においても、一定のデータサイズ等によって、暗号機能Aによって暗号化したデータと暗号機能Bによって暗号化したデータとを交互に含むストリームを用いることも可能である。   For example, in one data packet, the first half includes data encrypted by the encryption function A, and the second half can also be used by defining a new encryption function including data encrypted by the encryption function B. It is. This method is not limited to data packets. For example, even in communication using a data stream, it is possible to use a stream that alternately includes data encrypted by the encryption function A and data encrypted by the encryption function B, depending on a certain data size or the like.

また、暗号機能ごとに異なるデータ通信を行なってもよい。すなわち、通信部204において、例えば暗号機能Aによって通信を行うTCP(Transmission Control Protocol)コネクションと暗号機能Bによって通信を行うTCPコネクションの両方を確立し、並行してこれらを利用してデータ通信を行うことも可能である。ただしこの場合、データを受信する受信側のアプリケーション200の通信部204にて、複数のTCPコネクションによって受信したデータを、データまたはヘッダに含まれるシーケンス番号等の情報から順序制御処理等を行った上で、実行部203に受け渡す必要がある。   Different data communication may be performed for each encryption function. That is, in the communication unit 204, for example, both a TCP (Transmission Control Protocol) connection that performs communication using the encryption function A and a TCP connection that performs communication using the encryption function B are established, and data communication is performed using these in parallel. It is also possible. However, in this case, the communication unit 204 of the receiving-side application 200 that receives data is subjected to order control processing or the like from data such as a sequence number included in the data or the header, on the data received by a plurality of TCP connections. Therefore, it is necessary to pass it to the execution unit 203.

なお、これらの併用を行う場合であっても(併用しない場合であっても当然であるが)、通信相手となるアプリケーション200との間でどのような暗号機能、暗号機能の組み合わせ、および、併用方式を行うかについて、ネゴシエーションを実行し、合意する必要がある。このためのネゴシエーションの方法としては、通信部204が備えるハンドシェイク機能における暗号アルゴリズムネゴシエーションが利用できる。これらの暗号アルゴリズムネゴシエーションの方法は、TLS(Transport Layer Security)/SSL(Secure Socket Layer)等で一般的に知られた既知の方法である。暗号機能の組み合わせや併用方式に関してのネゴシエーションも合わせて行う場合、組み合わせる暗号機能や併用方法を表現する表現方法について定義し、アプリケーション間で事前に合意がなされている必要がある。   In addition, even when these are used together (though it is natural that they are not used together), any encryption function, combination of encryption functions, and combination with the application 200 as the communication partner Negotiations need to be made and agreed on how to implement the method. As a negotiation method for this purpose, encryption algorithm negotiation in the handshake function provided in the communication unit 204 can be used. These encryption algorithm negotiation methods are known methods generally known by TLS (Transport Layer Security) / SSL (Secure Socket Layer) or the like. When negotiating a combination of cryptographic functions and a combination method, it is necessary to define an expression method for expressing the combined cryptographic function and the combined method and to have an agreement in advance between the applications.

(第2の実施形態)
第2の実施形態にかかる通信システムは、アプリケーションではなく、ノードが最適な暗号機能を選択する。すなわち、ノードが、アプリケーションから要求情報、暗号機能情報、および、リソース情報の提供を受け、これらの情報と、ノードにて把握できるアプリケーション鍵情報とを用いて、最適な暗号機能を選択してアプリケーションに通知する。
(Second Embodiment)
In the communication system according to the second embodiment, not the application but the node selects the optimal encryption function. In other words, the node receives request information, cryptographic function information, and resource information from the application, and selects the optimal cryptographic function using these information and the application key information that can be grasped by the node. Notify

図5は、第2の実施形態にかかるノード100−2の構成の一例を示すブロック図である。図5に示すように、ノード100−2は、第1通信部101と、生成部102と、鍵管理部103と、第2通信部104−2と、プラットフォーム部105と、選択部106−2と、を備えている。   FIG. 5 is a block diagram illustrating an example of a configuration of the node 100-2 according to the second embodiment. As illustrated in FIG. 5, the node 100-2 includes a first communication unit 101, a generation unit 102, a key management unit 103, a second communication unit 104-2, a platform unit 105, and a selection unit 106-2. And.

第2の実施形態では、選択部106−2を追加したこと、および、第2通信部104−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるノード100のブロック図である図2と同様であるので、同一符号を付し、ここでの説明は省略する。   In the second embodiment, the selection unit 106-2 is added and the function of the second communication unit 104-2 is different from that of the first embodiment. Other configurations and functions are the same as those in FIG. 2 which is a block diagram of the node 100 according to the first embodiment, and thus the same reference numerals are given and description thereof is omitted here.

第2通信部104−2は、第1の実施形態の第2通信部104の機能に加え、第2の実施形態のアプリケーション200−2(後述)から要求情報等を受信する機能を備える。すなわち、第2通信部104−2は、受信部501を備える。受信部501は、アプリケーション200−2が実行可能な複数の暗号機能を示す暗号機能情報をアプリケーション200−2から受信する。   In addition to the function of the second communication unit 104 of the first embodiment, the second communication unit 104-2 has a function of receiving request information and the like from an application 200-2 (described later) of the second embodiment. That is, the second communication unit 104-2 includes a receiving unit 501. The receiving unit 501 receives cryptographic function information indicating a plurality of cryptographic functions executable by the application 200-2 from the application 200-2.

選択部106−2は、第1の実施形態の選択部206と同様に、アプリケーション200−2から受信した暗号機能情報、および、鍵管理部103から得られるアプリケーション鍵情報等を参照し、最適な暗号機能を選択する。また、選択部106−2は、選択した暗号機能を実行するように、第2通信部104−2を介してアプリケーション200−2の暗号処理部202を設定する。   Similar to the selection unit 206 of the first embodiment, the selection unit 106-2 refers to the cryptographic function information received from the application 200-2, the application key information obtained from the key management unit 103, etc. Select the encryption function. In addition, the selection unit 106-2 sets the encryption processing unit 202 of the application 200-2 via the second communication unit 104-2 so as to execute the selected encryption function.

図6は、第2の実施形態にかかるアプリケーション200−2の構成の一例を示すブロック図である。図6に示すように、アプリケーション200−2は、通信部201−2と、暗号処理部202と、実行部203と、通信部204と、プラットフォーム部207と、情報提供部208−2と、を備えている。   FIG. 6 is a block diagram illustrating an example of the configuration of the application 200-2 according to the second embodiment. As shown in FIG. 6, the application 200-2 includes a communication unit 201-2, an encryption processing unit 202, an execution unit 203, a communication unit 204, a platform unit 207, and an information providing unit 208-2. I have.

第2の実施形態では、情報提供部208−2を追加したこと、通信部201−2の機能、および、問合せ部205および選択部206を削除したことが第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるアプリケーション200のブロック図である図3と同様であるので、同一符号を付し、ここでの説明は省略する。   The second embodiment is different from the first embodiment in that the information providing unit 208-2 is added, the function of the communication unit 201-2, and the inquiry unit 205 and the selection unit 206 are deleted. Since other configurations and functions are the same as those in FIG. 3 which is a block diagram of the application 200 according to the first embodiment, the same reference numerals are given and description thereof is omitted here.

情報提供部208−2は、暗号処理部202などから取得されるアプリケーション情報を、送信部601を介してノード100−2に提供する。例えば、情報提供部208−2は、実行部203から要求情報を取得し、暗号処理部202から暗号機能情報を取得し、プラットフォーム部207からリソース情報を取得する。そして、情報提供部208−2は、取得したアプリケーション情報を、送信部601を介してノード100−2に通知する。   The information providing unit 208-2 provides the application information acquired from the cryptographic processing unit 202 or the like to the node 100-2 via the transmission unit 601. For example, the information providing unit 208-2 acquires request information from the execution unit 203, acquires cryptographic function information from the cryptographic processing unit 202, and acquires resource information from the platform unit 207. Then, the information providing unit 208-2 notifies the acquired application information to the node 100-2 via the transmission unit 601.

通信部201−2は、第1の実施形態の通信部201の機能に加え、送信部601を備えている。送信部601は、情報提供部208−2から提供される暗号機能情報などをノード100−2に送信する。   The communication unit 201-2 includes a transmission unit 601 in addition to the function of the communication unit 201 of the first embodiment. The transmission unit 601 transmits the cryptographic function information provided from the information providing unit 208-2 to the node 100-2.

なお、暗号処理部202は第1の実施形態と同様であるが、いずれの暗号機能を実行するかは、例えば選択結果を受信した通信部201−2によって設定される。すなわち、例えば、ノード100−2が選択した暗号機能を示す暗号設定情報をアプリケーション200−2に送信する。そして、アプリケーション200−2内の構成部(例えば通信部201−2)が、受信した暗号設定情報に対応する暗号機能を実行するように暗号処理部202を設定する。なお、通信部201−2を介して、ノード100−2の選択部106−2が、選択した暗号機能を実行するように暗号処理部202を設定するように構成してもよい。   The encryption processing unit 202 is the same as in the first embodiment, but which encryption function is executed is set by the communication unit 201-2 that has received the selection result, for example. That is, for example, the encryption setting information indicating the encryption function selected by the node 100-2 is transmitted to the application 200-2. Then, the configuration unit (for example, the communication unit 201-2) in the application 200-2 sets the encryption processing unit 202 so as to execute the encryption function corresponding to the received encryption setting information. Note that the selection unit 106-2 of the node 100-2 may be configured to set the encryption processing unit 202 so as to execute the selected encryption function via the communication unit 201-2.

次に、第2の実施形態を実現するシーケンスについて説明する。図7は、第2の実施形態の通信システムによる通信処理の一例を示すシーケンス図である。図7は、アプリケーション200−2が暗号通信を開始する際に、ノード100−2に対して、アプリケーション情報を提供し、ノード100−2において、アプリケーション鍵の生成状況についても加味した上でアプリケーション200−2にとって最適な暗号機能を選択し、これをアプリケーション200−2に回答する場合のシーケンスである。   Next, a sequence for realizing the second embodiment will be described. FIG. 7 is a sequence diagram illustrating an example of communication processing by the communication system according to the second embodiment. FIG. 7 shows that application information is provided to the node 100-2 when the application 200-2 starts encrypted communication, and the application 200 in the node 100-2 is also considered in consideration of the application key generation status. -2 is a sequence for selecting an optimal encryption function for -2 and replying to the application 200-2.

アプリケーション200−2の実行部203は、アプリケーション実行開始の前に、自身が保持する要求情報を、情報提供部208−2に通知する。情報提供部208−2は、さらに、暗号処理部202に対して、提供可能な暗号機能に関して問い合わせを行ってもよい。この問い合わせを受けて、暗号処理部202は、暗号機能情報を情報提供部208−2に提供する。   The execution unit 203 of the application 200-2 notifies the information providing unit 208-2 of the request information held by the execution unit 203 before starting the application execution. Further, the information providing unit 208-2 may make an inquiry to the cryptographic processing unit 202 regarding the cryptographic functions that can be provided. Upon receiving this inquiry, the cryptographic processing unit 202 provides the cryptographic function information to the information providing unit 208-2.

情報提供部208−2は、さらに、プラットフォーム部207に対して、アプリケーションにおけるリソース使用状況に関して問い合わせを行ってもよい。この問い合わせを受けて、プラットフォーム部207は、リソース情報を情報提供部208−2に提供する。   The information providing unit 208-2 may further make an inquiry to the platform unit 207 regarding the resource usage status in the application. Upon receiving this inquiry, the platform unit 207 provides the resource information to the information providing unit 208-2.

情報提供部208−2は、以上により、実行部203から要求情報を収集し、暗号処理部202から暗号機能情報を収集し、プラットフォーム部207からリソース情報を収集することができる。ただし、これは一例であり、以上のうちのいくつかの情報のみを利用してもよいし、これ以外の情報を取得してもよい。   As described above, the information providing unit 208-2 can collect request information from the execution unit 203, collect cryptographic function information from the cryptographic processing unit 202, and collect resource information from the platform unit 207. However, this is an example, and only some of the above information may be used, or other information may be acquired.

情報提供部208−2は、収集したアプリケーション情報(要求情報、暗号機能情報、および、リソース情報)を、通信部201−2を介して、ノード100−2に対して通知する(ステップS201)。   The information providing unit 208-2 notifies the collected application information (request information, cryptographic function information, and resource information) to the node 100-2 via the communication unit 201-2 (step S201).

ノード100−2の第2通信部104−2は、アプリケーション情報を受信する。アプリケーション情報を受信すると、第2通信部104−2は、アプリケーション情報を、選択部106−2に通知する。   The second communication unit 104-2 of the node 100-2 receives the application information. When receiving the application information, the second communication unit 104-2 notifies the selection unit 106-2 of the application information.

選択部106−2は、鍵管理部103に対し、保持しているアプリケーション鍵情報を問い合わせる。なお、選択部106−2による鍵管理部103への問い合わせのタイミング、および、第2通信部104−2を介したアプリケーション200−2からのアプリケーション情報の取得のタイミングは特に限定しない。すなわち、いずれが先に行われても構わないし、並行して実行されても構わない。   The selection unit 106-2 inquires of the key management unit 103 about the held application key information. Note that the timing of inquiry to the key management unit 103 by the selection unit 106-2 and the timing of acquisition of application information from the application 200-2 via the second communication unit 104-2 are not particularly limited. In other words, either may be performed first or may be performed in parallel.

選択部106−2は、以上により、第2通信部104−2から要求情報、暗号機能情報、および、リソース情報を取得し、鍵管理部103からアプリケーション鍵情報を取得することができる。ただし、これは一例であり、以上のうちのいくつかの情報のみを利用してもよいし、これ以外の情報を取得してもよい。   As described above, the selection unit 106-2 can acquire request information, encryption function information, and resource information from the second communication unit 104-2, and can acquire application key information from the key management unit 103. However, this is an example, and only some of the above information may be used, or other information may be acquired.

選択部106−2は、以上の情報を元に、アプリケーション要求に照らして最適な暗号機能を選択する(ステップS202)。選択方法は第1の実施形態と同様に様々な方法を適用できる。また、アプリケーション要求を満たす暗号機能が1つも見つからなかった場合の動作も第1の実施形態と同様に様々な方法を適用できる。   Based on the above information, the selection unit 106-2 selects an optimal encryption function in light of the application request (step S202). As the selection method, various methods can be applied as in the first embodiment. Also, various methods can be applied to the operation when no cryptographic function that satisfies the application request is found, as in the first embodiment.

選択部106−2は、最適と判断した(選択した)暗号機能(選択結果)を、第2通信部104−2を介して、アプリケーション200−2に通知する(ステップS203)。   The selection unit 106-2 notifies the application 200-2 of the encryption function (selection result) determined to be optimal (selected) via the second communication unit 104-2 (step S203).

アプリケーション200−2の通信部201−2は暗号機能の選択結果を受け取る。通信部201−2は、選択結果をもとにして、最適と判断された暗号機能を利用するように、暗号処理部202を設定する(ステップS204)。また、通信部201−2は、情報提供部208−2または実行部203に対し、暗号機能の選択が完了したこと、および、選択された暗号機能、を通知してもよい。   The communication unit 201-2 of the application 200-2 receives the encryption function selection result. The communication unit 201-2 sets the encryption processing unit 202 to use the encryption function determined to be optimum based on the selection result (step S204). In addition, the communication unit 201-2 may notify the information providing unit 208-2 or the execution unit 203 that the selection of the encryption function has been completed and the selected encryption function.

実行部203は、アプリケーション200−2の実行を開始する(ステップS205)。アプリケーション200−2は、データ通信の際、通信部204を利用する。このとき、選択部106−2によって最適に設定された暗号処理部202によって、通信データの暗号化処理および復号処理が行われる。   The execution unit 203 starts executing the application 200-2 (step S205). The application 200-2 uses the communication unit 204 during data communication. At this time, the encryption processing unit 202 optimally set by the selection unit 106-2 performs communication data encryption processing and decryption processing.

このように、第2の実施形態にかかる通信システムでは、ノードが、アプリケーション鍵情報と、アプリケーションから得られるアプリケーション情報とを用いて最適な暗号機能を選択することができる。   As described above, in the communication system according to the second embodiment, the node can select the optimum encryption function using the application key information and the application information obtained from the application.

なお、第2の実施形態についても、第1の実施形態の変形例のように、暗号通信の最中に暗号機能を動的に変更する機能(変形機能1)、および、最適な暗号通信方式の組み合わせ(複数の暗号機能)を選択する機能(変形機能2)の少なくとも一方をさらに備えるように構成してもよい。   Also in the second embodiment, as in the modification of the first embodiment, a function for dynamically changing the encryption function during the encryption communication (deformation function 1) and an optimal encryption communication system It may be configured to further include at least one of functions (deformation function 2) for selecting a combination (a plurality of encryption functions).

以上説明したとおり、第1および第2の実施形態によれば、アプリケーションの要求に照らして、スループットとコストなども考慮した上で最適な暗号通信方式を選択することができる。   As described above, according to the first and second embodiments, it is possible to select an optimal encryption communication method in consideration of throughput and cost in light of application requirements.

次に、第1および第2の実施形態にかかる装置(通信装置、鍵生成装置)のハードウェア構成について図8を用いて説明する。図8は、第1および第2の実施形態にかかる装置のハードウェア構成を示す説明図である。   Next, the hardware configuration of the devices (communication device, key generation device) according to the first and second embodiments will be described with reference to FIG. FIG. 8 is an explanatory diagram showing the hardware configuration of the devices according to the first and second embodiments.

第1および第2の実施形態にかかる装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。   The devices according to the first and second embodiments are connected to a control device such as a CPU (Central Processing Unit) 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53, and a network. A communication I / F 54 that performs communication and a bus 61 that connects each unit are provided.

第1および第2の実施形態にかかる装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。   The program executed by the devices according to the first and second embodiments is provided by being incorporated in advance in the ROM 52 or the like.

第1および第2の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。   A program executed by the apparatus according to the first and second embodiments is a file in an installable format or an executable format, and is a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R. (Compact Disk Recordable), DVD (Digital Versatile Disk) or the like may be recorded on a computer-readable recording medium and provided as a computer program product.

さらに、第1および第2の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1および第2の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。   Furthermore, the program executed by the devices according to the first and second embodiments may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. . The program executed by the devices according to the first and second embodiments may be provided or distributed via a network such as the Internet.

第1および第2の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。   The program executed by the devices according to the first and second embodiments can cause a computer to function as each unit of the above-described device. In this computer, the CPU 51 can read a program from a computer-readable storage medium onto a main storage device and execute the program.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

100 ノード
101 第1通信部
102 生成部
103 鍵管理部
104 第2通信部
105 プラットフォーム部
200 アプリケーション
201 通信部
202 暗号処理部
203 実行部
204 通信部
205 問合せ部
206 選択部
207 プラットフォーム部
208 情報提供部
100 node 101 first communication unit 102 generation unit 103 key management unit 104 second communication unit 105 platform unit 200 application 201 communication unit 202 cryptographic processing unit 203 execution unit 204 communication unit 205 inquiry unit 206 selection unit 207 platform unit 208 information provision unit

Claims (15)

暗号鍵を生成する鍵生成装置と接続される通信装置であって、
前記鍵生成装置が前記暗号鍵を生成する能力を表す能力情報を前記鍵生成装置に問い合わせる問合せ部と、
前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、複数の暗号機能を実行する暗号処理部と、
複数の前記暗号機能のうち、前記問合せ部による問い合わせに応じて前記鍵生成装置が送信した、前記通信装置に対して割り当て可能な、単位時間あたりの鍵生成量、前記鍵生成装置に蓄積されている前記暗号鍵の総量、および、前記通信装置が前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む前記能力情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記通信装置が利用可能な計算リソースを表すリソース情報と、前記通信装置において実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、に応じて、前記暗号機能を選択する選択部と、を備え、
前記暗号処理部は、選択された前記暗号機能を実行する、
通信装置。
A communication device connected to a key generation device that generates an encryption key,
An inquiry unit that inquires the key generation device for capability information indicating the capability of the key generation device to generate the encryption key;
An encryption processing unit that executes a plurality of encryption functions, including an encryption function that uses the encryption key, and an encryption function that does not use the encryption key;
Among a plurality of the cryptographic functions, the key generation amount that can be allocated to the communication device, transmitted by the key generation device in response to an inquiry from the inquiry unit, is stored in the key generation device. The capability information including at least one of the total amount of the encryption key and the cost generated when the communication device uses the encryption key, and each of the plurality of encryption functions Processing performance information representing processing performance, resource information representing computing resources that can be used by the communication device, and security, throughput, and cost information held for the cryptographic communication application executed in the communication device. A selection unit that selects the encryption function according to request information indicating at least two of the priority relationships, and
The encryption processing unit executes the selected encryption function;
Communication device.
前記暗号機能を用いた通信処理を実行する通信部をさらに備え、
前記問合せ部は、前記通信部によって通信処理が実行されている間に、前記能力情報を前記鍵生成装置に問い合わせる、
請求項1に記載の通信装置。
A communication unit that executes communication processing using the encryption function;
The inquiry unit inquires the key generation device for the capability information while communication processing is being executed by the communication unit.
The communication apparatus according to claim 1.
前記選択部は、前記能力情報と、前記処理性能情報と、前記リソース情報と、に応じた複数の前記暗号機能を選択し、
前記暗号処理部は、選択された複数の前記暗号機能を実行する、
請求項1に記載の通信装置。
The selection unit selects a plurality of the encryption functions according to the capability information, the processing performance information, and the resource information,
The encryption processing unit executes the selected plurality of the encryption functions.
The communication apparatus according to claim 1.
選択された複数の前記暗号機能それぞれに対応する複数の通信を確立し、確立した複数の通信を用いた通信処理を実行する通信部をさらに備える、
請求項3に記載の通信装置。
Further comprising a communication unit that establishes a plurality of communications corresponding to each of the plurality of selected cryptographic functions, and executes a communication process using the plurality of established communications;
The communication apparatus according to claim 3.
前記選択部は、複数の前記暗号機能のうち、前記能力情報と、前記処理性能情報と、前記リソース情報と、前記暗号鍵を利用する処理の要求を表す要求情報と、に応じた前記暗号機能を選択する
請求項1に記載の通信装置。
The selection unit includes the encryption function according to the capability information, the processing performance information, the resource information, and request information representing a request for processing using the encryption key among the plurality of encryption functions. The communication device according to claim 1.
暗号鍵を利用する通信装置と接続される鍵生成装置であって、
前記暗号鍵を生成する生成部と、
前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、前記通信装置が実行可能な複数の暗号機能を示す暗号機能情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記通信装置が利用可能な計算リソースを表すリソース情報と、前記通信装置において実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、を前記通信装置から受信する受信部と、
前記暗号機能情報が示す複数の前記暗号機能のうち、前記生成部が前記暗号鍵を生成する能力として、前記通信装置に対して割り当て可能な、単位時間あたりの鍵生成量、前記鍵生成装置に蓄積されている前記暗号鍵の総量、および、前記通信装置が前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む能力情報と、前記処理性能情報と、前記リソース情報と、前記要求情報と、に応じて、前記暗号機能を選択する選択部と、
を備える鍵生成装置。
A key generation device connected to a communication device using an encryption key,
A generating unit for generating the encryption key;
When executing each of the plurality of encryption functions, and encryption function information indicating a plurality of encryption functions that can be executed by the communication device, including an encryption function that uses the encryption key and an encryption function that does not use the encryption key Processing performance information representing the processing performance of the communication device, resource information representing the computational resources available to the communication device, and security, throughput, and cost held for the cryptographic communication application executed in the communication device A receiving unit that receives request information indicating at least two priority relationships from the communication device;
Among the plurality of cryptographic functions indicated by the cryptographic function information, as the capability of the generation unit to generate the encryption key, a key generation amount per unit time that can be allocated to the communication device, the key generation device Capability information including at least one of the total amount of the stored encryption keys and the cost generated when the communication device uses the encryption key, the processing performance information, and the resource information And a selection unit that selects the encryption function according to the request information;
A key generation device comprising:
生成された前記暗号鍵を前記通信装置に送信する通信部をさらに備える、
請求項6に記載の鍵生成装置。
A communication unit that transmits the generated encryption key to the communication device;
The key generation apparatus according to claim 6.
前記選択部は、前記能力情報と、前記処理性能情報と、前記リソース情報と、に応じた複数の前記暗号機能を選択する、
請求項6に記載の鍵生成装置。
The selection unit selects a plurality of the encryption functions according to the capability information, the processing performance information, and the resource information;
The key generation apparatus according to claim 6.
前記受信部は、さらに、前記暗号鍵を利用する処理の要求を表す要求情報を前記通信装置から受信し、
前記選択部は、複数の前記暗号機能のうち、前記能力情報と、前記処理性能情報と、前記リソース情報と、前記要求情報とに応じた前記暗号機能を選択する
請求項6に記載の鍵生成装置。
The receiving unit further receives request information representing a request for processing using the encryption key from the communication device,
The key generation according to claim 6, wherein the selection unit selects the encryption function according to the capability information, the processing performance information, the resource information, and the request information among a plurality of the encryption functions. apparatus.
暗号鍵を生成する鍵生成装置と接続される通信装置で実行される通信方法であって、
前記通信装置が、前記鍵生成装置が前記暗号鍵を生成する能力を表す能力情報を前記鍵生成装置に問い合わせる問合せステップと、
前記通信装置が、前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、複数の暗号機能を実行する暗号処理ステップと、
前記通信装置が、複数の前記暗号機能のうち、前記問合せステップによる問い合わせに応じて前記鍵生成装置が送信した、前記通信装置に対して割り当て可能な、単位時間あたりの鍵生成量、前記鍵生成装置に蓄積されている前記暗号鍵の総量、および、前記通信装置が前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む前記能力情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記通信装置が利用可能な計算リソースを表すリソース情報と、前記通信装置において実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、に応じて、前記暗号機能を選択する選択ステップと、を含み、
前記暗号処理ステップは、選択された前記暗号機能を実行する、
通信方法。
A communication method executed by a communication device connected to a key generation device that generates an encryption key,
An inquiry step in which the communication device inquires the key generation device for capability information indicating the capability of the key generation device to generate the encryption key;
An encryption processing step in which the communication device executes a plurality of encryption functions including an encryption function using the encryption key and an encryption function not using the encryption key;
Of the plurality of cryptographic functions, the communication device transmits the key generation device in response to an inquiry in the inquiry step and can be assigned to the communication device, and the key generation amount per unit time, the key generation The capability information including at least one of the total amount of the encryption key stored in the device and the cost generated when the communication device uses the encryption key, and each of the plurality of encryption functions Processing performance information representing the processing performance when executing communication, resource information representing computing resources available to the communication device, and security and throughput held for the cryptographic communication application executed in the communication device And selecting the encryption function according to request information indicating a priority relationship of at least two of the costs. Includes a step, the,
The encryption processing step executes the selected encryption function;
Communication method.
暗号鍵を利用する通信装置と接続される鍵生成装置で実行される通信方法であって、
前記鍵生成装置が、前記暗号鍵を生成する生成ステップと、
前記鍵生成装置が、前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、前記通信装置が実行可能な複数の暗号機能を示す暗号機能情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記通信装置が利用可能な計算リソースを表すリソース情報と、前記通信装置において実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、を前記通信装置から受信する受信ステップと、
前記鍵生成装置が、前記暗号機能情報が示す複数の前記暗号機能のうち、前記生成ステップが前記暗号鍵を生成する能力として、前記通信装置に対して割り当て可能な、単位時間あたりの鍵生成量、前記鍵生成装置に蓄積されている前記暗号鍵の総量、および、前記通信装置が前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む能力情報と、前記処理性能情報と、前記リソース情報と、前記要求情報と、に応じて、前記暗号機能を選択する選択ステップと、
を含む通信方法。
A communication method executed by a key generation device connected to a communication device using an encryption key,
A generation step in which the key generation device generates the encryption key;
The key generation device includes an encryption function that uses the encryption key and an encryption function that does not use the encryption key. Security information held for processing performance information representing processing performance when executing each function, resource information representing computing resources available to the communication device, and an encryption communication application executed in the communication device Receiving the request information indicating at least two priority relationships among the throughput and the cost from the communication device;
Key generation amount per unit time that can be assigned to the communication device as the capability of the generation step to generate the encryption key among the plurality of encryption functions indicated by the encryption function information. Capability information including at least one of the total amount of the encryption key stored in the key generation device and the cost generated when the communication device uses the encryption key, and the processing performance A selection step of selecting the encryption function according to information, the resource information, and the request information;
Including a communication method.
暗号鍵を生成する鍵生成装置と接続されるコンピュータを、
前記鍵生成装置が前記暗号鍵を生成する能力を表す能力情報を前記鍵生成装置に問い合わせる問合せ部と、
前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、複数の暗号機能を実行する暗号処理部と、
複数の前記暗号機能のうち、前記問合せ部による問い合わせに応じて前記鍵生成装置が送信した、前記コンピュータに対して割り当て可能な、単位時間あたりの鍵生成量、前記鍵生成装置に蓄積されている前記暗号鍵の総量、および、前記コンピュータが前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む前記能力情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記コンピュータが利用可能な計算リソースを表すリソース情報と、前記コンピュータにおいて実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、に応じて、前記暗号機能を選択する選択部と、
として機能させるためのプログラムであって、
前記暗号処理部は、選択された前記暗号機能を実行する、
プログラム。
A computer connected to a key generation device for generating an encryption key;
An inquiry unit that inquires the key generation device for capability information indicating the capability of the key generation device to generate the encryption key;
An encryption processing unit that executes a plurality of encryption functions, including an encryption function that uses the encryption key, and an encryption function that does not use the encryption key;
Of the plurality of cryptographic functions, the key generation amount that can be allocated to the computer and transmitted by the key generation device in response to an inquiry from the inquiry unit is stored in the key generation device. The capability information including at least one of the total amount of the encryption key and the cost generated when the computer uses the encryption key, and processing performance when executing each of the plurality of encryption functions At least two of security performance, throughput, and cost held for cryptographic communication applications executed on the computer, resource information representing computing resources available to the computer A selection unit that selects the encryption function according to request information indicating a priority relationship;
Is a program for functioning as
The encryption processing unit executes the selected encryption function;
program.
暗号鍵を利用する通信装置と接続されるコンピュータを、
前記暗号鍵を生成する生成部と、
前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、前記通信装置が実行可能な複数の暗号機能を示す暗号機能情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記通信装置が利用可能な計算リソースを表すリソース情報と、前記通信装置において実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、を前記通信装置から受信する受信部と、
前記暗号機能情報が示す複数の前記暗号機能のうち、前記生成部が前記暗号鍵を生成する能力として、前記通信装置に対して割り当て可能な、単位時間あたりの鍵生成量、前記コンピュータに蓄積されている前記暗号鍵の総量、および、前記通信装置が前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む能力情報と、前記処理性能情報と、前記リソース情報と、前記要求情報と、に応じて、前記暗号機能を選択する選択部と、
として機能させるためのプログラム。
A computer connected to a communication device using an encryption key
A generating unit for generating the encryption key;
When executing each of the plurality of encryption functions, and encryption function information indicating a plurality of encryption functions that can be executed by the communication device, including an encryption function that uses the encryption key and an encryption function that does not use the encryption key Processing performance information representing the processing performance of the communication device, resource information representing the computational resources available to the communication device, and security, throughput, and cost held for the cryptographic communication application executed in the communication device A receiving unit that receives request information indicating at least two priority relationships from the communication device;
Among the plurality of cryptographic functions indicated by the cryptographic function information, as the ability of the generating unit to generate the cryptographic key, the amount of key generation per unit time that can be allocated to the communication device is stored in the computer. Capacity information including at least one of the total amount of the encryption key and the cost generated when the communication device uses the encryption key, the processing performance information, the resource information, A selection unit that selects the encryption function according to the request information;
Program to function as.
暗号鍵を生成する鍵生成装置と通信装置とを備える通信システムであって、
前記通信装置は、
前記鍵生成装置が前記暗号鍵を生成する能力を表す能力情報を前記鍵生成装置に問い合わせる問合せ部と、
前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、複数の暗号機能を実行する暗号処理部と、
複数の前記暗号機能のうち、前記問合せ部による問い合わせに応じて前記鍵生成装置が送信した、前記通信装置に対して割り当て可能な、単位時間あたりの鍵生成量、前記鍵生成装置に蓄積されている前記暗号鍵の総量、および、前記通信装置が前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む前記能力情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記通信装置が利用可能な計算リソースを表すリソース情報と、前記通信装置において実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、に応じて、前記暗号機能を選択する選択部と、を備え、
前記暗号処理部は、選択された前記暗号機能を実行し、
前記鍵生成装置は、
前記暗号鍵を生成する生成部と、
前記問合せ部からの問合せに応じて前記能力情報を前記通信装置に送信する通信部と、を備える、
通信システム。
A communication system comprising a key generation device for generating an encryption key and a communication device,
The communication device
An inquiry unit that inquires the key generation device for capability information indicating the capability of the key generation device to generate the encryption key;
An encryption processing unit that executes a plurality of encryption functions, including an encryption function that uses the encryption key, and an encryption function that does not use the encryption key;
Among a plurality of the cryptographic functions, the key generation amount that can be allocated to the communication device, transmitted by the key generation device in response to an inquiry from the inquiry unit, is stored in the key generation device. The capability information including at least one of the total amount of the encryption key and the cost generated when the communication device uses the encryption key, and each of the plurality of encryption functions Processing performance information representing processing performance, resource information representing computing resources that can be used by the communication device, and security, throughput, and cost information held for the cryptographic communication application executed in the communication device. A selection unit that selects the encryption function according to request information indicating at least two of the priority relationships, and
The cryptographic processing unit executes the selected cryptographic function;
The key generation device includes:
A generating unit for generating the encryption key;
A communication unit that transmits the capability information to the communication device in response to an inquiry from the inquiry unit;
Communications system.
暗号鍵を生成する鍵生成装置と通信装置とを備える通信システムであって、
前記鍵生成装置は、
前記暗号鍵を生成する生成部と、
前記暗号鍵を利用する暗号機能、および、前記暗号鍵を利用しない暗号機能を含む、前記通信装置が実行可能な複数の暗号機能を示す暗号機能情報と、複数の前記暗号機能それぞれを実行する場合の処理性能を表す処理性能情報と、前記通信装置が利用可能な計算リソースを表すリソース情報と、前記通信装置において実行される暗号通信アプリケーションに対して保持されている、セキュリティ、スループット、および、コストのうち少なくとも2つの優先関係を示す要求情報と、を前記通信装置から受信する受信部と、
前記暗号機能情報が示す複数の前記暗号機能のうち、前記生成部が前記暗号鍵を生成する能力として、前記通信装置に対して割り当て可能な、単位時間あたりの鍵生成量、前記鍵生成装置に蓄積されている前記暗号鍵の総量、および、前記通信装置が前記暗号鍵を利用する際に発生するコスト、のうちいずれか1つを少なくとも含む能力情報と、前記処理性能情報と、前記リソース情報と、前記要求情報と、に応じて、前記暗号機能を選択する選択部と、を備え、
前記通信装置は、
前記暗号機能情報を前記鍵生成装置に送信する送信部と、
選択された前記暗号機能を実行する暗号処理部と、
を備える通信システム。
A communication system comprising a key generation device for generating an encryption key and a communication device,
The key generation device includes:
A generating unit for generating the encryption key;
When executing each of the plurality of encryption functions, and encryption function information indicating a plurality of encryption functions that can be executed by the communication device, including an encryption function that uses the encryption key and an encryption function that does not use the encryption key Processing performance information representing the processing performance of the communication device, resource information representing the computational resources available to the communication device, and security, throughput, and cost held for the cryptographic communication application executed in the communication device A receiving unit that receives request information indicating at least two priority relationships from the communication device;
Among the plurality of cryptographic functions indicated by the cryptographic function information, as the capability of the generation unit to generate the encryption key, a key generation amount per unit time that can be allocated to the communication device, the key generation device Capability information including at least one of the total amount of the stored encryption keys and the cost generated when the communication device uses the encryption key, the processing performance information, and the resource information And a selection unit that selects the encryption function according to the request information,
The communication device
A transmission unit for transmitting the cryptographic function information to the key generation device;
A cryptographic processing unit for executing the selected cryptographic function;
A communication system comprising:
JP2016228380A 2016-11-24 2016-11-24 Communication device, key generating device, communication method, program, and communication system Pending JP2017038413A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016228380A JP2017038413A (en) 2016-11-24 2016-11-24 Communication device, key generating device, communication method, program, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016228380A JP2017038413A (en) 2016-11-24 2016-11-24 Communication device, key generating device, communication method, program, and communication system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015009801A Division JP2015097423A (en) 2015-01-21 2015-01-21 Communication device, key generating device, communication method, program, and communication system

Publications (1)

Publication Number Publication Date
JP2017038413A true JP2017038413A (en) 2017-02-16

Family

ID=58048116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016228380A Pending JP2017038413A (en) 2016-11-24 2016-11-24 Communication device, key generating device, communication method, program, and communication system

Country Status (1)

Country Link
JP (1) JP2017038413A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004254286A (en) * 2002-10-31 2004-09-09 Matsushita Electric Ind Co Ltd Communication device, communication system and algorithm selecting method
JP2007258850A (en) * 2006-03-22 2007-10-04 Nec Corp Encryption system, encryption circuit, and encryption control method used for them
JP2010220038A (en) * 2009-03-18 2010-09-30 Oki Networks Co Ltd Gateway apparatus
JP2011044768A (en) * 2009-08-19 2011-03-03 Nec Corp Communication equipment and communication control method in steganographic communication system
JP2012010254A (en) * 2010-06-28 2012-01-12 Fujitsu Ltd Communication device, communication method and communication system
WO2012025988A1 (en) * 2010-08-24 2012-03-01 三菱電機株式会社 Encryption device, encryption system, encryption method and encryption program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004254286A (en) * 2002-10-31 2004-09-09 Matsushita Electric Ind Co Ltd Communication device, communication system and algorithm selecting method
JP2007258850A (en) * 2006-03-22 2007-10-04 Nec Corp Encryption system, encryption circuit, and encryption control method used for them
JP2010220038A (en) * 2009-03-18 2010-09-30 Oki Networks Co Ltd Gateway apparatus
JP2011044768A (en) * 2009-08-19 2011-03-03 Nec Corp Communication equipment and communication control method in steganographic communication system
JP2012010254A (en) * 2010-06-28 2012-01-12 Fujitsu Ltd Communication device, communication method and communication system
WO2012025988A1 (en) * 2010-08-24 2012-03-01 三菱電機株式会社 Encryption device, encryption system, encryption method and encryption program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
長谷川 俊夫,外5名: "長距離量子暗号通信システム実験", 暗号と情報セキュリティシンポジウム(SCIS2003) 講演論文集CD-ROM, JPN7014001757, 2003, pages 1 - 6, ISSN: 0003751272 *

Similar Documents

Publication Publication Date Title
JP2014017595A (en) Communication device, key generating device, communication method, program, and communication system
US9509510B2 (en) Communication device, communication method, and computer program product
JP5634427B2 (en) KEY GENERATION DEVICE, KEY GENERATION METHOD, AND PROGRAM
US10630464B2 (en) Communication device, communication system, and communication method allocating shared keys to plural channels
JP5624526B2 (en) Key sharing apparatus, key sharing method, and key sharing program
JP5694247B2 (en) Key generation apparatus, communication method, and communication system
JP6192998B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
JP2022172360A (en) Encryption communication device, encryption communication system, encryption communication method, and program
CN113221146A (en) Method and device for data transmission between block chain nodes
CN115174061A (en) Message transmission method and device based on block chain relay communication network system
JP6076752B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND PROGRAM
JP2014068313A (en) Communication method, application apparatus, program, and communication system
US9083682B2 (en) Communication device and computer program product
US9509589B2 (en) Communication device, communication system, communication method, and computer program product
JP6211818B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM
JP2017038413A (en) Communication device, key generating device, communication method, program, and communication system
JP2015097423A (en) Communication device, key generating device, communication method, program, and communication system
KR101417927B1 (en) Method and device for performing encrypted communication with load balancing in ipsec vpn
US11652620B2 (en) System and method for proactively buffering quantum key distribution (QKD) key material
JP2019129490A (en) Encryption processing device, encryption processing system and encryption processing method
JP2023071515A (en) Quantum cryptographic storage system, distributed control device, and program
JP2023139648A (en) Key management device, quantum cryptographic communication system, and program
JP2023043789A (en) Quantum cryptographic communication system, quantum cryptographic communication device, key management device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180306