KR102542213B1 - 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법 - Google Patents

네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법 Download PDF

Info

Publication number
KR102542213B1
KR102542213B1 KR1020220150619A KR20220150619A KR102542213B1 KR 102542213 B1 KR102542213 B1 KR 102542213B1 KR 1020220150619 A KR1020220150619 A KR 1020220150619A KR 20220150619 A KR20220150619 A KR 20220150619A KR 102542213 B1 KR102542213 B1 KR 102542213B1
Authority
KR
South Korea
Prior art keywords
data
encryption
decryption
location
network
Prior art date
Application number
KR1020220150619A
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 KR1020220150619A priority Critical patent/KR102542213B1/ko
Priority to US18/061,117 priority patent/US20240163264A1/en
Application granted granted Critical
Publication of KR102542213B1 publication Critical patent/KR102542213B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/604Tools and structures for managing or administering access control systems
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Automation & Control Theory (AREA)

Abstract

네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법이 개시된다. 데이터 실시간 암복호화 보안 시스템은, 제1 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하는 파일 입출력 감시 모듈, 제1 데이터가 저장되어 있는 제1 위치가 암호화 디렉토리인지를 판단하고 제1 위치가 네트워크 기반 스토리지인지를 판단하고 암호화 디렉토리에 대한 접근 권한이 있는지를 판단하는 접근 통제 모듈, 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하고, 제1 데이터의 ADS 영역에 식별 데이터가 존재하는지 판단하는 암호화 여부 판단 모듈, 및 식별 데이터의 존재에 따라 제1 데이터를 암호화하거나 복호화 하는 암복호화 모듈을 포함한다.

Description

