KR20090053655A - 디지털 파일 암호화 방법, 디지털 파일 복호화 방법,디지털 파일 처리 장치 및 암호화 포맷 변환 장치 - Google Patents

디지털 파일 암호화 방법, 디지털 파일 복호화 방법,디지털 파일 처리 장치 및 암호화 포맷 변환 장치 Download PDF

Info

Publication number
KR20090053655A
KR20090053655A KR1020070126690A KR20070126690A KR20090053655A KR 20090053655 A KR20090053655 A KR 20090053655A KR 1020070126690 A KR1020070126690 A KR 1020070126690A KR 20070126690 A KR20070126690 A KR 20070126690A KR 20090053655 A KR20090053655 A KR 20090053655A
Authority
KR
South Korea
Prior art keywords
file
encryption
encrypted
information
format
Prior art date
Application number
KR1020070126690A
Other languages
English (en)
Other versions
KR100960260B1 (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 JP2010534880A priority Critical patent/JP2011504631A/ja
Priority to CN2008801218162A priority patent/CN101932995A/zh
Priority to US12/743,641 priority patent/US20110010559A1/en
Priority to PCT/KR2008/006687 priority patent/WO2009066901A2/en
Publication of KR20090053655A publication Critical patent/KR20090053655A/ko
Application granted granted Critical
Publication of KR100960260B1 publication Critical patent/KR100960260B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

Landscapes

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

Abstract

디지털 파일 암호화 방법, 디지털 파일 복호화 방법, 디지털 파일 처리 장치 및 암호화 포맷 변환 장치를 개시하고 있다. 디지털 파일 암호화 방법은, 파일을 소정의 암호화 정보를 사용하여 암호화하여 파일 시스템에 저장하고, 그 암호화 정보를 파일 시스템에서 제공하는 스트림에 저장한다. 따라서 암호화 전과 암호화 후의 파일 길이가 동일하므로 어플리케이션이 암호화 파일을 사용할 때 별도의 헤더 길이를 고려하거나 오프셋 보정 등을 수행할 필요가 없다.
스트림, 암호화, 디지털 파일, 헤더, NTFS

Description

디지털 파일 암호화 방법, 디지털 파일 복호화 방법, 디지털 파일 처리 장치 및 암호화 포맷 변환 장치 {Digital File Encryption Method, Digital File Decryption Method, Digital File Processing Apparatus and Encryption Format Converting Apparatus}
본 발명은 디지털 파일 암호화 방법, 디지털 파일 복호화 방법, 디지털 파일 처리 장치 및 암호화 포맷 변환 장치에 관한 것으로, 좀더 상세하게는, 파일 암호화 시 암호화 파일의 암호화 정보를 파일 시스템에서 제공하는 스트림에 저장하는 디지털 파일 암호화 방법과 그 관련 기술에 관한 것이다.
일반적으로, 디지털 정보는 정보의 손실 없이도 무제한의 복제가 가능하기 때문에 불법적인 복제 및 불법적인 사용에 쉽게 노출될 수 있다. 때문에, 디지털 정보 서비스를 위해서는 불법적인 복제 및 사용으로부터 디지털 정보를 안정적으로 보호할 수 있는 디지털 정보 보안 기술이 뒷받침되어야 한다.
디알엠(DRM : Digital Rights Management)은 디지털 정보의 불법 복제 및 사 용을 미연에 방지하고 적법한 권한을 가진 사용자만이 디지털 정보를 사용할 수 있도록 하는 종합적인 디지털 정보 보안 기술이다. 이러한 디알엠은 디지털 정보의 불법적인 복제 및 사용을 원천적으로 방지하는데 중점을 둔다. 예컨대 디알엠에서는 암호화 기술을 사용하여 디지털 정보를 암호화 데이터로 변환함으로써, 디지털 정보가 특정 사용자에 의하여 우연히 취득되었다고 하더라도 적법한 인증 절차를 거치지 않으면 해당 디지털 정보를 사용할 수 없도록 한다.
종래의 데이터 암호화 방법을 살펴보면, 종래에는 로-데이터(Raw-Data) 파일을 소정의 암호화 정보를 사용하여 암호화하고, 그 암호화 정보는 암호화 데이터의 앞부분 또는 뒷부분에 헤더(Header) 또는 풋터(Footer)로 삽입한다. 그런데 이 경우 파일의 전체 크기가 변화되어 추후 어플리케이션이 암호화 데이터 파일을 사용할 때 처리해야 될 부분이 많아진다.
도 1은 종래의 디지털 데이터 암호화 방법을 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 종래의 경우 로-데이터 파일(예컨대 A.txt)을 암호화하여 암호화 데이터로 변환하고 그 암호화 정보를 헤더(22)나 풋터(24)로 삽입한다. 따라서 암호화 파일(예컨대 A_Enc.txt)의 길이는 로-데이터 파일의 길이보다 헤더(22) 또는 풋터(24)의 길이만큼 커지게 된다.
따라서 어플리케이션이 암호화 파일을 사용할 때는 소정의 처리, 예컨대 암호화 파일에 대한 파일 I/O(Input/Output)를 로-데이터에 대한 파일 I/O와 동일하게 해주기 위하여 길이 및 오프셋에 대한 보정 등의 처리를 해주어야 한다. 그러나 어플리케이션에 따라서는 암호화 파일의 길이 및 오프셋에 대한 보정 처리 시, 파 일 I/O에 대한 안정성이 현저히 떨어지는 문제가 발생한다.
예를 들어, 헤더를 암호화 데이터의 앞부분에 삽입하게 되면 어플리케이션이 암호화 파일을 사용할 때는, 원래의 파일이 헤더에 의해 뒤로 밀린 만큼을 고려하여야 하므로 처리해야할 부분이 많아진다. 즉 어플리케이션이 암호화 데이터를 읽을 때는 헤더의 길이를 고려하여 그 뒤부터 읽어 주어야 하고, 데이터를 새롭게 쓸 때도 그 만큼 밀어서 써 주어야 한다.
그러나 API(Application Program Interface) 후킹(Hooking)이나, 필터 드라이버(Filter Driver) 기술을 사용하여 이러한 기술을 구현할 때는 운영체제와 사용 어플리케이션에 따라 많은 경우의 수가 발생하며, 그에 따른 오작동의 가능성이 높이지는 것이 사실이다.
본 발명이 해결하고자 하는 기술적 과제는 암호화 파일의 암호화 정보를 파일 시스템에서 제공하는 스트림에 저장하는 디지털 파일 암호화 방법을 제공하는데 있다.
또한, 본 발명이 해결하고자 하는 다른 기술적 과제는 상기 디지털 파일 암호화 방법에 의해 저장된 암호화 파일을 복호화할 수 있는 디지털 파일 복호화 방법을 제공하는데 있다.
또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 파일 암호화 시에 암호화 정보를 스트림에 저장하고, 스트림에 저장된 암호화 정보를 이용하여 암호화 파일을 복호화할 수 있는 디지털 파일 처리 장치를 제공하는데 있다.
또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 스트림을 이용한 암호화 포맷과 기존의 헤더를 이용한 암호화 포맷을 상호 변환할 수 있는 암호화 포맷 변환 장치를 제공하는데 있다.
이러한 기술적 과제를 달성하기 위하여 본 발명은 일 측면(Aspect)에서 디지털 파일 암호화 방법을 제공한다. 상기 디지털 파일 암호화 방법은, 파일을 소정의 암호화 정보를 사용하여 암호화하여 파일 시스템에 저장하는 단계; 및 상기 암호화 정보를 상기 파일 시스템에서 제공하는 스트림에 저장하는 단계를 포함한다. 이때 상기 암호화 정보는 상기 파일의 암호화 시 사용된 데이터 암복호화 키 및 상기 파일에 대한 정책 정보 등을 포함할 수 있다.
상기 파일을 상기 파일 시스템에 저장하는 단계는, 상기 파일을 상기 데이터 암복호화 키를 사용하여 암호화하여 암호화 파일로 변환하는 단계; 및 상기 암호화 파일을 상기 파일 시스템에 저장하는 단계를 포함할 수 있다.
또한 상기 암호화 정보를 상기 스트림에 저장하는 단계는, 상기 암호화 정보를 특정 암호화 키를 사용하여 암호화하는 단계; 및 상기 암호화된 암호화 정보를 상기 암호화 파일과 연계시켜 상기 스트림에 저장하는 단계를 포함할 수 있다. 이때 상기 암호화 정보의 명칭은 상기 암호화 파일의 명칭, 특정한 식별부호 및 고유 명칭을 포함할 수 있다.
상기 디지털 파일 암호화 방법은, 어플리케이션으로부터 발생되는 파일 I/O를 후킹한 후 필터링하여 처리할 특정 파일 I/O를 취득하는 단계; 및 상기 취득된 파일 I/O를 분석하여 해당 파일이 암호화를 필요로 하는 파일인지를 판단하는 단계를 더 포함할 수도 있다.
한편, 상술한 본 발명의 다른 기술적 과제를 해결하기 위하여 본 발명은 다른 측면에서 디지털 파일 복호화 방법을 제공한다. 상기 디지털 파일 복호화 방법은, 파일 시스템에 저장된 암호화 파일을 복호화하기 위하여, 상기 파일 시스템에서 제공하는 스트림에 저장되어 있는 암호화 정보를 취득하는 단계; 및 상기 암호화 정보에 포함되어 있는 데이터 암복호화 키를 사용하여 상기 암호화 파일을 복호화하는 단계를 포함할 수 있다.
상기 암호화 정보를 취득하는 단계는, 상기 스트림에 저장되어 있는 암호화된 암호화 정보를 취득하는 단계와; 상기 암호화된 암호화 정보를 특정 암호화 키를 사용하여 복호화하는 단계; 및 상기 복호화된 암호화 정보에서 상기 데이터 암복호화 키를 취득하는 단계를 포함할 수 있다.
상기 디지털 파일 복호화 방법은, 어플리케이션으로부터 발생되는 파일 I/O를 후킹한 후 필터링하여 처리할 특정 파일 I/O를 취득하는 단계; 및 상기 취득된 파일 I/O를 분석하여 해당 파일이 복호화를 필요로 하는 파일인지를 판단하는 단계를 더 포함할 수 있다.
한편, 상술한 본 발명의 또 다른 기술적 과제를 해결하기 위하여 본 발명은 또 다른 측면에서 디지털 파일 처리 장치를 제공한다. 상기 디지털 파일 처리 장치는, 암호화가 필요한 특정 파일을 소정의 암호화 정보를 사용하여 암호화하여 파일 시스템에 저장하고, 상기 암호화 정보는 상기 저장되는 암호화 파일과 연계시켜 스트림에 저장하는 파일 암호화 모듈; 및 상기 암호화 파일의 암호화 정보를 상기 스트림으로부터 취득하고, 상기 취득한 암호화 정보를 사용하여 상기 암호화 파일을 복호화하는 파일 복호화 모듈을 포함할 수 있다.
상기 파일 암호화 모듈은 자체적으로 생성하거나 외부로부터 제공받은 데이터 암호화 키를 사용하여 상기 특정 파일을 상기 암호화 파일로 변환하고, 상기 데이터 암호화 키를 포함하는 상기 암호화 정보를 상기 스트림에 저장할 수 있다. 한편, 상기 파일 암호화 모듈 및 상기 파일 복호화 모듈 중 적어도 어느 하나는 어플리케이션으로부터 발생되는 파일 I/O를 후킹 및 필터링할 수 있다.
상기 디지털 파일 처리 장치는, 제 1 암호화 포맷을 제 2 암호화 포맷으로 변환하는 암호화 포맷 변환 모듈을 더 포함할 수도 있다. 이때 상기 제 1 암호화 포맷은 암호화 파일의 암호화 정보를 스트림에 저장하는 형태의 암호화 포맷을 의미할 수 있다. 또한 상기 제 2 암호화 포맷은 암호화 파일의 암호화 정보를 상기 암호화 파일의 헤더 또는 풋터로 삽입하는 형태의 암호화 포맷을 의미할 수 있다.
이러한 암호화 포맷 변환 모듈은 상기 제 2 암호화 포맷을 상기 제 1 암호화 포맷으로 변환하는 기능을 더 구비할 수도 있다.
상기 디지털 파일 처리 장치는 암호화 정보를 가진 스트림에 대하여 허용된 어플리케이션에게만 접근을 허용하고, 허용되지 않은 어플리케이션에 대해서는 접근을 차단하는 필터 모듈을 더 포함할 수도 있다.
한편, 상술한 본 발명의 또 다른 기술적 가제를 해결하기 위하여 본 발명은 또 다른 측면에서 암호화 포맷 변환 장치를 제공한다. 상기 암호화 포맷 변환 장치는, 제 1 암호화 포맷으로 암호화된 파일을 제 2 암호화 포맷으로 변환하는 제 1 모듈; 및 상기 제 2 암호화 포맷으로 암호화된 파일을 상기 제 1 암호화 포맷으로 변환하는 제 2 모듈을 포함할 수 있다. 상기 제 1 암호화 포맷은 암호화 파일의 암호화 정보를 스트림에 저장하는 형태의 암호화 포맷을 의미할 수 있다. 또한 상기 제 2 암호화 포맷은 암호화 파일의 암호화 정보를 상기 암호화 파일의 헤더 또는 풋터로 삽입하는 형태의 암호화 포맷을 의미할 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면 디지털 파일의 암호화 시 암호화 파일의 암호화 정보를 파일 시스템에서 제공하는 스트림에 저장하므로, 암호화 후에도 파일 길이의 변화를 주지 않으면서 추가적인 정보를 암호화 파일과 함께 저장할 수 있다. 따라서 암호화 후 파일의 헤더 길이를 고려하여야 하는 종래의 파일 암호화 방법보다 훨씬 안정적이다. 또한, 이러한 방식으로 저장된 암호화 파일을 용이하게 복호화 할 수도 있으며, 기존의 파일 암호화 포맷과의 암호화 포맷 변환도 가능하여 스트림을 지원하는 파일 시스템과의 호환도 용이한 장점이 있다.
이하, 본 발명이 속하는 분야에 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 이하에 설명할 본 발명의 바람직한 실시예에서는 내용의 명료성을 위하여 특정한 기술 용어를 사용한다. 하지만 본 발명은 그 선택된 특정 용어에 한정되지는 않으며, 각각의 특정 용어가 유사한 목적을 달성하기 위하여 유사한 방식으로 동작하는 모든 기술 동의어를 포함함을 미리 밝혀둔다.
도 2는 본 발명의 바람직한 실시예에 따른 디지털 파일 암호화 방법 및 디지털 파일 복호화 방법을 실현하기 위한 디지털 데이터 처리 장치의 구성을 도시하는 블록도이다.
도 2에 도시된 바와 같이, 디지털 파일 처리 장치(Digital File Processing Apparatus)(100)는 어플리케이션(Application)(10) 및 파일 시스템(File System)(20)과 연동할 수 있다.
이때 어플리케이션(10)은 디지털 정보 파일을 사용(예컨대, 열람, 편집, 저장 등)하는 개체, 예컨대 워드, 캐드, 워크시트, 포토샵, 동영상 또는 음원 재생기 등과 같은 프로그램을 의미할 수 있다. 이러한 어플리케이션(10)은 파일의 사용을 위하여 다양한 파일 I/O를 커널 영역의 파일 시스템(20)으로 발생시킨다. 예를 들어, 어플리케이션(10)은 파일의 오픈(Open), 리드(Read), 생성(Create) 세이브(Save), 라이트(Write) 등을 위한 파일 I/O를 발생시킬 수 있다.
파일 시스템(20)은 파일을 저장 및 관리한다. 상기 파일 시스템(20)은 예컨대 NTFS(NT File System) 등과 같이 스트림을 지원하는 파일 시스템을 의미할 수 있다. 이때 스트림이란 디지털 파일에 부가적으로 속성을 추가할 수 있도록 특정 파일 시스템(20)에서 제공되는 기능 중의 하나이다. 예를 들어, 윈도우 2000부터 등장한 NTFS는 대용량 파일 관리와 압축, 보안 등의 장점 이외에도 스트림이라는 기능을 지원한다. NTFS에서는 파일에게 단순히 사용자에게 보이는 파일 길이만큼의 공간만을 할당하는 것이 아니라, 스트림이라 불리는 데이터의 흐름에서 한부분도 해당 파일에게 할당할 수 있다. NTFS의 경우 다중 데이터 스트림을 지원한다.
디지털 파일 처리 장치(100)는 어플리케이션(10)과 파일 시스템(20) 사이에서 파일의 암호화와 복호화 및 암호화 포맷 변환을 수행할 수 있다. 이러한 디지털 파일 처리 장치(100)는 파일 암호화 모듈(110), 파일 복호화 모듈(120) 및 파일 포맷 변환 모듈(130), 필터 모듈(140) 등을 포함할 수 있다. 상기 각각의 모듈은 소프트웨어의 형태로 유저 영역 또는 커널 영역 어디에도 위치할 수 있다. 예를 들 어, 상기 모듈들이 유저 영역에 구비될 수도 있고, 커널 영역에 구비될 수도 있으며, 일부는 유저 영역에 구비되고 일부는 커널 영역에 구비될 수도 있다.
상기 파일 암호화 모듈(110)은 어플리케이션(10)으로부터 파일의 암호화를 필요로 하는 파일 I/O가 발생되면, 해당 파일을 소정의 암호화 정보를 사용하여 암호화하여 파일 시스템(20)에 저장하고 상기 암호화 정보는 저장된 암호화 데이터와 연계하여 스트림에 저장한다.
여기서 상기 암호화 정보는 파일을 암호화할 때 사용한 데이터 암복호화 키 및 해당 파일의 정책 정보 등을 포함할 수 있다. 상기 정책 정보는 사용자의 파일에 대한 열람, 저장, 편집, 인쇄 등의 권한 정보와, 암호화 날짜, 사용기간, 파일에 대한 접근 가능 그룹, DRM 정보, 사용자 및 오프라인 사용 가능 유무 등과 같은 암호화 파일에 대한 접근 제어 정보 및 사용 방법 정보 등을 포함할 수 있다.
데이터 복호화 모듈(120)은 어플리케이션(10)으로부터 암호화 파일의 복호화를 필요로 하는 파일 I/O가 발생되면, 해당 암호화 파일과 연계되어 스트림에 저장된 암호화 정보를 취득하고, 그 암호화 정보를 사용하여 파일 시스템(20)에 저장된 상기 암호화 파일을 복호화한다.
암호화 포맷 변환 모듈(130)은 제 1 암호화 포맷으로 암호화된 파일을 제 2 암호화 포맷으로 변환하거나 제 2 암호화 포맷으로 암호화된 파일을 제 1 암호화 포맷으로 변환하는 기능을 수행한다. 이때 제 1 암호화 포맷은 암호화 파일의 암호화 정보를 스트림에 저장하는 암호화 포맷을 의미하며, 제 2 암호화 포맷은 암호화 파일의 암호화 정보가 헤더 또는 풋터의 형태로 암호화 파일에 삽입되는 암호화 포 맷, 즉 종래의 암호화 포맷을 의미할 수 있다. 이러한 암호화 포맷 변환 모듈(130)은 스트림을 지원하지 않는 타 시스템과의 파일 송수신 시 등에 동작할 수 있다.
필터 모듈(140)은 암호화 정보를 가진 스트림에 대하여 허용된 어플리케이션에게만 그 접근을 허용하고, 허용되지 않은 어플리케이션에 대해서는 그 접근을 차단하는 기능을 수행할 수 있다. 즉 필터 모듈(140)은 스트림에 저장된 암호화 정보를 보호하는 기능을 수행한다.
도 3은 파일 암호화 모듈(110)에 의하여 수행되는 파일의 암호화 절차를 설명하기 위한 흐름도이다.
도 3에 도시된 바와 같이, 먼저 파일 암호화 모듈(110)은 어플리케이션(10)에서 발생되는 파일 I/O를 후킹한 후 필터링하여 처리할 특정 파일 I/O를 취득한다(단계:S1). 이어서 데이터 암호화 모듈(110)은 취득된 파일 I/O의 데이터를 분석하여(단계:S2), 해당 파일이 암호화를 필요로 하는 파일인지를 판단한다(단계:S3). 예컨대, 파일 암호화 모듈(110)은 해당 파일이 암호화를 필요로 하는 새로 생성되는 파일이나 또는 로-데이터 파일인지의 여부를 판단할 수 있다.
이때 상기 파일이 암호화를 필요로 하는 파일인 경우, 파일 암호화 모듈(110)은 데이터 암복호화 키를 사용하여 상기 파일을 암호화한 뒤(단계:S4), 암호화 파일을 파일 시스템(20)에 저장한다(단계:S5). 상기 데이터 암복호화 키는 파일 암호화 모듈에서 자체적으로 생성할 수도 있고, 외부로부터 제공받을 수도 있다.
또한 파일 암호화 모듈(110)은 상기 데이터 암복호화 키 및 정책 정보 등을 포함하는 암호화 정보를 생성한 뒤(단계:S6), 암호화 파일과 연계시켜 스트림에 저장한다(단계:S7). 이때 상기 파일 암호화 모듈(110)은 상기 암호화 정보를 암호화하여 스트림에 저장할 수도 있는데, 이 경우 암호화 정보의 암호화 키는 자체적으로 생성하거나 또는 외부로부터 제공받을 수 있다.
도 4는 파일 암호화 모듈(110)에 의하여 암호화된 암호화 파일 및 암호화 정보를 도시하는 예시도이다.
도 4를 참조하면, 파일 암호화 모듈(110)은 로-데이터 파일을 암호화 정보를 사용하여 암호화하되, 그 암호화 정보는 암호화 파일과 연계시켜 스트림(30)에 저장한다. 이때 연계시킨다는 의미는 상기 암호화 정보가 상기 암호화 파일의 암호화 정보라는 것을 식별할 수 있도록 한다는 의미일 수 있다. 예컨대 암호화 정보의 명칭은 해당 암호화 파일의 명칭 뒤에 ':'라는 식별부호를 붙이고 그 뒤에 특정 스트림 명칭을 붙여 표현할 수 있다. 예를 들면, B.txt를 암호화한 B_Enc.txt라는 암호화 파일에 'ENCDATA'이라는 명칭으로 스트림(30)에 암호화 정보를 저장한다면 그 암호화 정보는 B_Enc.txt:ENCDATA라는 명칭으로 리드 및 라이트가 가능하다.
따라서 앞서 언급했던 종래의 경우(도 1 참조)와는 달리 암호화 정보를 담은 헤더나 풋터가 파일의 앞 또는 뒤에 붙지 않기 때문에, 원래의 파일(B.txt) 길이와 암호화 후의 파일(B_Enc.txt)의 길이가 동일하게 된다. 따라서 어플리케이션이 암호화 파일을 사용할 때 파일의 길이 및 오프셋 보정 등을 수행할 필요가 없어, 로-데이터에 대한 파일 I/O에서와 동일한 안정성이 보장될 수 있다.
도 5는 파일 복호화 모듈(120)에 의하여 수행되는 파일의 복호화 절차를 설 명하기 위한 흐름도이다.
도 5에 도시된 바와 같이, 먼저 파일 복호화 모듈(120)은 어플리케이션(10)에서 발생되는 파일 I/O를 후킹한 후 필터링하여 처리할 특정 파일 I/O를 취득한다(단계:S11). 이어서 데이터 복호화 모듈(120)은 취득된 파일 I/O의 데이터를 분석하여(단계:S12), 해당 파일이 복호화를 필요로 하는 파일인지를 판단한다(단계:S13). 예컨대, 파일 암호화 모듈(120)은 해당 파일이 암호화 파일인지의 여부를 판단할 수 있다.
이때 상기 파일이 복호화를 필요로 하는 파일인 경우, 파일 복호화 모듈(120)은 스트림에 저장되어 있는 해당 암호화 파일의 암호화 정보를 취득한다(단계:S14). 이때 상기 암호화 정보가 암호화 되어 있을 경우 암호화 정보의 암호화 키를 사용하여 암호화 정보를 복호화할 수 있다. 이어서, 파일 복호화 모듈(120)은 취득된 암호화 정보에 포함되어 있는 데이터 암복호화 키를 사용하여 상기 암호화 파일을 복호화 할 수 있다(단계:S15).
도 6은 암호화 포맷 변환 모듈(130)에 의해서 수행되는 암호화 포맷 변환의 개념을 설명하는 예시도이다.
도 6에 도시된 바와 같이, 암호화 포맷 변환 모듈(130)은 제 1 암호화 포맷으로 암호화된 파일을 제 2 암호화 포맷으로 변환하는 제 1 모듈(131) 및 제 2 암호화 포맷으로 암호화된 파일을 제 1 암호화 포맷으로 변환하는 제 2 모듈(132)을 포함할 수 있다. 앞서도 언급했듯이, 상기 제 1 암호화 포맷이란 암호화 파일의 암호화 정보를 스트림에 저장하는 암호화 포맷을 의미하며, 제 2 암호화 포맷은 암호 화 파일의 암호화 정보가 헤더(또는 풋터)의 형태로 암호화 파일에 삽입되는 암호화 포맷을 의미한다.
이러한 암호화 포맷 변환 모듈(130)은 스트림을 지원하지 않는 타 시스템(예컨대 FAT16, FAT32, CDFS 등)과의 파일 송수신 시 또는 스트림을 지원하지 않는 어플리케이션(예컨대 알집 등)을 위하여 동작할 수 있다.
예를 들어, 제 1 암호화 포맷으로 저장된 암호화 파일을 스트림을 지원하지 않는 타 시스템(즉, 제 2 암호화 포맷만을 지원하는 파일 시스템)으로 전송할 경우 제 1 암호화 포맷을 제 2 암호화 포맷으로 변환하는 변환 과정이 필요하다. 이 경우 암호화 포맷 변환 모듈(130)의 제 1 모듈(131)은 (예컨대 특정 어플리케이션이나 사용자 등의 요청 등에 따라)스트림에 저장된 암호화 정보를 취득한 뒤, 이를 암호화 파일의 앞부분(또는 뒷부분)에 헤더(또는 풋터)로 붙인다.
반면, 제 2 암호화 포맷만을 지원하는 타 시스템으로부터 암호화 파일을 수신할 경우 제 2 암호화 포맷을 제 1 암호화 포맷으로 변환하는 과정이 필요할 수 있다. 이 경우 암호화 포맷 변환 모듈(130)의 제 2 모듈(132)은 제 2 암호화 포맷인 암호화 파일의 헤더(또는 풋터)부분을 잘라내서 암호화 파일의 저장 시 암호화 파일과 연계시켜 스트림에 저장한다.
한편, 암호화 포맷 변환 모듈(130)은 사용자 또는 특정 어플리케이션이 포맷 변환을 요청하면 그 요청에 따라 포맷 변환을 수행하는 수동형 동작 모듈의 형태로 구성될 수도 있고, 또는 어플리케이션(10)이 암호화 파일을 사용함에 따라 자동으로 포맷 변환을 수행하는 자동 동작 모듈의 형태로 구성될 수도 있다.
상기 암호화 포맷 변환 모듈(130)을 자동 동작 모듈로 구성하는 경우의 예를 들자면, 암호화 포맷 변환 모듈(130)은 어플리케이션이 암호화 파일을 사용함에 따라 실시간 스트림 암호화 형식으로 암호화 포맷을 변환하는 커널 단의 파일 시스템 필터(Filter)의 형태로 구성될 수 있다. 예컨대 사용자가 어플리케이션을 이용하여 NTFS에 저장되어 있는 제 2 암호화 포맷의 암호화 파일을 실행할 경우, 파일 시스템 필터에서 자동으로 제 1 암호화 포맷으로 변환한 뒤 복호화할 수 있다.
도 7은 필터 모듈(140)에 의해 수행되는 암호화 정보 보호 기능의 개념을 설명하기 위한 흐름도이다.
도 7에 도시된 바와 같이, 필터 모듈(140)은 허용된 어플리케이션(12)에 대해서만 스트림(16)에 저장된 암호화 정보를 접근할 수 있는 권한을 부여하고, 일반 어플리케이션(14)으로부터 요청되는 스트림(16)으로의 접근은 차단한다. 예를 들어, 필터 모듈(140)은 특정 어플리케이션으로부터 스트림에 저장된 암호화 정보로의 접근 요청이 있을 경우 해당 어플리케이션이 허용된 어플리케이션인지를 판단하여 허용된 어플리케이션일 경우에는 접근을 허용하고 허용된 어플리케이션이 아닐 경우 접근을 차단할 수 있다.이러한 필터 모듈은 예컨대, 커널 영역에 파일 시스템 필터나 미니필터의 형태로 구현될 수 있다.
이상 본 발명에 대하여 그 바람직한 실시예를 설명하였다. 본 발명에 따르면 파일 암호화 시에 파일의 암호화 정보를 해당 파일의 앞부분이나 뒷부분에 삽입하지 않고 파일 시스템에서 지원하는 스트림에 저장한다. 따라서 암호화 전과 암호화 후의 파일 길이가 동일하므로 어플리케이션이 암호화 파일을 사용할 때 파일의 길 이 및 오프셋 보정 등을 수행할 필요가 없다. 파일 I/O의 안정성 및 처리 속도 향상 등을 가져올 수 있게 된다.
한편, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
도 1은 통상적인 종래의 디지털 데이터 암호화 방법을 설명하기 위한 예시도이다.
도 2는 본 발명의 바람직한 실시예에 따른 디지털 데이터 처리 장치의 구성을 도시하는 블록도이다.
도 3은 파일 암호화 모듈에 의하여 수행되는 파일의 암호화 절차를 설명하기 위한 흐름도이다.
도 4는 파일 암호화 모듈에 의하여 암호화된 암호화 파일 및 암호화 정보를 도시하는 예시도이다.
도 5는 파일 복호화 모듈에 의하여 수행되는 파일의 복호화 절차를 설명하기 위한 흐름도이다.
도 6은 암호화 포맷 변환 모듈에 의해서 수행되는 암호화 포맷 변환의 개념을 설명하는 예시도이다.
도 7은 필터 모듈에 의해 수행되는 암호화 정보 보호 기능의 개념을 설명하기 위한 흐름도이다.
<도면의 주요 부분에 대한 부호 설명>
10 : 어플리케이션
20 : 파일 시스템
100 : 디지털 파일 처리 장치
110 : 파일 암호화 모듈
120 : 파일 복호화 모듈
130 : 암호화 포맷 변환 모듈
131 : 제 1 모듈
132 : 제 2 모듈
140 : 필터 모듈

Claims (17)

  1. 파일을 소정의 암호화 정보를 사용하여 암호화하여 파일 시스템에 저장하는 단계; 및
    상기 암호화 정보를 상기 파일 시스템에서 제공하는 스트림에 저장하는 단계를 포함하는 것을 특징으로 하는 디지털 파일 암호화 방법.
  2. 제 1 항에 있어서, 상기 암호화 정보는 상기 파일의 암호화 시 사용된 데이터 암복호화 키 및 상기 파일에 대한 정책 정보를 포함하는 것을 특징으로 하는 디지털 파일 암호화 방법.
  3. 제 2 항에 있어서, 상기 파일을 상기 파일 시스템에 저장하는 단계는,
    상기 파일을 상기 데이터 암복호화 키를 사용하여 암호화하여 암호화 파일로 변환하는 단계; 및
    상기 암호화 파일을 상기 파일 시스템에 저장하는 단계를 포함하는 것을 특징으로 하는 디지털 파일 암호화 방법.
  4. 제 3 항에 있어서, 상기 암호화 정보를 상기 스트림에 저장하는 단계는,
    상기 암호화 정보를 특정 암호화 키를 사용하여 암호화하는 단계; 및
    상기 암호화된 암호화 정보를 상기 암호화 파일과 연계시켜 상기 스트림에 저장하는 단계를 포함하는 것을 특징으로 하는 디지털 파일 암호화 방법.
  5. 제 3 항에 있어서, 상기 암호화 정보의 명칭은 상기 암호화 파일의 명칭, 특정한 식별부호 및 고유 명칭을 포함하는 것을 특징으로 하는 디지털 파일 암호화 방법.
  6. 제 1 항에 있어서, 어플리케이션으로부터 발생되는 파일 I/O를 후킹한 후 필터링하여 처리할 특정 파일 I/O를 취득하는 단계; 및
    상기 취득된 파일 I/O를 분석하여 해당 파일이 암호화를 필요로 하는 파일인지를 판단하는 단계를 더 포함하는 것을 특징으로 하는 디지털 파일 암호화 방법.
  7. 파일 시스템에 저장된 암호화 파일을 복호화하기 위하여, 상기 파일 시스템에서 제공하는 스트림에 저장되어 있는 암호화 정보를 취득하는 단계; 및
    상기 암호화 정보에 포함되어 있는 데이터 암복호화 키를 사용하여 상기 암 호화 파일을 복호화하는 단계를 포함하는 것을 특징으로 하는 디지털 파일 복호화 방법.
  8. 제 7 항에 있어서, 상기 암호화 정보를 취득하는 단계는,
    상기 스트림에 저장되어 있는 암호화된 암호화 정보를 취득하는 단계;
    상기 암호화된 암호화 정보를 특정 암호화 키를 사용하여 복호화하는 단계; 및
    상기 복호화된 암호화 정보에서 상기 데이터 암복호화 키를 취득하는 단계를 포함하는 것을 특징으로 하는 디지털 파일 복호화 방법.
  9. 제 7 항에 있어서, 어플리케이션으로부터 발생되는 파일 I/O를 후킹한 후 필터링하여 처리할 특정 파일 I/O를 취득하는 단계; 및
    상기 취득된 파일 I/O를 분석하여 해당 파일이 복호화를 필요로 하는 파일인지를 판단하는 단계를 더 포함하는 것을 특징으로 하는 디지털 파일 암호화 방법.
  10. 암호화가 필요한 특정 파일을 소정의 암호화 정보를 사용하여 암호화하여 파일 시스템에 저장하고, 상기 암호화 정보는 상기 저장되는 암호화 파일과 연계시켜 스트림에 저장하는 파일 암호화 모듈; 및
    상기 암호화 파일의 암호화 정보를 상기 스트림으로부터 취득하고, 상기 취득한 암호화 정보를 사용하여 상기 암호화 파일을 복호화하는 파일 복호화 모듈을 포함하는 것을 특징으로 하는 디지털 파일 처리 장치.
  11. 제 10 항에 있어서, 상기 파일 암호화 모듈은 자체적으로 생성하거나 외부로부터 제공받은 데이터 암호화 키를 사용하여 상기 특정 파일을 상기 암호화 파일로 변환하고, 상기 데이터 암호화 키를 포함하는 상기 암호화 정보를 상기 스트림에 저장하는 것을 특징으로 하는 디지털 파일 처리 장치.
  12. 제 10 항에 있어서, 상기 파일 암호화 모듈 및 상기 파일 복호화 모듈 중 적어도 어느 하나는 어플리케이션으로부터 발생되는 파일 I/O를 후킹 및 필터링하는 것을 특징으로 하는 디지털 파일 처리 장치.
  13. 제 10 항에 있어서, 제 1 암호화 포맷을 제 2 암호화 포맷으로 변환하는 암호화 포맷 변환 모듈을 더 포함하며,
    상기 제 1 암호화 포맷은 암호화 파일의 암호화 정보를 스트림에 저장하는 형태의 암호화 포맷이며, 상기 제 2 암호화 포맷은 암호화 파일의 암호화 정보를 상기 암호화 파일의 헤더 또는 풋터로 삽입하는 형태의 암호화 포맷인 것을 특징으로 하는 디지털 파일 처리 장치.
  14. 제 13 항에 있어서, 상기 암호화 포맷 변환 모듈은 상기 제 2 암호화 포맷을 상기 제 1 암호화 포맷으로 변환하는 기능을 더 구비하는 것을 특징으로 하는 디지털 파일 처리 장치.
  15. 제 14 항에 있어서, 상기 암호화 포맷 변환 모듈은 암호화 파일이 사용될 때 실시간으로 암호화 포맷 변환을 수행하는 것을 특징으로 하는 디지털 파일 처리 장치.
  16. 제 10 항에 있어서, 암호화 정보를 가진 스트림에 대하여 허용된 어플리케이션에게만 접근을 허용하고, 허용되지 않은 어플리케이션에 대해서는 접근을 차단하는 필터 모듈을 더 포함하는 것을 특징으로 하는 디지털 파일 처리 장치.
  17. 제 1 암호화 포맷으로 암호화된 파일을 제 2 암호화 포맷으로 변환하는 제 1 모듈; 및
    상기 제 2 암호화 포맷으로 암호화된 파일을 상기 제 1 암호화 포맷으로 변환하는 제 2 모듈을 포함하며,
    상기 제 1 암호화 포맷은 암호화 파일의 암호화 정보를 스트림에 저장하는 형태의 암호화 포맷이며, 상기 제 2 암호화 포맷은 암호화 파일의 암호화 정보를 상기 암호화 파일의 헤더 또는 풋터로 삽입하는 형태의 암호화 포맷인 것을 특징으로 하는 암호화 포맷 변환 장치.
KR1020070126690A 2007-11-22 2007-12-07 디지털 파일 암호화 방법, 디지털 파일 복호화 방법,디지털 파일 처리 장치 및 암호화 포맷 변환 장치 KR100960260B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010534880A JP2011504631A (ja) 2007-11-22 2008-11-13 デジタルファイル暗号化方法、デジタルファイル復号化方法、デジタルファイル処理装置、及び暗号化フォーマット切り替え装置
CN2008801218162A CN101932995A (zh) 2007-11-22 2008-11-13 数字文件的加密方法、数字文件的解密方法、数字文件的处理装置以及加密格式的转换装置
US12/743,641 US20110010559A1 (en) 2007-11-22 2008-11-13 Method for encrypting digital file, method for decrypting digital file, apparatus for processing digital file and apparatus for converting encryption format
PCT/KR2008/006687 WO2009066901A2 (en) 2007-11-22 2008-11-13 Method for encrypting digital file, method for decrypting digital file, apparatus for processing digital file and apparatus for converting encryption format

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070119945 2007-11-22
KR20070119945 2007-11-22

Publications (2)

Publication Number Publication Date
KR20090053655A true KR20090053655A (ko) 2009-05-27
KR100960260B1 KR100960260B1 (ko) 2010-06-01

Family

ID=40861136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070126690A KR100960260B1 (ko) 2007-11-22 2007-12-07 디지털 파일 암호화 방법, 디지털 파일 복호화 방법,디지털 파일 처리 장치 및 암호화 포맷 변환 장치

Country Status (4)

Country Link
US (1) US20110010559A1 (ko)
JP (1) JP2011504631A (ko)
KR (1) KR100960260B1 (ko)
CN (1) CN101932995A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140258720A1 (en) * 2013-03-11 2014-09-11 Barracuda Networks, Inc. Systems and methods for transparent per-file encryption and decryption via metadata identification
CN108234111B (zh) * 2017-12-29 2021-03-23 Tcl华星光电技术有限公司 数据处理方法
US11343252B2 (en) * 2019-11-11 2022-05-24 Vmware, Inc. Kernel level application data protection

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249866B1 (en) * 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7161887B2 (en) * 2001-11-13 2007-01-09 Digeo, Inc. Method and apparatus for extracting digital data from a medium
JP2004350042A (ja) * 2003-05-22 2004-12-09 Canon Inc 記録装置および記録方法、再生装置および再生方法、並びに記憶媒体
EP1499061A1 (en) * 2003-07-17 2005-01-19 Deutsche Thomson-Brandt Gmbh Individual video encryption system and method
JP2005100412A (ja) * 2003-09-25 2005-04-14 Ricoh Co Ltd 暗号機能を内蔵したマルチメディア出力デバイス
JP2005122402A (ja) * 2003-10-15 2005-05-12 Systemneeds Inc Icカードシステム

Also Published As

Publication number Publication date
KR100960260B1 (ko) 2010-06-01
US20110010559A1 (en) 2011-01-13
CN101932995A (zh) 2010-12-29
JP2011504631A (ja) 2011-02-10

Similar Documents

Publication Publication Date Title
US8549278B2 (en) Rights management services-based file encryption system and method
CA2623137C (en) Cryptographic control for mobile storage means
JP4593549B2 (ja) ファイル自動復号暗号化システムおよびプログラム
US7778417B2 (en) System and method for managing encrypted content using logical partitions
JP2006114029A (ja) データストレージに対する方法と装置
US20130125196A1 (en) Method and apparatus for combining encryption and steganography in a file control system
EP2528004A1 (en) Secure removable media and method for managing the same
JP2006155155A (ja) 情報漏洩防止装置、方法およびそのプログラム
US8750519B2 (en) Data protection system, data protection method, and memory card
WO2012037247A1 (en) Secure transfer and tracking of data using removable non-volatile memory devices
US20080235521A1 (en) Method and encryption tool for securing electronic data storage devices
WO2006075889A1 (en) Method and portable storage device for allocating secure area in insecure area
US9098713B2 (en) Clipboard protection system in DRM environment and recording medium in which program for executing method in computer is recorded
US20100205460A1 (en) Encryption method for digital data memory card and assembly for performing the same
JP2008234544A (ja) ファイル暗号化・復号化システム、ファイル暗号化・復号化方法、及びファイル暗号化・復号化プログラム
KR100960260B1 (ko) 디지털 파일 암호화 방법, 디지털 파일 복호화 방법,디지털 파일 처리 장치 및 암호화 포맷 변환 장치
CN101296226B (zh) 共享总线密钥的方法及其设备
JP4471129B2 (ja) 文書管理システム及び文書管理方法、文書管理サーバ、作業端末、並びにプログラム
KR20040048952A (ko) 사용자 데이터를 판독 또는 기록하는 장치 및 방법
KR100695665B1 (ko) 엔티티 잠금 보안 레지스트리를 사용하여 자료에 액세스하는 장치 및 방법
US20070156590A1 (en) Method and apparatus for re-importing content
JP5175494B2 (ja) 暗号化コンテンツ編集方法およびコンテンツ管理装置
KR20090024371A (ko) 파일시스템 보호 기반의 지능형 디알엠 에이전트
US7886147B2 (en) Method, apparatus and computer readable medium for secure conversion of confidential files
WO2009066901A2 (en) Method for encrypting digital file, method for decrypting digital file, apparatus for processing digital file and apparatus for converting encryption format

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: 20130520

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140520

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150520

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160513

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170518

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180503

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190516

Year of fee payment: 10