KR102407204B1 - 보안이 개선된 암호압축 장치 및 방법 - Google Patents

보안이 개선된 암호압축 장치 및 방법 Download PDF

Info

Publication number
KR102407204B1
KR102407204B1 KR1020200074879A KR20200074879A KR102407204B1 KR 102407204 B1 KR102407204 B1 KR 102407204B1 KR 1020200074879 A KR1020200074879 A KR 1020200074879A KR 20200074879 A KR20200074879 A KR 20200074879A KR 102407204 B1 KR102407204 B1 KR 102407204B1
Authority
KR
South Korea
Prior art keywords
password
encryption
value
input
compression
Prior art date
Application number
KR1020200074879A
Other languages
English (en)
Other versions
KR20210157057A (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 KR1020200074879A priority Critical patent/KR102407204B1/ko
Publication of KR20210157057A publication Critical patent/KR20210157057A/ko
Application granted granted Critical
Publication of KR102407204B1 publication Critical patent/KR102407204B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Landscapes

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

Abstract

본 발명은 데이터 보안압축시 보안 기능을 강화한 암호압축 장치 및 방법에 관한 것이다. 본 명세서의 일실시예에 따른 암호압축 방법은 사용자로부터 보안압축을 위한 파일 및 보안압축에 사용될 소정 길이의 암호를 입력받는 단계; 사용자로부터 상기 입력된 암호의 암호변환을 위한 암호변환 알고리즘을 선택받고, 상기 선택된 암호변환 알고리즘 적용시 상기 암호에 추가되는 SALT값을 입력받는 단계; 상기 입력된 암호를 상기 선택된 암호변환 알고리즘에 따라서 상기 SALT값과 조합하여 확장된 길이의 암호로 변환하는 단계; 및 상기 변환된 암호를 이용하여 상기 파일을 보안압축하는 단계를 포함한다.

Description

보안이 개선된 암호압축 장치 및 방법{APPARATUS AND METHOD FOR COMPRESSING USING PASSWORD FOR IMPROVING SECURITY}
본 발명은 데이터 보안압축시 보안 기능을 강화한 암호압축 장치 및 방법에 관한 것이다.
정보통신 기술의 급속한 발달로 유무선 인터넷을 이용한 쇼핑, 게임, 채팅, 전자 결제와 같은 서비스가 보편화되고 있으며, 스마트폰과 같은 휴대용 개인 정보통신기기의 급속한 보급 및 무선 환경의 발전으로 사용자들은 모바일 기기를 통한 전자상거래, 인터넷 접속 등이 급격히 증가하고 있다. 이에 수반하여, 정보보안이 요구되는 다양한 전자 장치들에 대한 수요도 점차 증가하고 있다.
암호(Password) 기반의 사용자 인증은 사용자 등록시에 자신의 고유 계정(ID)과 암호를 생성하여 입력하고, 입력된 암호는 소정의 알고리즘에 따라 가공되어 인증정보(Authentication data)가 생성되며, 이후 사용자가 해당 시스템의 서비스를 이용할 때에 사용자의 계정과 암호를 입력하면, 사용자 등록시와 동일한 암호 알고리즘에 따라 처리되어 사용자의 인증 여부가 결정된다.
통상적으로 사용자는 기억할 수 있는 범위내의 암호를 생성하여 사용하기 때문에 일반적으로 사용하는 암호는 길이가 제한적일 수 밖에 없다. 이와 같은 제한적인 길이의 암호를 사용하게 되면 해커와 같은 공격자에게 쉽게 노출될 수 있다.
특히, 최근 GPU(Graphics Processing Unit), FPGA(Field Programmable Gate Array) 기술과 같은 병렬 컴퓨팅 환경이 발전하고 있으며, 병렬적으로 동시에 수행할 수 있는 암호 복구 프로세스의 수가 증가함에 따라 전수 조사 공격 시간이 단축되고 있다. 따라서, 암호 기반의 사용자 인증 시스템의 전수 조사 공격에 대한 취약성을 극복하기 위한 기술이 절실한 실정이다.
본 발명은 데이터압축시 사용자가 입력한 암호를 소정 알고리즘으로 변환하여 복잡도를 높임으로써 해커의 전수조사 공격을 통한 암호 탈취에 대응할 수 있는 보안이 개선된 암호압축 장치 및 방법을 제공하는 것을 목적으로 한다
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 명세서의 일실시예에 따른 암호압축 방법은 사용자로부터 보안압축을 위한 파일 및 보안압축에 사용될 소정 길이의 암호를 입력받는 단계; 사용자로부터 상기 입력된 암호의 암호변환을 위한 암호변환 알고리즘을 선택받고, 상기 선택된 암호변환 알고리즘 적용시 상기 암호에 추가되는 SALT값을 입력받는 단계; 상기 입력된 암호를 상기 선택된 암호변환 알고리즘에 따라서 상기 SALT값과 조합하여 확장된 길이의 암호로 변환하는 단계; 및 상기 변환된 암호를 이용하여 상기 파일을 보안압축하는 단계를 포함한다.
바람직하게는 상기 암호변환 알고리즘은 SALT값을 상기 입력된 암호의 앞과 뒤에 각각 결합하여 암호조합을 생성하고, 상기 생성된 암호조합에 대해서 해시함수를 N번 계산하여 확장된 암호를 생성하도록 할 수도 있다.
바람직하게는 상기 암호변환 알고리즘은 SALT값을 상기 입력된 암호의 앞 또는 뒤에 결합하여 암호조합을 생성하고, 상기 생성된 암호조합에 대해서 해시함수를 N번 계산하여 확장된 암호를 생성하도록 할 수도 있다.
바람직하게는 상기 암호변환 알고리즘은 SALT값의 해시값과 상기 입력된 암호의 해시값을 결합하여 암호조합을 생성하고, 상기 생성된 암호조합에 대해서 해시함수를 N번 계산하여 확장된 암호를 생성하도록 할 수도 있다.
바람직하게는 상기 해시함수는 MD4, MD5, SHA-1, SHA-256, SHA-512, SHA-2, SHA-3 또는 WHIRLPOOL 함수일 수 있다.
본 명세서의 일실시예에 따른 암호압축 장치는 사용자로부터 보안압축에 사용될 소정 길이의 암호 및 상기 암호의 확장을 위한 SALT값을 입력받는 암호입력부; 사용자로부터 상기 입력된 암호와 상기 SALT값의 조합 규칙이 포함된 소정의 암호변환 알고리즘을 선택받아 암호변환 알고리즘을 설정하는 암호변환 설정부; 상기 암호입력부로부터 입력된 암호 및 SALT값, 상기 암호변환 설정부로부터 선택된 조합 규칙을 포함하는 암호변환 알고리즘을 전달받아서 상기 입력된 암호를 상기 선택된 암호변환 알고리즘에 따라서 상기 SALT값과 조합하여 확장된 길이의 암호로 변환하는 암호변환부; 및 상기 암호변환부를 통해서 변환된 암호를 이용하여 데이터를 보안압축하는 보안압축부를 포함한다.
본 발명의 일실시예에 따르면, 데이터 또는 파일 압축시 사용자가 입력한 암호를 다양한 암호압축 방법의 조합과 긴 길이의 문자열들을 추가하여 변환함으로써 해커의 전수조사 공격을 통한 암호 탈취 가능성을 확률적으로 낮추어 암호 해킹에 사전 대응할 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 암호압축 방법을 순차적으로 도시한 순서도이다.
도 2는 본 발명의 일실시예에 따른 암호변환을 위한 사용자 입력을 선택받는 유저인터페이스를 개략적으로 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 암호압축 장치를 개략적으로 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 암호변환부의 동작을 설명하기 위한 참고도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 일실시예에 따른 암호압축 방법을 순차적으로 도시한 순서도이다.
우선, 사용자로부터 보안압축을 위한 파일 및 보안압축에 사용될 소정 길이의 암호를 입력받는다(S10). 이때, 사용자가 입력하는 암호는 소정의 숫자, 문자가 결합된 텍스트 형태로 입력될 수 있으며, 추후 보안압축 해제시 재사용할 수 있기 위해서 사용자가 기억할 수 있는 수준의 길이로 결정되는 것이 일반적이다.
한편, 사용자는 S10 단계에서 자신이 생성한 암호의 암호변환을 적용할 것인지 여부를 선택할 수 있으며, 암호변환 기능을 사용할 경우에는 적용할 암호변환 알고리즘을 선택하고, 암호변환 알고리즘 적용시 자신이 입력한 암호의 복잡도를 높이기 위하여 추가되는 SALT값을 입력한다(S20). 여기서 솔트(SALT)는 단방향 해시 함수에서 확장된 길이의 암호를 생성할 때 추가되는 바이트 단위의 임의의 문자열이며, 원본 메시지(즉, 암호)에 문자열을 추가하여 원본 메시지를 입력으로 하는 해쉬 출력 으로부터 원본 메시지의 추측을 못하도록 하는 것을 솔팅(salting)이라 한다. 예를 들어, 사용자가 "redfl0wer"라는 암호와 SALT인 "8zff4fgflgfd93fgdl4fgdgf4mlf45p1"를 설정하면, 사용자가 설정한 암호에 SALT값을 추가하여 복잡성과 보안성이 강화된 확장된 암호를 생성할 수 있다.
본 발명의 다른 일실시예에 따르면, 암호에 추가되는 SALT값은 사용자로부터 입력받거나 또는 입력 받은 암호에 대한 정보 기반의 변환을 통해서 생성될 수도 있다.
S20 단계에서 사용자의 암호변환 기능 사용 여부 및 옵션 선택이 완료되면, 암호압축 장치는 사용자로부터 입력된 암호의 암호변환 사용여부를 판단한다(S30).
만약 S20 단계에서 암호변환 기능을 사용하지 않도록 선택된 경우에는 별도의 암호변환 단계를 거치지 않고, 사용자가 입력한 암호를 이용하여 파일 보안압축을 수행한다(S50).
한편, S20 단계에서 암호변환 기능을 사용하도록 선택된 경우에는, 입력된 암호를 SALT와 결합하고 소정의 암호변환 알고리즘을 적용하여 암호를 변환한다(S40). 여기서, 소정의 암호변환 알고리즘은 쉬함수 출력값을 조합하여 암호를 변환하는 알고리즘을 의미한다.
S40 단계에서는, 우선, 입력된 암호를 상기 S20단계를 통해서 선택된 암호변환 알고리즘에 따라서 SALT값과 조합하여 확장된 길이의 암호로 변환한다. 이후, 본 발명의 다른 일실시예에 따르면, 확장 암호화 알고리즘(ECA)을 적용하여 조합된 암호의 데이터 길이를 수백배 이상으로 확장할 수 있으며, 경우에 따라서, 확장된 암호의 비트를 재별열 조합하여 랜덤하도록 믹싱 연산 과정을 거칠 수도 있다. 믹싱 연산을 위해서는 예시적으로는 블록 암호화 방식의 라운드 함수를 사용할 수도 있다. 즉, 파이스텔 구조(Feistel Structure) 또는 SPN 구조(Substitution-Permutation Network Structure) 등의 함수가 각 라운드에서 반복되어 라운드 함수를 사용하여 확장 암호의 비트 배열에 랜덤성을 부여할 수 있다. 이후, 해시함수를 사용하여 압축연산을 수행한다. 해시함수는 임의의 길이를 갖는 메시지를 고정된 길이의 코드로 출력하는 알고리즘이다. 해쉬 알고리즘에서는 키를 사용하지 않으므로, 같은 입력에 대해서는 항상 같은 출력이 나오게 된다. 압축 연산을 위해 사용되는 알고리즘은 고정된 길이의 출력을 제공하는 다양한 함수들이 사용될 수 있다. 본 발명의 일실시예에 따르면 해시함수는 MD4, MD5, SHA-1, SHA-256, SHA-512, SHA-2, SHA-3 또는 WHIRLPOOL 함수 등을 사용할 수 있다.
한편, 암호변환 알고리즘과 관련된 본 발명의 제1 실시예에 따르면, S40 단계에서 적용되는 암호변환 알고리즘은 SALT값을 입력된 암호의 앞과 뒤에 각각 결합하여 암호조합을 생성하고, 생성된 암호조합에 대해서 해시함수를 N번 계산하는 것으로 적용될 수 있다.
또한, 본 발명의 제2 실시예에 따르면, S40 단계에서 적용되는 암호변환 알고리즘은 SALT값을 입력된 암호의 앞 또는 뒤에 결합하여 암호조합을 생성하고, 생성된 암호조합에 대해서 해시함수를 N번 계산하는 것으로도 적용될 수 있다.
또한, 본 발명의 제3 실시예에 따르면, S40 단계에서 적용되는 암호변환 알고리즘은 SALT값의 해시값과 상기 입력된 암호의 해시값을 결합하여 암호조합을 생성하고, 상기 생성된 암호조합에 대해서 해시함수를 N번 계산하는 것으로도 적용될 수 있다.
위 예에서 해시함수 계산 횟수(N)은 임의의 고정값인 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니다.
S40 단계에서 적용되는 암호변환 알고리즘은, 사용자로부터 입력된 암호의 정보를 이용하여 해시함수 계산 횟수(N)을 결정할 수 있다. 구체적으로, 암호변환 알고리즘은, 사용자로부터 입력된 암호의 길이, 체크썸(Checksum), 암호값 및 암호값 간의 조합값 중 적어도 하나의 정보를 이용하여 해시함수 계산 횟수(N)을 결정할 수 있다.
예를 들어, 사용자의 입력 암호가 “APPLE” 이라면, 입력의 길이인 5를 N의 값으로 사용할 수도 있고, 또 다른 예를 들면 “APPLE” 의 CheckSum 값인 72를 N의 값으로 사용할 수도 있다.
이후, S40 단계에서 변환된 암호를 이용하여 상기 파일을 보안압축한다(S50).
도 2는 본 발명의 일실시예에 따른 암호변환을 위한 사용자 입력을 선택받는 유저인터페이스를 개략적으로 도시한 도면이다.
도시된 바와 같이, 보안압축을 위한 압축파일, 압축형식, 분할압축 여부 및 압축률 등을 선택한 후, 암호를 설정할 수 있도록 인터페이스가 구성될 수 있다. 그리고, 사용자가 생성한 암호의 암호변환을 적용할 것인지 여부를 선택할 수 있는 별도의 메뉴(20)가 구성될 수 있다.
사용자가 암호변환 기능을 사용하고자 할 경우에는 '암호 변환설정' 메뉴(21)를 체크한다. '암호 변환설정'의 체크박스가 선택되면, 암호압축 방법을 선택할 수 있도록 선택 콤보박스(23)가 활성화되며, 사용자는 기 설정된 암호변환 알고리즘 중 원하는 변환 알고리즘을 선택할 수 있다. 이와 같이, 적용할 암호변환 알고리즘을 해당 메뉴탭(23)에서 선택한 후, 암호변환 알고리즘 적용시 자신이 입력한 암호의 복잡도를 높이기 위하여 추가되는 SALT값을 활성화된 'SALT Value' 창(25)으로 입력할 수 있다.
도 3은 본 발명의 일실시예에 따른 암호압축 장치를 개략적으로 도시한 블록도이다.
도시된 바와 같이, 암호압축 장치는 암호 입력부(301), 암호변환 설정부(303), 난수 생성부(305), 암호 변환부(307) 및 보안 압축부(309)를 포함한다.
암호 입력부(301)는 사용자로부터 보안압축에 사용될 소정 길이의 암호 및 상기 암호의 확장을 위한 SALT값을 입력받을 수 있다.
암호변환 설정부(303)는 암호 입력부(301)를 통해서 사용자로부터 입력된 암호와 SALT값의 조합 규칙이 포함된 소정의 암호변환 알고리즘을 선택받아 암호변환 알고리즘을 설정한다.
암호 변환부(307)는 암호 입력부(301)로부터 입력된 암호 및 SALT값, 암호변환 설정부(3030)로부터 선택된 조합 규칙을 포함하는 암호변환 알고리즘을 전달받고, 암호 입력부(301)를 통해 입력된 암호를 상기 선택된 암호변환 알고리즘에 따라서 SALT값과 조합하여 확장된 길이의 암호로 변환한다.
만약 사용자가 암호변환 기능을 사용하지 않도록 설정한 경우에는 암호 변환부(307)는 Disable되고 별도의 암호변환 단계를 거치지 않으며, 사용자가 입력한 암호를 이용하여 파일 보안압축을 수행할 수 있다. 그러나, 사용자가 암호변환 기능을 사용하도록 설정한 경우에는, 암호 변환부(307)는 입력된 암호를 SALT와 결합하고 소정의 암호변환 알고리즘을 적용하여 암호를 변환한다. 암호 변환은 우선, 입력된 암호를 선택된 암호변환 알고리즘에 따라서 SALT값과 조합하여 확장된 길이의 암호로 변환한다.
도 4는 본 발명의 일실시예에 따른 암호 변환부(307)의 동작을 설명하기 위한 참고도이며, 암호 변환부(307)는 사용자가 입력한 암호(41)와 암호 변환방법(옵션 선택: 42) 및 SALT값(43)을 암호입력부(301) 및 암호변환 설정부(303)를 통해서 입력아서 소정의 암호변환 알고리즘을 수행하여 확장된 암호(45)를 생성한다.
본 발명의 일실시예에 따른 암호변환 알고리즘은 다음 5가지 방법으로 구성될 수 있다.
1. "SALT + 암호 + SALT"의 HASH값에 대해서 HASH함수를 N번 계산
2. "암호 + SALT의 HASH"의 HASH값에 대해서 HASH함수를 N번 계산
3. "SALT의 HASH + 암호"의 HASH값에 대해서 HASH함수를 N번 계산
4. "SALT의 HASH + 암호의 HASH"의 HASH값에 대해서 HASH함수를 N번 계산
5. "암호의 HASH + SALT의 HASH"의 HASH값에 대해서 HASH함수를 N번 계산
6. 상기 1 내지 5번 방식의 전체 또는 일부를 조합(예) [1. + 2.] , [1.+3], … , [1. + 2.+ 3.+ 4.+ 5.] 등)
본 발명의 다른 일실시예에 따르면, 암호 변환부(307)는 확장 암호화 알고리즘(ECA)을 적용하여 조합된 암호의 데이터 길이를 수백배 이상으로 확장할 수 있으며, 경우에 따라서, 확장된 암호의 비트를 재별열 조합하여 랜덤하도록 믹싱 연산 과정을 수행할 수도 있다. 이후, 해시함수를 사용하여 압축연산을 수행한다. 해시함수는 임의의 길이를 갖는 메시지를 고정된 길이의 코드로 출력하는 알고리즘이다. 압축 연산을 위해 사용되는 알고리즘은 고정된 길이의 출력을 제공하는 다양한 함수들이 사용될 수 있으며, 본 발명의 일실시예에 따르면 해시함수는 MD4, MD5, SHA-1, SHA-256, SHA-512, SHA-2, SHA-3 또는 WHIRLPOOL 함수 등을 사용할 수 있다.
보안 압축부(309)는 암호 변환부(307)를 통해서 변환된 암호를 이용하여 데이터를 보안압축한다.
이와 같이, 보안압축시 암호 입력부분에 SALT값을 추가한 암호 변환기능을 통해서 암호의 길이와 복잡도를 높일 수 있다. 따라서, 사용자가 비밀번호를 이용한 보안압축을 할 때, 암호 변환 옵션 기능을 선택함으로써 암호변환프로그램을 이용하여 입력한 암호를 충분히 긴 길이(200자 이상)로 변환한 확장된 암호를 이용하여 압축을 수행할 수 있게 된다.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
301: 암호 입력부
303: 암호변환 설정부
305: 난수 생성부
307: 암호 변환부
309: 보안 압축부