네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법{REAL-TIME ENCRYPTION/DECRYPTION SECURITY SYSTEM AND METHOD FOR DATA IN NETWORK BASED STORAGE}
본 발명은 데이터의 실시간 암복호화를 수행하는 보안 기술에 관한 것으로, 보다 상세하게는, 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법에 관한 것이다.
기존에는 로컬 서버 내에 있는 스토리지만 사용을 했다면, 최근에는 저장된 데이터를 임의의 장소에 저장하여 공유할 수 있는 별도의 네트워크 스토리지를 많이 사용하고 있다. 예를 들어, NAS(Network Attached Storage)라든지, 공유 디렉토리라든지, 이와 유사한 네트워크 저장 수단들이 사용되고 있다. 이러한 네트워크 기반 스토리지는 다양한 기술들이 활용되고 있는 시점에서 여러 사용자들이 데이터에 쉽게 접근할 수 있도록 지원하므로 데이터에 대한 보안의 필요성도 중요하다.
네트워크 기반 스토리지의 경우, 통상 다수의 일반 사용자들이 접근 가능하게 설치되므로, 데이터가 유출될 가능성이 높고, 악의적인 사용자가 물리적으로 탈취하거나 해킹을 통해 데이터를 취득할 때 발생할 수 있는 문제로 인하여 피해자가 발생하거나 기밀들이 유출될 수 있으므로, 네트워크 기반 스토리지의 데이터를 효과적으로 암호화하여 보관하는 방안이 절실히 필요하다.
네트워크 기반 스토리지의 데이터를 암호화하여 저장하면, 여러 일반 사용자들이 데이터에 접근하여도 평문 데이터를 쉽게 획득할 수 없다. 즉, 데이터에 접근하기 위해서는 반드시 암복호화 보안 시스템을 통해 접근하도록 설치할 수 있다. 하지만, 기존의 로컬 서버의 스토리지나 데이터베이스를 위한 API 방식, 플러그인 방식, 인플레이스 방식 또는 이들의 조합 형태의 암호화 솔루션을 네트워크 기반 스토리지의 데이터에 대한 실시간 암복호화 보안 시스템에 적용하기가 쉽지 않다.
또한, 네트워크 기반 스토리지의 데이터를 암호화하여 저장하면, 저장소가 물리적으로 탈취되는 경우에도 네트워크 기반 스토리지의 데이터가 암호화되어 있어 탈취자가 평문 데이터를 획득할 수 없도록 할 수 있으며, 비인가 대상이 시도하는 해킹 또는 비정상 접근으로부터 데이터에 대한 접근 제어 및 암호화된 데이터로 인하여 소중한 데이터를 보호할 수 있다. 이와 같이, 네트워크 기반 스토리지의 데이터를 보호하면서 다수의 일반 사용자들이 편리하게 사용할 수 있는 데이터 실시간 암복호화 보안 방안이 요구되고 있다.
공개특허공보 제10-2013-6780000호(2019.08.19)
본 발명은 종래 기술의 요구에 부응하기 위해 도출된 것으로, 본 발명의 목적은 여러 사용자들이 공유된 디렉토리에 접근 가능하고 주요 데이터들에도 권한에 따라 접근 가능하게 하면서 암복호화 보안 시스템을 통해 주요 데이터를 암호화하여 여러 사용자들로부터 데이터를 보호할 수 있는, 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 그 작동 방법을 제공하는데 있다.
본 발명의 다른 목적은 여러 사용자들이 데이터를 읽거나 쓸 수 있는 네트워크 기반 스토리지에서 암복호화 보안 시스템을 통해 데이터가 기록될 때 해당 데이터의 ADS(Alternate Data Stream)에 암호화 식별 데이터를 추가하여 암호문을 식별하여 처리할 수 있는, 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 그 작동 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 암복호화 보안 시스템을 통해 기록되지 않은 데이터에 대해 평문 데이터로 인식하고 암호화나 복호화 작업을 수행하지 않는, 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 그 작동 방법을 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따른 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템은, 제1 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하는 파일 입출력 감시 모듈; 상기 제1 데이터가 저장되어 있는 제1 위치가 암호화 디렉토리인지를 판단하고, 상기 제1 위치가 네트워크 기반 스토리지인지를 판단하고, 상기 암호화 디렉토리에 대한 접근 권한이 있는지를 판단하는 접근 통제 모듈; 상기 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하고, 상기 제1 데이터의 ADS(alternative data stream) 영역에 식별 데이터가 존재하는지 판단하는 암호화 여부 판단 모듈; 및 상기 식별 데이터의 존재에 따라 상기 제1 데이터를 암호화하거나 복호화 하는 암복호화 모듈을 포함한다.
상기 접근 통제 모듈은, 상기 제1 데이터가 저장되어 있는 제1 위치를 검출하여 기저장된 암호화 디렉토리 리스트와 비교하도록 구성될 수 있다.
상기 파일 입출력 감시 모듈은 외부의 응용 프로그램이 제2 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하는지 감시하도록 구성될 수 있다.
상기 접근 통제 모듈은 상기 제2 데이터의 파일 경로, 프로세스 및 사용자에 대한 식별 정보를 추출하도록 구성될 수 있다.
상기 접근 통제 모듈은 상기 식별 정보에 기초하여 상기 제2 데이터가 담긴 파일의 저장 위치인 제2 위치가 암호화 디렉토리에 있는지를 판단하고, 상기 접근 통제 모듈은 상기 제2 위치가 네트워크 기반 스토리지인지를 판단하도록 구성될 수 있다.
상기 암호화 여부 판단 모듈은 상기 제2 데이터의 ADS 영역에 접근하여 암호화 식별 데이터의 존재를 확인하도록 구성될 수 있다.
상기 암복호화 모듈은 상기 암호화 식별 데이터의 존재에 기초하여 상기 제2 데이터의 읽기 모드 또는 쓰기 모드에서 상기 제2 데이터의 암호화 또는 복호화를 수행하도록 구성될 수 있다.
상기 접근 통제 모듈은 정책 관리 모듈에 연결된 정책 데이터베이스와 연동하도록 구성될 수 있다. 여기서 상기 정책 관리 모듈은 상기 암호화 식별 데이터의 추가를 위한 알고리즘이나 정책을 상기 정책 데이터베이스에 저장하도록 구성될 수 있다.
상기 암복호화 모듈은 암복호화 키 관리 모듈에 연결되는 암복호화 키 데이터베이스와 연동하도록 구성될 수 있다. 여기서 상기 암복호화 키 관리 모듈은 키 관리 서버로부터 받은 암복호화 키를 상기 암복호화 키 데이터베이스에 저장하도록 구성될 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 측면에 따른 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 방법은, 프로세서에 의해 수행되는 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 방법으로서, 제1 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하는 단계; 상기 제1 데이터가 저장되어 있는 제1 위치가 암호화 디렉토리인지를 판단하는 단계; 상기 제1 위치가 네트워크 기반 스토리지인지를 판단하는 단계; 상기 암호화 디렉토리에 대한 접근 권한이 있는지를 판단하는 단계; 상기 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하는 단계; 상기 제1 데이터의 ADS(alternative data stream) 영역에 식별 데이터가 존재하는지 판단하는 단계; 및 상기 식별 데이터의 존재에 따라 상기 제1 데이터를 암호화하거나 복호화 하는 단계를 포함한다.
상기 제1 위치가 암호화 디렉토리인지를 판단하는 단계는, 상기 제1 데이터가 저장되어 있는 제1 위치를 검출하여 기저장된 암호화 디렉토리 리스트와 비교할 수 있다.
상기 식별 데이터는 암호화 여부를 나타내는 식별자, 또는 암호화 여부와 함께 암호화 유형이나 레벨을 나타내는 코드나 인덱스를 포함할 수 있다.
상기 데이터 실시간 암복호화 보안 방법은, 외부의 응용 프로그램이 제2 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하는지 감시하는 단계를 더 포함할 수 있다.
상기 데이터 실시간 암복호화 보안 방법은, 상기 제2 데이터의 파일 경로, 프로세스 및 사용자에 대한 식별 정보를 추출하는 단계를 더 포함할 수 있다.
상기 데이터 실시간 암복호화 보안 방법은, 상기 식별 정보에 기초하여 상기 제2 데이터가 담긴 파일의 저장 위치인 제2 위치가 암호화 디렉토리에 있는지를 판단하는 단계; 및 상기 제2 위치가 암호화 디렉토리인 경우, 상기 제2 위치가 네트워크 기반 스토리지인지를 판단하는 단계를 더 포함할 수 있다.
상기 데이터 실시간 암복호화 보안 방법은, 상기 제2 위치가 네트워크 기반 스토리지인 경우, 상기 제2 데이터의 ADS 영역에 접근하여 암호화 식별 데이터의 존재를 확인하는 단계를 더 포함할 수 있다.
상기 데이터 실시간 암복호화 보안 방법은, 상기 암호화 식별 데이터의 존재에 기초하여 상기 제2 데이터의 읽기 모드 또는 쓰기 모드에서 상기 제2 데이터의 암호화 또는 복호화를 수행하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 측면에 따른 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템은, 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 방법을 위한 적어도 하나의 프로그램 명령이 저장되는 메모리; 및 상기 메모리에 연결되어 상기 적어도 하나의 프로그램 명령을 수행하는 프로세서를 포함한다. 여기서, 상기 프로세서가 실행될 때, 상기 적어도 하나의 프로그램 명령에 의해, 상기 프로세서가: 제1 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하는 단계; 상기 제1 데이터가 저장되어 있는 제1 위치가 암호화 디렉토리인지를 판단하는 단계; 상기 제1 위치가 네트워크 기반 스토리지인지를 판단하는 단계; 상기 암호화 디렉토리에 대한 접근 권한이 있는지를 판단하는 단계; 상기 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하는 단계; 상기 제1 데이터의 ADS(alternative data stream) 영역에 식별 데이터가 존재하는지 판단하는 단계; 및 상기 식별 데이터의 존재에 따라 상기 제1 데이터를 암호화하거나 복호화 하는 단계를 수행하도록 구성될 수 있다.
상기 데이터 실시간 암복호화 보안 시스템은, 상기 프로세서가, 외부의 응용 프로그램이 제2 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하는지 감시하는 단계; 상기 제2 데이터의 파일 경로, 프로세스 및 사용자에 대한 식별 정보를 추출하는 단계; 상기 식별 정보에 기초하여 상기 제2 데이터가 담긴 파일의 저장 위치인 제2 위치가 암호화 디렉토리에 있는지를 판단하는 단계; 상기 제2 위치가 암호화 디렉토리인 경우, 상기 제2 위치가 네트워크 기반 스토리지인지를 판단하는 단계; 상기 제2 위치가 네트워크 기반 스토리지인 경우, 상기 제2 데이터의 ADS 영역에 접근하여 암호화 식별 데이터의 존재를 확인하는 단계; 및 상기 암호화 식별 데이터의 존재에 기초하여 상기 제2 데이터의 읽기 모드 또는 쓰기 모드에서 상기 제2 데이터의 암호화 또는 복호화를 수행하는 단계를 더 수행하도록 구성될 수 있다.
상기 데이터 실시간 암복호화 보안 시스템은, 상기 프로세서가, 상기 암호화 디렉토리에 대한 접근 권한이 있는지를 판단하는 단계를 더 수행하도록 구성될 수 있다.
본 발명에 의하면, 여러 사용자들이 데이터를 읽거나 쓸 수 있는 네트워크 기반 스토리지에서 암복호화 보안 시스템을 통해 데이터가 기록될 때 해당 데이터의 ADS(Alternate Data Stream)에 암호화 식별 데이터를 추가하여 암호문을 식별하여 처리함으로써, 암호화된 데이터에 여러 사용자가 접근하여도 암복호화 보안시스템을 통해 접근하지 않는 이상, 평문 데이터를 획득하지 못하도록 하여 데이터를 보호할 수 있고, 비인가된 사용자 또는 해커로부터 데이터가 물리적으로 탈취되거나 유출되어도 데이터 자체에 암호화에 관한 데이터가 전혀 없어 데이터를 안전하게 보호할 수 있다.
또한, 본 발명에 의하면, 암복호화 보안 시스템을 통해 기록되지 않은 데이터에 대해 평문 데이터로 인식하고 암호화나 복호화 작업을 수행하지 않도록 구성함으로써, 로컬 서버에서 동작하는 응용프로그램들이 권한에 따라 네트워크 기반 스토리지에 용이하게 접근할 수 있도록 하면서 데이터 처리 속도를 향상시킬 수 있다.
또한, 본 발명에 의하면, 암호화 대상 데이터의 쓰기에 접근 권한이 있는 경우, 암호화 대상 식별자를 생성하여 실시간으로 데이터를 암호화함으로써, 데이터 읽기 시에 해당 데이터가 암호화되어 있는지 여부를 신속하고 신뢰성 있게 판별하여 서비스를 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템(이하 간략히 '데이터 실시간 암복호화 보안 시스템' 또는 '보안 시스템'이라 한다)을 설명하기 위한 개념도이다.
도 2는 도 1의 보안 시스템에 채용할 수 있는 데이터 쓰기 절차를 설명하기 위한 흐름도이다.
도 3은 도 1의 보안 시스템에 채용할 수 있는 데이터 접근 절차를 설명하기 위한 흐름도이다.
도 4는 도 1의 보안 시스템에 채용할 수 있는 암복호화 키 관리 절차를 설명하기 위한 흐름도이다.
도 5는 도 1의 보안 시스템에 채용할 수 있는 ADS(Alternate Data Stream) 파일 포맷을 설명하기 위한 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 보안 시스템에 대한 개략적인 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. '및/또는'이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 출원의 실시 예들에서, 'A 및 B 중에서 적어도 하나'는 'A 또는 B 중에서 적어도 하나' 또는 'A 및 B 중 하나 이상의 조합들 중에서 적어도 하나'를 의미할 수 있다. 또한, 본 출원의 실시 예들에서, 'A 및 B 중에서 하나 이상'은 'A 또는 B 중에서 하나 이상' 또는 'A 및 B 중 하나 이상의 조합들 중에서 하나 이상'을 의미할 수 있다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어'있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '포함한다' 또는 '가진다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하의 상세한 설명은 단지 예시적인 목적으로 제공되는 것이며, 본 발명의 개념을 임의의 특정된 물리적 구성에 한정하는 것으로 해석되어서는 안 될 것이다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일실시예에 따른 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템(이하 간략히 '데이터 실시간 암복호화 보안 시스템' 또는 '보안 시스템'이라 한다)을 설명하기 위한 개념도이다.
도 1을 참조하면, 보안 시스템은 서비스(50)를 통해 키 관리 서버(70)와 연동하면서 파일 입출력 감시 모듈(31), 접근 통제 모듈(32), 암호화 여부 판단 모듈(33), 암복호화 모듈(34), 정책 관리 모듈(62), 정책 데이터베이스(63), 암복호화 키 관리 모듈(64) 및 암복호화 키 데이터베이스(65)를 통해 네트워크(network) 기반 스토리지(90)에 기록되거나 읽혀지는 데이터의 실시간 암복호화 보안 절차를 수행하도록 구성될 수 있다.
또한, 보안 시스템은 파일 시스템(35), 통신 모듈(36) 등을 더 구비할 수 있고, 적어도 하나의 프로세스를 가진 컴퓨팅 장치에 탑재될 수 있다. 파일 시스템(35)은 컴퓨팅 장치에서 파일이나 데이터를 발견하고 접근할 수 있도록 하는 보관 체제나 조직 체제를 지칭할 수 있다. 그리고 통신 모듈(36)은 SMB(server message block) 프로토콜 등의 파일 공유 기능을 지원하는 서브통신시스템을 포함할 수 있다.
구체적으로, 서비스(50)는 응용 프로그램(10)의 특정 데이터에 대한 접근에 응답하여 미리 설정된 작동 절차에 따라 키 관리 서버(70)에 접근 관리 정책과 암복호화 키를 요청하고, 키 관리 서버(70)로부터 암복호화 키와 접근 관리 정책에 대한 제1 알고리즘을 받고, 제1 알고리즘을 정책 관리 모듈(62)로 전달하고, 암복호화 키를 암복호화 키 관리 모듈(64)로 전달하도록 구성될 수 있다.
서비스(50)는 컴퓨팅 장치의 유저 모드에서 작동하며 서비스 모듈이나 서비스 인터페이스로 지칭될 수 있다. 또한, 서비스(50)는 키 관리 서버 연동 서비스, 암복호화 키 관리 서비스, 또는 데이터 암복호화 보안 서비스로도 지칭될 수 있다.
파일 입출력 감시 모듈(31), 접근 통제 모듈(32), 암호화 여부 판단 모듈(33), 암복호화 모듈(34), 정책 관리 모듈(62) 및 암복호화 키 관리 모듈(64)은 보안 시스템으로서 기능하는 컴퓨팅 장치의 커널 모드에서 동작할 수 있다.
파일 입출력 감시 모듈(31)은 컴퓨팅 장치에 탑재되거나 네트워크를 통해 연결된 외부의 컴퓨팅 장치에 탑재되는 응용 프로그램(10)이 특정 데이터에 접근하는지를 감시할 수 있다. 응용 프로그램(10)이 특정 데이터에 접근하면, 파일 입출력 감시 모듈(31)은 해당 이벤트(이하, '제1 이벤트') 정보를 접근 통제 모듈(32)로 전달할 수 있다. 또한, 파일 입출력 감시 모듈(31)은 외부의 응용 프로그램이 특정 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하는지 감시할 수 있다.
한편, 정책 관리 모듈(62)은 서비스(50)로부터 제1 알고리즘을 받고, 제1 알고리즘을 정책 데이터베이스(63)에 저장할 수 있다. 여기서 제1 알고리즘은 암호화된 암복호화 키를 복호화 하기 위한 알고리즘을 포함할 수 있다.
정책 관리 모듈(62)은 암호화 식별 데이터의 추가를 위한 알고리즘이나 정책을 정책 데이터베이스(63)에 저장할 수 있다. 또한, 정책 관리 모듈(62)은 권한이 있는 사용자의 데이터 쓰기 모드에서 데이터의 최초 생성 시에 암호화 식별을 위해 데이터의 ADS 영역에 식별 데이터를 생성하고, 암복호화 보안 시스템을 이용하지 않고 저장된 데이터의 경우에 데이터의 훼손을 방지하기 위해 암복호화를 수행하지 않도록 하는 규칙이나 정책을 정책 데이터베이스(63)에 저장할 수 있다.
또한, 정책 관리 모듈(62)은 특정 사용자 또는 특정 데이터에 대한 접근 통제를 위한 규칙이나 정책을 정책 데이터베이스(63)에 저장할 수 있다. 여기서 규칙이나 정책은 미리 설정되어 저장되거나 사용자 인터페이스를 통해 실시간 사용자 입력으로부터 결정될 수 있다. 규칙이나 정책을 설정하기 위한 사용자 인터페이스는 미리 설정된 사용자 화이트리스트나 미리 설정된 조건을 만족하는 데이터에 대한 정보에 기초하여 데이터의 암호화 대상 여부에 관한 정보를 제공하는 출력 인터페이스를 포함할 수 있다. 출력 인터페이스는 빛, 소리 등을 이용하는 디스플레이 화면이나 스피커 출력을 생성하도록 구성될 수 있다.
접근 통제 모듈(32)은 특정 데이터(이하 '제1 데이터'라고 한다)가 저장되어 있는 위치(이하 '제1 위치'라고 한다)가 암호화 디렉토리인지를 판단하고, 제1 위치가 네트워크 기반 스토리지인지를 판단할 수 있다. 또한, 접근 통제 모듈(32)은 제1 데이터가 저장되어 있는 제1 위치를 검출하고 검출된 제1 위치를 기저장된 암호화 디렉토리 리스트와 비교하도록 구성될 수 있다. 그리고, 접근 통제 모듈(32)은 제1 데이터에 접근하는 사용자 또는 해당 사용자 단말이 암호화 디렉토리에 대한 접근 권한을 갖고 있는지를 판단할 수 있다.
또한, 접근 통제 모듈(32)은, 외부의 응용 프로그램이 특정 데이터(이하 '제2 데이터'라고 한다)에 대해 읽기 모드 또는 쓰기 모드로 접근할 때, 제2 데이터의 파일 경로, 프로세스 및 사용자에 대한 식별 정보를 추출할 수 있고, 추출한 식별 정보에 기초하여 제2 데이터가 담긴 파일의 저장 위치(이하 '제2 위치')가 암호화 디렉토리에 있는지를 판단하고, 제2 위치가 네트워크 기반 스토리지인지를 판단할 수 있다.
또한, 접근 통제 모듈(32)은 제1 이벤트 정보에서 가리키는 데이터의 저장 경로를 획득하고, 사용자 정보에 기초한 사용자를 획득한 후, 해당 데이터의 암호화/복호화를 위한 실행 프로세스를 획득하거나 해당 사용자 혹은 데이터의 접근을 통제하도록 구성될 수 있다.
이러한 접근 통제 모듈(32)은 파일 경로 획득 유닛, 사용자 획득 유닛, 실행 프로세스 획득 유닛 및 접근 통제 유닛을 구비할 수 있다. 접근 통제 모듈(32)은 사용자 혹은 데이터의 접근 허여 또는 접근 통제를 위해 정책 데이터베이스(63)와 연동할 수 있다.
암호화 여부 판단 모듈(33)은 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하고, 제1 데이터의 ADS(alternative data stream) 영역에 접근하여 식별 데이터가 존재하는지 확인할 수 있다. 식별 데이터는 암호화 여부를 나타내는 식별자, 또는 암호화 여부와 함께 암호화 유형이나 레벨을 나타내는 코드나 인덱스를 포함할 수 있고, 암호화 식별 데이터로도 지칭될 수 있다.
또한, 암호화 여부 판단 모듈(33)은 접근 통제 모듈(32)로부터의 사용자 정보, 데이터 접근 권한, 및 데이터 관리 정책에 기초하여 데이터의 암호화 여부를 판단할 수 있다. 암호화 여부 판단 모듈(33)은 데이터의 암호화가 필요한 경우, 해당 암호화 대상 데이터에 대한 정보를 암복호화 모듈(34)로 전달할 수 있다.
한편, 암복호화 키 관리 모듈(64)은 서비스(50)로부터 암복호화 키를 받고, 암복호화 키를 암복호화 키 데이터베이스(65)에 저장할 수 있다.
암복호화 모듈(34)은 암복호화 키 데이터베이스(65)와 연동할 수 있다. 또한, 암복호화 모듈(34)은 제1 데이터의 ADS 영역에 식별 데이터가 존재할 때, 해당 식별 데이터의 정의에 따라 제1 데이터에 대한 암호화, 복호화 등 미리 정의된 차등 보안 서비스를 위한 행위를 수행할 수 있다.
예를 들어, 암복호화 모듈(34)은 암호화 식별 데이터 등의 암호화 여부 판단 모듈(33)로부터의 정보에 따라 접근 권한이 있는 사용자와 암호화/복호화 대상 데이터를 식별하고, 암호화/복호화 대상 데이터의 암호화/복호화를 수행할 수 있다.
또한, 암복호화 모듈(34)는 암호화/복호화 대상 데이터의 컨텍스트 정보를 통해 암호화/복호화 대상 데이터를 식별할 수 있다. 암복호화 모듈(34)은 암호화/복호화 대상 데이터의 암호화/복호화를 위해 암복호화 키 데이터베이스(65)에 저장된 암복호화 키를 이용할 수 있다. 또한, 암복호화 모듈(34)은 암호화 대상 데이터을 암호화하여 저장하고 복호화 대상 데이터를 복호화 하여 출력한 후 로그 절차를 수행할 수 있다.
파일 시스템(35)은 암복호화 모듈(34)에 의해 암호화되는 데이터 및/또는 복호화 되는 데이터를 통신 모듈(36)을 통해 네트워크 기반 스토리지(90)에 저장하거나 네트워크 기반 스토리지(90)에서 읽어낼 수 있다.
네트워크 기반 스토리지(90)는 네트워크에 연결되어 데이터를 저장하는 장치로서, 권한이 부여된 사용자뿐만 아니라 일반 사용자가 데이터를 저장하고 검색할 수 있도록 구성될 수 있다. 네트워크 기반 스토리지(90)는 저장소, 네트워크 연결 스토리지 등으로 지칭될 수 있다.
키 관리 서버(70)는 서비스(50) 또는 서비스 인터페이스가 탑재된 컴퓨팅 장치와 소켓 암호화 통신을 통해 연결되어 데이터 관리를 위한 정책이나 암호화 알고리즘과 암복호화 키를 요청 받고 전달하도록 구성될 수 있다.
한편, 본 실시예에서는 정책 관리 모듈(62)과 암복호화 키 관리 모듈(64)이 제1 알고리즘과 암복호화 키를 별도로 관리하는 구성을 중심으로 설명하였지만, 본 발명은 그러한 구성으로 한정되지 않고, 암복호화 키 관리 모듈(64)이 서비스(50)로부터 암복호화 키와 함께 제1 알고리즘을 함께 받도록 구성될 수 있다. 이 경우, 정책 DB(63)와 암복호화 키 DB(65)는 단일 데이터베이스 시스템에 함께 설치될 수 있다.
도 2는 도 1의 보안 시스템에 채용할 수 있는 데이터 쓰기 절차를 설명하기 위한 흐름도이다.
도 2를 참조하면, 보안 시스템은, 사용자가 응용 프로그램이나 서비스를 통해 네트워크 기반 스토리지에 최초 데이터 쓰기를 시도하는 경우(S21)에 기설정된 데이터 쓰기 관리 정책에 따라 데이터 쓰기 절차를 수행할 수 있다.
먼저, 보안 시스템은 암호화 대상 데이터가 저장되어 있는 위치가 암호화 디렉토리인지를 판단할 수 있다(S23). 본 단계에서, 보안 시스템은 접근 통제 모듈에서 암호화 대상 데이터가 저장되어 있는 위치(이하 '제1 위치')를 검출하여 암호화 디렉토리 리스트와 비교할 수 있다. 한편, 제1 위치가 암호화 디렉토리가 아니면, 보안 시스템은 사용자 단말로 암호화 조건에 부합됨을 알리는 알림 메시지를 제공하고 본 프로세스를 종료할 수 있다.
다음, 위의 판단 단계(S23)에서의 판단 결과, 제1 위치가 암호화 디렉토리인 경우, 보안 시스템은 접근 통제 모듈 또는 암호화 여부 판단 모듈에서 제1 위치 또는 암호화 디렉토리가 네트워크 기반 스토리지에 있는지를 판단할 수 있다(S25). 한편, 제1 위치가 암호화 디렉토리가 아닌 경우, 보안 시스템은 사용자 단말로 암호화 조건에 부합됨을 알리는 알림 메시지를 제공하고 본 프로세스를 종료할 수 있다.
한편, 위의 판단 단계(S23)에서의 판단 결과, 제1 위치가 암호화 디렉토리인 경우, 보안 시스템은 해당 사용자 단말이 암호화 디렉토리에 대한 접근 권한을 갖고 있는지를 선택적으로 판단할 수 있다.
다음, 위의 판단 단계(S25)에서의 판단 결과, 제1 위치 또는 암호화 디렉토리가 네트워크 기반 스토리지에 있으면, 보안 시스템은 암호화 여부 판단 모듈을 통해 암호화 대상 데이터가 최초 생성인지를 판단할 수 있다(S27). 한편, 제1 위치 또는 암호화 디렉토리가 네트워크 기반 스토리지에 있지 않으면, 보안 시스템은 사용자 단말로 암호화 조건에 부합됨을 알리는 알림 메시지를 제공하고 본 프로세스를 종료할 수 있다.
다음, 위의 판단 단계(S27)에서의 판단 결과, 암호화 대상 데이터가 최초 생성이면, 보안 시스템은 암복호화 모듈을 통해 암호화 대상 데이터에 암호화 식별 데이터를 추가할 수 있다(S29).
암호화 식별 데이터는 데이터의 ADS(alternate data stream) 영역에 추가될 수 있다. ADS 영역은 윈도우 NTFS(new technology file system) 파일 시스템의 데이터 스트림의 일종이다. 암호화 식별 데이터는 간단히 암호화 여부를 나타내는 식별자를 포함하거나, 이에 더하여 암호화 유형이나 레벨을 나타내는 코드나 인덱스를 포함할 수 있다.
도 3은 도 1의 보안 시스템에 채용할 수 있는 데이터 접근 절차를 설명하기 위한 흐름도이다.
도 3을 참조하면, 보안 시스템은 사용자 단말이 자신의 응용 프로그램을 통해 네트워크 기반 스토리지에 저장된 특정 데이터(이하 '제2 데이터')에 대해 읽기 모드 또는 쓰기 모드로 접근하는 것을 감시할 수 있다(S31).
응용 프로그램이 제2 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하면, 보안 시스템은 커널 파일 시스템 내 접근 통제 모듈에서 제2 데이터의 파일 경로, 프로세스, 사용자 등의 식별 정보를 추출할 수 있다(S32).
다음, 보안 시스템은 추출한 식별 정보에 기초하여 제2 데이터가 담긴 파일의 저장 위치(이하 '제2 위치')가 암호화 디렉토리에 있는지를 판단할 수 있다(S33).
한편, 위의 판단 단계(S33)에서의 판단 결과, 제2 위치가 암호화 디렉토리인 경우, 보안 시스템은 해당 사용자 단말이 암호화 디렉토리에 대한 접근 권한을 갖고 있는지를 선택적으로 판단할 수 있다.
다음, 위의 판단 단계(S33)에서의 판단 결과, 제2 위치가 암호화 디렉토리 내에 있는 경우, 보안 시스템은 접근 통제 모듈 또는 암호화 여부 판단 모듈을 통해 제2 위치 또는 암호화 디렉토리가 네트워크 기반 스토리지에 있는지 여부를 판단할 수 있다(S34).
다음, 위의 판단 단계(S34)에서의 판단 결과, 제2 위치 또는 암호화 디렉토리가 네트워크 기반 스토리지에 있는 경우, 제2 데이터의 ADS 영역에 접근하여 암호화 여부를 식별할 수 있다(S35). 즉, 보안 데이터는 제2 데이터의 ADS 영역에 접근하여 ADS 영역에 식별 데이터 즉, 암호화 식별 데이터가 존재하는지를 확인할 수 있다.
다음, 위의 식별 단계(S34)에서의 확인 결과, 암호화 식별 데이터에 의해 암호화된 파일로 식별되는 경우, 보안 시스템은 제2 데이터를 암호화 파일로 인식하고 암호화 또는 복호화 작업을 수행할 수 있다(S36).
한편, 위의 판단 단계들(S33, S34, S35) 각각에서의 판단 결과, 제2 위치가 암호화 디렉토리가 아니거나, 제2 위치가 네트워크 기반 스토리지가 아니거나, 제2 데이터의 ADS 영역에 식별 데이터가 존재하지 않는 경우에, 보안 시스템은 소정의 알람 메시지를 출력하고 현재의 프로세스를 종료할 수 있다.
도 4는 도 1의 보안 시스템에 채용할 수 있는 암복호화 키 관리 절차를 설명하기 위한 흐름도이다.
도 4를 참조하면, 보안 시스템은 키 관리 서버(70)와 연동하면서 서비스(50)와 암복호화 키 관리 모듈(64)의 암복호화 키 관리 절차를 토대로 데이터의 실시간 암복호화 보안을 수행할 수 있다.
구체적으로, 암복호화 키 관리를 위해, 보안 시스템은 먼저 유저 모드에서 키 관리 서버(70)에 암복호화 키를 요청할 수 있다(S41).
다음, 키 관리 서버(70)로부터 암복호화 키와 함께 암복호화 키 관리에 대한 규칙이나 정책을 적용하기 위한 알고리즘 예컨대, 제1 알고리즘을 받을 수 있다(S43).
다음, 암호화된 암복호화 키를 제1 알고리즘을 통해 복호화 할 수 있다(S45).
다음, 유저 모드에서 암복호화 키와 제1 알고리즘을 추출할 수 있다(S47).
다음, 보안 시스템은 추출된 암복호화 키와 제1 알고리즘을 커널 모드를 통해 암복호화 키 관리 모듈로 전달할 수 있다(S49).
암복호화 키와 제1 알고리즘은 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 과정에서 데이터의 저장 위치가 암호화 디렉토리인지 및/또는 네트워크 기반 스토리지인지 판단하는 절차와, 데이터의 ADS 영역에 존재하는 암호화 식별 데이터의 존재에 따라 해당 데이터를 암호화하거나 복호화 하는 절차에 이용될 수 있다.
도 5는 도 1의 보안 시스템에 채용할 수 있는 ADS(Alternate Data Stream)을 가진 NTFS(New Technology File System) 파일 포맷을 설명하기 위한 블록도이다.
도 5를 참조하면, 보안 시스템에 채용할 수 있는 NTFS의 파일(file, 500)은, name.txt 등의 이름으로 표현될 수 있고, 속성(Attributes, 510), 보안(Security, 520), 메인 스트림(Main Stream, 530), 제1 대체 스트림(Alternate Stream, 540) 및 제n 대체 스트림(550)에 대한 필드들을 포함할 수 있다. 여기서, n은 2 이상의 임의의 자연수이다.
NTFS 형식으로 포맷된 네트워크 기반 스토리지의 모든 데이터에는 하나 이상의 데이터 스트림이 할당된다. 특히 NTFS 포맷의 기능 중 하나는 하나의 파일에 여러 데이터 스트림이 포함될 수 있다는 것이다.
메인 스트림(530)은 명명되지 않은 기본 데이터 스트림으로서 컴퓨팅 장치에서 파일을 두 번 클릭하거나 명령 프롬프트에서 파일을 실행할 때 실행될 수 있다.
복수의 대체 스트림들(540, 550) 각각은 이름이 지정되지 않은 기본 데이터 스트림과 구별이 용이하도록 이름을 각각 지정한 대체 데이터 스트림(ADS)이다.
ADS 영역이나 이와 유사하거나 동일한 기능을 수행하는 수단이나 구성부를 이용하면, 암호화 대상 데이터나 그 파일에 암호화 식별 데이터를 추가하여 암호문을 효과적으로 식별할 수 있다.
한편, 윈도우 XP 버전 이후의 윈도우 버전의 운영체제에서는 ADS 영역에서 실행파일이 실행되지 못하도록 하고 있으나, 본 실시예에서는, ADS 영역을 암호화 식별 데이터를 추가한 것으로 사용하므로, 네트워크 기반 스토리지에서 효과적으로 암호문을 평문 데이터와 구분하여 데이터 실시간 암복호화를 효과적으로 처리할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 보안 시스템에 대한 개략적인 블록도이다.
도 6을 참조하면, 보안 시스템(600)은 적어도 하나의 프로세서(610), 메모리(620) 및 네트워크 기반 스토리지와 연결되어 데이터의 송수신을 송수신 장치(630)를 포함할 수 있다. 또한, 보안 시스템(600)은 입력 인터페이스 장치(640), 출력 인터페이스 장치(650), 저장 장치(660) 등을 더 포함할 수 있다. 보안 시스템(600)에 포함된 각각의 구성 요소들은 버스(bus, 670)에 의해 연결되어 서로 통신을 수행할 수 있다.
또한, 보안 시스템(600)에 포함된 각각의 구성요소들은 공통 버스(670)가 아니라, 프로세서(610)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수 있다. 예를 들어, 프로세서(610)는 메모리(620), 송수신 장치(630), 입력 인터페이스 장치(640), 출력 인터페이스 장치(650) 및 저장 장치(660) 중의 적어도 하나와 전용 인터페이스를 통하여 연결될 수 있다.
프로세서(610)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.
메모리(620) 및 저장 장치(660) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(620)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(630)는 유선 네트워크, 무선 네트워크, 위성 네트워크 등의 기지국이나 게이트웨이 등과 통신을 수행하기 위한 서브통신시스템을 포함할 수 있다. 서브통신시스템은 유선 및/또는 무선 통신 방식을 지원하도록 구성될 수 있다.
입력 인터페이스 장치(640)는 키보드, 마이크, 터치패드, 터치스크린 등의 입력 수단들에서 선택되는 적어도 하나와 적어도 하나의 입력 수단을 통해 입력되는 신호를 기저장된 명령과 매핑하거나 처리하는 입력 신호 처리부를 포함할 수 있다.
출력 인터페이스 장치(650)는 프로세서(610)의 제어에 따라 출력되는 신호를 기저장된 신호 형태나 레벨로 매핑하거나 처리하는 출력 신호 처리부와, 출력 신호 처리부의 신호에 따라 진동, 빛 등의 형태로 신호나 정보를 출력하는 적어도 하나의 출력 수단을 포함할 수 있다. 적어도 하나의 출력 수단은 스피커, 디스플레이 장치, 프린터, 광 출력 장치, 진동 출력 장치 등의 출력 수단들에서 선택되는 적어도 하나를 포함할 수 있다.
전술한 프로세서(610)는 메모리(620) 및 저장 장치(660) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(610)는 프로그램 명령에 의해 암호화 데이터에 식별 데이터를 추가하는 절차(도 2 참조), 암호화 파일의 읽기 또는 쓰기 절차(도 3 참조) 등을 수행할 수 있다. 프로그램 명령은 암호화 데이터에 식별 데이터를 추가하는 절차와 암호화 파일의 읽기 또는 쓰기 절차를 구현하는 적어도 하나의 명령을 실행하도록 구성될 수 있다.
예를 들어, 프로세서(610)는, 적어도 하나의 명령이나 적어도 하나의 명령을 포함하는 소프트웨어 모듈 예컨대, 파일 입출력 감시 모듈, 접근 통제 모듈, 암호화 여부 판단 모듈, 암복호화 모듈 등에 의해, 네트워크 기반 스토리지에 특정 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하고, 암호화 대상 데이터가 저장되어 있는 위치(제1 위치)가 암호화 디렉토리인지를 판단하고, 제1 위치 또는 암호화 디렉토리가 네트워크 기반 스토리지인지를 판단하고, 암호화 대상 데이터가 최초 생성인지를 판단하고, 최초 생성 데이터의 ADS 영역에 암호화 식별 데이터를 추가하도록 구성될 수 있다.
전술한 실시예들에 의하면, 네트워크 기반 스토리지에 접근이 가능한 다수의 사용자들로부터 데이터를 암호화하여 보호할 수 있다. 즉, 여러 사용자가 공유된 디렉토리에 접근 가능하고 주요 데이터들에도 접근 가능한 상태에서, 암복호화 보안 시스템을 통해 주요 데이터를 암호화하여 여러 사용자들로부터 데이터를 보호할 수 있다. 또한, 암호화된 데이터는 여러 사용자들이 접근하여도 암복호화 보안 시스템을 통해 접근하지 않는 한, 평문 데이터를 획득하지 못하도록 하여 데이터를 보호할 수 있다. 더욱이, 비인가된 사용자 또는 해커로부터 데이터가 물리적으로 탈취되거나 유출되어도 데이터 자체에 암호화에 관한 데이터가 전혀 없어 데이터를 안전하게 보호할 수 있다.
또한, 전술한 실시예들에 의하면, 네트워크 기반 스토리지에 기록되는 데이터를 식별할 수 있다. 즉, 여러 사용자들에게 데이터의 읽기 및/또는 쓰기가 허용된 네트워크 기반 스토리지에서, 암호문 데이터와 평문 데이터를 효과적으로 식별할 수 있다. 아울러, 암복호화 보안 시스템을 통해 데이터를 기록할 때, 해당 데이터를 암호문으로 효과적으로 인식할 수 있도록 데이터의 ADS(Alternate Data Stream)에 암호화 식별 데이터를 추가할 수 있다. 이 경우, 암복호화 보안 시스템을 통해 기록된 데이터가 아닌 경우에는 암호화된 데이터가 아닌 평문으로 인식하여 암호화 또는 복호화 작업을 수행하지 않음으로써, 보안 시스템의 성능과 효율을 향상시킬 수 있다.
또한, 전술한 실시예들에 의하면, 네트워크 기반 스토리지의 데이터 접근 권한 및 암복호화를 효과적으로 수행할 수 있다. 즉, 사용자 단말이나 로컬 서버에서 동작하는 응용 프로그램들이 네트워크 기반 스토리지에 대한 접근 권한 설정을 제공받도록 구성할 수 있다. 이 경우, 접근 권한이 있는 로컬 서버의 데이터 쓰기 시, 해당 데이터가 데이터 암호화 대상이면 암호화 대상 식별자를 생성하여 실시간으로 암호화할 수 있다. 따라서, 데이터를 읽을 때, 해당 데이터가 암호화되어 있는지 여부를 신속하고 정확하게 식별할 수 있고, 암호화되어 있는 데이터를 읽기 위해 해당 데이터의 접근 시, 해당 데이터를 신속하게 복호화 할지 여부를 판단하여 파일 손상 없이 평문 데이터를 획득하여 사용자 단말에 제공할 수 있다.
또한, 전술한 실시예들에 의하면, 암복호화 보안 시스템을 통한 암호화된 데이터의 식별을 효과적으로 수행할 수 있다. 즉, 최초 데이터 생성 시에 암호화 식별을 위한 ADS 영역에 식별 데이터를 생성하여 추가함으로써, 암복호화 보안 시스템을 이용하지 않고 저장된 데이터의 경우, 데이터의 훼손을 방지하기 위해 암복호화를 수행하지 않도록 동작할 수 있다.
특히, 암복호화 보안 시스템을 이용하여 데이터를 읽기 시도 시, 암호화 식별 데이터가 없으면 복호화 기능을 수행하지 않아 원본 데이터 그대로 읽기 프로세스가 수행되도록 할 수 있다. 또한, 암복호화 보안 시스템을 이용한 데이터 쓰기 시도 시, 해당 데이터의 ADS 영역에 암호화 식별 데이터가 없으면 암호화 기능을 수행하지 않고 평문 데이터 그대로 쓰기 수행이 진행되도록 할 수 있다.
또한, 암복호화 보안 시스템을 이용하지 않은 경우에는 암호화된 데이터를 그대로 획득하도록 하여 데이터를 보호할 수 있고, 암복호화 보안 시스템을 통하여 암호화된 데이터를 다른 퍼스널 컴퓨터(PC)에서 데이터 읽기의 시도 시, 암호화된 데이터를 그래도 획득하도록 하여 데이터를 효과적으로 보호할 수 있다.
본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 정보가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시 예에서, 가장 중요한 방법 단계들의 적어도 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시 예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그래머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시 예들에서, 필드 프로그래머블 게이트 어레이(field-programmable gate array)는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서(microprocessor)와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
이상 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템으로서,
    제1 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하는 파일 입출력 감시 모듈;
    상기 제1 데이터가 저장되어 있는 제1 위치가 암호화 디렉토리인지를 판단하고, 상기 제1 위치가 네트워크 기반 스토리지인지를 판단하고, 상기 암호화 디렉토리에 대한 접근 권한이 있는지를 판단하는 접근 통제 모듈;
    상기 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하고, 상기 제1 데이터의 ADS(alternative data stream) 영역에 식별 데이터가 존재하는지 판단하는 암호화 여부 판단 모듈; 및
    상기 식별 데이터의 존재에 따라 상기 제1 데이터를 암호화하거나 복호화 하는 암복호화 모듈;을 포함하고,
    상기 식별 데이터는 암호화 여부를 나타내는 식별자, 또는 암호화 여부와 함께 암호화 유형이나 레벨을 나타내는 코드나 인덱스를 포함하는, 데이터 실시간 암복호화 보안 시스템.
  2. 청구항 1에 있어서,
    상기 접근 통제 모듈은, 상기 제1 데이터가 저장되어 있는 제1 위치를 검출하여 기저장된 암호화 디렉토리 리스트와 비교하는, 데이터 실시간 암복호화 보안 시스템.
  3. 삭제
  4. 청구항 1에 있어서,
    상기 파일 입출력 감시 모듈은 외부의 응용 프로그램이 제2 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하는지 감시하는, 데이터 실시간 암복호화 보안 시스템.
  5. 청구항 4에 있어서,
    상기 접근 통제 모듈은 상기 제2 데이터의 파일 경로, 프로세스 및 사용자에 대한 식별 정보를 추출하는, 데이터 실시간 암복호화 보안 시스템.
  6. 청구항 5에 있어서,
    상기 접근 통제 모듈은 상기 식별 정보에 기초하여 상기 제2 데이터가 담긴 파일의 저장 위치인 제2 위치가 암호화 디렉토리에 있는지를 판단하고, 상기 접근 통제 모듈은 상기 제2 위치가 네트워크 기반 스토리지인지를 판단하는, 데이터 실시간 암복호화 보안 시스템.
  7. 청구항 6에 있어서,
    상기 암호화 여부 판단 모듈은 상기 제2 데이터의 ADS 영역에 접근하여 암호화 식별 데이터의 존재를 확인하는, 데이터 실시간 암복호화 보안 시스템.
  8. 청구항 7에 있어서,
    상기 암복호화 모듈은 상기 암호화 식별 데이터의 존재에 기초하여 상기 제2 데이터의 읽기 모드 또는 쓰기 모드에서 상기 제2 데이터의 암호화 또는 복호화를 수행하는, 데이터 실시간 암복호화 보안 시스템.
  9. 청구항 8에 있어서,
    상기 접근 통제 모듈은 정책 관리 모듈에 연결된 정책 데이터베이스와 연동하며, 여기서 상기 정책 관리 모듈은 상기 암호화 식별 데이터의 추가를 위한 알고리즘이나 정책을 상기 정책 데이터베이스에 저장하는, 데이터 실시간 암복호화 보안 시스템.
  10. 청구항 9에 있어서,
    상기 암복호화 모듈은 암복호화 키 관리 모듈에 연결되는 암복호화 키 데이터베이스와 연동하며, 여기서 상기 암복호화 키 관리 모듈은 키 관리 서버로부터 받은 암복호화 키를 상기 암복호화 키 데이터베이스에 저장하는, 데이터 실시간 암복호화 보안 시스템.
  11. 프로세서에 의해 수행되는 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 방법으로서,
    제1 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하는 단계;
    상기 제1 데이터가 저장되어 있는 제1 위치가 암호화 디렉토리인지를 판단하는 단계;
    상기 암호화 디렉토리에 대한 접근 권한이 있는지를 판단하는 단계;
    상기 제1 위치가 네트워크 기반 스토리지인지를 판단하는 단계;
    상기 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하는 단계;
    상기 제1 데이터의 ADS(alternative data stream) 영역에 식별 데이터가 존재하는지 판단하는 단계; 및
    상기 식별 데이터의 존재에 따라 상기 제1 데이터를 암호화하거나 복호화 하는 단계;를 포함하고,
    상기 식별 데이터는 암호화 여부를 나타내는 식별자, 또는 암호화 여부와 함께 암호화 유형이나 레벨을 나타내는 코드나 인덱스를 포함하는, 데이터 실시간 암복호화 보안 방법.
  12. 청구항 11에 있어서,
    상기 제1 위치가 암호화 디렉토리인지를 판단하는 단계는, 상기 제1 데이터가 저장되어 있는 제1 위치를 검출하여 기저장된 암호화 디렉토리 리스트와 비교하는, 데이터 실시간 암복호화 보안 방법.
  13. 삭제
  14. 청구항 11에 있어서,
    외부의 응용 프로그램이 제2 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하는지 감시하는 단계를 더 포함하는, 데이터 실시간 암복호화 보안 방법.
  15. 청구항 14에 있어서,
    상기 제2 데이터의 파일 경로, 프로세스 및 사용자에 대한 식별 정보를 추출하는 단계를 더 포함하는, 데이터 실시간 암복호화 보안 방법.
  16. 청구항 15에 있어서,
    상기 식별 정보에 기초하여 상기 제2 데이터가 담긴 파일의 저장 위치인 제2 위치가 암호화 디렉토리에 있는지를 판단하는 단계, 및
    상기 제2 위치가 암호화 디렉토리인 경우, 상기 제2 위치가 네트워크 기반 스토리지인지를 판단하는 단계를 더 포함하는, 데이터 실시간 암복호화 보안 방법.
  17. 청구항 16에 있어서,
    상기 제2 위치가 네트워크 기반 스토리지인 경우, 상기 제2 데이터의 ADS 영역에 접근하여 암호화 식별 데이터의 존재를 확인하는 단계를 더 포함하는, 데이터 실시간 암복호화 보안 방법.
  18. 청구항 17에 있어서,
    상기 암호화 식별 데이터의 존재에 기초하여 상기 제2 데이터의 읽기 모드 또는 쓰기 모드에서 상기 제2 데이터의 암호화 또는 복호화를 수행하는 단계를 더 포함하는, 데이터 실시간 암복호화 보안 방법.
  19. 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 방법을 위한 적어도 하나의 프로그램 명령이 저장되는 메모리; 및
    상기 메모리에 연결되어 상기 적어도 하나의 프로그램 명령을 수행하는 프로세서를 포함하며, 상기 프로세서가 실행될 때, 상기 적어도 하나의 프로그램 명령에 의해, 상기 프로세서가:
    제1 데이터에 대한 최초 데이터 쓰기가 시도되는지 감시하는 단계;
    상기 제1 데이터가 저장되어 있는 제1 위치가 암호화 디렉토리인지를 판단하는 단계;
    상기 제1 위치가 네트워크 기반 스토리지인지를 판단하는 단계;
    상기 제1 데이터가 네트워크 기반 스토리지에 최초 생성인지를 판단하는 단계;
    상기 제1 데이터의 ADS(alternative data stream) 영역에 식별 데이터가 존재하는지 판단하는 단계; 및
    상기 식별 데이터의 존재에 따라 상기 제1 데이터를 암호화하거나 복호화 하는 단계;를 수행하는 데이터 실시간 암복호화 보안 시스템.
  20. 청구항 19에 있어서,
    상기 프로세서가,
    외부의 응용 프로그램이 제2 데이터에 대해 읽기 모드 또는 쓰기 모드로 접근하는지 감시하는 단계;
    상기 제2 데이터의 파일 경로, 프로세스 및 사용자에 대한 식별 정보를 추출하는 단계;
    상기 식별 정보에 기초하여 상기 제2 데이터가 담긴 파일의 저장 위치인 제2 위치가 암호화 디렉토리에 있는지를 판단하는 단계;
    상기 제2 위치가 암호화 디렉토리인 경우, 상기 제2 위치가 네트워크 기반 스토리지인지를 판단하는 단계;
    상기 제2 위치가 네트워크 기반 스토리지인 경우, 상기 제2 데이터의 ADS 영역에 접근하여 암호화 식별 데이터의 존재를 확인하는 단계; 및
    상기 암호화 식별 데이터의 존재에 기초하여 상기 제2 데이터의 읽기 모드 또는 쓰기 모드에서 상기 제2 데이터의 암호화 또는 복호화를 수행하는 단계를 더 수행하는, 데이터 실시간 암복호화 보안 시스템.
KR1020220150619A 2022-11-11 2022-11-11 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법 KR102542213B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220150619A KR102542213B1 (ko) 2022-11-11 2022-11-11 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법
US18/061,117 US20240163264A1 (en) 2022-11-11 2022-12-02 Real-time data encryption/decryption security system and method for network-based storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220150619A KR102542213B1 (ko) 2022-11-11 2022-11-11 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102542213B1 true KR102542213B1 (ko) 2023-06-14

Family

ID=86744591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220150619A KR102542213B1 (ko) 2022-11-11 2022-11-11 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법

Country Status (2)

Country Link
US (1) US20240163264A1 (ko)
KR (1) KR102542213B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117313134A (zh) * 2023-11-29 2023-12-29 联通(广东)产业互联网有限公司 文件加密方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337864A (ja) * 2000-03-22 2001-12-07 Hitachi Ltd アクセス制御システム
KR100714709B1 (ko) * 2006-01-11 2007-05-04 삼성전자주식회사 숨김 영역 관리 장치 및 방법
JP2014186592A (ja) * 2013-03-25 2014-10-02 Nec Corp 分散ストレージシステム、ノード、データ管理方法、及びプログラム
WO2020036024A1 (ja) * 2018-08-16 2020-02-20 行徳紙工株式会社 ファイルの秘匿分散システム及び秘匿分散方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337864A (ja) * 2000-03-22 2001-12-07 Hitachi Ltd アクセス制御システム
KR100714709B1 (ko) * 2006-01-11 2007-05-04 삼성전자주식회사 숨김 영역 관리 장치 및 방법
JP2014186592A (ja) * 2013-03-25 2014-10-02 Nec Corp 分散ストレージシステム、ノード、データ管理方法、及びプログラム
WO2020036024A1 (ja) * 2018-08-16 2020-02-20 行徳紙工株式会社 ファイルの秘匿分散システム及び秘匿分散方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117313134A (zh) * 2023-11-29 2023-12-29 联通(广东)产业互联网有限公司 文件加密方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20240163264A1 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
CN111539813B (zh) 业务行为的回溯处理方法、装置、设备及系统
CN109923548B (zh) 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
US7912223B2 (en) Method and apparatus for data protection
US8918633B2 (en) Information processing device, information processing system, and program
KR101522445B1 (ko) 기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램
US7743413B2 (en) Client apparatus, server apparatus and authority control method
US11232222B2 (en) Access management system, access management method and program
US20160019395A1 (en) Adapting decoy data present in a network
WO2021164166A1 (zh) 一种业务数据保护方法、装置、设备及可读存储介质
CN106980793B (zh) 基于TrustZone的通用口令存储及读取方法、装置及终端设备
KR20190018869A (ko) 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법
US11755499B2 (en) Locally-stored remote block data integrity
US20160050205A1 (en) Preventing unauthorized access to an application server
US20170099144A1 (en) Embedded encryption platform comprising an algorithmically flexible multiple parameter encryption system
CN110221990B (zh) 数据的存储方法及装置、存储介质、计算机设备
US7412603B2 (en) Methods and systems for enabling secure storage of sensitive data
KR20140093583A (ko) 클라우드 컴퓨팅 환경을 위한 다계층 보안 장치 및 다계층 보안 방법
CN111046405B (zh) 一种数据处理方法、装置、设备及存储介质
CN112733180A (zh) 数据查询方法、装置和电子设备
KR102542213B1 (ko) 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법
GB2535579A (en) Preventing unauthorized access to an application server
KR102615556B1 (ko) 키 관리 서버를 이용한 데이터의 실시간 암복호화 보안 시스템 및 방법
CN105791233A (zh) 一种防病毒扫描方法及装置
JP4338185B2 (ja) ファイルの暗号化・復号方法
Alauthman et al. Unintended Data Behaviour Analysis Using Cryptography Stealth Approach Against Security and Communication Network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant