KR20230080052A - 데이터 완전삭제 방법 및 시스템 - Google Patents

데이터 완전삭제 방법 및 시스템 Download PDF

Info

Publication number
KR20230080052A
KR20230080052A KR1020210167434A KR20210167434A KR20230080052A KR 20230080052 A KR20230080052 A KR 20230080052A KR 1020210167434 A KR1020210167434 A KR 1020210167434A KR 20210167434 A KR20210167434 A KR 20210167434A KR 20230080052 A KR20230080052 A KR 20230080052A
Authority
KR
South Korea
Prior art keywords
data
storage device
data storage
completely
deleting
Prior art date
Application number
KR1020210167434A
Other languages
English (en)
Other versions
KR102597220B1 (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 KR1020210167434A priority Critical patent/KR102597220B1/ko
Publication of KR20230080052A publication Critical patent/KR20230080052A/ko
Application granted granted Critical
Publication of KR102597220B1 publication Critical patent/KR102597220B1/ko

Links

Images

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은, 데이터 완전삭제 방법으로서, 상기 방법은 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보를 획득하는 단계; 인터페이스 및 펌웨어에 대한 정보에 기초하여, 데이터 완전삭제 방법을 결정하는 단계; 및 결정된 데이터 완전삭제 방법을 이용하여, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계를 포함하도록 구성된다.

Description

데이터 완전삭제 방법 및 시스템{METHOD AND SYSTEM FOR SANITIZING DATA}
본 발명은 데이터 저장 디바이스의 데이터를 완전삭제하는 방법 및 시스템에 관한 것이다.
현대사회에서 정보의 보호가 중요하기 때문에, 정보가 저장되는 데이터 저장 장치 상의 데이터를 보호하는 것이 중요하다.
데이터 저장 디바이스는, 데이터 저장 디바이스의 사용 주기 또는 데이터 저장 디바이스의 사용자 변경 등에 따라 빈번하게 용도나 사용자가 변경된다. 이에 따라, 프라이버시나 보안상 필요에 의해, 사용자의 데이터가 데이터 저장 디바이스로부터 완전삭제하는 기술의 중요성이 부각되었다.
데이터 저장 디바이스는 종류가 매우 다양할 뿐만 아니라, 동일한 종류의 데이터 저장 디바이스라도, 제조사나 펌웨어 (firmware) 에 따라 적용가능한 완전삭제 방법이 달라진다.
종래, 다양한 완전삭제 방법을 지원하여 그 중 하나의 완전삭제 방법을 사용자가 선택할 수 있는 데이터 완전삭제 솔루션들은 제안된 바 있다.
발명의 배경이 되는 기술은 본 발명에 대한 이해를 보다 용이하게 하기 위해 작성되었다. 발명의 배경이 되는 기술에 기재된 사항들이 선행기술로 존재한다고 인정하는 것으로 이해되어서는 안 된다.
종래 완전삭제 솔루션들에서는 사용자가 단순히 하나의 방법을 선택하여 완전삭제를 수행하는데 그쳤다.
그러나, 데이터 저장 디바이스는 인터페이스, 펌웨어, 암호화 적용 여부, 프로즌 (Frozen) 상태, ATA 보호 잠금 상태 (ATA Security Frozen) 등의 조건에 따라, 적용가능한 완전삭제 방법의 종류가 달라질 수 있어, 특정 완전삭제 방법은 지원되지 않아 적용이 가능하지 않을 수 있다.
이에, 본 발명의 발명자들은, 인터페이스, 펌웨어, 암호화 적용 여부, 프로즌 상태, ATA 보호 잠금 상태 등의 조건에 대응하여, 보다 유연하고 신뢰성 높은 완전삭제 방법을 개발하고자 하였다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 데이터 완전삭제 방법이 제공된다. 상기 방법은, 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보를 획득하는 단계; 인터페이스 및 펌웨어에 대한 정보에 기초하여, 데이터 완전삭제 방법을 결정하는 단계; 및 결정된 데이터 완전삭제 방법을 이용하여, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계를 포함하도록 구성된다.
본 발명의 특징에 따르면, 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보를 획득하는 단계는, 데이터 저장 디바이스에 TPM (Trusted Platform Module) 을 이용한 암호화가 적용되었는지 여부를 확인하는 단계를 포함할 수 있다.
본 발명의 다른 특징에 따르면, TPM을 이용한 암호화가 적용된 경우, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계는, TPM의 내부에 저장되고 암호화에 이용된 암호화 키를 삭제하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계는, 데이터 저장 디바이스에 미리 예약된 영역이 설정되었는지 여부를 확인하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 데이터 저장 디바이스에 미리 예약된 영역이 설정된 경우, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계는, 미리 예약된 영역을 초기화시키는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 미리 예약된 영역을 초기화시키는 단계는, 데이터 저장 디바이스가 프로즌 (Frozen) 상태인 경우, 데이터 저장 디바이스에 연결된 호스트가 ACPI 레벨 중 S3 절전상태로 진입하게 하고 자동으로 깨어나도록 명령하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 방법은 데이터 저장 디바이스의 데이터가 완전삭제되었는지 여부를 검증하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 데이터 저장 디바이스의 데이터가 완전삭제된 것으로 검증된 경우, 데이터 저장 디바이스의 데이터가 완전삭제되었는지 여부를 검증하는 단계는 결정된 데이터 완전삭제 방법이 제로필 (zero-fill) 방식인지 확인하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 방법은 결정된 데이터 완전삭제 방법이 제로필 방식이 아닌 경우, 성능하락 방지 프로세스를 수행하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 성능하락 방지를 방법을 수행하는 단계는, 제로필 방식인 데이터 완전삭제 방법을 이용하여, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 제로필 방식인 데이터 완전삭제 방법은 Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나를 포함할 수 있다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 데이터 저장 디바이스의 데이터를 완전삭제하기 위한 장치가 제공된다. 상기 장치는 데이터 저장 디바이스와 통신하도록 구성된 통신부; 데이터 완전삭제 어플리케이션을 저장하도록 구성된 메모리; 및 통신부 및 메모리와 동작 가능하도록 연결된 제어부를 포함하고, 제어부는, 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보를 획득하고, 인터페이스 및 펌웨어에 대한 정보 기초하여, 데이터 완전삭제 방법을 결정하도록 구성되고, 그리고 결정된 데이터 완전삭제 방법을 이용하여, 데이터 저장 디바이스의 데이터를 완전삭제하도록 구성된다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 인터페이스, 펌웨어, 암호화 적용 여부, 프로즌 상태, ATA 보호 잠금 상태 등의 조건에 대응하여, 보다 유연하고 신뢰성 높은 완전삭제를 달성할 수 있다.
또한, 본 발명은 악의적 또는 우발적인 중단에 대한 매우 높은 안정성과 데이터 완전삭제에 대한 매우 높은 신뢰성을 달성할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 데이터 완전삭제 시스템의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 완전삭제 시스템의 구성을 나타낸 블록도이다.
도 3는 본 발명의 일 실시예에 따른 데이터 완전삭제 시스템의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 완전삭제 방법을 나타낸 블록도이다.
도 5는 본 발명의 다양한 실시예를 조합한, 데이터 완전삭제 방법에서 데이터 저장 디바이스의 데이터를 완전삭제하는 단계를 나타낸 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~ 를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된)프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 데이터 완전삭제 시스템의 개략도이다.
도 1을 참조하면, 데이터 완전삭제 시스템은 호스트(100) 및 데이터 저장 디바이스(200)를 포함한다. 호스트(100)와 데이터 저장 디바이스(200)는 인터페이스(300)에 따라 커맨드 및/또는 데이터를 송수신할 수 있다.
호스트(100)는 제한되지 않고, 본 명세서에서 개시되는 완전삭제 방법을 수행하기 위한 장치이다. 본 명세서에서, '완전삭제 (sanitization)'라는 용어는, 데이터 저장 디바이스로부터 데이터를 논리적 방법을 이용하여 복구가 가능하지 않게 삭제하는 것을 의미한다. 호스트(100)는 예를 들어, 서버, 범용 컴퓨터, 랩탑, 네트워크 연결형 저장소, 테블릿 디바이스, 스마트폰 등을 포함할 수 있다. 호스트(100)는 완전삭제 방법을 집합적으로 수행할 수 있는 복수의 분산된 개별 호스트들을 포함할 수 있다. 또한, 호스트(100)는 데이터 저장 디바이스(200)에 인접하여 연결되거나 원격으로 연결될 수 있다.
데이터 저장 디바이스(200)는 완전삭제의 대상이 되는 메모리를 포함하는 저장 디바이스이다. 데이터 저장 디바이스(200)는 제한되지 않고, 하드디스크 타입 (hard disk type), 플래시 메모리 타입 (flash memory type), 멀티미디어 카드 마이크로 타입 (multimedia card micro type), 카드 타입의 메모리 (예를 들어, SD 또는 XD 메모리 등), 자체 암호화 드라이브 (Self-Encrypting Drive, SED) 등을 포함하는 데이터 저장 디바이스이다. 또한, 데이터 저장 디바이스(200)는 호스트(100)에 인접하여 연결되거나 원격으로 연결될 수 있다.
인터페이스(300)는, 호스트(100) 및 데이터 저장 디바이스(200)에 따라 지원가능한, 인터페이스 표준에 따라 동작 가능하다. 인터페이스 표준은 ATA (Advanced Technology Attachment), SCSI (Small Computer System Interface), NVMe (Non-Volatile Memory Express) 등을 포함할 수 있다. ATA 인터페이스는 하드 디스크 타입, SSD 등 플래시 메모리 타입 등에 대해 동작가능하고, SCSI 인터페이스는 하드 디스크 타입 등에 대해 설정가능하고, MVMe 인터페이스는 SSD 등 플래시 메모리 타입 등에 대해 설정가능하다.
도 2은 본 발명의 일 실시예에 따른 데이터 완전삭제 시스템의 구성을 나타낸 블록도이다. 도 2에서는 호스트(100)가 데이터 저장 디바이스(200)에 인접하여 연결된다.
도 2를 참조하면, 호스트(100)는 메모리(110), 제어부(120), 및 통신부(130)를 포함한다. 데이터 저장 디바이스(200)는 메모리(210), 제어부(220), 통신부(230), 및 펌웨어(240)를 포함한다. 호스트(100)는 데이터 저장 디바이스(200)를 포함한다.
호스트(100)의 메모리(110)는 데이터 완전삭제 어플리케이션(111) 등을 저장할 수 있다. 호스트(100)의 메모리(110)는 완전삭제의 대상이 되는 데이터 저장 디바이스(200)의 메모리(210)와 구별된다. 호스트(100)의 메모리(110)는 제한되지 않고, 플래시 메모리 타입 (flash memory type), 하드디스크 타입 (hard disk type), 멀티미디어 카드 마이크로 타입 (multimedia card micro type), 카드 타입의 메모리 (예를 들어, SD 또는 XD 메모리 등), 램 (Random Access Memory, RAM), SRAM (Static Random Access Memory), 롬 (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 등을 포함한다.
데이터 저장 디바이스(200)의 메모리(210)는 완전삭제의 대상이 되는 메모리로, 제한되지 않고, 하드디스크 타입 (hard disk type), 플래시 메모리 타입 (flash memory type), 멀티미디어 카드 마이크로 타입 (multimedia card micro type), 카드 타입의 메모리 (예를 들어, SD 또는 XD 메모리 등), 자체 암호화 드라이브 (Self-Encrypting Drive, SED) 등을 포함한다.
데이터 완전삭제 어플리케이션(111)은 본 발명에서 개시된 데이터 완전삭제 방법을 실행하도록 구성되는 어플리케이션이다. 데이터 완전삭제 어플리케이션(111)은 일반적으로 호스트(110)의 메모리에 저장되나, 호스트(100)에 연결된 이동식 저장장치(예를 들어, USB, 광 디스크, 외장 하드 등)에 저장될 수 도 있다.
호스트(100)의 제어부(120)는 메모리(110) 및 통신부(130)와 동작가능하게 연결된다. 데이터 저장 디바이스(200)의 제어부(220)는 메모리(210) 및 통신부(230)와 동작가능하게 연결된다. 호스트(100)의 제어부(120) 및 데이터 저장 디바이스(200)의 제어부(220)는 본 발명에서 개시된 데이터 완전삭제 방법과 관련된 동작을 제어하거나 수행할 수 있다. 호스트(100)의 제어부(120)는 전용 프로세서(예: 임베디드 프로세서), 메모리 장치에 저장된 데이터 완전삭제 어플리케이션(111) 등 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor) 등을 포함할 수 있다. 이하, 호스트(100)의 제어부(120) 및 데이터 저장 디바이스(200)의 제어부(220)의 동작에 대해서 간략하게 설명한다.
호스트(100)의 제어부(120)는 데이터 완전삭제 어플리케이션(111)을 실행함으로써, 본 발명에서 개시된 데이터 완전삭제 방법을 수행할 수 있다. 제어부(120)는 데이터 저장 디바이스(200)의 인터페이스 및 펌웨어에 대한 정보를 획득할 수 있다. 제어부(120)는 인터페이스 및 펌웨어에 대한 정보에 기초하여, 데이터 완전삭제 방법을 결정할 수 있다. 제어부(120)는 결정된 데이터 완전삭제 방법을 이용하여, 데이터 저장 디바이스(200)의 데이터를 완전삭제를 할 수 있다. 제어부(120)는 데이터 저장 디바이스(200)에 TPM을 이용한 암호화가 적용되었는지 여부를 인할 수 있다. 제어부(120)는 TPM의 내부에 저장되고 상기 암호화에 이용된 암호화 키를 삭제할 수 있다. 제어부(120)는 데이터 저장 디바이스(200)에 미리 예약된 영역이 설정되었는지 여부를 확인할 수 있다. 제어부(120)는 미리 예약된 영역이 설정된 경우, 미리 예약된 영역을 초기화시킬 수 있다. 제어부(120)는 데이터 저장 디바이스(200)가 프로즌 상태인지 여부를 확인할 수 있다. 제어부(120)는 데이터 저장 디바이스(200)가 프로즌 상태인 경우, 데이터 저장 디바이스(200)에 연결된 호스트(100)가 ACPI 레벨 중 S3 절전상태로 진입하게 하고 자동으로 깨어나 (wake up) 도록 명령할 수 있다. 제어부(120)는 데이터 저장 디바이스(200)의 데이터가 완전삭제되었는지 여부를 검증할 수 있다. 제어부(120)는 데이터 저장 디바이스(200)가 완전삭제된 것으로 검증된 경우, 마지막으로 수행된 (결정된) 데이터 완전삭제 방법이 제로필 방식인지 확인할 수 있다. 제어부(120)는 마지막으로 수행된 (결정된) 데이터 완전삭제 방법이 제로필 방식이 아닌 경우, 데이터 저장 디바이스(200)의 인터페이스 및 펌웨어에 대한 정보에 기초하여, 성능하락 방지 프로세스를 수행할 수 있다. 제어부(120)는 데이터 저장 디바이스(200)의 데이터가 완전삭제되지 않은 것으로 검증된 경우, 데이터 완전삭제 방법을 변경할 수 있다.
데이터 저장 디바이스(200)의 제어부(220)는 펌웨어(240)를 통해, 메모리(210)의 동작을 제어할 수 있다. 예를 들어, 데이터 저장 디바이스(200)의 제어부(220)는 펌웨어(240)를 통해, 메모리(210)에 데이터를 쓰기 (write) 및/또는 덮어쓰기 (overwrite)하거나 메모리(210)로부터 데이터를 삭제 (erase) 할 수 있다.
호스트(100)의 통신부(130)와 데이터 저장 디바이스(200)의 통신부(2230)는 인터페이스(300)를 통해 서로 통신하도록 구성된다. 호스트(100)의 통신부(130)와 데이터 저장 디바이스(200)의 통신부(230)는 제한되지 않고, 무선 통신부(예를 들어, 셀룰러 통신부, 근거리 무선 통신부, 등) 또는 유선 통신부(예를 들어, LAN(local area network) 통신부, 전력선 통신부, 데이터 전송선 통신부 등)를 포함하고, 그 중 해당하는 통신부를 이용하여 물리적/논리적으로 분리된 디바이스와 통신할 수 있다.
펌웨어(240)는 데이터 저장 디바이스(200) 내부에 포함된 소프트웨어로, 데이터 저장 디바이스(200)의 하드웨어 동작을 제어하도록 구성된다. 구체적으로, 펌웨어(211)는 메모리(210)의 동작을 제어하도록 구성된다. 데이터 저장 디바이스(200)는 펌웨어(240)를 통해 데이터를 저장 및 삭제하는 동작을 수행할 수 있다. 펌웨어(240)의 종류나 버전에 따라, 데이터 저장 디바이스(200)의 기능이나 성능이 달라진다. 특히 펌웨어(240)의 종류나 버전에 따라, 적용가능한 완전삭제 방법이 달라진다.
도 3은 본 발명의 다른 실시예에 따른 데이터 완전삭제 시스템의 구성을 나타낸 블록도이다. 도 3을 참조하면, 호스트(100)가 데이터 저장 디바이스(200)에 원격으로 위치하여, 호스트(100)는 데이터 저장 디바이스(200)에 온라인으로 연결된다. 호스트(100)는 온라인을 통해 데이터 저장 디바이스(200)에 본 발명에서 개시된 데이터 완전삭제 방법을 수행할 것을 명령할 수 있다.
도 3을 참조하면, 호스트(100)는 메모리(110), 제어부(120), 및 통신부(130)를 포함한다. 데이터 저장 디바이스(200)는 메모리(210), 제어부(220), 통신부(230)를 포함한다. 도 3의 실시예와 도 2의 실시예는 호스트(100)와 데이터 저장 디바이스(200)가 원격으로 위치하는지 여부에만 차이가 있다.
도 4는 본 발명의 일 실시예에 따른 데이터 완전삭제 방법을 나타낸 블록도이다.
먼저, 데이터 저장 디바이스(100)의 인터페이스 및 펌웨어에 대한 정보를 획득하는 단계가 수행된다(S400). 데이터 저장 디바이스(100)의 인터페이스(300) 및 펌웨어(240)에 대한 정보는 데이터 저장 디바이스(200)의 인터페이스(300)의 종류 및 데이터 저장 디바이스(200)의 펌웨어(240)의 종류나 버전를 포함한다. 데이터 저장 디바이스(200)의 인터페이스(300)의 종류 및 데이터 저장 디바이스(200)의 펌웨어(240)의 종류나 버전에 따라 적용가능한 완전삭제 방법이 달라진다.
구체적으로, ATA 인터페이스에서는 Sanitize Block Erase, Cryptography Block Erase, Overwrite Block Erase, ATA Security Erase, ATA Enhanced Security Erase 등이 완전삭제 방법으로 적용가능하다. SCSI 인터페이스에서는 Sanitize Block Erase, Cryptography Block Erase, Overwrite Block Erase, ATA Security Erase, ATA Enhanced Security Erase 등이 완전삭제 방법으로 적용가능하다. NVMe 인터페이스에서는 Sanitize Block Erase, Cryptography Block Erase, Overwrite Block Erase 등이 완전삭제 방법으로 적용가능하다. 다만, 각각의 인터페이스에서 일부 완전삭제 방법은 펌웨어(211)의 종류나 버전에 따라 적용가능하지 않을 수 있으며, 전술한 상기 완전삭제 방법들은 제조사나 완전삭제 솔루션의 종류에 따라 구현 방식이나 완전삭제 방법의 명칭에 있어 일부 차이가 있을 수 있다.
이하, 본 명세서에서 사용되는 완전삭제 방법들(Sanitize Block Erase, Cryptography Block Erase, Overwrite Block Erase, ATA Security Erase, ATA Enhanced Security Erase)을 정의한다.
Sanitize Block Erase는 데이터 저장 디바이스(200)의 매핑 테이블에 기록된 정보(이하, '매핑 데이터') 뿐만 아니라, 모든 블록에 기록된 정보를 삭제하여, 데이터 저장 디바이스(200)로부터 데이터를 완전삭제하는 방법이다. 매핑 테이블은 데이터 저장 디바이스(200)에서 저장된 데이터와 저장된 데이터의 위치를 매핑하는 테이블이다. Sanitize Block Erase는 제로필 (zero-fill) 방식에 해당하기 때문에, 데이터 저장 디바이스(200)의 메모리(210)가 SSD(Solid State Drive) 등의 플래시 메모리 타입인 경우, Sanitize Block Erase는 데이터 저장 디바이스(200)의 모든 블록을 제로 (zero) 로 덮어쓴다. 구체적으로, Sanitize Block Erase는 NAND 플래시 메모리 내의 셀에 고전압을 인가하는 방식으로 데이터를 삭제합니다. 인가되는 전압이 고전압이라는 기준은 전압의 인가 전후의 셀의 전하량을 비교하여 이전 값을 유추할 수 없을 정도로 높은 전압을 의미합니다. Sanitize Block Erase에서 고전압이 인가되는 것과 달리, 일반적인 덮어쓰기 동작에서는 고전압은 아니지만 셀에 임계치 (threshold) 이상의 전하를 차게 하여 논리적으로 제로 (zero) 인 상태로 결정되게 할 수 있기에 충분한 전압이 인가됩니다. 이에 따라, 일반적인 덮어쓰기 동작에서는 전압의 인가 전후의 셀의 전하량을 정밀하게 분석하여 이전 값이 유추될 가능성이 존재하기 때문에, 일반적인 덮어쓰기 동작에서는 데이터가 논리적 방법을 이용하여 복구가 가능할 가능성이 존재합니다.
Cryptography Block Erase는 데이터 저장 디바이스(200)의 데이터를 암호화하고, 암호화 키를 삭제하는 방식으로 데이터를 완전삭제하는 방법이다.
Overwrite Block Erase는 미리결정된 데이터 패턴 (predetermined data pattern) 으로 데이터 저장 디바이스(200)의 모든 블록을 덮어쓰기 (overwrite) 하여, 데이터 저장 디바이스(200)로부터 데이터를 완전삭제하는 방법이다. 일반적으로, 데이터 저장 디바이스(200)의 모든 블록을 2 회 이상 덮어쓰기하는 경우, 많은 시간이 소요되지만, 데이터 저장 디바이스(200)로부터 데이터가 완전삭제가 보장됩니다.
ATA Security Erase는 데이터 저장 디바이스(200)의 모든 블록에 기록된 정보를 삭제하여, 데이터 저장 디바이스(200)로부터 데이터를 완전삭제하는 방법이다. ATA Security Erase는 제로필 방식에 해당하기 때문에, 데이터 저장 디바이스(200)의 메모리(210)가 SSD 등의 플래시 메모리 타입인 경우, ATA Security Erase는 데이터 저장 디바이스(200)의 모든 블록을 제로(zero)로 덮어쓴다.
ATA Enhanced Security Erase는 데이터 저장 디바이스(200)의 매핑 데이터 및 모든 블록에 기록된 정보를 삭제하여, 데이터 저장 디바이스(200)로부터 데이터를 완전삭제하는 방법이다. ATA Enhanced Security Erase는 미리결정된 데이터 패턴으로 데이터 저장 디바이스(200)의 모든 블록을 덮어쓰기하여, 데이터 저장 디바이스(200)로부터 데이터를 완전삭제한다.
다양한 실시예에서, 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보를 획득하는 단계(S410)는 데이터 저장 디바이스(200)에 TPM (Trusted Platform Module) 을 이용한 암호화가 적용되었는지 여부를 확인하는 단계를 포함할 수 있다. 데이터 저장 디바이스(200)에 적용된 암호화는 예를 들어, BitLocker 등을 포함한다. 그러나, 이하에서 TPM을 이용한 암호화는 이에 제한되지 않으며, BitLocker에 적용되는 방식과 동일한 방식이 다른 방식들에도 적용될 수 있다. BitLocker는 암호화를 이용한 데이터 보호 기능으로, 전체 볼륨에 대한 데이터를 Bitlocker 암호화 키를 이용하여 암호화함으로써 데이터를 보호한다. BitLocker 암호화를 통해, 운영 체제와 통합되어 분실되거나 도난을 당하거나 부적절하게 서비스 해제된 데이터 저장 디바이스(200)로부터 데이터가 노출되는 위협이나 데이터 도용 위협을 해결할 수 있다.
TPM을 이용한 암호화가 적용된 경우, 본 발명에서 개시된 데이터 완전삭제 방법은, TPM의 내부에 저장되고 암호화에 이용된 암호화 키를 삭제하는 단계를 포함할 수 있다. 예를 들어, TPM을 이용한 BitLocker 암호화가 적용된 경우, 본 발명에서 개시된 데이터 완전삭제 방법은, TPM의 내부에 저장되고 암호화에 이용된 BitLocker 암호화 키를 삭제하는 단계를 포함할 수 있다. TPM 내부의 BitLocker 암호화 키는, Clear TPM 커맨드를 통해, 삭제될 수 있다. TPM 내부의 BitLocker 암호화 키가 삭제되면, 암호화된 전체 볼륨의 데이터에 대한 복호화가 가능하지 않게 된다. 이에 따라, 암호화된 전체 볼륨의 데이터의 완전삭제가 가능하다. TPM의 내부에 저장되고 암호화에 이용된 암호화 키를 삭제하는 단계에 대해서는 후술한다.
상기 인터페이스 및 상기 펌웨어에 대한 정보에 기초하여, 데이터 완전삭제 방법을 결정하는 단계가 수행된다(S410). 구체적으로, 획득된 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보에 기초하여, 데이터 저장 디바이스에 적용가능한 완전삭제 방법이 확인된다. 적용가능한 완전삭제 방법이 복수인 경우, 우선순위에 따라 수행할 완전삭제 방법이 결정된다. 우선순위는 데이터 완전삭제 어플리케이션의 제조사나 사용자에 의해 미리결정될 수 있다. 바람직하게는, Sanitize Block Erase 및 Cryptography Block Erase 중 적어도 하나가 적용가능한 경우, Sanitize Block Erase 및 Cryptography Block Erase 중 적어도 하나가 제 1 순위로 수행되게 미리결정될 수 있다. Overwrite Block Erase가 적용가능한 경우, Overwrite Block Erase가 제 2 순위로 수행되게 미리결정될 수 있다. ATA Security Erase 및 ATA Enhanced Security Erase 중 적어도 하나가 적용가능한 경우, ATA Security Erase 및 ATA Enhanced Security Eras 중 적어도 하나가 제 3 순위로 수행되게 미리결정될 수 있다. 후술한 바와 같이, ATA Security Erase 및 ATA Enhanced Security Erase는 프로즌 (Frozen) 상태에서는 수행이 가능하지 않고, 특히 ATA Security Erase는 Legacy 방식이기 때문에, ATA Security Erase 및 ATA Enhanced Security Erase는 낮은 우선순위를 갖는다. 이에 따라, 본 발명에 따른 완전삭제 방법은 인터페이스 및 펌웨어에 대응하여, 보다 유연하고 신뢰성 높은 완전삭제를 달성한다.
결정된 데이터 완전삭제 방법을 이용하여, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계가 수행된다(S420).
다양한 실시예에서, 데이터 저장 디바이스(200)의 데이터를 완전삭제하는 단계는 데이터 저장 디바이스에 미리 예약된 영역이 설정되었는지 여부를 확인하는 단계, 및 미리 예약된 영역이 설정된 경우, 미리 예약된 영역을 초기화시키는 단계를 포함할 수 있다. 미리 예약된 영역이 설정되었는지 여부는 단순히 미리 예약된 영역이 존재하는 것이 아니라 사용자 등에 의해 설정되어 초기값과 다른 데이터의 변경이 있는지 여부를 확인함으로써 결정된다.
데이터 저장 디바이스에 미리 예약된 영역은 사용자가 일반적으로 접근할 수 없는 영역으로, 이러한 영역에서는 데이터 저장 디바이스를 포멧하거나 삭제하더라도 데이터가 보존될 수 있다. 데이터 저장 디바이스에 미리 예약된 영역은 HPA (Host Protected Area), DCO (Device Configuration Overlay), AMAC (Accessible Max Address Configuration) 등을 포함한다. 미리 예약된 영역에는 데이터가 저장될 수 있으며, 루트킷 (rootkit) 등을 통해 데이터 은닉에 악용될 수 있고, 안티포렌식에 악용될 수도 있다. 따라서, 미리 예약된 영역이 설정된 경우에는, 초기화시키는 단계를 통해, 매우 높은 신뢰성을 갖는 데이터 완전삭제를 달성할 수 있다.
미리 예약된 영역인 HPA, DCO, AMAC 중 적어도 하나를 초기화시키는 단계는, 데이터 저장 디바이스(200)가 프로즌 (Frozen) 상태인 경우, 수행이 가능하지 않다. 예를 들어, 데이터 저장 디바이스(200)에 연결된 시스템이 이동식 저장 장치에 저장된 OS로 부팅을 진행하는 경우, 데이터 저장 디바이스(200)는 프로즌 상태가 될 수 있다. 본 명세서에서, 데이터 저장 디바이스(200)의 프로즌 상태는 ATA 보호 잠금 상태 (ATA Security Frozen) 을 포함한다. 미리 예약된 영역인 HPA, DCO, AMAC 중 적어도 하나가 설정되었는지 여부를 확인하는 단계가 수행되고, 미리 예약된 영역인 HPA, DCO, AMAC 중 적어도 하나가 설정된 경우, 데이터 저장 디바이스(200)가 프로즌 상태인지 여부를 확인하는 단계가 수행된다. 프로즌 상태가 확인되면, 미리 예약된 영역 중 HPA, DCO, AMAC 중 적어도 하나를 초기화시키는 단계는, 프로즌 상태를 해제하기 위한 작업으로서, 데이터 저장 디바이스(200)에 연결된 호스트(100)가 ACPI 레벨 중 S3 (Suspend to Ram) 절전상태 (sleeping state) 로 진입하게 하고 자동으로 깨어나 (wake up) 도록 명령하는 단계를 추가적으로 포함할 수 있다. 이에 따라, 데이터 저장 디바이스(200)에 연결된 호스트(100)는 S3 절전상태에 진입했다 자동으로 깨어나게 되어, 프로즌 상태가 해제된다. 데이터 저장 디바이스(200) (또는 데이터 저장 디바이스(200)에 연결된 시스템)는 자동으로 깨어나게 하는 옵션 (wake option) 으로 RTC Alarm 등이 사용될 수 있다. 또한, ATA 및 SCSI 인터페이스에서 적용가능한 ATA Security Erase 및 ATA Enhanced Security Erase도 데이터 저장 디바이스(200)가 프로즌 상태인 경우, 수행이 가능하지 않다. 따라서, 미리 예약된 영역 중 HPA, DCO, AMAC 중 적어도 하나를 초기화시키는 단계는 단순히 완전삭제의 신뢰성만을 추가적으로 확보하는 데 그치지 않고, ATA Security Erase 및 ATA Enhanced Security Erase 중 적어도 하나의 수행을 위해서도 필요하다.
프로즌 상태를 해제하기 위해서 사용자는 물리적으로 데이터 저장 디바이스(200)의 전원 케이블 뿐만 아니라 데이터 케이블도 차단 (unplug) 한 뒤에, 다시 전원 케이블 및 데이터 케이블을 연결해야 한다. 이에 따라, 사용자가 데이터 저장 디바이스(200)에 원격으로 위치한 경우에는 이러한 방법이 가능하지 않을 수 있다. 그러나, 본 발명에 개시된 완전삭제 방법에서는, 미리 설정된 영역 중 HPA, DCO, AMAC 중 적어도 하나를 초기화시키는 단계가 프로즌 상태인 데이터 저장 디바이스(200)에 연결된 호스트(100)가 ACPI 레벨 중 S3 절전상태로 진입하게 하고 자동으로 깨어나도록 명령하는 단계를 포함한다. 이러한 단계는 호스트(100)의 통신부(130)를 통해 온라인으로 수행될 수 있기 때문에, 본 발명에 개시된 완전삭제 방법에서는, 이러한 단계를 통해, 사용자가 데이터 저장 디바이스(200)에 원격으로 위치한 경우에도, 데이터 저장 디바이스의 프로즌 상태는 해제될 수 있다. 그 결과, 프로즌 상태인 데이터 저장 디바이스(200) 에 연결된 호스트(100)가 ACPI 레벨 중 S3 절전상태로 진입하게 하고 자동으로 깨어나도록 명령하는 단계는 사용자가 데이터 저장 디바이스(200)에 물리적으로 접근하지 않더라도 나아가 하나의 호스트(100)를 통해 원격으로 위치한 다수의 데이터 저장 디바이스(200)에 대해서, 본 발명에서 개시된 데이터 완전삭제 방법의 수행을 가능하게 한다.
다양한 실시예에서, 데이터 저장 디바이스(200)의 데이터를 완전삭제하는 단계는, 데이터 저장 디바이스(200)에 TPM을 이용한 BitLocker 암호화가 적용된 경우, TPM의 내부에 저장되고 암호화에 이용된 BitLocker 암호화 키를 삭제하는 단계를 더 포함할 수 있다. 이때, TPM의 내부에 저장되고 암호화에 이용된 BitLocker 암호화 키를 삭제하는 단계는, 결정된 데이터 완전삭제 방법을 수행하기 전에, 수행될 수 있다. BitLocker 암호화 키가 백업된 경우, BitLocker 암호화 키가 삭제되더라도 데이터 복원이 가능할 수 있다. 그럼에도 불구하고, 결정된 데이터 완전삭제 방법을 수행하기 전에 TPM으로부터 BitLocker 암호화 키를 삭제하는 것은, 일반적으로 BitLocker 암호화 키를 삭제하는 것은 다른 결정된 데이터 완전삭제 방법보다 상대적으로 빠르게 수행되기 때문에, (BitLocker 암호화 키를 삭제하는 법과 결정된 완전삭제 방법 모두를 수행하는) 완전삭제 전체 과정이 악의적으로 또는 우발적으로 중단되더라도, TPM으로부터 백업된 BitLocker 암호화 키는 이미 삭제되어, 사용자 디바이스(200)로부터 데이터가 일차적으로 상당히 빠르게 완전삭제 될 수 있기 때문이다. 또한, 결정된 완전삭제 방법이 이차적으로 수행된 후에는, 백업된 BitLocker 암호화 키를 통해서도 완전삭제된 데이터를 복원할 수 없기 때문에, 결정된 데이터 완전삭제 방법을 수행하기 전에 BitLocker 암호화 키를 삭제하는 것은, 그 반대의 순서나 하나의 결정된 데이터 완전삭제 방법을 수행하는 방법에 비해, 악의적 또는 우발적인 중단에 대한 매우 높은 안정성과 데이터 완전삭제에 대한 매우 높은 신뢰성을 달성할 수 있게 한다.
다양한 실시예에서, 데이터 완전삭제 방법은 데이터 저장 디바이스(200)의 데이터가 완전삭제되었는지 여부를 검증하는 단계를 더 포함할 수 있다. 구체적으로, 데이터의 완전삭제 여부를 검증하는 단계는, (i) 결정된 완전삭제 방법을 수행하기 전에, 데이터 저장 디바이스(200)의 전체 영역을 서브섹션으로 논리적으로 나누고, 검증 비율에 따라 특정 개수의 서브섹션을 샘플링(즉, 결정된 완전삭제 방법을 수행 전의 샘플링)하고, 샘플링된 서브섹션의 Hash 값을 호스트(100)의 메모리(110) 등 적합한 위치에 저장하고, (ii) 결정된 완전삭제 방법을 수행한 후, 결정된 완전삭제 방법을 수행하기 전과 후의 샘플링된 서브섹션의 Hash값을 비교합니다. Hash값을 비교한 결과, 하나라도 동일한 값이 있으면, 데이터 저장 디바이스(200)의 데이터는 완전삭제되지 않은 것으로 판단된다.
데이터 저장 디바이스(200)의 데이터가 완전삭제되었는지 여부를 검증한 결과에 따라, (i) 완전삭제되지 않은 것으로 검증된 경우, 데이터 완전삭제 방법을 변경하는 단계가 더 수행될 수 있고, (ii) 완전삭제된 것으로 검증된 경우, 마지막으로 수행된 데이터 완전삭제 방법이 제로필 방식인지 확인하는 단계가 더 수행될 수 있다. 데이터 완전삭제 방법을 변경하는 단계는, 결정된 완전삭제 방법이 복수인 경우에 남아 있는 완전삭제 방법(들)을 중 하나를, 전술한 완전삭제 방법을 결정하는 단계(S410)과 동일한 방법을 이용하여, 결정하는 단계를 포함한다.
결정된 데이터 완전삭제 방법이 제로필 방식인지 확인한 결과에 따라, (i) 결정된 데이터 완전삭제 방법이 제로필 방식인 경우, 결정된 완전삭제 방법을 수행한 후 샘플링된 서브섹션이 제로 (zero) 로 덮어써져 있는지 확인하는 단계가 더 수행될 수 있고, (ii) 결정된 데이터 완전삭제 방법이 제로필 방식이 아닌 경우, 성능하락 방지 프로세스를 수행하는 단계를 더 포함할 수 있다. 성능하락 방지 프로세스를 수행하는 단계는, 데이터 저장 디바이스(200)의 인터페이스 및 펌웨어에 대한 정보에 기초하여, 성능하락 방지 프로세스가 가능한지 확인하는 단계를 포함한다. 성능하락 방지 프로세스는, 제로필 방식인 데이터 완전삭제 방법을 이용하여, 데이터 저장 디바이스(200)의 데이터를 완전삭제하는 단계를 포함한다. SSD 등의 플래시 메모리 타입인 경우, 성능하락 방지 프로세스는 Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나를 이용하여 수행될 수 있다. 성능하락 방지를 위해, 제로필 방식인 Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나를 이용하는 것은, NAND 플래시 메모리의 경우 쓰기 (write) 가 페이지 사이즈 단위로 실행되고 이러한 페이지는 덮어쓰기 (overwrite) 가 될 수 없기 때문이다. NAND 플래시 메모리에서 쓰기는 페이지에 포함된 블록 전체가 삭제 (erase) 되어 페이지가 free 상태가 되어야 실행될 수 있다. 데이터가 이미 (랜덤으로) 쓰여 있는 경우, 해당 페이지는 stale 상태로 마킹되고, 쓰기를 하기 위해서는 해당 페이지가 포함된 블록 전체에 대한 삭제가 선행되어야 한다. 이에 따라, NAND 플래시 메모리에서는 쓰기에 대한 즉각적인 성능 하락이 발생하게 된다. 제로필 방식인 Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나를 이용함으로써, NAND 플래시 메모리에서 모든 블록이 제로 (zero) 로 덮어써져, 페이지를 free 상태로 만드는 선행하는 삭제 과정 없이도, 쓰기가 즉각적으로 실행되어 성능 하락이 방지된다.
도 5는 본 발명의 다양한 실시예를 조합한, 데이터 완전삭제 방법에서 데이터 저장 디바이스의 데이터를 완전삭제하는 단계(S420)를 나타낸 블록도이다.
도 5를 참조하면, 먼저 미리 예약된 영역인 HPA, DCO, AMAC 중 적어도 하나가 설정된 것인지 확인하는 단계(S500)가 수행된다. 미리 설정된 영역인 HPA, DCO, AMAC 중 적어도 하나가 설정된 것이 확인된 경우, 데이터 저장 디바이스(200)가 프로즌 상태인지 여부를 확인한다(S501). 데이터 저장 디바이스(200)가 프로즌 상태인 경우, 데이터 저장 디바이스(200)에 연결된 호스트(100)가 ACPI 레벨 중 S3 절전상태로 진입하게 하고 자동으로 깨어나 (wake up) 도록 명령하는 단계가 수행된다(S502). 데이터 저장 디바이스(200)가 프로즌 상태가 아닌 경우, 미리 설정된 영역을 초기화시키는 단계가 수행된다(503).
미리 설정된 영역인 HPA, DCO, AMAC 중 적어도 하나가 설정된 것이 확인되지 않은 경우, (결정된 완전삭제 방법을 수행 후 완전삭제 여부를 검증하기 위한) 결정된 완전삭제 방법을 수행 전의 샘플링이 수행된다(S510). 미리 설정된 영역인 HPA, DCO, AMAC 중 적어도 하나가 설정된 것이 확인되지 않은 경우는 미리 설정된 영역인 HPA, DCO, AMAC 중 적어도 하나가 존재하지 않는 경우도 포함한다. 또한, 미리 설정된 영역을 초기화시키는 단계(503)가 수행된 후에도, 결정된 완전삭제 방법을 수행 전의 샘플링이 수행된다(S510).
샘플링 후, 데이터 저장 디바이스(200)에 TPM을 이용한 BitLocker 암호화가 적용된 경우, TPM의 내부에 저장되고 암호화에 이용된 BitLocker 암호화 키를 삭제하는 단계가 수행된다(S520). BitLocker 암호화 키를 삭제 후, (결정된) 완전삭제 방법이 수행된다(S530).
다음으로, (결정된) 완전삭제 방법이 수행 후, 데이터 저장 디바이스(200)의 데이터가 완전삭제되었는지 여부를 검증하는 단계가 수행된다(S540). 데이터 저장 디바이스(200)가 완전삭제되지 않은 것으로 검증된 경우, 데이터 완전삭제 방법을 변경하는 단계가 수행된다(S541).
데이터 저장 디바이스(200)가 완전삭제된 것으로 검증된 경우, 마지막으로 수행된 데이터 완전삭제 방법이 제로필 방식인지 확인하는 단계 수행된다(S550). 마지막으로 수행된 데이터 완전삭제 방법이 제로필 방식인 경우, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계가 종료된다. 마지막으로 수행된 데이터 완전삭제 방법이 제로필 방식이 아닌 경우, 데이터 저장 디바이스(200)의 인터페이스 및 펌웨어에 대한 정보에 기초하여, 성능하락 방지 프로세스로 Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나가 적용가능한지 확인하는 단계가 수행된다(S551). Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나가 적용가능한 경우, Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나가 수행된다(S552). Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나가 적용가능하지 않은 경우, 데이터 저장 디바이스의 데이터를 완전삭제하는 단계가 종료된다.
이상 첨부된 도면을 참조하여 본 발명의 일 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 호스트
110: 메모리
111: 데이터 완전삭제 어플리케이션
120: 제어부
130: 통신부
200: 데이터 저장 디바이스
210: 메모리
220: 제어부
230: 통신부
240: 펌웨어
300: 인터페이스

Claims (13)

  1. 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보를 획득하는 단계;
    상기 인터페이스 및 상기 펌웨어에 대한 정보에 기초하여, 데이터 완전삭제 방법을 결정하는 단계; 및
    결정된 데이터 완전삭제 방법을 이용하여, 상기 데이터 저장 디바이스의 데이터를 완전삭제하는 단계를 포함하는, 데이터 완전삭제 방법.
  2. 제 1 항에 있어서,
    상기 데이터 저장 디바이스의 상기 인터페이스 및 상기 펌웨어에 대한 정보를 획득하는 단계는, 상기 데이터 저장 디바이스에 TPM (Trusted Platform Module) 을 이용한 암호화가 적용되었는지 여부를 확인하는 단계를 포함하는, 데이터 완전삭제 방법.
  3. 제 2 항에 있어서,
    상기 TPM을 이용한 상기 암호화가 적용된 경우, 상기 데이터 저장 디바이스의 상기 데이터를 완전삭제하는 단계는, 상기 TPM의 내부에 저장되고 상기 암호화에 이용된 암호화 키를 삭제하는 단계를 포함하는, 데이터 완전삭제 방법.
  4. 제 1 항에 있어서,
    상기 데이터 저장 디바이스의 상기 데이터를 완전삭제하는 단계는, 상기 데이터 저장 디바이스에 미리 예약된 영역이 설정되었는지 여부를 확인하는 단계를 포함하는, 데이터 완전삭제 방법.
  5. 제 4 항에 있어서,
    상기 데이터 저장 디바이스에 상기 미리 예약된 영역이 설정된 경우, 상기 데이터 저장 디바이스의 상기 데이터를 완전삭제하는 단계는, 상기 미리 예약된 영역을 초기화시키는 단계를 포함하는, 수행되는, 데이터 완전삭제 방법.
  6. 제 5 항에 있어서,
    상기 미리 예약된 영역을 초기화시키는 단계는, 상기 데이터 저장 디바이스가 프로즌 (Frozen) 상태인 경우, 상기 데이터 저장 디바이스에 연결된 호스트가 ACPI 레벨 중 S3 절전상태로 진입하게 하고 자동으로 깨어나도록 명령하는 단계를 포함하는, 데이터 완전삭제 방법.
  7. 제 1 항에 있어서,
    상기 데이터 저장 디바이스의 상기 데이터가 완전삭제되었는지 여부를 검증하는 단계를 더 포함하는, 데이터 완전삭제 방법.
  8. 제 7 항에 있어서,
    상기 데이터 저장 디바이스의 상기 데이터가 완전삭제된 것으로 검증된 경우, 상기 데이터 저장 디바이스의 상기 데이터가 완전삭제되었는지 여부를 검증하는 단계는 상기 결정된 데이터 완전삭제 방법이 제로필 (zero-fill) 방식인지 확인하는 단계를 더 포함하는, 데이터 완전삭제 방법.
  9. 제 8 항에 있어서,
    상기 결정된 데이터 완전삭제 방법이 상기 제로필 방식이 아닌 경우, 성능하락 방지 프로세스를 수행하는 단계를 더 포함하는, 데이터 완전삭제 방법.
  10. 제 9 항에 있어서,
    상기 성능하락 방지를 방법을 수행하는 단계는, 상기 제로필 방식인 데이터 완전삭제 방법을 이용하여, 상기 데이터 저장 디바이스의 상기 데이터를 완전삭제하는 단계를 포함하는, 데이터 완전삭제 방법.
  11. 제 10 항에 있어서,
    상기 제로필 방식인 데이터 완전삭제 방법은 Sanitize Block Erase 및 ATA Security Erase 중 적어도 하나를 포함하는, 데이터 완전삭제 방법.
  12. 제 7 항에 있어서,
    상기 데이터 저장 디바이스의 상기 데이터가 완전삭제되지 않은 것으로 검증된 경우, 데이터 완전삭제 방법을 변경하는 단계를 더 포함하는, 데이터 완전삭제 방법.
  13. 데이터 저장 디바이스의 데이터를 완전삭제하기 위한 장치로서,
    데이터 저장 디바이스와 통신하도록 구성된 통신부;
    데이터 완전삭제 어플리케이션을 저장하도록 구성된 메모리; 및
    상기 통신부 및 상기 메모리와 동작 가능하도록 연결된 제어부를 포함하고,
    상기 제어부는,
    상기 데이터 저장 디바이스의 인터페이스 및 펌웨어에 대한 정보를 획득하고,
    상기 인터페이스 및 상기 펌웨어에 대한 정보 기초하여, 데이터 완전삭제 방법을 결정하도록 구성되고, 그리고
    결정된 데이터 완전삭제 방법을 이용하여, 상기 데이터 저장 디바이스의 데이터를 완전삭제하도록 구성되는, 장치.
KR1020210167434A 2021-11-29 2021-11-29 데이터 완전삭제 방법 및 시스템 KR102597220B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210167434A KR102597220B1 (ko) 2021-11-29 2021-11-29 데이터 완전삭제 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210167434A KR102597220B1 (ko) 2021-11-29 2021-11-29 데이터 완전삭제 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20230080052A true KR20230080052A (ko) 2023-06-07
KR102597220B1 KR102597220B1 (ko) 2023-11-02

Family

ID=86762125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210167434A KR102597220B1 (ko) 2021-11-29 2021-11-29 데이터 완전삭제 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102597220B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080045977A (ko) * 2006-11-21 2008-05-26 삼성전자주식회사 파일 복원기능을 구비한 전자장치 및 그 방법
KR20130140926A (ko) * 2012-05-07 2013-12-26 마송훈 스캔 이미지 처리 시스템 및 스캔 이미지 처리 방법
JP2014026409A (ja) * 2012-07-26 2014-02-06 Lenovo Singapore Pte Ltd 情報端末装置を同期する方法および情報端末装置
JP2018063676A (ja) * 2016-10-14 2018-04-19 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
KR20180117278A (ko) * 2017-04-19 2018-10-29 (주)금강시스템즈 모바일기기의 데이터 삭제방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080045977A (ko) * 2006-11-21 2008-05-26 삼성전자주식회사 파일 복원기능을 구비한 전자장치 및 그 방법
KR20130140926A (ko) * 2012-05-07 2013-12-26 마송훈 스캔 이미지 처리 시스템 및 스캔 이미지 처리 방법
JP2014026409A (ja) * 2012-07-26 2014-02-06 Lenovo Singapore Pte Ltd 情報端末装置を同期する方法および情報端末装置
JP2018063676A (ja) * 2016-10-14 2018-04-19 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
KR20180117278A (ko) * 2017-04-19 2018-10-29 (주)금강시스템즈 모바일기기의 데이터 삭제방법

Also Published As

Publication number Publication date
KR102597220B1 (ko) 2023-11-02

Similar Documents

Publication Publication Date Title
US10049215B2 (en) Apparatus and method for preventing access by malware to locally backed up data
KR102590470B1 (ko) 스토리지 디바이스의 논리적 어드레스들에 대한 데이터의 이전 버전들 관리
US7146525B2 (en) Method for backing up and recovering data in the hard disk of a computer
EP2335181B1 (en) External encryption and recovery management with hardware encrypted storage devices
JP5889933B2 (ja) コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ
US20110264925A1 (en) Securing data on a self-encrypting storage device
EP2161673A1 (en) Method and system for protecting data
US8380666B2 (en) File management device and storage device for managing mapping information between a first file system and a second file system
US7818567B2 (en) Method for protecting security accounts manager (SAM) files within windows operating systems
US6016536A (en) Method for backing up the system files in a hard disk drive
US20090300753A1 (en) Method for preventing data in a computer system from being accessed by unauthorized user
TWI711940B (zh) 用於資料儲存設備的安全快照管理的裝置、系統、及方法
CN109214204B (zh) 数据处理方法和存储设备
JP4653497B2 (ja) 携帯記憶装置
US10445534B2 (en) Selective storage device wiping system and method
JP5304229B2 (ja) 端末装置
US20140281581A1 (en) Storage Device
KR102597220B1 (ko) 데이터 완전삭제 방법 및 시스템
CN116089327A (zh) 数据保护方法及相关设备
RU2580014C2 (ru) Система и способ изменения маски зашифрованной области при возникновении сбоя в компьютерной системе
KR20150139420A (ko) 스토리지 시스템 및 그것의 보안 쓰기 방지 수행 방법
JP2018139025A (ja) データ消去方法、データ消去プログラム、データ消去プログラムを備えたコンピュータおよびデータ消去管理サーバ
JP2015069241A (ja) 画像処理装置、制御装置、それらの制御方法、及びプログラム
JP7202030B2 (ja) 記憶装置内の悪意のある動作を検出するためのモジュールおよび方法
US9116794B2 (en) Storage device data protection system

Legal Events

Date Code Title Description
GRNT Written decision to grant