Claims (13)

  1. 보안압축 파일의 암호압축 방법에 있어서,
    사용자로부터 보안압축을 위한 파일 및 보안압축에 사용될 소정 길이의 암호를 입력받는 단계;
    사용자로부터 상기 입력된 암호의 암호변환을 위한 암호변환 알고리즘을 선택받고, 상기 선택된 암호변환 알고리즘 적용시 상기 암호에 추가되는 SALT값을 입력받는 단계;
    상기 입력된 암호를 상기 선택된 암호변환 알고리즘에 따라서 상기 SALT값과 조합하여 확장된 길이의 암호로 변환하는 단계; 및
    상기 변환된 암호를 이용하여 상기 파일을 보안압축하는 단계;를 포함하되,
    상기 확장된 길이의 암호로 변환하는 단계는, SALT값을 상기 입력된 암호의 앞과 뒤에 각각 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제1 방식, SALT값의 해시값을 상기 입력된 암호의 뒤에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제2 방식, SALT값의 해시값을 상기 입력된 암호의 앞에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제3 방식, SALT값의 해시값을 상기 입력된 암호의 해시값의 앞에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제4 방식 및 SALT값의 해시값을 상기 입력된 암호의 해시값의 뒤에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제5 방식 중 전체 또는 일부를 조합하여 입력된 암호를 상기 확장된 길이의 암호로 변환하되,
    상기 확장된 길이의 암호로 변환하는 단계는, 사용자로부터 입력된 암호의 길이, 체크썸(Checksum), 암호값 및 암호값 간의 조합값 중 적어도 하나의 정보를 이용하여 해시함수 계산 횟수(N)을 결정하며,
    상기 확장된 길이의 암호로 변환하는 단계는, 확장 암호화 알고리즘(ECA)을 적용하여 조합된 암호의 데이터 길이를 확장하고, 확장된 암호의 비트를 재배열 조합하여 랜덤하도록 블록 암호화 방식의 라운드 함수를 사용하여 믹싱 연산 과정을 수행하는 것을 특징으로 하는 암호압축 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 해시함수는 MD4, MD5, SHA-1, SHA-256, SHA-512, SHA-2, SHA-3 또는 WHIRLPOOL 함수인 것을 특징으로 하는 암호압축 방법.
  6. 제1항에 있어서, 상기 암호에 추가되는 SALT값은 사용자로부터 입력받거나 또는 입력 받은 암호의 정보를 기반으로 생성되는 것을 특징으로 하는 암호압축 방법.
  7. 사용자로부터 보안압축에 사용될 소정 길이의 암호 및 상기 암호의 확장을 위한 SALT값을 입력받는 암호입력부;
    사용자로부터 상기 입력된 암호와 상기 SALT값의 조합 규칙이 포함된 소정의 암호변환 알고리즘을 선택받아 암호변환 알고리즘을 설정하는 암호변환 설정부;
    상기 암호입력부로부터 입력된 암호 및 SALT값, 상기 암호변환 설정부로부터 선택된 조합 규칙을 포함하는 암호변환 알고리즘을 전달받아서 상기 입력된 암호를 상기 선택된 암호변환 알고리즘에 따라서 상기 SALT값과 조합하여 확장된 길이의 암호로 변환하는 암호변환부; 및
    상기 암호변환부를 통해서 변환된 암호를 이용하여 데이터를 보안압축하는 보안압축부;를 포함하되,
    상기 암호변환부는, SALT값을 상기 입력된 암호의 앞과 뒤에 각각 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제1 방식, SALT값의 해시값을 상기 입력된 암호의 뒤에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제2 방식, SALT값의 해시값을 상기 입력된 암호의 앞에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제3 방식, SALT값의 해시값을 상기 입력된 암호의 해시값의 앞에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제4 방식 및 SALT값의 해시값을 상기 입력된 암호의 해시값의 뒤에 결합하여 생성된 암호조합에 대해서 해시함수를 N번 계산하는 제5 방식 중 전체 또는 일부를 조합하여 입력된 암호를 상기 확장된 길이의 암호로 변환하되,
    상기 암호변환부는, 사용자로부터 입력된 암호의 길이, 체크썸(Checksum), 암호값 및 암호값 간의 조합값 중 적어도 하나의 정보를 이용하여 해시함수 계산 횟수(N)을 결정하며,
    상기 암호변환부는, 확장 암호화 알고리즘(ECA)을 적용하여 조합된 암호의 데이터 길이를 확장하고, 확장된 암호의 비트를 재배열 조합하여 랜덤하도록 블록 암호화 방식의 라운드 함수를 사용하여 믹싱 연산 과정을 수행하는 것을 특징으로 하는 암호압축 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 제7항에 있어서,
    상기 해시함수는 MD4, MD5, SHA-1, SHA-256, SHA-512, SHA-2, SHA-3 또는 WHIRLPOOL 함수인 것을 특징으로 하는 암호압축 장치.
  13. 제7항에 있어서,
    상기 암호에 추가되는 SALT값을 임의로 생성하는 난수 발생부를 더 포함하는 것을 특징으로 하는 암호압축 장치.
