WO2012144717A1 - 안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법 - Google Patents

안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법 Download PDF

Info

Publication number
WO2012144717A1
WO2012144717A1 PCT/KR2011/009554 KR2011009554W WO2012144717A1 WO 2012144717 A1 WO2012144717 A1 WO 2012144717A1 KR 2011009554 W KR2011009554 W KR 2011009554W WO 2012144717 A1 WO2012144717 A1 WO 2012144717A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
file
flash memory
page
encryption key
Prior art date
Application number
PCT/KR2011/009554
Other languages
English (en)
French (fr)
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 고려대학교 산학협력단
Publication of WO2012144717A1 publication Critical patent/WO2012144717A1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Definitions

  • the present invention relates to a flash memory control apparatus and method for securely and completely deleting a data file on a flash memory.
  • the present invention relates to a flash memory control apparatus and method for encrypting and storing a data file with an encryption key and storing the encryption key in a separate header area to perform an overwrite operation when the data file is deleted.
  • USB flash memory is one of the most widely used devices due to the advantage of storing a large amount of data despite its small size.
  • USB flash memory is widely used to store and move a personal information file such as an accredited certificate or a document file such as a company's confidential document.
  • USB flash memory used to store user personal information and confidential data is lost, even if the data has already been deleted, it can be easily restored through a restoration program. In this case, user personal information and confidential information stored in the corresponding USB flash memory will be exposed to a third party and cause serious damage.
  • An object of the present invention is to solve the problems described above, flash memory control device that provides a safe erase method suitable for flash memory with the maximum safety and efficiency by observing safe data deletion guidelines through a minimum operation and To provide a way.
  • Another object of the present invention is to provide a flash memory control apparatus and method for performing a delete operation by determining whether a block delete operation including a page in which an encryption key is stored is possible when deleting an encryption key of a data file by an overwrite operation. will be.
  • the present invention relates to a flash memory control device for storing and deleting a data file on a flash memory divided into a header area and a data area, comprising: a key generation unit generating a master key; Upon receiving a request for storing a data file, a file encryption key is generated, the data file is encrypted with the file encryption key and stored in the data area, and the file encryption key is encrypted with the master key and stored in the header area. part; And a delete unit configured to perform a delete operation of the data file stored in the data area and to overwrite a page of the header area in which the file encryption key of the data file is stored.
  • the master key is generated by a password input from a user.
  • the master key is generated by repeatedly calculating the password using a one-way function.
  • the file encryption key is generated by a random number.
  • the overwrite operation is an operation of overwriting the page with data of a predetermined pattern.
  • the delete unit performs a delete operation on the block if a valid page does not exist in the block including the page on which the overwrite operation is performed.
  • the valid page is a page which does not include header information of a file to be deleted or which has not been previously overwritten with data of a known pattern.
  • the present invention also relates to a flash memory control method for storing and deleting a data file on a flash memory divided into a header area and a data area, the method comprising: (a) generating a master key; (b) upon receiving a request for storing a data file, generates a file encryption key, encrypts the data file with the file encryption key and stores the data file in the data area, encrypts the file encryption key with the master key, Storing; (c) upon receiving a request for deleting a data file, performing a delete operation of the data file stored in the data area, and performing an overwrite operation on a page of the header area in which the file encryption key of the data file is stored. do.
  • the overwrite operation is an operation of overwriting the page with data of a predetermined pattern.
  • step (c) if a valid page does not exist in the block including the page on which the overwrite operation is performed, an erase operation is performed on the block. do.
  • the valid page is a page which does not include header information of a file to be deleted or which has not been previously overwritten with data of a known pattern.
  • the invention also relates to a computer readable recording medium having recorded thereon a program for performing the method.
  • the data stored in the flash memory can not be recovered in compliance with the guidelines for secure data deletion, thereby preventing the leakage of user data Is obtained.
  • the flash memory control apparatus and method according to the present invention since the deleted data file is encrypted on the flash memory and the encryption key of the data file is overwritten, the data of the file can be restored and leaked even after the delete operation. No effect is obtained.
  • the flash memory control apparatus and method according to the present invention by performing the block erase operation to determine whether to perform the overwrite operation for erasing, it is possible to reduce the freezing phenomenon of the flash memory to increase the erase efficiency Is obtained.
  • FIG. 1 is a diagram showing an example of the overall system configuration for practicing the present invention.
  • FIG. 2 is a block diagram of a configuration of a flash memory control apparatus according to an embodiment of the present invention.
  • 3 to 6 are flowcharts illustrating a flash memory control method according to an embodiment of the present invention.
  • the entire system for implementing the present invention is composed of a terminal 10, a flash memory 20, and a flash memory controller 30.
  • the terminal 10 is a terminal having a computing function such as a PC, a notebook computer, a PDA, a tablet PC, a smartphone, etc., and is a terminal for a user to use the flash memory 20.
  • the terminal 10 includes an interface for data communication with the flash memory 20.
  • the flash memory controller 30 is a program device installed in the terminal 10 and controls the storage, deletion, etc. of the flash memory 20 connected by the interface of the terminal 10. That is, when the flash memory 20 is inserted into the terminal 10, the control device 30 operates to control the storage and deletion of the flash memory 20.
  • the flash memory 20 is a device for storing user data, and is divided into a data area 22 and a header area 24.
  • the data area 22 and the header area 24 are each composed of a plurality of blocks, which are again divided into a plurality of pages.
  • the flash memory 20 is a storage medium formed of a plurality of memory cells. Therefore, the flash memory 20 may write and read data in a page unit, but may not perform a clear operation in a page unit. Clear operations of memory cells are possible only in blocks.
  • the data written in the actual memory cell is not physically deleted, but only an indication (which may be a flag) indicating that the data is deleted. If the block to which the page belongs does not contain valid data, the block must be deleted. For example, each page is cleared by performing a clear operation on the entire block only when data is not stored in all cells in the block or when there is a delete indication.
  • the flash memory controller 30 may be installed in the flash memory 20. That is, the flash memory 20 may be implemented as a program device performed by a microprocessor, or may be implemented as a single control chip such as an ASIC (custom semiconductor).
  • the flash memory controller 30 includes a key generation unit 31, a storage unit 32, and a deletion unit 33. In addition, it may be configured to further include a one-way function calculation unit 34, and the encryption calculation unit 35.
  • the key generation unit 31 generates a master key.
  • a master key may be generated by a password input from a user, or may be generated by an automated password generation method according to other rules.
  • the master key is generated by iteratively calculating the password using a one-way function. Therefore, it is not possible to obtain the original password by inverting the generated master key once, thereby ensuring the security of the master key and the password therefrom.
  • the one-way function described above may consist of a series of operations previously designed to be robust to reverse operations.
  • the key generation unit 31 generates a master key through the one-way function calculator 34, but the one-way function calculator 34 uses the one-way function or the password generated according to the automation rule as the input value. Generates a master key by repeating it several times according to a series of predefined operations.
  • the storage unit 32 generates a file encryption key when it receives a request for storing a data file. At this time, a file encryption key for encrypting user data is generated through the random number generator 36.
  • the storage unit 32 encrypts the data file with the file encryption key and stores the data file in the data area 22 of the flash memory.
  • the storage unit 32 encrypts the file encryption key with the master key and stores the data file in the header area 24. At this time, the file encryption key is generated by the random number generator 36.
  • the encryption operation unit 16 encrypts the user data (or data file) using the file encryption key, and the file encryption key used is encrypted using the master key.
  • the data area 22 stores data (or data files) that an actual user wants to store. At this time, the data file is stored in an encrypted form using the file encryption key.
  • the header area 24 stores information related to data stored in the data block 24, such as file meta information. At this time, the file encryption key used for data encryption stored in the data block 24 is stored in the header block 22 in an encrypted form.
  • the deletion unit 33 When the deletion unit 33 receives a request for deleting the data file, the deletion unit 33 performs a deletion operation of the data file stored in the data area 22, and deletes the data file on a page of the header area 24 in which the file encryption key of the data file is stored. Perform an overwrite operation.
  • the overwrite operation is an operation of overwriting the page with data of a predetermined pattern.
  • the predetermined pattern serves to prevent the delete operation from being undone by modulating the data of the corresponding page so that the header area 24 in which the encryption key is stored through the overwrite operation cannot be recovered. Therefore, those of ordinary skill in the art to design the pattern to ensure the irreversibility of the data by the modulation so that the encryption key stored in the header area 24 can not be applied to this embodiment. Can be.
  • a valid page is a page which does not include header information of a file to be deleted or is a page which has not already been overwritten with data of a known pattern.
  • the flash memory control method includes (a) master generation step (S10), (b) storing the data file and file encryption key (S20), (c) data file and file In step S30, the encryption key is deleted.
  • a password input is received from the user (S11).
  • a one-way function is performed on the user password.
  • S13 n times
  • the one-way function operation is repeatedly applied to generate the final result as a master key (S14). That is, the master key is an output value obtained by applying the one-way operation 12 to the user password several times.
  • a file encryption key is generated, the data file is encrypted with the file encryption key, and stored in the data area.
  • a file encryption key is encrypted with the master key and stored in the header area.
  • the data selected by the user is subjected to an encryption process before being stored in the flash memory 20.
  • the file encryption key output from the random number generator 36 is used to encrypt user data, and the file encryption key is encrypted again using the master key.
  • the encrypted data (or data file) output through the above process is stored in the data block (or data area) 22, and the encrypted file encryption key is a header block 24 in which information about the data block 22 is stored. )
  • step of deleting upon receiving a deletion request of the data file, a deletion operation of the data file stored in the data area is performed, and the file encryption key of the data file is determined. Performs an overwrite operation on the page of the saved header area.
  • deletion is started at that time (S31).
  • the header block 24 stores the file encryption key of the data (or data file) to be deleted (S32).
  • the page of the header block in which the corresponding encryption key is stored is overwritten with data of a known pattern (S33).
  • a valid page means a page which does not include header information of a file to be deleted or has not been previously overwritten with data of a known pattern.
  • the delete operation is terminated. If the valid page exists, the delete operation is terminated after performing the delete operation on the corresponding header block (S35).
  • the present invention is applicable to the development of a flash memory control device that provides a safe erase method suitable for a flash memory with maximum safety and efficiency by observing a safe data deletion guideline through a minimum of operations.

Landscapes

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

Abstract

본 발명은 헤더 영역과 데이터 영역으로 구분되는 플래시 메모리를 제어하는 장치 및 방법에 관한 것으로서, 마스터키를 생성하는 키생성부; 플래시 메모리 상에 데이터 파일을 저장하는 요청을 수신하면, 파일 암호키를 생성하고, 파일 암호키로 데이터 파일을 암호화하여 데이터 영역에 저장하고, 파일 암호키를 마스터키로 암호화하여 헤더영역에 저장하는 저장부; 및 플래시 메모리 상에서 데이터 파일을 삭제하는 요청을 수신하면, 데이터 영역에 저장된 데이터 파일의 삭제 연산을 수행하고, 데이터 파일의 파일 암호키가 저장된 헤더 영역의 페이지에 덮어쓰기 연산을 수행하는 삭제부를 포함하는 구성되며, 이를 통해 삭제된 데이터 파일은 플래시 메모리상에서 암호화되어 남겨지고 상기 데이터 파일의 암호키는 덮어쓰기 되므로, 삭제연산 후에도 파일의 데이터가 복원되어 유출될 수 없도록 한다.

Description

안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법
본 발명은 플래시 메모리 상에서 데이터 파일을 안전하고 완전하게 삭제하기 위한 플래시 메모리 제어 장치 및 방법에 관한 것이다. 특히, 본 발명은 데이터 파일을 암호키로 암호화하여 저장하고 암호키를 별도 헤더 영역에 저장하여, 데이터 파일 삭제시 암호키를 덮어쓰기 연산을 수행하는 플래시 메모리 제어 장치 및 방법에 관한 것이다.
정보기술의 발전에 따라 일반인들도 손쉽게 다양한 전자제품들을 사용할 수 있게 되었다. 그중 USB 플래시 메모리는 작은 크기에도 불구하고 대용량의 데이터를 저장할 수 있는 장점으로 인해 가장 널리 사용되는 대표적인 기기 중 하나이다.
특히, 이동이 잦은 사람들은 USB 플래시 메모리에 많은 정보 데이터를 저장하여 가지고 다닌다. 예를 들어, 공인인증서 등 개인정보 파일이나, 회사의 기밀 문서 등 문서 파일을 저장하여 이동하는데, USB 플래시 메모리가 많이 이용된다.
그러나 사용자 개인 정보 및 기밀 데이터 저장에 사용된 USB 플래시 메모리를 분실할 경우, 해당 데이터가 이미 삭제되었다 하더라도 복원 프로그램 등을 통해 손쉽게 복원할 수 있다. 이 경우 해당 USB 플래시 메모리에 저장되어 있던 사용자 개인 정보 및 기밀 정보는 제 3자에게 노출되어 심각한 피해를 초래하게 된다.
이러한 문제점을 방지하기 위해, 안전한 데이터 삭제를 위한 다양한 지침들 이 발표되었으며, 발표된 지침들을 준수하는 소프트웨어도 다수 개발되었다. 상기 와 같은 종래의 안전한 데이터 삭제 지침들은 주로 기존의 하드 디스크에 저장된 데이터를 안전하게 삭제하기 위한 지침들이다.
그런데 하드 디스크와 USB 플래시 메모리의 동작 방법이 물리적으로 다르기 때문에, 하드 디스크에 주로 적용되던 종래의 삭제 지침을 곧바로 USB 플래시 메모리에 적용하면, 효율이 떨어지거나 안전하게 삭제되지 않는 경우가 발생할 수 있다.
따라서 플래시 메모리의 특성을 고려한 새로운 삭제 방법을 적용해야 한다. 최근 플래시 메모리의 특성을 고려하여 플래시 메모리에 적합한 안전한 삭제 기술이 연구되고 있으나, 종래 기술은 안전한 데이터 삭제 지침을 따르고 있지 않아 안전성을 보장할 수 없는 문제점이 존재한다.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 최소한의 연산을 통해 안전한 데이터 삭제 지침을 준수하여, 안전성과 효율성이 극대화된 플래시 메모리에 적합한 안전한 삭제 방법을 제공하는 플래시 메모리 제어 장치 및 방법을 제공하는 것이다.
또한, 본 발명의 목적은 데이터 파일을 암호키로 암호화하여 저장하고 암호키를 별도 헤더 영역에 저장하여, 데이터 파일 삭제시 암호키를 덮어쓰기 연산을 수행하는 플래시 메모리 제어 장치 및 방법을 제공하는 것이다.
또한, 본 발명의 목적은 데이터 파일의 암호키를 덮어쓰기 연산으로 삭제할 때, 암호키가 저장된 페이지를 포함하는 블록 삭제 연산의 가능여부를 판단하여 삭제 연산을 하는 플래시 메모리 제어 장치 및 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 헤더 영역과 데이터 영역으로 구분되는 플래시 메모리 상에서 데이터 파일의 저장 및 삭제를 수행하는 플래시 메모리 제어 장치에 관한 것으로서, 마스터키를 생성하는 키생성부; 데이터 파일의 저장요청을 수신하면, 파일 암호키를 생성하고, 상기 파일 암호키로 상기 데이터 파일을 암호화하여 상기 데이터 영역에 저장하고, 상기 파일 암호키를 상기 마스터키로 암호화하여 상기 헤더 영역에 저장하는 저장부; 데이터 파일의 삭제 요청을 수신하면, 상기 데이터 영역에 저장된 상기 데이터 파일의 삭제 연산을 수행하고, 상기 데이터 파일의 파일 암호키가 저장된 헤더 영역의 페이지에 덮어쓰기 연산을 수행하는 삭제부를 포함한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 마스터키는 사용자로부터 입력받은 패스워드에 의해 생성되는 것을 특징으로 한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 마스터키는 일방향 함수를 이용하여 상기 패스워드를 반복 연산함으로써 생성되는 것을 특징으로 한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 파일 암호키는 난수에 의해 생성되는 것을 특징으로 한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 덮어쓰기 연산은 사전에 정해진 패턴의 데이터로 상기 페이지에 덮어쓰기를 하는 연산인 것을 특징으로 한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 삭제부는, 상기 덮어쓰기 연산이 수행된 페이지를 포함하는 블록에 유효한 페이지가 존재하지 않으면, 상기 블록에 삭제 연산을 수행하는 것을 특징으로 한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 유효한 페이지는 삭제 대상이 되는 파일의 헤더 정보를 포함하고 있지 않거나, 알려진 패턴의 데이터로 기존에 이미 덮어쓰기가 수행되지 않은 페이지인 것을 특징으로 한다.
또한, 본 발명은 헤더 영역과 데이터 영역으로 구분되는 플래시 메모리 상에서 데이터 파일의 저장 및 삭제를 수행하는 플래시 메모리 제어 방법에 관한 것으로서, (a) 마스터키를 생성하는 단계; (b) 데이터 파일의 저장 요청을 수신하면, 파일 암호키를 생성하고, 상기 파일 암호키로 상기 데이터 파일을 암호화하여 상기 데이터 영역에 저장하고, 상기 파일 암호키를 상기 마스터키로 암호화하여 상기 헤더 영역에 저장하는 단계; (c) 데이터 파일의 삭제 요청을 수신하면, 상기 데이터 영역에 저장된 상기 데이터 파일의 삭제 연산을 수행하고, 상기 데이터 파일의 파일 암호키가 저장된 헤더 영역의 페이지에 덮어쓰기 연산을 수행하는 단계를 포함한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 덮어쓰기 연산은 사전에 정해진 패턴의 데이터로 상기 페이지에 덮어쓰기를 하는 연산인 것을 특징으로 한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 (c)단계에서, 상기 덮어쓰기 연산이 수행된 페이지를 포함하는 블록에 유효한 페이지가 존재하지 않으면, 상기 블록에 삭제 연산을 수행하는 것을 특징으로 한다.
또, 본 발명은 플래시 메모리 제어 장치에 있어서, 상기 유효한 페이지는 삭제 대상이 되는 파일의 헤더 정보를 포함하고 있지 않거나, 알려진 패턴의 데이터로 기존에 이미 덮어쓰기가 수행되지 않은 페이지인 것을 특징으로 한다.
또한, 본 발명은 상기 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상술한 바와 같이, 본 발명에 따른 플래시 메모리 제어 장치 및 방법에 의하면, 안전한 데이터 삭제를 위한 지침을 준수하여 플래시 메모리에 저장된 데이터가 복구될 수 없도록 함으로써, 사용자 데이터의 외부 유출을 방지할 수 있는 효과가 얻어진다.
즉, 본 발명에 따른 플래시 메모리 제어 장치 및 방법에 의하면, 삭제된 데이터 파일은 플래시 메모리 상에서 암호화되어 남겨지고 상기 데이터 파일의 암호 키는 덮어쓰기 되므로, 삭제 연산 후에도 파일의 데이터가 복원되어 유출될 수 없는 효과가 얻어진다.
또한, 본 발명에 따른 플래시 메모리 제어 장치 및 방법에 의하면, 삭제를 위한 덮어쓰기 연산을 수행할 때 블록 삭제 연산 여부를 판단하여 수행함으로써, 플래시 메모리의 프리징 현상을 줄여 삭제 효율성을 높일 수 있는 효과가 얻어진다.
도 1은 본 발명을 실시하기 위한 전체 시스템 구성의 일례를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 플래시 메모리 제어 장치의 구성에 대한 블록도이다.
도 3 내지 도 6은 본 발명의 일실시예에 따른 플래시 메모리 제어 방법을 설명하는 흐름도이다.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다. 또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 시스템 구성의 일례를 도 1을 참조하여 설명한다.
도 1a에서 도시한 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 단말기(10), 플래시 메모리(20), 및 플래시 메모리 제어장치(30)로 구성된다.
단말기(10)는 PC, 노트북, PDA, 태블릿PC, 스마트폰 등 컴퓨팅 기능을 가진 단말기로서, 사용자가 플래시 메모리(20)를 사용하기 위한 단말이다. 단말기(10)는 플래시 메모리(20)와 데이터 통신을 할 수 있는 인터페이스를 구비한다.
플래시 메모리 제어장치(30)는 단말기(10)에 설치되는 프로그램 장치로서, 단말기(10)의 인터페이스에 의해 연결된 플래시 메모리(20)의 저장, 삭제 등을 제어한다. 즉, 플래시 메모리(20)가 단말기(10)에 삽입되면, 제어장치(30)는 작동하여 플래시 메모리(20)의 저장 및 삭제 등을 제어한다.
도 2에서 보는 바와 같이, 플래시 메모리(20)는 사용자 데이터를 저장하는 장치로서, 데이터 영역(22)과 헤더 영역(24)으로 구분된다. 데이터 영역(22) 및 헤더 영역(24)은 각각 다수의 블록으로 구성되고, 블록은 다시 다수의 페이지로 구분된다.
플래시 메모리(20)는 다수의 메모리 셀로 형성된 저장매체이다. 따라서 플래시 메모리(20)는 특성상 데이터를 쓰고 읽는 연산은 페이지 단위로 수행될 수 있으나, 페이지 단위로 클리어(clear) 연산을 수행하지는 못한다. 메모리 셀의 클리어(clear) 연산은 블록 단위로만 가능하다.
따라서 페이지 단위로 삭제하는 경우, 실제 메모리 셀에 기록된 데이터를 물리적으로 삭제하지는 않고, 단지 삭제되었음을 나타내는 표시(일종의 flag가 될 수 있다.)만 해둔다. 그리고 그 페이지가 속한 블록에 유효한 데이터가 없는 경우에 블록을 삭제해야 한다. 예를 들어, 블록 내에 모든 셀에 데이터가 저장되지 않았다거나 삭제 표시가 있는 경우에만, 블록 전체를 클리어(clear) 연산을 수행함으로써, 각 페이지를 클리어(clear)하게 된다.
한편, 도 1b에서 보는 바와 같이, 다른 실시예로서, 플래시 메모리 제어장치(30)는 플래시 메모리(20) 내에서 설치될 수도 있다. 즉, 플래시 메모리(20) 내에 마이크로 프로세서에 의해 수행되는 프로그램 장치로서 구현되거나, ASIC(주문형 반도체) 등 하나의 제어 칩으로 구현될 수도 있다.
다음으로, 본 발명의 일실시예에 따른 플래시 메모리 제어장치(30)의 구성을 도 2를 참조하여 설명한다.
도 2에서 보는 바와 같이, 플래시 메모리 제어장치(30)는 키생성부(31), 저장부(32), 및, 삭제부(33)로 구성된다. 또한 추가적으로, 일방향 함수 연산부(34) 및, 암호화 연산부(35)를 더 포함하여 구성될 수 있다.
키생성부(31)는 마스터키를 생성한다. 이러한 마스터키는 사용자로부터 입력받은 패스워드에 의해 생성될 수 있으며, 여타의 규칙에 따른 자동화된 패스워드 생성 방법에 의해 생성될 수도 있다. 또한, 상기 마스터키는 일방향 함수를 이용하여 상기 패스워드를 반복 연산함으로써 생성된다. 따라서, 일단 생성된 마스터키를 역으로 연산함으로써 원래의 패스워드를 얻을 수는 없으며, 그로부터 마스터키 및 패스워드에 대한 안전성을 보장할 수 있다. 이를 위해 상기된 일방향 함수는 역방향 연산에 강인하도록 사전에 설계된 일련의 연산으로 구성될 수 있다.
즉, 키생성부(31)는 일방향 함수 연산부(34)를 통해 마스터키를 생성하되, 일방향 함수 연산부(34)는 사용자로부터 입력받은 패스워드 또는 자동화 규칙에 따라 생성된 패스워드를 입력값으로 하여 일방향 함수가 사전에 정의하고 있는 일련의 연산을 따라 여러 번 반복 수행을 통해 마스터키를 생성한다.
저장부(32)는 데이터 파일의 저장 요청을 수신하면, 파일 암호키를 생성한다. 이때, 난수 생성기(36)를 통해 사용자 데이터를 암호화하기 위한 파일 암호키를 생성한다.
그리고 저장부(32)는 상기 파일 암호키로 상기 데이터 파일을 암호화하여 플래시 메모리의 데이터 영역(22)에 저장하고, 상기 파일 암호키를 상기 마스터키로 암호화하여 상기 헤더 영역(24)에 저장한다. 이때, 파일 암호키는 난수생성기(36)에 의해 생성된다.
이때, 암호화 연산부(16)를 통해, 파일 암호키를 이용하여 사용자 데이터(또는 데이터 파일)에 대한 암호화를 수행하고, 이때 사용된 파일 암호키는 상기 마스터키를 사용하여 암호화된다.
데이터 영역(22)은 실제 사용자가 저장하고자 하는 데이터(또는 데이터 파일)를 저장한다. 이때, 데이터 파일은 상기 파일 암호키를 이용하여 암호화된 형태로 저장된다.
헤더 영역(24)은 파일의 메타정보 등과 같이 데이터 블록(24)에 저장된 데이터와 관련된 정보를 저장한다. 이때, 데이터 블록(24)에 저장된 데이터 암호화에 사용된 파일 암호키는 암호화된 형태로 헤더 블록(22)에 저장된다.
삭제부(33)는 데이터 파일의 삭제 요청을 수신하면, 상기 데이터 영역(22)에 저장된 상기 데이터 파일의 삭제 연산을 수행하고, 상기 데이터 파일의 파일 암호키가 저장된 헤더 영역(24)의 페이지에 덮어쓰기 연산을 수행한다.
특히, 덮어쓰기 연산은 사전에 정해진 패턴의 데이터로 상기 페이지에 덮어쓰기를 하는 연산이다. 여기서 사전에 정해진 패턴이란, 덮어쓰기 연산을 통해 암호키가 저장된 헤더 영역(24)을 복구할 수 없도록 해당 페이지의 데이터를 변조함으로써, 삭제 연산을 되살리기(undo)할 수 없도록 하는 역할을 수행한다. 따라서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 헤더 영역(24)에 저장된 암호키가 복구될 수 없도록 변조에 의한 데이터의 비가역성을 보장할 수 있는 패턴을 설계하여 본 실시예에 적용할 수 있다.
또한, 삭제부(33)는 상기 덮어쓰기 연산이 수행된 페이지를 포함하는 블록에 유효한 페이지가 존재하지 않으면, 상기 블록에 삭제 연산을 수행한다. 이때, 유효한 페이지는 삭제 대상이 되는 파일의 헤더 정보를 포함하고 있지 않거나, 알려진 패턴의 데이터로 기존에 이미 덮어쓰기가 수행되지 않은 페이지일 때를 말한다.
다음으로, 본 발명의 일실시예 따른 플래시 메모리 제어 방법을 도 3을 참조하여 설명한다.
도 3에서 보는 바와 같이, 본 발명에 따른 플래시 메모리 제어 방법은 (a) 마스터 생성단계(S10), (b) 데이터 파일 및 파일 암호키를 저장하는 단계(S20), (c) 데이터 파일 및 파일 암호키를 삭제하는 단계(S30)로 구분된다.
먼저, 도 4와 같이, 마스터 생성단계(S10)에서, 마스터키를 생성한다.
이를 위해 먼저, 사용자로부터 패스워드 입력을 받는다(S11). 그리고 사용자 패스워드에 일방향 함수를 연산을 수행한다(S12). 상기 연산을 n번 반복할 때까지 수행한다(S13). 일방향 함수 연산을 반복 적용하여 최종적으로 얻은 결과값을 마스터키로 생성한다(S14). 즉, 해당 마스터 키는 사용자 패스워드에 일방향 연산(12)을 여러번 적용한 출력값이다.
다음으로, 도 5와 같이, 저장하는 단계(S20)에서, 데이터 파일의 저장 요청을 수신하면, 파일 암호키를 생성하고, 상기 파일 암호키로 상기 데이터 파일을 암호화하여 상기 데이터 영역에 저장하고, 상기 파일 암호키를 상기 마스터키로 암호화하여 상기 헤더 영역에 저장한다.
사용자가 선택한 데이터는 플래시 메모리(20)에 저장되기에 앞서 암호화 과정을 거치게 된다. 난수 생성기(36)로부터 출력된 파일 암호키는 사용자 데이터를 암호화하기 위해 사용되며, 해당 파일 암호키는 마스터키를 이용하여 다시 암호화된다.
앞선 과정을 통해 출력된 암호화된 데이터(또는 데이터 파일)는 데이터 블록(또는 데이터 영역)(22)에 저장되며, 암호화된 파일 암호키는 해당 데이터 블록(22)에 대한 정보가 저장된 헤더 블록(24)에 저장된다.
다음으로, 도 5에서 보는 바와 같이, 삭제하는 단계(S30)에서, 데이터 파일의 삭제 요청을 수신하면, 상기 데이터 영역에 저장된 상기 데이터 파일의 삭제 연산을 수행하고, 상기 데이터 파일의 파일 암호키가 저장된 헤더 영역의 페이지에 덮어쓰기 연산을 수행한다.
먼저, 데이터 파일의 삭제 요청이 되면, 그 때 삭제를 시작한다(S31).
그리고 삭제하고자 하는 데이터(또는 데이터 파일)의 파일 암호키가 저장된 헤더 블록(24)을 검색한다(S32). 해당 암호키가 저장된 헤더 블록의 페이지를 알려진 패턴의 데이터로 덮어쓰기를 수행한다(S33).
덮어쓰기가 완료된 후, 덮어쓰기가 수행된 페이지를 포함하고 있는 블록에 유효한 페이지가 존재하는지 확인한다(S34). 이때, 유효한 페이지는 삭제 대상이 되는 파일의 헤더 정보를 포함하고 있지 않거나, 알려진 패턴의 데이터로 기존에 이미 덮어쓰기가 수행되지 않은 페이지를 의미한다.
유효한 페이지가 존재할 경우에는 삭제 연산이 종료되며, 유효한 페이지가 존재하지 않을 경우에는 해당 헤더 블록에 대해 삭제 연산을 수행한 후에 삭제 연산이 종료된다(S35).
이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
본 발명은 최소한의 연산을 통해 안전한 데이터 삭제 지침을 준수하여, 안전성과 효율성이 극대화된 플래시 메모리에 적합한 안전한 삭제 방법을 제공하는 플래시 메모리 제어 장치를 개발하는 데 적용이 가능하다.

