KR102244504B1 - 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법 - Google Patents

캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법 Download PDF

Info

Publication number
KR102244504B1
KR102244504B1 KR1020190062400A KR20190062400A KR102244504B1 KR 102244504 B1 KR102244504 B1 KR 102244504B1 KR 1020190062400 A KR1020190062400 A KR 1020190062400A KR 20190062400 A KR20190062400 A KR 20190062400A KR 102244504 B1 KR102244504 B1 KR 102244504B1
Authority
KR
South Korea
Prior art keywords
message
deleted
deletion
counter
recovering
Prior art date
Application number
KR1020190062400A
Other languages
English (en)
Other versions
KR20200136631A (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 KR1020190062400A priority Critical patent/KR102244504B1/ko
Publication of KR20200136631A publication Critical patent/KR20200136631A/ko
Application granted granted Critical
Publication of KR102244504B1 publication Critical patent/KR102244504B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법에 관한 것으로, 상기 메시지 복구 장치는 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 메시지 삭제 검출부, 메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 삭제 메시지 추정부, 상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 카운터 복구부 및 상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시 파일을 기초로 상기 삭제 메시지를 복구하는 삭제 메시지 복구부를 포함한다.

Description

캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법{APPARATUS AND METHOD FOR RECOVERING DELETED MESSAGE USING CACHE FILE}
본 발명은 캐시 파일을 이용한 삭제 메시지 복구 기술에 관한 것으로, 더욱 상세하게는 사용자들 간에 주고받는 메시지가 삭제된 경우 캐시 데이터를 이용하여 메시지를 복구할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법에 관한 것이다.
대다수의 모바일 인스턴트 메신저는 미디어 데이터와 같이 용량이 큰 데이터를 메시지로서 주고받을 때 특정 스토리지 서버에 데이터를 업로드/다운로드 하는 방법으로 데이터를 공유하고 있다. 주고받은 메시지는 일반적으로 사용자 권한으로 접근 불가능한 영역에 데이터베이스화 되어 저장되어 있으므로 데이터 획득이 어렵고, 획득을 하더라도 사용자가 임의로 삭제한 메시지는 다른 데이터로 덮어씌우기 등이 이루어져 있을 수 있으므로 복구하는 것은 매우 어려울 수 있다.
하지만, 모바일 인스턴트 메신저를 사용하여 미디어 데이터를 주고받은 경우 스마트폰의 특정 영역에 자동으로 캐시화 되어 저장될 수 있다. 또한, 대다수의 모바일 인스턴트 메신저는 사생활 보호를 위하여 대화내용 및 미디어 데이터 등을 암호화하여 주고받기 때문에 캐시화 되어 저장되어 있는 데이터들 역시 암호화될 수 있다. 해당 데이터는 서버와의 통신과정에서 생성된 캐시 데이터이므로 메신저 사용자가 대화내용을 삭제하여도 삭제되지 않은 채 저장되어 있다.
디지털 포렌식 수사에서 사용자가 삭제한 대화내용을 복구하는 것은 중요한 연구대상 중 하나이다. 따라서, 암호화 및 캐시화 되어있는 데이터를 복구하여 메신저에서 삭제한 대화내용 중 일부를 복구할 수 있다면 디지털 포렌식 수사에서 매우 유용하게 활용될 수 있을 것이다.
한국등록특허 제10-1036768(2011.05.18)호
본 발명의 일 실시예는 사용자들 간에 주고받는 메시지가 삭제된 경우 캐시 데이터를 이용하여 메시지를 복구할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 디지털 포렌식 수사에 있어서 삭제된 대화내용을 복구하여 은폐시도한 메시지를 복구하여 증거로써 사용할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 암호화에 사용된 카운터를 복구할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법을 제공하고자 한다.
실시예들 중에서, 캐시 파일을 이용한 삭제 메시지 복구 장치는 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 메시지 삭제 검출부, 메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 삭제 메시지 추정부, 상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 카운터 복구부 및 상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시파일을 기초로 상기 삭제 메시지를 복구하는 삭제 메시지 복구부를 포함한다.
상기 메시지 삭제 검출부는 상기 암호화 파일에서 상기 사용자 간의 메시지를 식별하는 메시지 식별자(ID)에 관한 연속성의 단절이 발견된 경우 메시지의 삭제를 결정할 수 있다.
상기 메시지 삭제 검출부는 상기 연속성의 단절 지점에 인접하는 전/후 메시지들 각각의 송수신 시간을 해당 메시지의 삭제와 연관시켜 저장할 수 있다.
상기 삭제 메시지 추정부는 상기 송수신 시간과 상기 타임스탬프를 비교하여 상기 송수신 시간 사이에 존재하는 복수의 후보 캐시데이터들을 상기 삭제 메시지로서 추정할 수 있다.
상기 카운터 복구부는 상기 암호문의 제1 블록을 결정하는 단계, 상기 제1 블록에 대응하는 상기 평문의 제2 블록을 결정하는 단계 및 상기 제1 및 제2 블록들을 기초로 상기 카운터를 복구하는 단계를 수행할 수 있다.
상기 카운터 복구부는 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 상기 제1 및 제2 블록들을 결정할 수 있다.
상기 카운터 복구부는 상기 제1 및 제2 블록들의 크기를 각각 16 바이트(bytes)로 결정할 수 있다.
상기 삭제 메시지 복구부는 상기 대칭키를 암호화 알고리즘에 대응하는 복호화 알고리즘에 적용하여 추정된 상기 삭제 메시지에 관한 복호화를 수행할 수 있다.
상기 암호화 알고리즘은 AES-256-GCM를 포함하고, 상기 복호화 알고리즘은 AES-256-CTR모드를 포함할 수 있다.
실시예들 중에서, 캐시(cache) 파일을 이용한 삭제 메시지 복구 방법은 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 단계, 메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 단계, 상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 단계 및 상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시파일을 기초로 상기 삭제 메시지를 복구하는 단계를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법은 디지털 포렌식 수사에 있어서 삭제된 대화내용을 복구하여 은폐시도한 메시지를 복구하여 증거로써 사용할 수 있다.
본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법은 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 암호화에 사용된 카운터를 복구할 수 있다.
도 1은 본 발명에 따른 캐시 파일을 이용한 삭제 메시지 복구 시스템의 구성을 설명하는 도면이다.
도 2는 도 1에 있는 메시지 복구 장치의 물리적 구성을 설명하는 블록도이다.
도 3은 도 1에 있는 메시지 복구 장치의 기능적 구성을 설명하는 블록도이다.
도 4는 도 1에 있는 메시지 복구 장치에서 수행되는 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.
도 5는 미디어에 따른 고정 데이터의 일 실시예를 설명하는 예시도이다.
도 6은 본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 캐시 파일을 이용한 삭제 메시지 복구 시스템의 구성을 설명하는 도면이다.
도 1을 참조하면, 캐시 파일을 이용한 삭제 메시지 복구 시스템(100)은 사용자 단말(110), 메시지 복구 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
사용자 단말(110)은 메신저를 통해 상대방과 메시지를 주고받을 수 있고 복구된 메시지를 확인할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 메시지 복구 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 메시지 복구 장치(130)와 동시에 연결될 수 있다.
메시지 복구 장치(130)는 사용자 단말(110) 간의 메시지 통신 과정에서 주고받은 메시지 파일이 삭제된 경우 이를 복구할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 여기에서, 메시지 파일은 용량이 큰 미디어 파일에 해당할 수 있다. 메시지 복구 장치(130)는 사용자 단말(110)과 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고받을 수 있다.
일 실시예에서, 메시지 복구 장치(130)는 데이터베이스(150)와 연동하여 삭제된 메시지를 복구하기 위하여 필요한 정보를 저장할 수 있다. 한편, 메시지 복구 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있다. 또한, 메시지 복구 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.
데이터베이스(150)는 사용자 간에 주고받은 메시지를 암호화하여 저장하고 이를 기초로 삭제된 데이터를 복구하는 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 사용자 단말(110)로부터 상대방과 주고받은 메시지 정보, 개인 정보 및 암호화에 사용된 정보를 저장할 수 있고, 반드시 이에 한정되지 않고, 메시지 복구 장치(130)가 삭제된 데이터를 복구하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
도 2는 도 1에 있는 메시지 복구 장치의 물리적 구성을 설명하는 블록도이다.
도 2를 참조하면, 메시지 복구 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.
프로세서(210)는 삭제된 데이터를 복구하는 과정에서의 각 동작들을 처리하는 각 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 메시지 복구 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 메시지 복구 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 메시지 복구 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 메시지 복구 장치(130)는 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 도 1에 있는 메시지 복구 장치의 기능적 구성을 설명하는 블록도이다.
도 3을 참조하면, 메시지 복구 장치(130)는 메시지 삭제 검출부(310), 삭제 메시지 추정부(330), 카운터 복구부(350), 삭제 메시지 복구부(370) 및 제어부(390)를 포함할 수 있다.
메시지 삭제 검출부(310)는 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출할 수 있다. 모바일 인스턴트 메신저인 SureSpot 애플리케이션은 미디어 데이터를 포함하는 메시지를 AES-256-GCM으로 암호화하여 주고받을 수 있다. 또한, SureSpot 애플리케이션은 IV를 message.sss 파일에 보관할 수 있고 대화내용을 삭제하는 경우 IV 역시 함께 삭제할 수 있다. 여기에서, message.sss는 암호화된 데이터를 저장하는 파일로서 주로 사용자 간에 주고받은 메시지 및 미디어 데이터를 저장할 수 있다.
SureSpot 애플리케이션은 미디어 파일을 주고받을 때 데이터를 암호화하여 서버에 전송하고, 그 데이터를 가지고 있는 URL을 상대방에게 전송할 수 있다. SureSpot 애플리케이션에서 메시지를 삭제하는 경우 message.sss 내에 있는 모든 데이터는 삭제되지만, 캐시 파일은 삭제되지 않을 수 있다. 메시지 삭제 검출부(310)는 SureSopt 애플리케이션에서 생성한 암호화 파일로부터 메시지 삭제 여부를 검출하는 동작을 수행할 수 있다.
일 실시예에서, 메시지 삭제 검출부(310)는 암호화 파일에서 사용자 간의 메시지를 식별하는 메시지 식별자(ID)에 관한 연속성의 단절이 발견된 경우 메시지의 삭제를 결정할 수 있다. 예를 들어, Message.sss 안에는 메시지 식별자로서 고유의 ID가 존재하는데 이는 1부터 시작하여 1씩 증가하는 값이 부여될 수 있고, 메시지를 삭제하는 경우에도 감소하지 않을 수 있다. 메시지 삭제 검출부(310)는 암호화 파일 내부에서 메시지 식별자를 검사하여 중간에 누락된 ID가 존재하는 경우 메시지가 삭제된 것으로 결정할 수 있다. 즉, ID의 누락은 연속성의 단절을 의미할 수 있다.
일 실시예에서, 메시지 삭제 검출부(310)는 연속성의 단절 지점에 인접하는 전/후 메시지들 각각의 송수신 시간을 해당 메시지의 삭제와 연관시켜 저장할 수 있다. 예를 들어, 메시지 ID 50이 누락된 경우 해당 지점이 연속성의 단절 지점에 해당하고, ID가 49와 51인 메시지가 전/후 메시지로서 선택될 수 있다. 메시지 삭제 검출부(310)는 메시지 식별자의 연속성이 단절된 지점의 전/후 메시지를 결정할 수 있고, 해당 메시지들 각각의 송/수신 시간을 추출하여 저장할 수 있다.
삭제 메시지 추정부(330)는 메시지 삭제가 검출된 경우 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정할 수 있다. SureSpot 애플리케이션은 애플리케이션 내부에서 미디어 파일을 삭제한 경우에 있어서 캐시 파일은 삭제되지 않고 그대로 남아 있을 수 있다. 삭제 메시지 추정부(330)는 데이터베이스(150)를 검색하여 암호화 파일에 대응되는 캐시 파일을 결정할 수 있고, 해당 캐시 파일에 기록된 타임스탬프를 이용하여 삭제된 위치를 추정함으로써 해당 위치에 저장된 캐시 데이터를 삭제 메시지로서 추정할 수 있다.
일 실시예에서, 삭제 메시지 추정부(330)는 송수신 시간과 타임스탬프를 비교하여 송수신 시간 사이에 존재하는 복수의 후보 캐시 데이터들을 삭제 메시지로서 추정할 수 있다. 즉, 삭제 메시지 추정부(330)는 메시지 삭제 검출부(310)에 의해 메시지 삭제된 지점의 전/후 메시지의 송/수신 시간을 캐시 파일의 타임스탬프에 매칭시켜 삭제된 지점으로 추정되는 위치에 존재하는 캐시 데이터들을 삭제된 메시지 후보로서 추정할 수 있다. 삭제 메시지 후보로서 추정되는 캐시 데이터는 복수 개로 존재할 수 있고, 이후 단계의 동작을 통해 실제 삭제된 메시지에 해당하는지 여부를 결정할 수 있다.
카운터 복구부(350)는 평문 및 암호문을 기초로 카운터(counter)를 복구할 수 있다. SureSpot 애플리케이션은 대화내용을 삭제할 때 IV를 함게 삭제하기 때문에, 삭제된 메시지를 복구하기 위해서는 IV 복구가 우선적으로 이루어질 필요가 있다. SureSpot 애플리케이션은 데이터를 암호화하는데 AES-256-GCM을 사용할 수 있고, AES-256-GCM은 암호화 모듈은 CTR모드와 인증 모듈을 하나로 통합한 모드로서 실제 암호화 과정은 CTR모드와 동일할 수 있다.
따라서, 카운터 복구부(350)는 CTR모드의 카운터를 복구함으로써 IV 복구에 상응할 수 있고, 다음의 수학식 1과 같이 표현될 수 있다.
[수학식 1]
Figure 112019054567494-pat00001
즉, 카운터 복구부(350)는 카운터를 복구하기 위하여 평문(PlainText)과 이에 대응하는 암호문(CipherText)를 사용할 수 있다.
일 실시예에서, 카운터 복구부(350)는 암호문의 제1 블록을 결정하는 단계, 제1 블록에 대응하는 평문의 제2 블록을 결정하는 단계 및 제1 및 제2 블록들을 기초로 카운터를 복구하는 단계를 수행할 수 있다. 카운터 복구를 위해서는 암호문 1블록에 대응하는 평문 1블록이 필요할 수 있고, 파일 헤더의 특정 영역이 고정된다는 점을 이용하여 암호문에 대응하는 평문을 결정할 수 있다.
보다 구체적으로, 카운터 복구부(350)는 카운터 복구를 위해 사용할 암호문의 특정 영역을 제1 블록으로서 결정할 수 있고, 암호문의 제1 블록이 결정된 경우 제1 블록에 대응하는 평문의 제2 블록을 결정할 수 있다. 이 때 블록 간 매칭을 위해 미디어 타입에 따른 고정 데이터를 사용할 수 있다. 카운터 복구부(350)는 암호문 제1 블록과 이에 대응하는 평문 제2 블록을 기초로 상기 수학식 1을 이용하여 카운터를 복구할 수 있다.
일 실시예에서, 카운터 복구부(350)는 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 제1 및 제2 블록들을 결정할 수 있다. 일반적으로 모바일 메신저 등 통신 기기에서 큰 데이터를 전송할 경우 데이터 절약과 전송속도 향상을 위해 데이터를 적절한 크기와 품질로 압축하여 전송할 수 있다. 이로 인해 파일 헤더(header)의 특정 영역이 고정되거나 예측 가능한 값으로 변경될 수 있으며, 카운터 복구부(350)는 이를 이용하여 암호문 1블록에 대응하는 평문 1블록 정도의 데이터를 획득할 수 있다.
예를 들어, SureSpot 애플리케이션의 경우 미디어를 전송할 때 특정 포맷으로 압축하여 전송하기 때문에 고정값이 존재할 수 있다. 도 5를 참조하면, 미디어에 따른 고정 데이터의 일 실시예를 확인할 수 있다. 도 5에서, mimeType이 Image인 경우 Bytes Offset 0x00 ~ 0xA3에서 고정 데이터를 가질 수 있고, mimeType이 audio/mp4인 경우 Bytes Offset 0x00 ~ 0x1A에서 고정 데이터를 가질 수 있다. 또한, mimeType이 Image인 경우의 고정 데이터가 audio/mp4인 경우의 고정 데이터보다 데이터 크기가 더 클 수 있다.
일 실시예에서, 카운터 복구부(350)는 제1 및 제2 블록들의 크기를 각각 16 바이트(bytes)로 결정할 수 있다. 즉, 카운터 복구에 사용되는 암호문 1블록과 이에 대응하는 평문 1블록의 크기는 모두 16 bytes에 해당할 수 있다.
삭제 메시지 복구부(370)는 카운터와 암호화에 사용된 대칭키를 이용하여 캐시 파일을 기초로 삭제 메시지를 복구할 수 있다. 삭제 메시지 복구 과정은 메시지 암호화 과정의 역순으로 수행될 수 있다. 즉, 삭제 메시지 복구부(370)는 삭제 메시지로 추정되는 캐시 데이터를 복호화하여 삭제된 원본 데이터를 획득할 수 있고, 복호화 과정에는 카운터 복구부(350)에 의해 복구된 카운터와 암호화에 사용된 대칭키가 사용될 수 있다.
일 실시예에서, 삭제 메시지 복구부(370)는 대칭키를 암호화 알고리즘에 대응하는 복호화 알고리즘에 적용하여 추정된 삭제 메시지에 관한 복호화를 수행할 수 있다. 이 경우, 복호화 알고리즘은 암호화 알고리즘의 역순으로 진행될 수 있고, 추정된 삭제 메시지는 캐시 파일에 존재하는 후보 캐시 데이터에 해당할 수 있다. 또한, 암호화에 사용된 대칭키는 SureSpot 애플리케이션의 경우 secrets.sss로부터 취득한 키와 동일할 수 있다.
모바일 인스턴트 메신저인 SureSpot 애플리케이션은 사용자의 민감한 데이터를 모두 암호화하여 저장할 수 있다. 이때, 별도로 요구하는 데이터는 없으며 아이디 생성 시 등록한 로그인 패스워드를 기반으로 모든 데이터를 암호화할 수 있다. 암호화되는 데이터는 크게 3가지로 구분할 수 있고, 예를 들어, Username.ssi, Secrets.sss, Message.sss내의 data를 포함할 수 있다. 각 데이터는 사용자 전용 개인키와 공개키, 대화를 암호화하기 위한 대칭키, 채팅을 통해 주고받은 메시지 및 미디어 데이터를 저장할 수 있다.
메시지 복구 장치(130)는 메시지 복구에 사용하기 위한 대칭키를 획득하기 위하여 대칭키를 저장하는 암호화 파일을 복호화하는 동작을 수행하는 독립적인 모듈을 포함하여 구현될 수 있다. 한편, 메시지 복구 장치(130)는 종단간 암호화가 적용된 파일에 대한 복호화를 수행하는 복호화 장치로부터 해당 대칭키를 획득할 수 있고, 이를 위하여 복호화 장치와 상호 연동하도록 결합되어 구현될 수 있다.
일 실시예에서, 암호화 알고리즘은 AES-256-GCM를 포함하고, 복호화 알고리즘은 AES-256-CTR모드를 포함할 수 있다. AES-265-GCM은 암호화 모듈인 CTR모드와 인증 모듈을 하나로 통합한 모드로서 암호화 과정은 CTR모드와 동일할 수 있다. 삭제 메시지 복구부(370)는 AES-256-GCM를 이용하여 암호화하는 과정에서 생성된 암호화 파일과 캐시 파일을 기초로 AES-256-CTR모드를 이용하여 복호화 함으로써 삭제된 메시지를 복구할 수 있다.
제어부(390)는 메시지 복구 장치(130)의 전체적인 동작을 제어하고, 메시지 삭제 검출부(310), 삭제 메시지 추정부(330), 카운터 복구부(350) 및 삭제 메시지 복구부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 도 1에 있는 메시지 복구 장치에서 수행되는 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.
도 4를 참조하면, 메시지 복구 장치(130)는 메시지 삭제 검출부(310)를 통해 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출할 수 있다(단계 S410). 메시지 복구 장치(130)는 메시지 삭제 검출부(310)에 의해 메시지 삭제가 검출된 경우 삭제 메시지 추정부(330)를 통해 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정할 수 있다(단계 S430).
또한, 메시지 복구 장치(130)는 카운터 복구부(350)를 통해 평문 및 암호문을 기초로 카운터(counter)를 복구할 수 있다(단계 S450). 메시지 복구 장치(130)는 삭제 메시지 복구부(370)를 통해 카운터와 암호화에 사용된 대칭키를 이용하여 캐시 파일을 기초로 삭제 메시지를 복구할 수 있다(단계 S470).
도 6은 본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.
도 6을 참조하면, 메시지 복구 장치(130)는 암호화 파일인 Message.sss(대화내용 DB) 내에 삭제된 메시지가 존재하는지 확인할 수 있다. 일반적으로 메시지가 삭제된 경우 메시지의 순번이 연속적이지 않게 되는데 해당 부분이 존재하는 경우 메시지가 삭제된 것으로 추측할 수 있다. 메시지 복구 장치(130)는 추측된 메시지의 앞뒤에 존재하는 메시지 송/수신 시간을 측정하여 저장할 수 있다.
또한, 메시지 복구 장치(130)는 저장된 송/수신 시간을 기반으로 타임스탬프(timestamp)를 확인하여 그 사이에 존재하는 캐시 데이터를 찾을 수 있다. 해당 캐시 데이터들은 삭제된 메시지 후보가 될 수 있다. 이후, 메시지 복구 장치(130)는 사전에 획득한 고정 데이터를 기초로 IV를 복구할 수 있고, 암호화된 메시지를 복호화 하여 삭제된 대화내용을 복구할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 캐시 파일을 이용한 삭제 메시지 복구 장치 시스템
110: 사용자 단말 130: 메시지 복구 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 메시지 삭제 검출부 330: 삭제 메시지 추정부
350: 카운터 복구부 370: 삭제 메시지 복구부
390: 제어부

Claims (10)

  1. 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 메시지 삭제 검출부;
    메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 삭제 메시지 추정부;
    상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 카운터 복구부; 및
    상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시 파일을 기초로 상기 삭제 메시지를 복구하는 삭제 메시지 복구부를 포함하되,
    상기 카운터 복구부는 상기 암호문의 제1 블록을 결정하는 단계; 상기 제1 블록에 대응하는 상기 평문의 제2 블록을 결정하는 단계; 및 상기 제1 및 제2 블록들을 기초로 상기 카운터를 복구하는 단계를 수행하는 것을 특징으로 하는 캐시(cache) 파일을 이용한 삭제 메시지 복구 장치.
  2. 제1항에 있어서, 상기 메시지 삭제 검출부는
    상기 암호화 파일에서 상기 사용자 간의 메시지를 식별하는 메시지 식별자(ID)에 관한 연속성의 단절이 발견된 경우 메시지의 삭제를 결정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
  3. 제2항에 있어서, 상기 메시지 삭제 검출부는
    상기 연속성의 단절 지점에 인접하는 전/후 메시지들 각각의 송수신 시간을 해당 메시지의 삭제와 연관시켜 저장하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
  4. 제3항에 있어서, 상기 삭제 메시지 추정부는
    상기 송수신 시간과 상기 타임스탬프를 비교하여 상기 송수신 시간 사이에 존재하는 복수의 후보 캐시 데이터들을 상기 삭제 메시지로서 추정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
  5. 삭제
  6. 제1항에 있어서, 상기 카운터 복구부는
    사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 상기 제1 및 제2 블록들을 결정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
  7. 제1항에 있어서, 상기 카운터 복구부는
    상기 제1 및 제2 블록들의 크기를 각각 16 바이트(bytes)로 결정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
  8. 제1항에 있어서, 상기 삭제 메시지 복구부는
    상기 대칭키를 암호화 알고리즘에 대응하는 복호화 알고리즘에 적용하여 추정된 상기 삭제 메시지에 관한 복호화를 수행하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
  9. 제8항에 있어서,
    상기 암호화 알고리즘은 AES-256-GCM를 포함하고, 상기 복호화 알고리즘은 AES-256-CTR모드를 포함하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
  10. 캐시(cache) 파일을 이용한 삭제 메시지 복구 장치에서 수행되는 복구 방법에 있어서,
    사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 단계;
    메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 단계;
    상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 단계; 및
    상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시 파일을 기초로 상기 삭제 메시지를 복구하는 단계를 포함하되,
    상기 카운터를 복구하는 단계는 상기 암호문의 제1 블록을 결정하는 단계; 상기 제1 블록에 대응하는 상기 평문의 제2 블록을 결정하는 단계; 및 상기 제1 및 제2 블록들을 기초로 상기 카운터를 복구하는 단계를 포함하는 것을 특징으로 하는 캐시(cache) 파일을 이용한 삭제 메시지 복구 방법.

KR1020190062400A 2019-05-28 2019-05-28 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법 KR102244504B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190062400A KR102244504B1 (ko) 2019-05-28 2019-05-28 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190062400A KR102244504B1 (ko) 2019-05-28 2019-05-28 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200136631A KR20200136631A (ko) 2020-12-08
KR102244504B1 true KR102244504B1 (ko) 2021-04-26

Family

ID=73779158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190062400A KR102244504B1 (ko) 2019-05-28 2019-05-28 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102244504B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230090513A (ko) 2021-12-15 2023-06-22 국민대학교산학협력단 Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489635B (zh) * 2021-06-18 2023-08-18 深圳软牛科技有限公司 基于微信的消息恢复方法和相关设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141245A (ja) * 1997-07-22 1999-02-12 Fujitsu Ltd 秘匿通信システム
KR100458550B1 (ko) * 2002-10-07 2004-12-03 주식회사 파이널데이터 데이터 삭제 감지, 복구 시스템 및 그 방법
KR20060058789A (ko) * 2004-11-25 2006-06-01 한국전자통신연구원 홈 네트워크 시스템에서의 데이터 보안 방법 및 장치
KR101036768B1 (ko) 2009-07-10 2011-05-25 주식회사 코아로직 파일포맷 생성장치, 그 생성장치를 포함한 멀티미디어 장치, 및 그 생성장치를 이용한 파일 복구방법
KR102065092B1 (ko) * 2016-08-26 2020-01-10 주식회사 케이티 영상 데이터를 복원하는 복원 시스템 및 이를 이용한 복원 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230090513A (ko) 2021-12-15 2023-06-22 국민대학교산학협력단 Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법

Also Published As

Publication number Publication date
KR20200136631A (ko) 2020-12-08

Similar Documents

Publication Publication Date Title
KR102330538B1 (ko) 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법
JP6878609B2 (ja) データバックアップ方法およびデータバックアップ装置、記憶媒体ならびにサーバ
CN104660589B (zh) 一种对信息进行加密控制、解析信息的方法、系统和终端
US20150244784A1 (en) Server and method, non-transitory computer readable storage medium, and mobile client terminal and method
US20150134959A1 (en) Instant Communication Method and System
CN107666479A (zh) 信息加密解密方法、装置、计算机设备和存储介质
CN107016291B (zh) 计算机测试工具和基于云服务器间安全通信的系统和方法
CN104270517A (zh) 信息加密方法和移动终端
CN113301431A (zh) 视频数据的加解密方法、装置、电子设备及系统
KR102244504B1 (ko) 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법
US8645681B1 (en) Techniques for distributing secure communication secrets
CA3026555A1 (en) Process control device, process control method, and recording medium having process control program recorded therein
US9332405B2 (en) Short message backup method, mobile terminal, and server
US9137219B1 (en) Methods and systems for securely managing multimedia data captured by mobile computing devices
CN114257562B (zh) 即时通讯方法、装置、电子设备和计算机可读存储介质
CN104852800A (zh) 数据传输方法及装置
JP2016046799A (ja) セキュリティクラウドサービスを提供するためのエージェントおよびセキュリティクラウドサービスのためのセキュリティ鍵装置
JP2009237804A (ja) 電子メールシステム
KR102216869B1 (ko) 종단간 암호화가 적용된 파일에 대한 복호화 장치 및 방법
US20090268056A1 (en) Digital camera with portrait image protecting function and portrait image protecting method thereof
Beugin et al. Building a privacy-preserving smart camera system
CN111211958B (zh) 用于提供vpn服务的方法及装置、区块链网络及节点设备
US20190014089A1 (en) Data Security Protection Method and Apparatus
JP2005242471A (ja) 情報収集転送取得システム、情報収集制御装置、情報収集制御方法、およびそのプログラム並びにそれらを記録する記録媒体
JP2008005396A (ja) データ送信方法およびシステム、プログラム、及び、記録媒体

Legal Events

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