KR102612892B1 - 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템 - Google Patents

통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템 Download PDF

Info

Publication number
KR102612892B1
KR102612892B1 KR1020210111583A KR20210111583A KR102612892B1 KR 102612892 B1 KR102612892 B1 KR 102612892B1 KR 1020210111583 A KR1020210111583 A KR 1020210111583A KR 20210111583 A KR20210111583 A KR 20210111583A KR 102612892 B1 KR102612892 B1 KR 102612892B1
Authority
KR
South Korea
Prior art keywords
data
communication
transmission
communication units
module
Prior art date
Application number
KR1020210111583A
Other languages
English (en)
Other versions
KR20220055403A (ko
Inventor
마사시 이토
요시미치 다니자와
Original Assignee
가부시끼가이샤 도시바
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 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20220055403A publication Critical patent/KR20220055403A/ko
Application granted granted Critical
Publication of KR102612892B1 publication Critical patent/KR102612892B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels

Abstract

배열에 따르면, 통신 디바이스는 복수의 통신 유닛, 분할 모듈, 및 결정 모듈을 포함한다. 통신 유닛들 각각은 외부 통신 디바이스와의 양자 키 분배에 의해 암호화 키를 생성하고, 생성된 암호화 키를 사용하여 데이터를 암호화하고, 데이터를 외부 통신 디바이스에 송신하도록 구성된다. 분할 모듈은 애플리케이션에 의해 송신되도록 요청된 데이터를 복수의 송신 데이터 조각으로 분할하도록 구성된다. 결정 모듈은 복수의 통신 유닛 중에서, 분할된 복수의 송신 데이터 조각의 송신에 사용될 하나 이상의 통신 유닛을 결정하도록 구성된다.

Description

통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템{COMMUNICATION DEVICE, COMPUTER-READABLE MEDIUM, AND COMMUNICATION SYSTEM}
관련 출원에 대한 상호 참조
본 출원은 2020년 10월 26일자로 출원된 일본 특허 출원 제2020-179079호에 기초하고 그 우선권의 이익을 주장한다; 그 전체 내용이 본 명세서에 참고로 포함된다.
분야
본 명세서에 설명된 실시예들은 일반적으로 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템에 관한 것이다.
양자 키 분배(QKD) 기술들이 공지되어 있다. 양자 키 분배 기술들은, 광섬유에 접속된 송신 디바이스와 수신 디바이스 사이에서 연속하여 송신되는 단일 광자를 사용하여 암호화 키를 안전하게 공유하는 기술들이다. 단일 QKD 모듈을 갖는 데이터를 송신 및 수신하는 디바이스가 양자 키 분배를 사용하는 통신 디바이스로서 개발되었다. QKD 모듈은, 예를 들어, QKD에 의해 암호화 키를 공유하고, 공유 암호화 키를 사용하여 데이터를 송신 및 수신하는 하드웨어 회로이다.
실시예에 의해 해결될 목적은, 송신가능 및 수신가능 데이터 수량을 증가시킬 수 있는 통신 디바이스, 통신 방법, 컴퓨터 프로그램 제품, 및 통신 시스템을 제공하는 것이다.
실시예에 따르면, 통신 디바이스는 복수의 통신 유닛, 분할 모듈, 및 결정 모듈을 포함한다. 복수의 통신 유닛 각각은 외부 통신 디바이스와의 양자 키 분배에 의해 암호화 키를 생성하고, 생성된 암호화 키를 사용하여 데이터를 암호화하고, 데이터를 외부 통신 디바이스에 송신하도록 구성된다. 분할 모듈은 애플리케이션에 의해 송신되도록 요청된 데이터를 복수의 송신 데이터 조각으로 분할하도록 구성된다. 결정 모듈은 복수의 통신 유닛 중에서, 분할된 복수의 송신 데이터 조각의 송신에 사용될 하나 이상의 통신 유닛을 결정하도록 구성된다.
도 1은 제1 실시예에 따른 통신 시스템의 블록도이다.
도 2는 제1 실시예에 따른 통신 디바이스의 블록도이다
도 3은 제1 실시예에 따른 분배 리스트 준비 처리의 흐름도이다.
도 4는 제1 실시예에 따른 데이터 송신 처리의 흐름도이다.
도 5는 분배 리스트의 예를 도시하는 도면이다.
도 6은 분배 리스트의 예를 도시하는 도면이다.
도 7은 분배 리스트를 준비하는 방법을 설명하는 도면이다.
도 8은 분배 리스트를 준비하는 방법을 설명하는 도면이다.
도 9는 제2 실시예에 따른 통신 디바이스의 블록도이다.
도 10은 제2 실시예에 따른 우선순위 리스트 준비 처리의 흐름도이다.
도 11은 우선순위 리스트의 구성 예를 도시하는 도면이다.
도 12는 제2 실시예에 따른 분배 리스트 준비 처리의 흐름도이다.
도 13은 분배 리스트의 예를 도시하는 도면이다.
도 14는 제3 실시예에 따른 통신 디바이스의 블록도이다.
도 15는 제3 실시예에 따른 요청 리스트 준비 처리의 흐름도이다.
도 16은 요청 리스트의 구성 예를 도시하는 도면이다.
도 17은 제3 실시예에 따른 분배 리스트 준비 처리의 흐름도이다.
도 18은 QKD 모듈들 각각의 키 잔여 수량 및 키 생성 속도의 예를 도시하는 도면이다.
도 19는 예측된 통신 지연 및 통신 속도의 예를 도시하는 도면이다.
도 20은 분배 리스트의 예를 도시하는 도면이다.
도 21은 제1 내지 제3 실시예들에 따른 통신 디바이스의 하드웨어 구성도이다.
이하, 실시예에 따른 통신 디바이스의 바람직한 실시예들이 첨부 도면들을 참조하여 상세하게 설명될 것이다.
QKD에 의해 공유되는 암호화 키를 사용하여 송신 및 수신되는 데이터의 데이터 수량을 증가시키는 가능한 방법은, 예를 들어, 복수의 QKD 모듈을 사용하는 방법이다. QKD 모듈 각각의 암호화 키의 생성 속도(키 생성 속도) 및 암호화 키의 잔여 수량(키 잔여 수량)은, 암호화 키의 공유에 사용되는 통신 매체(광 케이블 등)에 대한 외부 환경의 영향(대기 온도, 습도 및 풍속 등) 및 도청자의 존재 등에 따라 변동할 수 있다. 구체적으로, QKD 모듈들은 키 생성 속도 및 키 잔여 수량에서 차이를 가질 수 있다. 이로 인해, 예를 들어, 송신 데이터 조각들이 QKD 모듈들에 단순하게 균일하게 분배되도록 송신될 데이터를 분할함으로써 취득되는 복수의 송신 데이터 조각을 송신하도록 시스템이 구성될 때, 암호화 키가 없는 QKD 모듈에서 통신 대기가 발생하고, 통신 품질이 저하될 수 있다.
다음의 실시예들 각각에서, 데이터 수량을 증가시키기 위해, 송신될 데이터를 분할함으로써 취득된 복수의 송신 데이터 조각이 복수의 QKD 모듈에 분배 및 송신된다. 또한, 실시예 각각에서, 송신 데이터가 분배되는 QKD 모듈들은 통신 품질의 감소를 피하기 위해 결정된다.
제1 실시예
도 1은 제1 실시예에 따른 통신 디바이스를 포함하는 통신 시스템의 구성의 예를 도시하는 블록도이다. 도 1에 도시한 바와 같이, 본 실시예에 따른 통신 시스템은, 통신 디바이스(100a)와 통신 디바이스(100b)가 통신 매체들(201a 내지 201c) 및 통신 매체들(202a 내지 202c)에 의해 서로 접속되는 구조를 갖는다.
통신 디바이스들(100a 및 100b)은 동일한 구조를 가지며, 이들을 구별할 필요가 없을 때 간단히 "통신 디바이스(100)"라고 지칭된다. 통신 디바이스(100)는 애플리케이션(111), 데이터 프로세서(120), 및 QKD 모듈들(130a, 130b, 및 130c)을 포함한다.
애플리케이션(111)은 송신될 데이터의 생성을 포함하는 처리를 실행한다. 도 1은 하나의 애플리케이션(111)을 도시하지만, 통신 디바이스(100)는 복수의 애플리케이션(111)을 포함할 수 있다. 본 실시예는 하나의 애플리케이션(111)을 포함하는 예를 도시한다.
애플리케이션(111)에 의해 실행되는 처리는 임의의 원하는 처리일 수 있다. 예를 들어, 통신 디바이스들(100) 각각의 애플리케이션(111)은 이하의 서비스를 구현하도록 구성될 수 있다.
(S1) 통신 디바이스(100a)의 애플리케이션(111)은 센서로부터 데이터(센서 데이터)를 취득하고, 통신 디바이스(100b)의 애플리케이션(111)에 데이터를 송신한다. 통신 디바이스(100b)의 애플리케이션(111)은 수신된 센서 데이터의 통계를 표시한다.
(S2) 통신 디바이스(100a)의 애플리케이션(111)은 통신 디바이스(100b)의 애플리케이션(111)으로부터 데이터를 요청한다. 통신 디바이스(100b)의 애플리케이션(111)은 요청원(웹 서비스 등)으로서 역할을 하는 통신 디바이스(100a)의 애플리케이션(111)에 요청된 데이터를 송신한다.
(S3) 통신 디바이스(100a)의 애플리케이션(111)과 통신 디바이스(100b)의 애플리케이션(111)은 음성과 이미지들(전화 서비스 등)을 서로 송신한다.
QKD 모듈들(130a 내지 130c)(통신 프로세서의 예)은 다른 통신 디바이스(100)(외부 통신 디바이스)와 QKD에 의해 암호화 키를 생성(공유)하고, 생성된 암호화 키를 사용하여 데이터를 암호화하여 데이터를 송신 및 수신한다. QKD 모듈들(130a 내지 130c)은 또한 다른 통신 디바이스(100)로부터 수신된 데이터를 통신 디바이스(100)와 공유되는 암호화 키로 복호화한다.
QKD 모듈들(130) 각각은, 생성된 암호화 키를 저장하고, 데이터 프로세서(120)로부터의 문의에 응답하여, 저장된 암호화 키의 수량에 대응하는 키 잔여 수량 및 키 생성 속도를 통지하는 기능을 갖는다. 키 잔여 수량은 예를 들어, QKD 모듈(130)에 저장된 암호화 키의 비트 수로 표현된다.
QKD 모듈들(130a 내지 130c) 각각은 전용 집적 회로(IC)와 같은 프로세서, 즉 하드웨어로 구현된다. QKD 모듈들(130a 내지 130c)은 동일한 구조(예를 들어, 동일한 제조자에 의해 제조된 동일한 제품) 또는 상이한 구조들(예를 들어, 상이한 제조자들에 의해 제조된 제품들)을 가질 수 있다.
QKD 모듈들(130a 내지 130c)은 각각 통신 매체들(201a 내지 201c)을 통해 다른 통신 디바이스(100)의 QKD 모듈들(130a 내지 130c)과 접속된다. 통신 매체들(201a 내지 201c)은 암호화 키의 생성에 사용되는 매체들이며, 예를 들어, 광섬유들로 형성된다. 통신 매체들(201a 내지 201c)은 "양자 통신 경로들"이라고도 지칭된다.
QKD 모듈들(130a 내지 130c)은 또한 각각 통신 매체들(202a 내지 202c)을 통해 다른 통신 디바이스(100)의 QKD 모듈들(130a 내지 130c)과 접속된다. 통신 매체들(202a 내지 202c)은 암호화 키로 암호화된 데이터의 송신 및 수신에 사용되는 매체들이다. 통신 매체들(202a 내지 202c)은 "고전적인 통신 경로들"이라고도 지칭된다.
QKD 모듈들(130a 내지 130c)의 수는 3개로 한정되지 않고, 2개 또는 4개 이상일 수 있다. QKD 모듈들(130a 내지 130c)은 또한 이들을 구별할 필요가 없을 때 간단히 "QKD 모듈들(130)"로 지칭된다.
동일한 방식으로, 통신 매체들(201a 내지 201c)은 또한 이들을 구별할 필요가 없을 때 간단히 "통신 매체들(201)"로 지칭되고, 통신 매체들(202a 내지 202c)은 또한 이들을 구별할 필요가 없을 때 간단히 "통신 매체들(202)"로 지칭된다. 시스템은 하나의 QKD 모듈(130)에 대해 통신 매체(201) 및 통신 매체(202)를 통합함으로써 취득된 통신 매체(광섬유 등)를 사용하도록 구성될 수 있다. 이러한 구조는 데이터 신호 및 양자 암호기법적 신호의 파장 다중화에 의해 기존 섬유 상에 양자 암호기법을 도입함으로써 비용 억제를 초래한다.
데이터 프로세서(120)는 QKD 모듈들(130)을 사용하여 송신 및 수신된 데이터에 대한 처리를 실행한다. 예를 들어, 데이터 프로세서(120)는 애플리케이션(111)으로부터 송신된 데이터를 복수의 송신 데이터 조각으로 분할하여 QKD 모듈들(130)로 데이터를 송신한다. 또한, 데이터 프로세서(120)는 다른 통신 디바이스(100)로부터 송신되고 QKD 모듈들(130)로 수신된 복수의 데이터 조각을 조합하고, 조합된 데이터를 애플리케이션(111)에 출력한다.
통신 디바이스(100)(도 1의 통신 디바이스(100a) 및 통신 디바이스(100b)) 각각은 데이터를 송신하는 장치(송신 장치) 및 데이터를 수신하는 장치(수신 장치)로서 역할을 할 수 있다. 통신 디바이스(100)는, 송신 장치 및 수신 장치의 기능들 중 하나만을 갖거나, 또는 둘 다의 기능을 가질 수 있다. 이하의 설명은 통신 디바이스(100)가 송신 장치 및 수신 장치의 둘 다의 기능들을 갖는 예를 주로 예시한다.
이하는 도 1에 따른 통신 시스템에 의해 실행되는 통신 처리의 개요의 설명이다. 통신 디바이스(100a)가 데이터를 송신할 때, 통신 디바이스(100a)의 애플리케이션(111)은 데이터를 생성하고, 생성된 데이터를 데이터 프로세서(120)에 송신한다. 데이터 프로세서(120)는 수신된 데이터를 복수의 송신 데이터 조각으로 분할하고, 송신 데이터 조각들을 QKD 모듈들(130a 내지 130c)에 분배한다. QKD 모듈들(130a 내지 130c)은 암호화 키를 사용하여 송신 데이터 조각들을 암호화하고, 송신 데이터를 상대(통신 디바이스(100b))의 QKD 모듈들(130a 내지 130c)에 송신한다.
송신 데이터를 수신한 통신 디바이스(100b)의 QKD 모듈들(130a 내지 130c)은 암호화된 송신 데이터 조각들을 복호화하고, 그 후 송신 데이터 조각들을 데이터 프로세서(120)에 송신한다. 데이터 프로세서(120)는 분할된 송신 데이터 조각들을 조합하고, 조합된 송신 데이터를 애플리케이션(111)에 송신한다. 애플리케이션(111)은 조합된 데이터에 대한 처리를 실행한다.
도 2는 제1 실시예에 따른 통신 디바이스(100)의 상세한 기능 구조의 예를 도시하는 블록도이다. 도 2에 도시된 바와 같이, 통신 디바이스(100)는 애플리케이션(111), 데이터 프로세서(120), QKD 모듈들(130a, 130b, 및 130c), 및 저장 유닛(140)을 포함한다.
데이터 프로세서(120)는 취득 모듈(121), 준비 모듈(122), 분할 모듈(123), 결정 모듈(124), 및 조합 모듈(125)을 포함한다.
취득 모듈(121)은 데이터 프로세서(120)로 실행되는 처리에 사용되는 다양한 타입들의 정보를 취득한다. 예를 들어, 취득 모듈(121)은 QKD 모듈들(130a, 130b, 및 130c) 각각으로부터 키 잔여 수량 및 키 생성 속도를 취득한다.
준비 모듈(122)은, 결정 모듈(124)이 송신 데이터의 분배처들을 결정할 때 참조되는 정보로서 역할을 하는 분배 리스트를 준비한다.
분할 모듈(123)은 애플리케이션(111)에 의해 송신되도록 요청된 데이터를 분할한다. 예를 들어, 분할 모듈(123)은 애플리케이션(111)으로부터 수신된 데이터를 QKD 모듈들로 송신된 데이터의 크기를 갖는 복수의 송신 데이터 조각으로 분할한다. 송신 데이터 조각들의 크기는 고정형 또는 가변형일 수 있다. 분할 모듈(123)은 송신 데이터 조각들에 정보를 제공하여, 다른 통신 디바이스(100)의 조합 모듈(125)이 분할된 송신 데이터 조각들을 조합하여 원래의 데이터를 복원할 수 있게 한다. 예를 들어, 분할 모듈(123)은 송신 데이터 조각의 헤더에 송신 데이터 조각의 순서를 표시하는 정보(시퀀스 번호 등)를 설정한다.
결정 모듈(124)은 분할 모듈(123)로 분할된 송신 데이터 조각들의 송신에 사용되는 QKD 모듈(130)을 결정한다. 예를 들어, 결정 모듈(124)은, 키 생성 속도 및 키 잔여 수량 중 적어도 하나가 다른 QKD 모듈들(130)의 것보다 큰(높은) 키 생성 속도 및 키 잔여 수량을 갖는 QKD 모듈(130)이 더 많은 송신 데이터를 송신하도록 송신 데이터 조각들의 송신에 사용되는 QKD 모듈들(130)을 결정한다. 또한, 결정 모듈(124)은 키 생성 속도 및 키 잔여 수량의 비율들 중 적어도 하나에 따라 각각의 QKD 모듈들(130)로 송신된 송신 데이터 조각들의 비율을 결정한다고 말할 수 있다.
조합 모듈(125)은 QKD 모듈들(130)로 송신 데이터 조각들을 수신 및 복호화함으로써 취득된 복수의 송신 데이터 조각을 조합한다. 예를 들어, 조합 모듈(125)은, 송신 데이터 조각들에 설정된 시퀀스 번호들을 참조하여 송신 데이터 조각들을 조합하여, 분할 전의 데이터를 복원한다.
전술한 유닛들(애플리케이션(111) 및 데이터 프로세서(120)) 각각은, 예를 들어, 하나 또는 복수의 프로세서로 구현된다. 예를 들어, 전술한 유닛들 각각은 중앙 처리 유닛(CPU)과 같은 프로세서로 컴퓨터 프로그램들, 즉 소프트웨어를 실행함으로써 구현될 수 있다. 전술한 유닛들 각각은 전용 집적 회로(IC)와 같은 프로세서, 즉 하드웨어로 구현될 수 있다. 전술한 유닛들 각각은 조합하여 사용되는 소프트웨어 및 하드웨어로 구현될 수 있다. 복수의 프로세서를 사용하는 경우에, 프로세서들 각각은 유닛들 중 하나, 또는 유닛들 중 2개 이상을 구현할 수 있다.
저장 유닛(140)은 통신 디바이스(100)로 사용되는 다양한 타입들의 정보를 저장한다. 예를 들어, 저장 유닛(140)은 준비 모듈(122)로 준비된 분배 리스트를 그 안에 저장한다. 저장 유닛(140)은 플래시 메모리, 메모리 카드, 랜덤 액세스 메모리(RAM), 하드 디스크 드라이브(HDD), 및 광학 디스크와 같은 임의의 일반적으로 사용되는 저장 매체로 형성될 수 있다.
이하는 제1 실시예에 따른 통신 디바이스(100)로 실행되는 분배 리스트 준비 처리의 설명이다. 도 3은 제1 실시예에 따른 분배 리스트 준비 처리의 예를 도시하는 흐름도이다.
먼저, 취득 모듈(121)은 현재 상태가 키 잔여 수량 및 키 생성 속도를 취득하기 위한 조건(취득 조건들)을 충족하는지를 결정한다(단계 S101). 취득 조건이 충족될 때 분배 리스트가 준비되기 때문에, 취득 조건은 또한 분배 리스트를 준비하기 위한 준비 조건에 대응하는 것으로 간주될 수 있다. 취득 조건은 임의의 원하는 조건일 수 있다. 예를 들어, 다음과 같은 조건이 사용될 수 있다.
(C1-1) 애플리케이션(111)으로부터의 데이터의 수신 상태가 "수신됨(received)" 상태인지
(C1-2) 이전 취득으로부터 특정 시간이 경과했는지
조건 (C1-1)을 사용하는 경우에, 애플리케이션(111)은 애플리케이션(111)이 데이터를 송신할 때 취득 모듈(121)을 호출할 수 있고, 취득 모듈(121)은 취득 모듈(121)이 애플리케이션(111)으로부터 호출될 때 데이터가 수신되었다고 결정할 수 있다. 다른 예로서, 시스템은 데이터의 수신 상태가 변할 때 애플리케이션(111)이 취득 모듈(121)과 공유되는 메모리 등에 메시지를 기입하고, 취득 모듈(121)이 메시지의 존재/부재를 체크하기 위해 메모리를 폴링(poll)하는 구조를 가질 수 있다.
조건 (C1-2)를 사용하는 경우, 타이머는 취득 모듈(121)을 호출할 수 있고, 취득 모듈(121)은 취득 모듈(121)이 타이머로부터 호출될 때 특정 시간이 경과했다고 결정할 수 있다.
취득 조건이 충족되지 않는 경우(단계 S101에서 아니오), 취득 조건이 충족될 때까지 처리가 반복된다. 취득 조건이 충족되는 경우(단계 S101에서 예), 취득 모듈(121)은 QKD 모듈들(130a, 130b, 및 130c) 각각으로부터 키 잔여 수량 및 키 생성 속도를 취득한다(단계 S102).
준비 모듈(122)은 취득된 키 잔여 수량들 및 키 생성 속도들을 참조하여 분배 리스트를 준비한다(단계 S103). 준비 모듈(122)은 준비된 분배 리스트를 예를 들어, 저장 유닛(140)에 저장한다. 분배 리스트를 준비하는 방법의 상세에 대해서는 후술될 것이다.
이하는 제1 실시예에 따른 통신 디바이스(100)로 실행되는 데이터 송신 처리의 설명이다. 데이터 송신 처리는, 분배 리스트에 기초하여 데이터 분배처로서 역할을 하는 QKD 모듈(130)을 결정하고, 결정된 QKD 모듈(130)로 송신 데이터 조각들을 송신하는 처리이다. 도 4는 제1 실시예에 따른 데이터 송신 처리의 예를 도시하는 흐름도이다.
결정 모듈(124)은 송신될 데이터가 생성되었는지를 결정한다(단계 S201). 예를 들어, 결정 모듈(124)은 애플리케이션(111)에 의해 데이터의 송신이 요청될 때 송신될 데이터가 생성되었다고 결정한다. 송신될 데이터가 생성되지 않은 경우(단계 S201에서 아니오), 송신될 데이터가 발생할 때까지 처리가 반복된다.
송신될 데이터가 생성된 경우(단계 S201에서 예), 분할 모듈(123)은 데이터를 복수의 송신 데이터 조각으로 분할한다(단계 S202). 결정 모듈(124)은, 분배 리스트를 참조하여, 분할된 송신 데이터 조각들 각각의 분배처가 되는 QKD 모듈(130)을 결정한다(단계 S203). 결정 모듈(124)은 송신 데이터 조각들을 결정된 QKD 모듈들(130)에 분배한다. QKD 모듈들(130)은 결정 모듈(124)로부터 분배된 각각의 송신 데이터 조각들을 암호화하여 송신한다(단계 S204).
다음은 분배 리스트를 준비하는 방법 및 분배 리스트를 사용하여 분배처들을 결정하는 방법의 예의 설명이다. 이하의 설명은 분배 리스트를 준비하는 3개의 방법의 예들을 예시한다.
도 5는 제1 준비 방법에 의해 준비된 분배 리스트의 예를 도시하는 도면이다. 도 5의 분배 리스트는 복수의 송신 데이터 조각이 하나 이상의 QKD 모듈(130)에 할당되는 경우의 분배 리스트의 예에 대응한다.
도 5에 도시된 바와 같이, 분배 리스트는 식별 정보(130a, 130b, 130c), 키 잔여 수량, 및 분배처들로서 역할을 하는 QKD 모듈들(130) 각각의 송신 상태를 포함한다. 송신 상태는, 예를 들어, 상태들 "송신(transmitting)" 및 "대기(waiting)"를 포함한다. 준비 모듈(122)은, 예를 들어, 이전에 송신된 데이터의 크기를 QKD 모듈(130)의 통신 속도로 나눔으로써 취득된 송신 시간에 기초하여 송신 상태를 추정하거나, 또는 QKD 모듈(130)에 송신 상태를 문의함으로써 송신 상태를 취득할 수 있다.
결정 모듈(124)은 전술한 바와 같은 분배 리스트에 기초하여 분배처들로서 역할을 하는 QKD 모듈들(130)을 다음과 같이 결정한다. 결정 모듈(124)은 분배 리스트 내의 요소들을 순서대로 참조한다. 도 5의 예에서, 분배 리스트는 3개의 QKD 모듈(130)에 대응하는 3개의 요소를 포함한다. 참조 순서는 임의의 원하는 순서일 수 있지만, 예를 들어, 결정 모듈(124)은 분배 리스트의 헤드(도 5의 예에서 좌측에 도시된 QKD 모듈(130a)에 대응하는 요소)로부터 끝(도 5의 예에서 우측에 도시된 QKD 모듈(130c)에 대응하는 요소)까지의 요소들을 참조한다.
참조되는 요소에 포함되는 키 잔여 수량이 하나의 데이터 송신에 사용되는 암호화 키의 비트수와 동일하거나 그보다 더 큰 비트수를 갖고, 참조되는 요소에 포함되는 송신 상태가 "대기" 상태일 때, 결정 모듈(124)은 요소에 포함되는 식별 정보로 식별되는 QKD 모듈(130)을 분배처의 QKD 모듈(130)로서 결정한다. 참조되는 요소가 전술한 조건들을 충족시키지 않을 때, 결정 모듈(124)은 다음 요소를 참조한다.
예를 들어, 128 비트의 암호화 키가 하나의 데이터 송신을 위해 사용될 때, 결정 모듈(124)은 키 잔여 수량이 128 비트 이상이고 그 송신 상태가 "대기" 상태일 때 대응하는 QKD 모듈(130)을 분배처로서 결정한다.
도 5는 연속하는 3개의 시간(제(n) 시간, 제(n+1) 시간, 및 제(n+2) 시간, n은 1 이상의 정수)의 분배처들의 결정의 예를 도시한다. 제(n)회에, 결정 모듈(124)은 QKD 모듈(130a)을 분배처로서 결정한다. 제(n+1) 시간에, QKD 모듈(130a)의 송신 상태가 "송신"이기 때문에, 결정 모듈(124)은 QKD 모듈(130b)을 분배처로서 결정한다. "하나 소비됨(one consumed)"이라는 표현은, 하나의 송신에 대응하는 128 비트의 암호화 키가 소비된 것을 표시한다. 제(n+2) 시간에, QKD 모듈(130b)의 송신 상태가 "송신"이고 QKD 모듈(130b)의 키 잔여 수량이 0이기 때문에, 결정 모듈(124)은 QKD 모듈(130a)을 분배처로서 결정한다.
도 6은 제2 준비 방법에 의해 준비된 분배 리스트의 예를 도시하는 도면이다. 도 6의 분배 리스트는 복수의 송신 데이터 조각이 다른 QKD 모듈들(130)의 키 잔여 수량보다 큰 키 잔여 수량을 갖는(예를 들어, 최대 키 잔여 수량을 갖는) QKD 모듈들(130)에 할당되는 경우의 분배 리스트의 예에 대응한다.
제(n) 시간에, 결정 모듈(124)은 최대 키 잔여 수량을 갖는 QKD 모듈(130a)을 분배처로서 결정한다. 제(n+1) 시간에, QKD 모듈(130a)의 송신 상태가 "송신"이기 때문에, 결정 모듈(124)은 QKD 모듈(130b) 및 QKD 모듈(130c)에서 더 큰 키 잔여 수량을 갖는 QKD 모듈(130c)을 분배처로서 결정한다. 제(n+2) 시간에, 결정 모듈(124)은 최대 키 잔여 수량을 갖는 QKD 모듈(130a)을 분배처로서 결정한다.
도 7 및 도 8은 분배 리스트를 준비하는 제3 방법을 설명하기 위한 도면들이다. 도 7은 분배 리스트가 준비될 때 사용되는 가중치들의 예를 도시한다. 도 8은 제3 준비 방법에 의해 준비된 분배 리스트의 예를 도시한다. 도 8의 분배 리스트는 다른 QKD 모듈(130)의 가중치보다 키 잔여 수량 및 키 생성 속도 중 적어도 하나로부터 계산된 더 큰 가중치를 갖는(예를 들어, 최대 가중치를 갖는) QKD 모듈들(130)에 복수의 송신 데이터 조각이 할당되는 경우의 분배 리스트의 예에 대응한다.
도 8의 분배 리스트는, 도 5 및 도 6과는 달리, QKD 모듈들(130)의 식별 정보 아이템들이 분배 순서로 배열된 형태를 갖는다. 준비 방법을 사용하는 경우, 준비 모듈(122)은 매 특정 시간마다(예를 들어, 초당 1회) 분배 리스트를 준비한다. 분배 리스트에는, 특정 시간(예를 들어, 1초) 동안의 분배처들의 식별 정보 아이템들이 순서대로 기록된다.
전술한 바와 같이 분배를 준비하기 위해, 준비 모듈(122)은 키 잔여 수량 및 키 생성 속도로부터 QKD 모듈들(130) 각각에 대한 가중치를 결정한다. 준비 모듈(122)은 예를 들어, 이하의 수학식 (1)에 의해 가중치를 계산한다.
키 잔여 수량(비트) + 키 생성 속도(bps)/단위 시간 (1)
키 잔여 수량들 및 키 생성 속도들이 도 7에 도시된 값들을 가질 때, 각각의 QKD 모듈들(130)의 가중치들은 다음과 같이 계산된다.
QKD 모듈(130a): 1280
QKD 모듈(130b): 384
QKD 모듈(130c): 2560
가중치들은 가중치들을 최대 공약수로 나눔으로써 취득된 값들일 수 있다. 도 7은 가중치들을 최대 공약수(128)로 나눔으로써 취득된 가중치들의 예들(10, 3, 20)을 도시한다.
준비 모듈(122)은 QKD 모듈들(130)이 가중치 값들에 따른 사용 비율을 갖도록 특정 시간 동안 QKD 모듈들(130)의 할당 순서를 결정하고, 결정된 순서로 QKD 모듈들(130)의 식별 정보 아이템들을 설명하는 분배 리스트를 준비한다. 준비 방법은 계산된 가중치들을 사용하여 가중된 라운드 로빈(round robin)에 의해 결정된 분배처들을 설명하는 분배 리스트를 준비하는 것으로 간주될 수 있다.
수학식 (1)은 키 잔여 수량 및 키 생성 속도 둘 다를 사용하여 가중치를 계산하는 수학식이지만, 가중치는 이들 중 어느 하나를 사용하여 계산될 수 있다. 예를 들어, 키 잔여 수량의 값 자체 또는 키 생성 속도의 값 자체가 가중치로서 사용될 수 있다.
전술된 바와 같이, 제1 실시예에 따르면, 송신될 데이터를 분할함으로써 취득된 복수의 송신 데이터 조각이 복수의 QKD 모듈에 분배되고 QKD 모듈들로 송신된다. 이 구조는 송신가능 및 수신가능 데이터 수량의 증가를 가능하게 한다. 또한, 제1 실시예에서, 사용될 QKD 모듈은 키 잔여 수량 및 키 생성 속도에 따라 결정된다. 이 구조는 암호화 키가 없는 QKD 모듈(130)의 선택으로 인한 송신의 중단을 회피한다. 구체적으로, 이 구조는 모든 QKD 모듈들(130)의 리소스들이 소비될 때까지 통신의 계속을 가능하게 한다.
제2 실시예
제2 실시예에 따른 통신 디바이스는 우선순위 레벨들을 참조하여 우선순위 레벨들이 제공된 복수의 애플리케이션에 의해 송신되도록 요청된 데이터의 분배처로서 역할을 하는 QKD 모듈을 결정한다.
도 9는 제2 실시예에 따른 통신 디바이스(100-2)의 구성의 예를 도시하는 블록도이다. 도 9에 도시된 바와 같이, 통신 디바이스(100-2)는 애플리케이션들(111a 및 111b), 데이터 프로세서(120-2), QKD 모듈들(130a, 130b, 및 130c) 및 저장 유닛(140-2)을 포함한다.
QKD 모듈들(130a, 130b, 및 130c)은 제1 실시예의 것들과 동일하기 때문에, 그것들은 동일한 참조 번호들로 표시되고, 본 명세서에서 그 설명을 생략한다.
통신 디바이스(100-2)는 복수의 애플리케이션(111a 및 111b)을 포함한다. 애플리케이션들의 수는 2개로 한정되지 않고, 3개 이상일 수 있다. 애플리케이션들(111a 및 111b) 각각은 송신될 데이터의 생성을 포함하는 처리를 실행한다. 애플리케이션들(111a 및 111b)은, 이들을 구별할 필요가 없을 경우, 간단히 "애플리케이션들(111)"이라고도 지칭된다.
데이터 프로세서(120-2)는 취득 모듈(121-2), 준비 모듈(122-2), 분할 모듈(123), 결정 모듈(124-2) 및 조합 모듈(125)을 포함한다. 분할 모듈(123) 및 조합 모듈(125)은 제1 실시예에서의 것들과 동일하기 때문에, 이들은 동일한 참조 번호들로 표시되고, 그 설명은 본 명세서에서 생략된다.
취득 모듈(121-2)은 취득 모듈(121-2)이 애플리케이션들(111) 각각으로부터 우선순위 레벨을 취득하는 기능을 추가로 갖는다는 점에서 제1 실시예의 취득 모듈(121)과 상이하다.
준비 모듈(122-2)은 준비 모듈(122-2)이 각각의 애플리케이션들(111)의 우선순위 레벨들을 설명하는 우선순위 리스트를 준비하고 우선순위 리스트를 참조하여 분배 리스트를 준비하는 기능을 추가로 갖는다는 점에서 제1 실시예에 따른 준비 모듈(122)과 상이하다.
결정 모듈(124-2)은 준비 모듈(122-2)로 준비된 분배 리스트를 참조하여, 송신 데이터 조각들의 송신에 사용되는 QKD 모듈들(130)을 결정한다.
저장 유닛(140-2)은 저장 유닛(140-2)이 그 안에 우선순위 리스트를 추가로 저장한다는 점에서 제1 실시예에 따른 저장 유닛(140)과 상이하다.
다음은 제2 실시예에 따른 통신 디바이스(100-2)로 실행되는 우선순위 리스트 준비 처리의 설명이다. 도 10은 제2 실시예에 따른 우선순위 리스트 준비 처리의 예를 도시하는 흐름도이다.
우선, 취득 모듈(121-2)은 현재 상태가 각각의 애플리케이션들(111)의 우선순위 레벨들을 취득하기 위한 조건(취득 조건)을 충족하는지를 결정한다(단계 S301). 취득 조건은 임의의 원하는 조건일 수 있다. 예를 들어, 다음과 같은 조건이 사용될 수 있다.
(C2-1) 애플리케이션(111)이 발생했는지
(C2-2) 애플리케이션(111)의 우선순위 레벨이 설정되었는지
(C2-3) 애플리케이션(111)으로부터 송신된 데이터가 있었는지
조건 (C2-1)이 충족되는지는, 예를 들어, 애플리케이션(111)이 설치되었는지, 통신을 위해 애플리케이션(111)으로 사용되는 세션이 확립되었는지, 확립된 세션을 사용하는 통신이 개시되었는지(애플리케이션(111)이 전화 서비스를 위해 사용되는 경우에 발신 통화 및 착신 통화 등), 및/또는 애플리케이션(111)이 개시되었는지에 따라 결정될 수 있다.
조건 (C2-1)을 사용하는 경우에, 애플리케이션(111)은 데이터 송신에서 취득 모듈(121-1)을 호출하고, 취득 모듈(121-1)은 취득 모듈(121-1)이 호출될 때 데이터가 수신되었다고 결정할 수 있다. 다른 예로서, 시스템은 데이터의 수신 상태가 변할 때 애플리케이션(111)이 취득 모듈(121-2)과 공유되는 메모리 등에 메시지를 기입하고, 취득 모듈(121-2)이 메시지의 존재/부재를 체크하기 위해 메모리를 폴링하는 구조를 가질 수 있다. 취득 모듈(121-2)은 애플리케이션(111)으로부터 송신된 데이터에 기입된 정보를 사용할 수 있다. 데이터에 기입되는 정보의 예들은 IPv4(Internet protocol version 4) 헤더의 ToS(type-of-service) 값을 포함한다.
취득 조건이 충족되지 않는 경우(단계 S301에서 아니오), 취득 조건이 충족될 때까지 처리가 반복된다. 취득 조건이 충족되는 경우(단계 S301에서 예), 취득 모듈(121-2)은 애플리케이션들(111) 각각으로부터 우선순위 레벨을 취득한다(단계 S302).
준비 모듈(122-2)은 취득된 우선순위 레벨들을 참조하여 우선순위 리스트를 준비한다(단계 S303). 준비 모듈(122-2)은 준비된 우선순위 리스트를, 예를 들어, 저장 유닛(140-2)에 저장한다.
도 11은 우선순위 리스트의 구성 예를 도시하는 도면이다. 도 11에 도시한 바와 같이, 우선순위 리스트는 요소들로서 애플리케이션들(111)의 우선순위 레벨들 및 식별 정보 아이템들을 포함한다.
이하에서는, 제2 실시예에 따른 통신 디바이스(100-2)로 실행되는 분배 리스트 준비 처리의 설명이다. 도 12는 제2 실시예에 따른 분배 리스트 준비 처리의 예를 도시하는 흐름도이다.
제2 실시예에 따른 분배 리스트 준비 처리는, 제2 실시예에는 우선순위 리스트로부터 우선순위 레벨들을 취득하는 처리(단계 S403)가 추가적으로 제공되고, 취득된 우선순위 레벨들을 사용하여 분배 리스트가 준비(단계 S404)된다는 점에서, 제1 실시예에 따른 분배 리스트 준비 처리(도 3)와 상이하다. 단계 S401 및 단계 S402는 도 3의 단계 S101 및 단계 S102와 동일하고, 그 설명은 생략한다.
단계 S403에서, 취득 모듈(121-2)은 저장 유닛(140-2)에 저장된 우선순위 리스트로부터 애플리케이션들(111) 각각의 우선순위 레벨 및 식별 정보 아이템을 취득한다(단계 S403).
준비 모듈(122-2)은 키 잔여 수량들, 키 생성 속도들, 및 각각의 애플리케이션들(111)의 우선순위 레벨들을 사용하여 분배 리스트를 준비한다(단계 S404).
다음은 본 실시예에 따른 분배 리스트를 준비하는 방법 및 분배 리스트를 사용하여 분배처들을 결정하는 방법의 예들의 설명이다.
도 13은 애플리케이션들(111)의 우선순위 레벨들을 사용하여 준비된 분배 리스트의 예를 도시하는 도면이다. 도 13의 분배 리스트는 제1 실시예에 따른 분배 리스트를 준비하기 위한 제3 방법과 동일한 방식으로, 키 잔여 수량들 및 키 생성 속도들로부터 계산된 가중치들을 참조하여 준비된다. 가중치들은, 예를 들어, 전술된 도 7과 동일한 방식으로 계산된다.
도 13의 분배 리스트는, 다른 애플리케이션의 우선순위 레벨보다 높은 우선순위 레벨을 갖는 애플리케이션에 의해 요청된 송신 데이터 조각이, 키 생성 속도 및 키 잔여 수량 중 적어도 하나가 다른 QKD 모듈들(130)의 것보다 큰 키 생성 속도 및 키 잔여 수량을 갖는 QKD 모듈(130)에 할당되는 경우의 분배 리스트의 예에 대응한다.
큰 가중치를 갖는 것은 키 잔여 수량 및 키 생성 속도를 포함하는 큰 키 리소스들을 갖는 것을 의미한다. 이러한 이유로, 결정 모듈(124-2)은 더 높은 우선순위 레벨을 갖는 애플리케이션이 더 큰 가중치를 갖는 QKD 모듈(130)에 할당되도록 송신 데이터의 분배처들을 결정한다.
더 큰 값을 갖는 우선순위 레벨은 애플리케이션이 더 높은 우선순위를 갖는다는 것을 의미한다. 도 11에 도시한 바와 같이, 애플리케이션(111a)에는 우선순위 레벨 "7"이 설정되고, 애플리케이션(111b)에는 우선순위 레벨 "0"이 설정된다.
이하의 설명은, 일례로서, 도 7에 도시한 바와 같이 가중치들이 계산되고, 도 11에 도시한 바와 같이 우선순위 레벨들이 설정되는 경우를 예시한다. 애플리케이션(111a)은 더 높은 우선순위 레벨을 갖고, 가중치의 크기는 "QKD 모듈들(130c, 130a, 및 130b)" 순서로 감소하기 때문에, 준비 모듈(122-2)은 가중치들에 따른 순서로 데이터가 QKD 모듈들(130)에 분배되도록 분배 리스트를 준비하고, 더 큰 가중치들을 갖는 QKD 모듈들(130a 및 130c)이 사용될 때, 더 높은 우선순위 레벨을 갖는 애플리케이션(111a)이 그에 할당된다. 도 13은 이와 같이 준비된 분배 리스트의 예를 도시한다.
QKD 모듈들(130a 및 130c)은 애플리케이션(111a)에 전용인 모듈들로서 할당될 수 있거나, 또는 데이터가 애플리케이션(111a)으로부터 송신되지 않을 때 애플리케이션(111b)에 할당될 수 있다.
QKD 모듈들(130) 각각은 애플리케이션(111)에 대한 통신 매체로서 거동할 수 있고, 예를 들어, 통신 디바이스(100-2)는 IEEE 802.1Q-2018에 설명된 송신 선택 알고리즘과 같은 상위 계층의 우선순위 제어를 사용하여 QKD 모듈들(130)에서 사용될 QKD 모듈(130)을 결정할 수 있다.
도 13에서, 애플리케이션(111a)은 QKD 모듈들(130a 및 130c)에 할당되지만, 애플리케이션(111a)은 QKD 모듈(130c)에만 할당될 수 있거나, 애플리케이션(111a)은 QKD 모듈(130a)에만 할당될 수 있다.
전술한 바와 같이, 제2 실시예에서, 사용될 QKD 모듈(130)은 키 잔여 수량, 키 생성 속도, 및 애플리케이션의 우선순위 레벨에 따라 결정된다. 이 구조는 상이한 우선순위 레벨들을 갖는 복수의 애플리케이션이 실행될 때 통신 디바이스가 더 높은 우선순위 레벨을 갖는 애플리케이션들에 암호화 키 리소스들을 우선적으로 할당할 수 있게 한다.
제3 실시예
제3 실시예에 따른 통신 디바이스는 애플리케이션들로부터의 요청들에 따라 데이터 분배처들로서 역할을 하는 QKD 모듈들을 결정한다.
도 14는 제3 실시예에 따른 통신 디바이스(100-3)의 구성의 예를 도시하는 블록도이다. 도 14에 도시된 바와 같이, 통신 디바이스(100-3)는 애플리케이션들(111a 및 111b), 데이터 프로세서(120-3), QKD 모듈들(130a, 130b, 및 130c) 및 저장 유닛(140-3)을 포함한다.
QKD 모듈들(130a, 130b, 및 130c) 및 애플리케이션들(111a 및 111b)은 제1 실시예 및 제2 실시예의 것들과 동일하기 때문에, 이들은 동일한 참조 번호들로 표시되고, 그 설명은 본 명세서에서 생략된다.
데이터 프로세서(120-3)는 취득 모듈(121-3), 준비 모듈(122-3), 분할 모듈(123), 결정 모듈(124-3) 및 조합 모듈(125)을 포함한다. 분할 모듈(123) 및 조합 모듈(125)은 제1 실시예에서의 것들과 동일하기 때문에, 이들은 동일한 참조 번호들로 표시되고, 그 설명은 본 명세서에서 생략된다.
취득 모듈(121-3)은, 취득 모듈(121-3)이 애플리케이션들(111) 각각으로부터 통신 속도 및 통신 지연 등의 통신 품질에 대한 요청을 취득하는 기능을 추가로 갖는다는 점에서, 제1 실시예의 취득 모듈(121)과 상이하다.
준비 모듈(122-3)은, 준비 모듈(122-3)이 각각의 애플리케이션들(111)에 의한 요청들을 설명하는 요청 리스트를 준비하는 기능을 추가로 갖고, 요청 리스트를 참조하여 분배 리스트를 준비한다는 점에서, 제1 실시예에 따른 준비 모듈(122)과 상이하다.
결정 모듈(124-3)은 준비 모듈(122-3)로 준비된 분배 리스트를 참조하여, 송신 데이터 조각들의 송신에 사용되는 QKD 모듈들(130)을 결정한다.
저장 유닛(140-3)은, 저장 유닛(140-3)이 요청 리스트를 그 안에 추가로 저장한다는 점에서 제1 실시예에 따른 저장 유닛(140)과 상이하다.
다음은 제3 실시예에 따른 통신 디바이스(100-3)로 실행되는 요청 리스트 준비 처리의 설명이다. 도 15는 제3 실시예에 따른 요청 리스트 준비 처리의 예를 도시하는 흐름도이다.
먼저, 취득 모듈(121-3)은 현재 상태가 각각의 애플리케이션들(111)에 의한 요청들을 취득하기 위한 조건(취득 조건)을 충족하는지를 결정한다(단계 S501). 취득 조건은 임의의 원하는 조건일 수 있다. 예를 들어, 다음과 같은 조건이 사용될 수 있다.
(C3-1) 애플리케이션(111)이 발생했는지
(C3-2) 애플리케이션(111)에 의한 요청이 설정되었는지
(C3-3) 애플리케이션(111)으로부터 데이터가 송신되었는지
조건들 (C3-1) 및 (C3-3)은 제2 실시예의 조건들 (C2-1) 및 (C2-3)의 것들과 동일하다.
시스템은, 원격 방식으로 접속된 제어 디바이스가, 예를 들어, 전체 통신 시스템의 동작을 최적화하기 위해 각각의 애플리케이션들(111)의 통신 품질들(예컨대, 통신 속도 및 지연)을 결정하고 각각의 애플리케이션들(111)에서 통신 품질들을 설정하는 구조를 가질 수 있다. 이러한 경우, 취득 모듈(121-3)은 제어 디바이스가 통신 디바이스(100-3)의 상태, 파라미터 및 요청된 값을 설정했는지를 취득 조건으로서 결정할 수 있다.
취득 조건이 충족되지 않을 때(단계 S501에서 아니오), 취득 조건이 충족될 때까지 처리가 반복된다. 취득 조건이 충족될 때(단계 S501에서 예), 취득 모듈(121-3)은 애플리케이션들(111) 각각으로부터 요청(통신 지연 및 통신 속도)을 취득한다(단계 S502).
원격 제어 디바이스를 사용하는 구조를 사용하는 경우, 취득 모듈(121-3)은 제어 디바이스가 각각의 애플리케이션들(111)의 설정 값들을 설정하는 데이터베이스로부터 요청들을 취득할 수 있다. 예를 들어, 취득 모듈(121-3)은 NETCONF/YANG와 같은 프로토콜을 사용하여 요청들에 대응하는 설정 값들을 취득할 수 있다. 시스템은, NETCONF 클라이언트가 통신 디바이스(100-3)에 탑재된 NETCONF 서버의 설정 데이터베이스에 액세스(판독/기입)할 때 원격 방식으로 탑재된 NETCONF 클라이언트로 취득 모듈(121-3)이 통지 또는 콜 백(call back)될 때 취득 모듈(121-3)이 설정들을 취득하는 구조를 가질 수 있다.
준비 모듈(122-3)은 취득된 요청들을 참조하여 요청 리스트를 준비한다(단계 S503). 준비 모듈(122-3)은 준비된 요청 리스트를, 예를 들어, 저장 유닛(140-3)에 저장한다.
도 16은 요청 리스트의 구성 예를 도시하는 도면이다. 도 16에 도시한 바와 같이, 요청 리스트는 애플리케이션들(111) 각각의 식별 정보, 지연(ms), 속도(bps), 데이터 크기(바이트) 및 시간(초)을 요소들로서 포함한다.
이하는 제3 실시예에 따른 통신 디바이스(100-3)로 실행되는 분배 리스트 준비 처리의 설명이다. 도 17은 제3 실시예에 따른 분배 리스트 준비 처리의 예를 도시하는 흐름도이다.
제3 실시예는, 제3 실시예가 요청 리스트로부터 요청들을 취득하는 처리(단계 S603)를 추가로 포함하고, 취득한 요청들을 사용하여 분배 리스트를 준비(단계 S604)한다는 점에서, 제1 실시예에 따른 분배 리스트 준비 처리(도 3)와 상이하다. 단계 S601 및 단계 S602는 도 3의 단계 S101 및 단계 S102와 동일하고, 그 설명은 생략된다.
단계 S603에서, 취득 모듈(121-3)은 저장 유닛(140-3)에 저장된 요청 리스트로부터 애플리케이션들(111) 각각의 식별 정보 및 요청(통신 지연 및 통신 속도)을 취득한다(단계 S603).
준비 모듈(122-3)은 키 잔여 수량들, 키 생성 속도들, 및 각각의 애플리케이션들(111)에 의한 요청들을 사용하여 분배 리스트를 준비한다(단계 S604).
다음은 본 실시예에 따른 분배 리스트를 준비하는 방법 및 분배 리스트를 사용하여 분배처들을 결정하는 방법의 설명이다.
도 18은 분배 리스트가 준비될 때 각각의 QKD 모듈들(130)의 키 잔여 수량들 및 키 생성 속도들의 예를 도시하는 도면이다. 도 19는 애플리케이션(111a)에 대해 추정(계산)된 통신 지연 및 통신 속도의 예를 도시하는 도면이다. 도 20은 준비된 분배 리스트의 예를 도시하는 도면이다. 애플리케이션들(111)이 도 16에 도시된 지연들 등을 요청했다고 가정한다.
도 16의 요청 리스트에서, 애플리케이션(111a)은 애플리케이션(111b)의 요청보다 높은 요청을 행한다. 이러한 이유로, 준비 모듈(122-3)은 애플리케이션(111a)에 대한 요청을 충족시키는 QKD 모듈(130)을 검색한다. 먼저, 준비 모듈(122-3)은 애플리케이션(111a)이 QKD 모듈들(130) 각각을 사용하는 경우에 통신 지연, 최대 속도, 및 최대 속도가 유지되는 시간을 계산한다. 도 19는 키 잔여 수량이 존재하는 경우의 최대 속도, 키 잔여 수량이 존재하는 경우의 송신 시간, 최대 속도의 유지 기간, 유지 기간 후의 속도, 유지 기간 후의 송신 시간, 및 전파 지연의 계산된 값들의 예들을 도시한다.
최대 속도는, 예를 들어, 이하의 수학식 (2-1) 및 수학식 (2-2)로 계산된다.
최대 속도 = min(하나의 송신의 데이터 크기(비트) x 단위 시간당 데이터 송신가능 횟수, 비-암호화의 경우의 라인 속도) (2-1)
단위 시간당 데이터 송신가능 횟수 = (키 잔여 수량(비트) + 키 생성 속도(bps) x 단위 시간) / 하나의 암호화에 대한 암호화 키의 비트 수 (2-2)
단위 시간당 데이터 송신가능 횟수는 키 잔여 수량 및 키 생성 속도로 제한된다. 최대 속도는 단위 시간당 송신가능한 데이터 크기(비트)와 비-암호화의 경우의 라인 속도 중 더 작은 것으로서 계산된다.
단위 시간당 송신가능한 데이터 크기는, 하나의 송신의 데이터 크기와 단위 시간당 송신가능한 데이터 횟수의 곱으로 계산된다. 단위 시간당 데이터 송신가능 횟수는 단위 시간에 존재하는 암호화 키의 수량을 하나의 암호화에 대한 암호화 키의 비트수로 나눔으로써 취득된 값으로 표현된다. 단위 시간에 존재하는 암호화 키의 수량은 키 잔여 수량과 단위 시간당 생성되는 암호화 키의 수량(키 생성 속도 x 단위 시간)의 합으로서 역할을 한다.
1개의 패킷에 대해 128 비트의 암호화 키가 사용된다고 가정한다. 이 경우, 애플리케이션(111a)에 대한 QKD 모듈(130a)의 최대 속도는 "200(바이트) x8x (1024+256) /128 = 16000(bps)"로서 계산된다. QKD 모듈들(130b 및 130c)의 최대 속도들도 동일한 방식으로 계산된다. 또한, 둘 다의 QKD 모듈들(130a 및 130c)이 애플리케이션(111a)에 할당되는 경우의 최대 속도는 "200 x 8 x (1280 + 2560)/128 = 48000"으로 계산된다.
송신 시간은, 예를 들어, 이하의 수학식 (3)으로 계산된다.
송신 시간 = 하나의 송신에 대한 데이터 크기(비트) / 최대 속도(bps) (3)
하나의 송신에 대한 데이터 크기가 최대 속도로 송신될 때까지 필요한 시간을 계산하기 위해, 수학식 (3)에서 하나의 송신에 대한 데이터 크기를 최대 속도로 나눈다.
애플리케이션(111a)에 대한 QKD 모듈(130a)의 송신 시간은 "200(바이트) x8/ 최대 속도(= 16000) = 0.1(초)"이다. QKD 모듈들(130b 및 130c)의 송신 속도들도 동일한 방식으로 계산된다.
둘 다의 QKD 모듈들(130a 및 130c)을 할당하는 경우, 2개의 QKD 모듈(130)의 송신 시간들에서 더 큰 값을 갖는 것이 애플리케이션으로부터의 요청에 대한 응답으로서 설정된다. 따라서, 송신 시간은 QKD 모듈들(130a 및 130c)에서 더 긴 송신 시간인 "0.1"로서 계산된다.
최대 속도의 유지 기간은, 예를 들어, 이하의 수학식 (4)에 의해 계산된다.
최대 속도의 유지 기간 = ((키 잔여 수량/ 하나의 암호화 키에 대한 암호화 키의 비트 수) x 하나의 송신에 대한 데이터 크기(비트) / (비-암호화에서의 라인 속도 - 키 생성 속도 x 하나의 암호화에 대한 암호화 키의 비트 수) (4)
최대 속도의 유지 기간은 전체 키 잔여 수량이 다 소비될 때까지 소비되는 시간을 의미한다. 암호화 키는 소비되는 동안 생성된다. 단위 시간당 생성되는 암호화 키로 암호화된 데이터 수량(bps)이 라인 속도보다 작을 때, 스톡(stock) 내의 암호화 키가 소비된다. 이러한 이유로, 라인 속도에 기초한 단위 시간당 소비되는 데이터 수량과 키 생성 속도에 기초한 단위 시간당 송신되는 데이터 수량 사이의 차이는 스톡 내의 암호화 키로 보상된다. 스톡 내의 암호화 키가 고갈될 때까지 소비된 시간(= 최대 속도의 유지 기간)은, 스톡 내의 암호화 키로 송신될 수 있는 데이터 수량을, 라인 속도에 기초한 단위 시간당 소비되는 데이터 수량과 키 생성 속도에 기초한 단위 시간당 송신되는 데이터 수량 사이의 차이로 나눔으로써 계산되었다.
애플리케이션(111a)에 대한 QKD 모듈(130a)의 최대 속도의 유지 기간은 "(1024/128) x200 x 8/ (1000000 - 200 x 8x (256/128)) = 0.012(초)"이다. QKD 모듈들(130b 및 130c)에 대한 최대 속도의 유지 시간 기간들도 동일한 방식으로 계산된다. 둘 다의 QKD 모듈들(130a 및 130c)을 할당하는 경우의 최대 속도의 유지 기간은 QKD 모듈(130a)에 대한 최대 속도의 유지 기간 및 QKD 모듈(130c)에 대한 최대 속도의 유지 기간 중 더 짧은 것이다.
유지 기간 후의 속도는, 예를 들어, 이하의 수학식 (5)에 의해 계산된다.
유지 기간 후의 속도 = 하나의 송신에 대한 데이터 크기(비트) x 키 생성 속도/ 하나의 암호화에 대한 암호화 키의 비트 수 (5)
애플리케이션(111a)에 대한 QKD 모듈(130a)의 유지 기간 후의 속도는 "200 x 8 x (256/128) = 3200 (bps)"이다. 유지 기간 후의 속도들은 또한 QKD 모듈들(130b 및 130c)에 대해 그리고 둘 다의 QKD 모듈들(130a 및 130c)을 할당하는 경우에 대해 동일한 방식으로 계산된다.
유지 기간 후의 송신 시간은, 예를 들어, 이하의 수학식 (6)에 의해 계산된다.
유지 기간 후의 송신 시간 = 하나의 송신의 데이터 크기(비트)/ 유지 기간 후의 속도(bps) (6)
애플리케이션(111a)에 대한 QKD 모듈(130a)의 유지 기간 후의 송신 시간은 "200(바이트) x8/ 유지 기간 후의 속도 = 0.5(초)"이다. QKD 모듈들(130b 및 130c)의 유지 시간 기간들 후의 송신 시간들도 동일한 방식으로 계산된다.
둘 다의 QKD 모듈들(130a 및 130c)을 할당하는 경우, 2개의 QKD 모듈(130)의 송신 시간들에서 더 큰 값을 갖는 것이 애플리케이션으로부터의 요청에 대한 응답으로서 설정된다. 따라서, 송신 시간은 QKD 모듈들(130a 및 130c)에서 더 긴 송신 시간인 "0.5"로서 계산된다.
통신 지연은, 예를 들어, 송신 시간과 전파 지연의 합에 의해 계산된다. 전파 지연은, 예를 들어, 대향된 QKD 모듈들(130) 사이의 왕복 시간의 1/2만큼 큰 값으로서 계산된다. 예를 들어, 측정된 값이 왕복 시간으로서 사용될 수 있다.
준비 모듈(122-3)은, 전술한 바와 같이 추정(계산)된, 키 잔여 수량이 존재하는 경우의 최대 속도, 키 잔여 수량이 존재하는 경우의 송신 시간, 최대 속도의 유지 기간, 유지 기간 후의 속도, 유지 기간 후의 송신 시간, 및 통신 지연(송신 시간+전파 지연)을 각각의 애플리케이션(111)의 요청과 비교한다.
QKD 모듈들(130)은, 2개의 QKD 모듈(130a 및 130c)을 할당하는 경우에만, 애플리케이션(111a)에 의한 "지연이 1ms 이하이고, 속도가 40kbps 이상이고, 기간이 0.01(초) 이상이다"라는 요청을 충족한다. QKD 모듈(130b)은 애플리케이션(111b)에 의한 "지연이 20ms 이하이고, 속도가 4kbps 이상이고, 기간이 0.002(초) 이상이다"라는 요청을 충족하는 QKD 모듈(130)로서 역할을 한다. 이들 결과에 기초하여, 준비 모듈(122-3)은 애플리케이션(111a)을 QKD 모듈들(130a 및 130c)에 할당하고 애플리케이션(111b)을 QKD 모듈(130b)에 할당하기 위해 분배 리스트(도 20)를 준비한다.
전술한 바와 같이, 제3 실시예에 따르면, 사용될 QKD 모듈은 키 잔여 수량, 키 생성 속도, 및 애플리케이션의 요청에 따라 결정된다. 이 구조는 시스템이 상이한 요청들을 갖는 복수의 애플리케이션을 포함하는 경우에 더 높은 요청을 갖는 애플리케이션에 대한 암호화 키 리소스의 우선적 할당을 가능하게 한다.
전술한 바와 같이, 제1 내지 제3 실시예들은 송신가능 및 수신가능 데이터 수량의 증가를 가능하게 한다.
이하는 도 21을 참조하여, 제1 내지 제3 실시예들에 따른 통신 디바이스 각각의 하드웨어 구성의 설명이다. 도 21은 제1 내지 제3 실시예들에 따른 통신 디바이스들 각각의 하드웨어 구성 예를 예시하는 설명도이다.
제1 내지 제3 실시예들에 따른 통신 디바이스들 각각은, CPU(51) 등의 제어 디바이스, 판독 전용 메모리(ROM)(52) 및 랜덤 액세스 메모리(RAM)(53) 등의 저장 디바이스들, 네트워크에 접속되어 통신을 실행하는 통신 인터페이스(54), 및 유닛들을 접속시키는 버스(61)를 포함한다.
제1 내지 제3 실시예들에 따른 통신 디바이스들 각각에서 실행되는 컴퓨터 프로그램은, 미리 ROM(52) 등에 설치되어 제공된다.
제1 내지 제3 실시예들에 따른 통신 디바이스들 각각에서 실행되는 컴퓨터 프로그램은, CD-ROM(compact disk read only memory), FD(flexible disk), CD-ROM(compact disk recordable) 및 DVD(digital versatile disk) 등의 컴퓨터 판독가능 기록 매체에, 설치가능한 형태 또는 실행가능한 형태의 파일로 기록되고, 컴퓨터 프로그램 제품으로서 제공되도록 구성될 수 있다.
다른 예로서, 제1 내지 제3 실시예들에 따른 통신 디바이스들 각각으로 실행되는 컴퓨터 프로그램은 인터넷과 같은 네트워크에 접속된 컴퓨터에 저장되고 네트워크를 통해 다운로드됨으로써 제공되도록 구성될 수 있다. 제1 내지 제3 실시예들에 따른 통신 디바이스들 각각으로 실행되는 컴퓨터 프로그램은 인터넷 등의 네트워크를 통해 제공 또는 배포되도록 구성될 수 있다.
제1 내지 제3 실시예들에 따른 통신 디바이스들 각각으로 실행되는 컴퓨터 프로그램은, 컴퓨터가 전술한 통신 디바이스의 유닛들로서 기능을 하게 할 수 있다. 컴퓨터에서, CPU(51)는 컴퓨터 프로그램을 컴퓨터 판독가능 저장 매체로부터 주 저장 디바이스 상으로 판독하고 컴퓨터 프로그램을 실행할 수 있다.
특정 실시예들이 설명되었지만, 이러한 실시예들은 단지 예로서 제시되었고, 본 발명의 범위를 제한하도록 의도되지 않는다. 실제로, 본 명세서에 설명된 신규한 실시예들은 다양한 다른 형태들로 구현될 수 있다. 또한, 본 발명들의 사상으로부터 벗어나지 않고 본 명세서에 설명된 실시예들의 형태에서의 다양한 생략들, 치환들 및 변경들이 이루어질 수 있다. 첨부된 청구항들 및 그 등가물들은 본 발명들의 범위 및 사상 내에 속하는 그러한 형태들 또는 수정들을 커버하도록 의도된다.

Claims (11)

  1. 통신 디바이스로서,
    복수의 통신 유닛- 상기 복수의 통신 유닛 각각은, 외부 통신 디바이스와의 양자 키 분배에 의해 암호화 키를 생성하고, 생성된 상기 암호화 키를 사용하여 데이터를 암호화하고, 상기 데이터를 상기 외부 통신 디바이스에 송신하도록 구성됨 -;
    애플리케이션에 의해 송신되도록 요청된 데이터를 복수의 송신 데이터 조각으로 분할하도록 구성된 분할 모듈; 및
    상기 복수의 통신 유닛 중에서, 분할된 상기 복수의 송신 데이터 조각의 송신에 사용될 하나 이상의 통신 유닛을 결정하도록 구성된 결정 모듈을 포함하고,
    상기 분할 모듈은, 각각의 우선순위 레벨들이 제공된 복수의 애플리케이션에 의해 송신되도록 요청된 데이터 각각을 복수의 송신 데이터 조각으로 분할하도록 구성되고,
    상기 결정 모듈은, 상기 복수의 애플리케이션 중에서, 우선순위 레벨이 다른 애플리케이션의 우선순위 레벨보다 높은 애플리케이션에 대해, 상기 암호화 키의 생성 속도와 잔여 수량 중 적어도 하나가 상기 송신 데이터의 송신을 위한 다른 통신 유닛의 것보다 큰 상기 하나 이상의 통신 유닛 각각을 우선적으로 결정하도록 구성되는, 통신 디바이스.
  2. 제1항에 있어서,
    상기 결정 모듈은, 상기 암호화 키의 생성 속도와 잔여 수량 중 적어도 하나가 다른 통신 유닛의 것보다 큰 상기 하나 이상의 통신 유닛 각각이 더 많은 송신 데이터 조각들을 송신하는 방식으로, 상기 복수의 송신 데이터 조각의 송신에 사용될 상기 하나 이상의 통신 유닛을 결정하도록 구성되는, 통신 디바이스.
  3. 제2항에 있어서,
    상기 결정 모듈은, 상기 복수의 통신 유닛 중에서, 상기 송신 데이터의 송신에 필요한 상기 암호화 키의 수량 이상의 잔여 수량을 갖는 통신 유닛을, 상기 송신 데이터의 송신에 사용될 상기 하나 이상의 통신 유닛으로서 결정하도록 구성되는, 통신 디바이스.
  4. 제2항에 있어서,
    상기 결정 모듈은, 상기 복수의 통신 유닛 중에서, 다른 통신 유닛들의 잔여 수량들보다 큰 잔여 수량을 갖는 통신 유닛을, 상기 송신 데이터의 송신에 사용될 상기 하나 이상의 통신 유닛으로서 결정하도록 구성되는, 통신 디바이스.
  5. 제2항에 있어서,
    상기 결정 모듈은, 다른 통신 유닛들의 가중치들보다 큰 가중치를 각각 갖는 상기 하나 이상의 통신 유닛이 송신 데이터 조각들을 더 많이 송신하는 방식으로, 상기 송신 데이터 조각들의 송신에 사용될 상기 하나 이상의 통신 유닛을 결정하도록 구성되고, 상기 가중치는 상기 생성 속도 및 상기 잔여 수량 중 적어도 하나에 기초하여 계산되는, 통신 디바이스.
  6. 삭제
  7. 제1항에 있어서,
    상기 결정 모듈은, 상기 통신 유닛들의 상기 암호화 키의 생성 속도들 및 상기 통신 유닛들의 상기 암호화 키의 잔여 수량들 중 적어도 하나에 기초하여, 상기 애플리케이션에 의해 요청된 통신 속도와 통신 지연 중 적어도 하나를 충족하는 통신 유닛들 중에서 상기 송신 데이터 조각들의 송신에 사용될 상기 하나 이상의 통신 유닛을 결정하도록 구성되는, 통신 디바이스.
  8. 제7항에 있어서,
    상기 결정 모듈은, 상기 생성 속도들 및 상기 잔여 수량들에 기초하여 계산되는 통신 최대 속도들 및 상기 최대 속도들에 기초하여 계산되는 통신 지연들 중 적어도 하나에 기초하여, 상기 애플리케이션에 의해 요청되는 상기 통신 속도와 상기 통신 지연 중 적어도 하나를 충족하는 통신 유닛들 중에서 상기 송신 데이터 조각들의 송신에 사용될 상기 하나 이상의 통신 유닛을 결정하도록 구성되는, 통신 디바이스.
  9. 제1항에 있어서,
    상기 복수의 통신 유닛 각각은, 상기 외부 통신 디바이스에 의해 암호화되고 송신된 제2 송신 데이터를 수신하고, 수신된 상기 제2 송신 데이터를 복호화하도록 구성되고,
    상기 통신 디바이스는 상기 복수의 통신 유닛에 의해 복호화된 상기 제2 송신 데이터를 조합하도록 구성된 조합 모듈을 추가로 포함하는, 통신 디바이스.
  10. 프로그래밍된 명령어들을 포함하는 컴퓨터 판독가능 기록매체로서,
    상기 명령어들은, 외부 통신 디바이스와의 양자 키 분배에 의해 암호화 키를 각각 생성하고, 생성된 상기 암호화 키를 사용하여 데이터를 암호화하고, 상기 데이터를 상기 외부 통신 디바이스에 송신하는 복수의 통신 유닛을 포함하는 통신 디바이스에 포함되는 컴퓨터로 하여금:
    애플리케이션에 의해 송신되도록 요청된 데이터를 복수의 송신 데이터 조각으로 분할하는 것; 및
    상기 복수의 통신 유닛 중에서, 분할된 상기 복수의 송신 데이터 조각의 송신에 사용될 하나 이상의 통신 유닛을 결정하는 것을 실행하게 하고,
    상기 분할하는 것은, 각각의 우선순위 레벨들이 제공된 복수의 애플리케이션에 의해 송신되도록 요청된 데이터 각각을 복수의 송신 데이터 조각으로 분할하는 것을 포함하고,
    상기 결정하는 것은, 상기 복수의 애플리케이션 중에서, 우선순위 레벨이 다른 애플리케이션의 우선순위 레벨보다 높은 애플리케이션에 대해, 상기 암호화 키의 생성 속도와 잔여 수량 중 적어도 하나가 상기 송신 데이터의 송신을 위한 다른 통신 유닛의 것보다 큰 상기 하나 이상의 통신 유닛 각각을 우선적으로 결정하는 것을 포함하는, 컴퓨터 판독가능 기록매체.
  11. 통신 시스템으로서,
    데이터를 송신하도록 구성된 송신 디바이스; 및
    상기 데이터를 수신하도록 구성된 수신 디바이스를 포함하고,
    상기 송신 디바이스는,
    복수의 통신 유닛- 상기 복수의 통신 유닛 각각은, 외부 통신 디바이스와의 양자 키 분배에 의해 암호화 키를 생성하고, 생성된 상기 암호화 키를 사용하여 데이터를 암호화하고, 상기 데이터를 상기 수신 디바이스에 송신하도록 구성됨 -;
    애플리케이션에 의해 송신되도록 요청된 데이터를 복수의 송신 데이터 조각으로 분할하도록 구성된 분할 모듈; 및
    상기 복수의 통신 유닛 중에서, 분할된 상기 복수의 송신 데이터 조각의 송신에 사용될 하나 이상의 통신 유닛을 결정하도록 구성된 결정 모듈을 포함하고,
    상기 분할 모듈은, 각각의 우선순위 레벨들이 제공된 복수의 애플리케이션에 의해 송신되도록 요청된 데이터 각각을 복수의 송신 데이터 조각으로 분할하도록 구성되고,
    상기 결정 모듈은, 상기 복수의 애플리케이션 중에서, 우선순위 레벨이 다른 애플리케이션의 우선순위 레벨보다 높은 애플리케이션에 대해, 상기 암호화 키의 생성 속도와 잔여 수량 중 적어도 하나가 상기 송신 데이터의 송신을 위한 다른 통신 유닛의 것보다 큰 상기 하나 이상의 통신 유닛 각각을 우선적으로 결정하도록 구성되는, 통신 시스템.
KR1020210111583A 2020-10-26 2021-08-24 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템 KR102612892B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2020-179079 2020-10-26
JP2020179079A JP7414688B2 (ja) 2020-10-26 2020-10-26 通信装置、通信方法、プログラムおよび通信システム

Publications (2)

Publication Number Publication Date
KR20220055403A KR20220055403A (ko) 2022-05-03
KR102612892B1 true KR102612892B1 (ko) 2023-12-13

Family

ID=77367353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210111583A KR102612892B1 (ko) 2020-10-26 2021-08-24 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템

Country Status (5)

Country Link
US (1) US11824975B2 (ko)
EP (2) EP4329265A2 (ko)
JP (1) JP7414688B2 (ko)
KR (1) KR102612892B1 (ko)
CN (1) CN114499830B (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366448B1 (ko) 2006-04-25 2014-02-25 마이크로소프트 코포레이션 무선 통신 방법, 무선 통신 시스템 및 컴퓨터 판독가능 매체
US20160234018A1 (en) * 2015-02-05 2016-08-11 Kabushiki Kaisha Toshiba Quantum communication system and a quantum communication method
JP2019161557A (ja) * 2018-03-15 2019-09-19 株式会社東芝 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5121231B2 (ja) * 2004-06-28 2013-01-16 パナソニック株式会社 データ処理装置
EP2077636A4 (en) * 2006-10-24 2013-10-16 Mitsubishi Electric Corp TRANSMISSION DEVICE, RECEIVER DEVICE, COMMUNICATION METHOD AND COMMUNICATION SYSTEM
ES2662493T3 (es) * 2007-11-02 2018-04-06 Qualcomm Incorporated Sistema configurable de gestión de arbitraje de eventos y recursos
JP2009218744A (ja) * 2008-03-07 2009-09-24 Nec Corp 微弱光通信のフレーム同期方法およびシステム
JP4601726B2 (ja) * 2009-01-27 2010-12-22 三菱電機株式会社 送信装置、送受信装置、通信システム、および通信方法
JP5672425B2 (ja) 2009-10-07 2015-02-18 日本電気株式会社 暗号通信システムおよび暗号通信方法
JP2012010052A (ja) * 2010-06-24 2012-01-12 Sony Corp 情報処理装置および方法、プログラム、並びに、情報処理システム
KR101437364B1 (ko) * 2011-07-19 2014-09-03 에스케이텔레콤 주식회사 송신장치 및 수신장치와 그 장치의 동작 방법
JP5915015B2 (ja) 2011-07-25 2016-05-11 ソニー株式会社 通信装置及び通信方法、並びに通信システム
JP6211963B2 (ja) * 2014-03-18 2017-10-11 株式会社東芝 受信機、送信機、通信システムおよび通信方法
JP5771308B1 (ja) 2014-04-04 2015-08-26 日本電信電話株式会社 ネットワーク装置及び同期制御方法
CN105827397B (zh) 2015-01-08 2019-10-18 阿里巴巴集团控股有限公司 基于可信中继的量子密钥分发系统、方法及装置
JP2017169187A (ja) * 2016-03-14 2017-09-21 株式会社東芝 量子鍵配送装置、量子鍵配送システム、および量子鍵配送方法
JP2018033079A (ja) * 2016-08-26 2018-03-01 株式会社東芝 通信装置、通信システム及び通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366448B1 (ko) 2006-04-25 2014-02-25 마이크로소프트 코포레이션 무선 통신 방법, 무선 통신 시스템 및 컴퓨터 판독가능 매체
US20160234018A1 (en) * 2015-02-05 2016-08-11 Kabushiki Kaisha Toshiba Quantum communication system and a quantum communication method
JP2019161557A (ja) * 2018-03-15 2019-09-19 株式会社東芝 暗号通信装置、暗号通信システム、暗号通信方法及びプログラム

Also Published As

Publication number Publication date
CN114499830A (zh) 2022-05-13
CN114499830B (zh) 2024-01-02
EP3989476A1 (en) 2022-04-27
US11824975B2 (en) 2023-11-21
JP7414688B2 (ja) 2024-01-16
KR20220055403A (ko) 2022-05-03
JP2022070059A (ja) 2022-05-12
US20220131689A1 (en) 2022-04-28
EP4329265A2 (en) 2024-02-28
EP3989476B1 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
US10630464B2 (en) Communication device, communication system, and communication method allocating shared keys to plural channels
Qu et al. Delay-aware scheduling and resource optimization with network function virtualization
EP3417569B1 (en) System and method for quantum key distribution
US20220006627A1 (en) Quantum key distribution node apparatus and method for quantum key distribution thereof
JP5624526B2 (ja) 鍵共有装置、鍵共有方法および鍵共有プログラム
Tysowski et al. The engineering of a scalable multi-site communications system utilizing quantum key distribution (QKD)
US9306734B2 (en) Communication device, key generating device, and computer readable medium
JP6192998B2 (ja) 通信装置、通信方法、プログラムおよび通信システム
JP2015179974A (ja) 通信装置、通信方法およびプログラム
US20140023192A1 (en) Communication device, communication method, and communication system
EP3541007B1 (en) Cryptographic communication apparatus, cryptographic communication system, cryptographic communication method and computer-readable medium
US11652619B2 (en) System and method for optimizing the routing of quantum key distribution (QKD) key material in a network
JP2019050453A (ja) 通信装置、通信方法、プログラムおよび通信システム
KR102612892B1 (ko) 통신 디바이스, 컴퓨터 판독가능 매체, 및 통신 시스템
US11652620B2 (en) System and method for proactively buffering quantum key distribution (QKD) key material
KR20130077201A (ko) IPSec VPN에서 로드 분산을 통해 암호화 통신을 수행하기 위한 방법 및 장치
US11012427B2 (en) RSA trusted networks: RSA packet frames for advanced networking switches
EP3343992B1 (fr) Procédé et dispositif d' optimisation de la coexistence de pico-réseaux radioélectriques
JP2023071515A (ja) 量子暗号ストレージシステム、分散制御装置及びプログラム
Sharma et al. Impact of fragmentation in quantum signal channel of quantum key distribution enabled optical networks
JP2017038413A (ja) 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム
JP2019057846A (ja) パケット集約装置、パケット分割装置、パケット通信システム、プログラム、パケット生成装置、パケット生成方法及び通信方法
WO2010109763A1 (ja) 暗号化通信システムにおける通信方法および装置
JP2015097423A (ja) 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right