KR20240020846A - 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법 - Google Patents

단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법 Download PDF

Info

Publication number
KR20240020846A
KR20240020846A KR1020220099064A KR20220099064A KR20240020846A KR 20240020846 A KR20240020846 A KR 20240020846A KR 1020220099064 A KR1020220099064 A KR 1020220099064A KR 20220099064 A KR20220099064 A KR 20220099064A KR 20240020846 A KR20240020846 A KR 20240020846A
Authority
KR
South Korea
Prior art keywords
file
data
deletion
application
kernel mode
Prior art date
Application number
KR1020220099064A
Other languages
English (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 KR1020220099064A priority Critical patent/KR20240020846A/ko
Priority to PCT/KR2023/011402 priority patent/WO2024034997A1/ko
Publication of KR20240020846A publication Critical patent/KR20240020846A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법은 하드디스크 또는 SSD(Solid State Drive)에 저장된 데이터를 물리적 방식을 사용하지 않고, 데이터를 복원하지 못하도록 삭제하는 기술이다.
본 발명은 하드디스크 또는 SSD에 저장된 데이터를 삭제할때, 할당정보를 삭제할 뿐만 아니라 삭제하고자 하는 데이터 위에 문자와 같은 소정의 데이터를 덮어쓰기함으로써 삭제하고자 하는 데이터의 복원을 불가능하게 하여 데이터 유출의 위험성을 방지하게 되는 효과가 있다.

Description

단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법{Terminal Apparatus and Method for Deleting Data Unrecoverably Using the Same}
본 발명은 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법에 관한 것으로서, 더욱 상세하게는 하드디스크 또는 SSD(Solid State Drive)에 저장된 데이터를 물리적 방식을 사용하지 않고, 데이터를 복원하지 못하도록 삭제하는 기술로 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법에 관한 것이다.
정보화 시대가 성숙한 현재 거의 대부분의 사람들이 컴퓨터 및 태블릿을 사용하고 있는 실정이다.
이러한 컴퓨터 및 태블릿에서는 장치의 운영을 위한 운영 시스템을 저장하고, 사용자의 개인적인 정보 데이터를 저장하기 위한 저장공간을 가지고 있다.
이러한 저장장치는 컴퓨터에 있어서 플로피 디스크와 하드디스크를 사용하고, 태블릿에서는 플래쉬 메모리를 주로 사용하고 있다.
그러나 플로피 디스크의 경우, 저장 공간의 한계와, 느린 읽기/쓰기 속도로 인해 현재 거의 퇴출된 상태이다. 하드디스크의 경우, 저장 용량이 방대해지면서 읽기와 쓰기 속도가 느려지는 경향이 있어, 운영 시스템만을 위해 다수의 플래쉬 메모리를 클러스터링한 SSD(Solid State Disk)를 점차로 사용하는 추세이다.
일반적으로 하드디스크와 SSD의 저장 용량은 정해져 있어서, 사용자가 데이터가 많은 경우 불필요한 데이터를 하드디스크 또는 SSD로부터 삭제하게 된다. 그러나 데이터를 삭제할 경우 데이터가 물리적으로 완전히 삭제되는 것이 아니라 데이터가 존재하는 공간에 대한 할당 정보만을 삭제하기 때문에 컴퓨터 운영체제의 파일 시스템에서는 빈공간으로 인식되지만 실질적으로 온전한 데이터가 남아 있게 된다.
따라서, 완전히 데이터를 삭제되었다고 판단하고, 컴퓨터 또는 태블릿을 버린 경우, 제3가 취득하여 소정의 데이터 복구 프로그램을 통해 할당 정보를 복원하여 데이터를 완전하게 복원할 수 있게 된다.
물리적으로 디스크를 파괴하는 것과 같은 물리적 방식을 사용하지 않고서는 데이터를 복원 불가능하게 삭제하는 방법이 현재로서 전혀 없는 상황이다.
한국 공개번호 제10-2002-0097344호
이와 같은 문제점을 해결하기 위하여, 본 발명은 하드디스크 또는 SSD(Solid State Drive)에 저장된 데이터를 물리적 방식을 사용하지 않고, 데이터를 복원하지 못하도록 삭제하는 기술로 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 특징에 따른 단말장치는,
응용 프로그램을 구현하는 사용자 모드, 운영체제를 구현하는 커널 모드 및 하드웨어로 구성하고,
상기 커널 모드는 응용 프로그램인 애플리케이션 1로부터 시스템 콜(System Call)을 통해 파일 삭제 처리를 요청받아 파일의 할당 정보를 삭제하는 간편 삭제 방식을 수행하고,
상기 커널 모드는 데이터 삭제를 위한 사용자 시스템 콜(User System Call)을 추가하고, 응용 프로그램인 애플리케이션 2로부터 상기 사용자 시스템 콜을 통해 파일 삭제 처리를 요청받아 파일의 할당 정보를 삭제하고, 데이터 영역에 소정의 문자로 덮어쓰기하여 파일을 복원 불가능하게 삭제하는 완전 삭제 방식을 수행한다.
본 발명의 특징에 따른 단말장치를 이용한 데이터를 복구 불가능하게 삭제하는 방법은,
하드디스크의 섹터 또는 SSD(Solid State Drive)의 페이지에 저장된 데이터에 할당된 할당 정보를 삭제하고, 데이터 영역에 소정의 문자로 덮어쓰기하여 상기 하드디스크의 섹터 또는 SSD의 페이지에 저장된 데이터를 복구 불가능하게 삭제한다.
전술한 구성에 의하여, 본 발명은 하드디스크 또는 SSD에 저장된 데이터를 삭제할때, 할당정보를 삭제할 뿐만 아니라 삭제하고자 하는 데이터 위에 문자와 같은 소정의 데이터를 덮어쓰기함으로써 삭제하고자 하는 데이터의 복원을 불가능하게 하여 데이터 유출의 위험성을 방지하게 되는 효과가 있다.
도 1은 하드디스크의 구조를 보여주는 도면이다.
도 2는 하드디스크의 정보 기록 영역의 세부를 보여주는 도면이다.
도 3은 SDD의 정보기록 영역을 보여주는 도면이다.
도 4는 하드디스크와 SDD의 정보기록 영역의 대비를 보여주는 도면이다.
도 5는 통상적인 방식에 따라 하드디스크의 섹터에 데이터의 할당정보와 데이터의 저장 및 삭제를 설명하는 도면이다.
도 6은 본 발명에 따른 데이터의 할당정보와 데이터의 저장 및 삭제를 설명하는 도면이다.
도 7은 본 발명의 실시예에 따른 운영체제의 파일 관리를 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 삭제 메뉴을 컨텍스트 메뉴로 구성한 일례를 나타낸 도면이다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 하드디스크의 구조를 보여주는 도면이고, 도 2는 하드디스크의 정보 기록 영역의 세부를 보여주는 도면이고, 도 3은 SDD의 정보기록 영역을 보여주는 도면이고, 도 4는 하드디스크와 SDD의 정보기록 영역의 대비를 보여주는 도면이다.
도 1에 도시된 바와 같이 하드디스크(180)는 컴퓨터에서 사용되는 저장장치이고, 다양한 부품들로 구성되어 있지만, 가장 중요한 것은, 데이터를 읽거나 쓰는데 사용하는 헤더와 그리고 데이터가 저장되는 플래터이다. 하드디스크(180)의 저장용량에 따라 하나의 플래터를 사용하거나 아니면 다수의 플래터를 사용하게 된다.
데이터가 저장되는 플래터의 구조를 도 2에 개략적으로 나타냈다.
플래터는 유리 또는 알루미늄 합금 상에 자성체를 입혀서 데이터를 저장하도록 구성된다. 이러한 플래터는 크게 트랙, 섹터, 실린더로 나누어질 수 있다.
트랙은 플래터 표면에서 회전축을 중심으로 데이터가 기록되는 동심원으로서, 하드디스크(180)는 여러 개의 트랙을 가지고 있다.
섹터는 트랙을 일정한 크기로 구분한 부분으로서 정보기록의 단위이다. 이 섹터에 데이터가 저장되게 된다. 그리고, 섹터의 저장하는 저장용량은 원의 외측으로 갈수록 커진다. 작은 데이터의 경우에는 하나의 섹터에 저장되지만, 큰 데이터의 경우에는 다수의 섹터에 분할되어 저장되고, 이때 일련의 연속된 섹터에 저장될 수 있지만 연속된 섹터에 저장이 불가능한 경우에는 자리를 옮겨 저장된다.
도 3은 SSD(Solid State Drive)의 데이터 저장구조를 도시한 도면이다.
SSD는 다수의 블록으로 이루어지고, 이 블록은 다수의 페이지로 구성된다. 페이지에 데이터가 저장되게 된다.
도 4에 나타낸 하드디스크(180)와 SSD의 저장구조 비교를 통해 알 수 있듯이, 하드디스크(180)의 트랙은 SSD의 블록에 대응하고, 섹터는 페이지에 대응한다. 데이터는 페이지에 저장되게 된다.
통상적인 쓰기 방식은, 하드디스크(180)의 경우에는 헤더를 통해 섹터에 SSD의 경우에는 전자적으로 페이지에 쓴다. 읽기의 경우에는 파일에 있는 할당 정보에 대응하는 섹터 또는 페이지로부터 데이터를 인출해 낸다.
도 5는 통상적인 방식에 따라 하드디스크(180)의 섹터에 데이터의 할당정보와 데이터의 저장 및 삭제를 설명하는 도면이다.
도 5a는 하드디스크(180)의 섹터(S)에 A, B, C라는 파일이 저장되어 있는 것을 보여주는 도면이다. 도 5a에 도시된 바와 같이 일반적으로 섹터(S)의 크기는 512바이트이며, 작은 파일의 경우에는 하나의 섹터로만 충분히 저장할 수 있다.
그러나, 파일의 크기가 512바이트보다 큰 경우에는 다수의 섹터에 데이터가 저장되지만, 데이터는 연속된 섹터에 저장되는 것이 아니라, 임의의 섹터에 나누어 저장되게 된다. 따라서, 도 5a에 도시된 바와 같이 A, B, C 파일은 불규칙하게 다수의 섹터들에 저장되게 된다.
도 5b는 A라는 파일의 데이터가 저장된 한 섹터를 보여주는 것으로서, 섹터는 A파일에 대한 할당 정보가 기록되는 헤더(SH)와 A파일의 데이터가 기록되는 데이터 기록부(SD)로 나누어질 수 있다. 즉 A파일의 데이터가 저장되는 모든 섹터의 헤더(SH)들에는 A파일에 대한 할당 정보가 기록되고, 데이터 기록부(SD)들에는 A파일의 데이터가 연속적으로 기록되게 된다. 따라서, 하드디스크(180)에서 A파일을 인출하는 경우에, 섹터들로부터 A파일에 대한 할당 정보를 판독하여 데이터를 연속하여 인출하게 된다.
이상에서 설명한 바와 같이 섹터들에 특정 파일에 대한 데이터가 저장된 경우에, 특정 파일(예컨대 A파일)을 삭제하고자 하는 경우, 섹터(S)의 헤더(SH)에 기록된 파일에 대한 할당 정보만을 삭제(덮어쓰기)하게 된다.
도 5c는 A파일이 삭제된 섹터(S)를 보여주는 것으로서, 헤더(SH)에 기록된 A파일에 대한 할당 정보만이 삭제되고, 데이터 기록부(SD)에 대한 A파일의 데이터는 물리적으로 삭제되지 않게 된다.
즉, 도 5d에 도시한 바와 같이 컴퓨터에서는 A파일이 점유하던 섹터들을 빈공간으로 인식하게 되지만 실질적으로는 데이터 기록부(SD)에 저장된 A파일의 데이터는 삭제되지 않아, 추후 소정의 복원 또는 복구프로그램을 통해 A파일을 복원할 수 있게 된다(도 5a와 같은 상태).
도 6은 본 발명에 따른 데이터의 할당정보와 데이터의 저장 및 삭제를 설명하는 도면이다.
도 6은 본 발명에 따른 데이터 삭제를 보여주는 것으로서, 섹터(S)의 헤더(SH)뿐만 아니라 데이터 기록부(SD)에 삭제(덮어쓰기)를 실행하여 섹터에 저장된 모든 데이터를 삭제하게 됨으로써 추후 소정의 복원프로그램을 통해서도 A 파일을 실질적으로 복원할 수 없게 된다.
그리고 삭제의 경우에는 하드디스크(180)의 섹터 또는 SSD의 페이지에 저장된 데이터를 완전히 삭제하는 것이 아니라 파일에 대응하는 할당 정보, FAT에 있는 물리적 파일영역에 있는 파일정보만을 삭제함으로써 해당 파일이 점유하는 섹터 또는 페이지가 빈공간으로 보이도록 한다. 즉, 사용자가 보기에는 파일이 삭제된 것으로 보이지만, 데이터영역은 물리적으로는 삭제된 것이 아니다. 따라서, 소정의 복구프로그램을 사용하게 되면, 사용자가 삭제했다고 생각한 파일을 복원할 수 있게 된다.
도 7은 본 발명의 실시예에 따른 운영체제의 파일 관리를 나타낸 도면이다.
단말장치(100)는 응용 프로그램을 구현하는 사용자 모드(130), 운영체제를 구현하는 커널 모드(170) 및 하드웨어(190)로 구성된다. 여기서, 단말장치(100)는 컴퓨터 장치, 스마트폰 등 다양한 전자기기를 포함할 수 있다.
응용 프로그램은 운영체제 상에서 실행되는 프로그램들이고, 운영체제는 응용 프로그램들이 실행되는 사용자 모드(130)와 운영체제가 실행되는 커널 모드(170)로 구분된다. 여기서, 운영체제는 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 리눅스(Linux), 바다(bada) 등이 될 수 있으며, 이에 한정하지 않는다. 본 발명의 운영체제에서는 설명의 편의를 위해서 윈도우즈를 예로 들겠다.
응용 프로그램은 사용자 주소 공간에서 동작하는 프로그램들, 즉 사용자 모드(130)를 의미할 수 있다
하드 디스크는 저장매체로서 하나의 하드웨어 장치이다. 하드 디스크는 운영체제의 파일 시스템(160)에 의해 제어되고, 응용 프로그램은 시스템 콜(140)을 호출하여 파일 시스템(160)을 통해 하드 디스크에 접근할 수 있다. 즉, 응용 프로그램은 하드 디스크 내에 파일의 생성, 삭제, 갱신, 이동 등 파일 작업을 수행할 수 있다.
하드디스크는 FAT32, NTFS 등 파일 시스템 구조로 포맷되어 사용자 파일을 저장한다. 특히, 파일 시스템(160)은 계층적 구조를 가진 디렉터리 구조이고, 계층적 폴더 형태로 표현된다.
운영체제는 커널 모드(170)에 대응될 수 있다. 본 발명의 다양한 실시예에 의하면, 운영체제는 시스템 콜 인터페이스, 파일 시스템(160)을 포함한다.
시스템 콜(System Call)(140)은 사용자 모드(130)의 응용 프로그램이 커널 모드(170)의 운영체제 기능을 사용할 수 있도록 해주는 인터페이스로, 적어도 하나의 프로세스가 하드웨어(190)에 접근할 수 있는 기능을 제공할 수 있다.
시스템 콜(140)은 운영체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다.
사용자 모드(130)가 시스템 콜(140)을 요청하면 제어가 커널 모드(170)로 넘어온다(사용자 모드(130) -> 커널 모드(170)). 커널 모드(170)는 함수 테이블이 존재한다.
커널 모드(170)는 내부적으로 각각의 시스템 콜(140)을 구분하기 위해 기능별로 고유 번호(함수 번호)를 할당하고, 그 고유 번호를 인덱스로 하여 함수 테이블 내의 함수에 해당하는 서비스 루틴을 커널 내부에 정의하고 있다.
커널 모드(170)는 요청받은 시스템 콜(140)에 대응하는 고유 번호를 확인한다.
커널 모드(170)는 그 고유 번호에 맞는 서비스 루틴을 호출하고, 서비스 루틴을 모두 처리하고 나면, 커널 모드(170)에서 사용자 모드(130)로 다시 전환한다.
서비스 루틴은 I/O 서비스, 디바이스 드라이버, 파일 시스템(160), 시스템 서비스, 예외 핸들링을 포함한다.
파일 시스템(160)은 파일 생성(create file), 파일 삭제(delete file), 열기(open), 닫기(close), 읽기(read), 쓰기(write), 위치 변경(reposition), 파일 속성 획득 및 설정을 수행할 수 있다.
본 발명은 컴퓨터 운영체제의 파일 시스템(160)에서 삭제된 파일을 복원이 불가능하게 하는 방법이다.
파일 시스템(160)은 운영체제에 따라 관리하는 방법의 차이가 있을 수 있으나, 파일의 정보와 파일의 보조 기억 장치에 데이터를 저장하기 위한 저장 위치 정보를 함께 보관한다.
파일 시스템(160)은 FAT(File Allocation Table), NTFS(New Technology File System)으로 파일을 관리한다. 참고로 Unix(Linux 포함)에서는 Super Node, Inode의 개념으로 파일을 관리한다.
운영체제의 파일의 관리(Create, Write, Move, Delete)는 FAT, NTFS, Super Node, Inode에 파일의 정보를 등록, 수정, 삭제를 통해 관리하고 있으며, 파일 정보를 물리적인 위치 정보를 포함하고 있으며, 이러한 파일 관리는 커널 모드(170)에서 동작한다.
애플리케이션에서 파일을 관리(Create, Write, Move, Delete)하는 것은 시스템 콜(140)을 통해 커널 모드(170)에 파일 처리를 요청하고, 커널 모드(170)의 파일 시스템(160)에서 하드 디스크에 파일 처리를 수행한다.
도 7은 본 발명의 실시예에 따른 운영체제의 파일 관리를 나타낸 도면이고, 도 8은 본 발명의 실시예에 따른 삭제 메뉴을 컨텍스트 메뉴(10)로 구성한 일례를 나타낸 도면이다.
도 7에서, 애플리케이션 1(110)은 통상적인 파일 삭제 방식을 통해서 이루어지는 파일 관리를 보여준다.
애플리케이션 1(110)은 시스템 콜(140)을 통해 파일 삭제 처리를 커널 모드(170)에 요청한다. 커널 모드(170)의 파일 시스템(160)에서는 애플리케이션 1(110)의 데이터 삭제를 해당 파일의 할당 정보만을 삭제하는 방식으로 이루어진다.
도 7에서, 애플리케이션 2(120)는 본 발명의 파일 삭제 방식을 통해서 이루어지는 파일 관리를 보여준다.
본 발명은 애플리케이션 2(120)와 커널 모드(170)의 사이에 시스템 콜(140)과 별도로 사용자 시스템 콜(150)을 추가하여 파일 또는 데이터를 삭제한다.
애플리케이션 2(120)는 사용자 시스템 콜(150)을 통해 파일 삭제 처리를 커널 모드(170)에 요청한다.
커널 모드(170)의 파일 시스템(160)에서는 사용자 시스템 콜(150)을 통해 파일 삭제 처리를 요청받으면, 애플리케이션 2(120)의 데이터 삭제를 위하여 해당 파일의 FAT에 있는 할당 정보를 삭제하고(파일 정보의 Entry 값을 삭제로 변경하여 파일을 삭제), 데이터가 존재하는 섹터 또는 페이지, 즉 데이터 영역에 소정의 문자를 채운 후, 삭제 파일에 할당된 데이터 영역을 다시 사용 가능한 영역으로 다음 데이터를 쓸 수 있도록 하는 해당 영역을 재할당한다. 여기서, 소정의 문자는 Null(ascii 코드 0x00)를 나타내고, 이외에도 특정 문자 'F'값, 다른 문자열을 포함할 수도 있다.
커널 모드(170)는 내부적으로 각각의 시스템 콜(140)을 구분하기 위해 기능별로 고유 번호(함수 번호)를 할당하고, 그 고유 번호를 인덱스로 하여 함수 테이블 내의 함수에 해당하는 서비스 루틴을 커널 내부에 정의하고 있다.
커널 모드(170)는 함수 테이블에 사용자 시스템 콜(150) 함수를 추가하고, 사용자 시스템 콜(150)을 통해 파일 삭제 처리가 요청되면, 사용자 시스템 콜(150)을 구분하기 위해 기능별로 고유 번호(함수 번호)를 할당하고, 그 고유 번호를 인덱스로 하여 함수 테이블 내의 사용자 시스템 콜 함수에 해당하는 서비스 루틴을 추가한다.
커널 모드(170)는 사용자 시스템 콜 함수에 해당하는 서비스 루틴을 불러와 파일 삭제 처리를 수행한다.
사용자 시스템 콜 함수에 해당하는 서비스 루틴은 파일의 FAT에 있는 할당 정보를 삭제하고, 0x00을 데이터 영역에 채우는 작업을 수행한다.
따라서, 할당 정보가 삭제되어 해당 파일이 존재하는 장소가 빈 곳으로 나타나게 된다.
또한, 삭제된 파일은 복구 프로그램을 통해 삭제된 장소의 데이터를 복구하려고 해도 데이터 영역에 소정의 문자(0x00)로 덮어 쓰기하여 복원이 불가능하게 된다.
다른 실시예로서, 사용자 시스템 콜 함수에 해당하는 서비스 루틴은 파일의 FAT에 있는 할당 정보를 삭제하고, 0x00을 데이터 영역에 채우고, 삭제하고자 하는 파일 명칭을 변경하는 작업을 수행한다.
예를 들면, 파일명 "from1942.wrk"를 "to1994.del"로 변경하여 삭제 전 파일의 종류와 용도도 유추 불가능하게 된다.
커널 모드(170)는 사용자 모드(130)에서 실행되는 프로그램으로부터 파일에 대한 액세스 요청에 대응되는 시스템 콜(System Call)(140) 또는 사용자 시스템 콜(User System Call)(150)을 감지한다.
본 발명은 파일 시스템(160)의 파일 삭제를 요청하기 위하여 원도우의 파일 탐색기에서 파일을 선택한 후, 커널 모드(170)는 "shift + del" 키가 눌러지면, 커널 모드(170)에서 시스템 콜 함수에 해당하는 서비스 루틴을 불러와 실행하며, "ctrl + del" 키가 눌러지면, 커널 모드(170)에서 사용자 시스템 콜 함수에 해당하는 서비스 루틴을 불러와 실행한다.
커널 모드(170)는 "shift + del" 키가 눌러지면, 시스템 콜(140)을 통해 파일 삭제를 요청받고, 커널 모드(170)의 파일 시스템(160)은 애플리케이션 1(110)의 데이터 삭제를 위하여 해당 파일의 FAT에 있는 할당 정보를 삭제하고(파일 정보의 Entry 값을 삭제로 변경하여 파일을 삭제), 삭제 파일에 할당된 데이터 영역을 다시 사용 가능한 영역으로 다음 데이터를 쓸 수 있도록 하는 해당 영역을 재할당한다. 이와 같이 파일을 삭제하는 것을 재할당된 영역에 데이터가 쓰여지기 전이면 복원이 가능하여 파일 복원 프로그램에서 삭제직후 완벽한 복구가 가능하다.
커널 모드(170)는 "ctrl + del" 키가 눌러지면, 사용자 시스템 콜(150)을 통해 파일 삭제를 요청받고, 커널 모드(170)의 파일 시스템(160)은 애플리케이션 2(120)의 데이터 삭제를 위하여 해당 파일의 FAT에 있는 할당 정보를 삭제하고(파일 정보의 Entry 값을 삭제로 변경하여 파일을 삭제), 데이터가 존재하는 섹터 또는 페이지, 즉 데이터 영역에 Null(ascii 코드 0x00) 또는 특정 문자 'F'값을 채운 후, 삭제 파일에 할당된 데이터 영역을 다시 사용 가능한 영역으로 다음 데이터를 쓸 수 있도록 하는 해당 영역을 재할당한다. 이렇게 함으로써 해당 파일은 복구를 하더라도 특정 문자열로 채워진 파일을 복구하여 원래의 데이터가 복구가 불가능하게 된다.
도 8에 도시된 바와 같이, 원도우의 파일 탐색기에서 마우스의 오른쪽 버튼을 클릭하면, 컨텍스트 메뉴(Context Menu)(10)가 활성화되고, 활성화된 컨텍스트 메뉴(10)에서 시스템 콜(140)을 통해 파일 삭제를 요청하는 간편 삭제 메뉴(20)와, 사용자 시스템 콜(150)을 통해 파일 삭제를 요청하는 완전 삭제 메뉴(30)를 추가한다.
여기서, 컨텍스트 메뉴(Context Menu)(10)는 그래픽 사용자 인터페이스에서 어떠한 항목을 클릭할 때 뜨는 팝업 메뉴로, 메뉴를 호출한 동작, 응용 프로그램의 실행, 선택된 항목의 상황에 따라 다양한 선택 사항을 나열하여 보여준다.
간편 삭제 메뉴(20)는 "shift + del" 키를 눌렀을 때와 동일한 인터페이스 콜을 하여 파일을 간편 삭제하고, 완전 삭제 메뉴(30)는 "ctrl + del" 키를 눌렀을 때와 동일한 인터페이스 콜을 하여 파일을 완전 삭제한다.
운영체제는 아이콘 선택후 마우스 오른쪽 버튼을 클릭(키보드나 마우스가 없는 안드로이드 또는 IOS는 아이콘을 길게 클릭)하여 메뉴를 활성화 하고, 메뉴의 기능 선택을 이용하여 본 발명에서 제시하는 방법으로 파일을 완전 삭제를 한다.
애플리케이션 중에 스케줄러는 한정적인 메모리를 여러 프로세스가 효율적으로 사용할 수 있도록 다음 실행 시간에 실행할 수 있는 프로세스 중에 하나를 선택하는 역할을 한다.
스케줄러는 주기적으로 특정 폴더를 검사하여 파일이 있으면, 특정 폴더의 파일들을 삭제한다.
스케줄러는 휴지통에 파일을 이동시키면, 기설정된 주기마다 휴지통에 있는 파일을 본 발명의 완전 삭제 방법으로 파일을 완전 삭제한다.
본 발명의 완전 삭제 방법은 사용자 시스템 콜 함수를 운영체제의 커널 모드(170)에 추가하거나, 해당 사용자 시스템 콜 함수를 수행하는 인터페이스를 제공하여 모든 응용 프로그램에서 기존 간편 삭제 방법과 동일하게 삭제를 해도 파일을 완전 삭제가 가능하도록 하는 기능을 제공한다.
한편, 텍스트와 같은 데이터의 경우에는 전체 덮어쓰기를 행함으로써 데이터 복구를 불가능하게 할 수 있지만, 소정의 연산프로그램 같은 경우에 일부분만에만 데이터를 덮어쓰기할 수 있다. 연산프로그램의 경우, 일부분만 파괴되어도 복원이 어렵기 때문에 삭제 시간의 효율성을 위해 일부분만 덮어쓰기 할 수 있다.
상기와 같은 작업은 운영시스템의 데이터 삭제 기능에 할당 정보 제거 및 소정의 데이터 덮어쓰기 기능을 부여함으로써 이루어지거나 또는 전용 소프트웨어를 설치해 이루어질 수 있다.
상기와 같은 방식으로 데이터를 삭제하는 경우에, 삭제하고자 하는 데이터 또는 파일에 소정의 데이터, 예컨대 문자를 기록해야 하기 때문에 기존의 삭제 방식보다는 시간이 더 소모될 수 있으나, 데이터의 완전한 삭제가 이루어져 추후 제 3자에 의해 데이터의 유출 염려는 없게 된다.
한편, 앞서 설명하였듯이, 삭제한 데이터 영역에 다른 의미 없는 데이터를 덮어쓰는 것은 많은 시간을 소모하기 때문에, 컴퓨터 또는 스마트폰의 운영에 많은 시간적 지체를 일으킬 수 있다. 따라서, 선택적으로 삭제 데이터를 선택적으로 복구 불가능하도록 하는 것이 바람직하다.
일반적으로, 컴퓨터 또는 스마트폰에서는 기본 운영체제, 예컨대 컴퓨터의 경우에는 윈도우시스템, 스마트폰의 경우에는 안드로이드 또는 IOS 시스템에서 제공하는 삭제 기능만을 사용하게 된다. 이러한 기본적인 삭제 기능은 앞서 설명하였듯이 파일 또는 데이터의 할당 정보만을 삭제하게 되므로 추후 복원의 가능성이 충분히 있다
한편, 삭제하고자 하는 파일 또는 데이터중에는 외부로 유출되어도 별 상관이 없는, 상대적으로 중요성이 떨어지는 것이 있거나 또는 외부로 유출되어 서는 절대로 안되는 중요자료가 있을 수 있다. 또한, 파일 또는 데이터중에서 이미지 파일이나 동영상파일의 경우에는 그 크기가 너무 크기 때문에, 본원 발명에서 제안하는 것과 같이 데이터를 완전 복구 불가능하게 삭제하게 되면 특히 많은 시간이 소요되게 된다. 그러므로, 파일이나 데이터를 그 중요도 및 크기에 따라 선택적으로 완전하게 삭제하게 할 필요가 있다.
따라서, 본원 발명에서는 컴퓨터 또는 스마트폰의 운영체제에서 제공되는 삭제 기능과는 별도로 컴퓨터의 경우에는 보조프로그램의 형태로, 스마트폰의 경우에는 앱의 형태로 제공하게 된다.
이와 같은 보조프로그램 또는 앱을 통해 파일 또는 데이터의 삭제를 실행하게 되면, 파일 또는 데이터의 할당 정보 삭제를 나타내는 메시지, 예컨대 "간편 삭제"(20)와 파일 또는 데이터의 완전한 삭제를 나타내는 메시지, 예컨대 "완전 삭제"(30)를 모니터 또는 화면 상에 디스플레이하고, 사용자는 이들 둘 메시지 중 필요한 사항을 클릭 또는 터치하여 메시지를 삭제하게 된다.
따라서, 사용자는 삭제하고자 하는 파일 또는 데이터를 복구가 불가능하게 또한 시간적으로 효율적으로 삭제할 수 있게 된다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100: 단말장치
110: 애플리케이션 1
120: 애플리케이션 2
130: 사용자 모드
140: 시스템 콜
150: 사용자 시스템 콜
160: 파일 시스템
170: 커널모드
180: 하드디스크
190: 하드웨어

Claims (9)

  1. 하드디스크의 섹터 또는 SSD(Solid State Drive)의 페이지에 저장된 데이터에 할당된 할당 정보를 삭제하고, 데이터 영역에 소정의 문자로 덮어쓰기하여 상기 하드디스크의 섹터 또는 SSD의 페이지에 저장된 데이터를 복구 불가능하게 삭제하는 방법.
  2. 청구항 1에 있어서,
    커널 모드는 응용 프로그램인 애플리케이션 1로부터 시스템 콜(System Call)을 통해 파일 삭제 처리를 요청받아 파일의 할당 정보를 삭제하는 간편 삭제 방식을 수행하는 단계를 포함하는 데이터를 복구 불가능하게 삭제하는 방법.
  3. 청구항 2에 있어서,
    상기 커널 모드는 데이터 삭제를 위한 사용자 시스템 콜(User System Call)을 추가하고, 응용 프로그램인 애플리케이션 2로부터 상기 사용자 시스템 콜을 통해 파일 삭제 처리를 요청받아 파일의 할당 정보를 삭제하고, 데이터 영역에 소정의 문자로 덮어쓰기하여 파일을 복원 불가능하게 삭제하는 단계를 더 포함하는 데이터를 복구 불가능하게 삭제하는 방법.
  4. 청구항 3에 있어서,
    상기 커널 모드는 상기 데이터 영역에 Null(ascii 코드 0x00) 또는 특정 문자 'F'값으로 채우는 단계를 더 포함하는 데이터를 복구 불가능하게 삭제하는 방법.
  5. 청구항 3 또는 청구항 4에 있어서,
    삭제하고자 하는 파일 명칭을 변경하는 단계를 더 포함하는 데이터를 복구 불가능하게 삭제하는 방법.
  6. 응용 프로그램을 구현하는 사용자 모드, 운영체제를 구현하는 커널 모드 및 하드웨어로 구성하고,
    상기 커널 모드는 응용 프로그램인 애플리케이션 1로부터 시스템 콜(System Call)을 통해 파일 삭제 처리를 요청받아 파일의 할당 정보를 삭제하는 간편 삭제 방식을 수행하고,
    상기 커널 모드는 데이터 삭제를 위한 사용자 시스템 콜(User System Call)을 추가하고, 응용 프로그램인 애플리케이션 2로부터 상기 사용자 시스템 콜을 통해 파일 삭제 처리를 요청받아 파일의 할당 정보를 삭제하고, 데이터 영역에 소정의 문자로 덮어쓰기하여 파일을 복원 불가능하게 삭제하는 완전 삭제 방식을 수행하는 단말장치.
  7. 청구항 6에 있어서,
    상기 커널 모드는 특정키가 눌러지면, 상기 사용자 시스템 콜을 통해 파일 삭제를 요청받고, 상기 커널 모드의 파일 시스템은 상기 애플리케이션 2의 데이터 삭제를 위하여 해당 파일의 FAT에 있는 할당 정보를 삭제하고, 상기 데이터 영역에 Null(ascii 코드 0x00) 또는 특정 문자 'F'값을 채우는 단말장치.
  8. 청구항 6에 있어서,
    상기 파일 삭제 처리는 컴퓨터의 경우, 상기 응용 프로그램의 형태로, 스마트폰의 경우, 애플리케이션 형태로 이루어지고,
    상기 응용 프로그램 또는 상기 애플리케이션을 통해 삭제를 실행하면, 화면에 상기 간편 삭제 방식을 나타내는 제1 메뉴와 상기 완전 삭제 방식을 나타내는 제2 메뉴를 컨텍스트 메뉴(Context Menu)로 구현되는 단말장치.
  9. 청구항 6에 있어서,
    상기 커널 모드는 상기 애플리케이션 2로부터 상기 사용자 시스템 콜을 통해 파일 삭제 처리를 요청받아 파일의 할당 정보를 삭제하고, 데이터 영역에 소정의 문자로 덮어쓰기하며, 삭제하고자 하는 파일 명칭을 변경하여 파일을 복원 불가능하게 삭제하는 완전 삭제 방식을 수행하는 단말장치.
KR1020220099064A 2022-08-09 2022-08-09 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법 KR20240020846A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220099064A KR20240020846A (ko) 2022-08-09 2022-08-09 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법
PCT/KR2023/011402 WO2024034997A1 (ko) 2022-08-09 2023-08-03 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220099064A KR20240020846A (ko) 2022-08-09 2022-08-09 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법

Publications (1)

Publication Number Publication Date
KR20240020846A true KR20240020846A (ko) 2024-02-16

Family

ID=89852102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220099064A KR20240020846A (ko) 2022-08-09 2022-08-09 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법

Country Status (2)

Country Link
KR (1) KR20240020846A (ko)
WO (1) WO2024034997A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020097344A (ko) 2001-06-20 2002-12-31 주식회사 마이크로모스 컴퓨터 하드디스크 내 자료 복구 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100941368B1 (ko) * 2007-12-27 2010-02-11 한국전자통신연구원 파일 안전 삭제 기능을 갖는 플래시 메모리 장치 및 플래시파일 안전 삭제 방법
KR101231592B1 (ko) * 2011-04-18 2013-02-08 고려대학교 산학협력단 안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법
KR20170020324A (ko) * 2014-04-23 2017-02-22 인스콘스 데이터 테크놀로지, 엘엘씨. 보안 소거 동작을 완료하기 위한 방법
KR101648262B1 (ko) * 2014-08-25 2016-08-16 성균관대학교산학협력단 Ssd에 적합한 보안 삭제 기능을 가진 패스워드 기반의 암호화 파일 관리 방법 및 이들을 이용한 암호화 파일 관리 시스템
GB201701747D0 (en) * 2017-02-02 2017-03-22 Blancco Tech Group Ip Oy Intelligent verification of cryptographic erase and other firmware erasure processes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020097344A (ko) 2001-06-20 2002-12-31 주식회사 마이크로모스 컴퓨터 하드디스크 내 자료 복구 방법

Also Published As

Publication number Publication date
WO2024034997A1 (ko) 2024-02-15

Similar Documents

Publication Publication Date Title
JP3878412B2 (ja) データを保存し使用し及び回復する方法
KR100437199B1 (ko) 컴퓨터시스템및그에저장된데이터를액세싱하기위한방법
US8130554B1 (en) Securely erasing flash-based memory
KR101465816B1 (ko) 플래시 드라이브 수명 연장
KR101376937B1 (ko) 플래시 컴포넌트 질의 시스템, 플래시 컴포넌트 질의 방법 및 컴퓨터 판독가능 저장 매체
US8190657B2 (en) Method and system for handling reallocated blocks in a file system
US8402202B2 (en) Input/output control method and apparatus optimized for flash memory
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US9146928B1 (en) Techniques for storing metadata of a filesystem in persistent memory
US20130185503A1 (en) Method for metadata persistence
KR100703807B1 (ko) 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치
US9183127B2 (en) Sequential block allocation in a memory
US9927991B2 (en) Extent movement speed in multi-tiered systems
KR20100065786A (ko) 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템
Jung et al. Lifetime-leveling LSM-tree compaction for ZNS SSD
CN102799542B (zh) 扇区增量的树形多层覆盖层的磁盘保护系统及其实现方法
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
KR100703680B1 (ko) 플래시 파일 시스템
CN109074308A (zh) 适应性的块转换表(btt)
US11409451B2 (en) Systems, methods, and storage media for using the otherwise-unutilized storage space on a storage device
US7921081B2 (en) Managing a snapshot stored within a file system space for efficient detection of in-use blocks
US11256418B2 (en) Logical address history management in memory device
KR20240020846A (ko) 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법
JP7219746B2 (ja) ストレージシステム及びストレージシステムのファイル再配置方法
US9646014B1 (en) Systems and methods for selective defragmentation

Legal Events

Date Code Title Description
E902 Notification of reason for refusal