KR1020200074879A 2020-06-19 2020-06-19 보안이 개선된 암호압축 장치 및 방법 KR102407204B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200074879A KR102407204B1 (ko) 2020-06-19 2020-06-19 보안이 개선된 암호압축 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200074879A KR102407204B1 (ko) 2020-06-19 2020-06-19 보안이 개선된 암호압축 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210157057A KR20210157057A (ko) 2021-12-28
KR102407204B1 true KR102407204B1 (ko) 2022-06-10

Family

ID=79178106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200074879A KR102407204B1 (ko) 2020-06-19 2020-06-19 보안이 개선된 암호압축 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102407204B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222360A (ja) * 1999-02-01 2000-08-11 Matsushita Electric Ind Co Ltd 認証方法、認証システム及び認証処理プログラム記録媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225109B1 (en) * 2008-04-30 2012-07-17 Netapp, Inc. Method and apparatus for generating a compressed and encrypted baseline backup
KR102182894B1 (ko) * 2014-02-28 2020-11-26 삼성전자주식회사 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222360A (ja) * 1999-02-01 2000-08-11 Matsushita Electric Ind Co Ltd 認証方法、認証システム及び認証処理プログラム記録媒体

Also Published As

Publication number Publication date
KR20210157057A (ko) 2021-12-28

Similar Documents

Publication Publication Date Title
Lee et al. Data security in cloud computing using AES under HEROKU cloud
US20100239087A1 (en) Encrypting variable-length passwords to yield fixed-length encrypted passwords
KR101393806B1 (ko) 다단계 물리적 복제 불가 함수 시스템
US10853497B2 (en) Method and system for providing an update of code on a memory-constrained device
US8942373B2 (en) Data encryption and decryption method and apparatus
CN110062014B (zh) 网络模型的加密、解密方法及系统
US8995653B2 (en) Generating a secret key from an asymmetric private key
CN105553648A (zh) 量子密钥分发、隐私放大及数据传输方法、装置及系统
CN110084599B (zh) 密钥处理方法、装置、设备和存储介质
US20150195090A1 (en) Encrypted data verification system, method and recording medium
JP6305642B2 (ja) メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
KR101942030B1 (ko) 메시지에 대한 무결성 검증이 지원되는 부호 기반의 암호화가 가능한 전자 장치 및 그 동작 방법
US11436946B2 (en) Encryption device, encryption method, decryption device, and decryption method
KR101913644B1 (ko) 메시지 인증이 가능한 부호 기반 암호화 장치 및 방법
JP2015528681A (ja) メッセージデータを保護するための装置および方法
US9594918B1 (en) Computer data protection using tunable key derivation function
US9985779B2 (en) Encrypted text matching system, method, and computer readable medium
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
CN111859435B (zh) 一种数据安全处理方法及装置
KR102407204B1 (ko) 보안이 개선된 암호압축 장치 및 방법
EP2991266B1 (en) Encrypted text matching system, method, and computer readable medium
KR102315560B1 (ko) 랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술
KR20050064343A (ko) 스트림 암호를 이용한 메시지 인증 코드 구성 방법
US8799999B2 (en) Authentication method
Somboonpattanakit et al. Secure password storing using prime decomposition

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)