KR20230088201A - 경량 블록암호 pipo에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법 및 장치 - Google Patents

경량 블록암호 pipo에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법 및 장치 Download PDF

Info

Publication number
KR20230088201A
KR20230088201A KR1020220010035A KR20220010035A KR20230088201A KR 20230088201 A KR20230088201 A KR 20230088201A KR 1020220010035 A KR1020220010035 A KR 1020220010035A KR 20220010035 A KR20220010035 A KR 20220010035A KR 20230088201 A KR20230088201 A KR 20230088201A
Authority
KR
South Korea
Prior art keywords
artificial neural
neural network
channel analysis
analysis method
profiling
Prior art date
Application number
KR1020220010035A
Other languages
English (en)
Other versions
KR102702818B1 (ko
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 국민대학교산학협력단
Publication of KR20230088201A publication Critical patent/KR20230088201A/ko
Application granted granted Critical
Publication of KR102702818B1 publication Critical patent/KR102702818B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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
    • H04L2209/122Hardware reduction or efficient architectures
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

부채널 분석 방법에 연관된다. 보다 상세하게는 평문과 키에 대해 시스템의 암호 알고리즘이 동작할 때 발생하는 부채널 정보를 수집하는 단계; 수집된 상기 부채널 정보에 기초하여 적어도 하나 이상의 인공 신경망을 학습시키는 단계; 및 상기 인공 신경망을 이용하여 상기 시스템의 비밀키를 복구하는 단계를 포함하는 부채널 분석 방법을 제시한다.

Description

경량 블록암호 PIPO에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법 및 장치{NOVEL DEEP LEARNING-BASED PROFILING, NON-PROFILING SIDE-CHANNEL ANALYSIS METHOD AND APPARATUS FOR LIGHTWEIGHT BLOCK CIPHER PIPO}
아래 실시예들은 경량 블록암호 PIPO(Plug-In, Plug-Out, 이하 PIPO)에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법에 관한 것이다. 보다 구체적으로, 경량 블록 암호 PIPO에 딥러닝 신경망을 이용한 프로파일링 공격자 환경에서의 부채널 분석 또는 비프로파일링 공격자 환경에서의 부채널 분석을 적용하여 암호 비밀키를 도출하는 방법에 관한 것이다.
사물 인터넷(IoT, Internet of Things)의 사용이 점차 보편화되면서 전력 소비량, 하드웨어 면적, 메모리의 크기 등이 제한적인 사물 인터넷 환경에서도 사용할 수 있는 경랑 암호에 대한 연구가 활발히 진행되고 있다. 이때, 이러한 경량 암호가 대상 기기에서 실제로 동작할 때 발생하는 부가적인 정보인 부채널 정보를 활용한 공격에 대한 취약점이 존재할 수 있다.
비트 슬라이스 기반 암호 PIPO는 이러한 부채널 공격의 대응기법을 적용하기 쉽도록 설계된 국산 경량 암호 알고리즘으로써, 2020년 ICISC (International Conference on Information Security and Cryptology)에서 처음 발표되었다.
"PIPO: A Lightweight Block Cipher with Efficient Higher-Order Masking Software Implementations.", International Conference on Information Security and Cryptology. Springer, Cham, 2020.
본 발명은 비트 슬라이스 기반 암호 PIPO를 대상으로 다중신경망을 활용하는 프로파일링 부채널 분석 및 이진 인코딩 라벨을 활용한 비프로파일링 부채널 분석을 제안한다.
일 실시예에 따르면, 평문과 키에 대해 시스템의 암호 알고리즘이 동작할 때 발생하는 부채널 정보를 수집하는 단계; 수집된 상기 부채널 정보에 기초하여 적어도 하나 이상의 인공 신경망을 학습시키는 단계; 및 상기 인공 신경망을 이용하여 상기 시스템의 비밀키를 복구하는 단계를 포함하는 부채널 분석 방법이 개시된다.
다른 일 실시예에 따르면 상기 학습시키는 단계는, 상기 부채널 정보가 입력되는 경우의 출력 값을 라벨로 하여 상기 인공 신경망을 학습시키는 단계일 수 있다.
또 다른 일 실시예에 따르면 상기 암호 알고리즘은 PIPO(Plug In, Plug Out) 암호 알고리즘이고, 상기 학습시키는 단계는, 상기 PIPO 암호 알고리즘의 S-박스 연산 출력 값에 대한 정보를 라벨로 하여 상기 인공 신경망을 학습시키는 단계일 수 있다.
다른 일 실시예에 따르면 상기 비밀키의 복구에 사용되는 상기 인공 신경망의 개수를 결정하는 단계를 더 포함하는 부채널 분석 방법도 개시된다.
다른 일 실시예에 따르면 상기 인공 신경망의 개수를 결정하는 단계는, 상기 S-박스 입출력 비트 수를 n (n은 S-박스 입출력 비트 수 이하의 자연수)으로 나눈 값을 상기 인공 신경망의 개수로 결정하는 단계일 수 있다.
또 다른 일 실시예에 따르면 상기 비밀키를 복구하는 단계는, 상기 S-박스 연산 출력 값을 n-bit 마다 상기 인공 신경망들이 병렬적으로 분석하여 비밀키를 복구하는 단계일 수 있다.
일 실시예에 따르면 이진 인코딩 값을 라벨로 하여, 입력 부채널 정보로부터 추측키를 출력하도록 복수의 인공 신경망을 학습시키는 단계; 상기 복수의 인공 신경망 중 소정의 조건을 만족하는 인공 신경망에 기초하여 부채널 분석을 수행하는 단계를 포함하는, 부채널 분석 방법이 개시된다.
다른 일 실시예에 따르면 상기 부채널 분석을 수행하는 단계는, 상기 소정의 조건을 만족하는 인공 신경망이 출력하는 상기 추측키를 비밀키로 판단하는 단계일 수 있다.
또 다른 일 실시예에 따르면 상기 소정의 조건을 만족하는 인공 신경망은, 상기 복수의 인공 신경망 중에서 입력에 대해 출력한 추측키가 올바른 비밀키에 대응하는 비율이 가장 높은 인공 신경망인 부채널 분석 방법이 제시된다.
일 실시예에 따르면 평문과 키에 대해 시스템의 암호 알고리즘이 동작할 때 발생하는 부채널 정보를 수집하고, 수집된 상기 부채널 정보에 기초하여 적어도 하나 이상의 인공 신경망을 학습하는 기계학습부; 및 학습된 상기 적어도 하나 이상의 인공신경망을 이용하여 상기 시스템의 비밀키를 복구하는 추출부를 포함하는 부채널 분석 장치도 개시된다.
본 발명을 통해 비트 슬라이스 기반 암호 PIPO에 보다 더 효율적인 분석 방법이 제공될 수 있다. PIPO 암호가 탑재된 도구의 부채널 안전성 검증에 본 발명을 활용하여, 효율적인 검증을 기반으로 금융 스마트카드, 전자 ID 카드 등을 포함한 스마트 TV, 스마트 냉장고, 스마트 카 등과 같은 다양한 사물인터넷 서비스 보안 수준을 향상시키고 국제 경쟁력을 강화하는데 중추적인 역할을 할 수 있다.
도 1은 일 실시예에 따른 PIPO에 대한 다중 신경망을 사용하는 딥러닝 기반 프로파일링 부채널 분석 방법을 설명하는 흐름도이다.
도 2는 일 실시예에 따른 부채널 분석 장치의 구성을 나타내는 도면이다.
도 3은 일 실시예에 따른 부채널 분석 방법에서 다중 신경망을 활용하여 프로파일링을 수행하는 일례를 도시하는 도면이다.
도 4는 일 실시예에 따른 부채널 분석 방법에서 다중 신경망을 활용하여 비밀키를 복구하는 일례를 도시하는 도면이다.
도 5는 일 실시예에 따른 비프로파일링에 기반한 부채널 분석 방법을 설명하기 위한 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있도록 상세히 설명된다.
본 발명의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 또한, '하나' 또는 '한'은 하나 이상의 의미로 쓰인 것이며, '또 다른'은 적어도 두 번째 이상으로 한정된다.
또한, 본 발명의 '제1', '제2' 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로서, 순서를 나타내는 것으로 이해되지 않는 한 이들 용어들에 의하여 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 이와 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는 그 다른 구성요소에 직접 연결될 수도 있지만 중간에 다른 구성요소가 개재할 수도 있다고 이해되어야 할 것이다. 반면에 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉, "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
각 단계들에 있어서 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용된 것으로 식별부호는 논리상 필연적으로 귀결되지 않는 한 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며, 반대의 순서로 수행될 수도 있다.
통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다. 따라서, 특정 구조나 기능에 관하여 본 명세서에 개시된 상세 사항들은 한정하는 의미로 해석되어서는 아니되고, 단지 통상의 기술자가 실질적으로 적합한 임의의 상세 구조들로써 본 발명을 다양하게 실시하도록 지침을 제공하는 대표적인 기초 자료로 해석되어야 할 것이다.
더욱이 본 발명은 본 명세서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
본 발명의 실시 예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시 예들 중 단지 일부일 뿐이며, 본 발명의 기술분야에서 통상의 지식을 가진 사람(이하 "통상의 기술자"라 함)에게 있어서는 발명에 이르는 추가 노력 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
이하에서는 PIPO 시스템의 비트 슬라이스 구조 특징을 활용한 프로파일링 및 비프로파일링 부채널 분석 방법을 제시한다.
PIPO 시스템에 적용되는 암호화 알고리즘의 구현 방식은 비특허문헌 0001["PIPO: A Lightweight Block Cipher with Efficient Higher-Order Masking Software Implementations.", International Conference on Information Security and Cryptology. Springer, Cham, 2020.]을 통해 통상의 기술자가 용이하게 이해할 것이다.
딥러닝 기반 프로파일링 부채널 분석 방법은, 공격의 대상이 되는 시스템과 유사한 완전히 제어할 수 있는 프로파일링 장비를 공격자가 소유한 경우를 가정한다. 일 실시예에 따른 부채널 분석 방법은 프로파일링 장비를 통해 수집한 정보를 이용하여 학습을 수행하는 프로파일링 단계와 실제 대상 장비로부터 수집한 정보로 공격을 수행하여 비밀키를 복구하는 공격 단계를 포함할 수 있다.
딥러닝 기반 비프로파일링 부채널 분석 방법은 공격의 대상이 되는 시스템이 동작하는 동안에 발생하는 부채널 정보를 프로파일링 장비가 획득하고, 입력 또는 출력 정보를 수집할 수 있는 환경에 있는 상황을 가정한다. 부채널 분석 방법은 상기 프로파일링 장비를 통해 수집한 부채널 정보를 이용하여 인공 신경망이 학습을 수행하고, 가장 잘 학습된 인공 신경망의 추측키를 옳은 비밀키로 판단할 수 있다.
이하의 설명에서 사용되는 기호는 다음의 표 1과 같이 정의할 수 있다.
기호 설명
0b 2진법 수 표현(예: 0b101=5)
Figure pat00001
PIPO의 S-Box 연산 (입력 :
Figure pat00002
)
Figure pat00003
PIPO의 S-Box 역연산 (입력 :
Figure pat00004
)
Figure pat00005
eXclusiveOR 연산(XOR 연산)
Figure pat00006
Right Shift 연산
Figure pat00007
이진 인코딩 연산(입력 :
Figure pat00008
)
Substitution-box(이하, S-Box 또는 S-박스)는 대체(substitution)를 수행하는 대칭 키 알고리즘의 기본 구성 요소로서, 블록 사이퍼(Block Cipher)에서는 일반적으로 키와 암호문 간의 관계를 모호하게 하여 샤논(Shannon)의 혼동 특성을 보장하는 데 사용된다.일반적으로 S-박스(S-box)는 입력 비트 m을 취하여 출력 비트 n으로 변환하고, n은 반드시 m과 동일할 필요는 없다. m Х n의 S-box는 각각 n 비트의 2m 개가 있는 룩업 테이블로 구현될 수 있다. 데이터 암호화 표준(Data Encryption Standard)에서와 같이, 일반적으로 고정 테이블이 사용되지만 일부 암호에서는 테이블이 키로부터 동적으로 생성될 수 있다.
블록 사이퍼는 블록이라 불리는 고정 길이 비트 그룹에서 작동하는 결정론적 알고리즘이다. 블록 사이퍼는 많은 암호화 프로토콜의 설계에서 기본 구성 요소로 지정되며 데이터 교환 프로토콜을 포함하여 많은 양의 데이터 암호화를 구현하는 데에 널리 사용된다. 또한 블록 사이퍼는 상기 블록을 불변 변환으로 사용할 수 있다.
PIPO 시스템의 S-박스 연산은 예시적으로 그러나 한정되지 않게 8-bit 단위일 수 있고, 비트 슬라이스 구조를 기반으로 설계될 수 있다.
따라서 PIPO 시스템의 S-박스 연산의 입출력은 서로 다른 레지스터에 저장되는 특징을 갖는다. 즉 S-박스의 입출력
Figure pat00009
번째 비트가 각각 레지스터
Figure pat00010
에 저장되어 연산을 수행한다. 따라서 상기 PIPO 시스템의 알고리즘이 동작하는 동안에 발생하는 소비전력 파형에 S-박스 입출력에 대한 전력 정보가 1-bit 단위로 분산되어 존재할 수 있다. 즉 상기 PIPO 시스템의 부채널 정보는 예시적으로 소비전력 파형일 수 있으며 다른 실시예에서는 소비전력이 아닌 다른 부채널 정보를 활용할 수도 있다.
이하에서는 예시적으로 그러나 한정되지 않게 분산된 전력 정보를 이용한 딥러닝 기반 프로파일링 부채널 분석 기법 및 비프로파일링 부채널 분석 방법을 설명한다.
도 1은 일 실시예에 따른 PIPO에 대한 다중 신경망을 사용하는 딥러닝 기반 프로파일링 부채널 분석 방법을 설명하는 흐름도이다.
도 1을 참고하면, 일 실시예에 따른 부채널 분석 방법은 프로파일링 단계(110) 및 공격 단계(120)를 포함할 수 있다. 구체적으로, 상기 프로파일링 단계(110)는 부채널 정보를 수집하는 단계와 수집된 상기 부채널 정보에 기초하여 인공 신경망을 학습시키는 단계를 포함할 수 있다.
일 실시예에 따르면, 부채널 분석 장치는 프로파일링 단계(110)에서 임의의 평문과 키에 대해 암호 알고리즘이 동작할 때 발생하는 부채널 정보를 수집할 수 있다. 구체적으로, 상기 부채널 정보는 별도의 프로파일링 장비를 이용하여 수집되어 상기 부채널 분석 장치로 전달될 수 있으며, 실시예에 따라 상기 부채널 분석 장치가 상기 프로파일링 장비를 포함하도록 구성하는 것도 가능하다. 부채널 정보를 수집하는 프로파일링 장비를 포함하거나 별도로 구성하는 것은 통상의 기술자의 입장에서 특별한 어려움 없이 변경이 가능할 것이다.
일 실시예에 따르면, 수집되는 부채널 정보는 실질적으로 유의미한 시점에 추출된 정보일 수 있으며, 상기 부채널 정보의 특성이 모델링될 수 있다. 즉, 상기 프로파일링 단계(110)에서는 수집한 부채널 정보를 입력 값으로, 부채널 정보에 대응하는 중간 값을 라벨로 사용하여 인공 신경망이 학습될 수 있다.
일 실시예에 따른 부채널 분석 방법에서는 PIPO 시스템의 S-Box 연산 출력 값에 대한 정보를 라벨로 활용할 수 있다. 또한, 활용되는 라벨에 따라 PIPO 시스템의 한 바이트(byte) 비밀키 분석에서 사용되는 인공 신경망의 개수를 결정하는 단계를 더 포함할 수 있다.
예를 들어, PIPO 시스템의 S-박스 연산 8-bit 비밀키 분석에서 n-bit를 라벨로 설정하는 경우에, S-박스 출력 값에 대한 정보를 모두 학습하기 위해 사용하는 인공 신경망의 개수는 8/n으로 나타낼 수 있다. 즉, 4-bit를 라벨로 설정한다면 2(=8/4) 개의 인공 신경망을 포함하는 다중 신경망을 사용하여 학습할 수 있다. 따라서 S-박스 출력 값의 n-bit를 각각 라벨로 설정하면 라벨의 bit 에 대응하는 다중 신경망이 부채널 정보를 입력 값으로 하여 학습될 수 있다.
다시 말해, PIPO의 S-박스 출력 값을
Figure pat00011
라고 하는 경우,
Figure pat00012
의 비트표현을
Figure pat00013
로 표현될 수 있으며, 도 3에 예시된 바와 같이, 2-bit를 라벨로 설정하는 경우에 4개의 다중 신경망을 활용하여 프로파일링 단계(110)가 수행될 수 있다.
일 실시예에 따르면, 부채널 분석 장치는 공격 단계(120)에서 공격자가 공격 파형 및 그에 따른 평문
Figure pat00014
를 알고 있다고 가정하며, 프로파일링 단계(110)에서 학습된 인공 신경망을 사용하여 비밀키(
Figure pat00015
)를 복구할 수 있다. 일 실시예에 따른 부채널 분석 장치는 획득한 부채널 정보를 입력으로 할 때 얻은 신경망의 출력 값을 바탕으로 중간 값을 복원하고 복원된 값에 대응하는 비밀키를 획득할 수 있다.
다중 신경망의 경우 PIPO 시스템의 S-박스 출력 값의 n-bit를 각각의 8/n개의 다중 신경망을 통해 복구할 수 있다. 부채널 분석 장치는 복구한 n-bit를 맞는 비트에 조합하여 S-박스 출력 값
Figure pat00016
에 대한 정보를 얻을 수 있다. 그 후 부채널 분석 장치는 S-박스 연산의 역함수를 구한 후 평문
Figure pat00017
를 XOR 연산하여 비밀키를 복구할 수 있다. 보다 구체적으로, 부채널 분석 장치는 수학식 1에 기초하여 비밀키
Figure pat00018
를 복원할 수 있다.
Figure pat00019
Figure pat00020
는 비밀 키,
Figure pat00021
는 S-박스 연산의 역함수,
Figure pat00022
는 평문,
Figure pat00023
는 복구한 n-bit를 통해 획득한 S-박스 출력 값,
Figure pat00024
는 XOR 연산을 의미할 수 있다.
도 2는 일 실시예에 따른 부채널 분석 장치(200)의 구성을 나타내는 도면이다. 보다 구체적으로 일 실시예에 따른 부채널 분석 장치(200)는 기계학습부(210) 및 추출부(220)를 포함할 수 있다.
다른 일 실시예에서는 상기 부채널 분석 장치(200)가 프로파일링부(미도시)를 더 포함할 수 있다. 그러나 반드시 포함해야 하는 것은 아니며, 통상의 기술자 입장에서 부채널 정보를 수집하는 프로파일링부를 상기 부채널 분석 장치 내부에 포함하도록 하거나 외부에 별도의 구성으로 운용하는 것이 가능하기 때문이다.
일 실시예에 따른 부채널 분석 장치(200)는 상술한 부채널 분석 방법을 수행할 수 있다. 즉, 부채널 분석 장치(200)는 부채널 정보를 수집하고, 수집된 부채널 정보에 기반하여 기계학습을 수행할 수 있으며, 기계학습된 인공 신경망을 사용하여 비밀키를 추출할 수 있다.
구체적으로, 기계학습부(210)는 수집한 부채널 정보를 입력 값으로, 부채널 정보에 대응하는 중간 값을 라벨로 사용하여 인공 신경망을 학습시킬 수 있다. 예를 들어 PIPO 시스템의 S-박스 연산 출력 값에 대한 정보를 라벨로 활용할 수 있다.
또한, 상기 기계학습부(210)에는 활용되는 라벨에 따라 PIPO 시스템의 한 바이트(byte) 비밀키 분석에서 사용되는 인공 신경망의 개수가 달라질 수 있다. 예를 들어, PIPO 시스템의 S-박스 연산 8-bit 비밀키 분석에서 n-bit를 라벨로 설정하는 경우에, S-박스 출력 값에 대한 정보를 모두 학습하기 위해 8/n 개의 인공 신경망을 사용할 수 있다. 만약 4-bit를 라벨로 설정한다면 2(=8/4) 개의 인공 신경망을 포함하는 다중 신경망을 사용하여 기계학습을 수행할 수 있다. 따라서 S-박스 출력 값의 n-bit를 각각 라벨로 설정하면 라벨의 bit에 대응하는 다중 신경망이 부채널 정보를 입력 값으로 하여 학습될 수 있다.
여기서 부채널 정보는 프로파일링부에 의해 추출된 정보일 수 있으며, 보다 상세하게는 상기 프로파일링부에 의해 실질적으로 유의미한 시점에 추출된 정보일 수 있다.
추출부(200)는 상기 기계학습부(210)가 학습시킨 인공 신경망 혹은 다중 신경망을 이용하여 비밀키를 추출할 수 있다. 보다 상세하게는 부채널 정보를 입력으로 할 때 얻은 신경망의 출력 값을 바탕으로 중간 값을 복원하고 복원된 값에 대응하는 비밀키를 획득할 수 있다.
공격자는 상기 부채널 분석 장치(200)의 추출부(220)를 통해 공격하고자 하는 시스템의 비밀키를 추출할 수 있다.
도 3은 일 실시예에 따른 부채널 분석 방법에서 다중 신경망을 활용하여 프로파일링을 수행하는 일례를 도시하는 도면이다.
도 3을 참고하면, PIPO S-Box의 출력 값 a가 도시된다. 출력 값 a는 MSB(Most Significant Bit, 최상위 비트)로부터 LSB(Least Significant Bit, 최하위 비트)까지
Figure pat00025
로 나타내어질 수 있다.
다음으로 4 개의 인공 신경망(Network 0 ~ 3)이 도시된다. 각각의 상기 인공 신경망은 부채널 정보를 입력 데이터(Input data)로 하고, 상기 출력 값
Figure pat00026
의 2-bit씩을 각각 라벨로 설정하여 프로파일링을 수행할 수 있다.
구체적으로, 첫번째 인공 신경망(Network 0)은 부채널 정보를 입력 데이터로 하고
Figure pat00027
를 라벨로 하여 프로파일링을 수행할 수 있다. 다음으로 두번째 인공 신경망(Network 1)은 부채널 정보를 입력 데이터로 하고
Figure pat00028
를 라벨로 하여 프로파일링을 수행할 수 있다. 동일한 방식으로 네번째 인공 신경망(Network 3)은 부채널 정보를 입력 데이터로 하고
Figure pat00029
를 라벨로 하여 프로파일링을 수행할 수 있다.
도 4는 일 실시예에 따른 부채널 분석 방법에서 다중 신경망을 활용하여 비밀키를 복구하는 일례를 도시하는 도면이다.
도 4을 참고하면, 도 3과 마찬가지로 PIPO S-Box의 출력 값
Figure pat00030
가 도시된다. 출력 값
Figure pat00031
는 MSB로부터 LSB까지
Figure pat00032
로 나타내어질 수 있다.
보다 구체적으로, PIPO 시스템의 비트 슬라이스 기반 S-Box 구조 특성상 소비전력 파형에 S-Box 출력 값이 1-bit 단위로 분산되어 있음에도 불구하고, 라벨을 1-bit 모델로 설정하지 않더라도 신경망의 경우 스스로 특징점을 찾아 학습될 수 있다. 즉, 2-bit 또는 4-bit 모델로 설정하여 각각 4 개 또는 2 개의 다중 신경망을 활용하여 비밀키를 복구할 수 있다.
도 4에서는 2-bit를 라벨로 설정한 4 개의 인공 신경망(Network 0 ~ 3)을 활용하여 비밀키를 복구하는 방법이 도시된다.
이에 따라 일 실시예에 따른 다중 신경망을 활용한 부채널 분석 방법은 PIPO 시스템의 S-Box 출력 값의 n-bit를 각각의 4 개의 인공 신경망을 통해 복구할 수 있다. 그리고 복구한 n-bit를 맞는 비트에 조합하여 S-Box 출력 값
Figure pat00033
에 대한 정보를 얻을 수 있다. 그 후 S-Box 연산의 역함수를 구한 후 평문
Figure pat00034
와 XOR 연산하여 최종적으로 비밀키를 복구할 수 있다.
일 실시예에 따른 부채널 분석 방법을 통해 PIPO 시스템의 비밀키를 모두 복구할 수 있다. 일 실시예에 따른 다중 신경망을 활용한 부채널 분석 방법은 프로파일링 단계(110)에서 라벨에 따라 인공 신경망을 여러 개 활용하는 다중 신경망을 사용하며, 공격 단계(120)에서는 학습된 다중 신경망을 활용하여 PIPO의 비밀키를 복구할 수 있다.
도 5는 일 실시예에 따른 비프로파일링에 기반한 부채널 분석 방법을 설명하기 위한 도면이다.
일 실시예에 따르면, 비프로파일링 기반 부채널 분석 방법은 PIPO가 비트 슬라이스 구조로 구현된다는 특성을 이용하여 신경망의 출력 라벨을 S-Box 출력의 이진 인코딩 값으로 활용하여 프로파일링 장비를 활용하지 않고, 부채널 분석을 수행할 수 있다.
표 2는 일 실시예에 따른 비프로파일링 기반 부채널 분석 방법의 이진 인코딩 라벨링 알고리즘을 나타낼 수 있다. 이진 인코딩 라벨링 연산은 입력
Figure pat00035
에 대한
Figure pat00036
로 정의될 수 있다.
이진 인코딩 라벨링 알고리즘
Input : a 8-bit value
Figure pat00037

Output : a binary encoded label
Figure pat00038
1:
Figure pat00039

2:
Figure pat00040

3:
Figure pat00041

4:
Figure pat00042
일 실시예에 따른 비프로파일링 기반 부채널 분석 방법은 MLP(Multi-layer Perceptron) 등의 신경망을 이용해 각 추측키에 따른 S-Box 추측 출력 값의 이진 인코딩 값을 라벨로 학습을 수행할 수 있다. 이때, 모든 추측키 별로 독립된 신경망을 같은 파형 입력 값을 이용해 학습을 수행하고 가장 잘 학습된 신경망의 추측키를 옳은 비밀키로 판단할 수 있다.구체적으로, 도 5에 제시된 비프로파일링 기반 부채널 분석 방법 일례에서
Figure pat00043
는 평문을 의미하며, 추측하는 비밀키(붉은 숫자) 각각에 대해 독립된 신경망을 학습하게 된다. 가장 잘 학습된 신경망이 추측한 추측키
Figure pat00044
를 비밀키로 판단하게 되는데, 여기서 가장 잘 학습되었는지 여부를 판단하기 위한 학습 정도의 지표로는 학습의 결과 지표인 손실값, 입력에 대한 옳은 결과를 출력하는 성공률 등이 있을 수 있다.
다만 이는 예시적일뿐 이에 한정되는 것은 아니며, 통상의 기술자의 입장에서 다른 학습 지표를 활용하여 가장 잘 학습된 신경망을 선택하는 것도 가능하다. 또한 다른 일 실시예에서는 가장 잘 학습된 신경망과 두번째로 잘 학습된 신경망의 결과를 조합하여 미리 지정되는 연산을 통해 특정 추측키를 비밀키로 판단할 수 있다.
예를 들어 가장 잘 학습된 신경망의 추측키와 두번째로 잘 학습된 신경망의 추측키를 조합하여 새로운 추측키를 비밀키로 선택하거나, 양자간의 비교를 통해 둘 중 어느 하나의 추측키를 비밀키로 선택하는 방법도 가능하다.
상술한 부채널 분석 방법을 이용하여 공격자는 시스템의 비밀키를 복구해 낼 수 있다.
위 실시 예의 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능한 기록 매체에 기록될 수 있다. 상기 기계 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, Blu-ray와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다.
따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 연산 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.
예를 들어, 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고받을 수 있는 입출력부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시 예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.

Claims (11)

  1. 부채널 분석 장치 의해 수행되는, 부채널 분석 방법에 있어서,
    평문과 키에 대해 시스템의 암호 알고리즘이 동작할 때 발생하는 부채널 정보를 수집하는 단계;
    수집된 상기 부채널 정보에 기초하여 적어도 하나 이상의 인공 신경망을 학습시키는 단계; 및
    상기 인공 신경망을 이용하여 상기 시스템의 비밀키를 복구하는 단계
    를 포함하는 부채널 분석 방법.
  2. 제1항에 있어서,
    상기 학습시키는 단계는,
    상기 부채널 정보가 입력되는 경우의 출력 값을 라벨로 하여 상기 인공 신경망을 학습시키는 단계인 부채널 분석 방법.
  3. 제1항에 있어서,
    상기 암호 알고리즘은 PIPO(Plug In, Plug Out) 암호 알고리즘이고,
    상기 학습시키는 단계는,
    상기 PIPO 암호 알고리즘의 S-박스 연산 출력 값에 대한 정보를 라벨로 하여 상기 인공 신경망을 학습시키는 단계인 부채널 분석 방법.
  4. 제3항에 있어서,
    상기 비밀키의 복구에 사용되는 상기 인공 신경망의 개수를 결정하는 단계
    를 더 포함하는 부채널 분석 방법.
  5. 제4항에 있어서,
    상기 인공 신경망의 개수를 결정하는 단계는,
    상기 S-박스 입출력 비트 수를 n (n은 S-박스 입출력 비트 수 이하의 자연수)으로 나눈 값을 상기 인공 신경망의 개수로 결정하는 단계인 부채널 분석 방법.
  6. 제5항에 있어서,
    상기 비밀키를 복구하는 단계는,
    상기 S-박스 연산 출력 값을 n-bit 마다 상기 인공 신경망들이 병렬적으로 분석하여 비밀키를 복구하는 단계인 부채널 분석 방법.
  7. 부채널 분석 장치 의해 수행되는, 부채널 분석 방법에 있어서,
    이진 인코딩 값을 라벨로 하여, 입력 부채널 정보로부터 추측키를 출력하도록 복수의 인공 신경망을 학습시키는 단계;
    상기 복수의 인공 신경망 중 소정의 조건을 만족하는 인공 신경망에 기초하여 부채널 분석을 수행하는 단계
    를 포함하는, 부채널 분석 방법.
  8. 제7항에 있어서,
    상기 부채널 분석을 수행하는 단계는,
    상기 소정의 조건을 만족하는 인공 신경망이 출력하는 상기 추측키를 비밀키로 판단하는 단계인 부채널 분석 방법.
  9. 제8항에 있어서,
    상기 소정의 조건을 만족하는 인공 신경망은,
    상기 복수의 인공 신경망 중에서 입력에 대해 출력한 추측키가 올바른 비밀키에 대응하는 비율이 가장 높은 인공 신경망인 부채널 분석 방법.
  10. 상기 부채널 분석 장치로 하여금, 제1항의 방법을 수행하도록 구현된 명령어(instructions)를 포함하는 프로그램이 수록된 기계 판독 가능한 비일시적 기록 매체.
  11. 평문과 키에 대해 시스템의 암호 알고리즘이 동작할 때 발생하는 부채널 정보를 수집하고, 수집된 상기 부채널 정보에 기초하여 적어도 하나 이상의 인공 신경망을 학습하는 기계학습부; 및
    학습된 상기 적어도 하나 이상의 인공신경망을 이용하여 상기 시스템의 비밀키를 복구하는 추출부
    를 포함하는 부채널 분석 장치.
KR1020220010035A 2021-12-10 2022-01-24 경량 블록암호 pipo에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법 및 장치 KR102702818B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210176682 2021-12-10
KR20210176682 2021-12-10

Publications (2)

Publication Number Publication Date
KR20230088201A true KR20230088201A (ko) 2023-06-19
KR102702818B1 KR102702818B1 (ko) 2024-09-04

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"PIPO: A Lightweight Block Cipher with Efficient Higher-Order Masking Software Implementations.", International Conference on Information Security and Cryptology. Springer, Cham, 2020.

Similar Documents

Publication Publication Date Title
Abraham et al. Secure image encryption algorithms: A review
RU2502201C2 (ru) Устройство обработки шифрования/дешифрования, способ обработки шифрования/дешифрования, устройство обработки информации и компьютерная программа
KR101324351B1 (ko) 암호 기반 메시지 인증 코드를 생성하는 방법
CN108366181A (zh) 一种基于超混沌系统和多级置乱的图像加密方法
US11436946B2 (en) Encryption device, encryption method, decryption device, and decryption method
JP6346942B2 (ja) パスワードへの攻撃を阻害すること
CN114549266B (zh) 基于dna置换规则和混沌系统的图像加密方法
US20180287779A1 (en) White-box cryptography method and apparatus for preventing side channel analysis
CN112769545B (zh) 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法
CN107437266A (zh) 基于混沌系统与dna链置换模型的图像加密方法
CN104851071A (zh) 一种基于三维混沌系统的数字图像加密方法
CN106656459A (zh) 一种针对sm3‑hmac的侧信道能量分析方法和装置
Chen et al. Error-free separable reversible data hiding in encrypted images using linear regression and prediction error map
CN109726565A (zh) 在抗泄漏原语中使用白盒
Liu et al. Exploiting lsb self-quantization for plaintext-related image encryption in the zero-trust cloud
Duluta et al. Secure communication method based on encryption and steganography
You et al. Low trace-count template attacks on 32-bit implementations of ASCON AEAD
CN117494182A (zh) 一种基于四维混沌系统的人脸图像区域信息加密方法
CN117527984A (zh) 一种基于正余弦二维混沌系统的图像加密方法
Ergun Privacy preserving face recognition in encrypted domain
KR102702818B1 (ko) 경량 블록암호 pipo에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법 및 장치
KR20230088201A (ko) 경량 블록암호 pipo에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법 및 장치
US11587467B2 (en) Encryption processing device, encryption processing method, and computer program product
KR102331835B1 (ko) 오류 주입 공격 시스템
CN114095182A (zh) 一种基于强puf的动态响应和安全认证方法、系统

Legal Events

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