KR102451130B1 - Distributed cluster decryption system and method - Google Patents

Distributed cluster decryption system and method Download PDF

Info

Publication number
KR102451130B1
KR102451130B1 KR1020210172372A KR20210172372A KR102451130B1 KR 102451130 B1 KR102451130 B1 KR 102451130B1 KR 1020210172372 A KR1020210172372 A KR 1020210172372A KR 20210172372 A KR20210172372 A KR 20210172372A KR 102451130 B1 KR102451130 B1 KR 102451130B1
Authority
KR
South Korea
Prior art keywords
decryption
encryption
information
pattern
filtering
Prior art date
Application number
KR1020210172372A
Other languages
Korean (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 KR1020210172372A priority Critical patent/KR102451130B1/en
Application granted granted Critical
Publication of KR102451130B1 publication Critical patent/KR102451130B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C5/00Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Provided is a distributed cluster decryption system formed to decrypt a specific password by using a plurality of computers included in a distributed cluster. According to an embodiment of the present invention, the distributed cluster decryption system comprises: a passwords information patterning unit which collects dictionary passwords, analyzes patterns of the collected dictionary passwords to generate encoding password information, and filters out the encoding password information to obtain filtering password information; an encryption pattern expansion unit which calculates a detailed probability of the filtering password information by using the encoding password information and the filtering password information, and obtains extended password patterns by obtaining exclusive patterns for the filtering password information; and a decryption unit which decrypts a specific password by using the filtering password information or the extended password patterns and using the plurality of computers of the distributed cluster, and outputs decryption results. Therefore, the distributed cluster decryption system can perform, in a distributed cluster environment, establishment of a brute-force strategy for effective decryption (cracking) and scheduling of tasks for executing the brute-force strategy.

Description

분산 클러스터 암호 해독 시스템 및 방법{Distributed cluster decryption system and method} Distributed cluster decryption system and method

본 발명은 분산 클러스터 암호 해독 시스템 및 방법에 관한 것으로, 특히, 취약한 암호를 해독하기 위한 확률 기반의 암호 패턴 추론 및 이를 분산 클러스터 컴퓨팅 환경에 대해 스케줄링할 수 있는 분산 클러스터 암호 해독 시스템 및 방법에 관한 것이다.The present invention relates to a distributed cluster decryption system and method, and more particularly, to a distributed cluster decryption system and method capable of inferring a probability-based encryption pattern for decrypting a weak password and scheduling it for a distributed cluster computing environment. .

오늘날의 IT 환경은 스마트폰, 사물인터넷 디바이스 등의 사용자 영역의 디바이스에서부터 클라우드, 블록체인 네트워크 등의 대규모 인프라의 영역에 이르기까지 다양한 형태의 기기들로 구성되어 있으며, IT 환경의 다양성과 복잡성은 지속적으로 증가해 왔다. 이와 더불어, IT 환경을 대상으로 하는 사이버 공격의 위험성과 수준 또한 지속적으로 높아졌다. 이러한 사이버 공격의 대다수는 디지털 디바이스를 매개체로 사용한다. 공격에 사용된, 또는 공격에 악용된 디바이스에는 악성 행위에 대한 증거 데이터가 아티팩트의 형태로 남게 되며, 이러한 증거 데이터들은 디지털 포렌식 절차를 통해 효력을 지니는 증거가 되어 사이버 공격에 대한 수사 과정에 활용된다. 따라서, 디바이스에 존재하는 행위 관련 데이터, 특히 사용자와 관련된 데이터는 디지털 포렌식 과정에서 매우 중요한 역할을 한다.Today's IT environment consists of various types of devices, from devices in the user area such as smartphones and Internet of Things devices to large-scale infrastructure such as cloud and blockchain networks. has increased to In addition, the risk and level of cyber attacks targeting the IT environment have also increased continuously. The majority of these cyber attacks use digital devices as a vehicle. Evidence data for malicious behavior remains in the form of artifacts on devices used or exploited for attacks, and these evidence data become valid evidence through digital forensic procedures and are used in the investigation process for cyberattacks. . Therefore, behavior-related data existing in the device, particularly user-related data, plays a very important role in the digital forensics process.

그러나, 사용자의 데이터들 중 상당수는 암호화되어 저장되어 있기 때문에, 디지털 포렌식 절차를 위해 사용자 데이터를 수집하는 과정에서 사용자의 암호 정보를 확보하는 것은 매우 현실적인 난관으로 작용한다. 일반적으로 디지털 포렌식 분석을 위해 압수 및 확보된 디바이스를 분석하는 과정에서 분석 대상 용의자의 협조를 기대하기 어렵기 때문에, 다른 방법을 통해 분석 대상 기기의 암호를 확보하여 기기 내부 정보를 수집하여야 한다.However, since most of the user's data is encrypted and stored, securing the user's password information in the process of collecting user data for a digital forensic procedure acts as a very realistic difficulty. In general, it is difficult to expect the cooperation of the suspect to be analyzed in the process of analyzing the confiscated and secured device for digital forensic analysis.

암호 해독(크래킹) 기법은 특정한 원리에 따라 사용자의 암호일 것으로 추정되는 문자열을 생성하고, 이를 이용하여 복호화를 수행하는 기술로, 이는 디지털 포렌식 절차에 중요한 역할로 작용하는 기반기술이다. 종래의 암호 해독(크래킹) 기술은 전적으로 암호 사전을 이용하여 공격을 수행한다. 암호 사전은 과거에 유출되었던 사용자들의 실제 암호 데이터들을 모아 둔 데이터베이스이다. 일반적인 사용자들은 각 사이트 혹은 프로그램들마다 서로 다른 암호를 사용하기 보다는 동일한 암호를 이용하는 경향이 강하다. The decryption (cracking) technique is a technology that generates a character string that is presumed to be the user's password according to a specific principle and performs decryption using it, which is a basic technology that plays an important role in the digital forensic procedure. The conventional decryption (cracking) technology performs an attack entirely using a password dictionary. The password dictionary is a database that collects actual password data of users that have been leaked in the past. General users have a strong tendency to use the same password rather than a different password for each site or program.

이러한 성향으로 인해 암호 사전에 존재하는 암호를 대입해보는 사전 공격(dictionary attack)은 실제로 공격 성공률이 상당히 높으며, 실제 암호를 찾아내는 속도 또한 매우 빠른 편에 속하는 공격 기법이다. 이로 인해, 현존하는 대부분의 상용 암호 해독(크래킹)제품들은 각자 자신들의 암호 사전을 구축하고, 이를 이용하여 크래킹을 수행한다.Due to this tendency, a dictionary attack, which substitutes a password in the password dictionary, has a very high attack success rate and is an attack technique that also finds the actual password very fast. For this reason, most existing commercial cryptocurrency (cracking) products each build their own encryption dictionary and perform cracking using it.

이러한 사전 공격을 이용한 암호 해독(크래킹) 성능은 암호 사전의 크기가 클수록 공격의 성공률이 높아진다. 이를 이유로, 상용 기술 또는 제품들은 전 세계에서 수집된 방대한 양의 암호를 데이터베이스화 하여 해독(크래킹)에 사용한다. 그러나, 전 세계에서 수집된 유출 암호의 상당수는 영어권 또는 중화권과 같은 다른 언어 문화권에서 수집된 데이터이다.As for the decryption (cracking) performance using this dictionary attack, the larger the size of the password dictionary, the higher the attack success rate. For this reason, commercial technologies or products use the database for decryption (cracking) of a vast amount of passwords collected from all over the world. However, many of the leaked passwords collected around the world are data from other linguistic cultures, such as English-speaking or Greater China.

일반적인 사용자들은 암호를 만드는 과정에서 일부 단어의 조합을 사용하는데, 한국어는 초성-중성-종성의 특수한 문자열 구성을 갖는 언어로, 한국어 단어로 조합된 암호의 패턴은 다른 언어문화권에서 사용된 패턴과 큰 차이점을 보인다.Common users use a combination of some words in the process of creating passwords. Korean is a language with a special string composition of initial, middle, and final characters, and the pattern of passwords combined with Korean words is different from patterns used in other language and culture cultures. see the difference

따라서, 일반적인 암호 사전을 이용한 해독(크래킹) 기법은 한국어 문화권의 사용자를 대상으로 하는 암호 해독(크래킹)에는 적합하지 않으며, 이로 인해 기존의 암호 해독(크래킹)기술들은 국내를 대상으로 하는 디지털 포렌식 수사 절차에 적합하지 않다는 문제점이 존재한다.Therefore, the decryption (cracking) technique using a general password dictionary is not suitable for decryption (cracking) targeting users of the Korean culture. There is a problem that the procedure is not suitable.

한국등록특허 제10-1834345호Korean Patent No. 10-1834345

상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 암호 사전으로부터 암호 패턴의 확률을 추출하고 이를 이용하여 효과적인 암호 해독(크래킹)을 위한 전수조사(brute-force) 전략 수립 및 전수 조사 수행을 위한 작업 스케줄링을 분산 클러스터 환경에서 수행할 수 있는 분산 클러스터 암호 해독 시스템 및 방법을 제공하고자 한다.In order to solve the problems of the prior art as described above, an embodiment of the present invention extracts the probability of a password pattern from a password dictionary and uses it to establish a brute-force strategy for effective decryption (cracking) and An object of the present invention is to provide a distributed cluster decryption system and method that can perform task scheduling for complete investigation in a distributed cluster environment.

위와 같은 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 분산 클러스터에 포함되는 복수의 컴퓨터들을 이용하여 특정 암호를 해독하기 위해 형성되는 분산 클러스터 암호 해독 시스템이 제공된다. 상기 분산 클러스터 암호 해독 시스템은, 사전 암호 수집을 수행하고, 수집한 상기 사전 암호들에 대한 패턴을 분석하여 인코딩 암호 정보를 생성하며, 상기 인코딩 암호 정보에 대한 필터링을 수행하여 필터링 암호 정보를 획득하는 암호 정보 패턴화 처리부; 상기 인코딩 암호 정보 및 상기 필터링 암호 정보를 이용하여 상기 필터링 암호 정보의 세부 확률을 계산하고 상기 필터링 암호 정보에 대한 배타적 패턴을 획득하여 확장된 암호 패턴을 획득하는 암호 패턴 확장부; 및 상기 필터링 암호 정보 또는 상기 확장된 암호 패턴을 이용하여 상기 분산 클러스터의 상기 복수의 컴퓨터를 이용하여 상기 특정 암호의 해독을 수행하고 해독 결과를 출력하는 암호 해독 수행부;를 포함한다.According to one aspect of the present invention for solving the above problems, there is provided a distributed cluster decryption system formed to decrypt a specific password using a plurality of computers included in the distributed cluster. The distributed cluster decryption system performs collection of dictionary passwords, generates encoding encryption information by analyzing patterns for the collected dictionary passwords, and performs filtering on the encoding encryption information to obtain filtering encryption information. Encryption information pattern processing unit; an encryption pattern extension unit for calculating a detailed probability of the filtering encryption information by using the encoding encryption information and the filtering encryption information and obtaining an exclusive pattern for the filtering encryption information to obtain an extended encryption pattern; and a decryption performing unit that decrypts the specific encryption using the plurality of computers in the distributed cluster using the filtered encryption information or the extended encryption pattern and outputs a decryption result.

상기 암호 정보 패턴화 처리부는, 복수의 사용자가 사용한 실제 암호들 중 유출된 암호들을 상기 사전 암호로 정의하여 수집하고, 수집한 상기 사전 암호를 유출 암호 정보로 저장하는 유출 암호 정보 저장 모듈; 상기 유출 암호 정보에 대한 패턴 분석을 수행하기 위해 상기 유출 암호 정보의 인코딩을 수행하여 인코딩 암호 정보를 생성하는 유출 암호 정보 인코딩 모듈; 및 상기 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬하며, 기 설정된 등장 확률 값을 이용해 상기 인코딩 암호 정보의 필터링을 수행하여 상기 필터링 암호 정보를 획득하는 인코딩 암호 정보 처리 모듈;을 포함할 수 있다.The password information patterning processing unit may include: a leaked password information storage module configured to define and collect leaked passwords among actual passwords used by a plurality of users as the dictionary password, and store the collected dictionary password as leaked password information; a leaked encryption information encoding module for generating encoded encryption information by encoding the leaked encryption information to perform pattern analysis on the leaked encryption information; and an encoding encryption information processing module that sorts the encoded encryption information using an appearance frequency and performs filtering of the encoded encryption information using a preset appearance probability value to obtain the filtering encryption information.

상기 인코딩은 숫자, 글자 및 특수 문자를 서로 다른 기호들로 매핑하고, 연속되는 기호들을 그룹화 하며, 하기 식 1로 표현될 수 있다.The encoding maps numbers, letters, and special characters to different symbols, groups consecutive symbols, and can be expressed by Equation 1 below.

식 1Equation 1

Figure 112021140703327-pat00001
Figure 112021140703327-pat00001

(여기서, P: n자리 문자열로 구성된 임의의 암호, L: 연속된 글자 개수, D: 연속된 숫자 개수, S: 연속된 특수문자 개수)(here, P: random password consisting of n-character strings, L: number of consecutive characters, D: number of consecutive numbers, S: number of consecutive special characters)

상기 인코딩 암호 정보 처리 모듈은, 상기 필터링으로 상기 등장 빈도수가 상기 기 설정된 등장 확률 값 이하인 상기 인코딩 암호 정보를 필터링할 수 있다.The encoded encryption information processing module may filter the encoded encryption information in which the frequency of appearance is equal to or less than the preset appearance probability value through the filtering.

상기 암호 패턴 확장부는, 상기 필터링 암호 정보를 획득하고, 상기 세부 확률을 계산하여 암호 패턴 세부 확률 정보를 획득하는 암호 패턴 세부 확률 획득 모듈; 및 상기 인코딩 암호 정보 및 상기 특정 암호의 길이를 이용하여 상기 필터링 암호 정보에 포함되지 않은 패턴인 배타적 패턴을 추출하는 배타적 패턴 추출 모듈;을 포함할 수 있다.The encryption pattern extension unit may include: an encryption pattern detailed probability obtaining module for obtaining the filtering encryption information, calculating the detailed probability to obtain the encryption pattern detailed probability information; and an exclusive pattern extraction module for extracting an exclusive pattern that is a pattern not included in the filtering encryption information by using the encoding encryption information and the length of the specific encryption.

상기 암호 패턴 세부 확률은, 상기 암호의 문자열에 포함된 두 인접 문자열들의 연결 확률을 의미하며, 상기 연결 확률은, 상기 두 인접 문자열이 상기 암호를 시작하는 두 문자열인 경우인 시작 패턴과 상기 두 인접 문자열이 상기 암호를 시작하는 두 문자열이 아닌 경우인 연속 패턴으로 분류하여 획득될 수 있다.The encryption pattern detailed probability means a concatenation probability of two adjacent strings included in the character string of the password, and the concatenation probability is a starting pattern and the two adjacent strings when the two adjacent character strings are two character strings starting the encryption. It can be obtained by classifying the string into a continuous pattern that is not the two strings starting the encryption.

상기 연결 확률은, 상기 시작 패턴인 경우 상기 앞 두 문자열에 대한 빈도수로 계산되며, 상기 연속 패턴인 경우 상기 앞 두 문자열을 제외한 나머지 인접 문자들 사이의 빈도수로 계산될 수 있다.The connection probability may be calculated as a frequency of the first two character strings in the case of the start pattern, and may be calculated as a frequency between the remaining adjacent characters except for the first two character strings in the case of the continuous pattern.

상기 배타적 패턴 추출 모듈은, 상기 특정 암호의 생성 조건을 획득하고, 획득한 상기 생성 조건을 기준으로 획득되는 모든 패턴인 기준 패턴들 중 상기 필터링 암호에 포함된 패턴을 제외하여 상기 배타적 패턴을 추출할 수 있다.The exclusive pattern extraction module obtains the generation condition of the specific encryption, and extracts the exclusive pattern by excluding the pattern included in the filtering encryption among reference patterns that are all patterns obtained based on the obtained generation condition. can

상기 암호 해독 수행부는, 상기 필터링 암호 정보 및 상기 확장된 암호 패턴으로부터 각각 상기 암호의 해독을 위한 우선순위를 결정하는 해독 패턴 우선순위 결정 모듈; 상기 필터링 암호 정보를 획득하면 획득한 상기 필터링 암호 정보를 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 1차 해독 정보를 획득하고, 상기 확장된 암호 패턴을 획득하면, 획득한 상기 확장된 암호 패턴을 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 2차 해독 정보를 획득하는 해독 정보 획득 모듈; 및 상기 1차 해독 정보로부터 상기 암호에 대한 해독이 성공한 것을 획득하면, 해당 암호에 대해 상기 배타적 패턴을 획득하지 않는 것을 요청하는 해독 과정 정지 신호를 생성하여 출력하며, 상기 1차 해독 정보로부터 상기 암호에 대한 해독이 성공하지 못한 것을 확인하면, 해당 암호에 대해 상기 배타적 패턴의 획득을 요청하는 해독 과정 진행 신호를 생성하여 상기 해독 결과로 출력하는 해독 결과 출력 모듈;을 포함할 수 있다.The decryption performing unit may include: a decryption pattern priority determining module for determining a priority for decryption of the encryption from the filtering encryption information and the extended encryption pattern; When the filtering encryption information is obtained, the obtained filtering encryption information is distributed to the plurality of computers in the distributed cluster to obtain primary decryption information, and when the extended encryption pattern is obtained, the obtained extended encryption pattern is a decryption information obtaining module for distributing to the plurality of computers in the distributed cluster to obtain secondary decryption information; and when it is obtained that the decryption of the encryption is successful from the first decryption information, generates and outputs a decryption process stop signal requesting not to acquire the exclusive pattern for the corresponding encryption, and outputs the decryption information from the first decryption information and a decryption result output module for generating a decryption process progress signal for requesting acquisition of the exclusive pattern for the corresponding encryption and outputting the decryption result as the decryption result when it is confirmed that the decryption of the password is not successful.

상기 해독 패턴 우선순위 결정 모듈은, 상기 필터링 암호 정보의 상기 세부 확률을 이용하여 상기 우선순위를 결정하며, 해당 패턴을 구성하는 인접 문자열들의 확률 곱을 획득하고, 획득한 상기 확률 곱을 기준으로 상기 우선순위를 결정할 수 있다.The decryption pattern priority determination module determines the priority by using the detailed probability of the filtering encryption information, obtains a probability product of adjacent strings constituting the pattern, and determines the priority based on the obtained probability product can be decided

상기 해독 결과 출력 모듈은, 상기 1차 해독 정보 또는 상기 2차 해독 정보를 분석하여 상기 암호에 대한 해독이 성공한 것으로 확인하면, 성공한 상기 해독 정보를 사용자 단말기로 출력할 수 있다.The decryption result output module may output the successful decryption information to the user terminal when it is confirmed that the decryption of the encryption is successful by analyzing the first decryption information or the second decryption information.

본 발명의 일 측면에 따르면, 분산 클러스터에 포함되는 복수의 컴퓨터들을 이용하여 특정 암호를 해독하기 위해 형성되는 분산 클러스터 암호 해독 방법이 제공된다. 상기 분산 클러스터 암호 해독 방법은, 암호 정보 패턴화 처리부를 이용하여 사전 암호 수집을 수행하고, 수집한 상기 사전 암호들에 대한 패턴을 분석하여 인코딩 암호 정보를 생성하며, 상기 인코딩 암호 정보에 대한 필터링을 수행하여 필터링 암호 정보를 획득하는 단계; 암호 패턴 확장부를 통해 상기 인코딩 암호 정보 및 상기 필터링 암호 정보를 이용하여 상기 필터링 암호 정보의 세부 확률을 계산하고 상기 필터링 암호 정보에 대한 배타적 패턴을 획득하여 확장된 암호 패턴을 획득하는 단계; 및 암호 해독 수행부를 통해 상기 필터링 암호 정보 또는 상기 확장된 암호 패턴을 이용하여 상기 분산 클러스터의 상기 복수의 컴퓨터를 이용하여 상기 특정 암호의 해독을 수행하고 해독 결과를 출력하는 단계;를 포함한다.According to one aspect of the present invention, there is provided a distributed cluster decryption method formed to decrypt a specific password using a plurality of computers included in the distributed cluster. The distributed cluster cipher decryption method performs collection of dictionary ciphers using a cipher information patterning processing unit, analyzes patterns for the collected dictionary ciphers to generate encoded cipher information, and performs filtering on the encoded cipher information. performing the steps to obtain filtering encryption information; obtaining an extended encryption pattern by calculating a detailed probability of the filtering encryption information by using the encoding encryption information and the filtering encryption information through an encryption pattern extension unit and obtaining an exclusive pattern for the filtering encryption information; and performing decryption of the specific encryption using the plurality of computers of the distributed cluster using the filtering encryption information or the extended encryption pattern through a decryption performing unit and outputting a decryption result.

상기 필터링 암호 정보를 획득하는 단계는, 복수의 사용자가 사용한 실제 암호들 중 유출된 암호들을 상기 사전 암호로 정의하여 수집하고, 수집한 상기 사전 암호를 유출 암호 정보로 저장하는 단계; 상기 유출 암호 정보에 대한 패턴 분석을 수행하기 위해 상기 유출 암호 정보의 인코딩을 수행하여 인코딩 암호 정보를 생성하는 단계; 및 상기 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬하며, 기 설정된 등장 확률 값을 이용해 상기 인코딩 암호 정보의 필터링을 수행하여 상기 필터링 암호 정보를 획득하는 단계;를 포함할 수 있다.The obtaining of the filtering password information may include: defining and collecting leaked passwords among actual passwords used by a plurality of users as the dictionary password, and storing the collected dictionary password as leaked password information; generating encoded encryption information by encoding the leaked encryption information to perform pattern analysis on the leaked encryption information; and arranging the encoded encryption information using an appearance frequency, and performing filtering of the encoded encryption information using a preset appearance probability value to obtain the filtering encryption information.

상기 인코딩은 숫자, 글자 및 특수 문자를 서로 다른 기호들로 매핑하고, 연속되는 기호들을 그룹화 하며, 하기 식 2로 표현될 수 있다.The encoding maps numbers, letters, and special characters to different symbols, groups consecutive symbols, and can be expressed by Equation 2 below.

식 2Equation 2

Figure 112021140703327-pat00002
Figure 112021140703327-pat00002

(여기서, P: n자리 문자열로 구성된 임의의 암호, L: 연속된 글자 개수, D: 연속된 숫자 개수, S: 연속된 특수문자 개수)(here, P: random password consisting of n-character strings, L: number of consecutive characters, D: number of consecutive numbers, S: number of consecutive special characters)

상기 인코딩 암호 정보 처리 모듈은, 상기 필터링으로 상기 등장 빈도수가 상기 기 설정된 등장 확률 값 이하인 상기 인코딩 암호 정보를 필터링할 수 있다.The encoded encryption information processing module may filter the encoded encryption information in which the frequency of appearance is equal to or less than the preset appearance probability value through the filtering.

상기 확장된 암호 패턴을 획득하는 단계는, 상기 필터링 암호 정보를 획득하고, 상기 세부 확률을 계산하여 암호 패턴 세부 확률 정보를 획득하는 단계; 및 상기 인코딩 암호 정보 및 상기 특정 암호의 길이를 이용하여 상기 필터링 암호 정보에 포함되지 않은 패턴인 배타적 패턴을 추출하는 단계;를 포함할 수 있다.The step of obtaining the extended encryption pattern may include: obtaining the filtering encryption information, calculating the detailed probability to obtain detailed probability information of the encryption pattern; and extracting an exclusive pattern that is a pattern not included in the filtering encryption information by using the encoding encryption information and the length of the specific encryption.

상기 암호 패턴 세부 확률은, 상기 암호의 문자열에 포함된 두 인접 문자열들의 연결 확률을 의미하며, 상기 연결 확률은, 상기 두 인접 문자열이 상기 암호를 시작하는 두 문자열인 경우인 시작 패턴과 상기 두 인접 문자열이 상기 암호를 시작하는 두 문자열이 아닌 경우인 연속 패턴으로 분류하여 획득될 수 있다.The encryption pattern detailed probability means a concatenation probability of two adjacent strings included in the character string of the password, and the concatenation probability is a starting pattern and the two adjacent strings when the two adjacent character strings are two character strings starting the encryption. It can be obtained by classifying the string into a continuous pattern that is not the two strings starting the encryption.

상기 연결 확률은, 상기 시작 패턴인 경우 상기 앞 두 문자열에 대한 빈도수로 계산되며, 상기 연속 패턴인 경우 상기 앞 두 문자열을 제외한 나머지 인접 문자들 사이의 빈도수로 계산될 수 있다.The connection probability may be calculated as a frequency of the first two character strings in the case of the start pattern, and may be calculated as a frequency between the remaining adjacent characters except for the first two character strings in the case of the continuous pattern.

상기 배타적 패턴을 추출하는 단계는, 상기 특정 암호의 생성 조건을 획득하고, 획득한 상기 생성 조건을 기준으로 획득되는 모든 패턴인 기준 패턴들 중 상기 필터링 암호에 포함된 패턴을 제외하여 상기 배타적 패턴을 추출할 수 있다.The step of extracting the exclusive pattern may include obtaining the generation condition of the specific encryption, and excluding the pattern included in the filtering encryption among reference patterns that are all patterns obtained based on the obtained generation condition. can be extracted.

상기 특정 암호의 해독을 수행하고 해독 결과를 출력하는 단계는, 상기 필터링 암호 정보 및 상기 확장된 암호 패턴으로부터 각각 상기 암호의 해독을 위한 우선순위를 결정하는 단계; 상기 필터링 암호 정보를 획득하면 획득한 상기 필터링 암호 정보를 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 1차 해독 정보를 획득하고, 상기 확장된 암호 패턴을 획득하면, 획득한 상기 확장된 암호 패턴을 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 2차 해독 정보를 획득하는 단계; 및 상기 1차 해독 정보로부터 상기 암호에 대한 해독이 성공한 것을 획득하면, 해당 암호에 대해 상기 배타적 패턴을 획득하지 않는 것을 요청하는 해독 과정 정지 신호를 생성하여 출력하며, 상기 1차 해독 정보로부터 상기 암호에 대한 해독이 성공하지 못한 것을 확인하면, 해당 암호에 대해 상기 배타적 패턴의 획득을 요청하는 해독 과정 진행 신호를 생성하여 상기 해독 결과로 출력하는 단계;를 포함할 수 있다.The step of performing the decryption of the specific encryption and outputting the decryption result may include: determining a priority for decryption of the encryption from the filtering encryption information and the extended encryption pattern; When the filtering encryption information is obtained, the obtained filtering encryption information is distributed to the plurality of computers in the distributed cluster to obtain primary decryption information, and when the extended encryption pattern is obtained, the obtained extended encryption pattern is distributing to the plurality of computers in the distributed cluster to obtain secondary decryption information; and when it is obtained that the decryption of the encryption is successful from the first decryption information, generates and outputs a decryption process stop signal requesting not to acquire the exclusive pattern for the corresponding encryption, and outputs the decryption information from the first decryption information If it is confirmed that the decryption of the password is not successful, generating a decryption process progress signal for requesting the acquisition of the exclusive pattern for the corresponding encryption and outputting the decryption result as the decryption result.

상기 암호의 해독을 위한 우선순위를 결정하는 단계는, 상기 필터링 암호 정보의 상기 세부 확률을 이용하여 상기 우선순위를 결정하며, 해당 패턴을 구성하는 인접 문자열들의 확률 곱을 획득하고, 획득한 상기 확률 곱을 기준으로 상기 우선순위를 결정할 수 있다.In the step of determining the priority for decryption of the encryption, the priority is determined using the detailed probability of the filtering encryption information, the probability product of the adjacent strings constituting the pattern is obtained, and the obtained probability product is obtained. The priority may be determined based on the criteria.

상기 해독 결과로 출력하는 단계는, 상기 1차 해독 정보 또는 상기 2차 해독 정보를 분석하여 상기 암호에 대한 해독이 성공한 것으로 확인하면, 성공한 상기 해독 정보를 사용자 단말기로 출력할 수 있다.In the outputting of the decryption result, if it is confirmed that the decryption of the encryption is successful by analyzing the first decryption information or the second decryption information, the successful decryption information may be output to the user terminal.

본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 시스템 및 방법은, 암호 사전으로부터 암호 패턴의 확률을 추출하고 이를 이용함으로써 효과적인 암호 해독(크래킹)을 위한 전수조사(brute-force) 전략 수립 및 전수 조사 수행을 위한 작업 스케줄링을 분산 클러스터 환경에서 수행할 수 있는 효과가 있다.Distributed cluster decryption system and method according to an embodiment of the present invention, by extracting the probability of a password pattern from a password dictionary and using it, establishment of a brute-force strategy for effective decryption (cracking) and full investigation It has the effect of being able to perform task scheduling for execution in a distributed cluster environment.

도 1은 본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 시스템이 동작하는 구조를 간단히 나타낸 도이다.
도 2는 도 1의 암호 정보 패턴화 처리부를 나타낸 블록도이다.
도 3은 도 1의 암호 패턴 확장부를 나타낸 도이다.
도 4는 도 1의 암호 해독 수행부를 나타낸 도이다.
도 5는 본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 방법을 나타낸 순서도이다.
도 6은 도 5의 단계 S11을 나타낸 순서도이다.
도 7은 도 5의 단계 S13을 나타낸 순서도이다.
도 8은 도 5의 단계 S15를 나타낸 순서도이다.
도 9는 두 문자열 패턴인 시작 패턴과 연속 패턴에 대한 확률 표를 생성하는 코드의 일 실시예를 나타낸 도이다.
도 10은 배타적 패턴을 획득하는 코드의 일 예시를 나타낸 도이다.
1 is a diagram schematically illustrating a structure in which a distributed cluster decryption system according to an embodiment of the present invention operates.
FIG. 2 is a block diagram showing the encryption information patterning processing unit of FIG. 1 .
3 is a diagram illustrating an encryption pattern extension unit of FIG. 1 .
FIG. 4 is a diagram illustrating the decryption performing unit of FIG. 1 .
5 is a flowchart illustrating a distributed cluster decryption method according to an embodiment of the present invention.
6 is a flowchart illustrating step S11 of FIG. 5 .
7 is a flowchart illustrating step S13 of FIG. 5 .
8 is a flowchart illustrating step S15 of FIG. 5 .
9 is a diagram illustrating an embodiment of a code for generating a probability table for two character string patterns, a start pattern and a continuous pattern.
10 is a diagram illustrating an example of a code for obtaining an exclusive pattern.

이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. The present invention may be embodied in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and the same reference numerals are assigned to the same or similar components throughout the specification.

도 1은 본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 시스템이 동작하는 구조를 간단히 나타낸 도이고, 도 2는 도 1의 암호 정보 패턴화 처리부를 나타낸 블록도이며, 도 3은 도 1의 암호 패턴 확장부를 나타낸 도이고, 도 4는 도 1의 암호 해독 수행부를 나타낸 도이다. 이하에서는 도 1 내지 도 4를 이용하여 본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 시스템에 대해 상세히 설명하도록 한다. 이하에서 언급하는 암호 해독은 일반적으로 크래킹이라고 불리우는 강제 침입 기법을 의미한다.1 is a diagram briefly showing the structure of the operation of a distributed cluster encryption decryption system according to an embodiment of the present invention, FIG. 2 is a block diagram showing the encryption information patterning processing unit of FIG. 1, and FIG. 3 is the encryption of FIG. It is a diagram showing a pattern expansion unit, and FIG. 4 is a diagram showing the decryption performing unit of FIG. 1 . Hereinafter, a distributed cluster decryption system according to an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 4 . Decryption referred to below generally refers to a forced intrusion technique called cracking.

본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 시스템(1)은 분산 클러스터(2)와 연결되고, 분산 클러스터(2)에 포함되는 복수의 컴퓨터들을 이용하여 해독 대상 암호(3)를 해독하기 위해 형성된다. 이를 위해 분산 클러스터 암호 해독 시스템(1)은 유출된 암호들(4)을 획득하여 처리한 결과를 분산 클러스터의 복수의 컴퓨터에게 전달하여 암호 해독을 수행하도록 할 수 있다.The distributed cluster decryption system 1 according to an embodiment of the present invention is connected to the distributed cluster 2 and uses a plurality of computers included in the distributed cluster 2 to decrypt the decryption target encryption 3 is formed To this end, the distributed cluster decryption system 1 may obtain the leaked passwords 4 and transfer the processing results to a plurality of computers in the distributed cluster to perform decryption.

일반적으로 암호 해독의 경우 무수히 많은 경우의 수가 존재한다. 일 예로 사용자가 패스워드로 입력할 수 있는 모든 경우의 수가 숫자가 10가지고, 영어 알파벳 대소문자가 52가지이며, 일반적으로 사용될 수 있는 특수문자가 12가지로 설정되어 총 74가지의 입력 가능한 문자가 존재한다면, 임의의 n자리 수의 사용자 패스워드를 전수 조사로 찾아내기 위해서는 평균적으로

Figure 112021140703327-pat00003
번의 암호 해독 시도를 필요로 하며 이는, 단일 단말기로는 수행하기 어려운 횟수이다. 따라서, 본 발명에서는 도 1에 도시된 바와 같이 분산 클러스터(2)를 이용하여 복수의 단말기를 설정하고, 설정한 복수의 단말기가 암호 해독 시도를 분배하여 수행하도록 함으로써 보다 빠른 암호 해독을 수행하도록 형성된다.In general, in the case of cryptocurrency, there are innumerable cases. For example, the number of all cases that the user can input as a password is 10 numbers, 52 types of uppercase and lowercase letters of the English alphabet, and 12 types of special characters that can be generally used, so that there are a total of 74 inputable characters. If so, to find a random n-digit user password through an exhaustive search, the average
Figure 112021140703327-pat00003
It requires one decryption attempt, which is a number that is difficult to perform with a single terminal. Therefore, in the present invention, as shown in FIG. 1, a plurality of terminals are set using the distributed cluster 2, and the set plurality of terminals distribute and perform decryption attempts to perform faster decryption. do.

본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 시스템(1)은 도 1에 도시된 바와 같이 암호 정보 패턴화 처리부(11), 암호 패턴 확장부(13) 및 암호 해독 수행부(15)를 포함하도록 형성된다. A distributed cluster decryption system 1 according to an embodiment of the present invention includes a cryptographic information patterning processing unit 11, a cryptographic pattern extension unit 13, and a decryption performing unit 15 as shown in FIG. formed to do

암호 정보 패턴화 처리부(11)는 사전 암호 수집을 수행하고, 수집한 사전 암호들에 대한 패턴을 분석하여 인코딩 암호 정보를 생성하며, 인코딩 암호 정보에 대한 필터링을 수행하여 필터링 암호 정보를 획득하도록 형성된다. 암호 정보 패턴화 처리부(11)는 도 1의 유출된 암호들(4)을 사전 암호로 수집을 수행할 수 있으며, 수집한 사전 암호들을 처리하여 필터링 암호 정보를 획득할 수 있으며, 이를 위해 도 2에 도시된 바와 같이 유출 암호 정보 저장 모듈(111), 유출 암호 정보 인코딩 모듈(113) 및 인코딩 암호 정보 처리 모듈(115)을 포함하도록 형성될 수 있다.The encryption information patterning processing unit 11 collects dictionary passwords, analyzes patterns for the collected dictionary passwords to generate encoded encryption information, and performs filtering on the encoded encryption information to obtain filtering encryption information. do. The encryption information patterning processing unit 11 may collect the leaked passwords 4 of FIG. 1 as a dictionary password, and may obtain filtering encryption information by processing the collected dictionary passwords, for this purpose, FIG. As shown in , it may be formed to include a leaked cryptographic information storage module 111 , a leaked cryptographic information encoding module 113 , and an encoded cryptographic information processing module 115 .

유출 암호 정보 저장 모듈(111)은 사전 암호 수집을 수행하고 저장하도록 형성된다. 유출 암호 정보 저장 모듈(111)은 복수의 사용자가 사용한 실제 암호들 중 유출된 암호들(4)을 사전 암호로 정의하여 수집하고, 수집한 사전 암호를 유출 암호 정보로 저장할 수 있다. 유출 암호 정보 저장 모듈(111)은 일 예로 사전 암호를 유출 암호 사전으로 표현되는 유출된 암호들을 수집한 데이터 셋으로 저장할 수 있다. 여기서 사전은 분석 대상 기기와 환경, 사용자의 특성에 따라 여러 형태의 데이터베이스가 사용될 수 있으며, 일 예로 RockYou 데이터 셋과 같이 오픈 소스 형태의 암호 사전 역시 존재한다. 본 발명에서는 유출 암호 사전으로부터 암호 패턴을 추출하기 위해 텍스트파일 또는 데이터베이스 등과 같은 다양한 형태의 암호 사전을 이용할 수 있다.The leaked password information storage module 111 is configured to perform and store the dictionary password collection. The leaked password information storage module 111 may define and collect the leaked passwords 4 among actual passwords used by a plurality of users as dictionary passwords, and store the collected dictionary passwords as leaked password information. The leaked password information storage module 111 may store, for example, a dictionary password as a data set in which leaked passwords expressed as a leaked password dictionary are collected. Here, various types of databases may be used for the dictionary according to the analysis target device, environment, and user characteristics. For example, an open-source encryption dictionary such as the RockYou data set also exists. In the present invention, in order to extract an encryption pattern from the leaked encryption dictionary, various types of encryption dictionaries such as text files or databases can be used.

유출 암호 정보 인코딩 모듈(113)은 유출 암호 정보에 대한 패턴 분석을 수행하기 위해 유출 암호 정보에 대한 인코딩을 수행하여 인코딩 암호 정보를 생성하도록 형성된다.The leaked cryptographic information encoding module 113 is configured to perform encoding on the leaked cryptographic information to perform pattern analysis on the leaked cryptographic information to generate encoded cryptographic information.

가공되지 않은 암호들을 이용하는 경우 수많은 패턴이 도출될 수 있으며, 도출되는 수많은 패턴들은 대부분 특별한 의미를 가지지 못하는 경우일 수 있기 때문에 본 발명의 유출 암호 정보 인코딩 모듈(113)은 유출 암호 정보로부터 유의미한 패턴을 도출하기 위해 특정 처리인 인코딩을 수행할 수 있다. 일반적으로 암호들은 상술한 바와 같이, 숫자, 글자 및 특수문자 중 적어도 하나를 이용하여 n의 길이로 형성된다. 따라서, 본 발명에서는 숫자는 숫자끼리, 글자는 글자끼리, 특수문자는 특수문자끼리 매핑하여 그룹화하는 부호화 방식을 인코딩으로 수행할 수 있다. When raw passwords are used, numerous patterns can be derived, and since most of the derived patterns may not have a special meaning, the leaked encryption information encoding module 113 of the present invention provides a meaningful pattern from the leaked password information. In order to derive it, it is possible to perform a specific process, encoding. In general, as described above, passwords are formed with a length of n using at least one of numbers, letters, and special characters. Accordingly, in the present invention, an encoding method in which numbers are grouped by mapping numbers to numbers, letters to letters, and special characters to special characters can be performed as encoding.

바람직하게는 유출 암호 정보 인코딩 모듈(113)은 숫자는 D로, 글자는 L로, 특수문자는 S로 변경하여 부호화 할 수 있다. 유출 암호 정보 인코딩 모듈(113)은 일 예로 "test1234!@#"라는 암호와 "12test!@34#"라는 암호를 유출 암호 정보로 획득하는 경우, 각각 상술한 부호화 과정을 거쳐 "LLLLDDDDSSS"와 "DDLLLLSSDDS"로 변경할 수 있다. 이후, 유출 암호 정보 인코딩 모듈(113)은 매핑 및 그룹화 과정을 거쳐 각각의 암호를 "L4D4S3"와 "D2L4S2D2S1"로 인코딩할 수 있다.Preferably, the leaked encryption information encoding module 113 may encode a number by changing it to D, a letter to L, and a special character to S. The leaked password information encoding module 113, for example, when acquiring the password "test1234!@#" and the password "12test!@34#" as the leaked password information, goes through the above-described encoding process, respectively, to "LLLLDDDDSSS" and "DDLLLLSSDDS". Thereafter, the leaked encryption information encoding module 113 may encode each password into “L 4 D 4 S 3 ” and “D 2 L 4 S 2 D 2 S 1 ” through mapping and grouping processes.

상술한 예시를 정리하면 유출 암호 정보 인코딩 모듈(113)은 n자리의 문자열로 구성되는 임의의 암호 P에 대하여 하기 수학식 1을 이용하여 부호화 과정을 통해 인코딩 할 수 있다.Summarizing the above-described example, the leaked encryption information encoding module 113 may encode an arbitrary password P consisting of an n-digit string through an encoding process using Equation 1 below.

Figure 112021140703327-pat00004
Figure 112021140703327-pat00004

(여기서, P: n자리 문자열로 구성된 임의의 암호, L: 연속된 글자 개수, D: 연속된 숫자 개수, S: 연속된 특수문자 개수)(here, P: random password consisting of n-character strings, L: number of consecutive characters, D: number of consecutive numbers, S: number of consecutive special characters)

인코딩 암호 정보 처리 모듈(115)은 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬하며, 기 설정된 등장 확률 값을 이용하여 인코딩 암호 정보의 필터링을 수행하여 필터링 암호 정보를 획득하도록 형성된다. 인코딩 암호 정보는 기존의 암호와 다르게 3가지 부호를 이용하여 표현되기 때문에 최초 암호와 달리 각각의 인코딩 암호 정보가 높은 빈도수를 가질 수 있다.The encoding encryption information processing module 115 is configured to sort the encoded encryption information using an appearance frequency, and perform filtering of the encoded encryption information using a preset appearance probability value to obtain filtering encryption information. Since the encoded encryption information is expressed using three codes differently from the existing encryption, each encoded encryption information may have a high frequency, unlike the initial encryption.

일 예로, "test12"와 "dogs68"은 최초 상태만 놓고 본다면 서로 다른 암호 정보로 판단되며, 각각의 빈도수는 1,1로 나타나지만, 두 암호에 상술한 인코딩 처리를 수행하면 두 암호 모두"L4D2"로 표현되고 빈도수는 2로 나타날 수 있다. 인코딩 암호 정보 처리 모듈(115)은 상술한 예시와 같이 인코딩 암호 정보들을 정리하여 인코딩 암호 정보 별 등장 빈도수를 획득하고, 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬할 수 있다. 여기서 정렬은 일 예로 내림차순 정렬일 수 있다.As an example, "test12" and "dogs68" are judged to be different cipher information based only on the initial state, and the frequency of each appears as 1, 1, but when the above-described encoding processing is performed on both ciphers, both ciphers are "L 4 D 2 " and the frequency may be represented by 2. The encoding encryption information processing module 115 may arrange the encoding encryption information as in the above-described example to obtain a frequency of occurrence for each encoding encryption information, and may sort the encoded encryption information using the frequency of occurrence. Here, the sorting may be, for example, descending sorting.

인코딩 암호 정보의 정렬이 종료되면, 인코딩 암호 정보 처리 모듈(115)은 정렬한 인코딩 암호 정보에 대하여 기 설정한 등장 확률 값을 이용하여 필터링을 수행할 수 있다.When the sorting of the encoded cryptographic information is finished, the encoded cryptographic information processing module 115 may perform filtering on the sorted encoded cryptographic information by using a preset appearance probability value.

매우 긴 암호이거나 희소한 형태의 극단적인 패턴의 경우에는 일반적으로 사용자들이 잘 사용하지 않는 암호이기 때문에 등장 빈도가 매우 낮게 나타날 수 있다. 등장 빈도가 매우 낮다는 것은 사용자들이 해당 길이 또는 패턴을 거의 사용하지 않는다는 것을 반증한다.In the case of a very long password or an extreme pattern of a sparse form, the frequency of appearance may be very low because it is a password that is not generally used by users. The very low frequency of appearance indicates that users rarely use that length or pattern.

일 예로 유출된 암호 중 "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&"와 같은 암호가 존재한다고 가정하면, 해당 암호는 51개의 문자열을 가지며, L1D3L1D1S1L3D4L3S6L3S2L3S1L2S1L1D2S2의 인코딩 암호 정보를 가진다. 사용자에게 무제한 길이의 암호 입력 설정이 제시되는 경우이더라도 사용자가 위의 암호와 같이 "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&" 의미를 알 수 없는 일정 길이 이상의 암호를 설정할 확률은 낮다. 이는 사용자들은 일반적으로 암기하고 타이핑하기 편리한 패턴 및 길이의 암호를 설정하기 때문이다. For example, assuming that a password such as "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&" exists among the leaked passwords, the password has 51 strings, L 1 D 3 L 1 It has encoding information of D 1 S 1 L 3 D 4 L 3 S 6 L 3 S 2 L 3 S 1 L 2 S 1 L 1 D 2 S 2 . Even if the user is presented with the setting to enter a password of unlimited length, the user cannot enter a password longer than a certain length of unknown meaning like "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&" like the password above. The probability of setting is low. This is because users usually set up passwords of a pattern and length that are convenient to memorize and type.

따라서, 상술한 암호와 동일한 길이 및 패턴을 가지는 인코딩 암호 정보의 빈도수는 극히 낮게 나타나며, 이는 다시 말해 상술한 바와 같이 사용자들이 일반적으로 사용하지 않는 것을 의미 하기 때문에 인코딩 암호 정보 처리 모듈(115)은 해당 형태 또는 패턴들은 기 설정한 등장 확률 값을 이용하여 필터링 될 수 있다.Therefore, the frequency of encoded encryption information having the same length and pattern as the above-described encryption appears extremely low, which means that users generally do not use it as described above, so that the encoding encryption information processing module 115 is The shapes or patterns may be filtered using a preset appearance probability value.

인코딩 암호 정보 처리 모듈(115)에서 생성되는 필터링 암호 정보는, 이에 언급한 기 설정된 등장 확률 값 이상을 가지는 인코딩 암호 정보들을 선정하여 인코딩 암호 사전으로 표현되는 데이터 셋으로 저장할 수 있다. 여기서 사전은 분석 대상 기기와 환경, 사용자의 특성에 따라 여러 형태의 데이터베이스가 사용될 수 있다. 본 발명에서는 텍스트파일 또는 데이터베이스 등과 같은 다양한 형태의 암호 사전을 이용할 수 있다.The filtering encryption information generated by the encoding encryption information processing module 115 may select encoding encryption information having a predetermined appearance probability value or more mentioned above and store it as a data set expressed as an encoding encryption dictionary. In the dictionary, various types of databases may be used depending on the analysis target device, environment, and user characteristics. In the present invention, various types of encryption dictionaries such as text files or databases can be used.

한편, 인코딩 암호 처리 모듈(115)은 필터링 한 결과 선정되지 않은 인코딩 암호 정보들을 필터링 결과 저장 모듈(도면 미도시)에 일시적으로 저장할 수 있다. 여기서 언급하는 일시적의 의미는 현재 해독하고자 하는 암호의 해독 절차가 종료될 때 까지를 의미한다. 이는 후술되는 1차 해독을 통해 암호 해독이 완료되지 않는 경우 2차 해독 시 해당 인코딩 암호 정보들을 암호 해독을 위해 사용하기 위함이다.Meanwhile, the encoding encryption processing module 115 may temporarily store encoded encryption information not selected as a result of filtering in a filtering result storage module (not shown). The temporary meaning referred to here means until the decryption procedure of the current password to be decrypted is finished. This is to use the corresponding encoding encryption information for decryption in the second decryption when decryption is not completed through the first decryption, which will be described later.

상술한 유출 암호 정보 저장 모듈(111), 유출 암호 정보 인코딩 모듈(113) 및 인코딩 암호 정보 처리 모듈(115)을 이용하여 암호 정보 패턴화 처리부(11)에서 유출된 암호들(4)을 획득하고 처리하여 필터링 암호 정보를 획득하면, 본 발명의 암호 패턴 확장부(13)는 인코딩 암호 정보 및 필터링 암호 정보를 이용하여 필터링 암호 정보의 세부 확률을 계산하고, 필터링 암호 정보에 대한 배타적 패턴을 획득하여 확장된 암호 패턴을 획득할 수 있다. 이를 위해 본 발명의 암호 패턴 확장부(13)는 도 3에 도시된 바와 같이 암호 패턴 세부 확률 획득 모듈(131) 및 배타적 패턴 추출 모듈(133)을 포함할 수 있다.Using the leaked cryptographic information storage module 111, the leaked cryptographic information encoding module 113, and the encoded cryptographic information processing module 115 described above to obtain the leaked passwords 4 from the cryptographic information patterning processing unit 11, When the filtering encryption information is obtained by processing, the encryption pattern extension unit 13 of the present invention calculates a detailed probability of the filtering encryption information using the encoding encryption information and the filtering encryption information, and obtains an exclusive pattern for the filtering encryption information, An extended encryption pattern can be obtained. To this end, the encryption pattern extension unit 13 of the present invention may include an encryption pattern detailed probability acquisition module 131 and an exclusive pattern extraction module 133 as shown in FIG. 3 .

암호 패턴 세부 확률 획득 모듈(131)은 필터링 암호 정보를 획득하고, 세부 확률을 계산하여 암호 패턴 세부 확률 정보를 획득하도록 형성된다. 암호 패턴 세부 확률은, 암호 문자열에 포함된 두 인접 문자열 사이의 연결 확률을 의미한다. 연결 확률은 두 인접 문자열이 해당 암호를 시작하는 두 문자열인 경우 시작 패턴으로 설정하고, 그 외의 경우에는 연속 패턴으로 분류하여 획득될 수 있다. 모든 문자열에 대해서 시작 패턴 연결 확률은 각 암호의 앞 두 문자열에 대한 빈도수로 계산되며 연속 패턴 연결 확률은 맨 앞 두 문자열을 제외한 나머지 인접 문자열 간의 빈도수로 계산될 수 있다. The encryption pattern detailed probability obtaining module 131 is configured to obtain the filtering encryption information, calculate the detailed probability, and obtain the encryption pattern detailed probability information. The encryption pattern detail probability means a connection probability between two adjacent strings included in the encryption string. The concatenation probability may be obtained by setting the starting pattern as a starting pattern when two adjacent strings are two strings starting the corresponding encryption, and classifying it as a continuous pattern in other cases. For all strings, the starting pattern concatenation probability is calculated as the frequency for the first two strings of each password, and the continuous pattern concatenation probability can be calculated as the frequency between the remaining adjacent strings except for the first two strings.

본 발명의 일 실시예에서 암호 패턴 세부 확률 획득 모듈(131)은 암호 패턴 세부 확률 정보를 확률 테이블 형태로 표현되도록 획득할 수도 있으며, 도 9에는 이러한 두 문자열 패턴인 시작 패턴과 연속 패턴에 대한 확률 표를 생성하는 코드의 일 예시가 도시되고 있다.In an embodiment of the present invention, the cipher pattern detailed probability acquisition module 131 may acquire cipher pattern detailed probability information to be expressed in the form of a probability table. An example of code for generating a table is shown.

암호 패턴 세부 확률 획득 모듈(131)에서 암호 패턴 세부 확률 정보를 획득하면, 배타적 패턴 추출 모듈(133)은 인코딩 암호 정보 및 특정 암호의 길이를 이용하여 필터링 암호 정보에 포함되지 않은 패턴인 배타적 패턴을 추출하도록 형성된다. 배타적 패턴은 상술한 바와 같이 유출된 암호들(4)을 이용하여 획득된 암호 패턴이 아닌 나머지 패턴일 수 있다. When the cryptographic pattern detailed probability acquisition module 131 obtains the cryptographic pattern detailed probability information, the exclusive pattern extraction module 133 uses the encoding cryptographic information and the length of a specific password to extract the exclusive pattern, which is a pattern not included in the filtering cryptographic information. formed to extract. The exclusive pattern may be a remaining pattern other than the encryption pattern obtained using the leaked passwords 4 as described above.

암호 패턴 세부 확률 획득 모듈(131)에서 암호 패턴 세부 확률 정보가 획득되어 확률 테이블 형태로 필터링 암호 정보가 정렬되고, 필터링 암호 정보를 이용하여 후술되는 암호 해독을 수행하였지만, 암호를 해독하지 못한 경우, 다른 패턴들을 이용하여 암호 해독을 수행하여야 한다. 여기서 다른 패턴들은 필터링 암호 정보와는 다른 패턴들이며, 암호 해독을 위해서는 가능한 모든 암호 패턴을 이용하여야 한다.When the encryption pattern detailed probability information is obtained from the encryption pattern detailed probability acquisition module 131, the filtering encryption information is arranged in the form of a probability table, and decryption to be described later is performed using the filtering encryption information, but the password cannot be decrypted, Decryption must be performed using different patterns. Here, the other patterns are different from the filtering encryption information, and all possible encryption patterns must be used for decryption.

상술한 일 예를 이용하여 사용자가 패스워드로 입력할 수 있는 모든 경우의 수가 숫자가 10가지고, 영어 알파벳 대소문자가 52가지이며, 일반적으로 사용될 수 있는 특수문자가 12가지로 설정되어 총 74가지의 입력 가능한 문자가 존재한다면, 임의의 n자리 수의 사용자 패스워드를 전수 조사로 찾아내기 위해서는 평균적으로

Figure 112021140703327-pat00005
번의 암호 해독 시도를 필요로 한다. 앞서 획득된 필터링 암호 정보로 표현되는 암호 패턴들은 일반적으로 이 모든 암호의 정의역을 포함하지 못한다. 따라서, 필터링 암호 정보로 표현되는 암호 패턴을 이용하여 암호 해독을 수행하지 못한 경우, 전수 조사를 이용하여 암호 해독을 수행하여야 한다.Using the above example, the number of all cases that the user can input as a password has 10 numbers, 52 types of upper and lower case letters of the English alphabet, and 12 types of special characters that can be generally used, so that a total of 74 types of characters are set. If there are inputable characters, in order to find a random n-digit user password through a full search, the average
Figure 112021140703327-pat00005
Requires one decryption attempt. The encryption patterns expressed by the previously obtained filtering encryption information generally do not include the domain of all these encryptions. Therefore, when decryption is not performed using the encryption pattern expressed by the filtering encryption information, decryption must be performed using a full investigation.

이를 위해 배타적 패턴 추출 모듈(133)은 획득 가능한 모든 암호 패턴들 중 필터링 암호 정보로 표현되는 암호 패턴들을 제외한 암호 패턴을 배타적 패턴으로 정의하고 배타적 패턴을 추출할 수 있다. 배타적 패턴 추출 모듈(133)에서 추출되는 배타적 패턴은 인코딩 암호 정보 및 특정 암호의 길이를 이용하여 추출될 수 있으며 도 10에는 이러한 배타적 패턴을 획득하는 코드의 일 예시가 도시되고 있다.To this end, the exclusive pattern extraction module 133 may define an encryption pattern excluding encryption patterns expressed by filtering encryption information among all the obtainable encryption patterns as an exclusive pattern and extract the exclusive pattern. The exclusive pattern extracted by the exclusive pattern extraction module 133 may be extracted using the encoding encryption information and the length of a specific password, and FIG. 10 shows an example of a code for obtaining such an exclusive pattern.

암호 패턴 확장부(13)를 이용하여 필터링 암호 정보에 대한 세부 확률 정보를 획득하거나 배타적 패턴을 추출하게 되면, 본 발명의 일 실시예에 따른 암호 해독 수행부(15)는 해당 정보를 이용하여 해독 대상 암호(3)를 해독하기 위한 암호 해독을 수행한다.If detailed probability information on filtering encryption information is obtained or an exclusive pattern is extracted using the encryption pattern extension unit 13, the decryption performing unit 15 according to an embodiment of the present invention decrypts the information using the corresponding information. Decryption is performed to decrypt the target encryption (3).

암호 해독 수행부(15)는 필터링 암호 정보 또는 확장된 암호 패턴을 이용하여 분산 클러스터(2)에 포함되는 복수의 컴퓨터를 이용하여 해독 대상 암호(3)의 해독을 수행하고 그 결과인 해독 결과를 출력하도록 형성된다. 여기서 확장된 암호 패턴은 상술한 배타적 패턴일 수 있다. 암호 해독 수행부(15)는 해독 결과를 출력하기 위해 도 4에 도시된 바와 같이 해독 패턴 우선순위 결정 모듈(151), 해독 정보 획득 모듈(153) 및 해독 결과 출력 모듈(155)을 포함하도록 형성될 수 있다.The decryption performing unit 15 performs decryption of the decryption target encryption 3 using a plurality of computers included in the distributed cluster 2 using the filtering encryption information or the extended encryption pattern, and returns the result of decryption. formed to output. Here, the extended encryption pattern may be the above-described exclusive pattern. The decryption performing unit 15 is configured to include a decryption pattern priority determining module 151, a decryption information obtaining module 153, and a decryption result output module 155 as shown in FIG. 4 to output a decryption result can be

해독 패턴 우선 순위 결정 모듈(151)은 필터링 암호 정보 및 배타적 패턴으로부터 각각 암호의 해독을 위한 우선 순위를 결정하도록 형성된다. 해독 패턴 우선 순위 결정 모듈(151)은 필터링 암호 정보의 우선 순위 또는 배타적 패턴으로부터 암호 해독을 위한 우선 순위를 결정하도록 형성될 수 있으며, 이를 위해 상술한 세부 확률을 이용할 수 있다. 해독 패턴 우선 순위 결정 모듈(151)은 세부 확률이 높은 순서대로 필터링 암호 정보의 우선 순위 또는 배타적 패턴의 우선 순위를 결정한다. 일 예로, 해독 패턴 우선 순위 결정 모듈(151)은 필터링 암호 정보의 암호 패턴에 포함되는 인접 문자열들 사이의 확률 곱을 획득하고, 획득한 확률 곱을 이용하여 필터링 암호 정보의 우선 순위를 결정할 수 있으며, 이 우선 순위는 후술되는 1차 해독 정보를 획득하는 순서로 사용될 수 있다.The decryption pattern prioritization module 151 is configured to determine a priority for decryption of the encryption from the filtering encryption information and the exclusive pattern, respectively. The decryption pattern priority determining module 151 may be configured to determine a priority for decryption from a priority or an exclusive pattern of filtering encryption information, and for this purpose, the detailed probability may be used. The decryption pattern prioritization module 151 determines the priority of the filtering encryption information or the priority of the exclusive pattern in the order of the highest detail probability. As an example, the decryption pattern prioritization module 151 may obtain a product of probability between adjacent strings included in the encryption pattern of the filtering encryption information, and determine the priority of the filtering encryption information by using the obtained probability product, The priority may be used in the order of obtaining primary decryption information, which will be described later.

또, 다른 예로 해독 패턴 우선 순위 결정 모듈(151)은 배타적 패턴에 포함되는 인접 문자열들 사이의 확률 곱을 획득하고, 획득한 확률 곱을 배타적 패턴의 우선 순위를 결정하기 위해 사용할 수 있으며, 여기서 결정된 배타적 패턴의 우선 순위는 후술되는 2차 해독 정보를 획득하는 순서로 사용될 수 있다.As another example, the decoding pattern prioritization module 151 may obtain a probability product between adjacent strings included in the exclusive pattern, and use the obtained probability product to determine the priority of the exclusive pattern, wherein the determined exclusive pattern The priority of can be used in the order of obtaining secondary decryption information, which will be described later.

또, 배타적 패턴에 포함되는 와일드 카드로 표현되는 패턴 내에서 입력 가능한 경우의 수 D, L 및 S를 아우르는 문자열을 포함하는 배타적 패턴의 경우, 각 확률를 덧셈하여 배타적 패턴 확률로 도출될 수 있다.In addition, in the case of an exclusive pattern including a character string encompassing the number of input possible cases D, L, and S within the pattern represented by the wild card included in the exclusive pattern, the exclusive pattern probability may be derived by adding the respective probabilities.

일 예로 와일드 카드는 *로 표시되며, 해당 위치에는 D, L 및 S 중 어느 문자열이건 포함될 수 있다. 예를 들어 DD*로 표현되는 배타적 패턴은, 결국 DDD, DDL 또는 DDS 중 어느 하나로 표현될 수 있기 때문에 세 가지 확률의 합으로 표현될 수 있으며, 여기서 각각의 배타적 패턴의 확률은 상술한 바와 같이 시작 패턴 연결 확률과 연속 패턴 연결 확률의 곱으로 표현될 수 있다.For example, a wild card is indicated by *, and any character string among D, L, and S may be included in the corresponding position. For example, an exclusive pattern expressed as DD* can be expressed as the sum of three probabilities, since it can eventually be expressed as either DDD, DDL or DDS, where the probability of each exclusive pattern starts as described above. It can be expressed as the product of the pattern connection probability and the continuous pattern connection probability.

우선 순위가 결정되면, 본 발명의 일 실시예에 따른 해독 정보 획득 모듈(153)은 1차 해독 또는 2차 해독을 분산 클러스터(2)에서 수행하도록 하고, 1차 해독 정보 또는 2차 해독 정보를 획득할 수 있다.When the priority is determined, the decryption information obtaining module 153 according to an embodiment of the present invention causes the distributed cluster 2 to perform the first decryption or the second decryption, and obtains the first decryption information or the second decryption information. can be obtained

한편, 본 발명의 일 실시예에 따른 해독 패턴 우선 순위 결정 모듈(151)은 상술한 필터링 결과 저장 모듈(도면 미도시)에 저장된 누락된 암호 정보를 획득하여 배타적 패턴에 포함시키고, 해당 암호 정보의 우선 순위를 더 결정할 수 있다. 이를 통해 본 발명의 배타적 패턴에는 필터링 암호 정보를 제외한 발생 가능한 모든 암호 패턴이 포함될 수 있다.On the other hand, the decryption pattern priority determination module 151 according to an embodiment of the present invention acquires the missing password information stored in the above-described filtering result storage module (not shown) and includes it in the exclusive pattern, and You can prioritize further. Through this, the exclusive pattern of the present invention may include all possible encryption patterns except for filtering encryption information.

해독 정보 획득 모듈(153)은 필터링 암호 정보를 획득하면, 획득한 필터링 암호 정보를 분산 클러스터(2)의 복수의 컴퓨터로 분배하여 1차 해독 정보를 획득할 수 있다. 여기서, 필터링 암호 정보는 상술한 해독 패턴 우선 순위 결정 모듈(151)에서 결정된 우선 순위를 가지는 필터링 암호 정보 일 수 있고, 분배 순서 역시 상술한 우선 순위를 기준으로 이루어질 수 있다.When the decryption information obtaining module 153 obtains the filtering encryption information, it may distribute the obtained filtering encryption information to a plurality of computers of the distributed cluster 2 to obtain the primary decryption information. Here, the filtering encryption information may be filtering encryption information having a priority determined by the above-described decoding pattern priority determination module 151, and the distribution order may also be made based on the above-described priority.

해독 정보 획득 모듈(153)은 배타적 패턴을 획득하면, 획득한 배타적 정보를 분산 클러스터(2)의 복수의 컴퓨터로 분배하여 2차 해독 정보를 획득할 수 있다. 여기서 배타적 패턴은 상술한 해독 패턴 우선 순위 결정 모듈(151)에서 결정된 우선 순위를 가지는 필터링 암호 정보 일 수 있으며, 분배 순서 역시 상술한 우선 순위를 기준으로 이루어질 수 있다.When the decryption information obtaining module 153 obtains the exclusive pattern, the obtained exclusive information may be distributed to a plurality of computers of the distributed cluster 2 to obtain the secondary decryption information. Here, the exclusive pattern may be filtering encryption information having a priority determined by the above-described decryption pattern priority determination module 151, and the distribution order may also be made based on the above-described priority.

해독 결과 출력 모듈(155)은 해독 정보 획득 모듈(153)에서 획득한 해독 결과를 출력하도록 형성된다. 해독 결과 출력 모듈(155)은 1차 해독 정보로부터 해독 대상 암호(3)에 대한 해독이 성공한 것을 획득하면, 해당 암호에 대한 추가적인 패턴인 배타적 패턴을 생성하지 않도록 해독 과정 정지 신호를 생성하여 출력할 수 있다. 해독 과정 정지 신호가 출력되면, 상술한 배타적 패턴 추출 모듈(133)은 배타적 패턴 추출을 수행하지 않으며, 이를 통해 해독 완료 후 무의미한 리소스를 소모하지 않도록 할 수 있다.The decryption result output module 155 is configured to output the decryption result obtained by the decryption information obtaining module 153 . When the decryption result output module 155 obtains that the decryption of the decryption target password 3 is successful from the primary decryption information, it generates and outputs a decryption process stop signal so as not to generate an exclusive pattern that is an additional pattern for the corresponding encryption can When the decryption process stop signal is output, the above-described exclusive pattern extraction module 133 does not perform exclusive pattern extraction, so that meaningless resources are not consumed after decryption is completed.

또, 해독에 사용되지 않은 필터링 암호 정보가 남아 있더라도, 해독 결과 출력 모듈(155)에서 해독 과정 정지 신호를 생성하면, 해독 정보 획득 모듈(153)은 신호를 수신함과 동시에 분산 클러스터(2)에 존재하는 모든 컴퓨터들에게 해독 중지 신호를 전달함으로써 추가적인 무의미한 리소스 소모를 방지할 수도 있다.In addition, even if filtering encryption information not used for decryption remains, if the decryption result output module 155 generates a decryption process stop signal, the decryption information acquisition module 153 is present in the distributed cluster 2 at the same time as receiving the signal It is also possible to prevent additional pointless resource consumption by sending a decryption stop signal to all computers that do it.

한편, 해독 결과 출력 모듈(155)에서 1차 해독 정보로부터 해독 대상 암호(3)에 대한 해독이 실패한 것을 획득하면, 해독 결과 출력 모듈(155)은 해독 과정 정지 신호를 생성하지 않고, 해독 과정 진행 신호를 생성하여 출력할 수 있다. 해독 과정 진행 신호가 출력되면, 상술한 배타적 패턴 추출 모듈(133)은 배타적 패턴 추출을 수행하며, 추출 결과를 이용하여 2차 해독 정보를 획득하도록 할 수 있다. On the other hand, when the decryption result output module 155 obtains that the decryption of the decryption target encryption 3 has failed from the primary decryption information, the decryption result output module 155 does not generate a decryption process stop signal and proceeds with the decryption process A signal can be generated and output. When the decoding process progress signal is output, the above-described exclusive pattern extraction module 133 may perform exclusive pattern extraction and obtain secondary decoding information using the extraction result.

상술한 바와 마찬가지로, 본 발명의 일 실시예의 해독 결과 출력 모듈(155)은 해독이 완료된 이후 무의미한 리소스 소비를 방지하기 위해, 2차 해독 정보로부터 해독 대상 암호(3)에 대한 해독이 성공한 것을 획득하면, 더 이상 분산 클러스터(2)를 이용한 암호 해독이 진행되지 않도록 해독 과정 정지 신호를 생성하여 출력할 수 있다. 해독 과정 정지 신호가 출력되면, 해독 정보 획득 모듈(153)은 신호를 수신함과 동시에 분산 클러스터(2)에 존재하는 모든 컴퓨터들에게 해독 중지 신호를 전달함으로써 추가적인 무의미한 리소스 소모를 방지할 수도 있다.As described above, when the decryption result output module 155 of an embodiment of the present invention obtains that the decryption of the decryption target encryption 3 is successful from the secondary decryption information, in order to prevent meaningless resource consumption after decryption is completed , it is possible to generate and output a decryption process stop signal so that decryption using the distributed cluster 2 does not proceed any more. When the decryption process stop signal is output, the decryption information acquisition module 153 may prevent additional useless resource consumption by transmitting the decryption stop signal to all computers in the distributed cluster 2 at the same time as receiving the signal.

또, 본 발명의 해독 결과 출력 모듈(155)은 1차 해독 정보 또는 2차 해독 정보에 암호 해독 성공 정보가 포함된 경우, 암호 해독 성공 정보를 사용자 단말기 또는 중앙 제어 단말기로 전달하여 해독 대상 암호(3)의 해독 결과를 출력할 수 있다.In addition, the decryption result output module 155 of the present invention transmits the decryption success information to the user terminal or the central control terminal when the decryption success information is included in the first decryption information or the second decryption information to decrypt the decryption target password ( The decoding result of 3) can be output.

한편, 도 5 내지 도 8에는 본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 방법이 도시되고 있다. 도 5는 본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 방법을 나타낸 순서도이고, 도 6은 도 5의 단계 S11을 나타낸 순서도이며, 도 7은 도 5의 단계 S13을 나타낸 순서도이고, 도 8은 도 5의 단계 S15를 나타낸 순서도이다. 이하에서는 설명의 편의상 상술한 도 1 내지 도 4의 시스템을 이용하여 본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 방법을 설명하도록 하지만, 본 발명의 방법은 반드시 해당 시스템에서만 구현되는 것은 아니며, 유사한 동작을 수행할 수 있는 다양한 장치, 시스템 및 단말기 등에서 구현될 수도 있다.Meanwhile, FIGS. 5 to 8 show a distributed cluster decryption method according to an embodiment of the present invention. 5 is a flowchart illustrating a distributed cluster decryption method according to an embodiment of the present invention, FIG. 6 is a flowchart illustrating step S11 of FIG. 5, FIG. 7 is a flowchart illustrating step S13 of FIG. 5, and FIG. It is a flowchart showing step S15 of FIG. 5 . Hereinafter, for convenience of explanation, a distributed cluster decryption method according to an embodiment of the present invention will be described using the system of FIGS. 1 to 4 described above, but the method of the present invention is not necessarily implemented only in the system, and similar It may be implemented in various devices, systems, and terminals capable of performing an operation.

본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 방법(10)은 분산 클러스터와 연결되고, 분산 클러스터에 포함되는 복수의 컴퓨터들을 이용하여 해독 대상 암호를 해독하기 위해 형성된다. 이를 위해 분산 클러스터 암호 해독 방법(10)은 유출된 암호들을 획득하여 처리한 결과를 분산 클러스터의 복수의 컴퓨터에게 전달하여 암호 해독을 수행하도록 할 수 있다.A distributed cluster decryption method 10 according to an embodiment of the present invention is formed to decrypt a decryption target encryption using a plurality of computers connected to the distributed cluster and included in the distributed cluster. To this end, the distributed cluster decryption method 10 may obtain the leaked passwords and transfer the processing results to a plurality of computers in the distributed cluster to perform decryption.

일반적으로 암호 해독의 경우 무수히 많은 경우의 수가 존재한다. 일 예로 사용자가 패스워드로 입력할 수 있는 모든 경우의 수가 숫자가 10가지고, 영어 알파벳 대소문자가 52가지이며, 일반적으로 사용될 수 있는 특수문자가 12가지로 설정되어 총 74가지의 입력 가능한 문자가 존재한다면, 임의의 n자리 수의 사용자 패스워드를 전수 조사로 찾아내기 위해서는 평균적으로

Figure 112021140703327-pat00006
번의 암호 해독 시도를 필요로 하며 이는, 단일 단말기로는 수행하기 어려운 횟수이다. 따라서, 본 발명에서는 분산 클러스터를 이용하여 복수의 단말기를 설정하고, 설정한 복수의 단말기가 암호 해독 시도를 분배하여 수행하도록 함으로써 보다 빠른 암호 해독을 수행하도록 형성된다.In general, in the case of cryptocurrency, there are innumerable cases. For example, the number of all cases that the user can input as a password is 10 numbers, 52 types of uppercase and lowercase letters of the English alphabet, and 12 types of special characters that can be generally used, so that there are a total of 74 inputable characters. If so, to find a random n-digit user password through an exhaustive search, the average
Figure 112021140703327-pat00006
It requires one decryption attempt, which is a number that is difficult to perform with a single terminal. Therefore, in the present invention, a plurality of terminals are set using a distributed cluster, and the set plurality of terminals are configured to perform faster decryption by distributing decryption attempts.

본 발명의 일 실시예에 따른 분산 클러스터 암호 해독 방법(10)은 도 5에 도시된 바와 같이 필터링 암호 정보를 획득하는 단계(S11), 확장된 암호 패턴을 획득하는 단계(S13) 및 해독 결과를 출력하는 단계(S15)를 포함하도록 형성된다.Distributed cluster decryption method 10 according to an embodiment of the present invention, as shown in FIG. 5, obtains filtering encryption information (S11), obtains an extended encryption pattern (S13), and performs the decryption result. It is formed to include the step of outputting (S15).

필터링 암호 정보를 획득하는 단계(S11)는 암호 정보 패턴화 처리부를 이용하여 사전 암호 수집을 수행하고, 수집한 사전 암호들에 대한 패턴을 분석하여 인코딩 암호 정보를 생성하며, 인코딩 암호 정보에 대한 필터링을 수행하여 필터링 암호 정보를 획득하도록 형성된다. 필터링 암호 정보를 획득하는 단계(S11)는 도 5의 유출된 암호들을 사전 암호로 수집을 수행할 수 있으며, 수집한 사전 암호들을 처리하여 필터링 암호 정보를 획득할 수 있으며, 이를 위해 도 6에 도시된 바와 같이 사전 암호를 유출 암호 정보로 저장하는 단계(S111), 인코딩 암호 정보를 생성하는 단계(S113) 및 필터링 암호 정보를 획득하는 단계(S115)를 포함하도록 형성될 수 있다.In the step (S11) of obtaining the filtering encryption information, the dictionary password collection is performed using the encryption information patterning processing unit, the pattern of the collected dictionary passwords is analyzed to generate the encoding encryption information, and the encoding encryption information is filtered It is formed to obtain filtering encryption information by performing. In the step S11 of obtaining the filtering password information, the leaked passwords of FIG. 5 may be collected as a dictionary password, and filtering password information may be obtained by processing the collected dictionary passwords, and for this purpose, it is shown in FIG. As described above, it may be formed to include a step (S111) of storing the dictionary encryption as leaked encryption information, a step of generating encoding encryption information (S113), and a step of obtaining the filtering encryption information (S115).

사전 암호를 유출 암호 정보로 저장하는 단계(S111)는 사전 암호 수집을 수행하고 저장하도록 형성된다. 사전 암호를 유출 암호 정보로 저장하는 단계(S111)는 복수의 사용자가 사용한 실제 암호들 중 유출된 암호들을 사전 암호로 정의하여 수집하고, 수집한 사전 암호를 유출 암호 정보로 저장할 수 있다. 사전 암호를 유출 암호 정보로 저장하는 단계(S111)는 일 예로 사전 암호를 유출 암호 사전으로 표현되는 유출된 암호들을 수집한 데이터 셋으로 저장할 수 있다. 여기서 사전은 분석 대상 기기와 환경, 사용자의 특성에 따라 여러 형태의 데이터베이스가 사용될 수 있으며, 일 예로 RockYou 데이터 셋과 같이 오픈 소스 형태의 암호 사전 역시 존재한다. 본 발명에서는 유출 암호 사전으로부터 암호 패턴을 추출하기 위해 텍스트파일 또는 데이터베이스 등과 같은 다양한 형태의 암호 사전을 이용할 수 있다.The step (S111) of storing the dictionary password as leaked encryption information is configured to perform and store the dictionary password collection. In the step of storing the dictionary password as leaked password information (S111), the leaked passwords among the actual passwords used by a plurality of users are defined and collected as the dictionary password, and the collected dictionary password may be stored as the leaked password information. In the step of storing the dictionary password as leaked password information (S111), for example, the dictionary password may be stored as a data set in which the leaked passwords expressed as the leaked password dictionary are collected. Here, various types of databases may be used for the dictionary according to the analysis target device, environment, and user characteristics. For example, an open-source encryption dictionary such as the RockYou data set also exists. In the present invention, in order to extract an encryption pattern from the leaked encryption dictionary, various types of encryption dictionaries such as text files or databases can be used.

인코딩 암호 정보를 생성하는 단계(S113)는 유출 암호 정보에 대한 패턴 분석을 수행하기 위해 유출 암호 정보에 대한 인코딩을 수행하여 인코딩 암호 정보를 생성하도록 형성된다.The step of generating the encoded encryption information ( S113 ) is configured to generate encoded encryption information by performing encoding on the leaked encryption information in order to perform pattern analysis on the leaked encryption information.

가공되지 않은 암호들을 이용하는 경우 수많은 패턴이 도출될 수 있으며, 도출되는 수많은 패턴들은 대부분 특별한 의미를 가지지 못하는 경우일 수 있기 때문에 본 발명의 인코딩 암호 정보를 생성하는 단계(S113)는 유출 암호 정보로부터 유의미한 패턴을 도출하기 위해 특정 처리인 인코딩을 수행할 수 있다. 일반적으로 암호들은 상술한 바와 같이, 숫자, 글자 및 특수문자 중 적어도 하나를 이용하여 n의 길이로 형성된다. 따라서, 본 발명에서는 숫자는 숫자끼리, 글자는 글자끼리, 특수문자는 특수문자끼리 매핑하여 그룹화하는 부호화 방식을 인코딩으로 수행할 수 있다. When raw encryption is used, numerous patterns can be derived, and since most of the derived patterns may not have a special meaning, the step (S113) of generating the encoded encryption information of the present invention is significant from the leaked encryption information. To derive a pattern, a specific process, encoding, can be performed. In general, as described above, passwords are formed with a length of n using at least one of numbers, letters, and special characters. Accordingly, in the present invention, an encoding method in which numbers are grouped by mapping numbers to numbers, letters to letters, and special characters to special characters can be performed as encoding.

바람직하게는 인코딩 암호 정보를 생성하는 단계(S113)는 숫자는 D로, 글자는 L로, 특수문자는 S로 변경하여 부호화 할 수 있다. 인코딩 암호 정보를 생성하는 단계(S113)는 일 예로 "test1234!@#"라는 암호와 "12test!@34#"라는 암호를 유출 암호 정보로 획득하는 경우, 각각 상술한 부호화 과정을 거쳐 "LLLLDDDDSSS"와 "DDLLLLSSDDS"로 변경할 수 있다. 이후, 인코딩 암호 정보를 생성하는 단계(S113)는 매핑 및 그룹화 과정을 거쳐 각각의 암호를 "L4D4S3"와 "D2L4S2D2S1"로 인코딩할 수 있다.Preferably, in the step of generating the encoding encryption information (S113), a number can be changed to D, a letter to L, and a special character to S to be encoded. The step (S113) of generating the encoding encryption information is, for example, when the password "test1234!@#" and the password "12test!@34#" are obtained as leaked encryption information, "LLLLDDDDSSS" through the above-described encoding process, respectively. and "DDLLLLSSDDS". Thereafter, in the step of generating the encoding encryption information ( S113 ), each encryption may be encoded into “L 4 D 4 S 3 ” and “D 2 L 4 S 2 D 2 S 1 ” through a mapping and grouping process.

상술한 예시를 정리하면 인코딩 암호 정보를 생성하는 단계(S113)는 n자리의 문자열로 구성되는 임의의 암호 P에 대하여 하기 수학식 2를 이용하여 부호화 과정을 통해 인코딩 할 수 있다.Summarizing the above-described example, the step of generating the encoding encryption information ( S113 ) may encode an arbitrary encryption P consisting of an n-digit string through an encoding process using Equation 2 below.

Figure 112021140703327-pat00007
Figure 112021140703327-pat00007

(여기서, P: n자리 문자열로 구성된 임의의 암호, L: 연속된 글자 개수, D: 연속된 숫자 개수, S: 연속된 특수문자 개수)(here, P: random password consisting of n-character strings, L: number of consecutive characters, D: number of consecutive numbers, S: number of consecutive special characters)

필터링 암호 정보를 획득하는 단계(S115)는 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬하며, 기 설정된 등장 확률 값을 이용하여 인코딩 암호 정보의 필터링을 수행하여 필터링 암호 정보를 획득하도록 형성된다. 인코딩 암호 정보는 기존의 암호와 다르게 3가지 부호를 이용하여 표현되기 때문에 최초 암호와 달리 각각의 인코딩 암호 정보가 높은 빈도수를 가질 수 있다.The step of obtaining the filtering encryption information (S115) is formed to obtain the filtering encryption information by arranging the encoded encryption information using the appearance frequency, and performing filtering of the encoding encryption information using a preset appearance probability value. Since the encoded encryption information is expressed using three codes differently from the existing encryption, each encoded encryption information may have a high frequency, unlike the initial encryption.

일 예로, "test12"와 "dogs68"은 최초 상태만 놓고 본다면 서로 다른 암호 정보로 판단되며, 각각의 빈도수는 1,1로 나타나지만, 두 암호에 상술한 인코딩 처리를 수행하면 두 암호 모두"L4D2"로 표현되고 빈도수는 2로 나타날 수 있다. 필터링 암호 정보를 획득하는 단계(S115)는 상술한 예시와 같이 인코딩 암호 정보들을 정리하여 인코딩 암호 정보 별 등장 빈도수를 획득하고, 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬할 수 있다. 여기서 정렬은 일 예로 내림차순 정렬일 수 있다.As an example, "test12" and "dogs68" are judged to be different cipher information based only on the initial state, and the frequency of each appears as 1, 1, but when the above-described encoding processing is performed on both ciphers, both ciphers are "L 4 D 2 " and the frequency may be represented by 2. In the step of obtaining the filtering encryption information (S115), as in the above-described example, the encoding encryption information is arranged to obtain the appearance frequency for each encoding encryption information, and the encoding encryption information may be sorted using the appearance frequency. Here, the sorting may be, for example, descending sorting.

인코딩 암호 정보의 정렬이 종료되면, 필터링 암호 정보를 획득하는 단계(S115)는 정렬한 인코딩 암호 정보에 대하여 기 설정한 등장 확률 값을 이용하여 필터링을 수행할 수 있다.When the sorting of the encoded cryptographic information is finished, the step of obtaining the filtering cryptographic information ( S115 ) may perform filtering on the sorted encoded cryptographic information by using a preset appearance probability value.

매우 긴 암호이거나 희소한 형태의 극단적인 패턴의 경우에는 일반적으로 사용자들이 잘 사용하지 않는 암호이기 때문에 등장 빈도가 매우 낮게 나타날 수 있다. 등장 빈도가 매우 낮다는 것은 사용자들이 해당 길이 또는 패턴을 거의 사용하지 않는다는 것을 반증한다.In the case of a very long password or an extreme pattern of a sparse form, the frequency of appearance may be very low because it is a password that is not generally used by users. The very low frequency of appearance indicates that users rarely use that length or pattern.

일 예로 유출된 암호 중 "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&"와 같은 암호가 존재한다고 가정하면, 해당 암호는 51개의 문자열을 가지며, L1D3L1D1S1L3D4L3S6L3S2L3S1L2S1L1D2S2의 인코딩 암호 정보를 가진다. 사용자에게 무제한 길이의 암호 입력 설정이 제시되는 경우이더라도 사용자가 위의 암호와 같이 "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&" 의미를 알 수 없는 일정 길이 이상의 암호를 설정할 확률은 낮다. 이는 사용자들은 일반적으로 암기하고 타이핑하기 편리한 패턴 및 길이의 암호를 설정하기 때문이다. For example, assuming that a password such as "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&" exists among the leaked passwords, the password has 51 strings, L 1 D 3 L 1 It has encoding information of D 1 S 1 L 3 D 4 L 3 S 6 L 3 S 2 L 3 S 1 L 2 S 1 L 1 D 2 S 2 . Even if the user is presented with the setting to enter a password of unlimited length, the user cannot enter a password longer than a certain length of unknown meaning like "xO75F2^jTK0432QBnt!^^%*&Spq@$vJG(Ez)w25$&" like the password above. The probability of setting is low. This is because users usually set up passwords of a pattern and length that are convenient to memorize and type.

따라서, 상술한 암호와 동일한 길이 및 패턴을 가지는 인코딩 암호 정보의 빈도수는 극히 낮게 나타나며, 이는 다시 말해 상술한 바와 같이 사용자들이 일반적으로 사용하지 않는 것을 의미 하기 때문에 필터링 암호 정보를 획득하는 단계(S115)는 해당 형태 또는 패턴들은 기 설정한 등장 확률 값을 이용하여 필터링 될 수 있다.Therefore, the frequency of encoding encryption information having the same length and pattern as the above-described encryption appears extremely low, which means that users generally do not use it as described above, so the step of obtaining filtering encryption information (S115) The corresponding shapes or patterns may be filtered using a preset appearance probability value.

필터링 암호 정보를 획득하는 단계(S115)에서 생성되는 필터링 암호 정보는, 이에 언급한 기 설정된 등장 확률 값 이상을 가지는 인코딩 암호 정보들을 선정하여 인코딩 암호 사전으로 표현되는 데이터 셋으로 저장할 수 있다. 여기서 사전은 분석 대상 기기와 환경, 사용자의 특성에 따라 여러 형태의 데이터베이스가 사용될 수 있다. 본 발명에서는 텍스트파일 또는 데이터베이스 등과 같은 다양한 형태의 암호 사전을 이용할 수 있다.The filtering encryption information generated in the step (S115) of obtaining the filtering encryption information may be stored as a data set expressed as an encoding encryption dictionary by selecting encoding encryption information having a predetermined appearance probability value or more mentioned above. In the dictionary, various types of databases may be used depending on the analysis target device, environment, and user characteristics. In the present invention, various types of encryption dictionaries such as text files or databases can be used.

한편, 필터링 암호 정보를 획득하는 단계(S115)는 필터링 한 결과 선정되지 않은 인코딩 암호 정보들을 필터링 결과로 저장하는 단계(도면 미도시)를 통해 일시적으로 저장할 수 있다. 여기서 언급하는 일시적의 의미는 현재 해독하고자 하는 암호의 해독 절차가 종료될 때 까지를 의미한다. 이는 후술되는 1차 해독을 통해 암호 해독이 완료되지 않는 경우 2차 해독 시 해당 인코딩 암호 정보들을 암호 해독을 위해 사용하기 위함이다.On the other hand, the step of obtaining the filtering encryption information (S115) may be temporarily stored through the step of storing the encoding encryption information not selected as a filtering result (not shown) as a filtering result. The temporary meaning referred to here means until the decryption procedure of the current password to be decrypted is finished. This is to use the corresponding encoding encryption information for decryption in the second decryption when decryption is not completed through the first decryption, which will be described later.

상술한 사전 암호를 유출 암호 정보로 저장하는 단계(S111), 인코딩 암호 정보를 생성하는 단계(S113) 및 필터링 암호 정보를 획득하는 단계(S115)를 이용하여 필터링 암호 정보를 획득하는 단계(S11)에서 유출된 암호들을 획득하고 처리하여 필터링 암호 정보를 획득하면, 본 발명의 확장된 암호 패턴을 획득하는 단계(S13)는 암호 패턴 확장부를 통해 인코딩 암호 정보 및 필터링 암호 정보를 이용하여 필터링 암호 정보의 세부 확률을 계산하고, 필터링 암호 정보에 대한 배타적 패턴을 획득하여 확장된 암호 패턴을 획득할 수 있다. 이를 위해 본 발명의 확장된 암호 패턴을 획득하는 단계(S13)는 도 7에 도시된 바와 같이 암호 패턴 세부 확률 정보를 획득하는 단계(S131) 및 배타적 패턴을 추출하는 단계(S133)를 포함할 수 있다.Storing the above-mentioned dictionary password as leaked encryption information (S111), generating the encoding encryption information (S113), and obtaining the filtering encryption information using the step (S115) of obtaining the filtering encryption information (S11) When the filtering encryption information is obtained by acquiring and processing the leaked passwords, the step of obtaining an extended encryption pattern of the present invention (S13) is the filtering encryption information using the encoding encryption information and the filtering encryption information through the encryption pattern extension unit. An extended encryption pattern can be obtained by calculating a detailed probability and obtaining an exclusive pattern for filtering encryption information. To this end, the step of obtaining the extended encryption pattern of the present invention (S13) may include the step of obtaining the encryption pattern detailed probability information (S131) and the step of extracting the exclusive pattern (S133) as shown in FIG. have.

암호 패턴 세부 확률 정보를 획득하는 단계(S131)는 필터링 암호 정보를 획득하고, 세부 확률을 계산하여 암호 패턴 세부 확률 정보를 획득하도록 형성된다. 암호 패턴 세부 확률은, 암호 문자열에 포함된 두 인접 문자열 사이의 연결 확률을 의미한다. 연결 확률은 두 인접 문자열이 해당 암호를 시작하는 두 문자열인 경우 시작 패턴으로 설정하고, 그 외의 경우에는 연속 패턴으로 분류하여 획득될 수 있다. 모든 문자열에 대해서 시작 패턴 연결 확률은 각 암호의 앞 두 문자열에 대한 빈도수로 계산되며 연속 패턴 연결 확률은 맨 앞 두 문자열을 제외한 나머지 인접 문자열 간의 빈도수로 계산될 수 있다. The step of obtaining the cipher pattern detailed probability information (S131) is configured to obtain the filtering cipher information, calculate the detailed probability, and obtain the cipher pattern detailed probability information. The encryption pattern detail probability means a connection probability between two adjacent strings included in the encryption string. The concatenation probability may be obtained by setting the starting pattern as a starting pattern when two adjacent strings are two strings starting the corresponding encryption, and classifying it as a continuous pattern in other cases. For all strings, the starting pattern concatenation probability is calculated as the frequency for the first two strings of each password, and the continuous pattern concatenation probability can be calculated as the frequency between the remaining adjacent strings except for the first two strings.

본 발명의 일 실시예에서 암호 패턴 세부 확률 정보를 획득하는 단계(S131)는 암호 패턴 세부 확률 정보를 확률 테이블 형태로 표현되도록 획득할 수도 있으며, 도 9에는 이러한 두 문자열 패턴인 시작 패턴과 연속 패턴에 대한 확률 표를 생성하는 코드의 일 예시가 도시되고 있다.In an embodiment of the present invention, the step (S131) of obtaining the encryption pattern detailed probability information may also obtain the encryption pattern detailed probability information to be expressed in the form of a probability table. An example of a code for generating a probability table for

암호 패턴 세부 확률 정보를 획득하는 단계(S131)에서 암호 패턴 세부 확률 정보를 획득하면, 배타적 패턴을 추출하는 단계(S133)는 인코딩 암호 정보 및 특정 암호의 길이를 이용하여 필터링 암호 정보에 포함되지 않은 패턴인 배타적 패턴을 추출하도록 형성된다. 배타적 패턴은 상술한 바와 같이 유출된 암호들을 이용하여 획득된 암호 패턴이 아닌 나머지 패턴일 수 있다. If the encryption pattern detailed probability information is obtained in the step (S131) of obtaining the encryption pattern detailed probability information, the step of extracting the exclusive pattern (S133) is not included in the filtering encryption information by using the encoding encryption information and the length of the specific password. It is formed to extract an exclusive pattern that is a pattern. The exclusive pattern may be a remaining pattern other than the password pattern obtained using the leaked passwords as described above.

암호 패턴 세부 확률 정보를 획득하는 단계(S131)에서 암호 패턴 세부 확률 정보가 획득되어 확률 테이블 형태로 필터링 암호 정보가 정렬되고, 필터링 암호 정보를 이용하여 후술되는 암호 해독을 수행하였지만, 암호를 해독하지 못한 경우, 다른 패턴들을 이용하여 암호 해독을 수행하여야 한다. 여기서 다른 패턴들은 필터링 암호 정보와는 다른 패턴들이며, 암호 해독을 위해서는 가능한 모든 암호 패턴을 이용하여야 한다.In the step (S131) of obtaining the cipher pattern detailed probability information, the cipher pattern detailed probability information is obtained, the filtering cipher information is sorted in the form of a probability table, and decryption described later is performed using the filtering cipher information, but the cipher is not decrypted If not, decryption must be performed using other patterns. Here, the other patterns are different from the filtering encryption information, and all possible encryption patterns must be used for decryption.

상술한 일 예를 이용하여 사용자가 패스워드로 입력할 수 있는 모든 경우의 수가 숫자가 10가지고, 영어 알파벳 대소문자가 52가지이며, 일반적으로 사용될 수 있는 특수문자가 12가지로 설정되어 총 74가지의 입력 가능한 문자가 존재한다면, 임의의 n자리 수의 사용자 패스워드를 전수 조사로 찾아내기 위해서는 평균적으로

Figure 112021140703327-pat00008
번의 암호 해독 시도를 필요로 한다. 앞서 획득된 필터링 암호 정보로 표현되는 암호 패턴들은 일반적으로 이 모든 암호의 정의역을 포함하지 못한다. 따라서, 필터링 암호 정보로 표현되는 암호 패턴을 이용하여 암호 해독을 수행하지 못한 경우, 전수 조사를 이용하여 암호 해독을 수행하여야 한다.Using the above example, the number of all cases that the user can input as a password has 10 numbers, 52 types of upper and lower case letters of the English alphabet, and 12 types of special characters that can be generally used, so that a total of 74 types of characters are set. If there are inputable characters, in order to find a random n-digit user password through a full search, the average
Figure 112021140703327-pat00008
Requires one decryption attempt. The encryption patterns expressed by the previously obtained filtering encryption information generally do not include the domain of all these encryptions. Therefore, when decryption is not performed using the encryption pattern expressed by the filtering encryption information, decryption must be performed using a full investigation.

이를 위해 배타적 패턴을 추출하는 단계(S133)는 획득 가능한 모든 암호 패턴들 중 필터링 암호 정보로 표현되는 암호 패턴들을 제외한 암호 패턴을 배타적 패턴으로 정의하고 배타적 패턴을 추출할 수 있다. 배타적 패턴을 추출하는 단계(S133)에서 추출되는 배타적 패턴은 인코딩 암호 정보 및 특정 암호의 길이를 이용하여 추출될 수 있으며 도 10에는 이러한 배타적 패턴을 획득하는 코드의 일 예시가 도시되고 있다.To this end, in the step of extracting the exclusive pattern ( S133 ), an encryption pattern excluding encryption patterns expressed by filtering encryption information among all the obtainable encryption patterns may be defined as an exclusive pattern and the exclusive pattern may be extracted. The exclusive pattern extracted in the step of extracting the exclusive pattern ( S133 ) may be extracted using encoding encryption information and the length of a specific encryption, and FIG. 10 shows an example of a code for obtaining such an exclusive pattern.

확장된 암호 패턴을 획득하는 단계(S13)를 이용하여 필터링 암호 정보에 대한 세부 확률 정보를 획득하거나 배타적 패턴을 추출하게 되면, 본 발명의 일 실시예에 따른 해독 결과를 출력하는 단계(S15)는 해당 정보를 이용하여 해독 대상 암호를 해독하기 위한 암호 해독을 수행한다.When obtaining detailed probability information for filtering encryption information or extracting an exclusive pattern using the step (S13) of obtaining an extended encryption pattern, outputting a decryption result according to an embodiment of the present invention (S15) The decryption is performed to decrypt the decryption target password using the corresponding information.

해독 결과를 출력하는 단계(S15)는 암호 해독 수행부를 통해 필터링 암호 정보 또는 확장된 암호 패턴을 이용하여 분산 클러스터에 포함되는 복수의 컴퓨터를 이용하여 해독 대상 암호의 해독을 수행하고 그 결과인 해독 결과를 출력하도록 형성된다. 여기서 확장된 암호 패턴은 상술한 배타적 패턴일 수 있다. 해독 결과를 출력하는 단계(S15)는 해독 결과를 출력하기 위해 도 8에 도시된 바와 같이 우선 순위를 결정하는 단계(S151), 해독 정보를 획득하는 단계(S153) 및 해독 결과를 출력하는 단계(S155)를 포함하도록 형성될 수 있다.In the step of outputting the decryption result (S15), the decryption target decryption is performed using a plurality of computers included in the distributed cluster using the filtering encryption information or the extended encryption pattern through the decryption performing unit, and the decryption result is the result. is formed to output Here, the extended encryption pattern may be the above-described exclusive pattern. The step of outputting the decryption result (S15) includes the steps of determining a priority as shown in FIG. 8 to output the decryption result (S151), obtaining decryption information (S153), and outputting the decryption result (S151) S155).

