KR101414186B1 - 실시간 데이터 유출 방지 방법 - Google Patents

실시간 데이터 유출 방지 방법 Download PDF

Info

Publication number
KR101414186B1
KR101414186B1 KR1020140035913A KR20140035913A KR101414186B1 KR 101414186 B1 KR101414186 B1 KR 101414186B1 KR 1020140035913 A KR1020140035913 A KR 1020140035913A KR 20140035913 A KR20140035913 A KR 20140035913A KR 101414186 B1 KR101414186 B1 KR 101414186B1
Authority
KR
South Korea
Prior art keywords
file
user terminal
real
encryption
file header
Prior art date
Application number
KR1020140035913A
Other languages
English (en)
Inventor
김규호
이중진
이중광
Original Assignee
주식회사 삼문시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 삼문시스템 filed Critical 주식회사 삼문시스템
Priority to KR1020140035913A priority Critical patent/KR101414186B1/ko
Application granted granted Critical
Publication of KR101414186B1 publication Critical patent/KR101414186B1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • 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/602Providing cryptographic facilities or services
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • 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/2107File encryption

Landscapes

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

Abstract

실시간 데이터 유출 방지 방법이 제공되며, 사용자 단말에 저장 및 편집되는 모든 파일을 실시간으로 모니터링하는 단계, 사용자 단말의 모든 파일에 대하여 초기화 벡터를 포함한 파일 헤더를 추가하고, 초기화 벡터에 오프셋(Offset)을 더한 값을 CTR 모드(CounTeR mode)를 이용하여 암호화하는 단계, 사용자 단말에서 사용자 인터페이스를 통한 호출로 리딩(Reading)되는 모든 파일을 실시간으로 모니터링하는 단계, 리딩되는 파일에 대하여 추가된 파일 헤더, 오프셋 및 CTR 모드를 이용하여 복호화하는 단계를 포함할 수 있다.

Description

실시간 데이터 유출 방지 방법{METHOD FOR REAL-TIME PREVENTING LEAK DATA}
본 발명은 실시간 데이터 유출 방지 방법에 관한 것이다.
최근, 개인정보유출 및 데이터 유출로 인하여 보안의 중요성이 급증하고 있으며, 개인의 자료나 기업의 자료가 유출되는 경우 개인의 자료에 대한 지적재산권의 침해 및 기술 유출로 이어지므로, 이동 단말 및 고정 단말에 대한 데이터 보안에 대한 연구가 활발해지는 추세이다.
이때, 데이터를 보안하는 방법은 특정 블록을 지정하여 암호화하는 DLP 방식으로 이루어지고 있다. 이와 관련하여, 선행기술인 한국공개특허 제2010-0040074 호(2010.04.19 공개)에는, 데이터 공유 정책을 통하여 보안상의 중요 정보가 포함되었는지의 여부를 파악하고, 확인 결과에 따라 데이터의 전송을 제어하는 방법이 개시되어 있다.
다만, DLP를 이용하여 파일을 암호화 및 복호화하는 보안을 수행하는 경우, 특정 블록이나 특정 영역만을 암호화 및 복호화할 수 있으므로, 그 공간에 제약이 발생할 수 있다. 또한, DRM을 이용하여 파일에 대한 보안을 수행하는 경우, 특정 어플리케이션이나 프로그램을 이용하는 파일에 대해서만 보안이 유지되므로, 보안이 어플리케이션이나 프로그램에 종속되게 된다.
본 발명의 일 실시예는, 실시간으로 생성, 편집, 이동되는 파일을 모니터링하고, 해당 파일이 암호화가 필요한 패턴을 보유한 경우, 파일이 실행되는 어플리케이션이나 저장되는 영역에 관계없이 파일 헤더를 이용하여 파일을 암호화할 수 있는 실시간 데이터 유출 방지 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 사용자 단말에 저장 및 편집되는 모든 파일을 실시간으로 모니터링하는 단계, 사용자 단말의 모든 파일에 대하여 초기화 벡터를 포함한 파일 헤더를 추가하고, 초기화 벡터에 오프셋(Offset)을 더한 값을 CTR 모드(CounTeR mode)를 이용하여 암호화하는 단계, 사용자 단말에서 사용자 인터페이스를 통한 호출로 리딩(Reading)되는 모든 파일을 실시간으로 모니터링하는 단계, 리딩되는 파일에 대하여 추가된 파일 헤더, 오프셋 및 CTR 모드를 이용하여 복호화하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단에 의하면, 사용자 단말에서 생성, 편집, 이동되는 모든 파일에 대하여 실시간 모니터링이 가능하며, 생성, 편집, 이동되는 위치나 생성 및 편집하는 어플리케이션에 종속되지 않고 보안을 실행할 수 있으므로, 사용자의 편의성을 증대시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 장치를 설명하기 위한 구성도이다.
도 3은 도 2의 실시간 데이터 유출 방지 장치에서 암호화 및 복호화하는 일 실시예를 설명하기 위한 구성도이다.
도 4는 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 시스템을 설명하기 위한 구성도이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 시스템(1)은, 사용자 단말(100), 실시간 데이터 유출 방지 서버(300), 실시간 데이터 유출 방지 장치(400)를 포함할 수 있다. 다만, 이러한 도 1의 실시간 데이터 유출 방지 시스템(1)은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 네트워크(200)를 통하여 사용자 단말(100)과 실시간 데이터 유출 방지 서버(300)가 연결될 수 있다.
여기서, 네트워크(200)는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(200)의 일 예는, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE, Wi-Fi 등이 포함되나 이에 한정되지는 않는다. 도 1에 도시된 사용자 단말(100), 실시간 데이터 유출 방지 서버(300), 실시간 데이터 유출 방지 장치(400)는 도 1에 도시된 것들로 한정 해석되는 것은 아니다. 그리고, 실시간 데이터 유출 방지 장치(400)는 사용자 단말(100)에 구비되는 장치로서, 사용자 단말(100)의 하드웨어 및 소프트웨어를 이용할 수 있으므로, 실시간 데이터 유출 방지 장치(400)는 사용자 단말(100)과 별도로 구비되어야 하는 것은 아니고, 동일한 장치에 두 가지의 도면 부호(100, 400)가 도시되었다고 하더라도 동일한 것을 지칭하는 것은 아니다.
사용자 단말(100)은, 실시간 데이터 유출 장치(400)가 구비되거나 설치되고, 실시간 데이터 유출 장치(400)가 구동하는 단말일 수 있다. 그리고, 사용자 단말(100)은, 적어도 하나의 어플리케이션을 이용하여 파일을 생성 및 편집하는 단말일 수 있다. 또한, 사용자 단말(100)은, 적어도 하나의 디스크를 구비하고, 적어도 하나의 디스크에는 복수의 파일이 저장된 단말일 수 있다. 이때, 사용자 단말(100)은, 네트워크(200)를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 또한, 사용자 단말(100)은, 네트워크(200)를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 그리고, 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
실시간 데이터 유출 방지 서버(300)는, 사용자 단말(100)로부터 실시간 데이터 유출 방지 장치(400)의 사용자 인터페이스를 통하여 암호화 정책을 설정하거나 변경하는 요청 이벤트를 수신하는 경우, 설정 및 변경 요청 이벤트에 대응하여 실시간 데이터 유출 방지 장치(400)가 구동되도록, 제어 신호를 전송할 수 있다. 이때, 실시간 데이터 유출 방지 서버(300)는, 네트워크(200)를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
실시간 데이터 유출 방지 장치(400)는 사용자 단말(100)에 설치된 에이전트로서, 사용자 단말(100)의 운영 체제 및 프로세서에 의해 구동되는 장치일 수 있다. 이때, 실시간 데이터 유출 방지 장치(400)는, 특정 어플리케이션에 종속되지 않고, 특정 블록이나 공간만을 암호화하는 것이 아니라, 실시간으로 생성, 편집 및 저장되는 모든 파일에 대하여, 또한 해당 파일이 어디에 저장되든지 간에 상관없이 실시간으로 암호화 및 복호화를 수행할 수 있다. 그리고, 실시간 데이터 유출 방지 장치(400)는 사용자 단말(100)에 저장된 파일이 외부로 유출되는 것을 방지하기 위하여 윈도우(Windows)의 기본 파일 페이징(Paging) 저장 기법을 이용하여, 상호 운영성, 사용자의 편리성을 증가시킬 뿐만 아니라, 기존의 파일 암호화 저장 기법보다 높은 성능을 낼 수 있어 성능의 향상을 가져올 수 있고, 관리 비용을 줄일 수 있다. 또한, 실시간 데이터 유출 방지 장치(400)는, 사용자 단말(100)의 파일을 저장 및 복사 등의 작업을 할 때, 실시간으로 파일에 대한 아이콘에 암호화 표식을 생성할 수 있고, 사용자 단말(100)의 파일에 대한 실시간 모니터링이 가능한 장치일 수 있다.
도 2는 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 장치를 설명하기 위한 구성도이고, 도 3은 도 2의 실시간 데이터 유출 방지 장치에서 암호화 및 복호화하는 일 실시예를 설명하기 위한 구성도이다. 도 2를 참조하면, 실시간 데이터 유출 방지 장치(400)는, 모니터링부(410), 암호화부(430) 및 복호화부(450)를 포함할 수 있다.
본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 장치(400) 또는 실시간 데이터 유출 방지 서버(300)와 연동되어 동작하는 다른 서버(미도시)가 출입 통제 연동 단말 접근 서비스 애플리케이션, 프로그램, 웹 페이지 등을 사용자 단말(100)로 전송하면, 사용자 단말(100)은 해당 서비스에 대한 애플리케이션, 프로그램, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 사용자 단말(100)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.
이때, 네트워크(200) 연결은 사용자 단말(100)과 실시간 데이터 유출 방지 서버(300)가 네트워크(200)로 연결되어 있는 단말과 통신을 위해 통신 접점에 통신 객체를 생성하는 것을 의미한다. 여기서, 실시간 데이터 유출 방지 서버(300)는 통신 객체를 통해 서로 데이터를 교환할 수 있다.
도 2의 (a)를 참조하면, 사용자 단말(100)의 사용자가 어플리케이션을 통하여 파일을 생성, 편집, 저장하면서 닫기 또는 읽어들이는 동작 등을 수행할 때, 사용자 단말(100)의 운영 체제의 필터 매니저(Filter Manager)를 통하여 실시간 데이터 유출 방지 장치(400)가 구동되게 된다. 이때, 실시간 데이터 유출 방지 장치(400)는, 파일을 실시간으로 모니터링하고 암호화 및 복호화를 수행할 수 있다.
이를 위하여, (b)를 참조하면, 모니터링부(410)는 사용자 단말(100)에 저장 및 편집되는 모든 파일을 실시간으로 모니터링할 수 있다. 그리고, 모니터링부(410)는 사용자 단말(100)에서 사용자 인터페이스를 통한 호출로 리딩(Reading)되는 모든 파일을 실시간으로 모니터링할 수 있다.
암호화부(430)는, 사용자 단말(100)의 모든 파일에 대하여 초기화 벡터를 포함한 파일 헤더를 추가하고, 초기화 벡터에 오프셋(Offset)을 더한 값을 CTR 모드(CounTeR mode)를 이용하여 암호화할 수 있다. 여기서, 초기화 벡터는, 논스(Nonce)일 수 있다.
복호화부(450)는, 리딩되는 파일에 대하여 추가된 파일 헤더, 오프셋 및 CTR 모드를 이용하여 복호화할 수 있다. 이때, 암호화 또는 복호화는, 사용자 단말(100)에서 구동되는 적어도 하나의 어플리케이션에 의한 파일 및 사용자 단말(100)의 적어도 하나의 디스크에 실시간으로 적용될 수 있다.
이때, 도 3a의 (a)를 참조하면, 암호화는 초기화 벡터 및 오프셋 값을 CTR 모드를 이용하여 평문 블록과 조합함으로써 실행되고, (b)를 참조하면, 복호화는 초기화 벡터 및 오프셋 값을 CTR 모드를 이용하여 암호화 블록과 조합함으로써 실행될 수 있다. 이때, 평문 블록은 암호화가 진행되지 않은 블록이고, 암호화를 위한 알고리즘은, 블록 암호화 알고리즘일 수 있다. 여기서, 블록 암호화 알고리즘은 ARIA(Academy Research Institute Agency) 알고리즘일 수 있다. 여기서, (c)를 참조하면, 파일 헤더는, 파일이 생성되거나 최초 암호화되는 시점에 추가되고, 파일 헤더는, 암호화 및 복호화에 필요한 초기화 벡터를 포함한 암호화 알고리즘 정보 및 암호화 헤더 구분 기호를 포함한 암호화 필요 정보와, 파일의 로그 이력 및 추적 관리를 위한 고유 정보를 포함할 수 있다.
도 3b의 (a)를 참조하면, 암호화부(430)는, 사용자 단말(100)에서 파일을 생성하는 경우, 즉 사용자 단말(100)에서 CreatFile 함수가 호출되어 파일을 생성하고, CloseFile 함수가 호출되어 파일의 실행을 종료하는 종료 이벤트가 발생하는 경우, 생성된 파일의 패턴을 확인하고, 확인 결과 암호화하도록 기 설정된 패턴인 경우, 생성된 파일에 파일 헤더를 추가하고, 파일 헤더의 크기만큼의 영역을 사용자 단말(100)에 재할당하고, 생성된 파일의 크기에 파일 헤더의 크기를 추가하여 증가시키고, CTR 모드를 이용하여 암호화할 수 있다.
(b)를 참조하면, 암호화부(430)는, 암호화되지 않은 파일이 사용자 단말(100)에서 수정되는 경우, 수정된 파일에 파일 헤더를 추가하고, 파일 헤더의 크기만큼의 영역을 사용자 단말(100)에 재할당하고, 사용자 단말(100)에서 WriteFile 함수가 호출되고, WriteFile 함수로 수정된 파일에 데이터가 기록되는 경우, 파일 헤더의 크기 및 오프셋 값을 합한 위치부터 CTR 모드를 이용하여 암호화할 수 있다.
(c)를 참조하면, 암호화부(430)기 암호화된 파일이 사용자 단말(100)에서 수정되는 경우, 생성된 파일의 파일 헤더를 로딩하고, 사용자 단말(100)에서 WriteFile 함수가 호출되고, WriteFile 함수로 생성된 파일에 데이터가 기록되는 경우, 파일 헤더의 크기 및 오프셋 값을 합한 위치부터 CTR 모드를 이용하여 암호화할 수 있다.
(d)를 참조하면, 복호화부(450)는, 암호화된 파일을 사용자 단말(100)에서 읽어들이는 경우, 즉 사용자 단말(100)에서 ReadFile 함수가 호출되는 경우, ReadFile 함수를 이용하여 리딩되는 파일을 로딩(Loading)하고, 파일 헤더의 크기와 오프셋 값을 합한 위치부터 CTR 모드를 이용하여 복호화할 수 있다. 그리고, 복호화부(450)는, 복호화된 결과를 파일 읽기 작업을 요청한 프로그램, 어플리케이션 등에 반환할 수 있다.
도 3c를 참조하면, (a)의 DRM이나 DLP는 특정 어플리케이션이나 특정 공간만을 보안할 수 있지만, (b) 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 장치(400)는, 모든 원천 자료가 생성되는 순간 로컬 하드 디스크의 실시간 암호화로 자료 유출을 완전히 차단할 수 있다.
도 3d를 참조하면, 사용자 단말(100)에서 예를 들어, (a) 한글 프로그램을 실행하고, (b) 문서를 저장하고 저장을 클릭하여, (c) 경로를 저장하고 저장한 경우, (d) 확장자의 변화없이 색상을 가지는 박스 형상의 아이콘이 생성될 수 있다. 이렇게 암호화된 파일은 실시간 데이터 유출 방지 장치(400)가 구비된 사용자 단말(100)에서는 복호화 절차 없이 파일이 열릴 수 있으나, 실시간 데이터 유출 방지 장치(400)가 구비되지 않은 사용자 단말(100)에서는 암호화된 파일을 열 수 없다. 이에 따라, 실시간 데이터 유출 방지 장치(400)가 구비되지 않은 사용자 단말(100)에서 파일을 열고자 하는 경우에는, 반출(복호화)을 실시해야 한다. 이때, 파일에 대한 원본 로그는 실시간 데이터 유출 방지 서버(300)로 전송되어 저장될 수 있다. 또한, 이동 저장 장치에서 하드 디스크로 파일을 복사, 편집 및 저장할 때에도 자동으로 암호화될 수 있다. 즉, 사용자 단말(100)의 하드 디스크와 이동 저장 장치 모두 실시간 데이터 유출 방지 장치(400)에 의해 암호화 및 복호화될 수 있다.
도 3e를 참조하면, (a)와 같이 바탕화면의 실행 파일을 폴더로 드래그 앤 드롭(Drag & Drop)하거나, 잘라내기(Cut), 복사(Copy)를 하는 경우에도, 실시간 데이터 유출 방지 장치(400)는 파일이 어떠한 경로로 편집, 생성, 이동되는지에 관계없이 암호화할 수 있다. 이에 따라, (b)와 같이 색상을 가지는 박스 형상의 아이콘이 생성될 수 있다.
이와 같은 도 2 및 도 3의 실시간 데이터 유출 방지 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 실시간 데이터 유출 방지 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 4는 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 방법을 설명하기 위한 동작 흐름도이다. 도 4를 참조하면, 실시간 데이터 유출 방지 장치는, 사용자 단말에 저장 및 편집되는 모든 파일을 실시간으로 모니터링한다(S4100).
그리고 나서, 실시간 데이터 유출 방지 장치는, 사용자 단말의 모든 파일에 대하여 초기화 벡터를 포함한 파일 헤더를 추가하고, 초기화 벡터에 오프셋(Offset)을 더한 값을 CTR 모드(CounTeR mode)를 이용하여 암호화한다(S4200).
또한, 실시간 데이터 유출 방지 장치는, 사용자 단말에서 사용자 인터페이스를 통한 호출로 리딩(Reading)되는 모든 파일을 실시간으로 모니터링하며(S4300), 리딩되는 파일에 대하여 추가된 파일 헤더, 오프셋 및 CTR 모드를 이용하여 복호화한다(S4400).
상술한 단계들(S4100~S4400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S4100~S4400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 4의 실시간 데이터 유출 방지 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 3을 통해 실시간 데이터 유출 방지 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 4를 통해 설명된 일 실시예에 따른 실시간 데이터 유출 방지 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 실시간 데이터 유출 방지 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (7)

  1. 실시간 데이터 유출 방지 장치가 실행하는 실시간 데이터 유출 방지 방법에 있어서,
    사용자 단말에 저장 및 편집되는 모든 파일을 실시간으로 모니터링하는 단계;
    상기 사용자 단말의 모든 파일에 대하여 초기화 벡터를 포함한 파일 헤더를 추가하고, 상기 초기화 벡터에 오프셋(Offset)을 더한 값을 CTR 모드(CounTeR mode)를 이용하여 암호화하는 단계;
    상기 사용자 단말에서 사용자 인터페이스를 통한 호출로 리딩(Reading)되는 모든 파일을 실시간으로 모니터링하는 단계;
    상기 리딩되는 파일에 대하여 상기 추가된 파일 헤더, 오프셋 및 CTR 모드를 이용하여 복호화하는 단계;
    를 포함하고,
    상기 파일 헤더는, 상기 파일이 생성되거나 최초 암호화되는 시점에 추가되고,
    상기 파일 헤더는, 암호화 및 복호화에 필요한 초기화 벡터를 포함한 암호화 알고리즘 정보 및 암호화 헤더 구분 기호를 포함한 암호화 필요 정보와, 상기 파일의 로그 이력 및 추적 관리를 위한 고유 정보를 포함하는 것인, 실시간 데이터 유출 방지 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 사용자 단말의 모든 파일에 대하여 초기화 벡터를 포함한 파일 헤더를 추가하고, 상기 초기화 벡터에 오프셋(Offset)을 더한 값을 CTR 모드(CounTeR mode)를 이용하여 암호화하는 단계는,
    상기 사용자 단말에서 CreatFile 함수가 호출되어 파일을 생성하고, CloseFile 함수가 호출되어 파일의 실행을 종료하는 종료 이벤트가 발생하는 경우, 상기 생성된 파일의 패턴을 확인하고,
    상기 확인 결과 암호화하도록 기 설정된 패턴인 경우, 상기 생성된 파일에 파일 헤더를 추가하고,
    상기 파일 헤더의 크기만큼의 영역을 상기 사용자 단말에 재할당하고,
    상기 생성된 파일의 크기에 상기 파일 헤더의 크기를 추가하여 증가시키고,
    상기 CTR 모드를 이용하여 암호화하는 것을 수행하는 것에 의해 실행되는 것인, 실시간 데이터 유출 방지 방법.
  4. 제 1 항에 있어서,
    상기 암호화된 파일이 상기 사용자 단말에서 수정되는 경우, 생성된 파일의 파일 헤더를 로딩하는 단계;
    상기 사용자 단말에서 WriteFile 함수가 호출되고, 상기 WriteFile 함수로 상기 생성된 파일에 데이터가 기록되는 경우, 상기 파일 헤더의 크기 및 오프셋 값을 합한 위치부터 CTR 모드를 이용하여 암호화하는 단계
    를 더 포함하는 것인, 실시간 데이터 유출 방지 방법.
  5. 제 1 항에 있어서,
    상기 리딩되는 파일에 대하여 상기 추가된 파일 헤더, 오프셋 및 CTR 모드를 이용하여 복호화하는 단계는,
    상기 사용자 단말에서 ReadFile 함수가 호출되는 경우, 상기 ReadFile 함수를 이용하여 상기 리딩되는 파일을 로딩(Loading)하고,
    상기 파일 헤더의 크기와 오프셋 값을 합한 위치부터 CTR 모드를 이용하여 복호화하는 것을 수행하는 것에 의해 실행되는 것인, 실시간 데이터 유출 방지 방법.
  6. 제 1 항에 있어서,
    상기 암호화는 초기화 벡터 및 오프셋 값을 CTR 모드를 이용하여 평문 블록과 조합함으로써 실행되고,
    상기 복호화는 초기화 벡터 및 오프셋 값을 CTR 모드를 이용하여 암호화 블록과 조합함으로써 실행되고,
    상기 평문 블록은 상기 암호화가 진행되지 않은 블록이고,
    상기 암호화를 위한 알고리즘은, 블록 암호화 알고리즘인 것인, 실시간 데이터 유출 방지 방법.
  7. 제 1 항에 있어서,
    상기 암호화 또는 복호화는, 상기 사용자 단말에서 구동되는 적어도 하나의 어플리케이션에 의한 파일 및 상기 사용자 단말의 적어도 하나의 디스크에 실시간으로 적용되는 것인, 실시간 데이터 유출 방지 방법.
KR1020140035913A 2014-03-27 2014-03-27 실시간 데이터 유출 방지 방법 KR101414186B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140035913A KR101414186B1 (ko) 2014-03-27 2014-03-27 실시간 데이터 유출 방지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140035913A KR101414186B1 (ko) 2014-03-27 2014-03-27 실시간 데이터 유출 방지 방법

Publications (1)

Publication Number Publication Date
KR101414186B1 true KR101414186B1 (ko) 2014-07-01

Family

ID=51740909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140035913A KR101414186B1 (ko) 2014-03-27 2014-03-27 실시간 데이터 유출 방지 방법

Country Status (1)

Country Link
KR (1) KR101414186B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190101118A (ko) * 2018-02-22 2019-08-30 주식회사 알파비트 문서객체모델 레벨의 키 입력 암호화 장치 및 방법
KR102531876B1 (ko) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템
WO2024090760A1 (ko) * 2022-10-25 2024-05-02 주식회사 쿼드마이너 저전력 암호화 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020044631A (ko) * 2000-12-06 2002-06-19 오길록 하드디스크 실시간 보안 시스템 및 보안 방법
KR20030083327A (ko) * 2002-04-20 2003-10-30 엘지전자 주식회사 암호화 방법
KR20070061222A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법
KR100783811B1 (ko) 2007-08-28 2007-12-10 주식회사 파수닷컴 압축 파일에 대한 디지털 저작권 관리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020044631A (ko) * 2000-12-06 2002-06-19 오길록 하드디스크 실시간 보안 시스템 및 보안 방법
KR20030083327A (ko) * 2002-04-20 2003-10-30 엘지전자 주식회사 암호화 방법
KR20070061222A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 파일시스템을 이용한 암호화 파일의 실시간 복호화 방법
KR100783811B1 (ko) 2007-08-28 2007-12-10 주식회사 파수닷컴 압축 파일에 대한 디지털 저작권 관리 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190101118A (ko) * 2018-02-22 2019-08-30 주식회사 알파비트 문서객체모델 레벨의 키 입력 암호화 장치 및 방법
KR102109864B1 (ko) * 2018-02-22 2020-05-12 주식회사 알파비트 문서객체모델 레벨의 키 입력 암호화 장치 및 방법
KR102531876B1 (ko) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템
WO2024090760A1 (ko) * 2022-10-25 2024-05-02 주식회사 쿼드마이너 저전력 암호화 방법 및 시스템

Similar Documents

Publication Publication Date Title
US11563735B2 (en) Protecting information using policies and encryption
US10545884B1 (en) Access files
US20220376910A1 (en) Encrypted file storage
US9165139B2 (en) System and method for creating secure applications
US9246885B2 (en) System, method, apparatus and computer programs for securely using public services for private or enterprise purposes
US20130125196A1 (en) Method and apparatus for combining encryption and steganography in a file control system
KR101436536B1 (ko) 파일 서버 및 그것을 이용한 프로그램 파일의 전송 방법, 그리고 프로그램 파일 변조 방지 시스템
CN108351922B (zh) 对受保护的文件应用权利管理策略的方法、系统以及介质
US20140281499A1 (en) Method and system for enabling communications between unrelated applications
KR101414186B1 (ko) 실시간 데이터 유출 방지 방법
KR101385688B1 (ko) 파일 관리 장치 및 방법
AU2020102924A4 (en) A Hybrid Online Survey System for Supporting Offline Operations and Secure Data Transmission
US11374912B2 (en) Methods and systems for performing exchange of data with third-party applications
KR102147315B1 (ko) 문서 열람 방법 및 이에 적용되는 장치
KR101583009B1 (ko) Sns 상에서의 파일 완전 삭제 방법 및 이를 위한 시스템
JP6053182B2 (ja) トレースシステム及びトレース方法
JP2006139475A (ja) 既存アプリケーションの機密情報保護システム
Xu et al. Context-Related Access Control for Mobile Caching
KR20140093401A (ko) 컴퓨터 네트워크상의 보안 방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20170623

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 6