Claims (12)

  1. 헤더 영역과 데이터 영역으로 구분되는 플래시 메모리를 제어하는 장치에 있어서,
    마스터키를 생성하는 키생성부;
    상기 플래시 메모리 상에 데이터 파일을 저장하는 요청을 수신하면, 파일 암호키를 생성하고, 상기 파일 암호키로 상기 데이터 파일을 암호화하여 상기 데이터 영역에 저장하고, 상기 파일 암호키를 상기 마스터키로 암호화하여 상기 헤더 영역에 저장하는 저장부; 및
    상기 플래시 메모리 상에서 데이터 파일을 삭제하는 요청을 수신하면, 상기 데이터 영역에 저장된 상기 데이터 파일의 삭제 연산을 수행하고, 상기 데이터 파일의 파일 암호키가 저장된 헤더 영역의 페이지에 덮어쓰기 연산을 수행하는 삭제부를 포함하는 장치.
  2. 제1항에 있어서,
    상기 마스터키는 사용자로부터 입력받은 패스워드에 의해 생성되는 것을 특징으로 하는 장치.
  3. 제2항에 있어서,
    상기 마스터키는 일방향 함수를 이용하여 상기 패스워드를 반복 연산함으로써 생성되는 것을 특징으로 하는 장치.
  4. 제1항에 있어서,
    상기 파일 암호키는 난수에 의해 생성되는 것을 특징으로 하는 장치.
  5. 제1항에 있어서,
    상기 덮어쓰기 연산은 사전에 정해진 패턴의 데이터로 상기 페이지에 덮어쓰기를 하는 연산인 것을 특징으로 하는 장치.
  6. 제1항에 있어서,
    상기 삭제부는, 상기 덮어쓰기 연산이 수행된 페이지를 포함하는 블록에 유효한 페이지가 존재하지 않으면, 상기 블록에 삭제 연산을 수행하는 것을 특징으로 하는 장치.
  7. 제6항에 있어서,
    상기 유효한 페이지는 삭제 대상이 되는 파일의 헤더 정보를 포함하고 있지않거나, 알려진 패턴의 데이터로 기존에 이미 덮어쓰기가 수행되지 않은 페이지인 것을 특징으로 하는 장치.
  8. 헤더 영역과 데이터 영역으로 구분되는 플래시 메모리를 제어하는 방법에 있어서,
    (a) 마스터키를 생성하는 단계;
    (b) 상기 플래시 메모리 상에 데이터 파일을 저장하는 요청을 수신하면, 파일 암호키를 생성하고, 상기 파일 암호키로 상기 데이터 파일을 암호화하여 상기 데이터 영역에 저장하고, 상기 파일 암호키를 상기 마스터키로 암호화하여 상기 헤더 영역에 저장하는 단계; 및
    (c) 상기 플래시 메모리 상에서 데이터 파일을 삭제하는 요청을 수신하면, 상기 데이터 영역에 저장된 상기 데이터 파일의 삭제 연산을 수행하고, 상기 데이터 파일의 파일 암호키가 저장된 헤더 영역의 페이지에 덮어쓰기 연산을 수행하는 단계를 포함하는 방법.
  9. 제8항에 있어서,
    상기 덮어쓰기 연산은 사전에 정해진 패턴의 데이터로 상기 페이지에 덮어쓰기를 하는 연산인 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 (c)단계에서, 상기 덮어쓰기 연산이 수행된 페이지를 포함하는 블록에 유효한 페이지가 존재하지 않으면, 상기 블록에 삭제 연산을 수행하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 유효한 페이지는 삭제 대상이 되는 파일의 헤더 정보를 포함하고 있지않거나, 알려진 패턴의 데이터로 기존에 이미 덮어쓰기가 수행되지 않은 페이지인 것을 특징으로 하는 방법.
  12. 제8항 내지 제11항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2011/009554 2011-04-18 2011-12-12 안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법 WO2012144717A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0035739 2011-04-18
KR1020110035739A KR101231592B1 (ko) 2011-04-18 2011-04-18 안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2012144717A1 true WO2012144717A1 (ko) 2012-10-26

Family

ID=47041787

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/009554 WO2012144717A1 (ko) 2011-04-18 2011-12-12 안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101231592B1 (ko)
WO (1) WO2012144717A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284465B1 (ko) * 2013-03-26 2013-07-09 서울과학기술대학교 산학협력단 낸드 기반 블록 장치에서 안전 파일 삭제를 지원하는 페이지 사상 방법 및 이를 기록하는 기록매체
KR101707183B1 (ko) 2015-11-12 2017-02-15 네이버비즈니스플랫폼 주식회사 파일 안전 삭제 기능 제공 방법 및 컴퓨터 프로그램
EP3642740A4 (en) 2017-06-21 2021-03-24 Cigent Technology, Inc. EMERGENCY DATA DESTRUCTION PROCEDURE AND SYSTEM
US11899958B2 (en) 2019-12-09 2024-02-13 Korea University Research And Business Foundation Method for discarding personal information in NAND flash memory
KR20220020636A (ko) 2020-08-12 2022-02-21 삼성전자주식회사 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 장치 및 상기 메모리 컨트롤러의 동작 방법
KR20240020846A (ko) * 2022-08-09 2024-02-16 박종성 단말장치 및 이를 이용한 데이터를 복구 불가능하게 삭제하는 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060022635A (ko) * 2003-09-26 2006-03-10 니뽄 덴신 덴와 가부시키가이샤 태그 프라이버시 보호 방법, 태그 장치, 백엔드 장치, 갱신 장치, 갱신 의뢰 장치, 그들 프로그램 및 이들 프로그램을 격납한 기록 매체
KR100874872B1 (ko) * 2007-06-20 2008-12-19 한양대학교 산학협력단 안전한 갱신을 지원하는 플래시 메모리 기반 보안 2차 저장장치
KR20090071348A (ko) * 2007-12-27 2009-07-01 한국전자통신연구원 파일 안전 삭제 기능을 갖는 플래시 메모리 장치 및 플래시파일 안전 삭제 방법
KR20100025116A (ko) * 2008-08-27 2010-03-09 (주) 애니컴페니언 완전삭제를 이용한 자동적인 문서유출 방지 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060022635A (ko) * 2003-09-26 2006-03-10 니뽄 덴신 덴와 가부시키가이샤 태그 프라이버시 보호 방법, 태그 장치, 백엔드 장치, 갱신 장치, 갱신 의뢰 장치, 그들 프로그램 및 이들 프로그램을 격납한 기록 매체
KR100874872B1 (ko) * 2007-06-20 2008-12-19 한양대학교 산학협력단 안전한 갱신을 지원하는 플래시 메모리 기반 보안 2차 저장장치
KR20090071348A (ko) * 2007-12-27 2009-07-01 한국전자통신연구원 파일 안전 삭제 기능을 갖는 플래시 메모리 장치 및 플래시파일 안전 삭제 방법
KR20100025116A (ko) * 2008-08-27 2010-03-09 (주) 애니컴페니언 완전삭제를 이용한 자동적인 문서유출 방지 시스템

Also Published As

Publication number Publication date
KR101231592B1 (ko) 2013-02-08
KR20120118267A (ko) 2012-10-26

Similar Documents

Publication Publication Date Title
WO2012144717A1 (ko) 안전한 삭제를 위한 플래시 메모리 제어 장치 및 방법
JP4578119B2 (ja) 情報処理装置および情報処理装置におけるセキュリティ確保方法
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
CN102855452B (zh) 基于加密组块的快速数据加密策略遵从
CN105683990B (zh) 用于保护动态库的方法和装置
US20090276534A1 (en) Enterprise Device Policy Management
CN104715209B (zh) 一种外发文档加密保护方法
CN103106372A (zh) 用于Android系统的轻量级隐私数据加密方法及系统
CN103518196B (zh) 管理秘密信息的信息处理设备和方法
CN109190401A (zh) 一种Qemu虚拟可信根的数据存储方法、装置及相关组件
CN109508224A (zh) 一种基于kvm虚拟机的用户数据隔离防护系统及方法
WO2016024838A1 (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
CN102930892A (zh) 多功能安全u盘
CN105303074A (zh) 一种保护Web应用程序安全的方法
CN113918999B (zh) 安全摆渡通道的建立方法、装置、网盘及存储介质
CN104104650B (zh) 数据文件访问方法及终端设备
CN109214204A (zh) 数据处理方法和存储设备
WO2014185627A1 (ko) 데이터 프로세싱 시스템 보안 장치와 보안방법
CN109325360B (zh) 信息管理方法与装置
CN102184370B (zh) 基于微过滤驱动模型的文档安全系统
CN106656492A (zh) 一种tpm芯片的密钥迁移方法及装置
CN103488951A (zh) 一种基于云存储的文件保护方法及系统
CN111241005A (zh) 一种基于键值对的安全分区存储方法及系统
CN101326530A (zh) 安全设备、信息处理终端、服务器以及认证方法
CN111008389A (zh) 基于卫星中文件系统的数据处理方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11863950

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11863950

Country of ref document: EP

Kind code of ref document: A1