우선 순위를 결정하는 단계(S151)는 필터링 암호 정보 및 배타적 패턴으로부터 각각 암호의 해독을 위한 우선 순위를 결정하도록 형성된다. 우선 순위를 결정하는 단계(S151)는 필터링 암호 정보의 우선 순위 또는 배타적 패턴으로부터 암호 해독을 위한 우선 순위를 결정하도록 형성될 수 있으며, 이를 위해 상술한 세부 확률을 이용할 수 있다. 우선 순위를 결정하는 단계(S151)는 세부 확률이 높은 순서대로 필터링 암호 정보의 우선 순위 또는 배타적 패턴의 우선 순위를 결정한다. 일 예로, 우선 순위를 결정하는 단계(S151)는 필터링 암호 정보의 암호 패턴에 포함되는 인접 문자열들 사이의 확률 곱을 획득하고, 획득한 확률 곱을 이용하여 필터링 암호 정보의 우선 순위를 결정할 수 있으며, 이 우선 순위는 후술되는 1차 해독 정보를 획득하는 순서로 사용될 수 있다.The step of determining the priority (S151) is formed to determine the priority for decryption of the encryption from the filtering encryption information and the exclusive pattern, respectively. The step of determining the priority (S151) may be formed to determine the priority for decryption from the priority or exclusive pattern of the filtering encryption information, and for this, the detailed probability described above may be used. In the step of determining the priority (S151), the priority of the filtering encryption information or the priority of the exclusive pattern is determined in the order of the highest detail probability. As an example, the step of determining the priority (S151) may obtain a probability product between adjacent strings included in the encryption pattern of the filtering encryption information, and determine the priority of the filtering encryption information by using the obtained probability product, The priority may be used in the order of obtaining primary decryption information, which will be described later.

또, 다른 예로 우선 순위를 결정하는 단계(S151)는 배타적 패턴에 포함되는 인접 문자열들 사이의 확률 곱을 획득하고, 획득한 확률 곱을 배타적 패턴의 우선 순위를 결정하기 위해 사용할 수 있으며, 여기서 결정된 배타적 패턴의 우선 순위는 후술되는 2차 해독 정보를 획득하는 순서로 사용될 수 있다.Also, as another example, the step of determining the priority ( S151 ) may obtain a probability product between adjacent strings included in the exclusive pattern, and use the obtained probability product to determine the priority of the exclusive pattern, wherein the determined exclusive pattern The priority of can be used in the order of obtaining secondary decryption information, which will be described later.

또, 배타적 패턴에 포함되는 와일드 카드로 표현되는 패턴 내에서 입력 가능한 경우의 수 D, L 및 S를 아우르는 문자열을 포함하는 배타적 패턴의 경우, 각 확률를 덧셈하여 배타적 패턴 확률로 도출될 수 있다.In addition, in the case of an exclusive pattern including a character string encompassing the number of input possible cases D, L, and S within the pattern represented by the wild card included in the exclusive pattern, the exclusive pattern probability may be derived by adding the respective probabilities.

일 예로 와일드 카드는 *로 표시되며, 해당 위치에는 D, L 및 S 중 어느 문자열이건 포함될 수 있다. 예를 들어 DD*로 표현되는 배타적 패턴은, 결국 DDD, DDL 또는 DDS 중 어느 하나로 표현될 수 있기 때문에 세 가지 확률의 합으로 표현될 수 있으며, 여기서 각각의 배타적 패턴의 확률은 상술한 바와 같이 시작 패턴 연결 확률과 연속 패턴 연결 확률의 곱으로 표현될 수 있다.For example, a wild card is indicated by *, and any character string among D, L, and S may be included in the corresponding position. For example, an exclusive pattern expressed as DD* can be expressed as the sum of three probabilities, since it can eventually be expressed as either DDD, DDL or DDS, where the probability of each exclusive pattern starts as described above. It can be expressed as the product of the pattern connection probability and the continuous pattern connection probability.

우선 순위가 결정되면, 본 발명의 일 실시예에 따른 해독 정보를 획득하는 단계(S153)는 1차 해독 또는 2차 해독을 분산 클러스터에서 수행하도록 하고, 1차 해독 정보 또는 2차 해독 정보를 획득할 수 있다.When the priority is determined, the step of obtaining decryption information according to an embodiment of the present invention ( S153 ) causes the first decryption or the second decryption to be performed in the distributed cluster, and the first decryption information or the second decryption information is obtained can do.

한편, 본 발명의 일 실시예에 따른 우선 순위를 결정하는 단계(S151)는 상술한 필터링 한 결과 선정되지 않은 인코딩 암호 정보들을 필터링 결과로 저장하는 단계(도면 미도시)에서 저장된 누락된 암호 정보를 획득하여 배타적 패턴에 포함시키고, 해당 암호 정보의 우선 순위를 더 결정할 수 있다. 이를 통해 본 발명의 배타적 패턴에는 필터링 암호 정보를 제외한 발생 가능한 모든 암호 패턴이 포함될 수 있다.On the other hand, the step of determining the priority according to an embodiment of the present invention (S151) is to store the encoding encryption information not selected as a result of the above-described filtering as a filtering result (not shown) in the step of storing the missing encryption information stored in the It can be obtained and included in the exclusive pattern, and the priority of the corresponding encryption information can be further determined. Through this, the exclusive pattern of the present invention may include all possible encryption patterns except for filtering encryption information.

해독 정보를 획득하는 단계(S153)는 필터링 암호 정보를 획득하면, 획득한 필터링 암호 정보를 분산 클러스터의 복수의 컴퓨터로 분배하여 1차 해독 정보를 획득할 수 있다. 여기서, 필터링 암호 정보는 상술한 우선 순위를 결정하는 단계(S151)에서 결정된 우선 순위를 가지는 필터링 암호 정보 일 수 있고, 분배 순서 역시 상술한 우선 순위를 기준으로 이루어질 수 있다.In the step of obtaining decryption information (S153), when filtering encryption information is obtained, the obtained filtering encryption information is distributed to a plurality of computers in a distributed cluster to obtain primary decryption information. Here, the filtering encryption information may be filtering encryption information having a priority determined in step S151 of determining the above-mentioned priority, and the distribution order may also be made based on the above-mentioned priority.

해독 정보를 획득하는 단계(S153)는 배타적 패턴을 획득하면, 획득한 배타적 정보를 분산 클러스터의 복수의 컴퓨터로 분배하여 2차 해독 정보를 획득할 수 있다. 여기서 배타적 패턴은 상술한 우선 순위를 결정하는 단계(S151)에서 결정된 우선 순위를 가지는 필터링 암호 정보 일 수 있으며, 분배 순서 역시 상술한 우선 순위를 기준으로 이루어질 수 있다.In the step of obtaining decryption information ( S153 ), if the exclusive pattern is obtained, the obtained exclusive information may be distributed to a plurality of computers in a distributed cluster to obtain secondary decryption information. Here, the exclusive pattern may be filtering encryption information having a priority determined in step S151 of determining the above-mentioned priority, and the distribution order may also be made based on the above-mentioned priority.

해독 결과를 출력하는 단계(S155)는 해독 정보를 획득하는 단계(S153)에서 획득한 해독 결과를 출력하도록 형성된다. 해독 결과를 출력하는 단계(S155)는 1차 해독 정보로부터 해독 대상 암호에 대한 해독이 성공한 것을 획득하면, 해당 암호에 대한 추가적인 패턴인 배타적 패턴을 생성하지 않도록 해독 과정 정지 신호를 생성하여 출력할 수 있다. 해독 과정 정지 신호가 출력되면, 상술한 배타적 패턴을 추출하는 단계(S133)는 배타적 패턴 추출을 수행하지 않으며, 이를 통해 해독 완료 후 무의미한 리소스를 소모하지 않도록 할 수 있다.The step of outputting the decryption result (S155) is configured to output the decryption result obtained in the step of obtaining the decryption information (S153). In the step of outputting the decryption result (S155), when the decryption of the decryption target password is successfully obtained from the primary decryption information, a decryption process stop signal can be generated and output so as not to generate an exclusive pattern that is an additional pattern for the corresponding password. have. When the decryption process stop signal is output, the step of extracting the above-described exclusive pattern ( S133 ) does not extract the exclusive pattern, so that meaningless resources are not consumed after decryption is completed.

또, 해독에 사용되지 않은 필터링 암호 정보가 남아 있더라도, 해독 결과를 출력하는 단계(S155)에서 해독 과정 정지 신호를 생성하면, 해독 정보를 획득하는 단계(S153)는 신호를 수신함과 동시에 분산 클러스터에 존재하는 모든 컴퓨터들에게 해독 중지 신호를 전달함으로써 추가적인 무의미한 리소스 소모를 방지할 수도 있다.In addition, even if the filtering encryption information not used for decryption remains, if a decryption process stop signal is generated in the step of outputting the decryption result (S155), the step of obtaining decryption information (S153) is transmitted to the distributed cluster at the same time as receiving the signal. By sending a decryption stop signal to all existing computers, additional pointless resource consumption can be prevented.

한편, 해독 결과를 출력하는 단계(S155)에서 1차 해독 정보로부터 해독 대상 암호에 대한 해독이 실패한 것을 획득하면, 해독 결과를 출력하는 단계(S155)는 해독 과정 정지 신호를 생성하지 않고, 해독 과정 진행 신호를 생성하여 출력할 수 있다. 해독 과정 진행 신호가 출력되면, 상술한 배타적 패턴을 추출하는 단계(S133)는 배타적 패턴 추출을 수행하며, 추출 결과를 이용하여 2차 해독 정보를 획득하도록 할 수 있다. On the other hand, in the step of outputting the decryption result (S155), if it is obtained from the primary decryption information that the decryption of the decryption target encryption has failed, outputting the decryption result (S155) does not generate a decryption process stop signal, but the decryption process A progress signal can be generated and output. When the decoding process progress signal is output, in the step of extracting the exclusive pattern ( S133 ), the exclusive pattern extraction may be performed, and secondary decoding information may be obtained using the extraction result.

상술한 바와 마찬가지로, 본 발명의 일 실시예의 해독 결과를 출력하는 단계(S155)는 해독이 완료된 이후 무의미한 리소스 소비를 방지하기 위해, 2차 해독 정보로부터 해독 대상 암호에 대한 해독이 성공한 것을 획득하면, 더 이상 분산 클러스터를 이용한 암호 해독이 진행되지 않도록 해독 과정 정지 신호를 생성하여 출력할 수 있다. 해독 과정 정지 신호가 출력되면, 해독 정보를 획득하는 단계(S153)는 신호를 수신함과 동시에 분산 클러스터에 존재하는 모든 컴퓨터들에게 해독 중지 신호를 전달함으로써 추가적인 무의미한 리소스 소모를 방지할 수도 있다.As described above, the step of outputting the decryption result of an embodiment of the present invention (S155) is to prevent meaningless resource consumption after decryption is completed. A decryption process stop signal can be generated and output so that decryption using the distributed cluster is no longer performed. When the decryption process stop signal is output, the step of obtaining decryption information ( S153 ) may prevent additional meaningless resource consumption by transmitting the decryption stop signal to all computers existing in the distributed cluster at the same time as receiving the signal.

또, 본 발명의 해독 결과를 출력하는 단계(S155)는 1차 해독 정보 또는 2차 해독 정보에 암호 해독 성공 정보가 포함된 경우, 암호 해독 성공 정보를 사용자 단말기 또는 중앙 제어 단말기로 전달하여 해독 대상 암호의 해독 결과를 출력할 수 있다.In addition, in the step of outputting the decryption result of the present invention (S155), when the decryption success information is included in the first decryption information or the second decryption information, the decryption target by transferring the decryption success information to the user terminal or the central control terminal You can output the decryption result.

이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시 예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시 예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다.Although one embodiment of the present invention has been described above, the spirit of the present invention is not limited to the embodiments presented herein, and those skilled in the art who understand the spirit of the present invention can add components within the scope of the same spirit. , changes, deletions, additions, etc. may easily suggest other embodiments, but this will also fall within the scope of the present invention.

1: 분산 클러스터 암호 해독 시스템
2: 분산 클러스터 3: 해독 대상 암호
4: 유출된 암호들 11: 암호 정보 패턴화 처리부
13: 암호 패턴 확장부 15: 암호 해독 수행부
111: 유출 암호 정보 저장 모듈 113: 유출 암호 정보 인코딩 모듈
115: 인코딩 암호 처리 모듈 131: 암호 패턴 세부 확률 획득 모듈
133: 배타적 패턴 추출 모듈 151: 해독 패턴 우선 순위 결정 모듈
153: 해독 정보 획득 모듈 155: 해독 결과 출력 모듈
1: Distributed Cluster Decryption System
2: Distributed cluster 3: Password to decrypt
4: Leaked passwords 11: Cryptographic information patterning processing unit
13: password pattern extension unit 15: decryption execution unit
111: leaked password information storage module 113: leaked password information encoding module
115: encoding encryption processing module 131: encryption pattern detailed probability acquisition module
133: exclusive pattern extraction module 151: decoding pattern prioritization module
153: decoding information acquisition module 155: decoding result output module

Claims (22)

분산 클러스터에 포함되는 복수의 컴퓨터들을 이용하여 특정 암호를 해독하기 위해 형성되는 분산 클러스터 암호 해독 시스템에 있어서,
상기 분산 클러스터 암호 해독 시스템은,
사전 암호 수집을 수행하고, 수집한 상기 사전 암호들에 대한 패턴을 분석하여 인코딩 암호 정보를 생성하며, 상기 인코딩 암호 정보에 대한 필터링을 수행하여 필터링 암호 정보를 획득하는 암호 정보 패턴화 처리부;
상기 인코딩 암호 정보 및 상기 필터링 암호 정보를 이용하여 상기 필터링 암호 정보의 세부 확률을 계산하고 상기 필터링 암호 정보에 대한 배타적 패턴을 획득하여 확장된 암호 패턴을 획득하는 암호 패턴 확장부; 및
상기 필터링 암호 정보 또는 상기 확장된 암호 패턴을 이용하여 상기 분산 클러스터의 상기 복수의 컴퓨터를 이용하여 상기 특정 암호의 해독을 수행하고 해독 결과를 출력하는 암호 해독 수행부;를 포함하는 분산 클러스터 암호 해독 시스템.
In the distributed cluster decryption system formed to decrypt a specific password using a plurality of computers included in the distributed cluster,
The distributed cluster decryption system,
an encryption information patterning processing unit that collects dictionary passwords, generates encoded encryption information by analyzing patterns for the collected dictionary passwords, and performs filtering on the encoded encryption information to obtain filtering encryption information;
an encryption pattern extension unit for calculating a detailed probability of the filtering encryption information by using the encoding encryption information and the filtering encryption information and obtaining an exclusive pattern for the filtering encryption information to obtain an extended encryption pattern; and
Distributed cluster decryption system comprising a; a decryption performing unit for performing decryption of the specific encryption using the plurality of computers of the distributed cluster using the filtering encryption information or the extended encryption pattern and outputting a decryption result; .
제 1항에 있어서,
상기 암호 정보 패턴화 처리부는,
복수의 사용자가 사용한 실제 암호들 중 유출된 암호들을 상기 사전 암호로 정의하여 수집하고, 수집한 상기 사전 암호를 유출 암호 정보로 저장하는 유출 암호 정보 저장 모듈;
상기 유출 암호 정보에 대한 패턴 분석을 수행하기 위해 상기 유출 암호 정보의 인코딩을 수행하여 인코딩 암호 정보를 생성하는 유출 암호 정보 인코딩 모듈; 및
상기 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬하며, 기 설정된 등장 확률 값을 이용해 상기 인코딩 암호 정보의 필터링을 수행하여 상기 필터링 암호 정보를 획득하는 인코딩 암호 정보 처리 모듈;을 포함하는 분산 클러스터 암호 해독 시스템.
The method of claim 1,
The encryption information patterning processing unit,
a leaked password information storage module for defining and collecting leaked passwords among actual passwords used by a plurality of users as the dictionary password, and storing the collected dictionary password as leaked password information;
a leaked encryption information encoding module for generating encoded encryption information by encoding the leaked encryption information to perform pattern analysis on the leaked encryption information; and
An encoding encryption information processing module that sorts the encoded encryption information using an appearance frequency, and performs filtering of the encoded encryption information using a preset appearance probability value to obtain the filtered encryption information; Distributed cluster decryption system comprising a; .
제 2항에 있어서,
상기 인코딩은 숫자, 글자 및 특수 문자를 서로 다른 기호들로 매핑하고, 연속되는 기호들을 그룹화 하며, 하기 수식 1로 표현되는 분산 클러스터 암호 해독 시스템.
수식 1
Figure 112021140703327-pat00009

(여기서, P: n자리 문자열로 구성된 임의의 암호, L: 연속된 글자 개수, D: 연속된 숫자 개수, S: 연속된 특수문자 개수)
3. The method of claim 2,
The encoding maps numbers, letters, and special characters to different symbols, groups consecutive symbols, and is a distributed cluster decryption system expressed by Equation 1 below.
Formula 1
Figure 112021140703327-pat00009

(here, P: random password consisting of n-character strings, L: number of consecutive characters, D: number of consecutive numbers, S: number of consecutive special characters)
제 3항에 있어서,
상기 인코딩 암호 정보 처리 모듈은, 상기 필터링으로 상기 등장 빈도수가 상기 기 설정된 등장 확률 값 이하인 상기 인코딩 암호 정보를 필터링하는 분산 클러스터 암호 해독 시스템.
4. The method of claim 3,
The encoding encryption information processing module is a distributed cluster decryption system for filtering the encoded encryption information whose appearance frequency is equal to or less than the preset appearance probability value by the filtering.
제 1항에 있어서,
상기 암호 패턴 확장부는,
상기 필터링 암호 정보를 획득하고, 상기 세부 확률을 계산하여 암호 패턴 세부 확률 정보를 획득하는 암호 패턴 세부 확률 획득 모듈; 및
상기 인코딩 암호 정보 및 상기 특정 암호의 길이를 이용하여 상기 필터링 암호 정보에 포함되지 않은 패턴인 배타적 패턴을 추출하는 배타적 패턴 추출 모듈;을 포함하는 분산 클러스터 암호 해독 시스템.
The method of claim 1,
The encryption pattern extension unit,
an encryption pattern detailed probability obtaining module for obtaining the filtering encryption information and calculating the detailed probability to obtain the encryption pattern detailed probability information; and
and an exclusive pattern extraction module for extracting an exclusive pattern that is a pattern not included in the filtering encryption information by using the encoding encryption information and the length of the specific encryption information.
제 5항에 있어서,
상기 암호 패턴 세부 확률 정보는,
상기 필터링 암호 정보의 문자열에 포함된 두 인접 문자열들의 연결 확률을 의미하며,
상기 연결 확률은,
상기 두 인접 문자열이 상기 필터링 암호 정보의 암호 문자열을 시작하는 두 문자열인 경우인 시작 패턴 연결 확률과 상기 두 인접 문자열이 상기 필터링 암호 정보의 암호 문자열을 시작하는 두 문자열이 아닌 경우인 연속 패턴 연결 확률로 분류하여 획득되는 분산 클러스터 암호 해독 시스템.
6. The method of claim 5,
The cryptographic pattern detailed probability information is,
It means the connection probability of two adjacent strings included in the string of the filtering encryption information,
The connection probability is
The starting pattern concatenation probability when the two adjacent strings are two strings starting the encryption string of the filtering encryption information and the continuous pattern connection probability when the two adjacent strings are not the two strings starting the encryption string of the filtering encryption information A distributed cluster decryption system obtained by classifying as
제 6항에 있어서,
상기 연결 확률은,
상기 시작 패턴 연결 확률인 경우 상기 암호 문자열 전체에 대해서 상기 암호 문자열을 시작하는 두 문자열에 대한 빈도수로 계산되며, 상기 연속 패턴 연결 확률인 경우 상기 암호 문자열 전체에 대해서 상기 암호 문자열을 시작하는 두 문자열을 제외한 나머지 인접 문자들 사이의 빈도수로 계산되는 분산 클러스터 암호 해독 시스템.
7. The method of claim 6,
The connection probability is
In the case of the starting pattern concatenation probability, it is calculated as the frequency of the two strings starting the cipher string for the entire cipher string, and in the case of the continuous pattern concatenation probability, the two strings starting the cipher string with respect to the entire cipher string Distributed cluster decryption system calculated by the frequency between the remaining adjacent characters.
제 7항에 있어서,
상기 배타적 패턴 추출 모듈은,
상기 특정 암호의 생성 조건을 획득하고, 획득한 상기 생성 조건을 기준으로 획득되는 모든 패턴인 기준 패턴들 중 상기 필터링 암호 정보에 포함된 패턴을 제외하여 상기 배타적 패턴을 추출하는 분산 클러스터 암호 해독 시스템.
8. The method of claim 7,
The exclusive pattern extraction module,
A distributed cluster decryption system for obtaining the generation condition of the specific encryption and extracting the exclusive pattern by excluding the pattern included in the filtering encryption information among reference patterns that are all patterns obtained based on the obtained generation condition.
제 1항에 있어서,
상기 암호 해독 수행부는,
상기 필터링 암호 정보 및 상기 확장된 암호 패턴으로부터 각각 상기 특정 암호의 해독을 위한 우선순위를 결정하는 해독 패턴 우선순위 결정 모듈;
상기 필터링 암호 정보를 획득하면 획득한 상기 필터링 암호 정보를 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 1차 해독 정보를 획득하고, 상기 확장된 암호 패턴을 획득하면, 획득한 상기 확장된 암호 패턴을 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 2차 해독 정보를 획득하는 해독 정보 획득 모듈; 및
상기 1차 해독 정보로부터 상기 특정 암호에 대한 해독이 성공한 것을 획득하면, 해당 암호에 대해 상기 배타적 패턴을 획득하지 않는 것을 요청하는 해독 과정 정지 신호를 생성하여 출력하며, 상기 1차 해독 정보로부터 상기 특정 암호에 대한 해독이 성공하지 못한 것을 확인하면, 해당 암호에 대해 상기 배타적 패턴의 획득을 요청하는 해독 과정 진행 신호를 생성하여 상기 해독 결과로 출력하는 해독 결과 출력 모듈;을 포함하는 분산 클러스터 암호 해독 시스템.
The method of claim 1,
The decryption performing unit,
a decryption pattern priority determination module for determining a priority for decrypting the specific encryption, respectively, from the filtering encryption information and the extended encryption pattern;
When the filtering encryption information is obtained, the obtained filtering encryption information is distributed to the plurality of computers in the distributed cluster to obtain primary decryption information, and when the extended encryption pattern is obtained, the obtained extended encryption pattern is a decryption information obtaining module for distributing to the plurality of computers in the distributed cluster to obtain secondary decryption information; and
When it is obtained from the first decryption information that the decryption of the specific encryption is successful, a decryption process stop signal is generated and output to request not to acquire the exclusive pattern for the corresponding encryption, and the specified encryption information is obtained from the first decryption information. Distributed cluster decryption system comprising a; if it is confirmed that the decryption of the password is not successful, a decryption result output module for generating a decryption process progress signal for requesting acquisition of the exclusive pattern for the corresponding password and outputting the decryption result as the decryption result; .
제 9항에 있어서,
상기 해독 패턴 우선순위 결정 모듈은,
상기 필터링 암호 정보의 상기 세부 확률을 이용하여 상기 우선순위를 결정하며, 해당 패턴을 구성하는 인접 문자열들의 확률 곱을 획득하고, 획득한 상기 확률 곱을 기준으로 상기 우선순위를 결정하는 분산 클러스터 암호 해독 시스템.
10. The method of claim 9,
The decryption pattern prioritization module,
A distributed cluster decryption system for determining the priority by using the detailed probability of the filtering encryption information, obtaining a product of probability of adjacent strings constituting the pattern, and determining the priority based on the obtained product of probability.
제 10항에 있어서,
상기 해독 결과 출력 모듈은,
상기 1차 해독 정보 또는 상기 2차 해독 정보를 분석하여 상기 특정 암호에 대한 해독이 성공한 것으로 확인하면, 성공한 상기 해독 정보를 사용자 단말기로 출력하는 분산 클러스터 암호 해독 시스템.
11. The method of claim 10,
The decoding result output module,
Distributed cluster decryption system for outputting the successful decryption information to the user terminal when it is confirmed that the decryption of the specific password is successful by analyzing the first decryption information or the second decryption information.
분산 클러스터에 포함되는 복수의 컴퓨터들을 이용하여 특정 암호를 해독하기 위해 형성되는 분산 클러스터 암호 해독 방법에 있어서,
상기 분산 클러스터 암호 해독 방법은,
암호 정보 패턴화 처리부를 이용하여 사전 암호 수집을 수행하고, 수집한 상기 사전 암호들에 대한 패턴을 분석하여 인코딩 암호 정보를 생성하며, 상기 인코딩 암호 정보에 대한 필터링을 수행하여 필터링 암호 정보를 획득하는 단계;
암호 패턴 확장부를 통해 상기 인코딩 암호 정보 및 상기 필터링 암호 정보를 이용하여 상기 필터링 암호 정보의 세부 확률을 계산하고 상기 필터링 암호 정보에 대한 배타적 패턴을 획득하여 확장된 암호 패턴을 획득하는 단계; 및
암호 해독 수행부를 통해 상기 필터링 암호 정보 또는 상기 확장된 암호 패턴을 이용하여 상기 분산 클러스터의 상기 복수의 컴퓨터를 이용하여 상기 특정 암호의 해독을 수행하고 해독 결과를 출력하는 단계;를 포함하는 분산 클러스터 암호 해독 방법.
In the distributed cluster decryption method formed to decrypt a specific password using a plurality of computers included in the distributed cluster,
The distributed cluster decryption method comprises:
Collecting a dictionary password using the encryption information patterning processing unit, generating encoding encryption information by analyzing patterns for the collected dictionary passwords, and performing filtering on the encoding encryption information to obtain filtering encryption information step;
obtaining an extended encryption pattern by calculating a detailed probability of the filtering encryption information by using the encoding encryption information and the filtering encryption information through an encryption pattern extension unit and obtaining an exclusive pattern for the filtering encryption information; and
A distributed cluster cipher comprising a; performing decryption of the specific cipher using the plurality of computers of the distributed cluster using the filtering cipher information or the extended cipher pattern through a decryption performing unit and outputting a decryption result; Detox method.
제 12항에 있어서,
상기 필터링 암호 정보를 획득하는 단계는,
복수의 사용자가 사용한 실제 암호들 중 유출된 암호들을 상기 사전 암호로 정의하여 수집하고, 수집한 상기 사전 암호를 유출 암호 정보로 저장하는 단계;
상기 유출 암호 정보에 대한 패턴 분석을 수행하기 위해 상기 유출 암호 정보의 인코딩을 수행하여 인코딩 암호 정보를 생성하는 단계; 및
상기 인코딩 암호 정보를 등장 빈도수를 이용하여 정렬하며, 기 설정된 등장 확률 값을 이용해 상기 인코딩 암호 정보의 필터링을 수행하여 상기 필터링 암호 정보를 획득하는 단계;를 포함하는 분산 클러스터 암호 해독 방법.
13. The method of claim 12,
The step of obtaining the filtering encryption information includes:
defining and collecting leaked passwords among actual passwords used by a plurality of users as the dictionary password, and storing the collected dictionary password as leaked password information;
generating encoded encryption information by encoding the leaked encryption information to perform pattern analysis on the leaked encryption information; and
and arranging the encoded encryption information using an appearance frequency, and performing filtering of the encoded encryption information using a preset appearance probability value to obtain the filtered encryption information.
제 13항에 있어서,
상기 인코딩은 숫자, 글자 및 특수 문자를 서로 다른 기호들로 매핑하고, 연속되는 기호들을 그룹화 하며, 하기 수식 2로 표현되는 분산 클러스터 암호 해독 방법.
수식 2
Figure 112021140703327-pat00010

(여기서, P: n자리 문자열로 구성된 임의의 암호, L: 연속된 글자 개수, D: 연속된 숫자 개수, S: 연속된 특수문자 개수)
14. The method of claim 13,
The encoding maps numbers, letters, and special characters to different symbols, groups consecutive symbols, and is a distributed cluster decryption method expressed by Equation 2 below.
Formula 2
Figure 112021140703327-pat00010

(here, P: random password consisting of n-character strings, L: number of consecutive characters, D: number of consecutive numbers, S: number of consecutive special characters)
제 14항에 있어서,
상기 필터링 암호 정보를 획득하는 단계는,
상기 필터링으로 상기 등장 빈도수가 상기 기 설정된 등장 확률 값 이하인 상기 인코딩 암호 정보를 필터링하는 분산 클러스터 암호 해독 방법.
15. The method of claim 14,
The step of obtaining the filtering encryption information includes:
A distributed cluster decryption method for filtering the encoded encryption information whose appearance frequency is equal to or less than the preset appearance probability value by the filtering.
제 12항에 있어서,
상기 확장된 암호 패턴을 획득하는 단계는,
상기 필터링 암호 정보를 획득하고, 상기 세부 확률을 계산하여 암호 패턴 세부 확률 정보를 획득하는 단계; 및
상기 인코딩 암호 정보 및 상기 특정 암호의 길이를 이용하여 상기 필터링 암호 정보에 포함되지 않은 패턴인 배타적 패턴을 추출하는 단계;를 포함하는 분산 클러스터 암호 해독 방법.
13. The method of claim 12,
The step of obtaining the extended encryption pattern comprises:
obtaining the filtering encryption information and calculating the detailed probability to obtain detailed probability information of the encryption pattern; and
and extracting an exclusive pattern, which is a pattern not included in the filtering encryption information, by using the encoding encryption information and the length of the specific encryption.
제 16항에 있어서,
상기 암호 패턴 세부 확률 정보는,
상기 필터링 암호 정보의 문자열에 포함된 두 인접 문자열들의 연결 확률을 의미하며,
상기 연결 확률은,
상기 두 인접 문자열이 상기 필터링 암호 정보의 암호 문자열을 시작하는 두 문자열인 경우인 시작 패턴 연결 확률과 상기 두 인접 문자열이 상기 필터링 암호 정보의 암호 문자열을 시작하는 두 문자열이 아닌 경우인 연속 패턴 연결 확률로 분류하여 획득되는 분산 클러스터 암호 해독 방법.
17. The method of claim 16,
The cryptographic pattern detailed probability information is,
It means the connection probability of two adjacent strings included in the string of the filtering encryption information,
The connection probability is
The starting pattern concatenation probability when the two adjacent strings are two strings starting the encryption string of the filtering encryption information and the continuous pattern connection probability when the two adjacent strings are not the two strings starting the encryption string of the filtering encryption information A distributed cluster decryption method obtained by classifying as
제 17항에 있어서,
상기 연결 확률은,
상기 시작 패턴 연결 확률인 경우 상기 암호 문자열 전체에 대해서 상기 암호 문자열을 시작하는 두 문자열에 대한 빈도수로 계산되며, 상기 연속 패턴 연결 확률인 경우 상기 암호 문자열 전체에 대해서 상기 암호 문자열을 시작하는 두 문자열을 제외한 나머지 인접 문자들 사이의 빈도수로 계산되는 분산 클러스터 암호 해독 방법.
18. The method of claim 17,
The connection probability is
In the case of the starting pattern concatenation probability, it is calculated as the frequency of the two strings starting the cipher string for the entire cipher string, and in the case of the continuous pattern concatenation probability, the two strings starting the cipher string with respect to the entire cipher string Distributed cluster cryptography method calculated by the frequency between the remaining adjacent characters.
제 18항에 있어서,
상기 배타적 패턴을 추출하는 단계는,
상기 특정 암호의 생성 조건을 획득하고, 획득한 상기 생성 조건을 기준으로 획득되는 모든 패턴인 기준 패턴들 중 상기 필터링 암호 정보에 포함된 패턴을 제외하여 상기 배타적 패턴을 추출하는 분산 클러스터 암호 해독 방법.
19. The method of claim 18,
The step of extracting the exclusive pattern,
A distributed cluster decryption method for obtaining the generation condition of the specific encryption and extracting the exclusive pattern by excluding the pattern included in the filtering encryption information from among reference patterns that are all patterns obtained based on the obtained generation condition.
제 12항에 있어서,
상기 특정 암호의 해독을 수행하고 해독 결과를 출력하는 단계는,
상기 필터링 암호 정보 및 상기 확장된 암호 패턴으로부터 각각 상기 특정 암호의 해독을 위한 우선순위를 결정하는 단계;
상기 필터링 암호 정보를 획득하면 획득한 상기 필터링 암호 정보를 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 1차 해독 정보를 획득하고, 상기 확장된 암호 패턴을 획득하면, 획득한 상기 확장된 암호 패턴을 상기 분산 클러스터의 상기 복수의 컴퓨터로 분배하여 2차 해독 정보를 획득하는 단계; 및
상기 1차 해독 정보로부터 상기 특정 암호에 대한 해독이 성공한 것을 획득하면, 해당 암호에 대해 상기 배타적 패턴을 획득하지 않는 것을 요청하는 해독 과정 정지 신호를 생성하여 출력하며, 상기 1차 해독 정보로부터 상기 특정 암호에 대한 해독이 성공하지 못한 것을 확인하면, 해당 암호에 대해 상기 배타적 패턴의 획득을 요청하는 해독 과정 진행 신호를 생성하여 상기 해독 결과로 출력하는 단계;를 포함하는 분산 클러스터 암호 해독 방법.
13. The method of claim 12,
The step of performing the decryption of the specific password and outputting the decryption result,
determining a priority for decryption of the specific cipher from the filtering cipher information and the extended cipher pattern, respectively;
When the filtering encryption information is obtained, the obtained filtering encryption information is distributed to the plurality of computers in the distributed cluster to obtain primary decryption information, and when the extended encryption pattern is obtained, the obtained extended encryption pattern is distributing to the plurality of computers in the distributed cluster to obtain secondary decryption information; and
When it is obtained from the first decryption information that the decryption of the specific encryption is successful, a decryption process stop signal is generated and output to request not to acquire the exclusive pattern for the corresponding encryption, and the specified encryption information is obtained from the first decryption information. When it is confirmed that the decryption of the password is not successful, generating a decryption process progress signal requesting to obtain the exclusive pattern for the corresponding password and outputting it as the decryption result;
제 20항에 있어서,
상기 암호의 해독을 위한 우선순위를 결정하는 단계는,
상기 필터링 암호 정보의 상기 세부 확률을 이용하여 상기 우선순위를 결정하며, 해당 패턴을 구성하는 인접 문자열들의 확률 곱을 획득하고, 획득한 상기 확률 곱을 기준으로 상기 우선순위를 결정하는 분산 클러스터 암호 해독 방법.
21. The method of claim 20,
Determining the priority for decryption of the password comprises:
A distributed cluster decryption method for determining the priority by using the detailed probability of the filtering encryption information, obtaining a product of probability of adjacent strings constituting the pattern, and determining the priority based on the obtained product of probability.
제 21항에 있어서,
상기 해독 결과로 출력하는 단계는,
상기 1차 해독 정보 또는 상기 2차 해독 정보를 분석하여 상기 특정 암호에 대한 해독이 성공한 것으로 확인하면, 성공한 상기 해독 정보를 사용자 단말기로 출력하는 분산 클러스터 암호 해독 방법.
22. The method of claim 21,
The step of outputting the decoding result is,
Distributed cluster decryption method for outputting the successful decryption information to a user terminal when it is confirmed that decryption of the specific password is successful by analyzing the first decryption information or the second decryption information.
KR1020210172372A 2021-12-03 2021-12-03 Distributed cluster decryption system and method KR102451130B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210172372A KR102451130B1 (en) 2021-12-03 2021-12-03 Distributed cluster decryption system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210172372A KR102451130B1 (en) 2021-12-03 2021-12-03 Distributed cluster decryption system and method

Publications (1)

Publication Number Publication Date
KR102451130B1 true KR102451130B1 (en) 2022-10-06

Family

ID=83597537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210172372A KR102451130B1 (en) 2021-12-03 2021-12-03 Distributed cluster decryption system and method

Country Status (1)

Country Link
KR (1) KR102451130B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010126634A1 (en) * 2009-02-25 2010-11-04 Cisco Technology, Inc. Aggregation of cryptography engines
WO2017167739A1 (en) * 2016-04-01 2017-10-05 Institut Mines Telecom Secret key estimation methods and devices
KR101834345B1 (en) 2017-09-01 2018-03-05 영남대학교 산학협력단 Apparatus and method for predicting password pattern using smartwatch
JP2019211735A (en) * 2018-06-08 2019-12-12 日本電信電話株式会社 Conversion key generation device, ciphertext converter, decryption device, ciphertext conversion system, conversion key generation method, ciphertext conversion method, decryption method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010126634A1 (en) * 2009-02-25 2010-11-04 Cisco Technology, Inc. Aggregation of cryptography engines
WO2017167739A1 (en) * 2016-04-01 2017-10-05 Institut Mines Telecom Secret key estimation methods and devices
KR101834345B1 (en) 2017-09-01 2018-03-05 영남대학교 산학협력단 Apparatus and method for predicting password pattern using smartwatch
JP2019211735A (en) * 2018-06-08 2019-12-12 日本電信電話株式会社 Conversion key generation device, ciphertext converter, decryption device, ciphertext conversion system, conversion key generation method, ciphertext conversion method, decryption method, and program

Similar Documents

Publication Publication Date Title
Ur et al. Measuring {Real-World} Accuracies and Biases in Modeling Password Guessability
Bossert et al. Towards automated protocol reverse engineering using semantic information
JP5442161B2 (en) SEARCH SYSTEM, SEARCH SYSTEM SEARCH METHOD, INFORMATION PROCESSING DEVICE, SEARCH PROGRAM, Corresponding Keyword Management Device, and Corresponding Keyword Management Program
US10541982B1 (en) Techniques for protecting electronic data
US8949617B2 (en) Disrupting password attack using compression
CN113656807B (en) Vulnerability management method, device, equipment and storage medium
CN110635914B (en) Weak password detection method
CN110851481A (en) Searchable encryption method, device, equipment and readable storage medium
CN104036187A (en) Method and system for determining computer virus types
Horalek et al. Analysis of the use of Rainbow Tables to break hash
CN112507336A (en) Server-side malicious program detection method based on code characteristics and flow behaviors
Barbosa et al. Machine learning for cryptographic algorithm identification
WO2018047027A1 (en) A method for exploring traffic passive traces and grouping similar urls
Manankova et al. Cryptanalysis the SHA-256 hash function using rainbow tables
CN104683111A (en) Encryption method and system based on MD5
CN116628721B (en) Searchable encryption method and system for digital object
KR102451130B1 (en) Distributed cluster decryption system and method
CN112084487B (en) Weak password analysis method and device, storage medium and electronic equipment
CN115906055B (en) Password evaluation method and system with automatic calibration function based on password library comparison
JP5983333B2 (en) Search processing method, data generation method, and information processing apparatus
Duvivier et al. Edge based stochastic block model statistical inference
Mora et al. Going a step beyond the black and white lists for URL accesses in the enterprise by means of categorical classifiers
CN113841146A (en) Password generation method capable of simultaneously meeting safety and usability
Zhao et al. The research of cryptosystem recognition based on randomness test’s return value
Alfawair et al. Secure Image Indexing Using Speeded Up Robust Features (SURF) Key Points and SHAKE256 Hashing

Legal Events

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