KR102331835B1 - 오류 주입 공격 시스템 - Google Patents

오류 주입 공격 시스템 Download PDF

Info

Publication number
KR102331835B1
KR102331835B1 KR1020200153419A KR20200153419A KR102331835B1 KR 102331835 B1 KR102331835 B1 KR 102331835B1 KR 1020200153419 A KR1020200153419 A KR 1020200153419A KR 20200153419 A KR20200153419 A KR 20200153419A KR 102331835 B1 KR102331835 B1 KR 102331835B1
Authority
KR
South Korea
Prior art keywords
trigger
error
injection attack
encryption device
error injection
Prior art date
Application number
KR1020200153419A
Other languages
English (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 US17/512,675 priority Critical patent/US12019738B2/en
Application granted granted Critical
Publication of KR102331835B1 publication Critical patent/KR102331835B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

오류 주입 공격 방법이 개시된다.
오류 주입 공격 방법은 암호화 장치에 대한 입력 신호에 기초하여 트리거 시작 시점을 결정하는 단계, 상기 암호화 장치의 출력 신호에 기초하여 트리거 종료 시점을 결정하는 단계, 상기 트리거 시작 시점 및 상기 트리거 종료 시점에 기초하여 트리거를 설정하는 단계, 및 상기 설정된 트리거에 기초하여 오류 주입 공격을 수행하는 단계를 포함할 수 있다.

Description

오류 주입 공격 시스템{FAULT INJECTION ATTACK SYSTEM}
아래 실시 예들은 오류 주입 공격 시스템에 관한 것이다.
차분 오류 분석(Differential Fault Analysis; DFA)는 동일한 평문에 대하여 시스템이 생성한 정상적인 암호문과 오류 주입 공격을 통해 얻어낸 비정상적인 암호문의 차이를 이용하여 암호 알고리즘을 분석하는 방법이다.
이론적인 차분 오류 분석은 공격자가 원하는 위치에 오류가 주입되었다고 가정하고, 오류가 주입된 암호문과 정상적인 암호분을 이용하여 암호화에 사용되는 비밀 키를 복구한다. 원하는 시점에 오류가 주입된 암호문을 높은 성공률로 얻기 위해서는 특정한 연산이 수행되는 시점에 인위적인 트리거(Trigger)를 설정할 필요가 있다. 위 언급된 인위적인 트리거는 암호화 장비 내에 탑재된 코드를 수정함으로써 설정될 수 있는데, 실제 암호화 장비에 대한 분석을 수행할 때에 특정 연산에 대응되는 시점에 코드 변환을 통해 트리거를 설정하는 것은 현실적으로 매우 어려운 일이다. 특히나 타겟 장비가 완전 제품인 경우, 코드를 수정하는 것은 실제적인 시나리오에서 적절한 방안이 아닐 수 있다.
(비특허문헌) Dusart, P.; Letourneux, G.; Vivolo, O. Differential fault analysis on AES. In International Conference on Applied Cryptography and Network Security; Springer: Berlin/Heidelberg, Germany, 2003, pp.293-306.
기존 방식과 같이 특정 연산이 수행되는 시점에 인위적인 트리거를 설정하는 것이 현실적으로 어려운 바, 보다 완화된 트리거를 적용하여 오류 주입 공격을 수행하는 방법을 제공하는 것을 목적으로 한다.
일 실시예에 따른 오류 주입 공격 방법은 암호화 장치에 대한 입력 신호에 기초하여 트리거 시작 시점을 결정하는 단계; 상기 암호화 장치의 출력 신호에 기초하여 트리거 종료 시점을 결정하는 단계; 상기 트리거 시작 시점 및 상기 트리거 종료 시점에 기초하여 트리거를 설정하는 단계; 및 상기 설정된 트리거에 기초하여 오류 주입 공격을 수행하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 트리거 시작 시점은 상기 입력 신호에 기초하여, 상기 암호화 장치에 평문이 입력되는 시점으로 결정될 수 있다.
일 실시예에 다르면, 상기 트리거 종료 시점은 상기 출력 신호에 기초하여, 상기 암호화 장치에서 암호문이 출력되는 시점으로 결정될 수 있다.
일 실시예에 따르면 상기 오류 주입 공격의 대상이 되는 타겟 연산은 상기 암호화 장치가 암호화를 수행하는 과정에서 방출되는 전자파 파형에 대한 분석에 기초하여 결정될 수 있다.
일 실시예에 따른 오류 주입 공격을 수행하는 컴퓨팅 장치는 통신부; 및
프로세서를 포함하고, 상기 프로세서는 암호화 장치에 대한 입력 신호에 기초하여 트리거 시작 시점을 결정하고, 상기 암호화 장치의 출력 신호에 기초하여 트리거 종료 시점을 결정하고, 상기 트리거 시작 시점 및 상기 트리거 종료 시점에 기초하여 트리거를 설정하고, 상기 설정된 트리거에 기초하여 오류 주입 공격을 수행할 수 있다.
일 실시예에 따르면, 상기 오류 주입 공격을 수행하는 단계는 정상 암호문과 오류가 주입된 오류 암호문 사이의 XOR 연산에 기초하여 비밀키를 복구하는 단계를 포함하고, 상기 복구하는 단계는 오류가 주입된 위치에 따라 서로 다른 형태로 결정되는 오류 타입 별로 오류가 주입되었을 가능성이 있는 위치에 대한 모든 경우의 수에 대한 분석을 수행함으로써, 상기 비밀키를 복구할 수 있다.
본 개시서의 실시 예에 따른 오류 주입 공격 방법은 종래의 현실적으로 적용이 어려운 인위적인 트리거 설정 방법을 현실적으로 획득이 용이한 암호화 장치의 입출력 신호로 대체함으로써 오류 주입 공격자 가정을 완화하는 효과가 있다.
본 발명의 실시 예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시 예들 중 단지 일부일 뿐이며, 본 발명의 기술분야에서 통상의 지식을 가진 사람(이하 "통상의 기술자"라 함)에게 있어서는 발명에 이르는 추가 노력 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 일 실시예에 따른 오류 주입 공격이 적용되는 과정에서, 오류 주입 공격을 수행하는 컴퓨팅 장치와 암호화 장비 사이의 통신 과정을 나타내는 도면이다.
도 2는 일 실시예에 따른 오류 주입 공격에 대한 공격 대상 연산을 특정하기 위해 단순 전력 분석이 적용되는 일례를 도시하는 도면이다.
도 3은 전자파 파형 분석에 기초하여 오류 주입 공격 대상 연산이 특정되는 일례를 도시하는 도면이다.
도 4는 기존 오류 주입 공격의 시스템 구성도와 제안되는 오류 주입 공격의 시스템 구성도를 도시하는 도면이다.
도 5는 일 실시예에 따른 컴퓨팅 장치가 수행하는 오류 주입 공격을 설명하기 위한 흐름도이다.
도 6은 AES에서 DFA를 통해 비밀키를 복구하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 오류 주입 공격 방법을 수행하는 컴퓨팅 장치가 비밀 키를 복구하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 오류 주입 공격에서 비밀키를 복구하는 알고리즘 코드를 도시하는 도면이다.
도 9은 일 실시예에 따른 오류 주입 공격 방법을 수행하는 컴퓨팅 장치의 구성을 도시하는 블록도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있도록 상세히 설명된다.
본 발명의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 또한, '하나' 또는 '한'은 하나 이상의 의미로 쓰인 것이며, '또 다른'은 적어도 두 번째 이상으로 한정된다.
또한, 본 발명의 '제1', '제2' 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로서, 순서를 나타내는 것으로 이해되지 않는 한 이들 용어들에 의하여 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 이와 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는 그 다른 구성요소에 직접 연결될 수도 있지만 중간에 다른 구성요소가 개재할 수도 있다고 이해되어야 할 것이다. 반면에 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉, "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
각 단계들에 있어서 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용된 것으로 식별부호는 논리상 필연적으로 귀결되지 않는 한 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며, 반대의 순서로 수행될 수도 있다.
통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다. 따라서, 특정 구조나 기능에 관하여 본 명세서에 개시된 상세 사항들은 한정하는 의미로 해석되어서는 아니되고, 단지 통상의 기술자가 실질적으로 적합한 임의의 상세 구조들로써 본 발명을 다양하게 실시하도록 지침을 제공하는 대표적인 기초 자료로 해석되어야 할 것이다.
더욱이 본 발명은 본 명세서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 오류 주입 공격이 적용되는 과정에서, 오류 주입 공격을 수행하는 컴퓨팅 장치와 암호화 장비 사이의 통신 과정을 나타내는 도면이다.
도 1을 참조하면, 암호화 장치(110)는 컴퓨팅 장치(150)로부터 평문 입력을 수신하고, 수신한 평문 입력(120)에 대한 암호화를 수행한 암호문을 출력(130)할 수 있다. 암호화 장치(110)에 대한 오류 주입 공격을 수행하는 컴퓨팅 장치(150)는 평문 입력(120) 시점을 트리거의 시작점으로 설정하고, 암호화 장치(110)가 암호문을 출력(130)하는 시점을 트리거의 종료 시점으로 설정한 트리거(140)를 설정할 수 있다. 즉, 암호화 장치(110)에 대한 오류 주입 공격을 수행하는 컴퓨팅 장치(150)는 암호화 장치(110) 내부의 코드에 대한 변환 없이, 암호화 장치(110)와 컴퓨팅 장치(150) 사이에서 송수신되는 입출력 신호를 사용하여 트리거를 설정할 수 있다. 이를 통해, 일 실시예에 따른 오류 주입 공격 방법에서는 인위적인 트리거 설정을 위해 암호화 장치(110) 내부 코드를 변환해야 하는 기존의 방식의 가정을 완화할 수 있다.
일 실시예에 따른 오류 주입 공격 방법에서는 암호화 장치(110)의 암호화 연산 전체에 대해 트리거가 설정되어 있어, 공격 대상이 되는 연산을 특정하는 것이 어려울 수 있다. 따라서 공격 대상이 되는 연산의 위치(시점)을 특정하기 위해 본원 발명은 단순 전력 분석(Simple power Analysis; SPA)을 적용하여 공격 대상을 특정하는 방식을 적용할 수 있다. 본 명세서에서는 AES(Advanced encryption standard) 알고리즘을 중심으로 일 실시예에 따른 오류 주입 공격 방법이 적용되는 방식이 설명되었으나, 오류 주입 공격의 적용은 AES에 한정되는 것이 아니고, 임의의 암호화 알고리즘에 적용될 수 있음은 통상의 기술자가 이해할 것이다.
도 2는 일 실시예에 따른 오류 주입 공격에 대한 공격 대상 연산을 특정하기 위해 단순 전력 분석이 적용되는 일례를 도시하는 도면이다.
도 2에 도시된 바와 같이, 보드 상에 구현된 암호화 장치(210)에는 도 1을 통해 설명된 입출력 신호에 기반한 트리거가 설정되어 있고, 암호화 동작이 반복적으로 수행될 수 있다. 공격 대상 연산을 특정하기 위하여, 프로브(220) 및 오실로스코프(230)를 통해 암호화 장치(210)의 전자파 파형이 모니터링될 수 있다. 암호화 장치(210)가 암호화를 수행하는 과정에서 발생되는 전자파 파형 분석을 통해 암호화가 진행되는 과정에서 공격 대상 연산이 특정될 수 있다. 예를 들어, 공격 대상 연산이 수행되는 과정에서 발생되는 전자파 파형의 기초하여 공격 대상 연산의 수행 시점이 특정될 수 있고, 해당 시점에 오류가 주입됨으로써 오류 주입 공격이 수행될 수 있다.
도 3은 전자파 파형 분석에 기초하여 오류 주입 공격 대상 연산이 특정되는 일례를 도시하는 도면이다.
도 3의 파형(310)은 도 2의 오실로스코프(230)을 통해 모니터링된 암호화 장치(210)의 전자파 파형으로, AES에 따른 암호화가 진행되는 과정에서 암호화 장치(210)에서 방출되는 전자파 파형일 수 있다. 일 실시예에 따른 오류 주입 공격 방법에서는 암호화 과정에서 암호화 장치(210)로부터 방출되는 전자파 파형 분석을 통해, 공격 대상 연산을 특정할 수 있고, 특정되는 연산에 대한 오류 주입 공격이 수행될 수 있다.
오류 주입 공격 방법에 따라 공격 대상 연산이 상이하게 특정될 수 있는데, 예를 들어, 10번째 라운드의 키 값을 획득하기 위해서는 9번째 라운드의 SubBytes 및 ShiftRows 연산이 공격 대상 연산일 수 있다. 컴퓨팅 장치는 암호화 장치(210)의 전자파 파형 분석을 통해 전자파 파형(320)로부터 공격 대상 연산(321)이 수행되는 시점(655
Figure 112020122915916-pat00001
~ 675
Figure 112020122915916-pat00002
)을 특정할 수 있고, 특정된 시점에 오류를 주입할 수 있다.
도 4는 기존 오류 주입 공격의 시스템 구성도와 제안되는 오류 주입 공격의 시스템 구성도를 도시하는 도면이다.
도 4의 (a)에 도시된 기존의 오류 주입 공격 시스템에 해당하고, (b)는 본원 발명에서 제안하는 오류 주입 시스템일 수 있다.
(a) 및 (b)에 해당하는 오류 주입 시스템은 오류 주입 공격을 관할하는 컴퓨팅 장치(Control PC)(410), 전자기 오류 주입을 수행하는 프로브(420), 오류 주입 공격의 대상이 되는 암호화 장치가 구현된 보드(430), 오류 주입 공격이 될 위치를 판별하기 위해 전자기파 분석을 수행하는 오실로스코프(440), 컴퓨팅 장치(410)와 보드(430) 사이의 통신 채널을 제어하는 채널 제어부(450)를 포함할 수 있다.
기존 오류 주입 시스템에서는 트리거를 수행하기 위하여 보드(430) 및 채널 제어부(450) 사이의 추가적인 연결(460)이 필수적으로 요구되었다. 이와 달리 본원 발명에서는 컴퓨팅 장치(410)과 보드(430) 사이의 연결(470)의 이용을 통해 오류 주입 공격을 위한 트리거가 설정될 수 있다. 본원 발명은 점프 연결(480)을 통해 오류 주입 공격을 수행함으로써 보드(430)의 변형을 최소화할 수 있다. 보다 구체적으로, 본원 발명의 오류 주입 공격을 통해서는 인위적인 트리거 설정을 위하여 보드(430) 내부 코드를 수정하지 않고, 트리거를 수행할 수 있는 수단을 제공할 수 있다.
도 5는 일 실시예에 따른 컴퓨팅 장치가 수행하는 오류 주입 공격을 설명하기 위한 흐름도이다.
도 5를 참고하면, 컴퓨팅 장치는 단계(510)에서 암호화 장치에 대한 입력 신호에 기초하여 트리거 시작 지점을 결정할 수 있다. 컴퓨팅 장치는 입력 신호에 기초하여 결정되는 암호화 장치에 평문이 입력되는 시점을 트리거 시작 시점으로 결정할 수 있다.
컴퓨팅 장치는 단계(520)에서 암호화 장치의 출력 신호에 기초하여 트리거 종료 시점을 결정할 수 있다. 컴퓨팅 장치는 암호화 장치의 출력 신호에 기초하여 결정되는 암호문 출력 시점을 트리거 종료 시점으로 결정할 수 있다.
컴퓨팅 장치는 단계(530)에서 결정된 시작 지점 및 종료 지점에 기초하여 오류 주입 공격을 수행하기 위한 트리거를 설정하고, 단계(540)를 통해 설정된 트리거에 기초하여 오류 주입 공격을 수행할 수 있다.
오류 주입 공격을 통해 비밀키를 복구하는 방법은 이하 첨부되는 도 6 및 도 7을 통해 보다 상세히 설명된다.
도 6은 AES에서 DFA를 통해 비밀키를 복구하는 방법을 설명하기 위한 도면이다.
비특허문헌 "Dusart, P.; Letourneux, G.; Vivolo, O. Differential fault analysis on AES. In International Conference on Applied Cryptography and Network Security; Springer: Berlin/Heidelberg, Germany, 2003, pp.293-306."에는 AES에서 DFA를 적용하여 비밀키를 복구하는 방식이 개시되어 있다.
비밀키 복구 방법을 도 6을 참조하여 보다 구체적으로 설명하면 하기와 같다.
도 6에는 9번째 라운드의 입력의 첫번째 바이트에 오류가 주입된 경우 오류가 전파되는 상황이 도시된다. 보다 구체적으로, 오류(611)가 9번째 라운드 입력의 첫번째 바이트(611)에 주입된 경우, SubBytes 연산 수행 결과의 첫번째 바이트(612)에 전파되고, MixColumns 연산 수행 결과의 첫번째 열(613)로 전파될 수 있다.
주입된 오류는 10번째 라운드 진행 과정에서 전파되어 최종적으로 출력 암호문(614)에 붉은색 영역에 해당하는 4개의 바이트로 전파될 수 있다.
오류가 주입되지 않은 경우, 출력 값은 수식(621)과 같이 표현되고, 오류가 주입된 경우, 출력 값은 수식 (622)와 같이 표현될 수 있다.
정상 출력 O1및 오류 출력 O' 1은 수학식 1 및 수학식 2로 표현될 수 있다.
Figure 112020122915916-pat00003
Figure 112020122915916-pat00004
S는 SubBytes 연산을 수행하는 Sbox연산, A는 9번째 라운드 MixColumns 연산 입력의 1번째 바이트 값, B는 9번째 라운드 MixColumns 연산 입력의 2번째 바이트 값, C는 9번째 라운드 MixColumns 연산 입력의 3번째 바이트 값, D는 9번째 라운드 MixColumns 연산 입력의 4번째 바이트 값, X는 오류 주입에 기초하여 변경된 9번째 라운드 MixColumns 연산 입력의 1번째 바이트 값,
Figure 112020122915916-pat00005
는 XOR 연산, Ki,j 는 i번째 라운드의 j 번째 바이트 라운드 키, O' 1는 오류 주입에 따라 전파된 첫번째 오류 값, O1는 O' 1의 위치에 대응되는 정상 출력 값을 의미할 수 있다.
수학식 1 및 수학식 2의 XOR 연산을 통해 K11,1가 뉴트럴라이즈(neutralize) 될 수 있고, O1는 O' 1 사이의 XOR 연산의 결과인
Figure 112020122915916-pat00006
는 수학식 3과 같이 표현될 수 있으며, 수학식 3은 수학식 4와 같이 간략하게 표현될 수 있다.
Figure 112020122915916-pat00007
Figure 112020122915916-pat00008
유사하게 주입된 오류에 기초하여 전파된 다른 오류 값에 대해서도 수학식 4와 같은 연산을 표현하면 수학식 5 내지 수학식 7과 같다.
Figure 112020122915916-pat00009
Figure 112020122915916-pat00010
Figure 112020122915916-pat00011
Figure 112020122915916-pat00012
는 O14는 O' 14사이의 XOR 연산 결과,
Figure 112020122915916-pat00013
는 O11는 O' 11 사이의 XOR 연산 결과,
Figure 112020122915916-pat00014
는 O8는 O' 8 사이의 XOR 연산 결과를 의미할 수 있다.
컴퓨팅 장치는 알려진
Figure 112020122915916-pat00015
의 값에 기초하여 수학식 4를 만족하는 (Y0,Z)쌍을 찾을 수 있다. SubBytes 연산은 비선형 함수이기 때문에, Z의 추정 값의 범위는 (Y1,Z), (Y2,Z), (Y3,Z) 쌍에 대한 수식에 기초하여 반복적으로 감소할 수 있다. 일부 Z 값만이 수학식 4를 동시에 만족시킴에 따라, Z의 범위에 상응하는 Y0, Y1, Y2, Y3의 추정 값의 범위는 감소할 수 있다.
위 추정 단계들은 다른 오류 주입 암호문을 사용하여 반복될 수 있고, 이 과정에서 추정 값의 범위가 좁혀진 Y0, Y1, Y2, Y3의 값들만이 고려될 수 있다. 컴퓨팅 장치는 Y0, Y1, Y2, Y3 각각의 값들이 복원될 때까지 위 동작을 반복할 수 있다. 컴퓨팅 장치는 다른 오류들이 동일한 위치에 주입된 것을 가정할 수 있으며, 서로 다른 세 개의 오류가 주입된 암호문과 정상 암호문을 획득하는 경우, 컴퓨팅 장치는 Y0, Y1, Y2, Y3의 정확한 값을 획득할 수 있다. 컴퓨팅 장치는 Y0, Y1, Y2, Y3 각각의 값을 복원함으로써, 수학식 8을 통해 K10,1, K10,14, K10,11, K10,8의 값을 획득할 수 있다.
Figure 112020122915916-pat00016
K10,1, K10,14, K10,11, K10,8의 값에 기초하여 비밀키가 획득될 수 있다.
도 7은 일 실시예에 따른 오류 주입 공격 방법을 수행하는 컴퓨팅 장치가 비밀 키를 복구하는 방법을 설명하기 위한 도면이다.
일 실시예에 따른 컴퓨팅 장치는 기 존재하는 입력 신호를 통해 트리거를 설정하므로, 기존의 인위적인 트리거를 제공하는 방식에 비해 공격 대상 연산의 동작 시간을 정확하게 검출하는 것이 어려울 수 있다. 일 실시예에 따른 오류 주입 공격 방법에서 컴퓨팅 장치는 어떤 바이트에 오류가 주입되었는 지 모르는 상황에서도 비밀 키를 분석할 수 있는 수단을 제공할 수 있다.
도 7을 참조하면, 오류에 의해 MixColumns 연산 결과의 다양한 행들에 대한 오류 전파가 도시되어 있다. 오류 주입에 따라 영향을 받은 암호문을 통해 오류 타입(Fault Type)이 분류될 수 있다. 예를 들어, 오류 타입은 MixColumns 연산 결과에서 어떠한 행에 오류가 전파되었는 지 여부에 따라 4가지 타입으로 분류될 수 있다. 예를 들어, 오류 타입 1(Fault Type 1)에 해당하는 오류의 경우, SubBytes 연산 결과에서 1 번째 바이트, 6번째 바이트, 11번째 바이트 및 16번째 바이트 중 어느 하나의 위치에 오류가 주입된 경우에 해당할 수 있다.
표 1은 오류 타입 1을 발생시키는 다양한 경우에 대해 정상 출력과 오류가 발생된 출력 사이의 XOR 연산값에 대한 수식을 표현한 것일 수 있다.
Figure 112020122915916-pat00017
표 1을 참조하면, 동일한 오류 타입에 해당하더라도, 오류가 주입된 위치에 따라 서로 다른 Z 값에 대한 계수를 가짐을 확인할 수 있다.
정상적으로 오류 주입 공격이 수행된 경우, 오류가 주입된 암호문만을 이용하여 오류가 주입된 행의 번호를 확인할 수 있다. 하지만, 어떠한 바이트에 오류가 주입되었는 지 여부는 확인할 수 없다. 따라서, 일 실시예에 따른 컴퓨팅 장치는 오류 타입 별로 오류가 주입되었을 가능성이 있는 위치에 대한 모든 경우의 수에 대한 분석을 수행함으로써 비밀키를 복구할 수 있다. 보다 구체적으로, 컴퓨팅 장치는 표 1에 표현된 바와 같이 각각의 오류 타입 별로 4개의 케이스에 대한 분석을 수행함으로써 어떠한 바이트에 오류가 주입되었는 지 여부를 확인할 수 있다.
앞서 도 6을 통해 설명된 방식을 통해 컴퓨팅 장치는 Y0, Y1, Y2, Y3의 추정 값 범위를 좁히고, 서로 다른 오류가 주입된 3개의 암호문을 이용하여 Y0, Y1, Y2, Y3 각각의 값을 복구할 수 있다. 복구된 Y0, Y1, Y2, Y3를 통해 컴퓨팅 장치는 수학식 8을 이용하여 각각의 비밀 키를 복구할 수 있다.
도 8은 일 실시예에 따른 오류 주입 공격에서 비밀키를 복구하는 알고리즘 코드를 도시하는 도면이다.
도 8을 참조하면, 정의된 DFA 함수는 정상 암호문 C, 각각 서로 다른 오류 주입에 기초하여 획득된 오류 암호문 C' 1, C' 2, C' 3, 오류 타입
Figure 112020122915916-pat00018
및 범위를 제한하기 위한 추정 값 Y0, Y1, Y2, Y3을 입력으로하여 라운드키 K0, K1, K2, K3를 출력하는 함수를 의미할 수 있으며, 이는 도 6을 통해 설명된 방식이 구현된 알고리즘(line 4~9)일 수 있다.
알고리즘 내에서 "Normal Ciphertext"는 분석을 위해 사용되는 정상 암호문을 의미하며, "Faulted Ciphertext"는 분석을 위해 사용되는 오류 주입 암호문, "Fault-Injected Byte"는 오류 타입에 따라 오류가 주입된 입력 바이트를 포함하는 어레이에 대응되는 분석 수식(예를 들어, 수학식 4 내지 수학식 7), "Guessing Value"는 추정 값의 범위를 줄이기 위한 Y0, Y1, Y2, Y3 쌍을 의미할 수 있다.
컴퓨팅 장치는 도 8에 도시된 알고리즘(DFA)을 적용하기 전에 오류에 기초하여 영향을 받은 바이트를 암호문에서 체크함으로써 오류 타입을 결정할 수 있다. 다만, 표 1에 제시된 바와 같이 동일한 오류 타입일지라도 오류가 주입된 바이트는 상이할 수 있다. 따라서, 오류 타입
Figure 112020122915916-pat00019
는 어레이의 형식으로 표현될 수 있다(어레이는 오류가 주입된 바이트를 식별하는 인덱스를 포함할 수 있다.). DFA에 적용되는 수식은 동일한 오류 타입
Figure 112020122915916-pat00020
이라도 오류가 주입된 위치에 따라 서로 다른 수식이 적용될 수 있다.
알고리즘의 line 10~15는 Y0, Y1, Y2, Y3가 하나의 값으로 결정되는 경우, 비밀키가 복구될 수 있음을 의미한다. 즉, 각각의 오류 암호문에 대하여 어떤 바이트에 오류가 주입되었는 지가 정확히 추정되는 경우, 비밀키가 정확히 복구될 수 있다. 하지만, 어떤 바이트에 오류가 주입되었는 지 부정확하게 추정되는 경우, 정확한 비밀키는 복구될 수 없다.
또한,
Figure 112020122915916-pat00021
는 주입된 오류에 따라 암호문에서 영향을 받은 암호문 바이트의 인덱스를 나타낼 수 있다.
각각의 오류 타입에 대해 세 개의 오류 주입 암호문이 고려되는 경우, 컴퓨팅 장치는 16바이트의 10번째 라운드 키를 복구할 수 있다.
도 9은 일 실시예에 따른 오류 주입 공격 방법을 수행하는 컴퓨팅 장치의 구성을 도시하는 블록도이다.
도 9를 참조하면, 일 실시예에 따른 컴퓨팅 장치(900)는 프로세서(920)를 포함한다. 컴퓨팅 장치(900)는 메모리(910) 및 통신 인터페이스(930)를 더 포함할 수 있다. 프로세서(920), 메모리(910) 및 통신 인터페이스(930)는 통신 버스(미도시)를 통해 서로 통신할 수 있다.
프로세서(920)는 암호화 장치에 대한 입력 신호에 기초하여 트리거 시작 시점을 결정하고, 암호화 장치의 출력 신호에 기초하여 트리거 종료 시점을 결정하고, 트리거 시작 시점 및 트리거 종료 시점에 기초하여 트리거를 설정하고, 설정된 트리거에 기초하여 오류 주입 공격을 수행할 수 있다.
메모리(910)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
이 밖에도, 프로세서(920)는 프로그램을 실행하고, 컴퓨팅 장치(900)를 제어할 수 있다. 프로세서(920)에 의하여 실행되는 프로그램 코드는 메모리(810)에 저장될 수 있다. 컴퓨팅 장치(900)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. 컴퓨팅 장치(900)는 서버에 탑재될 수 있다.
위 실시 예의 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능한 기록 매체에 기록될 수 있다. 상기 기계 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, Blu-ray와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다.
따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 연산 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.
예를 들어, 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고받을 수 있는 입출력부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시 예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.

Claims (8)

  1. 컴퓨팅 장치에 의해 수행되는 오류 주입 공격 방법에 있어서,
    암호화 장치에 대한 입력 신호에 기초하여 트리거 시작 시점을 결정하는 단계;
    상기 암호화 장치의 출력 신호에 기초하여 트리거 종료 시점을 결정하는 단계;
    상기 트리거 시작 시점 및 상기 트리거 종료 시점에 기초하여 트리거를 설정하는 단계; 및
    상기 설정된 트리거에 기초하여 오류 주입 공격을 수행하는 단계
    를 포함하고,
    상기 트리거 시작 시점은,
    상기 입력 신호에 기초하여, 상기 암호화 장치에 평문이 입력되는 시점으로 결정되고,
    상기 트리거 종료 시점은,
    상기 출력 신호에 기초하여, 상기 암호화 장치에서 암호문이 출력되는 시점으로 결정되고,
    상기 트리거를 설정하는 단계는,
    상기 컴퓨팅 장치와 상기 암호화 장치 사이의 연결에 기초하여 상기 암호화 장치 내부 코드의 수정 없이 상기 트리거를 설정하는 오류 주입 공격 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 오류 주입 공격의 대상이 되는 타겟 연산은,
    상기 암호화 장치가 암호화를 수행하는 과정에서 방출되는 전자파 파형에 대한 분석에 기초하여 결정되는, 오류 주입 공격 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 오류 주입 공격을 수행하는 단계는,
    정상 암호문과 오류가 주입된 오류 암호문 사이의 XOR 연산에 기초하여 비밀키를 복구하는 단계
    를 포함하고,
    상기 복구하는 단계는,
    오류가 주입된 위치에 따라 서로 다른 형태로 결정되는 오류 타입 별로, 오류가 주입되었을 가능성이 있는 위치에 대한 모든 경우의 수에 대한 분석을 수행함으로써, 상기 비밀키를 복구하는, 오류 주입 공격 방법.
  7. 컴퓨팅 장치로 하여금, 제1항의 방법을 수행하도록 구현된 명령어(instructions)를 포함하는 프로그램이 수록된 기계 판독 가능한 비일시적 기록 매체.
  8. 오류 주입 공격을 수행하는 컴퓨팅 장치에 있어서,
    통신부; 및
    프로세서
    를 포함하고,
    상기 프로세서는,
    암호화 장치에 대한 입력 신호에 기초하여 트리거 시작 시점을 결정하고,
    상기 암호화 장치의 출력 신호에 기초하여 트리거 종료 시점을 결정하고,
    상기 트리거 시작 시점 및 상기 트리거 종료 시점에 기초하여 트리거를 설정하고,
    상기 설정된 트리거에 기초하여 오류 주입 공격을 수행하고,
    상기 트리거 시작 시점은,
    상기 입력 신호에 기초하여, 상기 암호화 장치에 평문이 입력되는 시점으로 결정되고,
    상기 트리거 종료 시점은,
    상기 출력 신호에 기초하여, 상기 암호화 장치에서 암호문이 출력되는 시점으로 결정되고,
    상기 프로세서는,
    상기 컴퓨팅 장치와 상기 암호화 장치 사이의 연결에 기초하여 상기 암호화 장치 내부 코드의 수정 없이 상기 트리거를 설정하는, 컴퓨팅 장치.
KR1020200153419A 2020-10-28 2020-11-17 오류 주입 공격 시스템 KR102331835B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/512,675 US12019738B2 (en) 2020-10-28 2021-10-28 Fault injection attack system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200141542 2020-10-28
KR1020200141542 2020-10-28

Publications (1)

Publication Number Publication Date
KR102331835B1 true KR102331835B1 (ko) 2021-12-01

Family

ID=78899833

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153419A KR102331835B1 (ko) 2020-10-28 2020-11-17 오류 주입 공격 시스템

Country Status (2)

Country Link
US (1) US12019738B2 (ko)
KR (1) KR102331835B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11783026B2 (en) * 2021-01-05 2023-10-10 Nuvoton Technology Corporation Processor with in-band fault-injection detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120055218A (ko) * 2010-11-23 2012-05-31 한국전자통신연구원 보안 프로세서의 오류 주입 부채널 분석 시험 장치
KR20150091691A (ko) * 2014-02-03 2015-08-12 삼성전자주식회사 Crt-rsa 암호화 방법 및 장치와 이를 기록한 컴퓨터 판독가능 저장매체

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606943B2 (en) * 2017-10-09 2020-03-31 International Business Machines Corporation Fault injection in human-readable information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120055218A (ko) * 2010-11-23 2012-05-31 한국전자통신연구원 보안 프로세서의 오류 주입 부채널 분석 시험 장치
KR20150091691A (ko) * 2014-02-03 2015-08-12 삼성전자주식회사 Crt-rsa 암호화 방법 및 장치와 이를 기록한 컴퓨터 판독가능 저장매체

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
(비특허문헌) Dusart, P.; Letourneux, G.; Vivolo, O. Differential fault analysis on AES. In International Conference on Applied Cryptography and Network Security; Springer: Berlin/Heidelberg, Germany, 2003, pp.293-306.
박제훈, et al. "AES 에 대한 반복문 오류주입 공격." 정보보호학회논문지, Vol. 20(6), pp. 59-65(2010.) 1부.* *
박제훈, 문상재, and 하재철. "CRT-RSA 암호시스템에 대한 광학적 오류 주입 공격의 실험적 연구." 정보보호학회논문지, Vol. 19(3) pp. 51-59(2009.) 1부.* *

Also Published As

Publication number Publication date
US12019738B2 (en) 2024-06-25
US20220129545A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
US11569978B2 (en) Encrypting and decrypting information
Delvaux et al. Helper data algorithms for PUF-based key generation: Overview and analysis
Sarkar et al. Differential fault attack against grain family with very few faults and minimal assumptions
CN110401627B (zh) 一种适用于分组密码算法感染防护的抗差分故障攻击安全性评估方法和***
Pahlevanzadeh et al. Assessing CPA resistance of AES with different fault tolerance mechanisms
KR102397579B1 (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
Park et al. Differential Fault Analysis for Round‐Reduced AES by Fault Injection
Dey et al. Full key recovery of ACORN with a single fault
CN111586076A (zh) 基于混合密码的遥控遥测信息防篡改加解密方法和***
CN104168116A (zh) 一种数据库身份验证方法及***
US20170365191A1 (en) Iterative encryption and random generation and serialization of cryptographic functions
KR102331835B1 (ko) 오류 주입 공격 시스템
Salam et al. Random differential fault attacks on the lightweight authenticated encryption stream cipher grain-128AEAD
CN110299988B (zh) 轻量级分组密码算法抗攻击能力的检测方法及检测装置
KR101731645B1 (ko) 오류 주입 공격들을 대비하여 보호되는 데이터 처리 방법 및 관련 장치
EP3089398A1 (en) Securing a cryptographic device
Levi et al. Garbled Circuits from an SCA Perspective: Free XOR can be Quite Expensive...
EP2940917A1 (en) Behavioral fingerprint in a white-box implementation
CN113452508B (zh) 数据加密方法、装置、设备和计算机可读存储介质
KR102344915B1 (ko) 오류 주입 공격 장치 및 방법
Mondal et al. A practical key-recovery attack on LWE-based key-encapsulation mechanism schemes using Rowhammer
KR102591867B1 (ko) 전력 흔적 정보를 이용한 블록 체인 작업 증명 방법 및 기록 매체
Wan et al. Improved differential fault attack against SIMECK based on two-bit fault model
Ezepue Differential fault analysis of white-box cryptographic implementations
KR102236242B1 (ko) 퍼지 추출기를 이용한 공개값 생성 방법 및 그 공개값과 2차 입력값을 입력받아 비밀키를 생성하는 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant