KR102644076B1 - Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법 - Google Patents

Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법 Download PDF

Info

Publication number
KR102644076B1
KR102644076B1 KR1020210179354A KR20210179354A KR102644076B1 KR 102644076 B1 KR102644076 B1 KR 102644076B1 KR 1020210179354 A KR1020210179354 A KR 1020210179354A KR 20210179354 A KR20210179354 A KR 20210179354A KR 102644076 B1 KR102644076 B1 KR 102644076B1
Authority
KR
South Korea
Prior art keywords
chat message
chat
index data
fts
deleted
Prior art date
Application number
KR1020210179354A
Other languages
English (en)
Other versions
KR20230090513A (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 KR1020210179354A priority Critical patent/KR102644076B1/ko
Publication of KR20230090513A publication Critical patent/KR20230090513A/ko
Application granted granted Critical
Publication of KR102644076B1 publication Critical patent/KR102644076B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Operations Research (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법에 관한 것으로, 상기 채팅 메시지 복구 장치는 복수의 사용자들의 참여를 통해 대화방을 생성하는 대화방 생성부, 상기 대화방을 통해 채팅 메시지를 입력받고 상기 대화방 상의 채팅 메시지 쓰레드를 갱신하며, 특정 채팅 메시지의 삭제 요청이 수신된 경우에는 상기 채팅 메시지 쓰레드에서 상기 특정 채팅 메시지를 삭제하는 채팅 메시지 관리부, 상기 메시지 쓰레드의 갱신과정에서 상기 채팅 메시지에 대한 FTS (Full-Text Search) 색인데이터를 생성하는 FTS 색인데이터 생성부, 및 상기 특정 채팅 메시지의 복원 요청이 수신되면 상기 FTS 색인데이터의 검색을 수행하여 상기 특정 채팅 메시지의 복원을 수행하는 채팅 메시지 복원부를 포함한다.

Description

FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법{APPARATUS AND METHOD FOR RECOVERING DELETED CHAT MESSAGES BASED ON FTS INDEX DATA}
본 발명은 FTS(Full-Text Search) 색인데이터 기반의 삭제 채팅 메시지 복구 기술에 관한 것으로, 더욱 상세하게는 사용자들 간에 주고받는 채팅 메시지가 삭제된 경우 FTS 색인데이터를 통해 채팅 메시지를 복구할 수 있는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법에 관한 것이다.
스마트폰 사용이 대중화되면서 모바일 인스턴트 메신저(이하, '메신저'라 함)는 스마트폰을 활용한 통신의 필수적인 요소가 되었다. 메신저는 기본적인 통화, 메시지 기능 외에도 파일전송, 결재 및 송금 기능과 같은 다양한 기능을 제공하고 있다. 결과적으로 현대 디지털 수사에서 메신저 데이터는 주요 증거물로 활용되고 있다.
메신저 데이터를 분석할 때, 각 메신저에서 제공하는 선택적으로 특정 메시지를 삭제할 수 있는 기능은 안티포렌식 기술로 작용한다. 초기 메시지 삭제 기능의 경우 삭제(delete) 키를 이용한 기본 삭제 기능을 사용하므로 스마트폰의 비할당 영역 등을 분석하여 데이터를 복원할 수 있었다.
하지만, 최신 버전의 메신저들은 주고받은 메시지가 저장되어 있는 데이터베이스의 “SQLITE_SECURE_DELETE” 등의 보안 삭제 기능을 통해 메시지를 삭제하므로 데이터를 복구할 수 없다. 특히, 메신저가 범죄에 활용된 경우 삭제된 메시지는 중요한 정보를 포함하고 있을 가능성이 크다.
따라서, 디지털 수사를 위해 삭제된 메시지에 대한 향상된 복구 기술이 필요하다.
한국등록특허 제10-2244504(2021.04.20)호
본 발명의 일 실시예는 사용자들 간에 주고받는 채팅 메시지가 삭제된 경우 FTS 색인데이터를 통해 채팅 메시지를 복구할 수 있는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 디지털 포렌식 수사에 있어서 삭제된 대화내용을 복구하여 은폐시도한 메시지를 복구하여 증거로써 사용할 수 있는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 원본 데이터를 기반으로 데이터 검색을 위해 자동 생성되는 색인데이터를 분석하여 삭제된 데이터를 복구할 수 있는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법을 제공하고자 한다.
실시예들 중에서, FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치는 복수의 사용자들의 참여를 통해 대화방을 생성하는 대화방 생성부, 상기 대화방을 통해 채팅 메시지를 입력받고 상기 대화방 상의 채팅 메시지 쓰레드를 갱신하며, 특정 채팅 메시지의 삭제 요청이 수신된 경우에는 상기 채팅 메시지 쓰레드에서 상기 특정 채팅 메시지를 삭제하는 채팅 메시지 관리부, 상기 메시지 쓰레드의 갱신과정에서 상기 채팅 메시지에 대한 FTS (Full-Text Search) 색인데이터를 생성하는 FTS 색인데이터 생성부, 및 상기 특정 채팅 메시지의 복원 요청이 수신되면 상기 FTS 색인데이터의 검색을 수행하여 상기 특정 채팅 메시지의 복원을 수행하는 채팅 메시지 복원부를 포함한다.
상기 FTS 색인데이터 생성부는 상기 채팅 메시지에 대한 적어도 하나의 키워드를 추출할 수 있다.
상기 FTS 색인데이터 생성부는 상기 적어도 하나의 키워드에 관한 상기 채팅 메시지 쓰레드 상에서의 위치 데이터를 기초로 상기 FTS 색인데이터를 생성할 수 있다.
상기 FTS 색인데이터 생성부는 상기 적어도 하나의 키워드에 관한 위치 데이터를 상기 채팅 메시지 쓰레드에서의 절대적 위치로서 동일한 값을 설정할 수 있다.
상기 채팅 메시지 복원부는 상기 채팅 메시지 쓰레드 상에서 상기 특정 채팅 메시지의 위치 데이터를 검출할 수 있다.
상기 채팅 메시지 복원부는 상기 검출된 위치 데이터를 기초로 상기 FTS 색인데이터의 검색을 수행하여 적어도 하나의 해당 키워드를 결정할 수 있다.
상기 채팅 메시지 복원부는 상기 적어도 하나의 해당 키워드의 시맨틱 조합을 통해 상기 특정 채팅 메시지의 복원을 수행할 수 있다.
상기 채팅 메시지 복원부는 상기 시맨틱 조합이 과정에서 상기 적어도 하나의 해당 키워드 각각에 관한 중요도를 결정하고, 가장 중요도가 높은 N 개(상기 N은 자연수)의 중요 키워드를 선별할 수 있다.
상기 채팅 메시지 복원부는 상기 N 개의 중요 키워드에 관한 시계열 분석을 수행하여 중요 키워드 배치를 수행하고 나머지 키워드를 기초로 상기 중요 키워드 배치를 갱신할 수 있다.
실시예들 중에서, FTS 색인데이터 기반의 삭제 채팅 메시지 복구 방법은 복수의 사용자들의 참여를 통해 대화방을 생성하는 대화방 생성단계, 상기 대화방을 통해 채팅 메시지를 입력받고 상기 대화방 상의 채팅 메시지 쓰레드를 갱신하며, 특정 채팅 메시지의 삭제 요청이 수신된 경우에는 상기 채팅 메시지 쓰레드에서 상기 특정 채팅 메시지를 삭제하는 채팅 메시지 관리단계, 상기 메시지 쓰레드의 갱신과정에서 상기 채팅 메시지에 대한 FTS (Full-Text Search) 색인데이터를 생성하는 FTS 색인데이터 생성단계, 및 상기 특정 채팅 메시지의 복원 요청이 수신되면 상기 FTS 색인데이터의 검색을 수행하여 상기 특정 채팅 메시지의 복원을 수행하는 채팅 메시지 복원단계를 포함한다.
상기 FTS 색인데이터 생성단계는 상기 채팅 메시지에 대한 적어도 하나의 키워드를 추출할 수 있다.
상기 FTS 색인데이터 생성단계는 상기 적어도 하나의 키워드에 관한 상기 채팅 메시지 쓰레드 상에서의 위치 데이터를 기초로 상기 FTS 색인데이터를 생성할 수 있다.
상기 채팅 메시지 복원단계는 상기 채팅 메시지 쓰레드 상에서 상기 특정 채팅 메시지의 위치 데이터를 검출할 수 있다.
상기 채팅 메시지 복원단계는 상기 검출된 위치 데이터를 기초로 상기 FTS 색인데이터의 검색을 수행하여 적어도 하나의 해당 키워드를 결정할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법은 디지털 포렌식 수사에 있어서 삭제된 대화내용을 복구하여 은폐시도한 메시지를 복구하여 증거로써 사용할 수 있다.
본 발명의 일 실시예에 따른 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법는 원본 데이터를 기반으로 데이터 검색을 위해 자동 생성되는 색인데이터를 분석하여 삭제된 데이터를 복구할 수 있다.
도 1은 본 발명에 따른 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 시스템의 구성을 설명하는 도면이다.
도 2는 도 1에 있는 채팅 메시지 복구 장치의 물리적 구성을 설명하는 블록도이다.
도 3은 도 1에 있는 채팅 메시지 복구 장치의 기능적 구성을 설명하는 블록도이다.
도 4는 도 1에 있는 채팅 메시지 복구 장치에서 수행되는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 과정을 설명하는 순서도이다.
도 5는 보안 옵션을 활성화하여 삭제된 데이터의 일 실시예를 설명하는 예시도이다.
도 6은 FTS 색인데이터의 일 실시예를 설명하는 예시도이다.
도 7은 본 발명의 일 실시예에 따른 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 과정을 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명에 따른 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 시스템의 구성을 설명하는 도면이다.
도 1을 참조하면, FTS 색인데이터 기반의 삭제 채팅 메시지 복구 시스템(100)은 사용자 단말(110), 채팅 메시지 복구 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
사용자 단말(110)은 메신저를 통해 상대방과 채팅 메시지를 주고받을 수 있고 복구된 채팅 메시지를 확인할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 채팅 메시지 복구 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 채팅 메시지 복구 장치(130)와 동시에 연결될 수 있다.
채팅 메시지 복구 장치(130)는 사용자 단말(110) 간의 채팅 메시지 통신 과정에서 주고받은 채팅 메시지 파일이 삭제된 경우 이를 복구할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 채팅 메시지 복구 장치(130)는 사용자 단말(110)과 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고받을 수 있다.
일 실시예에서, 채팅 메시지 복구 장치(130)는 데이터베이스(150)와 연동하여 삭제된 채팅 메시지를 복구하기 위하여 필요한 정보를 저장할 수 있다. 한편, 채팅 메시지 복구 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있다. 또한, 채팅 메시지 복구 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.
데이터베이스(150)는 사용자 간에 주고받은 채팅 메시지를 FTS 가상 테이블로 저장하고 이를 기초로 삭제된 데이터를 복구하는 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 사용자 단말(110)로부터 상대방과 주고받은 메시지 정보, FTS 가상테이블 명, FTS 버전 및 보안 삭제 여부에 관한 정보를 저장할 수 있고, 반드시 이에 한정되지 않고, 채팅 메시지 복구 장치(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), FTS 색인데이터 생성부(350), 채팅 메시지 복원부(370) 및 제어부(390)를 포함할 수 있다.
대화방 생성부(310)는 복수의 사용자들의 참여를 통해 대화방을 생성할 수 있다. 사용자는 사용자 단말(110)에 있는 인스턴트 메신저를 통해 대화방을 만든 후 대화할 상태를 선택하여 복수의 사용자들과 동시에 채팅할 수 있는 대화방을 생성할 수 있다. 또한, 대화방 생성부(310)는 기존 대화방에서 채팅 상대를 추가해 단체 대화방을 만들 수도 있다. 사용자는 대화방을 통해 단순 문자 기반의 메시지 외에도 음성, 화상 파일 등을 전송할 수 있다. 여기에서, 인스턴트 메신저는 WhatsApp 및 WeChat 메신저를 대상으로 할 수 있다. 각 메신저의 안드로이드(Android), iOS 및 윈도우(Windows)용 버전의 앱을 대상으로 할 수 있다.
채팅 메시지 관리부(330)는 대화방을 통해 채팅 메시지를 입력받고 대화방 상의 채팅 메시지 쓰레드를 갱신할 수 있다. 채팅 메시지 관리부(330)는 특정 채팅 메시지의 삭제 요청이 수신된 경우에는 채팅 메시지 쓰레드에서 특정 채팅 메시지를 삭제할 수 있다. 채팅 메시지는 SQLite 데이터베이스에 저장될 수 있다. SQLite 데이터베이스는 오픈소스로 제공되며, 서버가 아니라 응용프로그램에 넣어 사용하는 비교적 가벼운 클라이언트용 소프트웨어에 적합하므로 대부분의 모바일 및 PC 애플리케이션에서 사용되고 있다. 도 5를 참조하면, 메신저 등의 애플리케이션에서 특정 메시지를 삭제하는 경우 데이터베이스의 데이터가 삭제되는 일 실시예를 확인할 수 있다. 도 5에서, 삭제 기능은 삭제 옵션에 따라 보안옵션이 활성화된 경우 제로화 되어 데이터를 복구할 수 없다.
FTS 색인데이터 생성부(350)는 메시지 쓰레드의 갱신과정에서 채팅 메시지에 대한 FTS(Full-Text Search) 색인데이터를 생성할 수 있다. FTS 색인데이터 생성부(350)는 채팅 메시지에 대한 적어도 하나의 키워드를 추출하고, 추출한 적어도 하나의 키워드에 관한 채팅 메시지 쓰레드 상에서의 위치 데이터를 기초로 FTS 색인데이터를 생성할 수 있다. FTS 색인데이터 생성부(350)는 적어도 하나의 키워드에 관한 위치 데이터를 채팅 메시지 쓰레드에서의 절대적 위치로서 동일한 값을 설정할 수 있다. 여기에서, 절대적 위치는 사용자가 대화방에 참여한 시간에 관계없이 최초 채팅 메시지부터의 절대적인 위치에 해당할 수 있다. 즉, FTS 색인데이터 생성부(350)는 적어도 하나의 키워드에 관한 위치 데이터를 채팅 참여자가 언제 참가했는지와 무관하게 최초 채팅 메시지부터의 절대적 위치로서 동일한 값을 가질 수 있다.
일 실시예에서, FTS 색인데이터 생성부(350)는 FTS(Full-Text Search)라는 가상테이블을 제공할 수 있다. FTS 가상테이블은 텍스트 검색에서 단일 컴퓨터에 저장된 문서 또는 전체 텍스트 데이터베이스에서 효율적이고 빠르게 텍스트를 검색하도록 디자인된 테이블이다. FTS 가상테이블은 원본 데이터를 기반으로 생성되었으므로 원본 데이터가 유실된 경우 데이터 복구에 활용할 수 있다. FTS 데이터베이스의 내용은 원본 데이터베이스의 내용을 기반으로 SQLite의 API를 통해 자동으로 생성하는 데이터이므로 다른 애플리케이션에서 생성된 데이터라도 버전 및 세부 옵션에 따라 동일한 형식을 가지므로 광범위하게 활용될 수 있다. SQLite의 FTS 버전은 FTS3(SQLite 3.5.0, 2007.09.04), FTS4(SQLite 3.7.4, 2010.12.07) 및 FTS5(SQLite 3.9.0, 2015.10.14)가 있다. FTS3과 FTS4는 일부 최적화 옵션을 제외하면 거의 동일하며, FTS5가 최신버전이다. FTS 버전에 따른 삭제된 메시지 복구를 위해 사용되는 주요 가상테이블 및 데이터는 아래 표 1과 같다.
[표 1]
표 1에서, <name>_content 테이블에 포함된 원본 데이터는 삭제된 메시지 복구에 사용될 수 있다. <name>_MetaData 테이블에는 <name>_content 테이블에 포함되지 않는 원본 데이터의 내용이 저장될 수 있다. 예를 들면, 채팅 메시지의 전송 시각 등이 저장될 수 있다. <name>_segdir(FTS3/4 버전) 또는 <name>_data(FTS5 버전) 테이블에는 FTS 색인데이터 생성부(350)에서 생성한 FTS 색인데이터가 저장될 수 있다. 각 메신저의 메시지와 FTS 데이터가 존재하는 경로는 아래 표 2와 같다.
[표 2]
FTS 데이터는 각 데이터베이스(150)의 FTS 가상 테이블에서 획득할 수 있다. 각 앱의 가상테이블명, FTS 버전 및 보안삭제(SECURE_DELETE) 여부는 아래 표 3과 같다.
[표 3]
각 메신저의 색인데이터의 구조는 FTS 버전이 일치하는 경우 완전히 동일한 형태로 존재하므로, FTS 가상테이블 및 데이터를 사용하여 데이터를 복구할 수 있다.
FTS 가상테이블은 원본 데이터베이스와 연동되어 데이터를 삭제할 수 있다. 반면, 데이터 검색을 위해 생성된 색인데이터는 표 1에서와 같이, 나머지 데이터와 별도로 관리되며, 복수의 메시지에 대한 데이터가 병합되어 관리되기 때문에 메시지 삭제 기능과 연동되지 않는다. 도 6을 참조하면, FTS 색인데이터는 데이터를 효율적으로 저장하기 위하여 중복제거 및 데이터를 정렬하여 저장하는 일 실시예를 확인할 수 있다. 도 6에서, 원본 데이터 및 색인 데이터를 나타내었으며, 각 단어는 알파벳 순으로 정렬되어 저장되었고 that, the, time 및 to의 중복된 th와 t를 제거한 뒤 that, (th)e, (t)ime, (t)o로 저장된 것을 볼 수 있다.
유니코드로 작성된 문장의 경우 단어 단위가 아닌 문자 단위로 분리되어 저장될 수 있으며, 이는 아래 표 4에 나타낸 것과 같이 중복된 바이트를 제거하여 코드순으로 정렬될 수 있다.
[표 4]
결과적으로, 색인된 단어 혹은 유니코드 문자에서 삭제되지 않은 메시지의 단어 및 유니코드 문자를 제외하면 삭제된 메시지에 포함된 단어와 유니코드 문자를 얻을 수 있다.
채팅 메시지 복원부(370)는 특정 채팅 메시지의 복원 요청이 수신되면 FTS 색인데이터의 검색을 수행하여 특정 채팅 메시지의 복원을 수행할 수 있다. 여기에서, 채팅 메시지 복원부(370)는 다음의 조건에 따라 FTS 색인데이터를 통한 데이터 복구를 수행할 수 있다.
1. FTS 데이터베이스에 원본 데이터가 저장되며, FTS 데이터베이스에도 데이터 삭제가 이루어지지만 보안삭제(SQLITE_SECURE_DELETE) 옵션을 사용하지 않은 경우, FTS 데이터베이스에는 보안삭제가 적용되지 않았으므로 비할당 영역에 데이터가 남아있을 가능성이 존재한다. 비할당 영역에 데이터가 남아있지 않은 경우 색인데이터를 통한 복구가 가능하다.
2. FTS 데이터베이스에 원본 데이터가 저장되며, FTS 데이터베이스에도 데이터 삭제가 이루어지며 보안삭제 옵션을 사용하는 경우, 비할당 영역의 데이터는 활용이 불가능하므로 색인데이터를 통한 복구가 가능하다.
따라서, 채팅 메시지 복원부(370)는 비할당 영역에 남아있는 데이터가 있으면 삭제된 메시지 복구를 할 수 있다. 먼저, 채팅 메시지 복원부(370)는 채팅 메시지 쓰레드 상에서 특정 채팅 메시지의 위치 데이터를 검출하고, 검출된 위치 데이터를 기초로 FTS 색인데이터의 검색을 수행하여 적어도 하나의 해당 키워드를 결정할 수 있다.
일 실시예에서, 채팅 메시지 복원부(370)는 적어도 하나의 해당 키워드의 시맨틱 조합을 통해 상기 특정 채팅 메시지의 복원을 수행할 수 있다. 채팅 메시지 복원부(370)는 시맨틱 조합 과정에서 적어도 하나의 해당 키워드 각각에 관한 중요도를 결정하고, 가장 중요도가 높은 N개(상기 N은 자연수)의 중요 키워드를 선별할 수 있다. 채팅 메시지 복원부(370)는 선별된 N개의 중요 키워드에 관한 시계열 분석을 수행하여 중요 키워드 배치를 수행하고 나머지 키워드를 기초로 중요 키워드 배치를 갱신하여 삭제 채팅 메시지에 포함된 데이터를 얻을 수 있다.
제어부(390)는 채팅 메시지 복구 장치(130)의 전체적인 동작을 제어하고, 대화방 생성부(310), 채팅 메시지 관리부(330), FTS 색인데이터 생성부(350) 및 채팅 메시지 복원부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 도 1에 있는 채팅 메시지 복구 장치에서 수행되는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 과정을 설명하는 순서도이다.
도 4를 참조하면, 채팅 메시지 복구 장치(130)는 대화방 생성부(310)에서 복수의 사용자들의 참여를 통해 대화방을 생성할 수 있다(단계 S410). 채팅 메시지 복구 장치(130)는 채팅 메시지 관리부(330)에서 대화방을 통해 채팅 메시지를 입력받고 대화방 상의 채팅 메시지 쓰레드를 갱신하며, 특정 채팅 메시지의 삭제 요청이 수신된 경우에는 채팅 메시지 쓰레드에서 특정 채팅 메시지를 삭제할 수 있다(단계 S430).
또한, 채팅 메시지 복구 장치(130)는 채팅 메시지 관리부(330)에 의해 메시지 쓰레드가 갱신되는 과정에서 FTS 색인데이터 생성부(350)를 통해 채팅 메시지에 대한 FTS(Full-Text Search) 색인데이터를 생성할 수 있다(단계 S450). 채팅 메시지 복구 장치(130)는 특정 채팅 메시지의 복원 요청이 수신되면 채팅 메시지 복원부(370)를 통해 FTS 색인데이터의 검색을 수행하여 특정 채팅 메시지의 복원을 수행할 수 있다(단계 S470).
도 7은 본 발명의 일 실시예에 따른 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 과정을 설명하는 순서도이다.
도 7을 참조하면, 채팅 메시지 복구 장치(130)는 FTS 데이터베이스에서 각 메시지의 ID 정보 등을 활용하여 누락된 데이터를 식별하여 메시지 삭제여부를 확인할 수 있다. 채팅 메시지 복구 장치(130)는 확인된 메시지가 비할당 영역에 남아있는 삭제된 메시지인지 확인할 수 있다. 비할당 영역에 남아있는 데이터가 있으면 우선적으로 데이터를 복구할 수 있다.
또한, 채팅 메시지 복구 장치(130)는 비할당 영역에 남아있는 데이터와 중복되는 색인데이터를 제거하여 삭제된 메시지에 포함된 단어를 추출할 수 있다. 이후, 채팅 메시지 복구 장치(130)는 추출된 각 단어를 문법 및 어순에 맞게 재정렬하여 원본 메시지를 복구할 수 있다.
일 실시예에 따른 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법은 데이터 검색을 위해 자동으로 생성되는 색인데이터를 기반으로 보안 삭제 기능을 제공하는 애플리케이션에서 삭제된 메시지를 복구할 수 있으며, 이는 디지털 수사에 유용하게 활용할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치 시스템
110: 사용자 단말 130: 채팅 메시지 복구 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 대화방 생성부 330: 채팅 메시지 관리부
350: FTS 색인데이터 생성부 370: 채팅 메시지 복원부
390: 제어부

Claims (14)

  1. 복수의 사용자들의 참여를 통해 대화방을 생성하는 대화방 생성부;
    상기 대화방을 통해 채팅 메시지를 입력받고 상기 대화방 상의 채팅 메시지 쓰레드를 갱신하며, 특정 채팅 메시지의 삭제 요청이 수신된 경우에는 상기 채팅 메시지 쓰레드에서 상기 특정 채팅 메시지를 삭제하는 채팅 메시지 관리부;
    상기 메시지 쓰레드의 갱신과정에서 상기 채팅 메시지에 대한 FTS (Full-Text Search) 색인데이터를 생성하는 FTS 색인데이터 생성부; 및
    상기 특정 채팅 메시지의 복원 요청이 수신되면 상기 FTS 색인데이터의 검색을 수행하여 적어도 하나의 해당 키워드를 결정하고 상기 적어도 하나의 해당 키워드의 시맨틱 조합을 통해 상기 특정 채팅 메시지의 복원을 수행하는 채팅 메시지 복원부를 포함하되,
    상기 채팅 메시지 복원부는
    상기 시맨틱 조합의 과정에서 상기 적어도 하나의 해당 키워드 각각에 관한 중요도를 결정하고, 가장 중요도가 높은 N 개(상기 N은 자연수)의 중요 키워드를 선별하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치.
  2. 제1항에 있어서, 상기 FTS 색인데이터 생성부는
    상기 채팅 메시지에 대한 적어도 하나의 키워드를 추출하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치.
  3. 제2항에 있어서, 상기 FTS 색인데이터 생성부는
    상기 적어도 하나의 키워드에 관한 상기 채팅 메시지 쓰레드 상에서의 위치 데이터를 기초로 상기 FTS 색인데이터를 생성하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치.
  4. 제3항에 있어서, 상기 FTS 색인데이터 생성부는
    상기 적어도 하나의 키워드에 관한 위치 데이터를 상기 채팅 메시지 쓰레드에서의 절대적 위치로서 동일한 값을 설정하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치.
  5. 제1항에 있어서, 상기 채팅 메시지 복원부는
    상기 채팅 메시지 쓰레드 상에서 상기 특정 채팅 메시지의 위치 데이터를 검출하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치.
  6. 제5항에 있어서, 상기 채팅 메시지 복원부는
    상기 검출된 위치 데이터를 기초로 상기 FTS 색인데이터의 검색을 수행하여 적어도 하나의 해당 키워드를 결정하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치.
  7. 삭제
  8. 삭제
  9. 제1항에 있어서, 상기 채팅 메시지 복원부는
    상기 N 개의 중요 키워드에 관한 시계열 분석을 수행하여 중요 키워드 배치를 수행하고 나머지 키워드를 기초로 상기 중요 키워드 배치를 갱신하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 장치.
  10. 대화방 생성부에서 복수의 사용자들의 참여를 통해 대화방을 생성하는 대화방 생성단계;
    채팅 메시지 관리부에서 상기 대화방을 통해 채팅 메시지를 입력받고 상기 대화방 상의 채팅 메시지 쓰레드를 갱신하며, 특정 채팅 메시지의 삭제 요청이 수신된 경우에는 상기 채팅 메시지 쓰레드에서 상기 특정 채팅 메시지를 삭제하는 채팅 메시지 관리단계;
    FTS 색인데이터 생성부를 통해 상기 메시지 쓰레드의 갱신과정에서 상기 채팅 메시지에 대한 FTS (Full-Text Search) 색인데이터를 생성하는 FTS 색인데이터 생성단계; 및
    채팅 메시지 복원부에서 상기 특정 채팅 메시지의 복원 요청이 수신되면 상기 FTS 색인데이터의 검색을 수행하여 적어도 하나의 해당 키워드를 결정하고 상기 적어도 하나의 해당 키워드의 시맨틱 조합을 통해 상기 특정 채팅 메시지의 복원을 수행하는 채팅 메시지 복원단계를 포함하되,
    상기 채팅 메시지 복원단계는
    상기 시맨틱 조합의 과정에서 상기 적어도 하나의 해당 키워드 각각에 관한 중요도를 결정하고, 가장 중요도가 높은 N개(상기 N은 자연수)의 중요 키워드를 선별하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 방법.
  11. 제10항에 있어서, 상기 FTS 색인데이터 생성단계는
    상기 채팅 메시지에 대한 적어도 하나의 키워드를 추출하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 방법.
  12. 제11항에 있어서, 상기 FTS 색인데이터 생성단계는
    상기 적어도 하나의 키워드에 관한 상기 채팅 메시지 쓰레드 상에서의 위치 데이터를 기초로 상기 FTS 색인데이터를 생성하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 방법.
  13. 제10항에 있어서, 상기 채팅 메시지 복원단계는
    상기 채팅 메시지 쓰레드 상에서 상기 특정 채팅 메시지의 위치 데이터를 검출하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 방법.
  14. 제13항에 있어서, 상기 채팅 메시지 복원단계는
    상기 검출된 위치 데이터를 기초로 상기 FTS 색인데이터의 검색을 수행하여 적어도 하나의 해당 키워드를 결정하는 것을 특징으로 하는 FTS 색인데이터 기반의 삭제 채팅 메시지 복구 방법.
KR1020210179354A 2021-12-15 2021-12-15 Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법 KR102644076B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210179354A KR102644076B1 (ko) 2021-12-15 2021-12-15 Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210179354A KR102644076B1 (ko) 2021-12-15 2021-12-15 Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230090513A KR20230090513A (ko) 2023-06-22
KR102644076B1 true KR102644076B1 (ko) 2024-03-07

Family

ID=86989152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210179354A KR102644076B1 (ko) 2021-12-15 2021-12-15 Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102644076B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100458550B1 (ko) * 2002-10-07 2004-12-03 주식회사 파이널데이터 데이터 삭제 감지, 복구 시스템 및 그 방법
KR101456757B1 (ko) * 2012-12-26 2014-10-31 고려대학교 산학협력단 SQLite 데이터베이스에서 삭제된 데이터의 복원 방법 및 장치
KR20170045880A (ko) * 2015-10-20 2017-04-28 삼성전자주식회사 메시지를 처리하는 전자 장치 및 방법
KR102244504B1 (ko) 2019-05-28 2021-04-26 국민대학교산학협력단 캐시 파일을 이용한 삭제 메시지 복구 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
허 욱 외 2명, "WeChat 메신저의 향상된 복호화 방안과 SQLite Full Text Search 데이터를 이용한 삭제된 메시지 복구에 관한 연구"*

Also Published As

Publication number Publication date
KR20230090513A (ko) 2023-06-22

Similar Documents

Publication Publication Date Title
US11063896B2 (en) System and method for detecting confidential information emails
US11567736B2 (en) Systems and methods for providing an instant communication channel within integrated development environments
US8589403B2 (en) Compressed journaling in event tracking files for metadata recovery and replication
US9864736B2 (en) Information processing apparatus, control method, and recording medium
US8700567B2 (en) Information apparatus
CN103119550A (zh) 存储具有时变特性的电子内容
US20190303384A1 (en) Method and system for consolidating data retrieved from different sources
US9858152B2 (en) Collaborative information source recovery
US20160191432A1 (en) Secure conversation and document binder
US20160283447A1 (en) Providing interactive preview of content within communication
US11514949B2 (en) Method and system for long term stitching of video data using a data processing unit
US20120185440A1 (en) Method and apparatus for providing address book restoration
CN107733781B (zh) 一种即时通信的处理方法、设备和计算机存储介质
KR102644076B1 (ko) Fts 색인데이터 기반의 삭제 채팅 메시지 복구 장치 및 방법
KR102103015B1 (ko) 인스턴트 메신저 어플리케이션의 동작 방법 및 장치
JP7353076B2 (ja) 会話関連データを収集する方法、コンピュータプログラム、コンピュータ機器及びサーバーシステム
CN112486966A (zh) 一种过期数据清理方法、装置和电子设备
CN102419758A (zh) 数据处理系统及方法
KR20150123603A (ko) 데이터베이스 관리 방법 및 데이터베이스 관리 시스템
US9852031B2 (en) Computer system and method of identifying a failure
US20080059538A1 (en) Method and system for synchronizing offline records
US11409610B1 (en) Context-driven data backup and recovery
JP5334214B2 (ja) 組織内ソーシャルマップ作成システム及び組織内ソーシャルマップ作成方法
US20140195481A1 (en) Content managing apparatus and content managing method
CN114238356A (zh) 测试案例快照的生成方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right