KR102153317B1 - Encryption apparatus based on quantum random number - Google Patents

Encryption apparatus based on quantum random number Download PDF

Info

Publication number
KR102153317B1
KR102153317B1 KR1020180070855A KR20180070855A KR102153317B1 KR 102153317 B1 KR102153317 B1 KR 102153317B1 KR 1020180070855 A KR1020180070855 A KR 1020180070855A KR 20180070855 A KR20180070855 A KR 20180070855A KR 102153317 B1 KR102153317 B1 KR 102153317B1
Authority
KR
South Korea
Prior art keywords
random number
quantum random
encryption
key
security
Prior art date
Application number
KR1020180070855A
Other languages
Korean (ko)
Other versions
KR20190143196A (en
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 시옷랩주식회사
Priority to KR1020180070855A priority Critical patent/KR102153317B1/en
Publication of KR20190143196A publication Critical patent/KR20190143196A/en
Application granted granted Critical
Publication of KR102153317B1 publication Critical patent/KR102153317B1/en

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/10Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Optical Communication System (AREA)

Abstract

본 발명은 양자 난수열 기반의 암호 장치에 관한 것으로, 양자 난수열을 생성하는 양자 난수 발생기, 특정 접근권한을 통해 접근할 수 있는 보안영역과 적어도 하나의 응용 프로그램을 저장하는 일반영역으로 구분된 메모리 및 상기 특정 접근권한을 기초로 상기 보안영역에 접근하여 암호화키 또는 복호화키를 획득하고 상기 양자 난수 발생기로부터 양자 난수를 수신하여 복수의 암호 알고리즘들 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세서를 포함한다. 따라서, 본 발명은 양자 난수 발생기에 의해 생성된 양자 난수열을 기반하여 암호장치를 동작시킴으로써 보안성을 강화시킬 수 있다.The present invention relates to a quantum random number sequence-based encryption device, comprising: a quantum random number generator for generating a quantum random number sequence, a security area accessible through a specific access right, and a memory divided into a general area storing at least one application program And accessing the security area based on the specific access right to obtain an encryption key or a decryption key, and receiving a quantum random number from the quantum random number generator to generate a random number based on any one of a plurality of encryption algorithms, electronic signature, and key. It includes a processor that performs matching or authentication. Accordingly, the present invention can enhance security by operating an encryption device based on a quantum random number sequence generated by a quantum random number generator.

Description

양자 난수열 기반의 암호 장치{ENCRYPTION APPARATUS BASED ON QUANTUM RANDOM NUMBER}Encryption device based on quantum random number sequence {ENCRYPTION APPARATUS BASED ON QUANTUM RANDOM NUMBER}

본 발명은 양자 난수열 기반의 암호 기술에 관한 것으로, 보다 상세하게는 양자 난수 발생기에 의해 생성된 양자 난수열을 기반하여 암호장치를 동작시킴으로써 보안성을 강화시킬 수 있는 양자 난수열 기반의 암호 장치에 관한 것이다.The present invention relates to a quantum random number sequence-based encryption technology, and more particularly, a quantum random number sequence-based encryption device capable of enhancing security by operating an encryption device based on a quantum random number sequence generated by a quantum random number generator. It is about.

최근 사물인터넷(IoT, Internet of Thing)이 널리 보급되면서 IoT 보안에 대한 중요성이 강조되고 있고, 양자 난수 발생기(Quantum Random Number Generator)를 활용한 암호 기술의 중요성이 점점 증가하고 있다. 양자 난수는 사람이 아닌 순수 자연 현상의 물리계에서 추출해 생성하는 난수 체계에 해당한다. 양자역학은 10 나노미터(nm, 10억분의 1미터) 이하의 미시 세계에서 관측되는 불확실한 현상을 의미하고, 일상에서 관측할 수 있는 예측 가능한 물리 현상과 달리 확률에 의존하는 특징을 가지며, 양자 난수는 양자 역학적 현상을 활용한다.Recently, as the Internet of Things (IoT) is widely spread, the importance of IoT security is being emphasized, and the importance of cryptographic technology using a quantum random number generator is increasing. Quantum random numbers correspond to a system of random numbers generated by extracting from the physical system of pure natural phenomena, not humans. Quantum mechanics refers to uncertain phenomena observed in the microscopic world of less than 10 nanometers (nm, 1 billionth of a meter). Unlike predictable physical phenomena that can be observed in everyday life, quantum mechanics has a characteristic that depends on probability. Utilizes quantum mechanical phenomena.

한국 공개특허공보 제10-2008-0025151(2008.03.19)호는 양자 난수 발생기에 관한 것으로, 광 결합기는 입력 포트와 2개의 출력 포트들; 입력 포트에 접속되어, 입력 포트로부터 출력 포트들로 전달되는 단일 광자를 방출하는 단일 광자 소스; 2개의 출력 포트들의 각각에 접속되어, 출력 포트들 중 하나로부터 나오는 광자를 검출하는 단일 광자 검출기; 및 단일 광자 검출기의 검출 결과에 따라 난수들을 발생시키는 수단을 갖는다. Korean Patent Laid-Open Publication No. 10-2008-0025151 (2008.03.19) relates to a quantum random number generator, wherein an optical coupler includes an input port and two output ports; A single photon source connected to the input port and emitting a single photon transmitted from the input port to the output ports; A single photon detector connected to each of the two output ports to detect a photon coming out of one of the output ports; And means for generating random numbers according to the detection result of the single photon detector.

한국 공개특허공보 제10-2003-0085094(2003.11.01)호는 암호화 장치에 관한 것으로, 난수 열을 생성하는 데이터 은닉용 함수 f8에 의해 미리 난수 열을 생성하여 난수 열 기억부(버퍼)에 기억해 두고, 데이터(메시지)가 입력된 경우에 난수 열 기억부에 기억한 난수 열을 획득하여 배타적 논리합 연산 회로에서 데이터(메시지)를 암호화하여 암호문을 작성하거나 암호문이 입력된 경우에 배타적 논리합 연산 회로에서 난수 열 기억부(버퍼)로부터 난수 열을 판독하여 데이터(메시지)로 복호화한다.Korean Patent Laid-Open Publication No. 10-2003-0085094 (2003.11.01) relates to an encryption device. A random number sequence is generated in advance by a data hiding function f8 that generates a random number sequence and stored in a random number column storage unit (buffer). When data (message) is input, the random number column stored in the random number column storage unit is obtained and the data (message) is encrypted in the exclusive OR operation circuit to create a ciphertext, or when the ciphertext is input, the exclusive OR operation circuit The random number sequence is read from the random number sequence storage unit (buffer) and decoded into data (message).

한국 공개특허공보 제10-2008-0025151(2008.03.19)호Korean Patent Application Publication No. 10-2008-0025151 (2008.03.19) 한국 공개특허공보 제10-2003-0085094(2003.11.01)호Korean Patent Application Publication No. 10-2003-0085094 (2003.11.01)

본 발명의 일 실시예는 양자 난수 발생기에 의해 생성된 양자 난수열을 이용하여 암호과정을 수행함으로써 보안성을 강화시킬 수 있는 양자 난수열 기반의 암호 장치를 제공하고자 한다.An embodiment of the present invention is to provide a quantum random number sequence-based encryption apparatus capable of enhancing security by performing an encryption process using a quantum random number sequence generated by a quantum random number generator.

본 발명의 일 실시예는 암호연산 과정에서 필요로 하는 잡음원 및 양자 난수를 기초로 난수발생, 전자서명 또는 키생성 과정을 수행할 수 있는 양자 난수열 기반의 암호 장치를 제공하고자 한다.An embodiment of the present invention is to provide a quantum random number sequence-based encryption device capable of performing a random number generation, electronic signature, or key generation process based on a noise source and a quantum random number required in a cryptographic operation process.

본 발명의 일 실시예는 메모리 접근 및 암복호화에 사용되는 암호 알고리즘을 제한하여 보안성을 강화할 수 있는 양자 난수열 기반의 암호 장치를 제공하고자 한다.An embodiment of the present invention is to provide a quantum random number sequence-based encryption device capable of enhancing security by limiting encryption algorithms used for memory access and encryption/decryption.

실시예들 중에서, 양자 난수열 기반의 암호 장치는 양자 난수열을 생성하는 양자 난수 발생기, 특정 접근권한을 통해 접근할 수 있는 보안영역과 적어도 하나의 응용 프로그램을 저장하는 일반영역으로 구분된 메모리 및 상기 특정 접근권한을 기초로 상기 보안영역에 접근하여 암호화키 또는 복호화키를 획득하고 상기 양자 난수 발생기로부터 양자 난수를 수신하여 복수의 암호 알고리즘들 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세서를 포함한다.Among the embodiments, a quantum random number sequence-based encryption device includes a quantum random number generator for generating a quantum random number sequence, a memory divided into a security area accessible through a specific access right and a general area storing at least one application program, and By accessing the security area based on the specific access right, an encryption key or a decryption key is obtained, and a quantum random number is received from the quantum random number generator to generate a random number based on any one of a plurality of encryption algorithms, digital signature, and key matching. Or a processor that performs authentication.

상기 메모리는 제1 접근권한을 통해 접근할 수 있는 제1 보안 파티션과 상기 제1 접근권한보다 더 높은 보안성을 요구하는 제2 접근권한을 통해 접근할 수 있는 제2 보안 파티션으로 구분되는 상기 보안영역을 포함할 수 있다.The memory is divided into a first secure partition accessible through a first access right and a second secure partition accessible through a second access right requiring higher security than the first access right. It can include areas.

상기 메모리는 상기 제1 보안 파티션에 암호화키를 저장하고 상기 제2 보안 파티션에 복호화키를 저장할 수 있다.The memory may store an encryption key in the first secure partition and a decryption key in the second secure partition.

상기 프로세서는 상기 적어도 하나의 응용 프로그램에 관한 입력 및 출력 데이터에 대해 상기 전자서명을 수행할 수 있다.The processor may perform the electronic signature on input and output data related to the at least one application program.

상기 프로세서는 상기 양자 난수열에서 선택된 적어도 하나의 양자 난수를 기초로 상기 암호화키 및 상기 복호화키를 생성하여 상기 보안영역에 저장할 수 있다.The processor may generate the encryption key and the decryption key based on at least one quantum random number selected from the quantum random number sequence and store the generated encryption key and the decryption key in the secure area.

상기 프로세서는 상기 양자 난수를 기초로 상기 복수의 DRBG(Deterministic Random Bit Generator)들 중 어느 하나를 선택하여 상기 난수발생을 수행할 수 있다.The processor may generate the random number by selecting any one of the plurality of DRBGs (Deterministic Random Bit Generators) based on the quantum random number.

상기 프로세서는 상기 난수발생, 상기 전자서명, 상기 키일치 또는 인증 과정에서 생성된 잡음원을 상기 보안영역의 제3 보안 파티션에 저장할 수 있다.The processor may store the random number generation, the electronic signature, the key match, or a noise source generated during an authentication process in a third security partition of the security area.

상기 프로세서는 상기 잡음원을 상기 양자 난수 발생기에 입력으로 제공하여 출력된 양자 난수를 기초로 개체 또는 메시지에 대한 상기 인증을 수행할 수 있다.The processor may provide the noise source as an input to the quantum random number generator and perform the authentication on the entity or message based on the output quantum random number.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since it does not mean that a specific embodiment should include all of the following effects or only the following effects, it should not be understood that the scope of the rights of the disclosed technology is limited thereby.

본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치는 암호연산 과정에서 필요로 하는 잡음원 및 양자 난수를 기초로 난수발생, 전자서명 또는 키생성 과정을 수행할 수 있다.The encryption apparatus based on a quantum random number sequence according to an embodiment of the present invention may perform a random number generation, an electronic signature, or a key generation process based on a noise source and a quantum random number required in a cryptographic operation process.

본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치는 메모리 접근 및 암복호화에 사용되는 암호 알고리즘을 제한하여 보안성을 강화할 수 있다.The encryption device based on a quantum random number sequence according to an embodiment of the present invention may enhance security by limiting encryption algorithms used for memory access and encryption/decryption.

도 1은 본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치를 설명하는 도면이다.
도 2는 도 1에 있는 프로세서의 기능 요소를 나타내는 블록도이다.
도 3은 도 1에 있는 암호 장치에서 수행되는 양자 난수열 기반의 암호 과정을 설명하는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치에서 수행되는 암호 과정을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치를 외부 장치와 결합하기 위한 구성을 설명하는 도면이다.
1 is a diagram illustrating an encryption apparatus based on a quantum random number sequence according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating functional elements of the processor in FIG. 1.
3 is a flowchart illustrating a quantum random number sequence-based encryption process performed by the encryption device of FIG. 1.
4 is a flowchart illustrating an encryption process performed in an encryption apparatus based on a quantum random number sequence according to an embodiment of the present invention.
5 is a diagram illustrating a configuration for combining an encryption device based on a quantum random number sequence with an external device according to an embodiment of the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is merely an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, since the embodiments can be variously changed and have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, since the object or effect presented in the present invention does not mean that a specific embodiment should include all of them or only those effects, the scope of the present invention should not be understood as being limited thereto.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are used to distinguish one component from other components, and the scope of rights is not limited by these terms. For example, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that although it may be directly connected to the other component, another component may exist in the middle. On the other hand, when it is mentioned that a certain component is "directly connected" to another component, it should be understood that no other component exists in the middle. On the other hand, other expressions describing the relationship between the constituent elements, that is, "between" and "just between" or "neighboring to" and "directly neighboring to" should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions are to be understood as including plural expressions unless the context clearly indicates otherwise, and terms such as “comprise” or “have” refer to implemented features, numbers, steps, actions, components, parts, or It is to be understood that it is intended to designate that a combination exists and does not preclude the presence or addition of one or more other features or numbers, steps, actions, components, parts, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (for example, a, b, c, etc.) is used for convenience of explanation, and the identification code does not describe the order of each step, and each step has a specific sequence clearly in context. Unless otherwise stated, it may occur differently from the stated order. That is, each of the steps may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.The present invention can be embodied as computer-readable codes on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices storing data that can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the field to which the present invention belongs, unless otherwise defined. Terms defined in commonly used dictionaries should be construed as having meanings in the context of related technologies, and cannot be construed as having an ideal or excessive formal meaning unless explicitly defined in the present application.

공개키 암호는 비밀키 암호와 달리 송신자와 수신자가 다른 키를 사용하여 비밀 통신을 수행할 수 있다. 송신자는 수신자의 공개키에 해당하는 정보를 사용하여 데이터를 암호화하여 네트워크를 통해 전송할 수 있고, 수신자는 자신의 공개키에 해당하는 비밀키로 암호화된 데이터를 복호화하여 평문을 복원할 수 있다. 공개키 암호는 다른 사용자와 키를 공유하지 않더라도 암호를 통한 안전한 통신이 가능하다는 장점을 가지고 있다. Unlike private key cryptography, public key cryptography allows the sender and receiver to perform secret communication using different keys. The sender can encrypt data using the information corresponding to the receiver's public key and transmit it through the network, and the receiver can restore the plaintext by decrypting the data encrypted with the private key corresponding to his public key. Public key cryptography has the advantage of enabling secure communication through cryptography even if the key is not shared with other users.

공개키 암호를 사용하는 경우 각 사용자는 자신에게 전송하기 위해 사용될 키를 공개하고, 공개된 키 정보로 암호화된 정보를 복호화할 수 있는 키를 비밀로 보유할 수 있다. 따라서, 공개키 암호는 누구나 암호화할 수 있지만 공개키에 대응되는 비밀키를 가진 당사자만 복호화할 수 있다는 특징을 가지고 있다. 대표적인 공개키 암호 알고리즘은 RSA(Rivest, Shamir and Adleman), ElGamal, ECC(Elliptic Curve Cryptosystem), 전자서명 등이 있다.In the case of using public key encryption, each user can disclose a key to be used for transmission to himself/herself and secretly hold a key capable of decrypting information encrypted with the public key information. Therefore, although anyone can encrypt public key cryptography, it has the characteristic that only the party with the private key corresponding to the public key can decrypt it. Representative public key cryptographic algorithms include RSA (Rivest, Shamir and Adleman), ElGamal, ECC (Elliptic Curve Cryptosystem), and electronic signatures.

대칭키 암호는 암호화에 사용되는 암호화키와 복호화에 사용되는 복호화키가 동일하다는 특징이 있으며, 이 키를 송신자와 수신자 이외에는 노출되지 않도록 비밀로서 관리해야 한다. 대칭키 암호는 키를 비밀로서 보관해야 한다는 의미에서 비밀키(Secret-key) 암호라고 한다. 대칭키 암호는 암호화 연산 속도가 빨라서 효율적인 암호 시스템을 구축할 수 있는 장점을 가지고 있다. Symmetric key cryptography has the characteristic that the encryption key used for encryption and the decryption key used for decryption are the same, and this key must be managed as a secret so that it is not exposed to anyone other than the sender and receiver. Symmetric key cryptography is called secret-key cryptography in the sense that the key must be kept secret. Symmetric key cryptography has the advantage of constructing an efficient cryptographic system because the cryptographic operation speed is fast.

대칭키 암호는 알고리즘의 내부 구조가 간단한 치환과 전치의 조합으로 되어 있어 알고리즘을 쉽게 개발할 수 있고 컴퓨터 시스템에서 빠르게 동작될 수 있다. 대칭키 암호는 송신자 및 수신자 간에 동일한 키를 공유해야 하므로 많은 사람들과의 정보 교환 시 많은 키를 생성하고 유지 및 관리해야 하는 어려움이 있다. 대칭키 암호는 데이터를 변환하는 방법에 따라 블록 암호와 스트림 암호로 구분될 수 있다. 대표적인 블록 암호는 DES(Data Encryption Standard), AES(Advanced Encryption Standard), SEED, HIGHT(HIGh security and light weigHT), LEA(Lightweight Encryption Algorithm), ARIA 등이 있고, 대표적인 스트림 암호는 A5/1, A5/2, A5/3 등이 있다.Symmetric key cryptography has a combination of simple substitution and transposition in the internal structure of the algorithm, so it is easy to develop an algorithm and can be operated quickly in a computer system. Since the symmetric key cryptography needs to share the same key between the sender and the receiver, there is a difficulty in generating, maintaining, and managing many keys when exchanging information with many people. Symmetric key ciphers can be classified into block ciphers and stream ciphers depending on how data is converted. Typical block ciphers include DES (Data Encryption Standard), AES (Advanced Encryption Standard), SEED, HIGHT (HIGh security and light weigHT), LEA (Lightweight Encryption Algorithm), ARIA, etc. Typical stream ciphers are A5/1, A5 /2, A5/3, etc.

도 1은 본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치를 설명하는 도면이다.1 is a diagram illustrating an encryption apparatus based on a quantum random number sequence according to an embodiment of the present invention.

도 1을 참조하면, 양자 난수열 기반의 암호 장치(이하, 암호 장치라 한다.)(100)는 메모리(110), 양자 난수 발생기(130) 및 프로세서(150)를 포함할 수 있다.Referring to FIG. 1, an encryption device based on a quantum random number sequence (hereinafter, referred to as an encryption device) 100 may include a memory 110, a quantum random number generator 130, and a processor 150.

메모리(110)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 암호 장치(100)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The memory 110 is implemented as a nonvolatile memory such as a solid state disk (SSD) or a hard disk drive (HDD), and may include an auxiliary storage device used to store all data necessary for the encryption device 100, and RAM A main memory device implemented with volatile memory such as (Random Access Memory) may be included.

일 실시예에서, 메모리(110)는 특정 접근권한을 통해 접근할 수 있는 보안영역과 적어도 하나의 응용 프로그램을 저장하는 일반영역으로 구분될 수 있다. 보안영역은 비밀이 보장되어야 하는 데이터를 저장하기 위한 메모리(110)의 특정 영역에 해당할 수 있고, 저장되는 데이터의 보안성에 따라 복수의 보안 파티션들로 구분될 수 있다. 보안 파티션은 프로세서(150)의 관리하에 접근 가능 상태에서만 접근할 수 있는 메모리(110)의 일부 영역에 해당할 수 있다. In an embodiment, the memory 110 may be divided into a security area accessible through a specific access right and a general area storing at least one application program. The security area may correspond to a specific area of the memory 110 for storing data whose confidentiality is to be guaranteed, and may be divided into a plurality of security partitions according to the security of the stored data. The secure partition may correspond to a partial area of the memory 110 that can be accessed only in an accessible state under the management of the processor 150.

일반영역은 특별한 접근권한 없이도 자유롭게 접근하여 데이터를 읽고 쓸 수 있는 메모리(110)의 나머지 영역에 해당할 수 있다. 암호 장치(100)는 메모리(110)의 일반영역을 통해 적어도 하나의 응용 프로그램을 저장할 수 있도록 함으로써 암호 장치(100)에 이식성을 부여할 수 있다.The general area may correspond to the remaining area of the memory 110 in which data can be read and written by freely accessing without special access rights. The encryption device 100 may provide portability to the encryption device 100 by allowing at least one application program to be stored through the general area of the memory 110.

일 실시예에서, 메모리(110)는 제1 접근권한을 통해 접근할 수 있는 제1 보안 파티션과 제1 접근권한보다 더 높은 보안성을 요구하는 제2 접근권한을 통해 접근할 수 있는 제2 보안 파티션으로 구분되는 보안영역을 포함할 수 있다. 메모리(110)의 보안영역은 복수의 보안 파티션들로 구분될 수 있는데, 제1 보안 파티션은 제1 접근권한이 있어야 접근할 수 있고, 제2 보안 파티션은 제2 접근권한이 있어야 접근할 수 있으며, 제2 접근권한은 제1 접근권한보다 더 높은 보안성을 요구할 수 있다. 따라서, 제2 보안 파티션에 저장되는 데이터는 제1 보안 파티션에 저장되는 데이터보다 더 신중하게 보호될 필요가 있는 데이터에 해당할 수 있다.In one embodiment, the memory 110 has a first security partition that can be accessed through a first access right and a second security that can be accessed through a second access right that requires higher security than the first access right. It may include a security area divided by a partition. The security area of the memory 110 may be divided into a plurality of security partitions. The first security partition can be accessed only with the first access right, and the second security partition can be accessed only with the second access right. In addition, the second access right may require higher security than the first access right. Accordingly, data stored in the second security partition may correspond to data that needs to be more carefully protected than data stored in the first security partition.

일 실시예에서, 메모리(110)는 제1 보안 파티션에 암호화키를 저장하고 제2 보안 파티션에 복호화키를 저장할 수 있다. 암호 장치(100)는 복수의 암호 알고리즘을 사용하여 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 암호화키 및 복호화키는 암호 장치(100)가 난수발생, 전자서명, 키일치 또는 인증을 수행하는 경우 사용하는 비밀키에 해당할 수 있다.In one embodiment, the memory 110 may store the encryption key in the first secure partition and the decryption key in the second secure partition. The encryption device 100 may perform random number generation, electronic signature, key matching, or authentication using a plurality of encryption algorithms. The encryption key and the decryption key may correspond to a secret key used when the encryption device 100 performs random number generation, digital signature, key matching, or authentication.

일 실시예에서, 메모리(110)는 보안영역 및 일반영역을 물리적으로 독립된 하드웨어로 구현될 수 있고, 보안영역을 구성하는 복수의 파티션들도 물리적으로 독립된 하드웨어로 구현될 수 있다. 따라서, 제2 접근권한이 제1 접근권한보다 더 높은 보안성을 가지고 있다고 하더라도 제2 접근권한을 통해서 제1 보안 파티션에 접근하는 것은 불가능할 수 있다.In one embodiment, the memory 110 may be implemented as physically independent hardware for the security area and the general area, and a plurality of partitions constituting the security area may be implemented as physically independent hardware. Accordingly, even if the second access right has higher security than the first access right, it may be impossible to access the first secure partition through the second access right.

양자 난수 발생기(130)는 양자 난수열을 출력으로 제공할 수 있는 하드웨어 칩에 해당할 수 있다. 예를 들어, 양자 난수 발생기(130)는 3(cm) * 3(cm) 또는 4 * 4의 크기를 갖는 하드웨어 칩으로서 암호 장치(100)를 구성할 수 있다. 양자 난수 발생기(130)는 양자역학적 성질을 이용하여 난수를 생성하는 장치에 해당하고, 보다 구체적으로, 빛의 랜덤성을 이용하거나 또는 방사성 동위원소의 자연붕괴 현상을 이용하여 구현될 수 있다.The quantum random number generator 130 may correspond to a hardware chip capable of providing a quantum random number sequence as an output. For example, the quantum random number generator 130 may configure the encryption device 100 as a hardware chip having a size of 3 (cm) * 3 (cm) or 4 * 4. The quantum random number generator 130 corresponds to a device that generates a random number using quantum mechanical properties, and more specifically, may be implemented by using randomness of light or natural decay of radioactive isotopes.

일 실시예에서, 양자 난수 발생기(130)는 별도의 외부 잡음원 없이 독립적인 동작을 통해 양자 난수를 생성하도록 구현될 수 있고, 외부 잡음원을 이용하여 양자 난수를 생성하도록 구현될 수 있다. 양자 난수 발생기(130)는 양자 난수열을 제공하여 암호 장치(100)가 난수발생, 전자서명, 키일치 또는 인증을 수행하는데 사용하도록 할 수 있다.In an embodiment, the quantum random number generator 130 may be implemented to generate a quantum random number through an independent operation without a separate external noise source, and may be implemented to generate a quantum random number using an external noise source. The quantum random number generator 130 may provide a sequence of quantum random numbers so that the encryption device 100 can use it to generate random numbers, electronic signatures, key matching, or authentication.

프로세서(150)는 암호 장치(100)의 양자 난수열 기반의 암호 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(110)를 관리할 수 있으며, 메모리(110)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(150)는 암호 장치(100)의 동작 전반을 제어할 수 있고, 메모리(110), 양자 난수 발생기(130)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(150)는 암호 장치(100)의 MCU(Micro Controller Unit)로 구현될 수 있다. The processor 150 can execute the encryption procedure based on the quantum random number sequence of the encryption device 100, manage the memory 110 that is read or written throughout the process, and can manage the volatile memory in the memory 110 You can schedule the synchronization time between the and nonvolatile memory. The processor 150 may control the overall operation of the encryption device 100 and may be electrically connected to the memory 110 and the quantum random number generator 130 to control data flow between them. The processor 150 may be implemented as a micro controller unit (MCU) of the encryption device 100.

일 실시예에서, 프로세서(150)는 메모리(110)의 보안영역에 대한 접근을 제어할 수 있다. 프로세서(150)는 특정 프로세스가 메모리(110)의 보안영역에 대한 접근을 요청한 경우 해당 프로세스의 접근권한을 확인하여 접근에 대한 허용여부를 결정할 수 있다. 보다 구체적으로, 프로세서(150)는 특정 프로세스가 메모리(110)의 보안영역에 대한 접근을 요청한 경우 해당 접근요청을 수신하여 접근요청의 대상이 되는 보안영역 상의 특정 영역을 결정하고 해당 특정 영역의 보안성을 판단할 수 있다. 프로세서(150)는 해당 특정 영역의 보안성을 기초로 해당 특정 영역의 접근을 위해 필요한 접근권한을 결정하고, 접근을 요청한 프로세스가 접근권한을 가지고 있는지 확인하여 해당 프로세스의 접근여부를 최종 결정할 수 있다.In an embodiment, the processor 150 may control access to the secure area of the memory 110. When a specific process requests access to the security area of the memory 110, the processor 150 may determine whether to allow access by checking the access rights of the process. More specifically, when a specific process requests access to the security area of the memory 110, the processor 150 receives the access request, determines a specific area on the security area subject to the access request, and secures the specific area. Can judge sex. The processor 150 may determine access rights necessary for access to the specific area based on the security of the specific area, check whether the process requesting access has access rights, and finally determine whether to access the corresponding process. .

프로세서(150)는 접근요청한 프로세스가 보안영역의 접근을 위해 필요한 접근권한을 가지고 있지 않은 경우 해당 프로세스의 접근 필요성을 판단하여 접근권한을 부여할 수 있다. 예를 들어, 프로세서(150)는 접근권한 부여를 위하여 보안영역으로의 접근을 요청한 프로세스의 식별 정보, 생성 위치 및 시점 등을 확인할 수 있고, 해당 프로세스를 생성한 프로그램이나 사용자 계정 등의 정보를 활용하여 접근 필요성을 판단할 수 있다. 프로세서(150)의 구체적 기능에 대해서는 도 2에서 보다 자세히 설명한다.If the process requesting the access does not have the necessary access rights for accessing the security area, the processor 150 may determine the need for access to the process and grant the access rights. For example, the processor 150 can check the identification information of the process requesting access to the security area, the location and time of creation, etc. for granting access rights, and utilize information such as the program or user account that created the process. So you can judge the need for access. Detailed functions of the processor 150 will be described in more detail in FIG. 2.

도 2는 도 1에 있는 프로세서의 기능 요소를 나타내는 블록도이다.FIG. 2 is a block diagram illustrating functional elements of the processor in FIG. 1.

도 2를 참조하면, 프로세서(150)는 암호키 획득부(210), 양자 난수 수신부(230), 암호연산 수행부(250) 및 제어부(270)를 포함할 수 있다.Referring to FIG. 2, the processor 150 may include an encryption key obtaining unit 210, a quantum random number receiving unit 230, an encryption operation performing unit 250, and a control unit 270.

암호키 획득부(210)는 특정 접근권한을 기초로 메모리(110)의 보안영역에 접근하여 암호화키 또는 복호화키를 획득할 수 있다. 암호화키 또는 복호화키는 암호 알고리즘에 사용되는 비밀키에 해당할 수 있고, 암호키는 암호화키 또는 복호화키를 모두 포함하는 용어에 해당할 수 있다. 암호키 획득부(210)는 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세스의 접근권한을 통해 메모리(110)의 보안영역에 접근할 수 있다. 프로세스의 접근권한은 해당 프로세스가 생성될 때 자동으로 부여될 수 있고, 프로세서(150)에 의해 메모리(110) 접근 시점을 기준으로 새롭게 부여될 수 있다.The encryption key acquisition unit 210 may obtain an encryption key or a decryption key by accessing the security area of the memory 110 based on a specific access right. The encryption key or decryption key may correspond to a secret key used in an encryption algorithm, and the encryption key may correspond to a term including both an encryption key or a decryption key. The encryption key acquisition unit 210 may access the security area of the memory 110 through access rights of a process for performing random number generation, electronic signature, key matching, or authentication. The access right of the process may be automatically granted when the corresponding process is created, or may be newly granted by the processor 150 based on the access point of the memory 110.

암호키 획득부(210)는 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세스가 사용하는 암호 알고리즘의 종류를 기초로 메모리(110)의 보안영역에 저장된 암호화키 또는 복호화키를 결정할 수 있고 해당 암호키의 획득을 위하여 접근권한 부여를 요청할 수 있다. 프로세서(150)는 접근권한 부여 요청이 있는 경우 접근요청한 메모리(110)의 보안영역 위치, 프로세스 정보 및 암호 알고리즘 정보를 기초로 접근권한 부여여부를 결정할 수 있다.The encryption key acquisition unit 210 may determine an encryption key or a decryption key stored in the security area of the memory 110 based on the type of encryption algorithm used by the process of performing random number generation, electronic signature, key matching, or authentication. In order to obtain the corresponding encryption key, it is possible to request access right. When there is a request for granting access permission, the processor 150 may determine whether to grant access permission based on the location of the security area of the memory 110 requested for access, process information, and encryption algorithm information.

일 실시예에서, 암호키 획득부(210)는 양자 난수 수신부(230)에 의해 수신된 양자 난수열에서 선택된 적어도 하나의 양자 난수를 기초로 암호화키 및 복호화키를 생성하여 메모리(110)의 보안영역에 저장할 수 있다. 암호키 획득부(210)는 암호 알고리즘을 처음으로 사용하는 경우 해당 시점을 기초로 새로운 암호화키 또는 복호화키를 생성할 수 있고, 생성된 암호키를 기초로 암호화 또는 복호화를 수행할 수 있다. In one embodiment, the encryption key acquisition unit 210 generates an encryption key and a decryption key based on at least one quantum random number selected from the quantum random number sequence received by the quantum random number receiving unit 230 to secure the memory 110 Can be saved in the area. When using the encryption algorithm for the first time, the encryption key obtaining unit 210 may generate a new encryption key or a decryption key based on a corresponding time point, and perform encryption or decryption based on the generated encryption key.

암호키 획득부(210)는 새로운 암호키를 생성하기 위하여 양자 난수 발생기(130)에 의해 생성된 양자 난수를 활용할 수 있다. 암호키 획득부(210)는 암호키 생성을 위해 양자 난수 뿐만 아니라 다른 잡음원을 사용할 수 있다. 잡음원은 난수 생성을 위한 시드(seed)로 사용될 수 있는 예측 불가능한 물리적 소스에 해당할 수 있고, 예를 들어, 시간정보, 키보드, 마우스, 메모리 값, 네트워크 상태, 열잡음 등에 해당할 수 있다.The encryption key acquisition unit 210 may utilize a quantum random number generated by the quantum random number generator 130 to generate a new encryption key. The encryption key acquisition unit 210 may use not only quantum random numbers but also other noise sources to generate the encryption key. The noise source may correspond to an unpredictable physical source that can be used as a seed for random number generation, and may correspond to, for example, time information, keyboard, mouse, memory value, network status, thermal noise, and the like.

양자 난수 수신부(230)는 양자 난수 발생기(130)로부터 양자 난수열을 수신할 수 있다. 양자 난수 수신부(230)는 양자 난수열을 순서에 따라 활용할 수 있고, 양자 난수열에서 임의의 양자 난수를 선택하여 사용할 수 있다. 일 실시예에서, 양자 난수 수신부(230)는 양자 난수열에서 일정한 주기에 따라 양자 난수를 선택할 수 있고, 이 경우 일정한 주기는 양자 난수 간의 일정한 간격을 의미할 수 있다. 즉, 양자 난수 수신부(230)는 양자 난수열에서 일정한 간격만큼 떨어진 양자 난수만을 선택하여 사용할 수 있다.The quantum random number receiver 230 may receive a quantum random number sequence from the quantum random number generator 130. The quantum random number receiver 230 may utilize the quantum random number sequence in order, and may select and use an arbitrary quantum random number from the quantum random number sequence. In an embodiment, the quantum random number receiver 230 may select a quantum random number according to a predetermined period from a sequence of quantum random numbers, and in this case, the predetermined period may mean a predetermined interval between quantum random numbers. That is, the quantum random number receiver 230 may select and use only quantum random numbers separated by a predetermined interval from the quantum random number sequence.

일 실시예에서, 양자 난수 수신부(230)는 양자 난수열에서 다음의 수학식을 통하여 산출된 샘플링 주기에 따라 양자 난수를 선택하여 사용할 수 있다.In an embodiment, the quantum random number receiver 230 may select and use a quantum random number according to a sampling period calculated through the following equation from a quantum random number sequence.

[수학식][Equation]

Figure 112018060600645-pat00001
Figure 112018060600645-pat00001

여기에서, P는 샘플링 주기를, M은 암호키를 저장하는 메모리 주소를, Tsec는 암호 알고리즘을 사용하는 시점에서의 초(sec)를, k는 샘플링 주기 상수를 의미한다. 샘플링 주기 P는 양자 난수열에서 양자 난수의 간격에 해당할 수 있고, 예를 들어, P = 10인 경우, 양자 난수열에서 1번째, 11번째, 21번째 등의 양자 난수를 샘플링하여 사용할 수 있다. 샘플링 주기 P는 양자 난수를 사용하는 암호 알고리즘에서 사용하는 암호키(암호화키 또는 복호화키)가 저장된 메모리 상의 주소와 암호 알고리즘을 사용하는 시점에서의 초(sec)의 제곱의 로그값을 이용하여 산출될 수 있다. 샘플링 주기 상수 k는 암호 장치(100)에서 미리 설정될 수 있다.Here, P denotes a sampling period, M denotes a memory address storing an encryption key, Tsec denotes a second (sec) at a time point of using an encryption algorithm, and k denotes a sampling period constant. The sampling period P may correspond to the interval of the quantum random number in the quantum random number sequence. For example, when P = 10, the first, 11th, and 21st quantum random numbers in the quantum random number sequence can be sampled and used. . Sampling period P is calculated using the address in the memory where the encryption key (encryption key or decryption key) used in the encryption algorithm using quantum random numbers is stored and the logarithm of the square of the second (sec) at the time the encryption algorithm is used. Can be. The sampling period constant k may be preset in the encryption device 100.

암호연산 수행부(250)는 복수의 암호 알고리즘들 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 암호연산 수행부(250)는 암호 알고리즘, 암호키 및 양자 난수를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 일 실시예에서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증에 사용하는 암호 알고리즘을 구분하여 사용할 수 있고, 복호화(Decryption), 서명생성 또는 키생성에 사용하는 암호 알고리즘을 암호화(Encryption), 서명검증 또는 키인증에 사용하는 암호 알고리즘보다 더 제한할 수 있다. 암호연산 수행부(250)는 복호화를 위해 사용하는 복호화키가 암호화키보다 더욱 높은 보안성을 요구한다는 점을 고려하여 복호화에 사용되는 암호 알고리즘을 특정 수로 제한함으로써 제한된 수의 복호화키만을 저장하여 보안성을 보장할 수 있다.The encryption calculation unit 250 may generate a random number, electronic signature, key match, or authentication based on any one of a plurality of encryption algorithms. The encryption operation performing unit 250 may generate random numbers, electronic signatures, key matching, or authentication based on encryption algorithms, encryption keys, and quantum random numbers. In one embodiment, the cryptographic operation unit 250 may separate and use cryptographic algorithms used for random number generation, digital signature, key matching, or authentication, and cryptographic algorithms used for decryption, signature generation, or key generation. Can be more restricted than the cryptographic algorithms used for encryption, signature verification, or key authentication. Considering that the decryption key used for decryption requires higher security than the encryption key, the encryption operation execution unit 250 restricts the encryption algorithm used for decryption to a specific number, thereby storing only a limited number of decryption keys for security. Sex can be guaranteed.

일 실시예에서, 암호연산 수행부(250)는 KCMVP(Korea Cryptographic Module Validation Program)로 구성된 암호 알고리즘 모집단 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 여기에서, KCMVP는 한국 암호모듈 검증제도에 해당하고 국가 및 공공기관에 도입되는 상용 보안제품에 대한 안전성을 확보하기 위해 국가정보원에 의해 시행되고 있다. 암호연산 수행부(250)는 KCMVP 검증을 통과한 암호 암고리즘들로 구성된 암호 알고리즘 모집단만을 이용하여 난수발생, 전자서명, 키일치 또는 인증을 수행함으로써 암호 장치(100)의 보안성을 강화할 수 있다.In an embodiment, the cryptographic operation unit 250 may generate a random number, electronic signature, key match, or authentication based on any one of a population of cryptographic algorithms composed of a Korea Cryptographic Module Validation Program (KCMVP). Here, KCMVP falls under the Korean cryptographic module verification system and is being implemented by the National Intelligence Service to secure the safety of commercial security products introduced to the state and public institutions. The cryptographic operation execution unit 250 may enhance the security of the cryptographic device 100 by performing random number generation, electronic signature, key matching, or authentication using only a cryptographic algorithm population composed of cryptographic algorithms that have passed KCMVP verification. .

일 실시예에서, 암호연산 수행부(250)는 양자 난수를 기초로 KCMVP(Korea Cryptographic Module Validation Program) 검증을 통과한 암호 알고리즘들로 구성된 KCMVP 암호 알고리즘 모집단 및 KCMVP 검증을 수행하지 않은 암호 알고리즘들로 구성된 일반 암호 알고리즘 모집단 중 어느 하나를 결정하고 해당 암호 알고리즘 모집단에 속한 암호 알고리즘을 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. KCMVP 암호 알고리즘 모집단 및 일반 암호 알고리즘은 프로세서(150) 내부에 저장되어 관리될 수 있고, 메모리(110)의 일반영역에 저장되어 관리될 수 있다.In one embodiment, the cryptographic operation unit 250 is a KCMVP cryptographic algorithm population composed of cryptographic algorithms that have passed KCMVP (Korea Cryptographic Module Validation Program) verification based on a quantum random number and cryptographic algorithms that have not performed KCMVP verification. Any one of the configured general cryptographic algorithm population may be determined, and random number generation, digital signature, key matching, or authentication may be performed based on the cryptographic algorithm belonging to the corresponding cryptographic algorithm population. A population of KCMVP encryption algorithms and a general encryption algorithm may be stored and managed in the processor 150, and may be stored and managed in a general area of the memory 110.

일 실시예에서, 암호연산 수행부(250)는 양자 난수 수신부(210)에 의해 수신된 양자 난수열에서 제1 양자 난수를 선택하고 해당 제1 양자 난수를 기초로 특정 암호 알고리즘 모집단을 결정할 수 있다. 암호연산 수행부(250)는 양자 난수열에서 제2 양자 난수를 선택하고 해당 제2 양자 난수를 기초로 결정된 특정 암호 알고리즘 모집단 내에서 특정 암호 알고리즘을 결정할 수 있다. 암호연산 수행부(250)는 결정된 특정 암호 알고리즘을 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다.In an embodiment, the cryptographic operation unit 250 may select a first quantum random number from the quantum random number sequence received by the quantum random number receiver 210 and determine a specific cryptographic algorithm population based on the first quantum random number. . The cryptographic operation unit 250 may select a second quantum random number from a quantum random number sequence and determine a specific cryptographic algorithm within a specific cryptographic algorithm population determined based on the second quantum random number. The cryptographic operation unit 250 may generate a random number, electronic signature, key match, or authentication based on the determined specific cryptographic algorithm.

일 실시예에서, 암호연산 수행부(250)는 양자 난수 수신부(210)에 의해 수신된 양자 난수열에서 제1 양자 난수를 선택하여 제1 암호 알고리즘 모집단을 결정할 수 있으나, 양자 난수열에서 선택된 제2 양자 난수에 따라 제1 암호 알고리즘 모집단이 아닌 나머지 암호 알고리즘 모집단 내에서 특정 알고리즘을 선택하여 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 제1 암호 알고리즘 모집단은 KCMVP 암호 알고리즘 모집단 및 일반 암호 알고리즘 모집단 중 제1 양자 난수를 기초로 암호연산 수행부(250)에 의해 결정된 암호 알고리즘 모집단에 해당할 수 있다. In one embodiment, the cryptographic operation unit 250 may select the first quantum random number from the quantum random number sequence received by the quantum random number receiver 210 to determine the first encryption algorithm population, but the first encryption algorithm population is selected from the quantum random number sequence. 2 Depending on the quantum random number, random number generation, digital signature, key matching, or authentication may be performed by selecting a specific algorithm from among the remaining cryptographic algorithm population rather than the first cryptographic algorithm population. The first cryptographic algorithm population may correspond to a cryptographic algorithm population determined by the cryptographic operation unit 250 based on a first quantum random number among the KCMVP cryptographic algorithm population and the general cryptographic algorithm population.

제1 양자 난수는 암호 알고리즘 모집단을 선택하는 기준이고, 제2 양자 난수는 암호 알고리즘 모집단 내의 암호 알고리즘을 선택하는 기준에 해당하지만, 제2 양자 난수가 특정 조건을 만족하는 경우 암호연산 수행부(250)는 제1 양자 난수를 기초로 선택된 암호 알고리즘 모집단이 아닌 다른 암호 알고리즘 모집단에서 암호 알고리즘을 선택할 수 있다. 여기에서, 특정 조건은 제2 양자 난수가 암호 장치(100)에 의해 미리 설정된 특정 범위에 속하는 경우이거나 또는 제1 양자 난수와 제2 양자 난수와의 차의 절대값이 특정 범위에 속하는 경우에 해당할 수 있다.The first quantum random number is a criterion for selecting a cryptographic algorithm population, and the second quantum random number corresponds to a criterion for selecting a cryptographic algorithm in the cryptographic algorithm population, but when the second quantum random number satisfies a specific condition, the cryptographic operation execution unit 250 ) May select a cryptographic algorithm from a cryptographic algorithm population other than the cryptographic algorithm population selected based on the first quantum random number. Here, the specific condition corresponds to a case in which the second quantum random number falls within a specific range preset by the encryption device 100 or the absolute value of the difference between the first quantum random number and the second quantum random number falls within a specific range. can do.

일 실시예에서, 암호연산 수행부(250)는 메모리(110)의 일반영역에 저장된 적어도 하나의 응용 프로그램에 관한 입력 및 출력 데이터에 대해 전자서명을 수행할 수 있다. 암호 장치(100)는 외부 데이터를 입력으로 수신할 수 있고 외부 데이터를 전자서명하여 외부데이터에 전자서명이 추가된 결과를 출력할 수 있다. 또한, 암호 장치(100)는 내부에 포함된 메모리(110)에 저장되고 동작되는 응용 프로그램의 입력 및 출력 데이터를 전자서명하여 암호 장치(100) 외부로 제공할 수 있다.In an embodiment, the cryptographic calculation unit 250 may perform an electronic signature on input and output data related to at least one application program stored in the general area of the memory 110. The encryption device 100 may receive external data as an input, digitally sign the external data, and output a result of adding the digital signature to the external data. In addition, the encryption device 100 may electronically sign input and output data of an application program stored and operated in the memory 110 included therein and provide it to the outside of the encryption device 100.

여기에서, 전자서명(Digital Signature)은 서명자를 확인하고 서명자가 특정 전자문서에 서명하였음을 나타내는데 이용하기 위하여 해당 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보에 해당할 수 있다. 예를 들어, 전자서명은 전자문서의 해시(Hash) 값을 서명자의 개인키로 변환(암호화)한 것에 해당할 수 있다. 전자서명은 공개키 쌍을 생성하는 키 생성 알고리즘, 서명자의 개인키를 사용하여 서명을 생성하는 알고리즘 및 서명자의 공개키를 사용하여 서명을 검증하는 알고리즘으로 구성될 수 있다.Here, the digital signature may correspond to information in an electronic form attached to the corresponding electronic document or logically combined to be used to verify the signer and indicate that the signer has signed a specific electronic document. For example, the digital signature may correspond to conversion (encryption) of a hash value of an electronic document into a signer's private key. The digital signature may consist of a key generation algorithm that generates a public key pair, an algorithm that generates a signature using the signer's private key, and an algorithm that verifies the signature using the signer's public key.

일 실시예에서, 암호연산 수행부(250)는 양자 난수를 기초로 복수의 암호 DRBG(Deterministic Random Bit Generator)들 중 어느 하나를 선택하여 난수발생을 수행할 수 있다. 암호연산 수행부(250)는 양자 난수 수신부(230)에 의해 수신된 양자 난수를 난수발생, 전자서명, 키일치 또는 인증에 사용할 수도 있지만, 양자 난수를 기초로 난수발생에 사용되는 DRBG를 선택하는데 사용할 수도 있다. 다른 실시예에서, 암호연산 수행부(250)는 메모리(110)에 저장된 잡음원들 중 양자 난수를 기초로 선택된 잡음원 및 복수의 DRBG들 중 양자 난수를 기초로 선택된 DRBG를 이용하여 난수발생을 수행할 수 있다.In an embodiment, the cryptographic operation unit 250 may generate a random number by selecting any one of a plurality of cryptographic Deterministic Random Bit Generators (DRBGs) based on a quantum random number. The cryptographic operation unit 250 may use the quantum random number received by the quantum random number receiving unit 230 for random number generation, electronic signature, key matching, or authentication, but selects DRBG used for random number generation based on the quantum random number. You can also use it. In another embodiment, the cryptographic operation unit 250 generates a random number using a noise source selected based on a quantum random number among noise sources stored in the memory 110 and a DRBG selected based on a quantum random number among a plurality of DRBGs. I can.

일 실시예에서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 생성된 잡음원을 메모리(110)의 보안영역의 제3 보안 파티션에 저장할 수 있다. 여기에서, 제3 보안 파티션은 보안영역을 구성하는 복수의 보안 파티션들 중 어느 하나에 해당할 수 있고, 제1 보안 파티션 및 제2 보안 파티션과 구분되며, 제1 접근권한보다 더 낮은 보안성을 요구하는 제3 접근권한을 통해 접근할 수 있는 보안 파티션에 해당할 수 있다. 다른 실시예에서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 생성된 잡음원을 메모리(110)의 일반영역에 저장할 수 있다.In an embodiment, the cryptographic operation unit 250 may store a random number generation, an electronic signature, a key match, or a noise source generated during an authentication process in the third secure partition of the security area of the memory 110. Here, the third security partition may correspond to any one of a plurality of security partitions constituting the security area, is distinguished from the first security partition and the second security partition, and has lower security than the first access right. It may correspond to a secure partition that can be accessed through the required third access right. In another embodiment, the cryptographic operation unit 250 may store a random number generation, an electronic signature, a key match, or a noise source generated during an authentication process in a general area of the memory 110.

암호연산 수행부(250)는 양자 난수 뿐만 아니라 잡음원을 모두 이용하여 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있고, 암호연산 과정에서 발생하는 다양한 잡음원들을 메모리(110)의 특정 영역에 보관하여 다음 암호연산 과정에서 활용할 수 있다. 암호연산 수행부(250)는 제3 보안 파티션에 저장된 기존 잡음원을 삭제하고 새로운 잡음원으로 대체할 수 있고, 기존 잡음원과 새로운 잡음원을 통합하여 갱신할 수 있다.The cryptographic operation unit 250 may generate random numbers, electronic signatures, key matching, or authentication using both noise sources as well as quantum random numbers, and various noise sources generated in the cryptographic operation process are stored in a specific area of the memory 110. It can be stored and used in the next encryption operation process. The encryption operation performing unit 250 may delete the existing noise source stored in the third security partition and replace it with a new noise source, and may update the existing noise source by integrating the new noise source.

일 실시예에서, 암호연산 수행부(250)는 제1 접근권한 또는 제2 접근권한을 부여받은 경우 메모리(110)의 보안영역의 제3 보안 파티션을 접근할 수 있다. 메모리(110)의 제3 보안 파티션은 제3 접근권한을 부여받은 경우에만 접근할 수 있으나, 경우에 따라서는 제3 접근권한보다 더 높은 보안성을 가진 제1 접근권한 또는 제2 접근권한을 부여받은 경우 제3 접근권한의 부여 과정없이 제3 보안 파티션에 접근할 수 있다. 따라서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 메모리(110)의 보안 영역에 대한 접근권한을 부여받은 경우 제3 보안 파티션에 저장된 잡음원을 제3 접근권한 없이도 사용할 수 있다.In an embodiment, the encryption operation execution unit 250 may access the third security partition of the security area of the memory 110 when the first access right or the second access right is granted. The third secure partition of the memory 110 can be accessed only when the third access right is granted, but in some cases, the first access right or the second access right having a higher security than the third access right is granted. If received, the third security partition can be accessed without the process of granting the third access right. Therefore, when the encryption operation unit 250 is granted access rights to the security area of the memory 110 during random number generation, electronic signature, key matching, or authentication process, the noise source stored in the third security partition can be accessed without a third access right. Can be used.

일 실시예에서, 암호연산 수행부(250)는 잡음원을 양자 난수 발생기(130)에 입력으로 제공하여 출력된 양자 난수를 기초로 개체 또는 메시지에 대한 인증을 수행할 수 있다. 양자 난수 발생기(130)는 외부 잡음원없이 독립적인 양자 난수를 생성할 수 있고, 외부 잡음원을 이용하여 양자 난수를 생성할 수 있다. 따라서, 암호연산 수행부(250)는 메모리(110)에 저장된 잡음원을 양자 난수 발생기(130)에 제공하여 양자 난수 발생기(130)가 잡음원을 이용하여 양자 난수를 생성하도록 할 수 있다. In an embodiment, the cryptographic operation unit 250 may provide a noise source to the quantum random number generator 130 as an input to perform authentication on an entity or message based on the output quantum random number. The quantum random number generator 130 may generate an independent quantum random number without an external noise source, and may generate a quantum random number using an external noise source. Accordingly, the cryptographic operation unit 250 may provide the noise source stored in the memory 110 to the quantum random number generator 130 to allow the quantum random number generator 130 to generate a quantum random number using the noise source.

양자 난수 발생기(130)는 독립적인 양자 난수를 생성하더라도 프로세서(150)에 의해 외부 잡음원이 입력으로 제공되는 경우 해당 외부 잡음원을 이용하여 양자 난수를 생성하도록 자동으로 전환될 수 있다. 다른 실시예에서, 암호연산 수행부(250)는 잡음원을 양자 난수 발생기(130)에 주기적으로 입력하여 출력된 양자 난수를 기초로 개체 또는 메시지에 대한 인증을 수행할 수 있다. 예를 들어, 암호연산 수행부(250)는 반복되는 암호연산 과정에서 양자 난수를 사용하는 시점에 이전 양자 난수가 잡음원 없이 생성된 양자 난수인 경우 잡음원을 양자 난수 발생기(130)에 제공하여 출력된 양자 난수를 사용할 수 있고, 이전 양자 난수가 잡음원을 이용하여 생성된 양자 난수인 경우 잡음원을 제공하지 않고 양자 난수 발생기(130)를 통해 독립적으로 생성된 양자 난수를 사용할 수 있다.Even if the quantum random number generator 130 generates an independent quantum random number, if an external noise source is provided as an input by the processor 150, it may be automatically switched to generate a quantum random number using the external noise source. In another embodiment, the encryption operation unit 250 may periodically input a noise source to the quantum random number generator 130 and perform authentication on an object or message based on the output quantum random number. For example, if the previous quantum random number is a quantum random number generated without a noise source at the time of using the quantum random number in the repeated encryption operation process, the cryptographic operation unit 250 provides the noise source to the quantum random number generator 130 and outputs the result. A quantum random number may be used, and when the previous quantum random number is a quantum random number generated using a noise source, a quantum random number independently generated through the quantum random number generator 130 may be used without providing a noise source.

제어부(270)는 프로세서(150)의 전체적인 동작을 제어하고, 암호키 획득부(210), 양자 난수 수신부(230) 및 암호연산 수행부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit 270 may control the overall operation of the processor 150 and may manage a control flow or data flow between the encryption key acquisition unit 210, the quantum random number receiving unit 230, and the cryptographic operation unit 250.

도 3은 도 1에 있는 암호 장치에서 수행되는 양자 난수열 기반의 암호 과정을 설명하는 순서도이다.3 is a flowchart illustrating a quantum random number sequence-based encryption process performed by the encryption device of FIG. 1.

도 3을 참조하면, 암호 장치(100)는 프로세서(150)의 암호키 획득부(210)를 통해 특정 접근권한을 기초로 보안영역에 접근하여 암호화키 또는 복호화키를 획득할 수 있다(단계 S310). 암호 장치(100)는 프로세서(150)의 양자 난수 수신부(230)를 통해 양자 난수 발생기(130)로부터 양자 난수열을 수신할 수 있다(단계 S330). 암호 장치(100)는 프로세서(150)의 암호연산 수행부(250)를 통해 복수의 암호 알고리즘들 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다(단계 S350).Referring to FIG. 3, the encryption device 100 may obtain an encryption key or a decryption key by accessing a security area based on a specific access right through the encryption key acquisition unit 210 of the processor 150 (step S310. ). The encryption apparatus 100 may receive a quantum random number sequence from the quantum random number generator 130 through the quantum random number receiving unit 230 of the processor 150 (step S330). The encryption apparatus 100 may generate a random number, electronic signature, key match, or authentication based on any one of a plurality of encryption algorithms through the encryption operation unit 250 of the processor 150 (step S350). .

도 4는 본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치에서 수행되는 암호 과정을 설명하는 흐름도이다.4 is a flowchart illustrating an encryption process performed in an encryption apparatus based on a quantum random number sequence according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 암호 장치(100)에서 수행되는 난수발생, 전자서명, 키일치 또는 인증 과정을 확인할 수 있다. 양자 난수 발생기(410)에서 양자 난수열을 프로세서(430)에 제공할 수 있고, 프로세서(430)는 해당 양자 난수열을 이용하여 난수발생, 전자서명, 키일치 또는 인증에 사용할 암호화키 또는 복호화키를 생성할 수 있다.Referring to FIG. 4, random number generation, electronic signature, key matching, or authentication process performed in the encryption device 100 according to an embodiment of the present invention can be checked. The quantum random number generator 410 may provide a quantum random number sequence to the processor 430, and the processor 430 uses the quantum random number sequence to generate a random number, an electronic signature, an encryption key or a decryption key to be used for authentication. Can be created.

프로세서(430)는 생성된 암호화키 또는 복호화키를 메모리(450)의 보안영역에 저장할 수 있다. 보다 구체적으로, 프로세서(430)는 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세스에 제1 보안 파티션 또는 제2 보안 파티션에 접근할 수 있는 접근권한을 부여할 수 있다. 프로세서(430)에 의해 부여된 접근권한에 따라 제1 보안 파티션에는 암호화키가 저장되고, 제2 보안 파티션에는 복호화키가 저장될 수 있다. 프로세서(430)는 제2 보안 파티션에 접근할 수 있는 제2 접근권한이 제1 보안 파티션에 접근할 수 있는 제1 접근권한보다 더 높은 보안성을 갖도록 제어할 수 있다.The processor 430 may store the generated encryption key or decryption key in a secure area of the memory 450. More specifically, the processor 430 may grant access rights to access the first security partition or the second security partition to the process of generating a random number, digital signature, key matching, or authentication. The encryption key may be stored in the first secure partition and the decryption key may be stored in the second secure partition according to the access rights granted by the processor 430. The processor 430 may control the second access right for accessing the second secure partition to have higher security than the first access right for accessing the first secure partition.

프로세서(430)는 양자 난수 발생기(410)로부터 수신한 양자 난수열과 메모리(450)의 보안영역에 저장된 암호화키를 이용하여 전자서명, 난수발생, 키일치 또는 인증을 수행할 수 있다. 일 실시예에서, 프로세서(430)는 암호화 과정에서 발생하는 잡음원을 메모리(450)의 보안영역에 보관할 수 있다. 프로세서(430)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 반복되는 암호연산에 사용되는 양자 난수를 양자 난수 발생기(410)로부터 수신하여 사용할 수 있고, 양자 난수 사용 시점에 메모리(450)에 저장된 잡음원을 양자 난수 발생기(410)에 제공함으로써 잡음원에 기초하여 생성된 양자 난수를 사용할 수도 있다.The processor 430 may perform an electronic signature, random number generation, key matching, or authentication using the quantum random number sequence received from the quantum random number generator 410 and the encryption key stored in the secure area of the memory 450. In an embodiment, the processor 430 may store a noise source generated in the encryption process in a secure area of the memory 450. The processor 430 may receive and use a quantum random number used for a random number generation, an electronic signature, a key match, or a cryptographic operation that is repeated in the authentication process from the quantum random number generator 410, and at the time of use of the quantum random number, A quantum random number generated based on the noise source may be used by providing the stored noise source to the quantum random number generator 410.

도 5는 본 발명의 일 실시예에 따른 양자 난수열 기반의 암호 장치를 외부 장치와 결합하기 위한 구성을 설명하는 도면이다.5 is a diagram illustrating a configuration for combining an encryption device based on a quantum random number sequence with an external device according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 암호 장치(510)는 하드웨어 칩 형태로 구현될 수 있다. 암호 장치(510)를 외부 시스템 또는 장치에 부착하기 위해서 소켓(530) 형태의 장치가 외부 시스템 또는 장치의 일면에 고정되어 결합될 수 있고 암호 장치(510)가 소켓(530)에 결합되는 형태로 외부 시스템 또는 장치에 부착될 수 있다. 도 5에서 확인할 수 있는 암호 장치(510) 및 소켓(530)의 결합 방식 및 구성은 설명을 위한 일 실시예에 해당하며, 반드시 이에 해당하지 않고, 암호 장치(510) 및 소켓(530)은 다양한 결합 방식에 따라 다양한 외형 및 구성으로 구현될 수 있다.Referring to FIG. 5, an encryption device 510 according to an embodiment of the present invention may be implemented in the form of a hardware chip. In order to attach the encryption device 510 to an external system or device, a device in the form of a socket 530 may be fixed and coupled to one side of the external system or device, and the encryption device 510 is coupled to the socket 530. It can be attached to an external system or device. The combination method and configuration of the encryption device 510 and the socket 530 that can be seen in FIG. 5 corresponds to an embodiment for description, and does not necessarily correspond to this, and the encryption device 510 and the socket 530 are various It can be implemented in various appearances and configurations according to the coupling method.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that you can do it.

100: 양자 난수열 기반의 암호 장치
110: 메모리 130: 양자 난수 발생기
150: 프로세서
210: 암호키 획득부 230: 양자 난수 수신부
250: 암호연산 수행부 270: 제어부
410: 양자 난수 발생기 430: 프로세서
450: 메모리
510: 암호 장치 530: 소켓
100: a quantum random number sequence based encryption device
110: memory 130: quantum random number generator
150: processor
210: encryption key acquisition unit 230: quantum random number reception unit
250: encryption operation execution unit 270: control unit
410: quantum random number generator 430: processor
450: memory
510: encryption device 530: socket

Claims (8)

양자 난수열을 생성하는 양자 난수 발생기;
특정 접근권한을 통해 접근할 수 있는 보안영역과 적어도 하나의 응용 프로그램을 저장하는 일반영역으로 구분된 메모리; 및
상기 특정 접근권한을 기초로 상기 보안영역에 접근하여 암호화키 또는 복호화키를 획득하고 상기 양자 난수 발생기로부터 양자 난수를 수신하여 복수의 암호 알고리즘들 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세서를 포함하되,
상기 메모리는 상기 보안영역 중에서 상기 암호화키 또는 상기 복호화키를 저장하는 영역과 구분되는 제3 보안 파티션을 포함하고,
상기 프로세서는 상기 난수발생, 상기 전자서명, 상기 키일치 또는 인증 과정에서 생성된 잡음원을 상기 제3 보안 파티션에 저장하고 상기 잡음원을 상기 양자 난수 발생기에 입력으로 제공하며, 상기 적어도 하나의 응용 프로그램에 관한 입력 및 출력 데이터에 대해 상기 전자서명을 수행하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.
A quantum random number generator that generates a quantum random number sequence;
A memory divided into a security area accessible through a specific access right and a general area storing at least one application program; And
Access to the security area based on the specific access right to obtain an encryption key or a decryption key, receive a quantum random number from the quantum random number generator, and generate a random number based on any one of a plurality of encryption algorithms, digital signature, and key matching Or a processor that performs authentication,
The memory includes a third security partition separated from an area storing the encryption key or the decryption key among the security areas,
The processor stores the random number generation, the digital signature, the key matching, or a noise source generated in the authentication process in the third security partition, and provides the noise source as an input to the quantum random number generator, and the at least one application program An encryption device based on a quantum random number sequence, characterized in that the electronic signature is performed on the related input and output data.
제1항에 있어서, 상기 메모리는
제1 접근권한을 통해 접근할 수 있는 제1 보안 파티션과 상기 제1 접근권한보다 더 높은 보안성을 요구하는 제2 접근권한을 통해 접근할 수 있는 제2 보안 파티션으로 구분되는 상기 보안영역을 포함하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.
The method of claim 1, wherein the memory
Includes the security area divided into a first secure partition accessible through a first access right and a second secure partition accessible through a second access right requiring higher security than the first access right A quantum random number sequence-based encryption device, characterized in that.
제2항에 있어서, 상기 메모리는
상기 제1 보안 파티션에 암호화키를 저장하고 상기 제2 보안 파티션에 복호화키를 저장하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.
The method of claim 2, wherein the memory
An encryption device based on a quantum random number sequence, comprising storing an encryption key in the first secure partition and a decryption key in the second secure partition.
삭제delete 제1항에 있어서, 상기 프로세서는
상기 양자 난수열에서 선택된 적어도 하나의 양자 난수를 기초로 상기 암호화키 및 상기 복호화키를 생성하여 상기 보안영역에 저장하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.
The method of claim 1, wherein the processor
And generating the encryption key and the decryption key based on at least one quantum random number selected from the quantum random number sequence, and storing the encryption key and the decryption key in the secure area.
제1항에 있어서, 상기 프로세서는
상기 양자 난수를 기초로 상기 복수의 DRBG(Deterministic Random Bit Generator)들 중 어느 하나를 선택하여 상기 난수발생을 수행하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.
The method of claim 1, wherein the processor
An encryption apparatus based on a quantum random number sequence, characterized in that for generating the random number by selecting any one of the plurality of DRBGs based on the quantum random number.
삭제delete 제1항에 있어서, 상기 프로세서는
상기 잡음원을 상기 양자 난수 발생기에 입력으로 제공하여 출력된 양자 난수를 기초로 개체 또는 메시지에 대한 상기 인증을 수행하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.

The method of claim 1, wherein the processor
A quantum random number sequence-based encryption device, characterized in that the noise source is provided to the quantum random number generator as an input to perform the authentication on an object or message based on the output quantum random number.

KR1020180070855A 2018-06-20 2018-06-20 Encryption apparatus based on quantum random number KR102153317B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180070855A KR102153317B1 (en) 2018-06-20 2018-06-20 Encryption apparatus based on quantum random number

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180070855A KR102153317B1 (en) 2018-06-20 2018-06-20 Encryption apparatus based on quantum random number

Publications (2)

Publication Number Publication Date
KR20190143196A KR20190143196A (en) 2019-12-30
KR102153317B1 true KR102153317B1 (en) 2020-09-08

Family

ID=69102810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180070855A KR102153317B1 (en) 2018-06-20 2018-06-20 Encryption apparatus based on quantum random number

Country Status (1)

Country Link
KR (1) KR102153317B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073447A (en) * 2020-11-26 2022-06-03 주식회사 이와이엘 Method for generating private certificate using quantum random number

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102423178B1 (en) 2020-11-24 2022-07-20 부산대학교 산학협력단 Agent based cryptographic module interworking system and its method
KR102390988B1 (en) * 2020-12-22 2022-04-27 김성중 Monitoring system using quantum random number
CN114124370A (en) * 2021-10-14 2022-03-01 阿里云计算有限公司 Key generation method and device
KR102486888B1 (en) * 2022-05-30 2023-01-11 주식회사 베이스스톤홀딩스 A method for generating a quantum random number encryption key

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464046B2 (en) 2001-04-03 2010-05-19 三菱電機株式会社 ENCRYPTION DEVICE, DECRYPTION DEVICE, AND RADIO COMMUNICATION DEVICE
WO2006069274A2 (en) * 2004-12-21 2006-06-29 Sandisk Corporation Versatile content control with partitioning
EP1907925A4 (en) 2005-06-16 2009-06-03 Univ Hong Kong Chinese Quantum random number generators
CN105871538B (en) * 2015-01-22 2019-04-12 阿里巴巴集团控股有限公司 Quantum key distribution system, quantum key delivering method and device
CN108139888A (en) * 2015-07-29 2018-06-08 洛斯阿拉莫斯国家安全有限责任公司 Quantum random number generators
KR101863953B1 (en) * 2016-06-16 2018-06-29 주식회사 티모넷 System and method for providing electronic signature service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073447A (en) * 2020-11-26 2022-06-03 주식회사 이와이엘 Method for generating private certificate using quantum random number
KR102563514B1 (en) * 2020-11-26 2023-08-04 주식회사 이와이엘 Method for generating private certificate using quantum random number

Also Published As

Publication number Publication date
KR20190143196A (en) 2019-12-30

Similar Documents

Publication Publication Date Title
KR102153317B1 (en) Encryption apparatus based on quantum random number
JP6058237B1 (en) Ciphertext conversion apparatus, ciphertext conversion program, and ciphertext conversion method
Debnath et al. Brief review on journey of secured hash algorithms
US20070014398A1 (en) Generating a secret key from an asymmetric private key
CN106130716A (en) Cipher key exchange system based on authentication information and method
KR102143525B1 (en) Method for function encryption supporting set intersection operation and apparatus using the same
Ahmad et al. Hybrid cryptography algorithms in cloud computing: A review
WO2016088453A1 (en) Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
Kaur et al. Hybrid encryption for cloud database security
US11431489B2 (en) Encryption processing system and encryption processing method
Kumar et al. A survey on current key issues and status in cryptography
CN110708291A (en) Data authorization access method, device, medium and electronic equipment in distributed network
JP5972181B2 (en) Tamper detection device, tamper detection method, and program
Mata et al. Enhanced secure data storage in cloud computing using hybrid cryptographic techniques (AES and Blowfish)
KR20210017153A (en) A generic transformation technique from public key encryption to public key encryption with equality test in the random oracle model
Mohammed et al. A security services of proposed social web of things
KR20200131688A (en) Apparatus and method for generating secret key, apparatus and method for genrating evaluation key
JP2015082077A (en) Encryption device, control method, and program
Geetha et al. Survey on security mechanisms for public cloud data
WO2023199379A1 (en) Information processing device, method, and program
WO2017203698A1 (en) Registration destination determining device, registering device, confidential retrieval system, registration destination determining method and registration destination determining program
Jain Enhancing security in Tokenization using NGE for storage as a service
Bhawsar et al. A Review on Clouds Security Based Encryption and Decryption Techniques
KR102066487B1 (en) Lightweight encryption algorithm security apparatus based on hardware authentication chip
Aguila et al. Implementation of a Secured Student Record Management using Modified RC6 and OTP Algorithms.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant