KR20070061222A - Real time decryption method using the file system - Google Patents

Real time decryption method using the file system Download PDF

Info

Publication number
KR20070061222A
KR20070061222A KR1020060069709A KR20060069709A KR20070061222A KR 20070061222 A KR20070061222 A KR 20070061222A KR 1020060069709 A KR1020060069709 A KR 1020060069709A KR 20060069709 A KR20060069709 A KR 20060069709A KR 20070061222 A KR20070061222 A KR 20070061222A
Authority
KR
South Korea
Prior art keywords
file
encrypted
decoder
encryption
encrypted file
Prior art date
Application number
KR1020060069709A
Other languages
Korean (ko)
Other versions
KR100811469B1 (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 한국전자통신연구원
Publication of KR20070061222A publication Critical patent/KR20070061222A/en
Application granted granted Critical
Publication of KR100811469B1 publication Critical patent/KR100811469B1/en

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

A method for decrypting an encrypted file in real-time by using a file system is provided to enable an application program to use the encrypted file by decrypting the encrypted file in a memory through a file decryptor in real-time. An access request to the encrypted file is transferred to a file decryptor control program. The file decryptor control program transfers file information and key information to the file decryptor through an MFB(Mount File Block). A mounting/control program of the file decryptor registers the file information to an FIB(File Information Block) and a KIB(Key Information Block). The application program executing the encrypted file is executed by a mounting/control program. The application program reads and uses the encrypted file from the file decryptor. If the application program is terminated, the mounting/control program removes the encrypted file registered to the file decryptor.

Description

파일시스템을 이용한 암호화 파일의 실시간 복호화 방법{REAL TIME DECRYPTION METHOD USING THE FILE SYSTEM} Real-time decryption method of encrypted file using file system {REAL TIME DECRYPTION METHOD USING THE FILE SYSTEM}

도 1은 본 발명의 일실시예에 의한 암호화된 파일의 복호화하는 방법을 나타낸 전체 개념도, 1 is an overall conceptual diagram showing a method for decrypting an encrypted file according to an embodiment of the present invention;

도 2는 본 발명의 일실시예에 의한 암호파일 복호기의 구조를 나타낸 도면, 2 is a diagram showing the structure of an encryption file decoder according to an embodiment of the present invention;

도 3은 본 발명의 일실시예에 의한 암호화된 파일의 구조를 나타낸 도면, 3 is a view showing the structure of an encrypted file according to an embodiment of the present invention;

도 4는 본 발명의 일실시예에 의한 암호화 방법을 나타낸 도면, 4 is a diagram showing an encryption method according to an embodiment of the present invention;

도 5는 본 발명의 일실시예에 의한 파일시스템의 구조를 나타낸 개념도, 5 is a conceptual diagram showing the structure of a file system according to an embodiment of the present invention;

도 6은 본 발명의 일실시예에 의한 파일 정보 블록의 구조를 나타낸 도면, 6 is a diagram showing the structure of a file information block according to an embodiment of the present invention;

도 7은 본 발명의 일실시예에 의한 키 정보 블록의 구조를 나타낸 도면, 7 is a view showing the structure of a key information block according to an embodiment of the present invention;

도 8은 본 발명의 일실시예에 의한 파일 설치시 암호파일 복호기 제어프로그램과 파일시스템 사이에 전달되는 파일 설치 정보 블록의 구조를 나타낸 도면, 8 is a diagram showing the structure of a file installation information block transferred between a cipher file decoder control program and a file system during file installation according to an embodiment of the present invention;

도 9는 본 발명의 일실시예에 의한 파일 설치/제거시 흐름도, 9 is a flowchart when installing / removing files according to an embodiment of the present invention;

도 10은 본 발명의 일실시예에 의한 파일 복호 처리 쓰레드의 처리 흐름도, 10 is a flowchart illustrating a file decoding processing thread according to an embodiment of the present invention;

도 11은 본 발명의 일실시예에 의한 암호파일 복호기를 사용하기 위한 제어프로그램을 포함한 사용 시나리오이다. 11 is a usage scenario including a control program for using an encrypted file decoder according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 응용프로그램 100: application

200 : 암호파일 복호기 200: password file decoder

300 : 암호파일 복호기 제어프로그램 300: encryption file decoder control program

400 : 파일시스템 400: Filesystem

500 : 저장장치 500: storage device

600 : 암호화된 파일 600: encrypted file

본 발명은 정보보호 기술에 관한 것으로, 더욱 상세하게는 암호화된 파일을 실시간으로 복호화하여 응용프로그램이 쓸 수 있도록 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법에 관한 것이다. The present invention relates to an information protection technology, and more particularly, to a method for real-time decryption of an encrypted file using a file system that allows an application program to decrypt the encrypted file in real time.

일반적으로 암호화된 파일은 복호화하여 응용프로그램에서 실행하게 된다. 이와 같이, 암호화된 파일을 이용하고자 할 경우에, 먼저 암호화된 파일을 복호화하여 복호화된 파일을 응용프로그램이 사용한 후, 다시 재암호화하는 과정을 거치게 된다. 또는, 각 응용프로그램의 입출력시에 암호화된 파일을 가로채어 해당 암호화된 파일을 복호화하고 종료시 재암호화하는 과정을 거칠 수도 있다. In general, an encrypted file is decrypted and executed by an application program. As described above, when the encrypted file is to be used, the encrypted file is first decrypted, the decrypted file is used by the application program, and then re-encrypted. Alternatively, an encrypted file may be intercepted at the input / output of each application program, and the encrypted file may be decrypted and re-encrypted at the end.

그런데, 예를 들어 읽기 전용의 암호화된 파일은 복호화 실행 후, 반드시 재 암호화해야 하는 단점이 있으며, 더구나 이 암호화된 파일의 용량이 클 경우에는 복호화 및 재암호화에 시간이 많이 소요되어 사용상의 불편함 및 시스템 전체의 자원낭비를 초래하게 된다. 특히, CD-ROM 등 읽기 전용 매체에 암호화되어 있을 경우에, 역시 하드디스크에 복호(복사)하여 사용해야 하는 단점이 있다. However, for example, a read-only encrypted file has a disadvantage that it must be re-encrypted after decryption is executed. Moreover, when the size of the encrypted file is large, decryption and re-encryption takes a long time, resulting in inconvenience in use. And waste of resources throughout the system. In particular, when encrypted in a read-only medium such as a CD-ROM, there is a disadvantage that must be used by decoding (copying) to a hard disk.

따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 암호파일 복호기를 통하여 암호화된 파일을 메모리에서 실시간으로 복호하여 응용프로그램에서 사용할 수 있도록 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법을 제공하는데 있다. Accordingly, the present invention has been made to solve the above problems of the prior art, an object of the present invention is to encrypt using a file system that can be used in the application by decrypting the encrypted file in real time in the memory using the encryption file decoder The present invention provides a method for real-time decoding of a file.

상기와 같은 목적을 달성하기 위한 본 발명의 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법은, 특정 포맷으로 암호화된 파일에 대해 파일시스템과 응용프로그램 사이에서 연동되는 가상 파일시스템인 암호파일 복호기와, 상기 암호파일 복호기와 응용 프로그램과 연동되어 상기 암호파일 복호기를 제어하는 암호파일 복호기 제어프로그램을 이용하여 상기 암호화된 파일을 실시간으로 복호화하는 것을 특징으로 한다. The real-time decryption method of the encrypted file using the file system of the present invention for achieving the above object, the encrypted file decoder which is a virtual file system interworking between the file system and the application program for the encrypted file in a specific format, An encrypted file decoder and an application program may be used to decrypt the encrypted file in real time using an encryption file decoder control program that controls the encryption file decoder.

이하, 본 발명의 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, a real-time decryption method of an encrypted file using the file system of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 의한 암호화된 파일의 복호화하는 방법을 나타낸 전체 개념도이다. 1 is an overall conceptual diagram illustrating a method of decrypting an encrypted file according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 통상의 응용프로그램(100), 파일시스템(400) 및 저장장치(500)로 이루어져 파일시스템(400)에 의해 데이터의 최소 단위인 파일이 저장장치(500)에 저장되는 방식이 정해지게 된다. As shown in FIG. 1, a file consisting of a typical application program 100, a file system 400, and a storage device 500 is stored in the storage device 500, which is a minimum unit of data by the file system 400. The way it is done is determined.

여기에, 본 발명에서는 응용프로그램(100)과 파일시스템(400) 사이에 암호파일 복호기(200)를 연동시킴과 아울러, 암호파일 복호기(200)를 제어하는 암호파일 복호기 제어프로그램(300)을 응용프로그램(100) 및 암호파일 복호기(200)와 연동시키게 된다. 이 암호파일 복호기(200)는 가상의 파일시스템을 의미한다. Here, in the present invention, the encryption file decoder control program 300 for interlocking the encryption file decoder 200 between the application program 100 and the file system 400 and controlling the encryption file decoder 200 is applied. It is linked with the program 100 and the encryption file decoder 200. This encrypted file decoder 200 means a virtual file system.

이와 같이 구성되어, 저장장치(500)에 저장된 암호화된 파일(600)은 암호파일 복호기(200)을 통하여 실시간으로 복호화되어 응용프로그램(100)에 전달된다. 암호파일 복호기 제어프로그램(300)은 암호파일 복호기(200)를 구동하기 위한 제어프로그램이다. 암호파일 복호기(200)는 파일시스템(400)처럼 커널모드에서 동작한다. In this way, the encrypted file 600 stored in the storage device 500 is decrypted in real time through the encryption file decoder 200 and transmitted to the application program 100. The encrypted file decoder control program 300 is a control program for driving the encrypted file decoder 200. The cipher file decoder 200 operates in the kernel mode like the file system 400.

도 2는 본 발명의 일실시예에 의한 암호파일 복호기의 구조를 나타낸 도면이다. 2 is a diagram showing the structure of an encryption file decoder according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 암호파일 복호기(200)은 파일시스템 드라이버로 Create/Open(205), Read(206), Close(207), File System Control(208), Directory Control(209), Device Control(210)을 포함하는 일반적인 구조에 파일 복호처리를 위한 파일 복호 처리 쓰레드(Thread)(201), 복호대상 파일의 파일 설치/제거기(204), 대상 파일의 정보 저장을 위한 FIB 목록(202), 암호화된 파일의 키 정보를 관리하는 KIB 목록(203)으로 이루어져 있다. As shown in FIG. 2, the cipher file decoder 200 is a file system driver, which is a Create / Open 205, Read 206, Close 207, File System Control 208, Directory Control 209, Device device. File decoding processing thread 201 for file decoding processing in a general structure including control 210, file install / removal 204 of the target file to be decrypted, and FIB list 202 for storing information of the target file. The KIB list 203 manages key information of an encrypted file.

도 3은 본 발명의 일실시예에 의한 암호화된 파일의 구조를 나타낸 도면이다. 3 is a diagram showing the structure of an encrypted file according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 암호화된 파일은 512Byet의 암호화 파일 헤더(601)와, 암호화된 데이터(602)로 이루어지며, 헤더 구조는 603과 같이 FingerPrint, Version, 초기벡터(IV), KeyCV, 미사용으로 이루어져 있다. As shown in FIG. 3, the encrypted file is composed of an encrypted file header 601 of 512Byet and encrypted data 602. The header structure is FingerPrint, Version, Initial Vector (IV), KeyCV, It is made of unused.

도 4는 본 발명의 일실시예에 의한 암호화 방법을 나타낸 도면이다. 4 is a diagram illustrating an encryption method according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 암호화에 쓰이는 방법으로 블록 암호 알고리즘으로 카운터 모드를 쓴다. 카운터(Counter, 701)는 초기벡터(IV, 705)와 파일 오프셋(offset, 706)을 써서 임의의 파일 위치에서 복호가 가능하도록 하고 있다. 여기서, 블록 암호 알고리즘으로는 아리아(ARIA), AES(Advanced Encryption Standard) 등 임의의 알고리즘을 적용할 수 있다. 이와 같이, 블록 암호 알고리즘에 의해 평문 데이터를 암호문 데이터로 복호하거나 암호문 데이터를 평문 데이터로 복호하는 과정이 이루어지게 된다. As shown in Fig. 4, the counter mode is used as a block cipher algorithm as a method used for encryption. The counter 701 uses the initial vectors IV and 705 and the file offset 706 to decode at arbitrary file positions. Here, any algorithm such as ARIA, AES (Advanced Encryption Standard) can be applied as the block encryption algorithm. As described above, a process of decoding plain text data into cipher text data or decrypting cipher text data into plain text data is performed by a block cipher algorithm.

도 5는 본 발명의 일실시예에 의한 파일시스템의 구조를 나타낸 개념도이다. 5 is a conceptual diagram illustrating a structure of a file system according to an embodiment of the present invention.

도 5에 도시된 바와 같이 파일시스템에는, 파일 Create시 생성되는 FileObject#1(801), FileObject#2(802), FileObject#3(803), CCB#1(804), CCB#2(806), CCB#3(807), FCB#1(805), FCB#2(808)를 포함하는 일반적인 구조와, 파일 설치시 생성되는 FIB#(901), FIB#(902), FIB#(903)를 포함하는 파일 정보 블록(File Information Block; FIB), KIB#(904), KIB#(905)를 포함하는 키 정보 블록(Key Information Block; KIB)이 있다. As shown in Fig. 5, the file system includes FileObject # 1 (801), FileObject # 2 (802), FileObject # 3 (803), CCB # 1 (804), and CCB # 2 (806) that are created at the time of file creation. , General structure including CCB # 3 (807), FCB # 1 (805), FCB # 2 (808), FIB # (901), FIB # (902), FIB # (903) generated during file installation There is a Key Information Block (KIB) including a File Information Block (FIB), a KIB # 904, and a KIB # 905.

도 6은 본 발명의 일실시예에 의한 파일 정보 블록의 구조를 나타낸 도면이다. 6 is a diagram showing the structure of a file information block according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 파일 정보 블록(FIB, 910)은 KIB pointer, 암호화된 파일 이름, 복호기용 파일 이름, 파일 할당 크기, 파일 크기, 파일 속성, 현재 파일 offset, Flags, Next, 참조 counter, 참조 counter 1, Counter(블록암호용)를 포함한다. As shown in FIG. 6, the file information block (FIB) 910 includes a KIB pointer, an encrypted file name, a file name for a decoder, a file allocation size, a file size, a file attribute, a current file offset, Flags, Next, and a reference counter. , Reference counter 1, and counter (for block ciphers).

도 7은 본 발명의 일실시예에 의한 키 정보 블록의 구조를 나타낸 도면이다. 7 illustrates a structure of a key information block according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 키 정보 블록(KIB, 911)은 파일 복호 키, 알고리즘 Context 정보, KeyCV, Next, 참조 counter를 포함한다. As shown in FIG. 7, the key information block (KIB) 911 includes a file decoding key, algorithm context information, KeyCV, Next, and a reference counter.

도 8은 본 발명의 일실시예에 의한 파일 설치시 함호파일 복호기 제어프로그 램과 파일시스템 사이에 전달되는 파일 설치 정보 블록의 구조를 나타낸 도면이다. 8 is a diagram illustrating the structure of a file installation information block transferred between a file decryption control program and a file system during file installation according to an embodiment of the present invention.

도 8에 도시된 바와 같이, 파일 설치 정보 블록(Mount File Block; MFB, 912)는 예약 영역, 파일 복호 키, 복호기용 파일 이름 길이, 보호기용 파일 이름, 암호화된 파일 이름 길이, 암호화된 파일 이름을 포함한다. As shown in Fig. 8, a file installation information block (MFB) 912 includes a reserved area, a file decryption key, a file name length for a decoder, a file name for a protector, an encrypted file name length, and an encrypted file name. It includes.

도 9는 본 발명의 일실시예에 의한 파일 설치/제거시 흐름도이다. 9 is a flowchart illustrating file installation / removal according to an embodiment of the present invention.

도 9에 도시된 바와 같이, 암호파일 복호기 제어 프로그램(300)으로부터 파일 설치 명령 또는 파일 제거 명령을 받으면, 암호파일 복호기(200)는 설치(Mount, 2041)인지 아닌지를 판단하여 설치명령이면 먼저 KIB가 있는지 판별하여 없으면 KIB를 만든다(2042∼2043). 이 파일이 이미 설치되었다면 FIB가 존재하므로 이를 판단하여(2044) 없으면 FIB를 만들고(2045) FIB, KIB 참조 계수기(Counter)를 증가시킨다(2046). 한편, 파일 설치 명령이 아닌 파일 제거 명령이면, FIB가 존재하는지 판단하여(2047) 없다면 종료한다. FIB 참조 계수기(Counter)를 감소시키고(2048) FIB를 사용하고 있지 않다면(Counter=0, 2049) FIB를 제거하고(2051) 그렇지 않다면 제거 대기를 설정한다(2050). As shown in FIG. 9, upon receiving a file installation command or a file removal command from the encryption file decoder control program 300, the encryption file decoder 200 determines whether it is an installation (Mount, 2041). If there is a presence, a KIB is generated (2042 to 2043). If this file is already installed, the FIB exists, and if it is determined (2044), the FIB is created (2045) and the FIB and KIB reference counters are increased (2046). On the other hand, if the file removal command is not a file installation command, it is determined whether the FIB exists (2047), and if not, it ends. Decreases the FIB reference counter (2048) and removes the FIB if the FIB is not in use (Counter = 0, 2049) (2051), otherwise sets the elimination wait (2050).

도 10은 본 발명의 일실시예에 의한 파일 복호 처리 쓰레드의 처리 흐름도이다. 10 is a flowchart illustrating processing of a file decoding processing thread according to an embodiment of the present invention.

도 10에 도시된 바와 같이, 파일 복호 처리 쓰레드(Thread)는 암호파일 복호기(200)에 존재하는 Thread로 파일열기, 파일닫기, 파일읽기, 파일정보읽기의 네 가지 명령을 처리한다. As shown in FIG. 10, the file decryption processing thread is a thread existing in the cipher file decoder 200 and processes four commands of file opening, file closing, file reading, and file information reading.

명령 대기 상태에서(2011) 입력된 명령이 파일열기 명령이면(2012) 그 파일을 열고(2016) 파일의 헤더(Header)를 읽어(2017) 암호화된 파일(FingerPrint)인지를 확인하고(2018), 암호화된 파일이면 입력된 키가 정확한 지 확인한다(2019). 키가 맞으면 초기벡터(IV) 및 FileOffset을 초기화한다. 이후, 상태(Status)는 성공(Success)으로 되고 명령처리를 끝낸다(SetEvent)(2021∼2022). 한편, 단계 2018에서 암호화된 파일이 아니라고 판별되면, 파일을 닫고(2023) 상태는 에러가 되고 명령처리를 끝낸다. If the command entered in the command waiting state (2011) is a file open command (2012), the file is opened (2016) and the header of the file is read (2017) to check whether it is an encrypted file (FingerPrint) (2018), If the file is encrypted, it is checked whether the input key is correct (2019). If the key is correct, the initial vector (IV) and FileOffset are initialized. After that, the Status becomes Success and the instruction processing ends (SetEvent) 2021 to 2022. On the other hand, if it is determined in step 2018 that the file is not encrypted, the file is closed (2023) and the status becomes an error and the command processing ends.

또한, 명령 대기 상태에서(2011) 입력된 명령이 파일읽기 명령이면(2014) FileOffset이 요청한 FileOffset인가를 확인하여 파일 위치를 이동한다. 이와 같이 FileOffset을 조정하고(2026∼2027), IV를 설정한 후(2028∼2029) 파일 길이만큼 파일데이터를 읽어 복호화한다(2030∼2032. 바라는 길이 많큼 복호가 완료되었는가를 판별하여(2033), 바라는 길이 많큼 복호가 완료되면 FileOffset을 갱신해 준다(2034). In addition, if the command input in the command waiting state (2011) is a file read command (2014), it checks whether FileOffset is the requested FileOffset and moves the file position. After adjusting the FileOffset as described above (2026 to 2027) and setting the IV (2028 to 2029), the file data is read and decoded by the length of the file (2030 to 2032.), and it is determined whether the decoding has been completed as much as desired (2033). When the decoding is completed as much as desired, the FileOffset is updated (2034).

그리고, 명령 대기 상태에서(2011) 입력된 명령이 파일 닫기일 경우에는(2013) 단순히 열었던 파일을 닫으며(2025), 명령 대기 상태에서(2011) 입력된 명령이 파일정보 읽기일 경우에는(2015) 파일정보를 읽어 보내준다(2035). When the command input in the command waiting state (2011) is the file closing (2013), the file that is opened is simply closed (2025), and when the command input in the command waiting state (2011) is reading the file information ( 2015) Read and send file information (2035).

도 11은 본 발명의 일실시예에 의한 암호파일 복호기를 사용하기 위한 제어프로그램을 포함한 사용 시나리오이다. 11 is a usage scenario including a control program for using an encrypted file decoder according to an embodiment of the present invention.

도 11에 도시된 바와 같이, 암호화된 파일(600)을 액세스하게 되면(①) 시스템 프로그램(익스플로러)(1000)을 통하여 암호파일 복호기 제어프로그램(300)에 전달되고(②), 도 8의 파일 설치 정보 블록(MFB)를 통하여 파일 정보 및 키 정보를 암호파일 복호기(200)에 전달된다(③). 이에 암호파일 복호기(200)의 설치/제거 프로그램이 암호화된 파일 정보를 FIB, KIB에 설치(등록)하게 된다. 이렇게 되면 암호파일 복호기가 보여주는 파일은 FIB에 설치(등록)된 파일만 보여준다. 설치 후 암호파일 복호기 제어프로그램(300)은 응용프로그램(100)을 실행시키고(④), 응용프로그램(100)은 암호파일 복호기(200)를 통하여 파일을 읽어 사용하게 된다(⑤∼⑥). 응용프로그램(100)이 종료되면(⑦) 암호파일 복호기 제어프로그램(300)은 암호파일 복호기(200)에 설치된 파일을 제거한다(⑧). As shown in FIG. 11, when the encrypted file 600 is accessed (1), it is transmitted to the encryption file decoder control program 300 through the system program (explorer) 1000 (2), and the file of FIG. The file information and the key information are transmitted to the encrypted file decoder 200 through the installation information block MFB (③). Accordingly, the installation / removal program of the encryption file decoder 200 installs (registers) the encrypted file information in the FIB and KIB. In this case, the file displayed by the cipher file decoder shows only the files installed (registered) in the FIB. After installation, the encryption file decoder control program 300 executes the application program 100 (④), and the application program 100 reads and uses the file through the encryption file decoder 200 (⑤ to ⑥). When the application program 100 terminates (⑦), the encryption file decoder control program 300 removes the file installed in the encryption file decoder 200 (⑧).

여기서, 암호파일 복호기(파일시스템)은 루트 디렉터리만 가지고 있다. 암호화된 파일은 특정 파일확장자가 붙으며, 암호파일 복호기는 암호화된 파일에 대응되는 이름과 원래의 파일 확장자를 사용한다. 암호파일 복호기는 암호화 파일헤더는 자체 처리하며, 응용프로그램에게는 암호화 파일헤더가 없는 것처럼 처리한다. 임의의 위치에서 파일 복호가 이루어질 수 있도록 카운터 입력으로 초기벡터와 파일 offset을 사용한다. 파일의 복호는 도 2의 파일 복호 처리 쓰레드(201)에서 이루어지며 도 11과 같이 4개의 명령을 처리한다. 파일의 복호는 파일읽기에서 실행된다. Here, the cipher file decoder (file system) has only a root directory. Encrypted files have a specific file extension, and the encrypted file decoder uses the name and original file extension that correspond to the encrypted file. The cryptographic file decoder handles the cryptographic file header itself and treats it as if the application has no cryptographic file header. The initial vector and file offset are used as counter inputs so that file decoding can be performed at arbitrary positions. The file decoding is performed in the file decoding processing thread 201 of FIG. 2 and processes four instructions as shown in FIG. Decryption of the file is performed on file reading.

이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. Although the present invention has been described in more detail with reference to some embodiments, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention.

상술한 바와 같이, 본 발명에 의한 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법은, 암호화된 파일을 응용프로그램에 무관하게 실시간으로 복호화하여 사용할 수 있고, 특히 대용량 읽기 전용파일에 매우 유용하다. As described above, the real-time decryption method of the encrypted file using the file system according to the present invention can be used to decrypt the encrypted file in real time irrespective of the application program, particularly useful for large read-only files.

또한, 본 발명에 따르면 암호파일 복호기를 이용함에 따라 재암호화가 필요 없을 뿐만 아니라, 특정 운용시스템에 의존적인 암호화 방법이 아니므로 사용자가 선택한 암호화 프로그램으로 암호화할 수 있는 장점이 있다. In addition, according to the present invention, not only re-encryption is required by using an encrypted file decoder, but also an encryption method selected by a user because it is not an encryption method dependent on a specific operating system.

Claims (11)

특정 포맷으로 암호화된 파일에 대해 파일시스템과 응용프로그램 사이에서 연동되는 가상 파일시스템인 암호파일 복호기에 암호화된 파일을 설치하고, 상기 암호파일 복호기와 응용프로그램과 연동되어 상기 암호파일 복호기 및 응용프로그램을 제어하는 암호파일 복호기 제어프로그램을 이용하여 상기 암호화된 파일을 실시간으로 복호화하는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. Installing an encrypted file in an encryption file decoder, which is a virtual file system that is interoperable between a file system and an application program, for a file encrypted in a specific format, and interworking with the encryption file decoder and an application program to install the encrypted file decoder and the application program. A real-time decryption method of an encrypted file using a file system, characterized in that for decrypting the encrypted file in real time using a control file encryption control program. 제1항에 있어서, 상기 방법은, The method of claim 1, wherein 상기 암호파일 복호기 제어프로그램에 의해 응용프로그램 종료시 상기 암호파일 복호기에 설치된 암호화된 파일을 제거하는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. And an encrypted file installed in the encrypted file decoder at the end of an application program by the encrypted file decoder control program. 제2항에 있어서, 상기 암호파일 복호기에서의 암호화된 파일의 설치 및 제거는, The method of claim 2, wherein the installation and removal of the encrypted file in the encrypted file decoder, 암호파일 복호기 제어 프로그램으로부터 파일 설치 명령을 전달받으면, 키 정보 블록(KIB)이 있는지 판별하여 없으면 키 정보 블록을 생성하고, 이어서 파일 정보 블록(FIB)이 있는지 판별하여 없으면 파일 정보 블록을 생성하고 FIB 참조 카운터 및 KIB 참조 계수기의 카운팅값을 증가시키며, Upon receiving the file installation command from the encryption file decoder control program, it is determined whether there is a key information block (KIB), and if not, a key information block is generated, and if there is a file information block (FIB), a file information block is generated and a FIB is generated. Increments the counting value of the reference counter and the KIB reference counter, 암호파일 복호기 제어 프로그램으로부터 파일 제거 명령을 전달받으면, 파일 정보 블록(FIB)이 존재하는지 판단하여 없으면 종료하고 FIB 참조 계수기의 카운팅값을 감소시키고, 파일 정보 블록을 사용하고 있지 않다면 파일 정보 블록을 제거하고 파일 정보 블록을 사용하여 제거 대기를 설정하는 것에 의해 처리되는 Upon receiving the file removal command from the Cryptographic File Decoder Control Program, it determines if the file information block (FIB) exists and exits if it is not there, and decreases the counting value of the FIB reference counter, and removes the file information block if it is not in use. And is processed by setting the removal wait using the file information block 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. Real time decryption method of an encrypted file using a file system, characterized in that. 제1항에 있어서, 상기 방법은, The method of claim 1, wherein 블록 암호 알고리즘으로 초기벡터와 파일 오프셋을 이용하여 임의의 파일 위치에서 복호가 가능한 카운터 모드를 이용하는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. A method for real-time decryption of an encrypted file using a file system, characterized by using a counter mode that can be decrypted at an arbitrary file location using an initial vector and a file offset as a block encryption algorithm. 제4항에 있어서, 상기 블록 암호 알고리즘은, The method of claim 4, wherein the block cipher algorithm, 아리아(ARIA), 암호키와 복호키가 동일한 대칭키 암호화(SEED), AES(Advanced Encryption Standard) 중에서 어느 하나를 이용하는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. A method for real-time decryption of an encrypted file using a file system, characterized in that it uses any one of an ARIA, an symmetric key encryption (SEED), and an AES (Advanced Encryption Standard) having the same encryption key and decryption key. 제1항에 있어서, 상기 암호파일 복호기는, The method of claim 1, wherein the encryption file decoder, 파일열기, 파일닫기, 파일읽기, 파일정보읽기의 네 가지 명령을 처리하는 쓰레드(Thread)를 포함하는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. A real-time decryption method of an encrypted file using a file system, comprising a thread for processing four commands: file open, file close, file read, and file information read. 제6항에 있어서, 상기 파일열기는, The method of claim 6, wherein the file opener, 파일열기 명령에 대응하여 해당 파일을 여는 단계; Opening the file in response to the file open command; 상기 해당 파일의 헤더(Header)를 읽어 암호화된 파일인지를 확인하는 단계; Checking whether a file is encrypted by reading a header of the corresponding file; 상기 해당 파일이 암호화된 파일이 아닐 경우에는 해당 파일을 닫고, 상기 해당 파일이 암호화된 파일이면 입력된 키가 설정된 값인지 확인하는 단계; 및 If the file is not an encrypted file, closing the file and checking whether the input key is a set value if the file is an encrypted file; And 상기 키가 설정된 값이면 초기벡터(IV) 및 FileOffset을 초기화하는 단계Initializing an initial vector (IV) and a FileOffset if the key is a set value; 로 처리되는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. Real time decryption method of an encrypted file using a file system, characterized in that the processing. 제6항에 있어서, 상기 파일읽기는, The method of claim 6, wherein the file read, 파일읽기 명령에 대응하여 FileOffset이 요청한 FileOffset인가를 확인하여 파일 위치를 이동하는 단계; Checking whether the FileOffset is the FileOffset requested by the FileOffset in response to the file reading command and moving the file location; 초기벡터(IV)를 설정한 후 파일 길이만큼 파일데이터를 읽어 복호화하는 단계; 및 Setting the initial vector IV and reading and decoding the file data by the file length; And 설정된 길이 많큼 복호가 완료되었을 경우에 FileOffset을 갱신하는 단계Updating FileOffset When Decoding is More Than Set 로 처리되는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. Real time decryption method of an encrypted file using a file system, characterized in that the processing. 암호화된 파일에 대한 액세스 요청을 암호파일 복호기 제어프로그램으로 전달하는 단계; Transmitting a request for access to an encrypted file to an encrypted file decoder control program; 상기 암호파일 복호기 제어프로그램에서 파일설치 정보 블록(MFB)를 통하여 파일 정보 및 키 정보를 암호파일 복호기로 전달하는 단계; Transferring file information and key information to an encrypted file decoder through a file installation information block (MFB) in the encrypted file decoder control program; 상기 암호파일 복호기의 설치/제어 프로그램에 의해 상기 암호화된 파일 정보를 파일 정보 블록(FIB) 및 키 정보 블록(KIB)에 등록하는 단계; Registering the encrypted file information in a file information block (FIB) and a key information block (KIB) by an installation / control program of the encrypted file decoder; 상기 암호파일 복호기 제어프로그램에 의해 상기 암호화된 파일이 실행될 응용프로그램을 실행시키는 단계; Executing an application program to be executed by the encrypted file decoder control program; 상기 응용프로그램에서 암호파일 복호기에서 암호화된 파일을 읽어 사용하는 단계; 및 Reading and using an encrypted file by an encryption file decoder in the application program; And 상기 응용프로그램이 종료되면 암호파일 복호기 제어프로그램에서 의해 암호파일 복호기에 등록된 암호화된 파일을 제거하는 단계Removing the encrypted file registered in the encryption file decoder by the encryption file decoder control program when the application is terminated. 를 포함하는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. Real time decryption method of an encrypted file using a file system comprising a. 제3항 또는 제9항에 있어서, 상기 파일 정보 블록은, The method of claim 3 or 9, wherein the file information block, 키 정보 블록(KIB) pointer, 암호화된 파일 이름, 복호기용 파일 이름, 파일 할당 크기, 파일 크기, 파일 속성, 현재 파일 offset, Flags, Next, 참조 counter, 참조 counter 1, Counter(블록암호용)를 포함하는 것을 특징으로 하는 파일시스템 을 이용한 암호화 파일의 실시간 복호화 방법. Key information block (KIB) pointer, encrypted file name, file name for decoder, file allocation size, file size, file attribute, current file offset, Flags, Next, reference counter, reference counter 1, Counter (for block password) Real-time decryption method of the encrypted file using a file system comprising a. 제3항 또는 제9항에 있어서, 상기 키 정보 블록은, The method of claim 3 or 9, wherein the key information block, 파일 복호 키, 알고리즘 Context 정보, KeyCV, Next, 참조 counter를 포함하는 것을 특징으로 하는 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법. A real-time decryption method of an encrypted file using a file system, comprising a file decryption key, algorithm context information, KeyCV, Next, and reference counter.
KR1020060069709A 2005-12-08 2006-07-25 Real time decryption method using the file system KR100811469B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050119842 2005-12-08
KR20050119842 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061222A true KR20070061222A (en) 2007-06-13
KR100811469B1 KR100811469B1 (en) 2008-03-07

Family

ID=38357159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060069709A KR100811469B1 (en) 2005-12-08 2006-07-25 Real time decryption method using the file system

Country Status (1)

Country Link
KR (1) KR100811469B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950456B1 (en) * 2008-03-10 2010-04-02 충남대학교산학협력단 A Method for Real-time Program Decryption Using a Separate Process Which Interacts with the Execution Process
KR101414186B1 (en) * 2014-03-27 2014-07-01 주식회사 삼문시스템 Method for real-time preventing leak data
US10171428B2 (en) 2014-03-14 2019-01-01 Rowem Inc. Confidential data management method and device, and security authentication method and system
KR102013678B1 (en) 2019-03-12 2019-08-23 주식회사 피앤피시큐어 Secure file system and management method having realtime encrypting data
KR102615556B1 (en) 2022-11-08 2023-12-21 펜타시큐리티 주식회사 Security system and method for real-time encryption or decryption of data using a key management server

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101588965B1 (en) * 2014-08-04 2016-01-26 주식회사 엔씨소프트 Computer program and computing device for executing security program by run-time authorization

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100507148B1 (en) * 2002-07-23 2005-08-09 현대자동차주식회사 Front suspension using vehicle frame

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950456B1 (en) * 2008-03-10 2010-04-02 충남대학교산학협력단 A Method for Real-time Program Decryption Using a Separate Process Which Interacts with the Execution Process
US10171428B2 (en) 2014-03-14 2019-01-01 Rowem Inc. Confidential data management method and device, and security authentication method and system
KR101414186B1 (en) * 2014-03-27 2014-07-01 주식회사 삼문시스템 Method for real-time preventing leak data
KR102013678B1 (en) 2019-03-12 2019-08-23 주식회사 피앤피시큐어 Secure file system and management method having realtime encrypting data
KR102615556B1 (en) 2022-11-08 2023-12-21 펜타시큐리티 주식회사 Security system and method for real-time encryption or decryption of data using a key management server

Also Published As

Publication number Publication date
KR100811469B1 (en) 2008-03-07

Similar Documents

Publication Publication Date Title
EP3761210B1 (en) Cryptographic computing using encrypted base addresses and used in multi-tenant environments
US6957335B2 (en) Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP4648687B2 (en) Method and apparatus for encryption conversion in data storage system
US7694151B1 (en) Architecture, system, and method for operating on encrypted and/or hidden information
JP5388855B2 (en) Secure device authentication system and method
US8498418B2 (en) Conversion of cryptographic key protection
JP3880933B2 (en) Data access control method using tamper resistant microprocessor and cache memory processor
KR100811469B1 (en) Real time decryption method using the file system
US11057194B2 (en) Processing system, related integrated circuit, device and method
JP2009500766A (en) Copy digital content between content protection systems
JPH0764786A (en) Method for controlling program using contract and system for realizing the method
RU2005121915A (en) COMMANDS TO SUPPORT ENCRYPTED MESSAGE PROCESSING
JP4643702B2 (en) Microprocessor
CN115758420A (en) File access control method, device, equipment and medium
EP2795510A1 (en) Method and apparatus to using storage devices to implement digital rights management protection
EP3425552B1 (en) Hardware secure module, related processing system, integrated circuit, device and method
JP2009253490A (en) Memory system encrypting system
EP3425551B1 (en) A processing system, related integrated circuit, device and method for a hardware secure module
JPH10275115A (en) Data ciphering and storing method and system device
JPH08509087A (en) File encryption structure
US8812872B2 (en) Memory managment method
JP2004038476A (en) Device and system for encoding
US20130103953A1 (en) Apparatus and method for encrypting hard disk
JP2004280678A (en) Data processor and data processing method
JPS6313209B2 (en)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130111

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 9