KR102297318B1 - 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 - Google Patents
부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 Download PDFInfo
- Publication number
- KR102297318B1 KR102297318B1 KR1020190123225A KR20190123225A KR102297318B1 KR 102297318 B1 KR102297318 B1 KR 102297318B1 KR 1020190123225 A KR1020190123225 A KR 1020190123225A KR 20190123225 A KR20190123225 A KR 20190123225A KR 102297318 B1 KR102297318 B1 KR 102297318B1
- Authority
- KR
- South Korea
- Prior art keywords
- encryption algorithm
- channel information
- target device
- sub
- trigger signal
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Selective Calling Equipment (AREA)
Abstract
본 발명은 암호 알고리즘에 따른 부채널 정보를 분석한 결과에 근거하여 상기 암호 알고리즘의 안전성을 검증하는 시스템에 대한 것으로, 대상 기기와 통신 연결을 수행 및, 상기 대상 기기로부터 수신되는 동작 신호에 근거하여 암호 알고리즘의 구동 시작 및 종료를 검출하는 동작 신호 검출부와, 검출된 동작 신호에 근거하여, 상기 대상 기기로부터 부채널 정보를 획득하기 위한 트리거 신호의 생성을 제어하는 트리거 신호 생성부와, 상기 트리거 신호에 따라 상기 대상 기기로부터, 상기 암호 알고리즘이 구동되는 동안 부채널 정보를 수집하는 부채널 정보 수집부 및, 상기 수집된 부채널 정보를 분석하여 상기 대상 기기에서 구동되는 암호 알고리즘의 암호화 키를 추정 및, 추정된 암호화 키에 근거하여 상기 암호 알고리즘의 안전성을 검증하는 부채널 정보 분석부를 포함하는 것을 특징으로 한다.
Description
본 발명은 암호 알고리즘의 안전성을 검증할 수 있는 시스템에 대한 것으로, 보다 자세하게는 암호 알고리즘에 따른 부채널 정보를 분석한 결과에 근거하여 상기 암호 알고리즘의 안전성을 검증하는 시스템에 대한 것이다.
현재 모바일 기기의 기능이 확장됨에 따라, 모바일 기기는 보다 다양한 기능을 수행할 수 있다. 더욱이 암호화 기술의 발달로, 은행 애플리케이션과 같이, 보안이 필요한 중요한 기능들이 모바일을 통해 수행될 수 있다.
한편 이처럼 모바일 기기에서 보안이 필요한 기능들이 수행됨에 따라 보안 취약점을 노리는 다양한 공격 방법이 등장하고 있다. 이러한 공격 방법의 예로서 부채널 분석을 통한 공격 방법을 예로 들 수 있다.
예를 들어 모바일 기기에서 보안이 필요한 기능의 경우 일반적으로 암호 알고리즘이 구동될 수 있다. 부채널 분석 방법은 암호 알고리즘이 장치 내에서 동작하는 동안에 장치의 전력이나 전자파 등의 부가 정보의 수집, 가공 및 통계적인 분석을 통해 키 정보를 추출하는 매우 강력한 공격 방법 중 하나이다.
한편 암호 알고리즘이 부채널 분석에 취약함이 보고됨에 따라 암호키와 같은 주요 보안요소의 물리적 공격에 대한 안전성 검증이 요구되고 있다.
특히, 국내의 경우 금융 관련 애플리케이션이 다수 사용되는 측면을 고려하면, 암호 알고리즘의 연산과 관련된 전자파 신호 등의 부채널 분석에 따른 암호 알고리즘의 안전성 검증 등이 필요한 상황이다.
한편 부채널 정보의 분석을 위해서는 정확한 부채널 정보의 획득이 무엇보다도 중요하다. 그러나 모바일 기기등에서 암호 알고리즘이 구동될 때, 상기 암호 알고리즘이 동작하는 시점을 식별하기가 용이하지 않으므로, 상기 구동되는 암호 알고리즘의 구동 시간에 대응하는 부채널 정보를 획득하기가 어렵다는 문제가 있다.
본 발명은 전술한 문제를 해결하기 위한 것으로, 모바일 기기에서 구동되는 암호 알고리즘에 따라 발생되는 부채널 정보를 분석한 결과에 근거하여 상기 모바일 기기에서 구동되는 암호 알고리즘의 성능, 즉 안전성을 검증할 수 있도록 하는 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법을 제공하는 것을 그 목적으로 한다.
또한 본 발명은 모바일 기기에서, 물리적인 변경이나 구조적 변경 없이도, 상기 모바일 기기의 암호 알고리즘 구동 개시 및 종료에 따른 정확한 부채널 정보가 획득될 수 있도록 하는 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법을 제공하는 것을 그 목적으로 한다.
상술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템은, 대상 기기와 통신 연결을 수행 및, 상기 대상 기기로부터 수신되는 동작 신호에 근거하여 암호 알고리즘의 구동 시작 및 종료를 검출하는 동작 신호 검출부와, 검출된 동작 신호에 근거하여, 상기 대상 기기로부터 부채널 정보를 획득하기 위한 트리거 신호의 생성을 제어하는 트리거 신호 생성부와, 상기 트리거 신호에 따라 상기 대상 기기로부터, 상기 암호 알고리즘이 구동되는 동안 부채널 정보를 수집하는 부채널 정보 수집부 및, 상기 수집된 부채널 정보를 분석하여 상기 대상 기기에서 구동되는 암호 알고리즘의 암호화 키를 추정 및, 추정된 암호화 키에 근거하여 상기 암호 알고리즘의 안전성을 검증하는 부채널 정보 분석부를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 트리거 신호 생성부는, 상기 동작 신호가 상기 암호 알고리즘의 구동 시작에 해당하는 경우 상기 트리거 신호를 생성하고, 상기 동작 신호가 상기 암호 알고리즘의 구동 종료에 해당하는 경우 상기 트리거 신호의 생성을 종료하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 암호 알고리즘 안전성 검증 시스템은, 임베디드(embedded) 시스템으로 구현되어, 상기 동작 신호 검출부, 상기 트리거 신호 생성부, 상기 부채널 정보 수집부 및 상기 부채널 정보 분석부가 각각 독립적으로 동작하도록 모듈화된 것을 특징으로 한다.
일 실시 예에 있어서, 상기 트리거 신호 생성부와 상기 동작 신호 검출부는 시리얼(serial) 통신으로 연결되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 트리거 신호 생성부와 부채널 정보 수집부 사이를 연결하는 소켓의 물리적인 핀(pin)들 중 어느 하나는 상기 트리거 신호의 전송을 위해 독립적으로 할당되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 부채널 정보 수집부는, 상기 대상 기기와 연결되어 상기 트리거 신호에 연동하여 상기 대상 기기의 암호 알고리즘 구동 중에 상기 대상 기기로부터 발생하는 적어도 하나의 신호 파형을 수집하여 저장하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 적어도 하나의 신호 파형은, 상기 대상 기기에서 소비되는 전력 소비 파형 또는 상기 대상 기기에서 방출되는 전자파의 파형임을 특징으로 한다.
일 실시 예에 있어서, 상기 부채널 정보 분석부는, 상기 암호화 키의 추정에 소요되는 시간, 상기 추정된 암호화 키의 개수, 및 상기 추정된 암호화 키와 상기 대상 기기에서 구동되는 암호 알고리즘의 암호화 키를 비교한 결과 중 적어도 하나에 따라 상기 암호 알고리즘의 안전성을 판단하는 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템의 제어 방법은, 상기 동작 신호 검출부가, 상기 대상 기기와 통신 연결을 수행하여 상기 대상 기기로부터 동작 신호를 수신하는 제1 단계와, 상기 동작 신호 검출부가, 상기 수신된 동작 신호에 근거하여 암호 알고리즘의 동작 시작을 검출하는 제2 단계와, 상기 트리거 신호 생성부가, 상기 동작 신호 검출부의 제어에 따라 상기 트리거 신호를 생성하는 제3 단계와, 상기 부채널 정보 수집부가, 상기 트리거 신호에 근거하여 상기 대상 기기로부터 부채널 정보를 수집하는 제4 단계와, 상기 동작 신호 검출부가, 상기 수신된 동작 신호에 근거하여 암호 알고리즘의 동작 종료를 검출하는 제5 단계와, 상기 암호 알고리즘의 동작 종료가 검출되지 않은 경우, 상기 트리거 신호 생성부 및 상기 부채널 정보 수집부가 상기 제3 단계 및 제4 단계를 반복하는 제6 단계와, 상기 암호 알고리즘의 동작 종료가 검출되는 경우, 상기 부채널 정보 분석부가, 상기 부채널 정보 수집부에서 수집된 부채널 정보를 분석하여 암호화 키를 추정하는 제7 단계 및, 상기 부채널 정보 분석부가, 상기 추정된 암호화 키에 근거하여 상기 암호 알고리즘의 안전성을 판단하는 제8 단계를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제4 단계는, 상기 부채널 정보 수집부가, 상기 트리거 신호에 연동하여 상기 대상 기기의 암호 알고리즘 구동 중에 상기 대상 기기로부터 발생하는 적어도 하나의 신호 파형을 수집하여 저장하는 단계임을 특징으로 한다.
일 실시 예에 있어서, 상기 적어도 하나의 신호 파형은, 상기 대상 기기에서 소비되는 전력 소비 파형 또는 상기 대상 기기에서 방출되는 전자파의 파형임을 특징으로 한다.
일 실시 예에 있어서, 상기 제7 단계는, 상기 암호 알고리즘이, 제1 및 제2 계층들로 구성된 복수의 내부 암호 함수들을 포함하는 블록 암호 알고리즘인 경우, 상기 대상 기기로부터 검출된 소비 전력을 분석하여 상기 블록 암호 알고리즘에 있는 내부 암호 함수의 제1 계층 종단 지점을 포함하는 소비전력 분석구간을 검출하는 제7-1 단계와, 상기 내부 암호 함수의 제2 계층의 출력을 구성하는 복수의 출력 블록들로부터 샘플링을 수행하는 제7-2 단계와, 샘플링된 복수의 블록을 통해 상기 내부 암호 함수의 출력에 해당하는 중간값을 추정하는 제7-3 단계 및, 상기 추정된 중간값을 기초로 상기 소비전력 분석구간에 대한 상관 전력 분석을 수행하고, 상관 전력 분석 결과에 근거하여 가장 연관성이 높은 키들을 암호화 키들로 추정하는 제7-4 단계를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 제8 단계는, 상기 암호화 키의 추정에 소요되는 시간, 상기 추정된 암호화 키의 개수, 및 상기 추정된 암호화 키와 상기 대상 기기에서 구동되는 암호 알고리즘의 암호화 키를 비교한 결과 중 적어도 하나에 따라 상기 암호 알고리즘의 안전성을 판단하는 단계임을 특징으로 한다.
본 발명에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템 제어 방법의 효과에 대해 설명하면 다음과 같다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 본 발명은 암호 알고리즘이 구동되는 대상 기기로부터 부채널 정보를 획득하고, 상기 획득된 부채널 정보의 분석 결과 추정되는 암호화 키들과 상기 대상 기기에 탑재된 암호 알고리즘의 암호화 키를 매칭함으로써, 상기 대상 기기에 탑재된 암호 알고리즘의 안전성이 검증될 수 있도록 하는 효과가 있다.
또한 본 발명의 실시 예들 중 적어도 하나에 의하면, 본 발명은 상기 대상 기기에서 암호 알고리즘이 구동 시작 또는 종료되는 경우, 상기 대상 기기로부터 수신되는 신호에 따라 트리거 신호가 생성 또는 종료되도록 하고, 상기 트리거 신호에 연동하여 상기 대상 기기로부터 부채널 정보가 획득되도록 함으로써, 보다 정확한 부채널 정보가 획득될 수 있도록 하는 효과가 있다.
도 1은 대상 기기 및 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템에서, 부채널 정보 분석부의 하드웨어 구성을 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템의 동작 과정을 도시한 흐름도이다.
도 2는 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템에서, 부채널 정보 분석부의 하드웨어 구성을 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템의 동작 과정을 도시한 흐름도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다." 또는 "포함한다." 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 대상 기기(20) 및 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템(10)의 구성을 도시한 블록도이다.
도 1을 참조하여 살펴보면, 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템(10)는 대상 기기(20)와 통신 연결될 수 있다. 여기서 상기 대상 기기(20)는 암호 알고리즘의 구동이 가능한 기기로서, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 또는 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display))일 수 있다.
한편 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템(10)은 동작 신호 검출부(110)와 트리거 신호 생성부(120), 그리고 부채널 정보 수집부(130)와 부채널 정보 분석부(140)를 포함하여 구성될 수 있다.
먼저 동작 신호 검출부(110)는 상기 대상 기기(20)와 통신 연결을 수행할 수 있다. 이를 위해 상기 동작 신호 검출부(110)는 통신부(112)를 구비할 수 있으며, 통신부(112)를 통해 상기 대상 기기(20)의 동작에 관련된 신호(동작 신호)를 수신할 수 있다.
여기서 통신부(112)는 기 설정된 방식으로 상기 대상 기기(20)와 통신 연결을 수행할 수 있다. 이에 따라 통신부(112)는 상기 대상 기기(20)로부터 신호를 수신할 수 있으며, 수신된 신호를 동작 신호 검출부(110)로 출력할 수 있다.
한편 동작 신호 검출부(110)는 대상 기기(20)로부터 수신되는 신호에 근거하여 대상 기기(20)의 동작 상태를 판별할 수 있다. 그리고 여기서 상기 동작 상태는 암호 알고리즘의 구동 여부일 수 있다. 즉 동작 신호 검출부(110)는 대상 기기(20)로부터 수신되는 동작 신호를 검출하여, 상기 대상 기기(20)에서 암호 알고리즘의 구동이 시작되는 여부 및 암호 알고리즘의 구동이 종료되는지 여부를 판별할 수 있다. 또한 동작 신호 검출부(110)는 대상 기기(20)에서 구동되는 암호 알고리즘을 식별할 수 있다.
한편 동작 신호 검출부(110)의 판별 결과, 상기 대상 기기(20)에서 암호 알고리즘의 구동이 시작되는 경우, 동작 신호 검출부(110)는 트리거 신호 생성부(120)에 암호 알고리즘의 구동 시작을 알릴 수 있다. 그러면 트리거 신호 생성부(120)는 트리거(trigger) 신호를 생성할 수 있다.
그리고 동작 신호 검출부(110)의 판별 결과, 상기 대상 기기(20)에서 암호 알고리즘이 구동이 종료되는 경우, 동작 신호 검출부(110)는 트리거 신호 생성부(120)에 암호 알고리즘의 구동 종료를 알릴 수 있다. 그러면 트리거 신호 생성부(120)는 상기 트리거 신호의 생성을 종료할 수 있다.
한편 상기 동작 신호 검출부(110)와 상기 트리거 신호 생성부(120)는 각각 별개의 장치로 구성될 수 있다. 그리고 상기 동작 신호 검출부(110)와상기 트리거 신호 생성부(120)는 시리얼(serial) 통신 방식으로 연결될 수 있다. 그리고 트리거 신호 생성부(120)는 상기 동작 신호 검출부(110)에서 수신되는 신호에 따라 독립적으로 트리거 신호를 생성하거나 종료할 수 있다.
여기서 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템(10)는, 상기 동작 신호 검출부(110)와 트리거 신호 생성부(120)가 각각 모듈화된 임베디드(Embedded) 시스템으로 구현될 수 있으며, 이에 따라 상기 동작 신호 검출부(110)와 상기 트리거 신호 생성부(120)는 각각 독립적으로 동작할 수 있다.
한편 트리거 신호 생성부(120)와 부채널 정보 수집부(130)는 수동 프로브(passive probe)로 직접 연결될 수 있다. 이 경우 상기 트리거 신호 생성부(120)와 부채널 정보 수집부(130) 사이를 연결하는 소켓의 물리적인 핀(pin)들 중 어느 하나는 상기 트리거 신호의 전송을 위해 독립적으로 할당될 수 있다.
한편 부채널 정보 수집부(130)는 상기 트리거 신호에 따라 상기 대상 기기(20)로부터 부채널 정보를 수집할 수 있다. 이를 위해 상기 부채널 정보 수집부(130)는 상기 대상 기기(20)와 직접 연결될 수 있으며, 상기 트리거 신호를 수신할 수 있도록 형성될 수 있다. 그리고 수신되는 트리거 신호에 연동하여 상기 대상 기기(20)의 암호화 과정, 즉 암호 알고리즘의 구동 중에 발생하는 적어도 하나의 신호 파형을 수집하여 저장할 수 있다.
여기서 상기 수집되는 적어도 하나의 신호 파형, 즉 부채널 정보는, 상기 대상 기기(20)의 전력 소비 파형 또는 상기 대상 기기(20)에서 방출되는 전자파 파형의 정보일 수 있다. 이를 위해 상기 부채널 정보 수집부(130)는 상기 대상 기기(20)에서 소비되는 전력 소비량을 검출하기 위한 전력 소비 검출부(도시되지 않음) 또는 상기 대상 기기(20)에서 방출되는 전자파를 검출할 수 있는 전자파 검출부(도시되지 않음) 중 적어도 하나를 구비할 수 있다.
여기서 상기 전자파 검출부는 전자파 프로브를 포함하여 구성될 수 있다. 이 경우 상기 전자파 프로브는 대상 기기(20)에 접촉되어 상기 대상 기기(20)에서 발생되는 전자파가 전자파 검출부로 유입되도록 할 수 있다.
그리고 부채널 정보 분석부(140)는, 상기 부채널 정보 수집부(130)를 통해 수집된 부채널 정보를 분석하여, 암호 알고리즘의 암호화 키(예 : 패스워드(password))를 추정할 수 있다.
일 예로 상기 부채널 정보 분석부(140)는 암호화 키로 사용될 수 있는 모든 키들 및 각 키들의 조합에 각각 대응하는 전력 소모 모델 또는 전자파 파형 모델과 상기 부채널 정보 수집부(130)를 통해 수집된 부채널 정보의 분석 결과에 근거하여, 분석 결과와 가장 연관성이 높은 키들의 조합을 추정할 수 있다. 그리고 추정된 키들 조합을 대상 기기(20)에서 구동된 암호 알고리즘에 대응하는 암호화 키로서 추정할 수 있다.
이를 위해 부채널 정보 분석부(140)는 메모리(142)를 구비할 수 있다. 상기 메모리(142)는 부채널 정보 분석부(140)의 기능을 지원하는 데이터를 저장한다. 일 예로 메모리(142)는 상기 부채널 정보 분석을 위한 데이터로서, 상기 암호화 키로 사용될 수 있는 모든 키들 및 각 키들의 조합에 각각 대응하는 전력 소모 모델 또는 전자파 파형 모델에 대한 데이터를 저장할 수 있다.
한편 부채널 정보 분석부(140)는 추정된 암호화 키의 추정 여부에 따라 상기 대상 기기(20)에서 구동되는 암호 알고리즘의 안전성을 검증할 수 있다. 일 예로 부채널 정보 분석부(140)는 상기 암호화 키가 충분한 개수만큼 추정되었는지 여부를 판별할 수 있다. 예를 들어 부채널 정보 분석부(140)는, 일정 시간 이상동안 수집된 부채널 정보로부터 서로 중첩되지 않는 기 설정된 개수 이상의 키들이 추정되는 경우 암호화 키가 노출될 가능성이 높은 것으로 판단할 수 있다. 반면 일정 시간 이상동안 수집된 부채널 정보로부터 추정된 서로 중첩되지 않는 키의 개수가 기 설정된 개수 미만인 경우 암호화 키가 노출될 가능성이 낮은 것으로 판단할 수 있다.
또는 부채널 정보 분석부(140)는, 부채널 정보의 분석 결과 일정 개수 이상의 키들이 추정되는 경우 상기 키들이 추정되는데 소요되는 시간을 측정할 수 있다. 키들이 추정되는데 소요되는 시간이 일정 시간 이상인 경우라면 부채널 정보 분석부(140)는 암호화 키가 노출될 가능성이 낮은 것으로 판단할 수 있으며, 키들이 추정되는데 소요되는 시간이 일정 시간 미만인 경우라면 암호화 키가 노출될 가능성이 높은 것으로 판단할 수 있다.
한편 부채널 정보 분석부(140)는 보다 정확한 암호 알고리즘의 안전성 검증을 위해 상기 대상 기기(20)에 구동된 암호 알고리즘에 사용된 암호화 키와, 수집된 부채널 정보로부터 추정된 암호화 키를 비교할 수도 있다. 이 경우 상기 대상 기기(20)에서 구동되는 암호 알고리즘은 미리 지정된 암호화 키에 따라 구동될 수 있으며, 상기 미리 지정된 암호화 키는 부채널 정보 분석부(140)의 메모리(142)에 저장된 키일 수 있다.
즉, 상기 대상 기기(20)는 지정된 키에 따라 암호 알고리즘을 구동할 수 있으며, 이 경우 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템(10)은 상기 대상 기기(20)의 암호 알고리즘 구동에 연동하여 생성되는 트리거 신호에 따라 상기 대상 기기(20)가 상기 지정된 키에 근거하여 암호 알고리즘이 구동되는 동안, 상기 대상 기기(20)로부터 부채널 정보를 수집할 수 있다. 그리고 수집된 부채널 정보를 분석하고 분석 결과에 따라 추정된 키들을 상기 미리 지정된 키와 비교하여 그 정확도를 산출할 수 있다. 그리고 산출된 정확도에 따라 상기 암호 알고리즘의 안전성을 판단할 수 있다.
한편 상기 부채널 정보 분석부(140)는 상기 판별된 암호 알고리즘의 안전성에 대한 정보를 출력하기 위한 출력부(도시되지 않음)를 더 포함할 수 있다. 예를 들어 상기 출력부는 화상 정보를 표시할 수 있는 표시부를 포함할 수 있다.
한편 상기 동작 신호 검출부(110)와 트리거 신호 생성부(120)와 마찬가지로 상기 부채널 정보 수집부(130)와 부채널 정보 분석부(140) 역시 각각 모듈화된 임베디드(Embedded) 시스템 형태로 구현될 수 있다. 이에 따라 상기 부채널 정보 수집부(130)와 부채널 정보 분석부(140) 역시 각각 독립적으로 동작할 수 있다.
도 2는 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템(10)에서, 부채널 정보 분석부(140)의 하드웨어 구성을 도시한 블록도이다.
도 2를 참조하여 살펴보면, 부채널 정보 분석부(140)는 부채널 정보 분석부(140)의 전반적인 기능을 제어하는 프로세서(210)와 메모리(142), 그리고 네트워크 입출력부(220)와 사용자 입력부(230)가 버스(bus)로 연결될 수 있다.
먼저 네트워크 입출력부(220)는 부채널 정보 수집부(130)에서 획득된 부채널 정보를 수신할 수 있다. 그리고 부채널 정보가 수신되는 경우 프로세서(210)는 메모리(142)에 저장된 데이터, 즉 각 키 별 전자파 파형 모델 또는 전력 소모 모델에 근거하여, 상기 부채널 정보에 대응하는 키를 검색할 수 있다.
예를 들어 상기 대상 기기(20)에서 구동되는 암호 알고리즘이, 제1 및 제2 계층들로 구성된 복수의 내부 암호 함수들을 포함하는 블록 암호 알고리즘인 경우, 프로세서(210)는 대상 기기(20)의 암호화 동작시 검출된 소비 전력을 분석하여 상기 블록 암호 알고리즘에 있는 내부 암호 함수의 제1 계층의 종단 지점을 포함하는 소비전력 분석구간을 검출할 수 있다.
그리고 상기 내부 암호 함수의 제2 계층의 출력을 구성하는 복수의 출력 블록들에서 샘플링된, 복수의 샘플링 블록들 간의 연산을 통해 상기 내부 암호 함수의 출력에 해당하는 중간값을 추정할 수 있다. 그리고 상기 중간값을 기초로 상기 소비전력 분석구간에 대한 상관 전력 분석을 수행하고, 상관 전력 분석 결과에 근거하여 가장 연관성이 높은 키들을 검출할 수 있다. 이 경우 검출된 키들은 추정된 암호화 키들일 수 있다.
한편 상기 사용자 입력부(230)는 사용자의 입력을 수신하기 위한 키 입력부를 구비할 수 있다.
한편 도 3은 본 발명의 실시 예에 따른 암호 알고리즘 안전성 검증 시스템(10)의 동작 과정을 도시한 흐름도이다.
도 3을 참조하여 살펴보면, 본 발명의 실시 예에 따른 알고리즘 안전성 검증 시스템(10)의 동작 신호 검출부(110)는 먼저 대상 기기(20)와의 통신 연결을 수행할 수 있다(S300). 그리고 대상 기기(20)와 통신 연결이 이루어지면 상기 대상 기기(20)의 동작 상태에 따른 동작 신호를 수신할 수 있다.
그러면 상기 동작 신호 검출부(110)는 수신된 동작 신호로부터 상기 대상 기기(20)에서 암호 알고리즘의 구동 시작을 검출할 수 있다. 그리고 상기 대상 기기(20)에서 수신되는 동작 신호에 근거하여 상기 대상 기기(20)에서 구동되는 암호 알고리즘을 식별할 수 있다(S302).
한편 상기 S302 단계에서 암호 알고리즘의 구동 시작이 검출되는 경우, 동작 신호 검출부(110)는 암호 알고리즘의 구동 시작을 트리거 신호 생성부(120)에 알릴 수 있다. 그러면 트리거 신호 생성부(120)는 상기 식별된 암호 알고리즘에 따라 트리거 신호를 생성할 수 있다. 그리고 트리거 신호 생성부(120)에서 생성된 트리거 신호는 부채널 정보 수집부(130)에 입력될 수 있으며, 부채널 정보 수집부(130)는 대상 기기(20)로부터 부채널 정보를 획득할 수 있다(S304).
한편 대상 기기(20)에서 암호 알고리즘이 구동됨에 따라 부채널 정보의 획득이 시작되면, 동작 신호 검출부(110)는 대상 기기(20)에서 암호 알고리즘의 구동이 종료되었는지 여부를 판단할 수 있다(S306). 그리고 암호 알고리즘의 구동이 종료되지 않은 경우라면, S304 단계를 반복하여 트리거 신호 생성부(120)가 트리거 신호를 계속 생성하도록 제어할 수 있다. 그리고 트리거 신호의 생성이 지속되는 경우, 부채널 정보 수집부(130)는 대상 기기(20)로부터 부채널 정보를 수집하는 상태를 유지할 수 있다.
한편 상기 S306 단계에서, 대상 기기(20)에서 암호 알고리즘의 구동이 종료된 경우라면, 동작 신호 검출부(110)는 트리거 신호 생성부(120)가 트리거 신호의 생성을 종료하도록 제어할 수 있다. 그리고 트리거 신호의 생성이 종료되면, 부채널 정보 수집부(130)는 대상 기기(20)로부터의 부채널 정보 수집을 종료할 수 있다(S308).
한편 상기 트리거 신호에 따라 상기 대상 기기(20)에서 암호 알고리즘이 구동된 시간동안의 부채널 정보가 수집되면, 수집된 부채널 정보들은 부채널 정보 분석부(140)로 입력될 수 있다. 그러면 부채널 정보 분석부(140)는 부채널 정보를 분석하여 암호화 키를 추정할 수 있다(S310). 그리고 추정된 암호화 키 및 추정에 소요된 시간 등에 근거하여, 대상 기기(20)에서 구동된 암호 알고리즘의 안전성을 검증할 수 있다(S312).
따라서 본 발명은 대상 기기(20)에서 암호 알고리즘이 구동될 때에 수신되는 동작 신호에 근거하여 대상 기기(20)에서 암호 알고리즘의 구동이 시작되는 시점과 종료되는 시점을 정확하게 판별하고, 판별된 시점에 근거하여 트리거 신호가 생성될 수 있다. 이에 상기 대상 기기(20)의 물리적 구조 또는 하드웨어적 구조를 변경하지 않고서도 상기 암호 알고리즘의 시작 및 종료에 대응하는 트리거 신호가 생성될 수 있도록 하는 효과가 있다.
또한 본 발명은 상기 트리거 신호에 연동하여 부채널 정보가 획득되도록 함으로써, 대상 기기(20)에서 암호 알고리즘이 구동되는 시간을 정확하게 검출할 수 있으며, 상기 암호 알고리즘이 구동되는 시간 동안에 발생하는 부채널 정보를 정확하게 획득할 수 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 그러나 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석 되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10 : 암호 알고리즘 안전성 검증 시스템
110 : 동작 신호 검출부 112 : 통신부
120 : 트리거 신호 생성부 130 : 부채널 정보 수집부
140 : 부채널 정보 분석부 142 : 메모리
110 : 동작 신호 검출부 112 : 통신부
120 : 트리거 신호 생성부 130 : 부채널 정보 수집부
140 : 부채널 정보 분석부 142 : 메모리
Claims (13)
- 대상 기기의 동작 신호에 근거하여 상기 대상 기기에서 암호 알고리즘의 구동 시작 및 종료를 판별하고, 구동되는 암호 알고리즘을 식별하는 동작 신호 검출부;
상기 식별된 암호 알고리즘에 따라, 상기 대상 기기로부터 부채널 정보를 획득하기 위한 트리거 신호를 생성하고, 상기 암호 알고리즘의 구동 종료에 해당하는 경우 상기 트리거 신호의 생성을 종료하는 트리거 신호 생성부;
상기 트리거 신호에 따라 상기 대상 기기로부터, 상기 암호 알고리즘이 구동되는 동안 부채널 정보를 수집하는 부채널 정보 수집부; 및,
상기 수집된 부채널 정보를 분석하여 상기 대상 기기에서 구동되는 암호 알고리즘의 암호화 키를 추정 및, 추정된 암호화 키에 근거하여 상기 암호 알고리즘의 안전성을 검증하는 부채널 정보 분석부를 포함하고,
상기 부채널 정보 분석부는,
상기 추정된 암호화 키와 상기 대상 기기에서 구동되는 암호 알고리즘의 암호화 키를 비교한 결과에 따라 상기 암호 알고리즘의 안전성을 판단하는 것을 특징으로 하는 암호 알고리즘 안전성 검증 시스템. - 삭제
- 제1항에 있어서,
상기 암호 알고리즘 안전성 검증 시스템은,
임베디드(embedded) 시스템으로 구현되어, 상기 동작 신호 검출부, 상기 트리거 신호 생성부, 상기 부채널 정보 수집부 및 상기 부채널 정보 분석부가 각각 독립적으로 동작하도록 모듈화된 것을 특징으로 하는 암호 알고리즘 안전성 검증 시스템. - 제1항에 있어서,
상기 트리거 신호 생성부와 상기 동작 신호 검출부는 시리얼(serial) 통신으로 연결되는 것을 특징으로 하는 암호 알고리즘 안전성 검증 시스템. - 제1항에 있어서,
상기 트리거 신호 생성부와 상기 부채널 정보 수집부 사이를 연결하는 소켓의 물리적인 핀(pin)들 중 어느 하나는 상기 트리거 신호의 전송을 위해 독립적으로 할당되는 것을 특징으로 하는 암호 알고리즘 안전성 검증 시스템. - 제1항에 있어서, 상기 부채널 정보 수집부는,
상기 대상 기기와 연결되고, 상기 트리거 신호에 연동하여 상기 대상 기기의 암호 알고리즘 구동 중에 상기 대상 기기로부터 발생하는 적어도 하나의 신호 파형을 수집하여 저장하는 것을 특징으로 하는 암호 알고리즘 안전성 검증 시스템. - 제6항에 있어서, 상기 적어도 하나의 신호 파형은,
상기 대상 기기에서 소비되는 전력 소비 파형 또는 상기 대상 기기에서 방출되는 전자파의 파형임을 특징으로 하는 암호 알고리즘 안전성 검증 시스템. - 삭제
- 대상 기기로부터 동작 신호를 수신하는 동작 신호 검출부와, 수신된 동작 신호에 따라 트리거 신호를 생성하는 트리거 신호 생성부, 상기 트리거 신호에 따라 상기 대상 기기로부터 부채널 정보를 수집하는 부채널 정보 수집부 및 상기 수집된 부채널 정보를 분석하는 부채널 정보 분석부를 포함하는 암호 알고리즘 안전성 검증 시스템의 제어 방법에 있어서,
상기 동작 신호 검출부가, 상기 대상 기기로부터 동작 신호를 수신하는 제1 단계;
상기 동작 신호 검출부가, 상기 수신된 동작 신호에 근거하여 암호 알고리즘의 구동 시작을 판별하고, 구동되는 암호 알고리즘을 식별하는 제2 단계;
상기 트리거 신호 생성부가, 상기 식별된 암호 알고리즘에 따라 상기 트리거 신호를 생성하는 제3 단계;
상기 부채널 정보 수집부가, 상기 트리거 신호에 근거하여 상기 대상 기기로부터 부채널 정보를 수집하는 제4 단계;
상기 동작 신호 검출부가, 상기 수신된 동작 신호에 근거하여 상기 암호 알고리즘의 동작 종료를 검출하는 제5 단계;
상기 암호 알고리즘의 동작 종료가 검출되지 않은 경우, 상기 트리거 신호 생성부 및 상기 부채널 정보 수집부가 상기 제3 단계 및 제4 단계를 반복하는 제6 단계;
상기 암호 알고리즘의 동작 종료가 검출되는 경우, 상기 부채널 정보 분석부가, 상기 부채널 정보 수집부에서 수집된 부채널 정보를 분석하여 암호화 키를 추정하는 제7 단계; 및,
상기 부채널 정보 분석부가, 상기 추정된 암호화 키에 근거하여 상기 암호 알고리즘의 안전성을 판단하는 제8 단계를 포함하고,
상기 제8 단계는,
상기 추정된 암호화 키와 상기 대상 기기에서 구동되는 암호 알고리즘의 암호화 키를 비교한 결과에 따라 상기 암호 알고리즘의 안전성을 판단하는 단계임을 특징으로 하는 암호 알고리즘 안전성 검증 시스템의 제어 방법. - 제9항에 있어서, 상기 제4 단계는,
상기 부채널 정보 수집부가, 상기 트리거 신호에 연동하여 상기 대상 기기의 암호 알고리즘 구동 중에 상기 대상 기기로부터 발생하는 적어도 하나의 신호 파형을 수집하여 저장하는 단계임을 특징으로 하는 암호 알고리즘 안전성 검증 시스템의 제어 방법. - 제10항에 있어서, 상기 적어도 하나의 신호 파형은,
상기 대상 기기에서 소비되는 전력 소비 파형 또는 상기 대상 기기에서 방출되는 전자파의 파형임을 특징으로 하는 암호 알고리즘 안전성 검증 시스템의 제어 방법. - 제11항에 있어서, 상기 제7 단계는,
상기 암호 알고리즘이, 제1 및 제2 계층들로 구성된 복수의 내부 암호 함수들을 포함하는 블록 암호 알고리즘인 경우, 상기 대상 기기로부터 검출된 소비 전력을 분석하여 상기 블록 암호 알고리즘에 있는 상기 내부 암호 함수의 제1 계층 종단 지점을 포함하는 소비전력 분석구간을 검출하는 제7-1 단계;
상기 내부 암호 함수의 제2 계층의 출력을 구성하는 복수의 출력 블록들로부터 샘플링을 수행하는 제7-2 단계;
샘플링된 복수의 블록을 통해 상기 내부 암호 함수의 출력에 해당하는 중간값을 추정하는 제7-3 단계; 및,
상기 추정된 중간값을 기초로 상기 소비전력 분석구간에 대한 상관 전력 분석을 수행하고, 상관 전력 분석 결과에 근거하여 가장 연관성이 높은 키들을 암호화 키들로 추정하는 제7-4 단계를 포함하는 것을 특징으로 하는 암호 알고리즘 안전성 검증 시스템의 제어 방법.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190123225A KR102297318B1 (ko) | 2019-10-04 | 2019-10-04 | 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190123225A KR102297318B1 (ko) | 2019-10-04 | 2019-10-04 | 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210040669A KR20210040669A (ko) | 2021-04-14 |
KR102297318B1 true KR102297318B1 (ko) | 2021-09-02 |
Family
ID=75477587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190123225A KR102297318B1 (ko) | 2019-10-04 | 2019-10-04 | 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102297318B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101879809B1 (ko) * | 2017-09-19 | 2018-08-16 | 국민대학교산학협력단 | 부채널 분석에 안전한 연산 장치 및 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100940445B1 (ko) * | 2007-11-20 | 2010-02-10 | 한국전자통신연구원 | 하드웨어 부채널 검증 시스템 |
KR101141600B1 (ko) * | 2009-08-19 | 2012-05-17 | 한국전자통신연구원 | 부채널 분석을 위한 전원 신호 측정 및 트리거 발생 장치 및 그 방법 |
KR20150136337A (ko) * | 2014-05-27 | 2015-12-07 | 한국전자통신연구원 | 부채널 분석 시스템 및 그 방법 |
-
2019
- 2019-10-04 KR KR1020190123225A patent/KR102297318B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101879809B1 (ko) * | 2017-09-19 | 2018-08-16 | 국민대학교산학협력단 | 부채널 분석에 안전한 연산 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20210040669A (ko) | 2021-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11526607B2 (en) | Systems and methods for runtime program monitoring through analysis of side channel signals | |
Alam et al. | {One&Done}: A {Single-Decryption}{EM-Based} Attack on {OpenSSL’s}{Constant-Time} Blinded {RSA} | |
Yan et al. | A study on power side channels on mobile devices | |
CN105281906A (zh) | 安全验证方法及装置 | |
Merlo et al. | Measuring and estimating power consumption in android to support energy-based intrusion detection | |
US10404524B2 (en) | Resource and metric ranking by differential analysis | |
CN105138916A (zh) | 基于数据挖掘的多轨迹恶意程序特征检测方法 | |
Wang et al. | Personal PIN leakage from wearable devices | |
EP3040901A1 (en) | System and method for aligning time-series data over a large range of time indices | |
Wang et al. | Wristspy: Snooping passcodes in mobile payment using wrist-worn wearables | |
Qin et al. | Website fingerprinting by power estimation based side-channel attacks on Android 7 | |
KR101623493B1 (ko) | 금융 ic 카드 암호문 데이터 생성 절차에 적합한 부채널 분석 대응 방법 | |
Oligeri et al. | BrokenStrokes: on the (in) security of wireless keyboards | |
CN114816870A (zh) | 一种连接usb后的按键检测方法及装置 | |
KR102297318B1 (ko) | 부채널 정보 분석에 따른 암호 알고리즘 안전성 검증 시스템 및 그 시스템의 제어 방법 | |
Ahmed et al. | Design of Lightweight Cryptography based Deep Learning Model for Side Channel Attacks | |
CN113507334A (zh) | 基于信道嗅探的参量测试方法、装置、设备及存储介质 | |
CN106295472A (zh) | 一种指纹模式应用方法及装置 | |
Ji et al. | No seeing is also believing: electromagnetic-emission-based application guessing attacks via smartphones | |
KR20110060570A (ko) | 부채널 분석기의 분석 방법 | |
KR20160114252A (ko) | 부채널 분석 연산 방법 | |
CN109492357B (zh) | 身份认证方法、设备及计算机存储介质 | |
US20150349948A1 (en) | Side channel analysis system and side channel analysis method using the same | |
Spolaor et al. | Plug and power: Fingerprinting usb powered peripherals via power side-channel | |
KR102516666B1 (ko) | 펄스 시스템 검증 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |