KR20220093900A - 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 - Google Patents

암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220093900A
KR20220093900A KR1020200185053A KR20200185053A KR20220093900A KR 20220093900 A KR20220093900 A KR 20220093900A KR 1020200185053 A KR1020200185053 A KR 1020200185053A KR 20200185053 A KR20200185053 A KR 20200185053A KR 20220093900 A KR20220093900 A KR 20220093900A
Authority
KR
South Korea
Prior art keywords
encryption algorithm
parameter information
search
data
key
Prior art date
Application number
KR1020200185053A
Other languages
English (en)
Other versions
KR102522709B1 (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 국방과학연구소
Priority to KR1020200185053A priority Critical patent/KR102522709B1/ko
Publication of KR20220093900A publication Critical patent/KR20220093900A/ko
Application granted granted Critical
Publication of KR102522709B1 publication Critical patent/KR102522709B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/16Obfuscation or hiding, e.g. involving white box
    • 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)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

실시예의 암호 알고리즘 식별 장치는 탐색 대상으로부터 추출된 데이터를 수집하는 데이터 수집부와, 상기 데이터 내의 매개 변수 정보를 탐색하는 탐색부와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 식별부를 포함할 수 있다.
실시예는 반정적 정보를 활용하여 매개변수 정보를 획득하고 이를 이용함으로써, 암호 알고리즘을 효과적으로 식별할 수 있는 효과가 있다.

Description

암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램{APPARATUS AND METHOD FOR IDENTIFICATION OF CIPHER ALGORITHM, COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM}
실시예는 암호 알고리즘의 매개 변수를 추출하여 암호 알고리즘의 종류를 식별하는 암호 알고리즘 식별 장치 및 방법에 관한 것이다.
내부 구조가 밝혀지지 않은 코드에 탑재된 암호 알고리즘을 식별하기 위한 방법으로 공개된 암호 알고리즘의 정적 정보를 단순 탐색하는 방식이 알려져 있다. 난독화되지 않은 프로그램은 상수를 원형 그대로 저장하기 때문에 대부분의 코드에 위 방식을 적용할 수 있다.
하지만 위 방식은 공개되지 않은 알고리즘은 식별할 수 없으며 사용되는 매개변수에 대한 정보도 획득할 수 없다.
상술한 문제점을 해결하기 위해, 상술한 문제점을 해결하기 위해, 내부 동작 방법 및 구성 함수의 정보가 알려져 있지 않은 컴퓨터 프로그램 및 펌웨어에 사용된 공개 및 미공개 암호 알고리즘을 식별하고 매개변수 정보를 획득하는 식별 장치 개발을 목표로 한다.
실시예의 암호 알고리즘 식별 장치는 탐색 대상으로부터 추출된 데이터를 수집하는 데이터 수집부와, 상기 데이터 내의 매개 변수 정보를 탐색하는 탐색부와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 식별부를 포함할 수 있다.
상기 데이터 수집부는 리틀 엔디안, 빅 엔디안, 워드 사이즈 등의 탐색 대상 소프트웨어 환경을 고려하여 데이터를 수집할 수 있다.
상기 탐색부는 키 스케쥴을 이용하여 라운드 키 및 마스터 키를 포함하는 매개 변수 정보를 탐색할 수 있다.
상기 탐색부는 표준화된 타원곡선의 방정식을 이용하여 표준화된 타원곡선 위의 점을 포함하는 매개 변수 정보를 탐색할 수 있다.
상기 탐색부는 RSA 알고리즘을 이용하여 RSA의 개인키를 포함하는 매개 변수 정보를 탐색할 수 있다.
상기 탐색부는 알려진 대칭키 암호알고리즘의 S-box 및 알려지지 않은 S-box를 포함하는 매개 변수 정보를 탐색할 수 있다.
상기 식별부는 상기 탐색된 매개 변수 정보가 라운드 키 및 마스터 키, 표준화된 타원곡선 위의 점, RSA의 개인키 중 적어도 어느 하나를 포함하면 상기 암호화 알고리즘이 공개된 암호 알고리즘임을 식별할 수 있다.
상기 식별부는 상기 탐색된 매개 변수 정보가 라운드 키 및 마스터 키, 표준화된 타원곡선 위의 점, RSA의 개인키 중 적어도 어느 하나를 포함하지 않으면 상기 암호화 알고리즘 존재하지 않는다고 판단할 수 있다.
상기 식별부는 상기 탐색된 매개 변수 정보가 알려진 대칭키 암호알고리즘의 S-box 정보를 포함하면 상기 암호화 알고리즘이 알려진 대칭키 암호알고리즘을 사용함을 식별할 수 있다.
상기 식별부는 상기 탐색된 매개 변수 정보가 알려진 대칭키 암호알고리즘의 S-box 정보를 포함하지 않으면 상기 암호화 알고리즘이 알려진 대칭키 암호알고리즘을 사용하지 않음을 식별할 수 있다.
상기 식별부는 상기 탐색된 매개 변수 정보가 알려지지 않은 S-box 정보를 포함하면 상기 암호화 알고리즘이 알려지지 않은 대칭키 암호알고리즘을 사용함을 식별할 수 있다.
또한, 실시예는 암호 알고리즘 식별 장치에서 수행되는 암호 알고리즘 식별 방법에 있어서, 탐색 대상으로부터 추출된 데이터를 수집하는 단계와, 상기 데이터 내의 매개 변수 정보를 탐색하는 단계와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계를 포함할 수 있다.
또한, 실시예는 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 탐색 대상으로부터 추출된 데이터를 수집하는 단계와, 상기 데이터 내의 매개 변수 정보를 탐색하는 단계와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
또한, 실시예는 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 탐색 대상으로부터 추출된 데이터를 수집하는 단계와, 상기 데이터 내의 매개 변수 정보를 탐색하는 단계와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
실시예는 반정적 정보를 활용하여 매개변수 정보를 획득하고 이를 이용함으로써, 암호 알고리즘을 식별할 수 있는 효과가 있다.
또한, 실시예는 매개변수 정보의 종류를 활용하여 공개 또는 미공개 암호 알고리즘을 식별할 수 있는 효과가 있다.
도 1은 실시예에 따른 암호 알고리즘 식별 장치를 나타낸 블록도이다.
도 2는 실시예에 따른 암호 알고리즘 식별 장치의 탐색부를 나타낸 블록도이다.
도 3은 실시예에 따른 암호 알고리즘 식별 방법을 나타낸 순서도이다.
도 1은 실시예에 따른 암호 알고리즘 식별 장치를 나타낸 블록도이고, 도 2는 실시예에 따른 암호 알고리즘 식별 장치의 탐색부를 나타낸 블록도이다.
도 1을 참조하면, 실시예에 따른 암호 알고리즘 식별 장치(1000)는 수집부(100)와, 탐색부(200)와, 식별부(300)를 포함할 수 있다.
수집부(100)는 탐색 대상으로부터 추출된 데이터를 수집할 수 있다. 여기서, 탐색 대상의 데이터는 대칭키 암호화, 전자서명 등에 사용되는 암호화 알고리즘의 구현 정보가 포함된 데이터일 수 있다.
탐색 대상 데이터의 길이는 탐색하는 암호화 알고리즘에 따라 달라질 수 있다. 예를 들어, 키 스케쥴은 마스터 키 및 라운드 키의 길이에 따라 탐색 길이가 달라지며 RSA-1024는 연속된 128바이트(1024비트)를, RSA-2048은 연속된 256바이트(2048비트)를 탐색할 수 있다.
탐색하는 데이터의 길이가 결정되었다면 데이터의 시작부터 데이터의 길이에 맞게 이동하며 전수 조사하는 과정이 필요하다. 여기서, 현재 탐색하고 있는 바이트 청크를 윈도우(window), 윈도우를 이동하며 조사하는 과정을 과정을 슬라이딩 윈도우(sliding window)라고 정의할 수 있다. 이때 슬라이딩 윈도우는 환경(빅 엔디안, 리틀 엔디안 등)을 고려하여 여러 번 이루어질 수 있다. 이때 빅 엔디안은 큰 단위가 앞에 오는 것을 의미하고, 리틀 엔디안은 작은 단위가 앞에 오는 것을 의미한다.
탐색부(200)는 탐색 대상의 데이터 내의 매개 변수 정보를 탐색할 수 있다. 여기서, 매개 변수 정보는 반정적 정보 또는 미공개 컴포넌트 정보일 수 있다.
매개 변수 정보는 키 스케쥴 탑재 여부, 라운드 키, 마스터 키, 타원곡선, 타원곡선 위의 점, RSA 탑재 여부 및 RSA의 개인키, S-box를 사용하는 알려진 대칭키 암호 알고리즘 사용여부 및 알려지지 않은 S-box 중 적어도 하나 이상을 포함할 수 있다.
도 2에 도시된 바와 같이, 탐색부(200)는 키 스케쥴(210)을 통해 키 스케쥴의 탑재 여부 및 블록 암호 알고리즘, 마스터 키, 라운드 키를 포함하는 매개 변수 정보를 탐색할 수 있다.
식별부(300)는 매개 변수로서 키 스케쥴의 탑재 여부 및 블록 암호 알고리즘, 마스터 키, 라운드 키를 포함하게 되면, 데이터에 공개된 암호 알고리즘이 있음을 식별할 수 있게 된다.
탐색 대상의 데이터에 다양한 블록 암호의 키 스케쥴을 적용하여 라운드 키를 생성할 수 있다. 키 스케쥴이 포함되지 않은 프로그램에 대하여 라운드 키에 해당하는 연속된 데이터가 포함될 확률은 0에 가깝다. 따라서, 생성한 라운드키 가 프로그램에 저장되어 있는 경우 추측 키가 실제 마스터 키이며 선택한 키 스케쥴이 탑재되어 있음을 식별할 수 있다. 모든 데이터와 키 스케쥴의 조합에 대하여 라운드키가 저장되어 있지 않은 경우 알려진 키 스케쥴이 탑재되지 않았다고 판단할 수 있다.
탐색 과정을 살펴보면, 먼저, 알려진 대칭키 알고리즘의 키 스케쥴을 수집하여 키 스케쥴 함수를 구현할 수 있다. 이어서, 탐색하는 마스터 키의 길이에 맞는 윈도우를 설정할 수 있다. 이어서 해당 윈도우를 마스터키로 하여 라운드 키를 생성하고, 탐색 대상의 데이터에 라운드 키가 포함되어 있는지 확인하는 과정을 수행할 수 있다. 만약 라운드 키가 없다면 키 스케쥴을 사용하는 공개된 대칭키 알고리즘이 없다고 판단할 수 있다.
탐색부(200)는 타원곡선암호 알고리즘(ECC, 230)을 통해 타원곡선 탑재 여부 및 타원곡선 위의 점을 포함하는 매개 변수 정보를 탐색할 수 있다.
식별부(300)는 매개 변수로서 타원곡선 탑재 여부 및 타원곡선 위의 점을 포함하게 되면, 데이터에 공개된 암호 알고리즘이 있음을 식별할 수 있게 된다.
256비트 소수체 타원곡선을 사용하지 않는 1MB의 데이터에 타원곡선의 방정식을 만족하는 연속된 값이 포함될 확률은 0에 가깝다. 따라서, 연속된 데이터에 대하여 알려진 타원곡선 방정식의 성립 여부를 확인함으로써, 타원곡선의 탑재 여부를 식별할 수 있다.
탐색 과정을 살펴보면, 먼저, 이미 알려진 공개된 타원곡선에 대해 조사를 수행할 수 있다. 이어서, 탐색하는 곡선의 모듈러 크기(또는 길이)에 맞는 윈도우를 설정할 수 있다. 이어서, 타원곡선 방정식의 성립 여부를 통해 곡선 위의 점을 탐색할 수 있다.
탐색부(200)는 RSA(Rivest Shamir Adleman) 알고리즘을 통해 RSA의 탑재 여부 및 RSA의 개인키를 포함하는 매개 변수 정보를 탐색할 수 있다.
식별부(300)는 매개 변수 정보로서 RSA의 탑재 여부 및 RSA의 개인키가 포함하게 되면, 데이터에 공개된 암호 알고리즘이 있음을 식별할 수 있게 된다.
탐색 과정을 살펴보면, 먼저, 이미 알려진 비트에 대해 조사를 수행할 수 있다. 이어서, 탐색하는 소수의 크기(또는 길이)에 맞는 윈도우를 설정할 수 있다. 이어서, 연속된 두 개의 값이 소수인 경우를 탐색할 수 있다.
탐색부(200)는 S-box를 통해 S-box를 사용하는 알려진 대칭키 암호알고리즘(블록암호, 스트림암호, 해시함수) 사용여부 및 알려지지 않은 S-box를 포함하는 매개 변수 정보를 탐색할 수 있다.
식별부(300)는 매개 변수 정보로서 S-box를 사용하는 알려진 대칭키 암호알고리즘(블록암호, 스트림암호, 해시함수) 사용여부 및 알려지지 않은 S-box를 포함하게 되면, 데이터에 미공개된 미공개 암호 알고리즘이 있음을 식별할 수 있게 된다.
탐색 과정을 살펴보면, 윈도우에 포함된 값의 개수를 저장하는 카운터(1-1CheckCounter)를 만들고 윈도우의 이동에 따라 카운터를 업데이트 하는 방식을 사용할 수 있다. 그리고 8비트 미만의 S-box를 사용하는 경우 LUT 구성 방식에는 두 가지가 존재하며 두 경우를 모두 고려하여 S-box를 탐색할 수 있다.
Case 1. 한 바이트에 한 개의 S-box LUT 값만을 저장하는 경우
예) Case 1 의 경우 4비트 s-box 탐색
바이트 열 : 1,4,2,0,3,8,5,13,10,4,3,2,4,15,14,15,6, ??
시작 윈도우 : [1,4,2,0,3,8,5,13,10,4,3,2,4,15,14,15] , 6, ??
1-1CheckCounter : [1,1,2,2,3,1,0,0,1,0,1,0,0,1,1,2] (윈도우에 포함된 0~16의 개수를 표기)
윈도우 1 바이트 이동 : 1,[4,2,0,3,8,5,13,10,4,3,2,4,15,14,15,6] , ??
1-1CheckCounter 업데이트 : [1,0,2,2,3,1,1,0,1,0,1,0,0,1,1,2]
1-1CheckCounter가 [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] 이 되는 경우 1-1 S-box에 해당한다.
Case 2. S-box LUT 값을 모두 연접하여 저장하는 경우
예) Case 2 의 경우 5-bit S-box 탐색
5-bit S-box의 경우,
Figure pat00001
이라 가정하면 이는 메모리에 다음과 같이 저장된다.
[표 1]
Figure pat00002
윈도우를 5비트씩 이동하며 1-1CheckCounter를 사용한 슬라이딩 윈도우를 수행하면 Case 1)과 유사하게 탐색할 수 있다.
도 3은 실시예에 따른 암호 알고리즘 식별 방법을 나타낸 순서도이다.
도 3을 참조하면, 실시예에 따른 암호 알고리즘 식별 방법은 탐색 대상으로부터 추출된 데이터를 수집하는 단계(S100)와, 상기 데이터 내의 매개 변수 정보를 탐색하는 단계(S200)와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계(S300)를 포함할 수 있다. 여기서, 암호 알고리즘 식별 방법은 암호 알고리즘 식별 장치에 의해 수행될 수 있다.
데이터를 수집하는 단계(S100)는 수집부에 의해 수행될 수 있다. 데이터를 수집하는 단계는 탐색 대상으로부터 추출된 데이터를 수집할 수 있다.
탐색 대상의 데이터는 서명 등과 같은 암호화 알고리즘이 포함된 데이터일 수 있다. 탐색 대상 데이터의 길이는 탐색하는 암호화 알고리즘에 따라 달라질 수 있다. 예를 들어, 128비트(16바이트) 마스터 키를 사용하는 키 스케쥴의 경우 연속된 16바이트를 탐색하며. 1024비트(128바이트) 소수 2개를 사용하는 경우 연속된 256바이트를 탐색할 수 있다.
탐색하는 데이터의 길이가 결정되었다면 데이터의 시작부터 데이터 길이에 맞게 이동하며 전수 조사하는 과정이 필요하다. 여기서, 현재 탐색하고 있는 바이트 청크를 윈도우(window), 윈도우를 이동하며 조사하는 과정을 과정을 슬라이딩 윈도우(sliding window)라고 정의할 수 있다. 이때 슬라이딩 윈도우는 환경(빅 엔디안, 리틀 엔디안 등)을 고려하여 여러 번 이루어질 수 있다.
데이터 내의 매개 변수 정보를 탐색하는 단계(S200)는 탐색부에서 수행될 수 있다.
데이터 내의 매개 변수 정보를 탐색하는 단계(S200)는 키 스케쥴, 타원곡선암호 알고리즘, RSA 알고리즘 및 S-box를 이용하여 매개 변수 정보를 탐색할 수 있다.
데이터 내의 매개 변수 정보를 탐색하는 단계(S200)는 키 스케쥴을 이용하여 키 스케쥴의 탑재 여부 및 블록 암호 알고리즘, 마스터 키, 라운드 키를 포함하는 매개 변수 정보를 탐색할 수 있다.
데이터 내의 매개 변수 정보를 탐색하는 단계(S200)는 타원곡선암호 알고리즘(ECC)을 통해 타원곡선 탑재 여부 및 타원곡선 위의 점을 포함하는 매개 변수 정보를 탐색할 수 있다.
데이터 내의 매개 변수 정보를 탐색하는 단계(S200)는 RSA(Rivest Shamir Adleman) 알고리즘을 통해 RSA의 탑재 여부 및 RSA의 개인키를 포함하는 매개 변수 정보를 탐색할 수 있다.
데이터 내의 매개 변수 정보를 탐색하는 단계(S200)는 S-box를 통해 S-box를 사용하는 알려진 대칭키 암호알고리즘(블록암호, 스트림암호) 사용여부 및 알려지지 않은 S-box를 포함하는 매개 변수 정보를 탐색할 수 있다.
탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계(S300)는 식별부에서 수행될 수 있다.
암호화 알고리즘을 식별하는 단계(S300)는 매개 변수로서 키 스케쥴의 탑재 여부 및 블록 암호 알고리즘, 마스터 키, 라운드 키, 타원곡선 탑재 여부 및 타원곡선 위의 점, RSA의 탑재 여부 및 RSA의 개인키가 포함되어 있으면, 데이터에 공개된 암호 알고리즘이 있음을 식별할 수 있게 된다.
암호화 알고리즘을 식별하는 단계(S300)는 매개 변수로서 S-box를 사용하는 알려진 대칭키 암호알고리즘(블록암호, 스트림암호) 사용여부 및 알려지지 않은 S-box가 포함되어 있으면, 데이터에 미공개 암호 알고리즘이 있음을 식별할 수 있게 된다.
실시예는 반정적 정보를 활용하여 매개변수 정보를 획득하고, 이에 따라 공개 또는 미공개의 암호 알고리즘을 정확하게 식별할 수 있는 효과가 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 메모리(내장 메모리 또는 외장 메모리))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치를 포함할 수 있다. 상기 명령이 제어부에 의해 실행될 경우, 제어부가 직접, 또는 상기 제어부의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, 비일시적은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다.
일 실시예에 따르면, 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서, 탐색 대상으로부터 추출된 데이터를 수집하는 단계와, 상기 데이터 내의 매개 변수 정보를 탐색하는 단계와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계를 수행하기 위한 동작을 포함하는 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
일 실시예에 따르면, 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서, 탐색 대상으로부터 추출된 데이터를 수집하는 단계와, 상기 데이터 내의 매개 변수 정보를 탐색하는 단계와, 상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계를 수행하기 위한 동작을 포함하는 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
상기에서는 도면 및 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 실시예의 기술적 사상으로부터 벗어나지 않는 범위 내에서 실시예는 다양하게 수정 및 변경시킬 수 있음은 이해할 수 있을 것이다.
100: 수집부
200: 탐색부
300: 식별부

Claims (12)

  1. 탐색 대상으로부터 추출된 데이터를 수집하는 데이터 수집부;
    상기 데이터 내의 매개 변수 정보를 탐색하는 탐색부; 및
    상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 식별부를 포함하는 암호 알고리즘 식별 장치.
  2. 제1항에 있어서,
    상기 탐색부는 키 스케쥴을 이용하여 상기 매개 변수 정보를 탐색하는 암호 알고리즘 식별 장치.
  3. 제2항에 있어서,
    상기 매개 변수 정보는 라운드 키 및 마스터 키를 포함하고,
    상기 식별부는 상기 탐색부의 탐색 결과가 상기 라운드 키 및 상기 마스터 키를 모두 포함하면 상기 암호화 알고리즘이 공개된 암호 알고리즘임을 식별하고,
    상기 탐색 결과가 상기 라운드 키 및 상기 마스터 키 중 적어도 어느 하나를 포함하지 않으면 상기 암호화 알고리즘이 공개된 암호 알고리즘을 포함하지 않는다고 판단하는 암호 알고리즘 식별 장치.
  4. 제1항에 있어서,
    상기 탐색부는 표준화된 타원곡선의 방정식을 이용하여 상기 매개 변수 정보를 탐색하는 암호 알고리즘 식별 장치.
  5. 제1항에 있어서,
    상기 매개 변수 정보는 표준화된 타원곡선 위의 점을 포함하고,
    상기 식별부는 상기 탐색부의 탐색 결과가 상기 타원곡선 위의 점을 포함하면 상기 암호화 알고리즘이 사용하는 표준화된 타원곡선 및 타원곡선 위의 점을 식별하고,
    상기 탐색 결과가 상기 타원곡선 및 상기 타원곡선 위의 점 중 적어도 어느 하나를 포함하지 않으면 상기 암호화 알고리즘이 표준화된 타원곡선을 사용하지 않는다고 판단하는 암호 알고리즘 식별 장치.
  6. 제1항에 있어서,
    상기 탐색부는 RSA 알고리즘을 이용하여 상기 매개 변수 정보를 탐색하는 암호 알고리즘 식별 장치.
  7. 제6항에 있어서,
    상기 매개 변수 정보는 RSA의 개인키를 포함하고,
    상기 식별부는 상기 탐색부의 탐색 결과가 상기 RSA의 개인키를 포함하면 상기 암호화 알고리즘이 RSA 알고리즘을 탑재하고 있음을 식별하고
    상기 탐색 결과가 상기 RSA의 개인키를 포함하지 않으면 상기 암호화 알고리즘이 RSA 알고리즘을 탑재하지 않았다고 식별하는 암호 알고리즘 식별 장치.
  8. 제1항에 있어서,
    상기 탐색부는 S-box를 이용하여 상기 매개 변수 정보를 탐색하는 암호 알고리즘 식별 장치.
  9. 제8항에 있어서,
    상기 매개 변수 정보는 알려진 대칭키 암호 알고리즘의 S-box 및 알려지지 않은 대칭키 암호알고리즘의 S-box 정보를 포함하고
    상기 식별부는 상기 탐색부의 탐색 결과가 상기 알려진 대칭키 암호알고리즘의 S-box 정보를 포함하면 상기 암호화 알고리즘이 알려진 대칭키 암호알고리즘을 사용함을 식별하고
    상기 탐색 결과가 알려지지 않은 대칭키 암호알고리즘의 S-box 정보를 포함하면 상기 암호화 알고리즘이 비공개 암호 알고리즘을 사용함을 식별하고,
    상기 데이터에 상기 매개 변수 정보가 포함되지 않으면 상기 암호 알고리즘이 S-box 를 사용하는 대칭키 암호 알고리즘을 포함되지 않음을 식별하는 암호 알고리즘 식별 장치.
  10. 암호 알고리즘 식별 장치에서 수행되는 암호 알고리즘 식별 방법에 있어서,
    탐색 대상으로부터 추출된 데이터를 수집하는 단계;
    상기 데이터 내의 매개 변수 정보를 탐색하는 단계; 및
    상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계를 포함하는 암호 알고리즘 식별 방법.
  11. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    탐색 대상으로부터 추출된 데이터를 수집하는 단계;
    상기 데이터 내의 매개 변수 정보를 탐색하는 단계; 및
    상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체.
  12. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    탐색 대상으로부터 추출된 데이터를 수집하는 단계;
    상기 데이터 내의 매개 변수 정보를 탐색하는 단계; 및
    상기 탐색된 매개 변수 정보를 기초로 상기 데이터 내에 존재하는 암호화 알고리즘을 식별하는 단계;
    를 포함하는 동작을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 프로그램.
KR1020200185053A 2020-12-28 2020-12-28 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 KR102522709B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200185053A KR102522709B1 (ko) 2020-12-28 2020-12-28 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200185053A KR102522709B1 (ko) 2020-12-28 2020-12-28 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20220093900A true KR20220093900A (ko) 2022-07-05
KR102522709B1 KR102522709B1 (ko) 2023-04-18

Family

ID=82401955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200185053A KR102522709B1 (ko) 2020-12-28 2020-12-28 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102522709B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4434319B2 (ja) * 1997-02-12 2010-03-17 ベリゾン ラボラトリーズ インコーポレイテッド 秘密保持性の遠隔命令を実行するための方法
KR101879809B1 (ko) * 2017-09-19 2018-08-16 국민대학교산학협력단 부채널 분석에 안전한 연산 장치 및 방법
KR20200003120A (ko) * 2017-05-05 2020-01-08 후아웨이 테크놀러지 컴퍼니 리미티드 통신 방법 및 관련 장치
KR20200052465A (ko) * 2018-10-31 2020-05-15 (주)성일이노텍 사물인터넷 게이트웨이 및 이의 암호화 데이터 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4434319B2 (ja) * 1997-02-12 2010-03-17 ベリゾン ラボラトリーズ インコーポレイテッド 秘密保持性の遠隔命令を実行するための方法
KR20200003120A (ko) * 2017-05-05 2020-01-08 후아웨이 테크놀러지 컴퍼니 리미티드 통신 방법 및 관련 장치
KR101879809B1 (ko) * 2017-09-19 2018-08-16 국민대학교산학협력단 부채널 분석에 안전한 연산 장치 및 방법
KR20200052465A (ko) * 2018-10-31 2020-05-15 (주)성일이노텍 사물인터넷 게이트웨이 및 이의 암호화 데이터 처리 방법

Also Published As

Publication number Publication date
KR102522709B1 (ko) 2023-04-18

Similar Documents

Publication Publication Date Title
US8572409B2 (en) Method and apparatus for non-redundant encrypted storage
US9275250B2 (en) Searchable encryption processing system
US10818202B2 (en) Method and apparatus for encrypting data, method and apparatus for decrypting data
US20180365433A1 (en) Secret search system, secret search method, and computer readable medium
CN112199698B (zh) 一种健壮的可搜索对称加密方法与系统
US11620260B2 (en) Record property synchronization in a network computing system
US20070124116A1 (en) System and method for metadata verification during measurement processing
US20220129417A1 (en) Code Similarity Search
CN115567188A (zh) 一种多键值隐匿求交方法、装置及存储介质
US7382878B2 (en) System and method for data encryption
CN110888918A (zh) 相似数据检测方法及装置、计算机设备和存储介质
JP2015106914A (ja) マルウェア通信解析装置、及びマルウェア通信解析方法
CN111711671B (zh) 一种基于盲存储的高效密文文件更新的云存储方法
CN113076562A (zh) 基于gcm加密模式的数据库加密字段模糊检索方法
KR102522709B1 (ko) 암호 알고리즘 식별 장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
US11106740B2 (en) Search device, search system, search method, and computer readable medium
KR20160123219A (ko) 오디오 핑거프린트 라이브러리 데이터의 멀티레벨 인덱싱 방법
JP6251437B1 (ja) 分類用符号生成ソフトウェアを記録した記録媒体
CN111680062B (zh) 一种安全多目标数据对象查询方法及存储介质
WO2019062067A1 (zh) 用户界面单元测试方法、装置、可读存储介质及设备
Dandass et al. An empirical analysis of disk sector hashes for data carving
CN109857463A (zh) 加速压缩方法以及加速压缩装置
CN108090353A (zh) 一种基于知识驱动的加壳代码回归检测方法及系统
KR102380559B1 (ko) 사이버 위협 경보 유형들의 상관관계를 결정하는 방법 및 상기 방법을 수행하는 상관관계 결정 장치
CN116665913B (zh) 一种跨机构的患者匹配系统和方法

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