KR102466273B1 - Apparatus and method for multithreading cryptographic operation - Google Patents

Apparatus and method for multithreading cryptographic operation Download PDF

Info

Publication number
KR102466273B1
KR102466273B1 KR1020180154680A KR20180154680A KR102466273B1 KR 102466273 B1 KR102466273 B1 KR 102466273B1 KR 1020180154680 A KR1020180154680 A KR 1020180154680A KR 20180154680 A KR20180154680 A KR 20180154680A KR 102466273 B1 KR102466273 B1 KR 102466273B1
Authority
KR
South Korea
Prior art keywords
key
multithreading
cryptographic operation
threading
function
Prior art date
Application number
KR1020180154680A
Other languages
Korean (ko)
Other versions
KR20200067626A (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 KR1020180154680A priority Critical patent/KR102466273B1/en
Publication of KR20200067626A publication Critical patent/KR20200067626A/en
Application granted granted Critical
Publication of KR102466273B1 publication Critical patent/KR102466273B1/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

암호 연산 멀티스레딩 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 방법은 암호 연산 멀티스레딩 장치의 암호 연산 멀티스레딩 방법에 있어서, 암호 연산을 위한 함수 및 허위 키의 개수와 길이를 입력 받는 단계 및 상기 함수에 상기 허위 키를 입력한 함수와 상기 함수에 올바른 키를 입력한 함수에 대한 암호 연산 멀티스레딩을 수행하는 단계를 포함한다.A cryptographic operation multithreading apparatus and method are disclosed. A cryptographic operation multithreading method according to an embodiment of the present invention is a cryptographic operation multithreading method of a cryptographic operation multithreading device, comprising the steps of receiving inputs of a function for cryptographic operation and the number and length of false keys, and the functions for performing the false keys. and performing cryptographic operation multithreading on a function for which a key is input and a function for which a correct key is input for the function.

Description

암호 연산 멀티스레딩 장치 및 방법 {APPARATUS AND METHOD FOR MULTITHREADING CRYPTOGRAPHIC OPERATION}Cryptographic operation multithreading apparatus and method {APPARATUS AND METHOD FOR MULTITHREADING CRYPTOGRAPHIC OPERATION}

본 발명은 암호 연산 기술에 관한 것으로, 보다 상세하게는 전자파 분석 공격에 대응하는 암호 연산 기술에 관한 것이다.The present invention relates to a cryptographic operation technique, and more particularly, to a cryptographic computation technique corresponding to an electromagnetic wave analysis attack.

여러 인증 알고리즘에는 효율적인 키관리/기밀성/무결성 검증/인증/부인방지를 위해 비대칭키 암호가 많이 사용되고 있다. Asymmetric key cryptography is widely used in various authentication algorithms for efficient key management/confidentiality/integrity verification/authentication/non-repudiation.

그러나, 비대칭키 암호는 암호 연산을 수행하는 연산 장치에서 발생하는 전자파를 분석하여 비밀키를 분석하여 공격할 수 있는 문제점이 있다.However, the asymmetric key cryptography has a problem in that it can be attacked by analyzing the secret key by analyzing the electromagnetic waves generated from the computing device that performs the cryptographic operation.

도 1은 전자파 파형 분석을 통한 비대칭키 분석을 나타낸 도면이다.1 is a diagram showing an asymmetric key analysis through electromagnetic wave waveform analysis.

도 1을 참조하면, 비대칭키 암호인 RSA 또는 CRT-RSA 암호 연산시 비밀키의 비트값 0 또는 1에 따라서 square 또는 square-multiply 연산이 결정되고 이에 따라 연산 디바이스 외부로 누출되는 전자파의 모형이 다르다. 따라서 아래의 그림처럼 전자파 분석을 통해 비밀키를 분석하는 것이 가능하다.Referring to Figure 1, in the case of RSA or CRT-RSA cryptographic operation, which is an asymmetric key encryption, square or square-multiply operation is determined according to the bit value 0 or 1 of the secret key, and accordingly, the model of electromagnetic waves leaking to the outside of the computing device is different. . Therefore, it is possible to analyze the secret key through electromagnetic wave analysis as shown in the figure below.

또한, 상기 전자파 수집 환경을 통해 획득한 전자파를 통해 대칭키 암호에 대한 차분전력분석을 실시하는 것 또한 가능하다.In addition, it is also possible to perform differential power analysis on symmetric key cryptography through electromagnetic waves acquired through the electromagnetic wave collection environment.

기존의 부채널 분석에 대응하기 위한 더미 연산의 삽입이나 마스킹 기법은 다음의 두 가지 문제점이 있다. 첫 째, 주어진 암호 알고리즘 내부를 수정하여 더미 연산을 삽입하거나 중간값을 임의로 변경하기 위한 마스킹을 실시하기 위하여 새로운 로직을 삽입해야 한다. 따라서, 주어진 암호 알고리즘에 대한 재개발 과정이 필요하다. 둘 째, 더미 연산의 삽입이나 마스킹 기법은 각 암호 연산에 앞서 동적 난수 생성을 위한 난수 생성기가 필요하며 높은 엔트로피를 가진 난수 생성기는 높은 비용이 소요된다. The insertion or masking technique of a dummy operation to cope with the conventional side-channel analysis has the following two problems. First, new logic must be inserted to modify the inside of a given encryption algorithm to insert a dummy operation or perform masking to arbitrarily change an intermediate value. Therefore, a redevelopment process for a given encryption algorithm is required. Second, the insertion of dummy operation or masking technique requires a random number generator for dynamic random number generation prior to each cryptographic operation, and a random number generator with high entropy requires high cost.

따라서, 본 발명은 기존의 주어진 암호 알고리즘에 대한 수정을 요구하지 않고, 동적 난수 생성기에 의존하지 않는 전자파 분석에 대응하는 암호 연산 방법을 제안한다.Therefore, the present invention proposes a cryptographic operation method corresponding to electromagnetic wave analysis that does not require modification of a given existing cryptographic algorithm and does not depend on a dynamic random number generator.

한편, 한국공개특허 제 10-2011-0085403 호"대칭키 암호화 시스템의 마스킹 연산 방법 및 장치"는 마스킹 기법을 사용하기 위한 대칭키 암호화 알고리즘에 관하여 개시하고 있다.On the other hand, Korean Patent Publication No. 10-2011-0085403 "Masking Operation Method and Device for Symmetric Key Encryption System" discloses a symmetric key encryption algorithm for using a masking technique.

그러나, 한국공개특허 제 10-2011-0085403 호는 기존 암호 알고리즘을 수정하고 난수 생성기가 필요한 한계가 있다.However, Korean Patent Publication No. 10-2011-0085403 has limitations in that an existing encryption algorithm is modified and a random number generator is required.

본 발명은 암호 연산 장치로부터 발생하는 전자파 분석 공격을 방어하는 것을 목적으로 한다.An object of the present invention is to defend against an electromagnetic wave analysis attack generated from a cryptographic computing device.

또한, 본 발명은 비대칭키 암호 또는 대칭키 암호의 비밀키를 분석하는 공격에 대한 기존 라이브러리 수정이나 암호 알고리즘(암호 모듈)의 수정 없이 전자파 분석 공격을 방어하는 것을 목적으로 한다.In addition, an object of the present invention is to defend against an electromagnetic wave analysis attack without modifying an existing library or a cryptographic algorithm (cipher module) against an attack that analyzes a secret key of asymmetric key cryptography or symmetric key cryptography.

또한, 본 발명은 난수 생성기를 사용하지 않고 전자파 분석 공격을 방어하기 위한 것으로, 전자파 분석 공격을 방어하기 위한 비용을 줄이는 것을 목적으로 한다.In addition, the present invention is to defend against electromagnetic wave analysis attacks without using a random number generator, and an object of the present invention is to reduce costs for defending against electromagnetic wave analysis attacks.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 멀티스레딩 암호 연산 방법은 암호 연산 멀티스레딩 장치의 암호 연산 멀티스레딩 방법에 있어서, 암호 연산을 위한 함수 및 허위 키의 개수와 길이를 입력 받는 단계 및 상기 함수에 상기 허위 키를 입력한 함수와 상기 함수에 올바른 키를 입력한 함수에 대한 암호 연산 멀티스레딩을 수행하는 단계를 포함한다.In order to achieve the above object, a multithreading cryptographic operation method according to an embodiment of the present invention is a cryptographic operation multithreading method of a cryptographic operation multithreading device, in which the number and length of a function for cryptographic operation and false keys are received. and performing cryptographic operation multithreading on the function inputting the false key to the function and the function inputting the correct key to the function.

이 때, 멀티스레딩 수행부는 올바른 키와 허위 키를 무작위 순서대로 실행하는 멀티스레딩을 수행할 수 있다. In this case, the multithreading performing unit may perform multithreading in which correct keys and fake keys are executed in random order.

이 때, 멀티스레딩 수행부는 올바른 키와 허위 키가 멀티스레딩으로 수행되는 순서를 설정할 수 있다.At this time, the multi-threading performing unit may set the order in which the correct key and the false key are multi-threaded.

이 때, 올바른 키와 허위 키가 멀티스레딩으로 수행되는 순서는 사용자의 설정 또는 기본 설정에 따를 수도 있다.At this time, the order in which the correct key and the false key are multi-threaded may be performed according to a user's setting or basic setting.

이 때, 멀티스레딩 수행부는 올바른 키에 대한 암호 연산으로 멀티스레딩을 시작할 경우, 첫 비트는 항상 올바른 키라는 단서가 될 수 있기 때문에 항상 허위 키에 대한 암호 연산으로 멀티스레딩을 시작할 수 있다. At this time, when the multithreading performer starts multithreading by cryptographic operation for a correct key, the first bit can always be a clue that it is a correct key, so it can always start multithreading by cryptographic operation for a false key.

이 때, 멀티스레딩 수행부는 하나의 비밀키에 대한 비대칭키 또는 대칭키 연산은 복수개의 키에 대한 연산이 무작위 순서로 포함된 전자파 파형을 생성하기 때문에 올바른 키에 대한 전자파 파형 분석을 방어할 수 있다.At this time, the multi-threading performer can defend the electromagnetic wave waveform analysis for the correct key because an asymmetric key or symmetric key operation for one secret key generates an electromagnetic wave waveform including operations for a plurality of keys in random order. .

이 때, 멀티스레딩 수행부는 암호 연산을 위한 API를 입력값으로 (메시지, 비밀키, 키의 크기)를 받는 경우, 비대칭키 또는 대칭키 암호에 대한 별도의 수정 없이 전자파 파형 분석을 방어할 수 있다. At this time, when the multithreading unit receives the API for cryptographic operation as an input value (message, secret key, key size), it can defend against electromagnetic wave analysis without separate modification of asymmetric key or symmetric key cryptography. .

이 때, 멀티스레딩 수행부는 평문 (메시지)와 비밀키를 입력으로 받는 모든 암호에 일반적으로 적용이 가능하므로 비대칭키 또는 대칭키 암호 알고리즘에 대한 전자파 분석을 방어할 수 있다.At this time, the multi-threading execution unit can be generally applied to all encryptions that receive a plain text (message) and a secret key as inputs, so it can defend against electromagnetic wave analysis for asymmetric key or symmetric key encryption algorithms.

이 때, 멀티스레딩 수행부(120)는 운영체제의 스케쥴링에 의해 CPU 타입을 배정하여 암호 연산 멀티스레딩을 수행하는 것으로 난수 생성기의 이용으로 볼 수 없다. At this time, the multi-threading performer 120 performs multi-threading of cryptographic operations by allocating a CPU type according to scheduling of an operating system, and cannot be regarded as the use of a random number generator.

즉, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치 및 방법은 특정 연산이 특정 시각에 배치될 확률을 크게 낮추어 부채널 분석에 필요한 파형 정렬을 방해하므로 안전성을 향상 시킬 수 있다.That is, the cryptographic operation multithreading apparatus and method according to an embodiment of the present invention significantly lowers the probability that a specific operation is arranged at a specific time, thereby preventing the alignment of waveforms required for side-channel analysis, thereby improving safety.

본 발명은 암호 연산 장치로부터 발생하는 전자파 분석 공격을 방어할 수 있다.The present invention can defend against electromagnetic wave analysis attacks generated from cryptographic computing devices.

또한, 본 발명은 비대칭키 암호 또는 대칭키 암호의 비밀키를 분석하는 공격에 대한 기존 라이브러리 수정이나 암호 알고리즘(암호 모듈)의 수정 없이 전자파 분석 공격을 방어할 수 있다.In addition, the present invention can defend against an electromagnetic wave analysis attack without modifying an existing library or a cryptographic algorithm (cipher module) against an attack that analyzes a secret key of asymmetric key cryptography or symmetric key cryptography.

또한, 본 발명은 난수 생성기를 사용하지 않고 전자파 분석 공격을 방어하기 위한 것으로, 전자파 분석 공격을 방어하기 위한 비용을 줄일 수 있다.In addition, the present invention is for defending an electromagnetic wave analysis attack without using a random number generator, and thus the cost for defending against an electromagnetic wave analysis attack can be reduced.

도 1은 전자파 파형 분석을 통한 비대칭키 분석을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치를 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 방법을 나타낸 동작흐름도이다.
도 4는 본 발명의 일실시예에 따른 암호 연산 멀티스레딩을 수행한 결과로 생성된 전자파를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
1 is a diagram showing an asymmetric key analysis through electromagnetic wave waveform analysis.
2 is a block diagram illustrating a multithreading device for cryptographic operation according to an embodiment of the present invention.
3 is an operation flowchart illustrating a multithreading method for cryptographic operation according to an embodiment of the present invention.
4 is a diagram illustrating electromagnetic waves generated as a result of performing cryptographic calculation multithreading according to an embodiment of the present invention.
5 is a diagram illustrating a computer system according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings. Here, repeated descriptions, well-known functions that may unnecessarily obscure the subject matter of the present invention, and detailed descriptions of configurations are omitted. Embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clarity.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치를 나타낸 블록도이다.2 is a block diagram illustrating a multithreading device for cryptographic operation according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치는 키 입력부(110) 및 멀티스레딩 수행부(120)를 포함한다.Referring to FIG. 2 , a multithreading apparatus for cryptographic calculation according to an embodiment of the present invention includes a key input unit 110 and a multithreading unit 120 .

키 입력부(110)는 암호 연산을 위한 함수 및 허위 키의 개수와 길이를 입력 받을 수 있다.The key input unit 110 may receive functions for encryption operations and the number and length of false keys.

이 때, 키 입력부(110)는 적어도 두 개 이상의 복수개의 허위 키를 입력 받을 수 있다.At this time, the key input unit 110 may receive at least two or more fake keys.

이 때, 허위 키는 올바른 키와 키의 길이가 다를 수 있다.At this time, the fake key may have a different length from the correct key.

이 때, 복수의 허위 키의 크기는 사용자의 설정 및 기본 설정에 상응할 수 있다.In this case, the sizes of the plurality of fake keys may correspond to user settings and basic settings.

멀티스레딩 수행부(120)는 상기 함수에 상기 허위 키를 입력한 함수와 상기 함수에 올바른 키를 입력한 함수에 대한 암호 연산 멀티스레딩을 수행할 수 있다.The multithreading performer 120 may perform cryptographic operation multithreading on the function inputting the false key to the function and the function inputting the correct key to the function.

이 때, 멀티스레딩 수행부(120)는 올바른 키와 허위 키를 무작위 순서대로 실행하는 멀티스레딩을 수행할 수 있다. At this time, the multithreading performer 120 may perform multithreading in which the correct key and the fake key are executed in random order.

이 때, 멀티스레딩 수행부(120)는 올바른 키와 허위 키가 멀티스레딩으로 수행되는 순서를 설정할 수 있다.At this time, the multi-threading performer 120 may set the order in which the correct key and the false key are multi-threaded.

이 때, 올바른 키와 허위 키가 멀티스레딩으로 수행되는 순서는 사용자의 설정 또는 기본 설정에 따를 수도 있다.At this time, the order in which the correct key and the false key are multi-threaded may be performed according to a user's setting or basic setting.

이 때, 멀티스레딩 수행부(120)는 올바른 키에 대한 암호 연산으로 멀티스레딩을 시작할 경우, 첫 비트는 항상 올바른 키라는 단서가 될 수 있기 때문에 항상 허위 키에 대한 암호 연산으로 멀티스레딩을 시작할 수 있다. At this time, when the multithreading performer 120 starts multithreading with a cryptographic operation for a correct key, the first bit can always be a clue that the key is correct, so it can always start multithreading with a cryptographic operation for a fake key. have.

이 때, 멀티스레딩 수행부(120)는 하나의 비밀키에 대한 비대칭키 또는 대칭키 연산은 복수개의 키에 대한 연산이 무작위 순서로 포함된 전자파 파형을 생성하기 때문에 올바른 키에 대한 전자파 파형 분석을 방어할 수 있다.At this time, the multithreading performer 120 analyzes the electromagnetic wave waveform for the correct key because an asymmetric key or symmetric key operation for one secret key generates an electromagnetic wave waveform including operations for a plurality of keys in random order. can defend

이 때, 멀티스레딩 수행부(120)는 암호 연산을 위한 API를 입력값으로 (메시지, 비밀키, 키의 크기)를 받는 경우, 비대칭키 또는 대칭키 암호에 대한 별도의 수정 없이 전자파 파형 분석을 방어할 수 있다. At this time, the multi-threading performer 120, when receiving the API for cryptographic operation as an input value (message, secret key, key size), analyzes the electromagnetic wave waveform without separate modification of the asymmetric key or symmetric key encryption. can defend

이 때, 멀티스레딩 수행부(120)는 평문 (메시지)와 비밀키를 입력으로 받는 모든 암호에 일반적으로 적용이 가능하므로 비대칭키 또는 대칭키 암호 알고리즘에 대한 전자파 분석을 방어할 수 있다.At this time, since the multithreading performer 120 can be generally applied to all encryptions that receive a plain text (message) and a secret key as inputs, electromagnetic wave analysis for an asymmetric key or symmetric key encryption algorithm can be defended.

예를 들어, 주어진 암호의 구현 함수는 E(m, k)로 주어진다고 가정할 때, E는 함수명, m는 평문, k를 키라고 할 수 있다.For example, assuming that the implementation function of a given cipher is given by E(m, k), E is the function name, m is the plaintext, and k is the key.

이 때, 키 입력부(110)는 올바른 키를 제외하고 부채널 분석을 방어하기 위해 사용될 허위 키의 수를 입력 받을 수 있다.At this time, the key input unit 110 may receive input of the number of false keys to be used to defend against side-channel analysis, excluding correct keys.

이 때, 키 입력부(110)는 복수개의 허위 키들에 대한 키의 길이를 입력 받을 수 있다.At this time, the key input unit 110 may receive key lengths for a plurality of false keys.

이 때, 멀티스레딩 수행부(120)는 올바른 키와 허위키에 대한 함수 E를 멀티스레딩을 통해 암호 연산을 수행할 수 있다.At this time, the multithreading performer 120 may perform a cryptographic operation on the function E for the correct key and the false key through multithreading.

예를 들어, 멀티스레딩 수행부(120)는 올바른 키 k와 3개의 허위 키를 k1, k2, k3라 할 때, E(m, k), E(m, k1), E(m, k2), E(m, k3)에 대한 멀티스레딩을 수행할 수 있고, 허위 키에 대한 평문 m을 임의로 생성할 수 있다.For example, the multithreading performer 120 assumes that the correct key k and three fake keys are k1, k2, and k3, E(m, k), E(m, k1), E(m, k2) , E(m, k3) can be multi-threaded, and a plaintext m for a fake key can be randomly generated.

따라서, 멀티스레딩 수행부(120)는 함수 E에 대하여 수정이 이루어지지 않았고, 다만 입력되는 키만 올바른 키 또는 허위 키로 구성된 멀티스레딩 프로그램을 실행시킬 수 있다.Therefore, the multi-threading performer 120 can execute a multi-threading program composed of a correct key or a fake key, except that the function E has not been modified, but only the input key.

이 때, 멀티스레딩 수행부(120)는 운영체제의 스케쥴링에 의해 CPU 타입을 배정하여 암호 연산 멀티스레딩을 수행하는 것으로 난수 생성기의 이용으로 볼 수 없다. At this time, the multi-threading performer 120 performs multi-threading of cryptographic operations by allocating a CPU type according to scheduling of an operating system, and cannot be regarded as the use of a random number generator.

즉, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치 및 방법은 특정 연산이 특정 시각에 배치될 확률을 크게 낮추어 부채널 분석에 필요한 파형 정렬을 방해하므로 안전성을 향상 시킬 수 있다.That is, the cryptographic operation multithreading apparatus and method according to an embodiment of the present invention significantly lowers the probability that a specific operation is arranged at a specific time, thereby preventing the alignment of waveforms required for side-channel analysis, thereby improving safety.

도 3은 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 방법을 나타낸 동작흐름도이다.3 is an operation flowchart illustrating a multithreading method for cryptographic operation according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 방법은 먼저 허위 키의 개수를 입력 받을 수 있다(S210).Referring to FIG. 3 , the multithreading method for cryptographic operation according to an embodiment of the present invention may first receive input of the number of fake keys (S210).

즉, 단계(S210)는 암호 연산을 위한 함수 및 허위 키의 개수를 입력 받을 수 있다.That is, in step S210, a function for encryption operation and the number of false keys may be input.

이 때, 단계(S210)는 올바른 키를 제외하고 부채널 분석을 방어하기 위해 사용될 허위 키의 수를 입력 받을 수 있다.At this time, in step S210, the number of false keys to be used to defend against side-channel analysis may be input, excluding correct keys.

이 때, 단계(S210)는 적어도 두 개 이상의 복수개의 허위 키를 입력 받을 수 있다.At this time, in step S210, at least two or more fake keys may be input.

예를 들어, 주어진 암호의 구현 함수는 E(m, k)로 주어진다고 가정할 때, E는 함수명, m는 평문, k를 키라고 할 수 있다.For example, assuming that the implementation function of a given cipher is given by E(m, k), E is the function name, m is the plaintext, and k is the key.

또한, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 방법은 허위 키의 길이를 입력 받을 수 있다(S220).In addition, the cryptographic calculation multithreading method according to an embodiment of the present invention may receive input of the length of a fake key (S220).

즉, 단계(S220)는 허위 키의 길이를 입력 받을 수 있다.That is, in step S220, the length of the fake key may be input.

이 때, 허위 키는 올바른 키와 키의 길이가 다를 수 있다.At this time, the fake key may have a different length from the correct key.

이 때, 복수의 허위 키의 크기는 사용자의 설정 및 기본 설정에 상응할 수 있다.In this case, the sizes of the plurality of fake keys may correspond to user settings and basic settings.

또한, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 방법은 올바른 키와 허위 키에 대한 멀티스레딩을 수행할 수 있다(S230).In addition, the multithreading method for cryptographic operation according to an embodiment of the present invention may perform multithreading for a correct key and a false key (S230).

즉, 단계(S230)는 상기 함수에 상기 허위 키를 입력한 함수와 상기 함수에 올바른 키를 입력한 함수에 대한 암호 연산 멀티스레딩을 수행할 수 있다.That is, in step S230, cryptographic operation multithreading may be performed on the function inputting the false key to the function and the function inputting the correct key to the function.

이 때, 단계(S230)는 올바른 키와 허위 키를 무작위 순서대로 실행하는 멀티스레딩을 수행할 수 있다. At this time, in step S230, multi-threading may be performed in which the correct key and the false key are executed in random order.

이 때, 단계(S230)는 올바른 키와 허위 키가 멀티스레딩으로 수행되는 순서를 설정할 수 있다.At this time, in step S230, the order in which the correct key and the false key are multithreaded may be set.

이 때, 올바른 키와 허위 키가 멀티스레딩으로 수행되는 순서는 사용자의 설정 또는 기본 설정에 따를 수도 있다.At this time, the order in which the correct key and the false key are multi-threaded may be performed according to a user's setting or basic setting.

이 때, 단계(S230)는 올바른 키에 대한 암호 연산으로 멀티스레딩을 시작할 경우, 첫 비트는 항상 올바른 키라는 단서가 될 수 있기 때문에 항상 허위 키에 대한 암호 연산으로 멀티스레딩을 시작할 수 있다. At this time, in step S230, when multithreading is started with cryptographic operation for a correct key, the first bit can always be a clue that the key is correct, so multithreading can always be started with cryptographic operation for a fake key.

이 때, 단계(S230)는 하나의 비밀키에 대한 비대칭키 또는 대칭키 연산은 복수개의 키에 대한 연산이 무작위 순서로 포함된 전자파 파형을 생성하기 때문에 올바른 키에 대한 전자파 파형 분석을 방어할 수 있다.At this time, in step S230, since an asymmetric key or symmetric key operation for one secret key generates an electromagnetic wave waveform including operations for a plurality of keys in random order, it is possible to defend the electromagnetic wave waveform analysis for the correct key. have.

이 때, 단계(S230)는 암호 연산을 위한 API를 입력값으로 (메시지, 비밀키, 키의 크기)를 받는 경우, 비대칭키 또는 대칭키 암호에 대한 별도의 수정 없이 전자파 파형 분석을 방어할 수 있다. At this time, in step S230, when an API for cryptographic operation is received as input values (message, secret key, key size), electromagnetic wave analysis can be defended without separate modification of asymmetric key or symmetric key cryptography. have.

이 때, 단계(S230)는 평문 (메시지)와 비밀키를 입력으로 받는 모든 암호에 일반적으로 적용이 가능하므로 비대칭키 또는 대칭키 암호 알고리즘에 대한 전자파 분석을 방어할 수 있다.At this time, step S230 is generally applicable to all encryptions that receive a plain text (message) and a secret key as inputs, so it is possible to defend against electromagnetic wave analysis for asymmetric key or symmetric key encryption algorithms.

또한, 단계(S230)는 올바른 키와 허위키에 대한 함수 E를 멀티스레딩을 통해 암호 연산을 수행할 수 있다.In addition, in step S230, the function E for the correct key and the fake key may perform cryptographic operation through multi-threading.

예를 들어, 단계(S230)는 올바른 키 k와 3개의 허위 키를 k1, k2, k3라 할 때, E(m, k), E(m, k1), E(m, k2), E(m, k3)에 대한 멀티스레딩을 수행할 수 있고, 허위 키에 대한 평문 m을 임의로 생성할 수 있다.For example, in step S230, when the correct key k and three fake keys are k1, k2, and k3, E(m, k), E(m, k1), E(m, k2), E( m, k3) can be multi-threaded, and a plaintext m for a false key can be randomly generated.

따라서, 단계(S230)는 함수 E에 대하여 수정이 이루어지지 않았고, 다만 입력되는 키만 올바른 키 또는 허위 키로 구성된 멀티스레딩 프로그램을 실행시킬 수 있다. Therefore, in step S230, the function E is not modified, but only the input key can execute a multi-threading program configured with a correct key or a fake key.

이 때, 단계(S230)는 운영체제의 스케쥴링에 의해 CPU 타입을 배정하여 암호 연산 멀티스레딩을 수행하는 것으로 난수 생성기의 이용으로 볼 수 없다. At this time, step S230 assigns a CPU type according to scheduling of the operating system to perform cryptographic operation multi-threading, and cannot be regarded as the use of a random number generator.

즉, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치 및 방법은 특정 연산이 특정 시각에 배치될 확률을 크게 낮추어 부채널 분석에 필요한 파형 정렬을 방해하므로 안전성을 향상 시킬 수 있다.That is, the cryptographic operation multithreading apparatus and method according to an embodiment of the present invention significantly lowers the probability that a specific operation is arranged at a specific time, thereby preventing the alignment of waveforms required for side-channel analysis, thereby improving safety.

도 4는 본 발명의 일실시예에 따른 암호 연산 멀티스레딩을 수행한 결과로 생성된 전자파를 나타낸 도면이다.4 is a diagram illustrating electromagnetic waves generated as a result of performing cryptographic calculation multithreading according to an embodiment of the present invention.

도 4를 참조하면, 키의 종류에 따라 암호 연산을 수행한 전자파 파형을 색깔별로 나타낸 것을 알 수 있다.Referring to FIG. 4 , it can be seen that electromagnetic wave waveforms on which encryption operations have been performed are shown by color according to the type of key.

도 4에 도시된 바와 같이, 결과적으로 서로 다른 색이 서로 다른 키를 의미한다고 했을 때, 하나의 비밀키에 대한 비대칭키 연산은 복수개의 키에 대한 연산이 무작위 순서로 포함된 전자파 파형을 생성하기 때문에 올바른 키를 분석할 수 없게 되는 것을 알 수 있다. 보다 상세하게는 전자파 파형에 대한 키는 같은 색의 조합만을 이용해야지만 올바른 비밀키를 재구성할 수 있다. As shown in FIG. 4, as a result, when different colors mean different keys, an asymmetric key operation for one secret key generates an electromagnetic wave waveform including operations for a plurality of keys in random order. Therefore, it can be seen that the correct key cannot be analyzed. More specifically, only the combination of the same color as the key for the electromagnetic wave waveform can be used to reconstruct the correct secret key.

도 5는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.5 is a diagram illustrating a computer system according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 5에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 5 , the multi-threading apparatus for cryptographic operation according to an embodiment of the present invention may be implemented in a computer system 1100 such as a computer-readable recording medium. As shown in FIG. 5, the computer system 1100 includes one or more processors 1110, memory 1130, user interface input device 1140, and user interface output device 1150 communicating with each other through a bus 1120. and storage 1160 . In addition, computer system 1100 may further include a network interface 1170 coupled to network 1180 . The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160 . The memory 1130 and the storage 1160 may be various types of volatile or non-volatile storage media. For example, the memory may include ROM 1131 or RAM 1132 .

이상에서와 같이 본 발명의 일실시예에 따른 암호 연산 멀티스레딩 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the cryptographic operation multithreading apparatus and method according to an embodiment of the present invention are not limited to the configuration and method of the embodiments described above, but various modifications can be made to the above embodiments. All or part of each embodiment may be configured by selectively combining so as to be.

110: 키 입력부 120: 멀티스레딩 수행부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크
110: key input unit 120: multi-threading unit
1100: computer system 1110: processor
1120: bus 1130: memory
1131: Rom 1132: Ram
1140: user interface input device
1150: user interface output device
1160: storage 1170: network interface
1180: Network

Claims (10)

암호 연산 멀티스레딩 장치의 암호 연산 멀티스레딩 방법에 있어서,
암호 연산을 위한 함수 및 허위 키의 개수와 길이를 입력 받는 단계; 및
상기 함수에 상기 허위 키를 입력한 함수와 상기 함수에 올바른 키를 입력한 함수에 대한 암호 연산 멀티스레딩을 수행하는 단계;
를 포함하고,
상기 멀티스레딩을 수행하는 단계는
상기 올바른 키와 상기 허위 키의 실행 순서를 기설정된 사용자 설정에 따라 실행하는 멀티스레딩을 수행하고,
상기 올바른 키에 대한 암호 연산으로 멀티스레딩을 시작할 경우, 첫 비트는 상기 허위 키에 대한 암호 연산으로 멀티스레딩을 시작하는 것을 특징으로 하는 암호 연산 멀티스레딩 방법.
In the cryptographic operation multithreading method of the cryptographic operation multithreading device,
receiving the number and length of a function for cryptographic operation and false keys; and
performing cryptographic operation multithreading on a function inputting the fake key into the function and a function inputting the correct key into the function;
including,
The step of performing the multithreading is
Perform multi-threading to execute the execution order of the correct key and the false key according to a preset user setting;
When multi-threading is started with the cryptographic operation for the correct key, the first bit starts multi-threading with the cryptographic operation for the fake key.
청구항 1에 있어서,
상기 입력 받는 단계는
상기 올바른 키와 키의 길이가 다른 복수개의 허위 키를 입력 받는 것을 특징으로 하는 암호 연산 멀티스레딩 방법.
The method of claim 1,
The step of receiving the input is
The cryptographic operation multithreading method, characterized in that the input of the correct key and a plurality of false keys having different key lengths.
청구항 2에 있어서,
상기 멀티스레딩을 수행하는 단계는
상기 올바른 키와 상기 허위 키의 실행 순서를 무작위 순서대로 실행하는 멀티스레딩을 수행하는 것을 특징으로 하는 암호 연산 멀티스레딩 방법.
The method of claim 2,
The step of performing the multithreading is
The cryptographic operation multithreading method, characterized in that performing multi-threading of executing the execution order of the correct key and the false key in random order.
삭제delete 삭제delete 암호 연산을 위한 함수 및 허위 키의 개수와 길이를 입력 받는 키 입력부; 및
상기 함수에 상기 허위 키를 입력한 함수와 상기 함수에 올바른 키를 입력한 함수에 대한 암호 연산 멀티스레딩을 수행하는 멀티스레딩 수행부;
를 포함하고,
상기 멀티스레딩 수행부는
상기 올바른 키와 상기 허위 키의 실행 순서를 기설정된 사용자 설정에 따라 실행하는 멀티스레딩을 수행하고,
상기 올바른 키에 대한 암호 연산으로 멀티스레딩을 시작할 경우, 첫 비트는 상기 허위 키에 대한 암호 연산으로 멀티스레딩을 시작하는 것을 특징으로 하는 암호 연산 멀티스레딩 장치.
a key input unit that receives functions for cryptographic operations and the number and length of false keys; and
a multi-threading performer for performing cryptographic operation multi-threading on a function inputting the false key to the function and a function inputting the correct key to the function;
including,
The multithreading execution unit
Perform multi-threading to execute the execution order of the correct key and the false key according to a preset user setting;
When multi-threading is started with the cryptographic operation for the correct key, the first bit starts multi-threading with the cryptographic operation for the fake key.
청구항 6에 있어서,
상기 키 입력부는
상기 올바른 키와 키의 길이가 다른 복수개의 허위 키를 입력 받는 것을 특징으로 하는 암호 연산 멀티스레딩 장치.
The method of claim 6,
the key input unit
The multi-threading device for cryptographic operation, characterized in that for receiving the correct key and a plurality of false keys having different key lengths.
청구항 7에 있어서,
상기 멀티스레딩 수행부는
상기 올바른 키와 상기 허위 키의 실행 순서를 무작위 순서대로 실행하는 멀티스레딩을 수행하는 것을 특징으로 하는 암호 연산 멀티스레딩 장치.
The method of claim 7,
The multithreading execution unit
The cryptographic operation multithreading apparatus, characterized in that performing multi-threading of executing the execution order of the correct key and the false key in random order.
삭제delete 삭제delete
KR1020180154680A 2018-12-04 2018-12-04 Apparatus and method for multithreading cryptographic operation KR102466273B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180154680A KR102466273B1 (en) 2018-12-04 2018-12-04 Apparatus and method for multithreading cryptographic operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180154680A KR102466273B1 (en) 2018-12-04 2018-12-04 Apparatus and method for multithreading cryptographic operation

Publications (2)

Publication Number Publication Date
KR20200067626A KR20200067626A (en) 2020-06-12
KR102466273B1 true KR102466273B1 (en) 2022-11-14

Family

ID=71088401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180154680A KR102466273B1 (en) 2018-12-04 2018-12-04 Apparatus and method for multithreading cryptographic operation

Country Status (1)

Country Link
KR (1) KR102466273B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101593169B1 (en) * 2014-08-20 2016-02-15 한국전자통신연구원 Feistel-based variable length block cipher apparatus and method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101041777B1 (en) * 2009-06-08 2011-06-17 엠텍비젼 주식회사 Method for processing multi thread and Processor device using the same
KR101584127B1 (en) * 2013-07-19 2016-01-11 고려대학교 산학협력단 System and method for deniable encryption
KR102080280B1 (en) * 2017-04-12 2020-02-21 주식회사 지티웨이브 Virtual private network server

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101593169B1 (en) * 2014-08-20 2016-02-15 한국전자통신연구원 Feistel-based variable length block cipher apparatus and method thereof

Also Published As

Publication number Publication date
KR20200067626A (en) 2020-06-12

Similar Documents

Publication Publication Date Title
RU2661564C2 (en) Random number generator and stream cipher
US10439798B2 (en) Method for confidential execution of a program operating on data encrypted by a homomorphic encryption
US7292060B2 (en) Logic circuit and method thereof
US20080019507A1 (en) Method for Protecting IC Cards Against Power Analysis Attacks
EP2207087A1 (en) Method for protecting a cryptographic device against SPA, DPA and timing attacks
US20130073873A1 (en) Signature generation apparatus, signature method, non-transitory computer readable medium storing signature generation program
US9680647B2 (en) Method of using a token in cryptography
US10721056B2 (en) Key processing method and device
Hoang et al. Automated analysis and synthesis of authenticated encryption schemes
KR102397579B1 (en) Method and apparatus for white-box cryptography for protecting against side channel analysis
Gamido et al. Modified AES for text and image encryption
Aldaya et al. AES T-Box tampering attack
Luo et al. Side-channel timing attack of RSA on a GPU
US10326586B2 (en) Encryption/decryption apparatus and power analysis protecting method thereof
US10567155B2 (en) Securing a cryptographic device
US20180091297A1 (en) Method for symmetric block encryption or decryption
BR112013012216B1 (en) protection against passive eavesdropping
KR20110085403A (en) Method and apparatus for providing masking operations in encryption system
CN114124364A (en) Key security processing method, device, equipment and computer readable storage medium
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
JP7079711B2 (en) Converter, conversion method, converter and obfuscation program
KR102466273B1 (en) Apparatus and method for multithreading cryptographic operation
RU2710670C2 (en) Cryptographic system and method
Seuschek et al. A cautionary note: Side-channel leakage implications of deterministic signature schemes
You et al. Low trace-count template attacks on 32-bit implementations of ASCON AEAD

Legal Events

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