KR102153317B1 - Encryption apparatus based on quantum random number - Google Patents
Encryption apparatus based on quantum random number Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/10—Cryptographic 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
본 발명은 양자 난수열 기반의 암호 기술에 관한 것으로, 보다 상세하게는 양자 난수 발생기에 의해 생성된 양자 난수열을 기반하여 암호장치를 동작시킴으로써 보안성을 강화시킬 수 있는 양자 난수열 기반의 암호 장치에 관한 것이다.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).
본 발명의 일 실시예는 양자 난수 발생기에 의해 생성된 양자 난수열을 이용하여 암호과정을 수행함으로써 보안성을 강화시킬 수 있는 양자 난수열 기반의 암호 장치를 제공하고자 한다.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
메모리(110)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 암호 장치(100)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The
일 실시예에서, 메모리(110)는 특정 접근권한을 통해 접근할 수 있는 보안영역과 적어도 하나의 응용 프로그램을 저장하는 일반영역으로 구분될 수 있다. 보안영역은 비밀이 보장되어야 하는 데이터를 저장하기 위한 메모리(110)의 특정 영역에 해당할 수 있고, 저장되는 데이터의 보안성에 따라 복수의 보안 파티션들로 구분될 수 있다. 보안 파티션은 프로세서(150)의 관리하에 접근 가능 상태에서만 접근할 수 있는 메모리(110)의 일부 영역에 해당할 수 있다. In an embodiment, the
일반영역은 특별한 접근권한 없이도 자유롭게 접근하여 데이터를 읽고 쓸 수 있는 메모리(110)의 나머지 영역에 해당할 수 있다. 암호 장치(100)는 메모리(110)의 일반영역을 통해 적어도 하나의 응용 프로그램을 저장할 수 있도록 함으로써 암호 장치(100)에 이식성을 부여할 수 있다.The general area may correspond to the remaining area of the
일 실시예에서, 메모리(110)는 제1 접근권한을 통해 접근할 수 있는 제1 보안 파티션과 제1 접근권한보다 더 높은 보안성을 요구하는 제2 접근권한을 통해 접근할 수 있는 제2 보안 파티션으로 구분되는 보안영역을 포함할 수 있다. 메모리(110)의 보안영역은 복수의 보안 파티션들로 구분될 수 있는데, 제1 보안 파티션은 제1 접근권한이 있어야 접근할 수 있고, 제2 보안 파티션은 제2 접근권한이 있어야 접근할 수 있으며, 제2 접근권한은 제1 접근권한보다 더 높은 보안성을 요구할 수 있다. 따라서, 제2 보안 파티션에 저장되는 데이터는 제1 보안 파티션에 저장되는 데이터보다 더 신중하게 보호될 필요가 있는 데이터에 해당할 수 있다.In one embodiment, the
일 실시예에서, 메모리(110)는 제1 보안 파티션에 암호화키를 저장하고 제2 보안 파티션에 복호화키를 저장할 수 있다. 암호 장치(100)는 복수의 암호 알고리즘을 사용하여 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 암호화키 및 복호화키는 암호 장치(100)가 난수발생, 전자서명, 키일치 또는 인증을 수행하는 경우 사용하는 비밀키에 해당할 수 있다.In one embodiment, the
일 실시예에서, 메모리(110)는 보안영역 및 일반영역을 물리적으로 독립된 하드웨어로 구현될 수 있고, 보안영역을 구성하는 복수의 파티션들도 물리적으로 독립된 하드웨어로 구현될 수 있다. 따라서, 제2 접근권한이 제1 접근권한보다 더 높은 보안성을 가지고 있다고 하더라도 제2 접근권한을 통해서 제1 보안 파티션에 접근하는 것은 불가능할 수 있다.In one embodiment, the
양자 난수 발생기(130)는 양자 난수열을 출력으로 제공할 수 있는 하드웨어 칩에 해당할 수 있다. 예를 들어, 양자 난수 발생기(130)는 3(cm) * 3(cm) 또는 4 * 4의 크기를 갖는 하드웨어 칩으로서 암호 장치(100)를 구성할 수 있다. 양자 난수 발생기(130)는 양자역학적 성질을 이용하여 난수를 생성하는 장치에 해당하고, 보다 구체적으로, 빛의 랜덤성을 이용하거나 또는 방사성 동위원소의 자연붕괴 현상을 이용하여 구현될 수 있다.The quantum
일 실시예에서, 양자 난수 발생기(130)는 별도의 외부 잡음원 없이 독립적인 동작을 통해 양자 난수를 생성하도록 구현될 수 있고, 외부 잡음원을 이용하여 양자 난수를 생성하도록 구현될 수 있다. 양자 난수 발생기(130)는 양자 난수열을 제공하여 암호 장치(100)가 난수발생, 전자서명, 키일치 또는 인증을 수행하는데 사용하도록 할 수 있다.In an embodiment, the quantum
프로세서(150)는 암호 장치(100)의 양자 난수열 기반의 암호 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(110)를 관리할 수 있으며, 메모리(110)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(150)는 암호 장치(100)의 동작 전반을 제어할 수 있고, 메모리(110), 양자 난수 발생기(130)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(150)는 암호 장치(100)의 MCU(Micro Controller Unit)로 구현될 수 있다. The
일 실시예에서, 프로세서(150)는 메모리(110)의 보안영역에 대한 접근을 제어할 수 있다. 프로세서(150)는 특정 프로세스가 메모리(110)의 보안영역에 대한 접근을 요청한 경우 해당 프로세스의 접근권한을 확인하여 접근에 대한 허용여부를 결정할 수 있다. 보다 구체적으로, 프로세서(150)는 특정 프로세스가 메모리(110)의 보안영역에 대한 접근을 요청한 경우 해당 접근요청을 수신하여 접근요청의 대상이 되는 보안영역 상의 특정 영역을 결정하고 해당 특정 영역의 보안성을 판단할 수 있다. 프로세서(150)는 해당 특정 영역의 보안성을 기초로 해당 특정 영역의 접근을 위해 필요한 접근권한을 결정하고, 접근을 요청한 프로세스가 접근권한을 가지고 있는지 확인하여 해당 프로세스의 접근여부를 최종 결정할 수 있다.In an embodiment, the
프로세서(150)는 접근요청한 프로세스가 보안영역의 접근을 위해 필요한 접근권한을 가지고 있지 않은 경우 해당 프로세스의 접근 필요성을 판단하여 접근권한을 부여할 수 있다. 예를 들어, 프로세서(150)는 접근권한 부여를 위하여 보안영역으로의 접근을 요청한 프로세스의 식별 정보, 생성 위치 및 시점 등을 확인할 수 있고, 해당 프로세스를 생성한 프로그램이나 사용자 계정 등의 정보를 활용하여 접근 필요성을 판단할 수 있다. 프로세서(150)의 구체적 기능에 대해서는 도 2에서 보다 자세히 설명한다.If the process requesting the access does not have the necessary access rights for accessing the security area, the
도 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
암호키 획득부(210)는 특정 접근권한을 기초로 메모리(110)의 보안영역에 접근하여 암호화키 또는 복호화키를 획득할 수 있다. 암호화키 또는 복호화키는 암호 알고리즘에 사용되는 비밀키에 해당할 수 있고, 암호키는 암호화키 또는 복호화키를 모두 포함하는 용어에 해당할 수 있다. 암호키 획득부(210)는 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세스의 접근권한을 통해 메모리(110)의 보안영역에 접근할 수 있다. 프로세스의 접근권한은 해당 프로세스가 생성될 때 자동으로 부여될 수 있고, 프로세서(150)에 의해 메모리(110) 접근 시점을 기준으로 새롭게 부여될 수 있다.The encryption
암호키 획득부(210)는 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세스가 사용하는 암호 알고리즘의 종류를 기초로 메모리(110)의 보안영역에 저장된 암호화키 또는 복호화키를 결정할 수 있고 해당 암호키의 획득을 위하여 접근권한 부여를 요청할 수 있다. 프로세서(150)는 접근권한 부여 요청이 있는 경우 접근요청한 메모리(110)의 보안영역 위치, 프로세스 정보 및 암호 알고리즘 정보를 기초로 접근권한 부여여부를 결정할 수 있다.The encryption
일 실시예에서, 암호키 획득부(210)는 양자 난수 수신부(230)에 의해 수신된 양자 난수열에서 선택된 적어도 하나의 양자 난수를 기초로 암호화키 및 복호화키를 생성하여 메모리(110)의 보안영역에 저장할 수 있다. 암호키 획득부(210)는 암호 알고리즘을 처음으로 사용하는 경우 해당 시점을 기초로 새로운 암호화키 또는 복호화키를 생성할 수 있고, 생성된 암호키를 기초로 암호화 또는 복호화를 수행할 수 있다. In one embodiment, the encryption
암호키 획득부(210)는 새로운 암호키를 생성하기 위하여 양자 난수 발생기(130)에 의해 생성된 양자 난수를 활용할 수 있다. 암호키 획득부(210)는 암호키 생성을 위해 양자 난수 뿐만 아니라 다른 잡음원을 사용할 수 있다. 잡음원은 난수 생성을 위한 시드(seed)로 사용될 수 있는 예측 불가능한 물리적 소스에 해당할 수 있고, 예를 들어, 시간정보, 키보드, 마우스, 메모리 값, 네트워크 상태, 열잡음 등에 해당할 수 있다.The encryption
양자 난수 수신부(230)는 양자 난수 발생기(130)로부터 양자 난수열을 수신할 수 있다. 양자 난수 수신부(230)는 양자 난수열을 순서에 따라 활용할 수 있고, 양자 난수열에서 임의의 양자 난수를 선택하여 사용할 수 있다. 일 실시예에서, 양자 난수 수신부(230)는 양자 난수열에서 일정한 주기에 따라 양자 난수를 선택할 수 있고, 이 경우 일정한 주기는 양자 난수 간의 일정한 간격을 의미할 수 있다. 즉, 양자 난수 수신부(230)는 양자 난수열에서 일정한 간격만큼 떨어진 양자 난수만을 선택하여 사용할 수 있다.The quantum
일 실시예에서, 양자 난수 수신부(230)는 양자 난수열에서 다음의 수학식을 통하여 산출된 샘플링 주기에 따라 양자 난수를 선택하여 사용할 수 있다.In an embodiment, the quantum
[수학식][Equation]
여기에서, 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
암호연산 수행부(250)는 복수의 암호 알고리즘들 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 암호연산 수행부(250)는 암호 알고리즘, 암호키 및 양자 난수를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 일 실시예에서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증에 사용하는 암호 알고리즘을 구분하여 사용할 수 있고, 복호화(Decryption), 서명생성 또는 키생성에 사용하는 암호 알고리즘을 암호화(Encryption), 서명검증 또는 키인증에 사용하는 암호 알고리즘보다 더 제한할 수 있다. 암호연산 수행부(250)는 복호화를 위해 사용하는 복호화키가 암호화키보다 더욱 높은 보안성을 요구한다는 점을 고려하여 복호화에 사용되는 암호 알고리즘을 특정 수로 제한함으로써 제한된 수의 복호화키만을 저장하여 보안성을 보장할 수 있다.The
일 실시예에서, 암호연산 수행부(250)는 KCMVP(Korea Cryptographic Module Validation Program)로 구성된 암호 알고리즘 모집단 중 어느 하나를 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 여기에서, KCMVP는 한국 암호모듈 검증제도에 해당하고 국가 및 공공기관에 도입되는 상용 보안제품에 대한 안전성을 확보하기 위해 국가정보원에 의해 시행되고 있다. 암호연산 수행부(250)는 KCMVP 검증을 통과한 암호 암고리즘들로 구성된 암호 알고리즘 모집단만을 이용하여 난수발생, 전자서명, 키일치 또는 인증을 수행함으로써 암호 장치(100)의 보안성을 강화할 수 있다.In an embodiment, the
일 실시예에서, 암호연산 수행부(250)는 양자 난수를 기초로 KCMVP(Korea Cryptographic Module Validation Program) 검증을 통과한 암호 알고리즘들로 구성된 KCMVP 암호 알고리즘 모집단 및 KCMVP 검증을 수행하지 않은 암호 알고리즘들로 구성된 일반 암호 알고리즘 모집단 중 어느 하나를 결정하고 해당 암호 알고리즘 모집단에 속한 암호 알고리즘을 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. KCMVP 암호 알고리즘 모집단 및 일반 암호 알고리즘은 프로세서(150) 내부에 저장되어 관리될 수 있고, 메모리(110)의 일반영역에 저장되어 관리될 수 있다.In one embodiment, the
일 실시예에서, 암호연산 수행부(250)는 양자 난수 수신부(210)에 의해 수신된 양자 난수열에서 제1 양자 난수를 선택하고 해당 제1 양자 난수를 기초로 특정 암호 알고리즘 모집단을 결정할 수 있다. 암호연산 수행부(250)는 양자 난수열에서 제2 양자 난수를 선택하고 해당 제2 양자 난수를 기초로 결정된 특정 암호 알고리즘 모집단 내에서 특정 암호 알고리즘을 결정할 수 있다. 암호연산 수행부(250)는 결정된 특정 암호 알고리즘을 기초로 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다.In an embodiment, the
일 실시예에서, 암호연산 수행부(250)는 양자 난수 수신부(210)에 의해 수신된 양자 난수열에서 제1 양자 난수를 선택하여 제1 암호 알고리즘 모집단을 결정할 수 있으나, 양자 난수열에서 선택된 제2 양자 난수에 따라 제1 암호 알고리즘 모집단이 아닌 나머지 암호 알고리즘 모집단 내에서 특정 알고리즘을 선택하여 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있다. 제1 암호 알고리즘 모집단은 KCMVP 암호 알고리즘 모집단 및 일반 암호 알고리즘 모집단 중 제1 양자 난수를 기초로 암호연산 수행부(250)에 의해 결정된 암호 알고리즘 모집단에 해당할 수 있다. In one embodiment, the
제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
일 실시예에서, 암호연산 수행부(250)는 메모리(110)의 일반영역에 저장된 적어도 하나의 응용 프로그램에 관한 입력 및 출력 데이터에 대해 전자서명을 수행할 수 있다. 암호 장치(100)는 외부 데이터를 입력으로 수신할 수 있고 외부 데이터를 전자서명하여 외부데이터에 전자서명이 추가된 결과를 출력할 수 있다. 또한, 암호 장치(100)는 내부에 포함된 메모리(110)에 저장되고 동작되는 응용 프로그램의 입력 및 출력 데이터를 전자서명하여 암호 장치(100) 외부로 제공할 수 있다.In an embodiment, the
여기에서, 전자서명(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
일 실시예에서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 생성된 잡음원을 메모리(110)의 보안영역의 제3 보안 파티션에 저장할 수 있다. 여기에서, 제3 보안 파티션은 보안영역을 구성하는 복수의 보안 파티션들 중 어느 하나에 해당할 수 있고, 제1 보안 파티션 및 제2 보안 파티션과 구분되며, 제1 접근권한보다 더 낮은 보안성을 요구하는 제3 접근권한을 통해 접근할 수 있는 보안 파티션에 해당할 수 있다. 다른 실시예에서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 생성된 잡음원을 메모리(110)의 일반영역에 저장할 수 있다.In an embodiment, the
암호연산 수행부(250)는 양자 난수 뿐만 아니라 잡음원을 모두 이용하여 난수발생, 전자서명, 키일치 또는 인증을 수행할 수 있고, 암호연산 과정에서 발생하는 다양한 잡음원들을 메모리(110)의 특정 영역에 보관하여 다음 암호연산 과정에서 활용할 수 있다. 암호연산 수행부(250)는 제3 보안 파티션에 저장된 기존 잡음원을 삭제하고 새로운 잡음원으로 대체할 수 있고, 기존 잡음원과 새로운 잡음원을 통합하여 갱신할 수 있다.The
일 실시예에서, 암호연산 수행부(250)는 제1 접근권한 또는 제2 접근권한을 부여받은 경우 메모리(110)의 보안영역의 제3 보안 파티션을 접근할 수 있다. 메모리(110)의 제3 보안 파티션은 제3 접근권한을 부여받은 경우에만 접근할 수 있으나, 경우에 따라서는 제3 접근권한보다 더 높은 보안성을 가진 제1 접근권한 또는 제2 접근권한을 부여받은 경우 제3 접근권한의 부여 과정없이 제3 보안 파티션에 접근할 수 있다. 따라서, 암호연산 수행부(250)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 메모리(110)의 보안 영역에 대한 접근권한을 부여받은 경우 제3 보안 파티션에 저장된 잡음원을 제3 접근권한 없이도 사용할 수 있다.In an embodiment, the encryption
일 실시예에서, 암호연산 수행부(250)는 잡음원을 양자 난수 발생기(130)에 입력으로 제공하여 출력된 양자 난수를 기초로 개체 또는 메시지에 대한 인증을 수행할 수 있다. 양자 난수 발생기(130)는 외부 잡음원없이 독립적인 양자 난수를 생성할 수 있고, 외부 잡음원을 이용하여 양자 난수를 생성할 수 있다. 따라서, 암호연산 수행부(250)는 메모리(110)에 저장된 잡음원을 양자 난수 발생기(130)에 제공하여 양자 난수 발생기(130)가 잡음원을 이용하여 양자 난수를 생성하도록 할 수 있다. In an embodiment, the
양자 난수 발생기(130)는 독립적인 양자 난수를 생성하더라도 프로세서(150)에 의해 외부 잡음원이 입력으로 제공되는 경우 해당 외부 잡음원을 이용하여 양자 난수를 생성하도록 자동으로 전환될 수 있다. 다른 실시예에서, 암호연산 수행부(250)는 잡음원을 양자 난수 발생기(130)에 주기적으로 입력하여 출력된 양자 난수를 기초로 개체 또는 메시지에 대한 인증을 수행할 수 있다. 예를 들어, 암호연산 수행부(250)는 반복되는 암호연산 과정에서 양자 난수를 사용하는 시점에 이전 양자 난수가 잡음원 없이 생성된 양자 난수인 경우 잡음원을 양자 난수 발생기(130)에 제공하여 출력된 양자 난수를 사용할 수 있고, 이전 양자 난수가 잡음원을 이용하여 생성된 양자 난수인 경우 잡음원을 제공하지 않고 양자 난수 발생기(130)를 통해 독립적으로 생성된 양자 난수를 사용할 수 있다.Even if the quantum
제어부(270)는 프로세서(150)의 전체적인 동작을 제어하고, 암호키 획득부(210), 양자 난수 수신부(230) 및 암호연산 수행부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The
도 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
도 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
프로세서(430)는 생성된 암호화키 또는 복호화키를 메모리(450)의 보안영역에 저장할 수 있다. 보다 구체적으로, 프로세서(430)는 난수발생, 전자서명, 키일치 또는 인증을 수행하는 프로세스에 제1 보안 파티션 또는 제2 보안 파티션에 접근할 수 있는 접근권한을 부여할 수 있다. 프로세서(430)에 의해 부여된 접근권한에 따라 제1 보안 파티션에는 암호화키가 저장되고, 제2 보안 파티션에는 복호화키가 저장될 수 있다. 프로세서(430)는 제2 보안 파티션에 접근할 수 있는 제2 접근권한이 제1 보안 파티션에 접근할 수 있는 제1 접근권한보다 더 높은 보안성을 갖도록 제어할 수 있다.The
프로세서(430)는 양자 난수 발생기(410)로부터 수신한 양자 난수열과 메모리(450)의 보안영역에 저장된 암호화키를 이용하여 전자서명, 난수발생, 키일치 또는 인증을 수행할 수 있다. 일 실시예에서, 프로세서(430)는 암호화 과정에서 발생하는 잡음원을 메모리(450)의 보안영역에 보관할 수 있다. 프로세서(430)는 난수발생, 전자서명, 키일치 또는 인증 과정에서 반복되는 암호연산에 사용되는 양자 난수를 양자 난수 발생기(410)로부터 수신하여 사용할 수 있고, 양자 난수 사용 시점에 메모리(450)에 저장된 잡음원을 양자 난수 발생기(410)에 제공함으로써 잡음원에 기초하여 생성된 양자 난수를 사용할 수도 있다.The
도 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
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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 접근권한보다 더 높은 보안성을 요구하는 제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.
상기 제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.
상기 양자 난수열에서 선택된 적어도 하나의 양자 난수를 기초로 상기 암호화키 및 상기 복호화키를 생성하여 상기 보안영역에 저장하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.
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.
상기 양자 난수를 기초로 상기 복수의 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.
상기 잡음원을 상기 양자 난수 발생기에 입력으로 제공하여 출력된 양자 난수를 기초로 개체 또는 메시지에 대한 상기 인증을 수행하는 것을 특징으로 하는 양자 난수열 기반의 암호 장치.
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.
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)
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)
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)
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 |
-
2018
- 2018-06-20 KR KR1020180070855A patent/KR102153317B1/en active IP Right Grant
Cited By (2)
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 |