[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20200136631A - Apparatus and method for recovering deleted message using cache file - Google Patents

Apparatus and method for recovering deleted message using cache file Download PDF

Info

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

The present invention relates to a device and method for recovering a deleted message using cache files. A message recovery device includes: a message deletion detector which detects whether a message is deleted from an encrypted file which stores an encrypted text in the process of generating the encrypted text by encrypting a plain text corresponding to a message transmitted between users; a deletion message estimating unit for estimating a deletion message based on a timestamp in the cache file corresponding to the encrypted file when a message deletion is detected; a counter recovery unit for recovering a counter based on the plain text and encrypted text; and a deleted message recovery unit for recovering the deleted message based on the cache file using the counter and the symmetric key used for encryption.

Description

캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법{APPARATUS AND METHOD FOR RECOVERING DELETED MESSAGE USING CACHE FILE}Device and method for recovering deleted messages using cache files {APPARATUS AND METHOD FOR RECOVERING DELETED MESSAGE USING CACHE FILE}

본 발명은 캐시 파일을 이용한 삭제 메시지 복구 기술에 관한 것으로, 더욱 상세하게는 사용자들 간에 주고받는 메시지가 삭제된 경우 캐시 데이터를 이용하여 메시지를 복구할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법에 관한 것이다.The present invention relates to a technology for recovering deleted messages using a cache file, and more particularly, an apparatus and method for recovering deleted messages using a cache file capable of recovering messages using cache data when messages exchanged between users are deleted. It is about.

대다수의 모바일 인스턴트 메신저는 미디어 데이터와 같이 용량이 큰 데이터를 메시지로서 주고받을 때 특정 스토리지 서버에 데이터를 업로드/다운로드 하는 방법으로 데이터를 공유하고 있다. 주고받은 메시지는 일반적으로 사용자 권한으로 접근 불가능한 영역에 데이터베이스화 되어 저장되어 있으므로 데이터 획득이 어렵고, 획득을 하더라도 사용자가 임의로 삭제한 메시지는 다른 데이터로 덮어씌우기 등이 이루어져 있을 수 있으므로 복구하는 것은 매우 어려울 수 있다.Most mobile instant messengers share data by uploading/downloading data to a specific storage server when sending and receiving large data such as media data as messages. It is difficult to obtain data because the messages sent and received are stored in a database in an area that is not accessible by the user's authority in general, and even if they are acquired, it is very difficult to recover the messages since the messages arbitrarily deleted by the user may be overwritten with other data. I can.

하지만, 모바일 인스턴트 메신저를 사용하여 미디어 데이터를 주고받은 경우 스마트폰의 특정 영역에 자동으로 캐시화 되어 저장될 수 있다. 또한, 대다수의 모바일 인스턴트 메신저는 사생활 보호를 위하여 대화내용 및 미디어 데이터 등을 암호화하여 주고받기 때문에 캐시화 되어 저장되어 있는 데이터들 역시 암호화될 수 있다. 해당 데이터는 서버와의 통신과정에서 생성된 캐시 데이터이므로 메신저 사용자가 대화내용을 삭제하여도 삭제되지 않은 채 저장되어 있다. However, when media data is exchanged using a mobile instant messenger, it may be automatically cached and stored in a specific area of the smartphone. In addition, since most of the mobile instant messengers send and receive encrypted conversation contents and media data for privacy protection, cached and stored data can also be encrypted. The data is cached data created in the process of communicating with the server, so even if the messenger user deletes the conversation, it is stored without being deleted.

디지털 포렌식 수사에서 사용자가 삭제한 대화내용을 복구하는 것은 중요한 연구대상 중 하나이다. 따라서, 암호화 및 캐시화 되어있는 데이터를 복구하여 메신저에서 삭제한 대화내용 중 일부를 복구할 수 있다면 디지털 포렌식 수사에서 매우 유용하게 활용될 수 있을 것이다.In digital forensic investigation, recovering the contents of conversations deleted by users is one of the important research subjects. Therefore, if it is possible to recover some of the conversation contents deleted by the messenger by recovering the encrypted and cached data, it will be very useful in digital forensic investigation.

한국등록특허 제10-1036768(2011.05.18)호Korean Patent Registration No. 10-1036768 (2011.05.18)

본 발명의 일 실시예는 사용자들 간에 주고받는 메시지가 삭제된 경우 캐시 데이터를 이용하여 메시지를 복구할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an apparatus and method for recovering deleted messages using a cache file capable of recovering messages using cache data when messages exchanged between users are deleted.

본 발명의 일 실시예는 디지털 포렌식 수사에 있어서 삭제된 대화내용을 복구하여 은폐시도한 메시지를 복구하여 증거로써 사용할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an apparatus and method for recovering a deleted message using a cache file that can be used as evidence by recovering a message that was attempted to conceal by recovering deleted conversation contents in a digital forensic investigation.

본 발명의 일 실시예는 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 암호화에 사용된 카운터를 복구할 수 있는 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to recover deleted messages using a cache file that can recover a counter used for encryption by using a fixed value that is different according to the type of message and is fixed to a specific area of the transmitted data in the process of message transmission between users. It is intended to provide an apparatus and method.

실시예들 중에서, 캐시 파일을 이용한 삭제 메시지 복구 장치는 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 메시지 삭제 검출부, 메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 삭제 메시지 추정부, 상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 카운터 복구부 및 상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시파일을 기초로 상기 삭제 메시지를 복구하는 삭제 메시지 복구부를 포함한다.Among embodiments, the device for recovering a deleted message using a cache file is a message deletion detection unit that detects whether to delete a message from an encrypted file storing the encrypted text in the process of generating an encrypted text by encrypting a plain text corresponding to a message transmitted between users. , When a message deletion is detected, a deletion message estimating unit for estimating a deletion message based on a timestamp in a cache file corresponding to the encrypted file, a counter recovery unit for recovering a counter based on the plaintext and the ciphertext, and And a deleted message recovery unit for recovering the deleted message based on the cache file by using the counter and the symmetric key used for encryption.

상기 메시지 삭제 검출부는 상기 암호화 파일에서 상기 사용자 간의 메시지를 식별하는 메시지 식별자(ID)에 관한 연속성의 단절이 발견된 경우 메시지의 삭제를 결정할 수 있다.The message deletion detection unit may determine the deletion of the message when it is found in the encrypted file that the continuity of the message identifier (ID) identifying the message between the users is disconnected.

상기 메시지 삭제 검출부는 상기 연속성의 단절 지점에 인접하는 전/후 메시지들 각각의 송수신 시간을 해당 메시지의 삭제와 연관시켜 저장할 수 있다.The message deletion detection unit may store a transmission/reception time of each of the preceding and following messages adjacent to the disconnection point of the continuity in association with the deletion of the corresponding message.

상기 삭제 메시지 추정부는 상기 송수신 시간과 상기 타임스탬프를 비교하여 상기 송수신 시간 사이에 존재하는 복수의 후보 캐시데이터들을 상기 삭제 메시지로서 추정할 수 있다.The deletion message estimator may compare the transmission/reception time and the timestamp to estimate a plurality of candidate cache data existing between the transmission/reception time as the deletion message.

상기 카운터 복구부는 상기 암호문의 제1 블록을 결정하는 단계, 상기 제1 블록에 대응하는 상기 평문의 제2 블록을 결정하는 단계 및 상기 제1 및 제2 블록들을 기초로 상기 카운터를 복구하는 단계를 수행할 수 있다.The counter recovery unit includes determining a first block of the ciphertext, determining a second block of the plaintext corresponding to the first block, and recovering the counter based on the first and second blocks. Can be done.

상기 카운터 복구부는 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 상기 제1 및 제2 블록들을 결정할 수 있다.The counter recovery unit may determine the first and second blocks by using a fixed value that is different according to a type of message and is fixed to a specific area of transmission data during a message transmission process between users.

상기 카운터 복구부는 상기 제1 및 제2 블록들의 크기를 각각 16 바이트(bytes)로 결정할 수 있다.The counter recovery unit may determine the sizes of the first and second blocks as 16 bytes, respectively.

상기 삭제 메시지 복구부는 상기 대칭키를 암호화 알고리즘에 대응하는 복호화 알고리즘에 적용하여 추정된 상기 삭제 메시지에 관한 복호화를 수행할 수 있다.The deleted message recovery unit may perform decryption on the estimated deleted message by applying the symmetric key to a decryption algorithm corresponding to an encryption algorithm.

상기 암호화 알고리즘은 AES-256-GCM를 포함하고, 상기 복호화 알고리즘은 AES-256-CTR모드를 포함할 수 있다.The encryption algorithm may include AES-256-GCM, and the decryption algorithm may include AES-256-CTR mode.

실시예들 중에서, 캐시(cache) 파일을 이용한 삭제 메시지 복구 방법은 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 단계, 메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 단계, 상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 단계 및 상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시파일을 기초로 상기 삭제 메시지를 복구하는 단계를 포함한다.Among the embodiments, the method of recovering a deleted message using a cache file includes detecting whether a message is deleted from an encrypted file storing the encrypted text in the process of generating an encrypted text by encrypting a plain text corresponding to a message transmitted between users. Step, when a message deletion is detected, estimating a deletion message based on a timestamp in a cache file corresponding to the encrypted file, restoring a counter based on the plaintext and the ciphertext, and the counter and the And recovering the deleted message based on the cache file by using the symmetric key used for encryption.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since it does not mean that a specific embodiment should include all of the following effects or only the following effects, it should not be understood that the scope of the rights of the disclosed technology is limited thereby.

본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법은 디지털 포렌식 수사에 있어서 삭제된 대화내용을 복구하여 은폐시도한 메시지를 복구하여 증거로써 사용할 수 있다.The apparatus and method for recovering deleted messages using a cache file according to an embodiment of the present invention may recover deleted conversation contents in a digital forensic investigation, recover a message attempted to conceal, and use it as evidence.

본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법은 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 암호화에 사용된 카운터를 복구할 수 있다.An apparatus and method for recovering deleted messages using a cache file according to an embodiment of the present invention is a counter used for encryption using a fixed value that is different depending on the type of message and is fixed to a specific area of the transmitted data in a message transmission process between users. Can be restored.

도 1은 본 발명에 따른 캐시 파일을 이용한 삭제 메시지 복구 시스템의 구성을 설명하는 도면이다.
도 2는 도 1에 있는 메시지 복구 장치의 물리적 구성을 설명하는 블록도이다.
도 3은 도 1에 있는 메시지 복구 장치의 기능적 구성을 설명하는 블록도이다.
도 4는 도 1에 있는 메시지 복구 장치에서 수행되는 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.
도 5는 미디어에 따른 고정 데이터의 일 실시예를 설명하는 예시도이다.
도 6은 본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.
1 is a diagram illustrating a configuration of a system for recovering a deleted message using a cache file according to the present invention.
FIG. 2 is a block diagram illustrating the physical configuration of the message recovery device of FIG. 1.
FIG. 3 is a block diagram illustrating a functional configuration of the message recovery device of FIG. 1.
4 is a flowchart illustrating a process of recovering a deleted message using a cache file performed by the message recovery apparatus of FIG. 1.
5 is an exemplary diagram illustrating an embodiment of fixed data according to media.
6 is a flowchart illustrating a process of recovering a deleted message using a cache file according to an embodiment of the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is merely an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, since the embodiments can be variously changed and have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, since the object or effect presented in the present invention does not mean that a specific embodiment should include all of them or only those effects, the scope of the present invention should not be understood as being limited thereto.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are used to distinguish one component from other components, and the scope of rights is not limited by these terms. For example, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that although it may be directly connected to the other component, another component may exist in the middle. On the other hand, when it is mentioned that a certain component is "directly connected" to another component, it should be understood that no other component exists in the middle. On the other hand, other expressions describing the relationship between the constituent elements, that is, "between" and "just between" or "neighboring to" and "directly neighboring to" should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions are to be understood as including plural expressions unless the context clearly indicates otherwise, and terms such as “comprise” or “have” refer to implemented features, numbers, steps, actions, components, parts, or It is to be understood that it is intended to designate that a combination exists and does not preclude the presence or addition of one or more other features or numbers, steps, actions, components, parts, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (for example, a, b, c, etc.) is used for convenience of explanation, and the identification code does not describe the order of each step, and each step has a specific sequence clearly in context. Unless otherwise stated, it may occur differently from the stated order. That is, each of the steps may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable codes on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices storing data that can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Further, the computer-readable recording medium is distributed over a computer system connected by a network, so that the computer-readable code can be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the field to which the present invention belongs, unless otherwise defined. Terms defined in commonly used dictionaries should be construed as having meanings in the context of related technologies, and cannot be construed as having an ideal or excessive formal meaning unless explicitly defined in the present application.

도 1은 본 발명에 따른 캐시 파일을 이용한 삭제 메시지 복구 시스템의 구성을 설명하는 도면이다.1 is a diagram illustrating a configuration of a system for recovering a deleted message using a cache file according to the present invention.

도 1을 참조하면, 캐시 파일을 이용한 삭제 메시지 복구 시스템(100)은 사용자 단말(110), 메시지 복구 장치(130) 및 데이터베이스(150)를 포함할 수 있다.Referring to FIG. 1, a deleted message recovery system 100 using a cache file may include a user terminal 110, a message recovery device 130, and a database 150.

사용자 단말(110)은 메신저를 통해 상대방과 메시지를 주고받을 수 있고 복구된 메시지를 확인할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 메시지 복구 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 메시지 복구 장치(130)와 동시에 연결될 수 있다. The user terminal 110 may correspond to a computing device capable of sending and receiving messages with a counterpart through a messenger and checking the recovered message, and may be implemented as a smartphone, laptop, or computer, but is not limited thereto, It can be implemented in various devices such as a tablet PC. The user terminal 110 may be connected to the message recovery device 130 through a network, and a plurality of user terminals 110 may be connected to the message recovery device 130 at the same time.

메시지 복구 장치(130)는 사용자 단말(110) 간의 메시지 통신 과정에서 주고받은 메시지 파일이 삭제된 경우 이를 복구할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 여기에서, 메시지 파일은 용량이 큰 미디어 파일에 해당할 수 있다. 메시지 복구 장치(130)는 사용자 단말(110)과 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고받을 수 있다.The message recovery device 130 may be implemented as a server corresponding to a computer or program capable of recovering message files exchanged during message communication between user terminals 110 when deleted. Here, the message file may correspond to a large media file. The message recovery device 130 may be wirelessly connected to the user terminal 110 through Bluetooth, WiFi, a communication network, and the like, and may exchange data with the user terminal 110 through a network.

일 실시예에서, 메시지 복구 장치(130)는 데이터베이스(150)와 연동하여 삭제된 메시지를 복구하기 위하여 필요한 정보를 저장할 수 있다. 한편, 메시지 복구 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있다. 또한, 메시지 복구 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.In one embodiment, the message recovery device 130 may store information necessary for recovering a deleted message in conjunction with the database 150. Meanwhile, unlike FIG. 1, the message recovery apparatus 130 may be implemented including the database 150 inside. Further, the message recovery device 130 may be implemented including a processor, a memory, a user input/output unit, and a network input/output unit, which will be described in more detail with reference to FIG. 2.

데이터베이스(150)는 사용자 간에 주고받은 메시지를 암호화하여 저장하고 이를 기초로 삭제된 데이터를 복구하는 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 사용자 단말(110)로부터 상대방과 주고받은 메시지 정보, 개인 정보 및 암호화에 사용된 정보를 저장할 수 있고, 반드시 이에 한정되지 않고, 메시지 복구 장치(130)가 삭제된 데이터를 복구하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database 150 may correspond to a storage device for storing various pieces of information necessary in a process of encrypting and storing messages exchanged between users and recovering deleted data based on the encrypted messages. The database 150 may store message information, personal information, and information used for encryption exchanged with the other party from the user terminal 110, and is not limited thereto, and the message recovery device 130 recovers deleted data. Information collected or processed in various forms during the process can be stored.

도 2는 도 1에 있는 메시지 복구 장치의 물리적 구성을 설명하는 블록도이다.FIG. 2 is a block diagram illustrating the physical configuration of the message recovery device of FIG. 1.

도 2를 참조하면, 메시지 복구 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.Referring to FIG. 2, the message recovery device 130 may include a processor 210, a memory 230, a user input/output unit 250, and a network input/output unit 270.

프로세서(210)는 삭제된 데이터를 복구하는 과정에서의 각 동작들을 처리하는 각 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 메시지 복구 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 메시지 복구 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The processor 210 can execute each procedure for processing each operation in the process of recovering the deleted data, and can manage the memory 230 that is read or written throughout the process, and the memory 230 Synchronization time between existing volatile and nonvolatile memory can be scheduled. The processor 210 can control the overall operation of the message recovery device 130, and is electrically connected to the memory 230, the user input/output unit 250, and the network input/output unit 270 to control data flow between them. I can. The processor 210 may be implemented as a CPU (Central Processing Unit) of the message recovery device 130.

메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 메시지 복구 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The memory 230 is implemented as a nonvolatile memory such as a solid state drive (SSD) or a hard disk drive (HDD), and may include an auxiliary storage device used to store all data required for the message recovery device 130, A main memory device implemented as a volatile memory such as RAM (Random Access Memory) may be included.

사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 메시지 복구 장치(130)는 서버로서 수행될 수 있다.The user input/output unit 250 may include an environment for receiving a user input and an environment for outputting specific information to a user. For example, the user input/output unit 250 may include an input device including an adapter such as a touch pad, a touch screen, an on-screen keyboard, or a pointing device, and an output device including an adapter such as a monitor or a touch screen. In one embodiment, the user input/output unit 250 may correspond to a computing device accessed through a remote connection, and in such a case, the message recovery device 130 may be performed as a server.

네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.The network input/output unit 270 includes an environment for connecting to an external device or system through a network, and includes, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a VAN ( Value Added Network) may include an adapter for communication.

도 3은 도 1에 있는 메시지 복구 장치의 기능적 구성을 설명하는 블록도이다.FIG. 3 is a block diagram illustrating a functional configuration of the message recovery device of FIG. 1.

도 3을 참조하면, 메시지 복구 장치(130)는 메시지 삭제 검출부(310), 삭제 메시지 추정부(330), 카운터 복구부(350), 삭제 메시지 복구부(370) 및 제어부(390)를 포함할 수 있다.Referring to FIG. 3, the message recovery device 130 includes a message deletion detection unit 310, a deletion message estimation unit 330, a counter recovery unit 350, a deletion message recovery unit 370, and a control unit 390. I can.

메시지 삭제 검출부(310)는 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출할 수 있다. 모바일 인스턴트 메신저인 SureSpot 애플리케이션은 미디어 데이터를 포함하는 메시지를 AES-256-GCM으로 암호화하여 주고받을 수 있다. 또한, SureSpot 애플리케이션은 IV를 message.sss 파일에 보관할 수 있고 대화내용을 삭제하는 경우 IV 역시 함께 삭제할 수 있다. 여기에서, message.sss는 암호화된 데이터를 저장하는 파일로서 주로 사용자 간에 주고받은 메시지 및 미디어 데이터를 저장할 수 있다. The message deletion detection unit 310 may detect whether a message is deleted from an encrypted file storing the encrypted text in the process of generating an encrypted text by encrypting the plain text corresponding to a message transmitted between users. The SureSpot application, a mobile instant messenger, can send and receive messages including media data by encrypting them with AES-256-GCM. In addition, the SureSpot application can store the IV in the message.sss file, and when deleting the conversation, the IV can also be deleted. Here, message.sss is a file that stores encrypted data and may mainly store messages and media data exchanged between users.

SureSpot 애플리케이션은 미디어 파일을 주고받을 때 데이터를 암호화하여 서버에 전송하고, 그 데이터를 가지고 있는 URL을 상대방에게 전송할 수 있다. SureSpot 애플리케이션에서 메시지를 삭제하는 경우 message.sss 내에 있는 모든 데이터는 삭제되지만, 캐시 파일은 삭제되지 않을 수 있다. 메시지 삭제 검출부(310)는 SureSopt 애플리케이션에서 생성한 암호화 파일로부터 메시지 삭제 여부를 검출하는 동작을 수행할 수 있다.When sending and receiving media files, the SureSpot application encrypts data and transmits it to the server, and transmits the URL containing the data to the other party. When you delete a message in the SureSpot application, all data in message.sss is deleted, but the cache file may not be deleted. The message deletion detection unit 310 may perform an operation of detecting whether a message is deleted from the encrypted file generated by the SureSopt application.

일 실시예에서, 메시지 삭제 검출부(310)는 암호화 파일에서 사용자 간의 메시지를 식별하는 메시지 식별자(ID)에 관한 연속성의 단절이 발견된 경우 메시지의 삭제를 결정할 수 있다. 예를 들어, Message.sss 안에는 메시지 식별자로서 고유의 ID가 존재하는데 이는 1부터 시작하여 1씩 증가하는 값이 부여될 수 있고, 메시지를 삭제하는 경우에도 감소하지 않을 수 있다. 메시지 삭제 검출부(310)는 암호화 파일 내부에서 메시지 식별자를 검사하여 중간에 누락된 ID가 존재하는 경우 메시지가 삭제된 것으로 결정할 수 있다. 즉, ID의 누락은 연속성의 단절을 의미할 수 있다.In an embodiment, the message deletion detection unit 310 may determine the deletion of the message when disconnection of continuity with respect to a message identifier (ID) identifying a message between users is found in the encrypted file. For example, a unique ID exists as a message identifier in Message.sss, which may be assigned a value that starts from 1 and increases by 1, and may not decrease even when a message is deleted. The message deletion detection unit 310 may determine that the message has been deleted if there is an ID missing in the middle by examining the message identifier in the encrypted file. That is, the omission of ID may mean discontinuity of continuity.

일 실시예에서, 메시지 삭제 검출부(310)는 연속성의 단절 지점에 인접하는 전/후 메시지들 각각의 송수신 시간을 해당 메시지의 삭제와 연관시켜 저장할 수 있다. 예를 들어, 메시지 ID 50이 누락된 경우 해당 지점이 연속성의 단절 지점에 해당하고, ID가 49와 51인 메시지가 전/후 메시지로서 선택될 수 있다. 메시지 삭제 검출부(310)는 메시지 식별자의 연속성이 단절된 지점의 전/후 메시지를 결정할 수 있고, 해당 메시지들 각각의 송/수신 시간을 추출하여 저장할 수 있다.In an embodiment, the message deletion detection unit 310 may store transmission/reception times of each of the messages before and after adjacent to the disconnection point of continuity in association with deletion of the corresponding message. For example, when the message ID 50 is omitted, a corresponding point corresponds to a disconnection point of continuity, and a message having IDs 49 and 51 may be selected as a before/after message. The message deletion detection unit 310 may determine a message before/after a point where the continuity of the message identifier is disconnected, and may extract and store the transmission/reception time of each of the corresponding messages.

삭제 메시지 추정부(330)는 메시지 삭제가 검출된 경우 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정할 수 있다. SureSpot 애플리케이션은 애플리케이션 내부에서 미디어 파일을 삭제한 경우에 있어서 캐시 파일은 삭제되지 않고 그대로 남아 있을 수 있다. 삭제 메시지 추정부(330)는 데이터베이스(150)를 검색하여 암호화 파일에 대응되는 캐시 파일을 결정할 수 있고, 해당 캐시 파일에 기록된 타임스탬프를 이용하여 삭제된 위치를 추정함으로써 해당 위치에 저장된 캐시 데이터를 삭제 메시지로서 추정할 수 있다.When the deletion of the message is detected, the deletion message estimating unit 330 may estimate the deletion message based on a timestamp in a cache file corresponding to the encrypted file. In the SureSpot application, when a media file is deleted from within the application, the cache file may remain without being deleted. The deletion message estimating unit 330 may search the database 150 to determine a cache file corresponding to the encrypted file, and estimate the deleted location using a timestamp recorded in the corresponding cache file to determine the cache data stored in the corresponding location. Can be estimated as a deletion message.

일 실시예에서, 삭제 메시지 추정부(330)는 송수신 시간과 타임스탬프를 비교하여 송수신 시간 사이에 존재하는 복수의 후보 캐시 데이터들을 삭제 메시지로서 추정할 수 있다. 즉, 삭제 메시지 추정부(330)는 메시지 삭제 검출부(310)에 의해 메시지 삭제된 지점의 전/후 메시지의 송/수신 시간을 캐시 파일의 타임스탬프에 매칭시켜 삭제된 지점으로 추정되는 위치에 존재하는 캐시 데이터들을 삭제된 메시지 후보로서 추정할 수 있다. 삭제 메시지 후보로서 추정되는 캐시 데이터는 복수 개로 존재할 수 있고, 이후 단계의 동작을 통해 실제 삭제된 메시지에 해당하는지 여부를 결정할 수 있다.In one embodiment, the deletion message estimating unit 330 may estimate a plurality of candidate cache data existing between the transmission/reception time as a deletion message by comparing the transmission/reception time and the timestamp. That is, the deletion message estimating unit 330 matches the transmission/reception time of the message before/after the point where the message was deleted by the message deletion detection unit 310 with the timestamp of the cache file, and exists at a position estimated as the deleted point. The cached data can be estimated as deleted message candidates. There may be a plurality of cache data estimated as a deletion message candidate, and whether it corresponds to an actual deleted message may be determined through an operation in a later step.

카운터 복구부(350)는 평문 및 암호문을 기초로 카운터(counter)를 복구할 수 있다. SureSpot 애플리케이션은 대화내용을 삭제할 때 IV를 함게 삭제하기 때문에, 삭제된 메시지를 복구하기 위해서는 IV 복구가 우선적으로 이루어질 필요가 있다. SureSpot 애플리케이션은 데이터를 암호화하는데 AES-256-GCM을 사용할 수 있고, AES-256-GCM은 암호화 모듈은 CTR모드와 인증 모듈을 하나로 통합한 모드로서 실제 암호화 과정은 CTR모드와 동일할 수 있다.The counter recovery unit 350 may recover a counter based on plain text and cipher text. Since the SureSpot application deletes the IVs when deleting the conversation contents, the IV restoration needs to be performed first in order to recover the deleted messages. The SureSpot application can use AES-256-GCM to encrypt data, and AES-256-GCM is a mode in which the encryption module combines the CTR mode and the authentication module, and the actual encryption process can be the same as the CTR mode.

따라서, 카운터 복구부(350)는 CTR모드의 카운터를 복구함으로써 IV 복구에 상응할 수 있고, 다음의 수학식 1과 같이 표현될 수 있다.Accordingly, the counter recovery unit 350 may correspond to IV recovery by recovering the counter in the CTR mode, and may be expressed as Equation 1 below.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

즉, 카운터 복구부(350)는 카운터를 복구하기 위하여 평문(PlainText)과 이에 대응하는 암호문(CipherText)를 사용할 수 있다.That is, the counter recovery unit 350 may use a plaintext and a corresponding ciphertext to recover the counter.

일 실시예에서, 카운터 복구부(350)는 암호문의 제1 블록을 결정하는 단계, 제1 블록에 대응하는 평문의 제2 블록을 결정하는 단계 및 제1 및 제2 블록들을 기초로 카운터를 복구하는 단계를 수행할 수 있다. 카운터 복구를 위해서는 암호문 1블록에 대응하는 평문 1블록이 필요할 수 있고, 파일 헤더의 특정 영역이 고정된다는 점을 이용하여 암호문에 대응하는 평문을 결정할 수 있다. In an embodiment, the counter recovery unit 350 determines a first block of ciphertext, determining a second block of plaintext corresponding to the first block, and recovers the counter based on the first and second blocks. You can perform the steps. For counter recovery, one block of plaintext corresponding to one block of ciphertext may be required, and the plaintext corresponding to the ciphertext can be determined by using the fact that a specific area of the file header is fixed.

보다 구체적으로, 카운터 복구부(350)는 카운터 복구를 위해 사용할 암호문의 특정 영역을 제1 블록으로서 결정할 수 있고, 암호문의 제1 블록이 결정된 경우 제1 블록에 대응하는 평문의 제2 블록을 결정할 수 있다. 이 때 블록 간 매칭을 위해 미디어 타입에 따른 고정 데이터를 사용할 수 있다. 카운터 복구부(350)는 암호문 제1 블록과 이에 대응하는 평문 제2 블록을 기초로 상기 수학식 1을 이용하여 카운터를 복구할 수 있다.More specifically, the counter recovery unit 350 may determine a specific area of the ciphertext to be used for counter recovery as the first block, and when the first block of the ciphertext is determined, determine a second block of the plaintext corresponding to the first block. I can. In this case, fixed data according to the media type can be used for matching between blocks. The counter recovery unit 350 may recover the counter using Equation 1 on the basis of the cipher text first block and the corresponding plain text second block.

일 실시예에서, 카운터 복구부(350)는 사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 제1 및 제2 블록들을 결정할 수 있다. 일반적으로 모바일 메신저 등 통신 기기에서 큰 데이터를 전송할 경우 데이터 절약과 전송속도 향상을 위해 데이터를 적절한 크기와 품질로 압축하여 전송할 수 있다. 이로 인해 파일 헤더(header)의 특정 영역이 고정되거나 예측 가능한 값으로 변경될 수 있으며, 카운터 복구부(350)는 이를 이용하여 암호문 1블록에 대응하는 평문 1블록 정도의 데이터를 획득할 수 있다.In an embodiment, the counter recovery unit 350 may determine the first and second blocks by using a fixed value that is different according to the type of message and is fixed to a specific area of the transmission data during a message transmission process between users. In general, when large data is transmitted from a communication device such as a mobile messenger, data can be compressed and transmitted in an appropriate size and quality to save data and improve transmission speed. Accordingly, a specific area of the file header may be fixed or changed to a predictable value, and the counter recovery unit 350 may obtain data of about 1 block of plaintext corresponding to 1 block of ciphertext by using this.

예를 들어, SureSpot 애플리케이션의 경우 미디어를 전송할 때 특정 포맷으로 압축하여 전송하기 때문에 고정값이 존재할 수 있다. 도 5를 참조하면, 미디어에 따른 고정 데이터의 일 실시예를 확인할 수 있다. 도 5에서, mimeType이 Image인 경우 Bytes Offset 0x00 ~ 0xA3에서 고정 데이터를 가질 수 있고, mimeType이 audio/mp4인 경우 Bytes Offset 0x00 ~ 0x1A에서 고정 데이터를 가질 수 있다. 또한, mimeType이 Image인 경우의 고정 데이터가 audio/mp4인 경우의 고정 데이터보다 데이터 크기가 더 클 수 있다.For example, in the case of the SureSpot application, since media is compressed and transmitted in a specific format when transmitting, a fixed value may exist. Referring to FIG. 5, an embodiment of fixed data according to media can be confirmed. In FIG. 5, when mimeType is Image, fixed data may be obtained from Bytes Offset 0x00 to 0xA3, and if mimeType is audio/mp4, fixed data may be obtained from Bytes Offset 0x00 to 0x1A. In addition, fixed data when mimeType is Image may have a larger data size than fixed data when audio/mp4 is used.

일 실시예에서, 카운터 복구부(350)는 제1 및 제2 블록들의 크기를 각각 16 바이트(bytes)로 결정할 수 있다. 즉, 카운터 복구에 사용되는 암호문 1블록과 이에 대응하는 평문 1블록의 크기는 모두 16 bytes에 해당할 수 있다.In an embodiment, the counter recovery unit 350 may determine the sizes of the first and second blocks as 16 bytes, respectively. That is, the size of one block of cipher text used for counter recovery and one block of plain text corresponding thereto may correspond to 16 bytes.

삭제 메시지 복구부(370)는 카운터와 암호화에 사용된 대칭키를 이용하여 캐시 파일을 기초로 삭제 메시지를 복구할 수 있다. 삭제 메시지 복구 과정은 메시지 암호화 과정의 역순으로 수행될 수 있다. 즉, 삭제 메시지 복구부(370)는 삭제 메시지로 추정되는 캐시 데이터를 복호화하여 삭제된 원본 데이터를 획득할 수 있고, 복호화 과정에는 카운터 복구부(350)에 의해 복구된 카운터와 암호화에 사용된 대칭키가 사용될 수 있다.The deleted message recovery unit 370 may recover the deleted message based on the cache file using a counter and a symmetric key used for encryption. The deleted message recovery process may be performed in the reverse order of the message encryption process. That is, the deletion message recovery unit 370 may decrypt the cache data estimated as the deletion message to obtain the deleted original data, and in the decryption process, the counter recovered by the counter recovery unit 350 and the symmetrical used for encryption The key can be used.

일 실시예에서, 삭제 메시지 복구부(370)는 대칭키를 암호화 알고리즘에 대응하는 복호화 알고리즘에 적용하여 추정된 삭제 메시지에 관한 복호화를 수행할 수 있다. 이 경우, 복호화 알고리즘은 암호화 알고리즘의 역순으로 진행될 수 있고, 추정된 삭제 메시지는 캐시 파일에 존재하는 후보 캐시 데이터에 해당할 수 있다. 또한, 암호화에 사용된 대칭키는 SureSpot 애플리케이션의 경우 secrets.sss로부터 취득한 키와 동일할 수 있다.In an embodiment, the deletion message recovery unit 370 may perform decryption on the estimated deleted message by applying the symmetric key to a decryption algorithm corresponding to the encryption algorithm. In this case, the decryption algorithm may proceed in the reverse order of the encryption algorithm, and the estimated deletion message may correspond to candidate cache data existing in the cache file. Also, the symmetric key used for encryption may be the same as the key obtained from secrets.sss in the case of the SureSpot application.

모바일 인스턴트 메신저인 SureSpot 애플리케이션은 사용자의 민감한 데이터를 모두 암호화하여 저장할 수 있다. 이때, 별도로 요구하는 데이터는 없으며 아이디 생성 시 등록한 로그인 패스워드를 기반으로 모든 데이터를 암호화할 수 있다. 암호화되는 데이터는 크게 3가지로 구분할 수 있고, 예를 들어, Username.ssi, Secrets.sss, Message.sss내의 data를 포함할 수 있다. 각 데이터는 사용자 전용 개인키와 공개키, 대화를 암호화하기 위한 대칭키, 채팅을 통해 주고받은 메시지 및 미디어 데이터를 저장할 수 있다.The SureSpot application, a mobile instant messenger, can encrypt and store all of the user's sensitive data. At this time, there is no data required separately, and all data can be encrypted based on the login password registered when creating the ID. Encrypted data can be classified into three broad categories, and for example, data in Username.ssi, Secrets.sss, and Message.sss can be included. Each data can store a user-only private key and public key, a symmetric key for encrypting conversations, and messages and media data exchanged through chat.

메시지 복구 장치(130)는 메시지 복구에 사용하기 위한 대칭키를 획득하기 위하여 대칭키를 저장하는 암호화 파일을 복호화하는 동작을 수행하는 독립적인 모듈을 포함하여 구현될 수 있다. 한편, 메시지 복구 장치(130)는 종단간 암호화가 적용된 파일에 대한 복호화를 수행하는 복호화 장치로부터 해당 대칭키를 획득할 수 있고, 이를 위하여 복호화 장치와 상호 연동하도록 결합되어 구현될 수 있다.The message recovery device 130 may be implemented by including an independent module that performs an operation of decrypting an encrypted file storing the symmetric key in order to obtain a symmetric key for use in message recovery. Meanwhile, the message recovery device 130 may obtain a corresponding symmetric key from a decryption device that decrypts a file to which end-to-end encryption has been applied, and for this purpose, it may be combined and implemented to interwork with the decryption device.

일 실시예에서, 암호화 알고리즘은 AES-256-GCM를 포함하고, 복호화 알고리즘은 AES-256-CTR모드를 포함할 수 있다. AES-265-GCM은 암호화 모듈인 CTR모드와 인증 모듈을 하나로 통합한 모드로서 암호화 과정은 CTR모드와 동일할 수 있다. 삭제 메시지 복구부(370)는 AES-256-GCM를 이용하여 암호화하는 과정에서 생성된 암호화 파일과 캐시 파일을 기초로 AES-256-CTR모드를 이용하여 복호화 함으로써 삭제된 메시지를 복구할 수 있다.In one embodiment, the encryption algorithm may include AES-256-GCM, and the decryption algorithm may include AES-256-CTR mode. AES-265-GCM is a mode in which the encryption module CTR mode and the authentication module are integrated into one, and the encryption process can be the same as the CTR mode. The deleted message recovery unit 370 may recover the deleted message by decrypting using the AES-256-CTR mode based on the encrypted file and the cache file generated in the process of encrypting using the AES-256-GCM.

제어부(390)는 메시지 복구 장치(130)의 전체적인 동작을 제어하고, 메시지 삭제 검출부(310), 삭제 메시지 추정부(330), 카운터 복구부(350) 및 삭제 메시지 복구부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit 390 controls the overall operation of the message recovery device 130, and a control flow between the message deletion detection unit 310, the deletion message estimation unit 330, the counter recovery unit 350, and the deleted message recovery unit 370 Or you can manage the data flow.

도 4는 도 1에 있는 메시지 복구 장치에서 수행되는 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.4 is a flowchart illustrating a process of recovering a deleted message using a cache file performed by the message recovery apparatus of FIG. 1.

도 4를 참조하면, 메시지 복구 장치(130)는 메시지 삭제 검출부(310)를 통해 사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출할 수 있다(단계 S410). 메시지 복구 장치(130)는 메시지 삭제 검출부(310)에 의해 메시지 삭제가 검출된 경우 삭제 메시지 추정부(330)를 통해 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정할 수 있다(단계 S430).4, the message recovery device 130 encrypts the plain text corresponding to the message transmitted between users through the message deletion detection unit 310 to determine whether to delete the message from the encrypted file storing the encrypted text in the process of generating the encrypted text. Can be detected (step S410). When a message deletion is detected by the message deletion detection unit 310, the message recovery apparatus 130 may estimate the deletion message based on a timestamp in the cache file corresponding to the encrypted file through the deletion message estimating unit 330. (Step S430).

또한, 메시지 복구 장치(130)는 카운터 복구부(350)를 통해 평문 및 암호문을 기초로 카운터(counter)를 복구할 수 있다(단계 S450). 메시지 복구 장치(130)는 삭제 메시지 복구부(370)를 통해 카운터와 암호화에 사용된 대칭키를 이용하여 캐시 파일을 기초로 삭제 메시지를 복구할 수 있다(단계 S470).In addition, the message recovery device 130 may recover a counter based on the plain text and the encrypted text through the counter recovery unit 350 (step S450). The message recovery device 130 may recover the deleted message based on the cache file using a counter and a symmetric key used for encryption through the deleted message recovery unit 370 (step S470).

도 6은 본 발명의 일 실시예에 따른 캐시 파일을 이용한 삭제 메시지 복구 과정을 설명하는 순서도이다.6 is a flowchart illustrating a process of recovering a deleted message using a cache file according to an embodiment of the present invention.

도 6을 참조하면, 메시지 복구 장치(130)는 암호화 파일인 Message.sss(대화내용 DB) 내에 삭제된 메시지가 존재하는지 확인할 수 있다. 일반적으로 메시지가 삭제된 경우 메시지의 순번이 연속적이지 않게 되는데 해당 부분이 존재하는 경우 메시지가 삭제된 것으로 추측할 수 있다. 메시지 복구 장치(130)는 추측된 메시지의 앞뒤에 존재하는 메시지 송/수신 시간을 측정하여 저장할 수 있다.Referring to FIG. 6, the message recovery device 130 may check whether a deleted message exists in the encrypted file Message.sss (conversation content DB). In general, when a message is deleted, the sequence numbers of the messages are not continuous. If the corresponding part exists, it can be assumed that the message has been deleted. The message recovery device 130 may measure and store a message transmission/reception time existing before and after the estimated message.

또한, 메시지 복구 장치(130)는 저장된 송/수신 시간을 기반으로 타임스탬프(timestamp)를 확인하여 그 사이에 존재하는 캐시 데이터를 찾을 수 있다. 해당 캐시 데이터들은 삭제된 메시지 후보가 될 수 있다. 이후, 메시지 복구 장치(130)는 사전에 획득한 고정 데이터를 기초로 IV를 복구할 수 있고, 암호화된 메시지를 복호화 하여 삭제된 대화내용을 복구할 수 있다.Further, the message recovery device 130 may check a timestamp based on the stored transmission/reception time and find cache data existing therebetween. Corresponding cache data may be candidates for deleted messages. Thereafter, the message recovery device 130 may recover the IV based on the previously acquired fixed data, and may recover the deleted conversation contents by decrypting the encrypted message.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art will variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that you can do it.

100: 캐시 파일을 이용한 삭제 메시지 복구 장치 시스템
110: 사용자 단말 130: 메시지 복구 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 메시지 삭제 검출부 330: 삭제 메시지 추정부
350: 카운터 복구부 370: 삭제 메시지 복구부
390: 제어부
100: Deleted message recovery device system using cache files
110: user terminal 130: message recovery device
150: database
210: processor 230: memory
250: user input/output unit 270: network input/output unit
310: message deletion detection unit 330: deletion message estimation unit
350: counter recovery unit 370: deleted message recovery unit
390: control unit

Claims (10)

사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 메시지 삭제 검출부;
메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 삭제 메시지 추정부;
상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 카운터 복구부; 및
상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시 파일을 기초로 상기 삭제 메시지를 복구하는 삭제 메시지 복구부를 포함하는 캐시(cache) 파일을 이용한 삭제 메시지 복구 장치.
A message deletion detector configured to detect whether a message is deleted from an encrypted file storing the encrypted text in the process of generating an encrypted text by encrypting a plain text corresponding to a message transmitted between users;
A deletion message estimating unit for estimating a deletion message based on a timestamp in a cache file corresponding to the encrypted file when a message deletion is detected;
A counter recovery unit for recovering a counter based on the plain text and the cipher text; And
A deleted message recovery apparatus using a cache file including a deleted message recovery unit for recovering the deleted message based on the cache file using the counter and the symmetric key used for encryption.
제1항에 있어서, 상기 메시지 삭제 검출부는
상기 암호화 파일에서 상기 사용자 간의 메시지를 식별하는 메시지 식별자(ID)에 관한 연속성의 단절이 발견된 경우 메시지의 삭제를 결정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 1, wherein the message deletion detection unit
And determining deletion of the message when a discontinuity in continuity with respect to a message identifier (ID) identifying a message between users is found in the encrypted file.
제2항에 있어서, 상기 메시지 삭제 검출부는
상기 연속성의 단절 지점에 인접하는 전/후 메시지들 각각의 송수신 시간을 해당 메시지의 삭제와 연관시켜 저장하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 2, wherein the message deletion detection unit
A deleted message recovery apparatus using a cache file, characterized in that for storing transmission/reception times of each of the preceding/post messages adjacent to the disconnection point of the continuity in association with deletion of the corresponding message.
제3항에 있어서, 상기 삭제 메시지 추정부는
상기 송수신 시간과 상기 타임스탬프를 비교하여 상기 송수신 시간 사이에 존재하는 복수의 후보 캐시 데이터들을 상기 삭제 메시지로서 추정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 3, wherein the deletion message estimation unit
And comparing the transmission/reception time with the timestamp and estimating a plurality of candidate cache data existing between the transmission/reception time as the deletion message.
제1항에 있어서, 상기 카운터 복구부는
상기 암호문의 제1 블록을 결정하는 단계;
상기 제1 블록에 대응하는 상기 평문의 제2 블록을 결정하는 단계; 및
상기 제1 및 제2 블록들을 기초로 상기 카운터를 복구하는 단계를 수행하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 1, wherein the counter recovery unit
Determining a first block of the ciphertext;
Determining a second block of the plaintext corresponding to the first block; And
A deleted message recovery device using a cache file, characterized in that performing the step of recovering the counter based on the first and second blocks.
제5항에 있어서, 상기 카운터 복구부는
사용자 간의 메시지 전송 과정에서 메시지의 유형에 따라 상이하고 전송 데이터의 특정 영역에 고정되는 고정값을 이용하여 상기 제1 및 제2 블록들을 결정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 5, wherein the counter recovery unit
A device for recovering deleted messages using a cache file, wherein the first and second blocks are determined using a fixed value that is different according to a message type and fixed to a specific area of transmission data during a message transmission process between users.
제5항에 있어서, 상기 카운터 복구부는
상기 제1 및 제2 블록들의 크기를 각각 16 바이트(bytes)로 결정하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 5, wherein the counter recovery unit
A device for recovering a deleted message using a cache file, characterized in that the sizes of the first and second blocks are each determined to be 16 bytes.
제1항에 있어서, 상기 삭제 메시지 복구부는
상기 대칭키를 암호화 알고리즘에 대응하는 복호화 알고리즘에 적용하여 추정된 상기 삭제 메시지에 관한 복호화를 수행하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 1, wherein the deletion message recovery unit
And decrypting the estimated deleted message by applying the symmetric key to a decryption algorithm corresponding to an encryption algorithm.
제8제항에 있어서,
상기 암호화 알고리즘은 AES-256-GCM를 포함하고, 상기 복호화 알고리즘은 AES-256-CTR모드를 포함하는 것을 특징으로 하는 캐시 파일을 이용한 삭제 메시지 복구 장치.
The method of claim 8,
The encryption algorithm includes AES-256-GCM, and the decryption algorithm includes AES-256-CTR mode.
캐시(cache) 파일을 이용한 삭제 메시지 복구 장치에서 수행되는 복구 방법에 있어서,
사용자 간에 전송되는 메시지에 해당하는 평문을 암호화하여 암호문을 생성하는 과정에서, 상기 암호문을 저장하는 암호화 파일로부터 메시지 삭제 여부를 검출하는 단계;
메시지 삭제가 검출된 경우 상기 암호화 파일에 대응되는 캐시 파일에서 타임스탬프를 기초로 삭제 메시지를 추정하는 단계;
상기 평문 및 상기 암호문을 기초로 카운터(counter)를 복구하는 단계; 및
상기 카운터와 상기 암호화에 사용된 대칭키를 이용하여 상기 캐시 파일을 기초로 상기 삭제 메시지를 복구하는 단계를 포함하는 캐시(cache) 파일을 이용한 삭제 메시지 복구 방법.

In the recovery method performed in a deleted message recovery device using a cache file,
Detecting whether a message is deleted from an encrypted file storing the encrypted text in the process of generating an encrypted text by encrypting a plain text corresponding to a message transmitted between users;
Estimating a deletion message based on a timestamp in a cache file corresponding to the encrypted file when a message deletion is detected;
Recovering a counter based on the plaintext and the ciphertext; And
And recovering the deleted message based on the cache file by using the counter and the symmetric key used for encryption.

KR1020190062400A 2019-05-28 2019-05-28 Apparatus and method for recovering deleted message using cache file KR102244504B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190062400A KR102244504B1 (en) 2019-05-28 2019-05-28 Apparatus and method for recovering deleted message using cache file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190062400A KR102244504B1 (en) 2019-05-28 2019-05-28 Apparatus and method for recovering deleted message using cache file

Publications (2)

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

Family

ID=73779158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190062400A KR102244504B1 (en) 2019-05-28 2019-05-28 Apparatus and method for recovering deleted message using cache file

Country Status (1)

Country Link
KR (1) KR102244504B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489635A (en) * 2021-06-18 2021-10-08 深圳软牛科技有限公司 WeChat-based message recovery method and related equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102644076B1 (en) 2021-12-15 2024-03-07 국민대학교산학협력단 Apparatus and method for recovering deleted chat messages based on fts index data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141245A (en) * 1997-07-22 1999-02-12 Fujitsu Ltd Enciphered communication system
KR20040031516A (en) * 2002-10-07 2004-04-13 주식회사 파이널데이터 Data delete detecting and recovering system and methode thereof
KR20060058789A (en) * 2004-11-25 2006-06-01 한국전자통신연구원 Method and apparatus for data security on home network system
KR101036768B1 (en) 2009-07-10 2011-05-25 주식회사 코아로직 File format generating device, multimedia apparatus comprising the same device, and method for recovering abnormal file using the same device
KR20180023724A (en) * 2016-08-26 2018-03-07 주식회사 케이티 System for restoration of image data and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1141245A (en) * 1997-07-22 1999-02-12 Fujitsu Ltd Enciphered communication system
KR20040031516A (en) * 2002-10-07 2004-04-13 주식회사 파이널데이터 Data delete detecting and recovering system and methode thereof
KR20060058789A (en) * 2004-11-25 2006-06-01 한국전자통신연구원 Method and apparatus for data security on home network system
KR101036768B1 (en) 2009-07-10 2011-05-25 주식회사 코아로직 File format generating device, multimedia apparatus comprising the same device, and method for recovering abnormal file using the same device
KR20180023724A (en) * 2016-08-26 2018-03-07 주식회사 케이티 System for restoration of image data and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489635A (en) * 2021-06-18 2021-10-08 深圳软牛科技有限公司 WeChat-based message recovery method and related equipment
CN113489635B (en) * 2021-06-18 2023-08-18 深圳软牛科技有限公司 WeChat-based message recovery method and related equipment

Also Published As

Publication number Publication date
KR102244504B1 (en) 2021-04-26

Similar Documents

Publication Publication Date Title
US10645430B2 (en) Reducing time to first encrypted frame in a content stream
KR102330538B1 (en) Roaming content wipe actions across devices
JP6878609B2 (en) Data backup methods and data backup devices, storage media and servers
CN104660589B (en) Method, system and terminal for encrypting control and information analysis of information
CN113301431A (en) Video data encryption and decryption method and device, electronic equipment and system
US20150134959A1 (en) Instant Communication Method and System
CN109450777B (en) Session information extraction method, device, equipment and medium
CN103457995A (en) Data information storage method for terminal equipment, terminal equipment and cloud terminal server
CN102932786A (en) Information transmission method and terminal
CN104270516A (en) Decryption method and mobile terminal
KR102244504B1 (en) Apparatus and method for recovering deleted message using cache file
US8645681B1 (en) Techniques for distributing secure communication secrets
US9332405B2 (en) Short message backup method, mobile terminal, and server
WO2023065772A1 (en) Log data processing method and apparatus, storage medium, and electronic device
CN114257562B (en) Instant messaging method, device, electronic equipment and computer readable storage medium
Beugin et al. Building a privacy-preserving smart camera system
CN104852800A (en) Data transmission method and device
JP2016184917A (en) Monitoring system and reproduction device
WO2016146046A1 (en) Data access method and device
KR102216869B1 (en) Apparatus and method for decrypting end-to-end encrypted files
US20090268056A1 (en) Digital camera with portrait image protecting function and portrait image protecting method thereof
US20190014089A1 (en) Data Security Protection Method and Apparatus
CN111211958B (en) Method and device for providing VPN (virtual private network) service, block chain network and node equipment
KR101571377B1 (en) System and method for beacon data
Hur et al. Forensic analysis for multi-platform Cisco Webex

Legal Events

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