[go: up one dir, main page]

KR102741305B1 - System and method for controlling file encryption and decryption permissions in shared folders - Google Patents

System and method for controlling file encryption and decryption permissions in shared folders Download PDF

Info

Publication number
KR102741305B1
KR102741305B1 KR1020240054038A KR20240054038A KR102741305B1 KR 102741305 B1 KR102741305 B1 KR 102741305B1 KR 1020240054038 A KR1020240054038 A KR 1020240054038A KR 20240054038 A KR20240054038 A KR 20240054038A KR 102741305 B1 KR102741305 B1 KR 102741305B1
Authority
KR
South Korea
Prior art keywords
file
encryption
decryption
information
access
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020240054038A
Other languages
Korean (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 KR1020240054038A priority Critical patent/KR102741305B1/en
Application granted granted Critical
Publication of KR102741305B1 publication Critical patent/KR102741305B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

본 발명은 공유 폴더의 파일 암복호화 권한 제어 시스템 및 방법에 관한 것으로, 그 방법은, 파일 시스템에 의해 관리되는 공유 폴더 내 제1 파일에 대한 오픈 시도를 감지하고, 제1 파일이 위치하고 있는 디렉토리 경로를 획득하고, 제1 파일이 암호화 디렉토리 내에 있는지 판단하고, 외부 사용자의 암호화 디렉토리 접근을 판단하고, 외부 사용자의 IP 주소 및 ID를 추출하고, 정책 DB의 IP, ID, 파일 경로, 접근 권한 등의 기설정된 보안 정책을 기반으로 제1 파일에 대한 접근 제어를 수행하고, 제1 파일에 대한 접근이 허용일 때, 원격지 ID 정보, 원격지 IP 주소 정보, 원격지 접근 정보, 파일 식별 정보, 파일 경로 및 이름, 및 암복호화 권한을 담은 식별 파일 컨텍스트를 생성하고, 식별 파일 컨텍스트를 토대로 제1 파일의 암복호화 권한을 제어한다.The present invention relates to a system and method for controlling file encryption and decryption rights in a shared folder, the method comprising: detecting an attempt to open a first file in a shared folder managed by a file system, obtaining a directory path in which the first file is located, determining whether the first file is in an encrypted directory, determining access to the encrypted directory by an external user, extracting an IP address and ID of the external user, and performing access control to the first file based on a preset security policy such as an IP, ID, file path, and access rights of a policy DB; and when access to the first file is permitted, generating an identification file context containing remote ID information, remote IP address information, remote access information, file identification information, file path and name, and encryption and decryption rights, and controlling the encryption and decryption rights of the first file based on the identification file context.

Description

공유 폴더의 파일 암복호화 권한 제어 시스템 및 방법{SYSTEM AND METHOD FOR CONTROLLING FILE ENCRYPTION AND DECRYPTION PERMISSIONS IN SHARED FOLDERS}{SYSTEM AND METHOD FOR CONTROLLING FILE ENCRYPTION AND DECRYPTION PERMISSIONS IN SHARED FOLDERS}

본 발명은 공유 폴더의 파일 암복호화 권한 제어 시스템 및 방법에 관한 것으로, 보다 상세하게는, 네트워크(Network)를 통해 원격지(Remote)에서 접근하는 접속자가 IP(Internet Protocol) 주소 정보, 접속자 아이디(Identification), 파일 식별 정보 및 파일 접근 권한 정보를 이용하여 공유 폴더 내 파일에 접근할 때 파일 시스템 미니 필터 드라이버(File System Mini Filter Driver)에 미리 설정된 보안정책을 기반으로 공유 폴더 내 파일의 암복호화 및 접근을 제어하는 파일 암복호화 권한 제어 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for controlling file encryption/decryption authority in a shared folder, and more specifically, to a system and method for controlling file encryption/decryption authority in a shared folder, which controls encryption/decryption and access to files in a shared folder based on a security policy preset in a file system mini filter driver when a user accessing from a remote location via a network accesses a file in a shared folder using IP (Internet Protocol) address information, user ID (Identification), file identification information, and file access authority information.

일반적으로 네트워크에 접속된 노드는 여러 대의 컴퓨터들과 데이터를 공유하기 위해 네트워크(Network)를 통해 데이터를 송수신한다. 노드는 통신 노드, 단말 등으로 지칭될 수 있다. 이러한 데이터의 송수신을 위해 특정 폴더를 공유하고, 공유된 특정 폴더 즉, 공유 폴더에 접근하는 접속자로부터 아이디(Identification, ID) 및 패스워드(Password)를 입력 받아 공유 폴더에 대한 접근을 제어하는 방식을 ID 기반 접근 제어라고 한다.Typically, nodes connected to a network send and receive data through the network to share data with multiple computers. Nodes can be referred to as communication nodes, terminals, etc. In order to send and receive such data, a specific folder is shared, and a method of controlling access to the shared folder by receiving an ID (ID) and password from a user accessing the shared folder is called ID-based access control.

한편, ID 기반 접근 제어를 하기 위해서는 파일 시스템 필터 드라이버(File System Filter Driver)를 제작해야 한다.Meanwhile, in order to implement ID-based access control, a file system filter driver must be created.

또한, 원격지로부터 접근하는 접근자의 IP(Internet Protocol) 주소를 기반으로 공유 폴더 전체에 접근하는 것을 제어하는 부분을 IP 주소 기반 접근 제어라고 한다. 일반적으로 원격지의 IP 주소를 획득하기 위해서는 네트워크 패킷을 모니터링하며, 네트워크 패킷을 모니터링하기 위해 TDI 필터 드라이버(Transport Data Interface Filter Driver), WPF(Windows Filtering Platform) 기술 등을 사용한다.Also, the part that controls access to the entire shared folder based on the IP (Internet Protocol) address of the accessor accessing from a remote location is called IP address-based access control. In general, to obtain the IP address of a remote location, network packets are monitored, and TDI filter driver (Transport Data Interface Filter Driver) and WPF (Windows Filtering Platform) technology are used to monitor network packets.

한편, 원격지의 IP 주소를 획득하기 위해서는, 커널 영역(Kernel layer)에서 동작하는 네트워크 관련 커널 드라이버(Kernel Driver)를 제작해야 한다. 그러나 커널 드라이버는 시스템 운영에 있어 안정성이 상당히 요구되는 구성으로 개발하는데 많은 어려움이 있다.Meanwhile, in order to obtain the IP address of a remote location, a network-related kernel driver operating in the kernel layer must be created. However, kernel drivers are difficult to develop because they require considerable stability in system operation.

또한, ID 기반 접근 제어와 IP 기반 접근 제어를 동시에 하기 위해서는 안정성이 취약한 최소 2개의 커널 드라이버(Kernel Driver)를 제작하고 사용해야 하는 문제점이 있다.In addition, there is a problem that in order to simultaneously implement ID-based access control and IP-based access control, at least two kernel drivers with poor stability must be developed and used.

또한 여러 원격지로부터 공유 폴더에 접근하는 사용자들을 IP 주소와 ID만으로 접근 제어를 하는 경우, 실제 데이터를 1차적으로 보호할 뿐이며, 특정 IP 주소에서 접근하는 접근자가 접근 권한이 있는 경우, 공유 폴더 내 복호화 데이터의 접근을 모두 허용하게 되는 문제점이 있다.In addition, if access control is performed only by IP address and ID for users accessing shared folders from multiple remote locations, there is a problem in that it only primarily protects the actual data, and if an accessor from a specific IP address has access rights, access to all decrypted data within the shared folder is permitted.

본 발명은 전술한 종래 기술의 문제점을 해결하기 위해 도출된 것으로, 본 발명의 목적은 윈도우즈 필터링 플랫폼(Windows Filtering Platform, WPF), 전송 데이터 인터페이스(Transport Data Interface, TDI) 필터 드라이버(Filter Driver) 등과 같이 고도의 안정성을 요구하는 네트워크 필터 드라이버를 사용하지 않아 개인용 컴퓨터(Personal Computer, PC), 서버(Server) 등의 컴퓨터 운영에 있어 시스템 안정성 유지를 위해 소모되는 리소스(Resource)를 줄일 수 있는, 공유 폴더의 파일 암복호화 권한 제어 시스템을 제공하는데 있다.The present invention has been made to solve the problems of the prior art as described above, and an object of the present invention is to provide a file encryption/decryption permission control system for a shared folder, which reduces resources consumed for maintaining system stability in the operation of a computer such as a personal computer (PC), a server, etc., by not using a network filter driver requiring a high degree of stability, such as a Windows Filtering Platform (WPF) filter driver, a Transport Data Interface (TDI) filter driver, etc.

본 발명의 다른 목적은 파일 시스템 미니 필터 드라이버(File System Mini Filter Driver)를 사용하여 네트워크를 통한 다수의 원격지에서 접근하는 접근자의 인터넷 프로토콜(Internet Protocol, IP) 주소와 아이디(Identification, ID)를 획득하여 공유 폴더(Shared Folder)에 접근하는 모든 접근자를 식별할 수 있는, 공유 폴더의 파일 암복호화 권한 제어 시스템을 제공하는데 있다.Another object of the present invention is to provide a file encryption/decryption permission control system for a shared folder, which can identify all accessors accessing a shared folder by obtaining the Internet Protocol (IP) addresses and identifications (IDs) of accessors accessing from multiple remote locations through a network using a file system mini filter driver.

본 발명의 또 다른 목적은 기설정된 접근 제어 권한을 포함한 암복호화 권한에 관한 보안정책을 기반으로 파일의 접근 방식 예컨대, 차단, 암호화 또는 복호화를 실시간으로 제어할 수 있는, 공유 폴더의 파일 암복호화 권한 제어 시스템을 제공하는데 있다.Another object of the present invention is to provide a file encryption/decryption permission control system for a shared folder, which can control file access methods, such as blocking, encryption or decryption, in real time based on a security policy regarding encryption/decryption permissions including preset access control permissions.

본 발명의 다른 목적은, 전술한 파일 암복호화 권한 제어 시스템에 이용되는 공유 폴더의 파일 암복호화 권한 제어 방법을 제공하는데 있다.Another object of the present invention is to provide a method for controlling file encryption/decryption permission of a shared folder used in the aforementioned file encryption/decryption permission control system.

상기 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따른 공유 폴더의 파일 암복호화 권한 제어 방법은, 컴퓨팅 장치에 의해 수행되는 공유 폴더의 파일 암복호화 권한 제어 방법으로서, 파일 시스템에 의해 관리되는 공유 폴더 내 제1 파일에 대한 오픈 시도를 감지하는 단계; 상기 제1 파일이 위치하고 있는 디렉토리 경로를 획득하는 단계; 상기 제1 파일이 암호화 디렉토리 내에 있는지 판단하는 단계; 상기 제1 파일이 암호화 디렉토리 내 파일인 경우, 외부 사용자의 암호화 디렉토리 접근을 판단하는 단계; 상기 외부 사용자의 암호화 디렉토리 접근이 확인되면, 상기 외부 사용자의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification, ID)를 추출하거나 획득하는 단계; 정책 데이터베이스를 통해 획득할 수 있는 IP, ID, 파일 경로, 접근 권한 또는 이들의 조합에 기초하는 기설정된 보안 정책을 기반으로 상기 제1 파일에 대한 접근 제어를 수행하는 단계; 및 상기 제1 파일에 대한 접근 제어가 허용인 경우, 원격지 ID 정보, 원격지 IP 주소 정보, 원격지 접근 정보, 파일 식별 정보, 파일 경로 및 이름, 및 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하는 단계를 포함한다.According to one aspect of the present invention for solving the above technical problem, a method for controlling file encryption/decryption rights of a shared folder is provided, which is a method for controlling file encryption/decryption rights of a shared folder performed by a computing device, comprising: a step of detecting an attempt to open a first file in a shared folder managed by a file system; a step of obtaining a directory path in which the first file is located; a step of determining whether the first file is in an encrypted directory; a step of determining access to the encrypted directory by an external user if the first file is a file in the encrypted directory; a step of extracting or obtaining an Internet Protocol (IP) address and a remote identification (ID) of the external user if access to the encrypted directory by the external user is confirmed; a step of performing access control to the first file based on a preset security policy based on an IP, an ID, a file path, access rights, or a combination thereof that can be obtained through a policy database; And if access control for the first file is permitted, a step of generating an identification file context containing remote ID information, remote IP address information, remote access information, file identification information, file path and name, and encryption/decryption authority is included.

상기 방법은, 상기 식별 파일 컨텍스트에 담긴 제1 정보를 상기 제1 파일의 파일 오브젝트(File Object)에 등록하는 단계를 더 포함할 수 있다.The above method may further include a step of registering first information contained in the identification file context in a file object of the first file.

상기 방법은, 상기 암호화 디렉토리에 대한 원격지 사용자의 접근 여부의 판단을 위해, 현재 쓰레드(Current Thread)의 현재 액세스 토큰(Current Access Token)을 획득하는 단계; 및 획득된 액세스 토큰(Access Token)의 원본 출처(Source)를 식별하여 원본 출처가 NTLM(New technology Local Area Network Manager) 보안 지원 공급자(Security Support Provider, SSP)인지를 판별하는 단계를 더 포함할 수 있다.The above method may further include a step of obtaining a current access token of a current thread to determine whether a remote user has access to the encrypted directory; and a step of identifying an original source of the obtained access token to determine whether the original source is a New technology Local Area Network Manager (NTLM) Security Support Provider (SSP).

상기 방법은, 상기 제1 파일의 데이터 요청(Read)에 관한 입출력(input/output, I/O)를 감지하는 단계; 상기 데이터 요청에 관한 I/O 감지 후, 상기 제1 파일의 파일 오브젝트(File Object)에서 식별 파일 컨텍스트(File Context)의 존재 여부를 판단하는 단계; 상기 제1 파일의 파일 오브젝트에서 상기 식별 파일 컨텍스트를 추출하는 단계; 및 상기 식별 파일 컨텍스트 내 기설정 정보나 데이터가 존재하는지를 확인하는 단계를 더 포함할 수 있다.The method may further include a step of detecting input/output (I/O) regarding a data request (Read) of the first file; a step of determining whether an identification file context (File Context) exists in a file object (File Object) of the first file after detecting the I/O regarding the data request; a step of extracting the identification file context from the file object of the first file; and a step of checking whether preset information or data exists in the identification file context.

상기 방법은, 상기 식별 파일 컨텍스트에 담긴 것으로 확인된 정보를 토대로, 상기 제1 파일을 복호화하여 상기 외부 사용자에게 전달하는 단계, 또는 상기 제1 파일을 암호화하여 상기 외부 사용자에게 전달하는 단계를 더 포함할 수 있다.The method may further include a step of decrypting the first file and transmitting it to the external user, or a step of encrypting the first file and transmitting it to the external user, based on information confirmed to be contained in the identification file context.

상기 방법은, 상기 암호화 또는 상기 복호화를 진행하는 방식을 결정하기 위해, 파일 시스템의 입출력(Input/Output, I/O) 작업을 처리할 수 있도록 정보를 담은 구조체 내 데이터를 참조하여 현재 I/O 작업이 캐시(Cached) I/O인지, 비캐시(Non-cached) I/O인지, 또는 고속(Fast) I/O인지 확인하는 단계를 더 포함할 수 있다.The above method may further include a step of checking whether the current I/O operation is a cached I/O, a non-cached I/O, or a fast I/O by referencing data in a structure containing information for processing an input/output (I/O) operation of a file system to determine a method for performing the encryption or decryption.

상기 방법은, 상기 식별 파일 컨텍스트에 담긴 원격지 접근 정보를 확인하고, 상기 제1 파일에 대하여 또는 상기 외부 사용자에 대하여 기설정된 암복호화 권한과 상기 확인된 현재 I/O 작업의 유형에 따라 기설정된 암복호화 방식으로 상기 제1 파일에 대한 암호화 또는 복호화 작업을 수행하는 단계를 더 포함할 수 있다.The method may further include a step of verifying remote access information contained in the identification file context, and performing an encryption or decryption operation on the first file using a preset encryption/decryption method according to a preset encryption/decryption authority and the type of the confirmed current I/O operation for the first file or the external user.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 측면에 따른 공유 폴더의 파일 암복호화 권한 제어 시스템은, 공유 폴더의 파일 암복호화 권한 제어 방법을 수행하는 시스템으로서, 적어도 하나의 명령을 저장하는 메모리; 및 상기 메모리에 연결되어 상기 적어도 하나의 명령을 실행하는 프로세서를 포함한다. 상기 적어도 하나의 명령에 의해, 상기 프로세서는, 파일 시스템(File System)에 의해 관리되는 공유 폴더 내 제1 파일에 대한 오픈 시도를 감지하는 단계; 상기 제1 파일이 위치하고 있는 디렉토리 경로를 획득하는 단계; 상기 제1 파일이 암호화 디렉토리 내에 있는지 판단하는 단계; 상기 제1 파일이 암호화 디렉토리 내 파일인 경우, 외부 사용자의 암호화 디렉토리 접근을 판단하는 단계; 상기 외부 사용자의 암호화 디렉토리 접근이 확인되면, 상기 외부 사용자의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification, ID)를 추출하거나 획득하는 단계; 정책 데이터베이스를 통해 획득할 수 있는 IP, ID, 파일 경로, 접근 권한 또는 이들의 조합에 기초하는 기설정된 보안 정책을 기반으로 상기 제1 파일에 대한 접근 제어를 수행하는 단계; 및 상기 제1 파일에 대한 접근 제어가 허용인 경우, 원격지 ID 정보, 원격지 IP 주소 정보, 원격지 접근 정보, 파일 식별 정보, 파일 경로 및 이름, 및 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하는 단계를 수행하도록 구성된다.According to another aspect of the present invention for solving the above technical problem, a system for controlling file encryption and decryption rights of a shared folder is a system for performing a method for controlling file encryption and decryption rights of a shared folder, the system comprising: a memory storing at least one command; and a processor connected to the memory and executing the at least one command. By the at least one command, the processor detects an attempt to open a first file in a shared folder managed by a file system; acquires a directory path where the first file is located; determines whether the first file is in an encrypted directory; determines whether an external user accesses the encrypted directory if the first file is a file in the encrypted directory; extracts or acquires an Internet Protocol (IP) address and a remote identification (ID) of the external user if the external user accesses the encrypted directory is confirmed; performs access control for the first file based on a preset security policy based on an IP, an ID, a file path, an access right, or a combination thereof that can be acquired through a policy database; And if access control for the first file is permitted, a step of generating an identification file context containing remote ID information, remote IP address information, remote access information, file identification information, file path and name, and encryption/decryption authority is performed.

상기 프로세서는, 상기 식별 파일 컨텍스트에 담긴 제1 정보를 상기 제1 파일의 파일 오브젝트에 등록하는 단계를 더 수행하도록 구성될 수 있다.The above processor may be configured to further perform a step of registering first information contained in the identification file context to a file object of the first file.

상기 프로세서는, 상기 암호화 디렉토리에 대한 원격지 사용자의 접근 여부의 판단을 위해, 현재 쓰레드(Current Thread)의 현재 액세스 토큰(Current Access Token)을 획득하는 단계; 및 획득된 액세스 토큰(Access Token)의 원본 출처(Source)를 식별하여 원본 출처가 NTLM(New technology Local Area Network Manager) 보안 지원 공급자(Security Support Provider, SSP)인지를 판별하는 단계를 더 수행하도록 구성될 수 있다.The above processor may be configured to further perform the steps of: obtaining a current access token of a current thread to determine whether a remote user has access to the encrypted directory; and identifying an original source of the obtained access token to determine whether the original source is a New technology Local Area Network Manager (NTLM) Security Support Provider (SSP).

상기 프로세서는, 상기 제1 파일의 데이터 요청(read)에 관한 입출력(input/output, I/O)를 감지하는 단계; 상기 데이터 요청에 관한 I/O 감지 후, 상기 제1 파일의 파일 오브젝트(File Object)에서 식별 파일 컨텍스트(File Context)의 존재 여부를 판단하는 단계; 상기 제1 파일의 파일 오브젝트에서 상기 식별 파일 컨텍스트를 추출하는 단계; 및 상기 식별 파일 컨텍스트 내 기설정 정보나 데이터가 존재하는지를 확인하는 단계를 더 수행하도록 구성될 수 있다.The processor may be configured to further perform the following steps: detecting input/output (I/O) regarding a data request (read) of the first file; determining whether an identification file context (File Context) exists in a file object (File Object) of the first file after detecting the I/O regarding the data request; extracting the identification file context from the file object of the first file; and checking whether preset information or data exists in the identification file context.

상기 프로세서는, 상기 식별 파일 컨텍스트에 담긴 것으로 확인된 정보를 토대로, 상기 제1 파일을 복호화하여 상기 외부 사용자에게 전달하는 단계, 또는 상기 제1 파일을 암호화하여 상기 외부 사용자에게 전달하는 단계를 더 수행하도록 구성될 수 있다.The above processor may be configured to further perform a step of decrypting the first file and transmitting it to the external user, or a step of encrypting the first file and transmitting it to the external user, based on information identified as being contained in the identification file context.

상기 프로세서는, 상기 암호화 또는 상기 복호화를 진행하는 방식을 결정하기 위해, 파일 시스템의 입출력(input/output, I/O) 작업을 처리할 수 있도록 정보를 담은 구조체 내 데이터를 참조하여 현재 I/O 작업이 캐시(Cached) I/O인지, 비캐시(Non-cached) I/O인지, 또는 고속(Fast) I/O인지 확인하는 단계를 더 수행하도록 구성될 수 있다.The above processor may be configured to further perform a step of checking whether the current I/O operation is a cached I/O, a non-cached I/O, or a fast I/O by referencing data in a structure containing information for processing an input/output (I/O) operation of a file system to determine a method for performing the encryption or decryption.

상기 프로세서는, 상기 식별 파일 컨텍스트에 담긴 원격지 접근 정보를 확인하고, 상기 제1 파일에 대하여 또는 상기 외부 사용자에 대하여 기설정된 암복호화 권한과 상기 확인된 현재 I/O 작업의 유형에 따라 기설정된 암복호화 방식으로 상기 제1 파일에 대한 암호화 또는 복호화 작업을 수행하는 단계를 더 수행하도록 구성될 수 있다.The above processor may be configured to further perform a step of verifying remote access information contained in the identification file context, and performing an encryption or decryption operation on the first file using a preset encryption/decryption method according to a preset encryption/decryption authority and the type of the confirmed current I/O operation for the first file or the external user.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 측면에 따른 공유 폴더의 파일 암복호화 권한 제어 시스템은, 공유 폴더의 파일 암복호화 권한 제어 방법을 수행하는 시스템으로서, 파일 시스템에 의해 관리되는 공유 폴더 내 제1 파일에 대한 오픈 시도를 감지하고, 상기 제1 파일의 데이터 요청(read)에 관한 입출력(input/output, I/O)를 감지하는 파일 I/O 감시 모듈; 상기 제1 파일이 위치하고 있는 디렉토리 경로를 획득하고, 상기 제1 파일이 암호화 디렉토리 내에 있는지 판단하고, 상기 제1 파일이 암호화 디렉토리 내 파일인 경우, 외부 사용자의 암호화 디렉토리 접근을 판단하는 원격지 접근 판단부; 상기 외부 사용자의 암호화 디렉토리 접근이 확인되면, 상기 외부 사용자의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification, ID)를 추출하거나 획득하는 원격지 정보 추출부; 정책 데이터베이스를 통해 획득할 수 있는 IP, ID, 파일 경로, 접근 권한 또는 이들의 조합에 기초하는 기설정된 보안 정책을 기반으로 상기 제1 파일에 대한 접근 제어를 수행하는 접근 제어부; 및 상기 제1 파일에 대한 접근 제어가 허용인 경우, 원격지 ID 정보, 원격지 IP 주소 정보, 원격지 접근 정보, 파일 식별 정보, 파일 경로 및 이름, 및 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하는 식별 정보 생성부를 포함한다.According to another aspect of the present invention for solving the above technical problem, a system for controlling file encryption and decryption of a shared folder is a system for performing a method for controlling file encryption and decryption of a shared folder, comprising: a file I/O monitoring module for detecting an open attempt for a first file in a shared folder managed by a file system and detecting input/output (I/O) regarding a data request (read) of the first file; a remote access determination unit for obtaining a directory path in which the first file is located, determining whether the first file is in an encrypted directory, and determining access to the encrypted directory by an external user if the first file is a file in the encrypted directory; a remote information extraction unit for extracting or obtaining an Internet Protocol (IP) address and a remote identification (ID) of the external user when access to the encrypted directory by the external user is confirmed; an access control unit for performing access control for the first file based on a preset security policy based on an IP, an ID, a file path, an access right, or a combination thereof that can be obtained through a policy database; And if access control for the first file is permitted, it includes an identification information generation unit that generates an identification file context containing remote ID information, remote IP address information, remote access information, file identification information, file path and name, and encryption/decryption authority.

상기 식별 정보 생성부는 상기 식별 파일 컨텍스트에 담긴 제1 정보를 상기 제1 파일의 파일 오브젝트(File Object)에 등록할 수 있다.The above identification information generation unit can register the first information contained in the identification file context in the file object of the first file.

상기 원격지 접근 판단부는, 현재 쓰레드(Current Thread)의 현재 액세스 토큰(Current Access Token)을 획득하고, 획득한 액세스 토큰의 원본 출처(Source)를 식별하고, 식별한 원본 출처가 NTLM(New technology Local Area Network Manager) 보안 지원 공급자(Security Support Provider, SSP)인지를 판별할 수 있다.The above remote access determination unit can obtain a current access token of a current thread, identify an original source of the obtained access token, and determine whether the identified original source is an NTLM (New technology Local Area Network Manager) Security Support Provider (SSP).

상기 시스템은, 상기 데이터 요청에 관한 I/O 감지 후, 상기 제1 파일의 파일 오브젝트(File Object)에서 식별 파일 컨텍스트(File Context)의 존재 여부를 판단하고, 상기 제1 파일의 파일 오브젝트에서 상기 식별 파일 컨텍스트를 추출하고, 상기 식별 파일 컨텍스트 내 기설정 정보나 데이터가 존재하는지를 확인하고, 상기 식별 파일 컨텍스트에 담긴 것으로 확인된 정보를 토대로 상기 제1 파일을 복호화하여 상기 외부 사용자에게 전달하거나 상기 제1 파일을 암호화하여 상기 외부 사용자에게 전달하는 암복호화부를 더 포함할 수 있다.The above system may further include an encryption/decryption unit that, after detecting I/O regarding the data request, determines whether an identification file context exists in a file object of the first file, extracts the identification file context from the file object of the first file, confirms whether preset information or data exists in the identification file context, and decrypts the first file based on information confirmed to be contained in the identification file context and transmits it to the external user, or encrypts the first file and transmits it to the external user.

상기 암복호화부는, 상기 암호화 또는 상기 복호화를 진행하는 방식을 결정하기 위해, 파일 시스템의 입출력(input/output, I/O) 작업을 처리할 수 있도록 정보를 담은 구조체 내 데이터를 참조하여 현재 I/O 작업이 캐시(Cached) I/O인지, 비캐시(Non-cached) I/O인지, 또는 고속(Fast) I/O인지 확인하도록 구성될 수 있다.The above encryption/decryption unit may be configured to determine whether the current I/O operation is a cached I/O, a non-cached I/O, or a fast I/O by referring to data in a structure containing information for processing an input/output (I/O) operation of a file system in order to determine a method for performing the encryption or decryption.

상기 암복호화부는, 상기 식별 파일 컨텍스트에 담긴 원격지 접근 정보를 확인하고, 상기 제1 파일에 대하여 또는 상기 외부 사용자에 대하여 기설정된 암복호화 권한과 상기 확인된 현재 I/O 작업의 유형에 따라 기설정된 암복호화 방식으로 상기 제1 파일에 대한 암호화 또는 복호화 작업을 수행하도록 구성될 수 있다.The above encryption/decryption unit may be configured to verify remote access information contained in the identification file context, and perform an encryption or decryption operation on the first file using a preset encryption/decryption method according to a preset encryption/decryption authority and the type of the confirmed current I/O operation for the first file or the external user.

본 발명에 의하면, 공유 폴더의 파일 암복호화 권한 제어를 사용함으로써, 윈도우즈 필터링 플랫폼(Windows Filtering Platform, WPF), 전송 데이터 인터페이스(Transport Data Interface, TDI) 필터 드라이버(Filter Driver) 등과 같이 고도의 안정성을 요구하는 네트워크 필터 드라이버를 사용하지 않아 개인용 컴퓨터(Personal Computer, PC), 서버(Server) 등의 컴퓨터 운영에 있어 시스템 안정성 유지를 위해 소모되는 리소스(Resource)를 줄일 수 있다.According to the present invention, by using file encryption/decryption permission control of a shared folder, resources consumed for maintaining system stability in the operation of a computer such as a personal computer (PC) or a server can be reduced by not using a network filter driver requiring a high level of stability, such as a Windows Filtering Platform (WPF) filter driver and a Transport Data Interface (TDI) filter driver.

또한, 본 발명에 의하면, 파일 시스템 미니 필터 드라이버(File System Mini Filter Driver)를 사용하여 네트워크를 통한 다수의 원격지에서 접근하는 접근자의 인터넷 프로토콜(Internet Protocol, IP) 주소와 아이디(Identification, ID)를 획득하고 이에 의해 공유 폴더(Shared Folder)에 접근하는 모든 접근자를 식별하여 공유 폴더의 파일 암복호화 권한을 효과적으로 제어하면서 공유 폴더의 보안 성능을 향상시킬 수 있다.In addition, according to the present invention, by using a File System Mini Filter Driver, the Internet Protocol (IP) addresses and identifications (IDs) of accessors accessing from multiple remote locations through a network are acquired, and thereby all accessors accessing a shared folder are identified, thereby effectively controlling the file encryption/decryption authority of the shared folder, thereby improving the security performance of the shared folder.

또한, 본 발명에 의하면, 공유 폴더의 파일 암복호화 권한 제어에서 기설정된 접근 제어 권한을 포함한 암복호화 권한에 관한 보안정책을 기반으로 파일의 접근 방식 예컨대, 차단, 암호화 또는 복호화를 실시간으로 제어할 수 있고, 그에 의해 공유 폴더의 보안성 및 안정성을 향상시킬 수 있다.In addition, according to the present invention, it is possible to control in real time the access method of a file, such as blocking, encryption or decryption, based on a security policy regarding encryption/decryption authority including a preset access control authority in file encryption/decryption authority control of a shared folder, thereby improving the security and stability of the shared folder.

도 1은 본 발명의 일 실시예에 따른 공유 폴더의 파일 암복호화 권한 제어 시스템의 구성에 대한 개념도이다.
도 2는 도 1의 파일 암복호화 권한 제어 시스템에 채용할 수 있는 접근제어 후 식별 데이터 생성 및 등록 과정을 설명하기 위한 흐름도이다.
도 3은 도 1의 파일 암복호화 권한 제어 시스템에 채용할 수 있는 식별 데이터 확인 및 암호화/복호화 과정을 설명하기 위한 흐름도이다.
도 4는 도 1의 파일 암복호화 권한 제어 시스템에 채용할 수 있는 식별 데이터의 파일 컨텍스트 정보에 대한 예시도이다.
도 5는 본 발명의 또 다른 실시예에 따른 공유 폴더의 파일 암복호화 권한 제어 시스템에 대한 개략적인 구성도이다.
FIG. 1 is a conceptual diagram of the configuration of a file encryption/decryption permission control system for a shared folder according to one embodiment of the present invention.
Figure 2 is a flowchart for explaining the process of generating and registering identification data after access control that can be employed in the file encryption/decryption authority control system of Figure 1.
Figure 3 is a flowchart for explaining the identification data verification and encryption/decryption process that can be employed in the file encryption/decryption permission control system of Figure 1.
Figure 4 is an example diagram of file context information of identification data that can be employed in the file encryption/decryption authority control system of Figure 1.
FIG. 5 is a schematic configuration diagram of a file encryption/decryption permission control system for a shared folder according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention can have various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, or substitutes included in the spirit and technical scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are only used to distinguish one component from another. For example, without departing from the scope of the present invention, the first component could be referred to as the second component, and similarly, the second component could also be referred to as the first component. The term "and/or" includes any combination of a plurality of related listed items or any one of a plurality of related listed items.

본 출원의 실시예들에서, "A 및 B 중에서 적어도 하나"는 "A 또는 B 중에서 적어도 하나" 또는 "A 및 B 중 하나 이상의 조합들 중에서 적어도 하나"를 의미할 수 있다. 또한, 본 출원의 실시예들에서, "A 및 B 중에서 하나 이상"은 "A 또는 B 중에서 하나 이상" 또는 "A 및 B 중 하나 이상의 조합들 중에서 하나 이상"을 의미할 수 있다.In the embodiments of the present application, “at least one of A and B” can mean “at least one of A or B” or “at least one of combinations of one or more of A and B.” Furthermore, in the embodiments of the present application, “at least one of A and B” can mean “at least one of A or B” or “at least one of combinations of one or more of A and B.”

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When it is said that a component is "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components in between. On the other hand, when it is said that a component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is only used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, it should be understood that the terms "comprises" or "has" and the like are intended to specify the presence of a feature, number, step, operation, component, part or combination thereof described in the specification, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms defined in commonly used dictionaries, such as those defined in common dictionaries, should be interpreted as having a meaning consistent with the meaning they have in the context of the relevant art, and will not be interpreted in an idealized or overly formal sense unless expressly defined in this application.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the attached drawings, a preferred embodiment of the present invention will be described in more detail. In order to facilitate an overall understanding in describing the present invention, the same reference numerals are used for the same components in the drawings, and redundant descriptions of the same components are omitted.

도 1은 본 발명의 일 실시예에 따른 공유 폴더의 파일 암복호화 권한 제어 시스템의 구성에 대한 개념도이다.FIG. 1 is a conceptual diagram of the configuration of a file encryption/decryption permission control system for a shared folder according to one embodiment of the present invention.

도 1을 참조하면, 파일 암복호화 권한 제어 시스템(이하 간략히 '권한 제어 시스템'이라고도 한다)(100)은 네트워크(network, 50)를 통해 제1 퍼스널 컴퓨터(PC1, 10), 제2 퍼스널 컴퓨터(PC2, 20), 및 제3 퍼스널 컴퓨터(PC3, 30)와 연결될 수 있다.Referring to FIG. 1, a file encryption/decryption permission control system (hereinafter also referred to simply as the 'authority control system') (100) can be connected to a first personal computer (PC1, 10), a second personal computer (PC2, 20), and a third personal computer (PC3, 30) via a network (network, 50).

각 퍼스널 컴퓨터는 사용자 단말로 지칭될 수 있고, 유선, 무선, 이동통신, 위성 또는 이들의 조합 형태의 네트워크(50)를 통해 상대방과 신호, 데이터 또는 파일을 송수신할 수 있는 노드(node), 통신 노드, 단말(terminal), 통신 단말, 네트워크 단말, 통신가능한 컴퓨팅 장치, 사용자 휴대 단말 등을 포함할 수 있다.Each personal computer may be referred to as a user terminal, and may include a node, communication node, terminal, communication terminal, network terminal, communication-capable computing device, user portable terminal, etc. that can transmit and receive signals, data, or files with the other party through a network (50) in the form of wired, wireless, mobile communication, satellite, or a combination thereof.

권한 제어 시스템(100)은 네트워크 드라이버(Network Driver, 102)를 통해 네트워크(50)에 연결되는 파일 시스템(File System, 104)에서 파일 시스템(104) 내 공유 폴더의 파일 암복호화 권한을 제어하도록 구성될 수 있다. 즉, 권한 제어 시스템(100)은 네트워크(50)를 통해 파일 시스템(104)의 공유 폴더 내 파일에 접근하는 사용자를 확인하고, 해당 파일의 정보를 확인하고, 사용자에 대한 해당 파일의 암복호화 권한을 제어하도록 구성될 수 있다.The permission control system (100) may be configured to control the file encryption/decryption authority of a shared folder within a file system (104) connected to a network (50) via a network driver (102). That is, the permission control system (100) may be configured to verify a user accessing a file within a shared folder of the file system (104) via a network (50), verify information about the file, and control the user's encryption/decryption authority for the file.

이를 위해, 권한 제어 시스템(100)은 파일 입출력(input/output, I/O) 감시 모듈(106), 원격지 접근 판단부(110), 원격지 정보 추출부(120), 접근 제어부(130), 정책 데이터베이스(database, DB)(140), 식별 정보 생성부(150), 암복호화부(160), 암복호화 키 DB(170) 및 저장소(180)를 구비할 수 있다.To this end, the authority control system (100) may be equipped with a file input/output (I/O) monitoring module (106), a remote access judgment unit (110), a remote information extraction unit (120), an access control unit (130), a policy database (DB) (140), an identification information generation unit (150), an encryption/decryption unit (160), an encryption/decryption key DB (170), and a storage (180).

파일 I/O 감시 모듈(106)은 파일 시스템(104)의 공유 폴더 내 특정 데이터에 접근하기 위해 특정 파일을 열거나 복사하고자 하는 원격지 사용자 혹은 외부 사용자의 시도를 감지할 수 있다. 또한, 파일 I/O 감시 모듈(106)은 데이터 요청(read)에 대한 외부 사용자의 시도를 감지할 수 있다.The file I/O monitoring module (106) can detect an attempt by a remote user or an external user to open or copy a specific file to access specific data within a shared folder of the file system (104). In addition, the file I/O monitoring module (106) can detect an attempt by an external user to request (read) data.

원격지 접근 판단부(110)는 파일 I/O 감시 모듈(106)의 동작에 따라 제1 파일 등의 대상 파일이 위치하고 있는 디렉토리 경로를 획득하고, 대상 파일이 암호화 디렉토리 내에 있는 파일인지를 확인할 수 있다. 또한, 원격지 접근 판단부(110)는 대상 파일에 대한 원격지 접근 여부를 확인하거나 판단할 수 있다. 이를 위해 원격지 접근 판단부(110)는 파일 경로 획득 모듈(112), 암호화 디렉토리 확인 모듈(114) 및 원격지 접근 확인 모듈(116)을 구비할 수 있다.The remote access determination unit (110) can obtain the directory path where the target file, such as the first file, is located according to the operation of the file I/O monitoring module (106), and can confirm whether the target file is a file in the encrypted directory. In addition, the remote access determination unit (110) can confirm or determine whether remote access to the target file is possible. To this end, the remote access determination unit (110) can be equipped with a file path acquisition module (112), an encrypted directory confirmation module (114), and a remote access confirmation module (116).

원격지 정보 추출부(120)는 현재 접근한 원격지 사용자의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification, ID)를 추출하거나 획득할 수 있다. 추출되거나 획득된 정보는 접근 제어부(130)에 전달될 수 있다. 이를 위해, 원격지 정보 추출부(120)는 원격지 IP 주소 추출 모듈(122) 및 원격지 ID 추출 모듈(124)을 구비할 수 있다.The remote information extraction unit (120) can extract or obtain the Internet Protocol (IP) address and remote identification (ID) of the currently accessed remote user. The extracted or obtained information can be transmitted to the access control unit (130). To this end, the remote information extraction unit (120) can be equipped with a remote IP address extraction module (122) and a remote ID extraction module (124).

접근 제어부(130)는 정책 DB(140)를 통해 획득할 수 있는 IP, ID, 전체 경로, 접근 권한 등의 기설정된 보안 정책을 기반으로 공유 폴더 내 파일에 대한 접근 제어를 수행할 수 있다. 접근 제어부(130)는 대상 파일에 대한 접근이 허용되지 않는 경우, 해당 사용자의 대상 파일이나 특정 데이터 접근을 차단할 수 있다. 이를 위해 접근 제어부(130)는 접근 제어 모듈(132)을 구비할 수 있다. 접근 제어를 수행한 결과는 식별 정보 생성부(150)로 전달될 수 있다.The access control unit (130) can perform access control on files in a shared folder based on preset security policies such as IP, ID, full path, and access rights that can be obtained through the policy DB (140). If access to a target file is not permitted, the access control unit (130) can block the user's access to the target file or specific data. To this end, the access control unit (130) can be equipped with an access control module (132). The result of performing access control can be transmitted to the identification information generation unit (150).

식별 정보 생성부(150)는, 접근 제어부(130)에 의해 대상 파일에 대한 데이터 접근이 허용된 경우, 원격지 사용자의 IP, ID, 파일 경로 및 파일 이름, 파일 식별 정보, 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하여 저장소(180) 등에 저장할 수 있다. 또한, 식별 정보 생성부(150)는 식별 파일 컨텍스트를 사용자가 현재 접근하고자 하는 파일의 파일 오브젝트(File Object)에 등록할 수 있다. 이를 위해, 식별 정보 생성부(150)는 식별 정보 생성 모듈(152)을 구비할 수 있다. 식별 파일 컨텍스트를 대상 파일의 파일 오브젝트에 등록하는 것이 완료되면, 식별 정보 생성부(150)는 제어권을 파일 시스템(104)으로 전달할 수 있다.The identification information generation unit (150) can generate an identification file context containing the remote user's IP, ID, file path and file name, file identification information, and encryption/decryption authority, and store the generated identification file context in a storage (180), if data access to the target file is permitted by the access control unit (130). In addition, the identification information generation unit (150) can register the identification file context in the file object of the file that the user currently wishes to access. To this end, the identification information generation unit (150) can be equipped with an identification information generation module (152). When registration of the identification file context in the file object of the target file is completed, the identification information generation unit (150) can transfer control to the file system (104).

암복호화부(160)는, 파일 I/O 감시 모듈(106)에 의해 외부 사용자의 데이터 요청(Read)에 따른 파일 입출력이 감지될 때, 식별정보 생성부 모듈(150)에서 대상 파일의 파일 오브젝트에 등록한 식별 파일 컨텍스트의 존재 여부를, 데이터 요청 중인 대상 파일에 대하여 판단할 수 있다. 이를 위해, 암복호화부(160)는 암복호화 대상 색별 모듈(162)을 구비할 수 있다.When file input/output according to a data request (Read) from an external user is detected by the file I/O monitoring module (106), the encryption/decryption unit (160) can determine whether an identification file context registered in the file object of the target file exists in the identification information generation module (150) for the target file requesting data. To this end, the encryption/decryption unit (160) can be equipped with an encryption/decryption target color-based module (162).

또한, 암복호화부(160)는, 현재 요청된 대상 파일에 식별 파일 컨텍스트가 등록되어 있으면, 대상 파일의 파일 오브젝트에서 식별 파일 컨텍스트를 추출하고, 추출한 식별 파일 컨텍스트 내에 식별정보 생성부(150)에서 저장한 데이터 즉, 원격지 IP 주소, 원격지 로그인 ID, 원격지 접근 여부, 파일 경로 및 이름, 암복호화 권한, 파일 식별 정보가 존재하는지를 확인할 수 있다.In addition, if an identification file context is registered in the currently requested target file, the encryption/decryption unit (160) can extract the identification file context from the file object of the target file and check whether data stored in the identification information generation unit (150), i.e., a remote IP address, a remote login ID, remote access, file path and name, encryption/decryption authority, and file identification information, exist within the extracted identification file context.

또한, 암복호화부(160)는 식별 파일 컨텍스트 내 정보에 따라 대상 파일을 암복호화 키 DB(170)에서 획득가능한 암호화 키, 복호화 키 등을 이용하여 암호화하거나 복호화할 수 있다. 이를 위해 암복호화부(160)는 암복호화 모듈(164)을 더 구비할 수 있다.In addition, the encryption/decryption unit (160) can encrypt or decrypt a target file using an encryption key, a decryption key, etc., obtainable from the encryption/decryption key DB (170) according to information in the identification file context. To this end, the encryption/decryption unit (160) may further include an encryption/decryption module (164).

전술한 파일 시스템(104) 내 공유 폴더의 파일 암복호화 권한 제어 과정의 이력이나 관련 데이터는 저장소(180)에 저장될 수 있다.The history or related data of the file encryption/decryption permission control process of the shared folder in the aforementioned file system (104) can be stored in the storage (180).

전술한 구성에 의하면, 권한 제어 시스템(100)은 보안성, 안정성 및 신뢰성 높게 공유 폴더의 파일 암복호화 권한 제어 방법(이하 간략히 '권한 제어 방법'이라고도 한다)을 구현할 수 있다.According to the above-described configuration, the authority control system (100) can implement a file encryption/decryption authority control method (hereinafter, also referred to simply as the 'authority control method') of a shared folder with high security, stability, and reliability.

예를 들어, 권한 제어 방법의 일실시예에서, 외부 사용자가 네트워크(50)를 통해 공유 폴더 내 특정 데이터에 접근하기 위해 제1 파일을 오픈(Open) 시도 시, 오픈 시도를 파일 I/O 감시 모듈(106)에서 감지할 수 있다.For example, in one embodiment of the permission control method, when an external user attempts to open a first file to access specific data in a shared folder via a network (50), the open attempt can be detected by the file I/O monitoring module (106).

제1 파일에 대한 오픈 시도가 감지되면, 원격지 접근 판단부(110)는 제1 파일이 위치하고 있는 디렉토리 경로를 획득하고 제1 파일이 암호화 디렉토리 내에 있는 파일인지 판별할 수 있다.When an attempt to open the first file is detected, the remote access determination unit (110) can obtain the directory path where the first file is located and determine whether the first file is a file within the encrypted directory.

또한, 원격지 접근 판단부(110)는 제1 파일이 암호화 디렉토리 내 파일인 경우, 암호화 디렉토리에 접근하는 것을 판단할 수 있다. 암호화 디렉토리에 대한 원격지 접근의 확인 과정에서, 원격지 접근 판단부(110)는 현재 쓰레드(Current Thread)의 현재 액세스 토큰(Current Access Token)을 획득하고. 획득된 액세스 토큰(Access Token)의 원본 출처(Source)를 식별하여 원본 출처가 NTLM(New technology Local Area Network Manager) 보안 지원 공급자(Security Support Provider, SSP)인지 아닌지를 판별할 수 있다.In addition, the remote access determination unit (110) can determine access to the encrypted directory if the first file is a file in the encrypted directory. In the process of confirming remote access to the encrypted directory, the remote access determination unit (110) can obtain the current access token of the current thread and identify the original source of the obtained access token to determine whether the original source is NTLM (New technology Local Area Network Manager) Security Support Provider (SSP).

NTLMSSP(NT LAN Manager SSP)는 특정 사용자 단말인 클라이언트가 도메인에 속하지 않거나 활성 디렉토리(Active Directory) 도메인이 없는 서버, 통상 "작업 그룹" 또는 "피어 투 피어"로 지칭되는 서버에 대해 인증하고 있는 경우에 사용될 수 있다. 이때, 서버는 기본적으로 사용하도록 설정되어 있지 않으며 "암호로 보호된 공유(password-protected sharing)" 기능이 활성화되어 있을 수 있다. 또한, 서버와 클라이언트가 모두 동일한 그룹(또는 유사한 프로토콜)에 속하는 경우, NTLM SSP는 NTLM 대신 공개 키 암호화 기반 사용자 간 인증이 사용될 수 있다. 또한, 서버가 NAS(Network Attached Storage) 디바이스 등의 중앙 집중식 파일 서버나 네트워크 프린터와 같이 SMB(Server Message Block)를 지원하는 디바이스인 경우, NTLM SSP는 서버에서 지원되는 적어도 하나의 인증 방법을 제공할 수 있고, 윈도우즈(Windows) 등의 운영체계와 아웃바운드 인증을 위해 협상할 수 있다. 그리고, 서버가 도메인의 구성원이지만 커버로스 프로토콜(Kerberos Protocol) 등의 기설정된 프로토콜을 사용할 수 없는 경우, NTLM SSP는 클라이언트가 IP 주소를 사용하여 서버에 인증하고, 전이적 포리스트(Forest) 간 트러스트(Trust) 대신, 클라이언트가 레거시 NTLM 트러스트가 있는 다른 활성 디렉토리 포리스트에 속하는 서버에 인증하는데 사용될 수 있다.NT LAN Manager SSP (NTLMSSP) can be used when a particular user terminal, a client, is authenticating to a server that does not belong to a domain or does not have an Active Directory domain, commonly referred to as a "workgroup" or "peer-to-peer" server. In this case, the server may not be enabled by default and may have the "password-protected sharing" feature enabled. Also, if both the server and the client belong to the same group (or similar protocol), NTLM SSP can use public key cryptography-based user-to-user authentication instead of NTLM. Also, if the server is a device that supports SMB (Server Message Block), such as a centralized file server, such as a Network Attached Storage (NAS) device, or a network printer, the NTLM SSP can provide at least one authentication method supported by the server, and can negotiate for outbound authentication with the operating system, such as Windows. Additionally, if the server is a member of a domain but cannot use established protocols such as the Kerberos Protocol, NTLM SSP can be used to allow clients to authenticate to servers using their IP addresses, and instead of transitive cross-forest trusts, to authenticate to servers in other Active Directory forests with which the client has a legacy NTLM trust.

전술한 액세스 토큰의 원본 출처가 NTLMSSP(NT LAN Manager SSP) 등으로 확인된 경우, 원격지 정보 추출부(120)는 현재 접근한 원격지의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification: ID)를 추출하거나 획득하여 접근 제어부(130)로 전달할 수 있다.If the original source of the aforementioned access token is confirmed to be NTLMSSP (NT LAN Manager SSP), the remote information extraction unit (120) can extract or obtain the Internet Protocol (IP) address and remote identification (ID) of the currently accessed remote location and transmit them to the access control unit (130).

접근 제어부(130)는, 정책 DB(140)를 통해 획득할 수 있는 IP, ID, 전체 경로, 접근 권한 등의 기설정된 보안 정책을 기반으로 공유 폴더 내 파일에 대한 접근 제어를 수행하고, 대상 파일에 대한 접근이 허용되지 않은 경우, 대상 파일이나 특정 데이터 접근을 차단할 수 있다.The access control unit (130) performs access control on files in a shared folder based on preset security policies such as IP, ID, full path, and access rights that can be obtained through the policy DB (140), and if access to the target file is not permitted, access to the target file or specific data can be blocked.

기설정된 보안 정책을 기반으로 접근 제어를 수행한 결과, 접근 제어부(130)에서 대상 파일에 대한 데이터 접근을 허용하는 경우, 식별 정보 생성부(150)는 앞서 획득한 원격지의 IP, ID, 파일 경로 및 파일 이름, 파일 식별 정보, 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하여 저장할 수 있다. 그런 다음, 식별 정보 생성부(150)는 식별 파일 컨텍스트를 현재 사용자가 접근하는 파일의 파일 오브젝트(File Object)에 등록할 수 있다. 식별 파일 컨텍스트를 대상 파일의 파일 오브젝트에 등록하는 것이 완료되면, 식별 정보 생성부(150)는 제어권을 파일 시스템(104)으로 전달할 수 있다.As a result of performing access control based on a preset security policy, if the access control unit (130) allows data access to the target file, the identification information generation unit (150) can generate and store an identification file context containing the previously acquired remote IP, ID, file path and file name, file identification information, and encryption/decryption authority. Then, the identification information generation unit (150) can register the identification file context to the file object of the file currently being accessed by the user. When registration of the identification file context to the file object of the target file is completed, the identification information generation unit (150) can transfer control to the file system (104).

그런 다음, 파일 I/O 감시 모듈(106)은 데이터 요청(Read)에 관한 I/O를 감지하고, 이때 암복호화부(160)는 식별정보 생성부 모듈(150)에서 대상 파일의 파일 오브젝트에 등록한 식별 파일 컨텍스트의 존재 여부를, 데이터 요청 중인 대상 파일에 대하여 판단할 수 있다.Then, the file I/O monitoring module (106) detects I/O regarding a data request (Read), and at this time, the encryption/decryption unit (160) can determine whether an identification file context registered in the file object of the target file exists in the identification information generation unit module (150), for the target file requesting data.

암복호화부(160)의 암복호화 대상 식별 모듈(162)은 현재 요청된 파일에 식별 파일 컨텍스트가 등록되어 있으면, 이를 파일 오브젝트에서 추출하고, 식별정보 생성부(150)에서 저장한 데이터 즉, 원격지 IP 주소, 원격지 로그인 ID, 원격지 접근 여부, 파일 경로 및 이름, 암복호화 권한, 파일 식별 정보가 존재하는지 확인할 수 있다. 한편, 식별 파일 컨텍스트가 등록되어 있지 않으면, 암복호화 대상 식별 모듈(162)은 더 이상 현재 프로세스를 진행하지 않고 파일 시스템(104)으로 제어권을 전달할 수 있다.The encryption/decryption target identification module (162) of the encryption/decryption unit (160) can extract the identification file context from the file object if it is registered in the currently requested file, and check whether the data stored in the identification information generation unit (150), i.e., the remote IP address, remote login ID, remote access, file path and name, encryption/decryption authority, and file identification information, exist. Meanwhile, if the identification file context is not registered, the encryption/decryption target identification module (162) can no longer proceed with the current process and transfer control to the file system (104).

다음, 식별 파일 컨텍스트가 확인된 경우, 암복호화 대상 식별 모듈(162)은, 파일 시스템(104)으로부터 받은 I/O 작업에 대한 콜백 데이터(FLT_CALLBACK_DATA) 구조체 내 데이터들을 참조하여 현재 I/O 작업이 캐시(Cached) I/O 작업인지, 비캐시(Non-cached) I/O 작업인지, 고속(Fast) I/O 작업인지 확인하여 현재 I/O 작업에 맞는 암복호화 작업을 수행하도록 설정될 수 있다.Next, when the identification file context is confirmed, the encryption/decryption target identification module (162) can be set to perform an encryption/decryption task appropriate for the current I/O task by referring to the data in the callback data (FLT_CALLBACK_DATA) structure for the I/O task received from the file system (104) to determine whether the current I/O task is a cached I/O task, a non-cached I/O task, or a fast I/O task.

암복호화 모듈(164)은 암복호화 대상 식별 모듈(162)에서 설정한 암복호화 작업 방식과, 식별 파일 컨텍스트에 저장된 원격지 접근 정보를 확인하고 또한 암복호화 권한을 확인하여 데이터를 암호화 또는 복호화하여 사용자에게 전달할 수 있다.The encryption/decryption module (164) can check the encryption/decryption operation method set by the encryption/decryption target identification module (162) and the remote access information stored in the identification file context, and also check the encryption/decryption authority to encrypt or decrypt data and deliver it to the user.

도 2는 도 1의 파일 암복호화 권한 제어 시스템에 채용할 수 있는 접근제어 후 식별 데이터 생성 및 등록 과정을 설명하기 위한 흐름도이다.Figure 2 is a flowchart for explaining the process of generating and registering identification data after access control that can be employed in the file encryption/decryption authority control system of Figure 1.

도 2를 참조하면, 권한 제어 시스템은 접근 제어 과정, 식별 데이터 생성 과정 및 식별 데이터 등록 과정을 포함하는 파일 암복호화 권한 제어 방법을 실행하도록 구성될 수 있다.Referring to FIG. 2, the authority control system can be configured to execute a file encryption/decryption authority control method including an access control process, an identification data generation process, and an identification data registration process.

구체적으로, 권한 제어 시스템은, 먼저 임의 사용자가 공유 폴더의 파일에 접근하면, 파일 입출력 감시 모듈을 통해 이를 파일 입출력(input/output, I/O) 상황을 감지할 수 있다(S210).Specifically, the authority control system can detect a file input/output (I/O) situation through a file input/output monitoring module when a random user accesses a file in a shared folder (S210).

다음, 권한 제어 시스템은 사용자가 접근하고자 하는 파일 정보를 획득하고, 획득한 파일 정보를 토대로 파일 경로를 획득할 수 있다(S220).Next, the authority control system can obtain file information that the user wishes to access and obtain the file path based on the obtained file information (S220).

다음, 권한 제어 시스템은 현재 사용자가 접근한 파일이 암호화 디렉토리에 있는지 판별할 수 있다(S230). 사용자가 접근한 파일은 대상 파일(Target File)로 지칭될 수 있다.Next, the authority control system can determine whether the file accessed by the current user is in the encrypted directory (S230). The file accessed by the user can be referred to as the target file.

상기 단계(S230)에서의 판별 결과, 대상 파일이 암호화 디렉토리 내 존재하는 파일이 아니면(S230의 아니오), 권한 제어 시스템은 현재의 원격지 접근을 종료할 수 있다,As a result of the determination in the above step (S230), if the target file is not a file existing in the encrypted directory (NO in S230), the authority control system can terminate the current remote access.

한편, 상기 단계(S230)에서의 판별 결과, 접근 대상 파일이 암호화 디렉토리 내 존재하는 파일이면(S230의 예), 권한 제어 시스템은 현재 접근하는 사용자가 원격지(Remote)에서 접근하는지를 판단할 수 있다(S235).Meanwhile, if the result of the determination in the above step (S230) shows that the file to be accessed is a file existing in the encrypted directory (example of S230), the authority control system can determine whether the current accessing user is accessing from a remote location (S235).

상기 단계(S235)에서의 판단 결과, 원격지에서 접근한 사용자가 아니면(S235의 아니오), 권한 제어 시스템은 현재의 프로세스를 종료할 수 있다.If the result of the judgment in the above step (S235) is not a user accessing from a remote location (NO in S235), the authority control system can terminate the current process.

한편, 상기 단계(S235)에서의 판단 결과, 원격지에서 접근한 사용자이면(S235의 예), 권한 제어 시스템은 원격지 IP, 원격지 로그인 ID 등의 원격지 정보를 수집할 수 있다(S240).Meanwhile, if the result of the judgment in the above step (S235) is that the user accessed from a remote location (example of S235), the authority control system can collect remote location information such as remote location IP and remote location login ID (S240).

다음, 원격 제어 시스템은 원격지 정보를 기반으로 기설정된 보안 정책에 따라 접근 제어를 수행하여 공유 폴더 내 파일에 대한 원격지 사용자의 접근 허용 여부를 판단할 수 있다(S250).Next, the remote control system can perform access control according to a preset security policy based on remote information to determine whether to allow a remote user to access files in a shared folder (S250).

상기 단계(S250)에서의 판단 결과, 원격지 정보에 포함된 적어도 하나 이상의 정보가 기설정된 보안 정책에 위반되는 경우, 권한 제어 시스템은 원격지 사용자의 공유 폴더 내 파일의 접근을 거부할 수 있다(S270).If, as a result of the judgment in the above step (S250), at least one piece of information included in the remote information violates a preset security policy, the authority control system can deny access to files in the remote user's shared folder (S270).

한편, 상기 단계(S250)에서의 판단 결과, 원격지 정보에 포함된 적어도 하나 이상의 정보가 기설정된 보안 정책에 위반되지 않는 경우, 권한 제어 시스템은 파일 식별 정보를 저장할 식별 파일 컨텍스트(File Context)를 생성하고(S260), 생성한 파일 컨텍스트를 대상 파일의 파일 오브젝트(File Object)에 등록할 수 있다(S280). 그 후 권한 제어 시스템은 파일 시스템(File System)으로 제어권을 전달할 수 있다.Meanwhile, if at least one piece of information included in the remote location information does not violate the preset security policy as a result of the judgment in the step (S250), the authority control system can create an identification file context (File Context) to store file identification information (S260) and register the created file context in the file object (File Object) of the target file (S280). Thereafter, the authority control system can transfer control to the file system (File System).

여기서, 보안 정책은 읽기 정책, 쓰기 정책, I/O 캐쉬 정책, 암호화 정책, 복호화 정책 등을 포함할 수 있다. 읽기 정책은 '먼저 읽지 않는다' 등을 포함하고, 쓰기 정책은 'Write Through 방식' 등을 포함할 수 있다. 그리고 파일 식별 정보는 파일 경로 및 이름, 암복호화 권한, 원격지 접근 여부, 원격지 IP 주소, 원격지 로그인 ID 등을 포함할 수 있다.Here, the security policy may include a read policy, a write policy, an I/O cache policy, an encryption policy, a decryption policy, etc. The read policy may include 'do not read first', etc., and the write policy may include 'write through method', etc. And the file identification information may include a file path and name, encryption/decryption permission, remote access, remote IP address, remote login ID, etc.

도 3은 도 1의 파일 암복호화 권한 제어 시스템에 채용할 수 있는 식별 데이터 확인 및 암호화/복호화 과정을 설명하기 위한 흐름도이다.Figure 3 is a flowchart for explaining the identification data verification and encryption/decryption process that can be employed in the file encryption/decryption permission control system of Figure 1.

도 3을 참조하면, 권한 제어 시스템의 파일 입출력 감지 모듈에서 관리 대상 파일 시스템이나 데이터베이스 시스템의 모든 파일에 대하여 감시하는 중에, 데이터 요청이 들어오는 경우(S310), 권한 제어 시스템은 현재 접근하는 파일에서 기존에 접근 제어 모듈에서 접근 권한 판별 후 등록된 식별 파일 컨텍스트(File Context)가 파일 오브젝트(File Object)에 존재하는지 확인할 수 있다(S320).Referring to FIG. 3, when a data request comes in (S310) while the file input/output detection module of the authority control system is monitoring all files of the managed file system or database system, the authority control system can check whether an identification file context (File Context) previously registered after determining access rights in the access control module exists in the file object (S320) in the currently accessed file.

상기 단계(S320)에서의 확인 결과, 파일 오브젝트 내에 식별 파일 컨텍스트가 존재하지 않으면(S320의 아니오), 권한 제어 시스템은 암호화 파일이 아닌 것으로 간주하고 현재의 프로세스를 종료할 수 있다.As a result of the verification in the above step (S320), if an identifying file context does not exist in the file object (NO in S320), the authority control system may consider it as not an encrypted file and terminate the current process.

한편, 상기 단계(S320)에서의 확인 결과, 파일 오브젝트 내에 식별 파일 컨텍스트가 존재하면(S320의 예), 권한 제어 시스템은 식별 파일 컨텍스트를 파일 오브젝트에서 추출할 수 있다.Meanwhile, if an identification file context exists in the file object as a result of the verification in the above step (S320) (example of S320), the authority control system can extract the identification file context from the file object.

다음, 권한 제어 시스템은 현재 발생한 입출력(I/O) 작업에 따라 암복호화 모듈에서 암복호화를 진행하는 방식을 결정하기 위해 파일 시스템(File System)에서 I/O 작업을 처리할 수 있도록 정보를 담은 구조체 내 데이터들을 참조하여 현재 I/O 작업이 캐시의(Cached) I/O 인지, 비캐시의(Non-cached) I/O 인지, 고속(Fast) I/O 인지 검사하거나 확인할 수 있다(S330).Next, the authority control system can check or confirm whether the current I/O operation is a cached I/O, a non-cached I/O, or a fast I/O by referencing data in a structure containing information so that the file system can process the I/O operation in order to determine how to proceed with encryption/decryption in the encryption/decryption module based on the currently occurring input/output (I/O) operation (S330).

여기서, 정보를 담은 구조체는 I/O 작업 시작과 처리 등에 대한 I/O 작업(Operation) 정보를 담고 있을 수 있다. 정보를 담은 구조체는 I/O 작업에 대한 콜백 데이터(FLT_CALLBACK_DATA) 구조체 등을 포함하고, 필터 관리자나 미니 필터에 의해 사용될 수 있다.Here, the structure containing the information may contain I/O operation information, such as I/O operation start and processing. The structure containing the information may include a structure containing callback data (FLT_CALLBACK_DATA) for the I/O operation, and may be used by the filter manager or mini filter.

현재 I/O 작업을 확인한 뒤, 권한 제어 시스템은 원격지 접근 정보를 확인할 수 있다(S340). 그런 다음, 권한 제어 시스템은 설정되어 있는 암복호화 권한을 확인할 수 있다(S350).After checking the current I/O operation, the authority control system can check the remote access information (S340). Then, the authority control system can check the set encryption/decryption authority (S350).

상기 단계(S350)에서의 설정된 암복호화 권한에 대한 확인 결과에 따라, 권한 제어 시스템은 현재 I/O 작업에 따라 설정된 암호화 방식이나 복호화 방식을 기반으로 데이터 복호화를 수행하거나(S360), 데이터 암호화를 수행할 수 있다(S370).According to the result of verification of the set encryption/decryption authority in the above step (S350), the authority control system can perform data decryption (S360) or data encryption (S370) based on the set encryption method or decryption method according to the current I/O operation.

즉, 상기 단계(S350)에서의 확인 결과, 복호화 권한이 설정되어 있는 경우, 권한 제어 시스템은 암호화된 데이터를 복호화하여 복호화된 데이터를 사용자 단말로 전달하고, 암호화 권한이 설정되어 있는 경우, 암호화된 데이터를 복호화하지 않고 사용자 단말로 전달할 수 있다. 이러한 권한 제어 시스템은 공유 폴더를 관리하는 컴퓨팅 장치의 프로세서의 적어도 일부의 수단이나 이러한 수단에 상응하는 기능을 수행하는 구성부를 구비하거나 해당 프로세서와 협업하도록 구성될 수 있다.That is, if the decryption authority is set as a result of the verification in the above step (S350), the authority control system decrypts the encrypted data and transmits the decrypted data to the user terminal, and if the encryption authority is set, the encrypted data can be transmitted to the user terminal without decrypting it. The authority control system may be configured to have at least a part of the processor of the computing device that manages the shared folder, or a component that performs a function corresponding to the means, or to cooperate with the processor.

도 4는 도 1의 파일 암복호화 권한 제어 시스템에 채용할 수 있는 식별 데이터의 파일 컨텍스트 정보에 대한 예시도이다.Figure 4 is an example diagram of file context information of identification data that can be employed in the file encryption/decryption authority control system of Figure 1.

도 4를 참조하면, 식별 데이터의 파일 컨텍스트(File Context) 정보(400)는, 암호화/복호화 권한(410), 파일 경로 및 이름(420), 파일 식별 정보(430), 원격지 접근 정보(440), 원격지 IP 주소 정보(450) 및 원격지 ID 정보(460)를 포함할 수 있다.Referring to FIG. 4, file context information (400) of identification data may include encryption/decryption authority (410), file path and name (420), file identification information (430), remote access information (440), remote IP address information (450), and remote ID information (460).

암호화/복호화 권한(410)은 데이터 획득 시 암호화 또는 복호화 권한 정보를 나타내며, 암호화 권한 및 복호화 권한 중 적어도 어느 하나를 포함하거나 암호화/복호화 권한 없음을 나타내는 정보를 포함할 수 있다.Encryption/decryption authority (410) indicates encryption or decryption authority information when acquiring data, and may include at least one of encryption authority and decryption authority, or information indicating no encryption/decryption authority.

파일 경로 및 이름(420)은 암호화 디렉토리 접근 제어 및 암호화 또는 복호화를 위한 정보를 나타내며, 파일 경로와 파일 이름에 대한 정보나 파일 경로와 파일 이름이 저장되어 있는 저장 위치에 대한 정보를 포함할 수 있다.The file path and name (420) represents information for encryption directory access control and encryption or decryption, and may include information about the file path and file name or information about the storage location where the file path and file name are stored.

파일 식별 정보(430)는 암호화 디렉토리 내 파일 암호화 여부를 식별하기 위한 정보를 나타내며, 파일 암호화 여부에 대한 정보를 포함할 수 있다.File identification information (430) indicates information for identifying whether a file in an encrypted directory is encrypted, and may include information on whether the file is encrypted.

원격지 접근 정보(440)는 접근 데이터가 원격지로부터 요청된 것인지 확인하기 위한 정보를 나타내며, 원격지 요청 데이터 여부에 대한 정보를 포함할 수 있다.Remote access information (440) represents information for verifying whether access data is requested from a remote location, and may include information on whether it is remote request data.

원격지 IP 주소 정보(450)는 원격지에서 접근하는 IP 주소 정보를 나타내면, 원격지의 IP 주소 정보나 원격지 IP 주소를 확인할 수 있는 서버나 시스템의 위치 정보를 포함할 수 있다.Remote IP address information (450) indicates IP address information accessed from a remote location, and may include remote IP address information or location information of a server or system that can confirm the remote IP address.

원격지 ID 정보(460)는 원격지에서 로그인한 ID 정보를 나타내거나, 원격지 로그인 ID를 확인할 수 있는 서버나 시스템의 위치 정보를 포함할 수 있다.Remote ID information (460) may indicate ID information logged in from a remote location or include location information of a server or system that can verify a remote login ID.

도 5는 본 발명의 또 다른 실시예에 따른 공유 폴더의 파일 암복호화 권한 제어 시스템의 구성에 대한 개략적인 블록도이다.FIG. 5 is a schematic block diagram of the configuration of a file encryption/decryption permission control system for a shared folder according to another embodiment of the present invention.

도 5를 참조하면, 공유 폴더의 파일 암복호화 권한 제어 시스템(500)는 적어도 하나의 프로세서(Processor, 510), 메모리(520) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(Transceiver, 530)를 포함할 수 있다. 적어도 하나의 프로세서(510)와 메모리(520)는 적어도 하나의 컨트롤러(Controller)로 구성될 수 있다.Referring to FIG. 5, a file encryption/decryption permission control system (500) of a shared folder may include at least one processor (Processor, 510), a memory (520), and a transceiver (Transceiver, 530) that is connected to a network and performs communication. At least one processor (510) and memory (520) may be configured as at least one controller.

송수신 장치(530)는 유선 네트워크를 지원하는 서브통신시스템이나 무선 네트워크를 지원하는 무선 통신 모듈(Wireless Communication Module, WCM)을 구비할 수 있다.The transceiver (530) may be equipped with a sub-communication system supporting a wired network or a wireless communication module (WCM) supporting a wireless network.

또한, 파일 암복호화 권한 제어 시스템(500)는 입력 인터페이스 장치(540), 출력 인터페이스 장치(550), 저장 장치(560) 등을 더 포함할 수 있다. 파일 암복호화 권한 제어 시스템(500)에 포함된 각각의 구성 요소들은 버스(Bus, 570)에 의해 연결되어 서로 통신을 수행할 수 있다.In addition, the file encryption/decryption permission control system (500) may further include an input interface device (540), an output interface device (550), a storage device (560), etc. Each component included in the file encryption/decryption permission control system (500) may be connected by a bus (Bus, 570) and communicate with each other.

다만, 파일 암복호화 권한 제어 시스템(500)에 포함된 각각의 구성요소들은 공통 버스가 아니라, 프로세서(510)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수 있다. 예를 들어, 프로세서(510)는 메모리(520), 송수신 장치(530), 입력 인터페이스 장치(540), 출력 인터페이스 장치(550) 및 저장 장치(560) 중에서 적어도 하나와 전용 인터페이스를 통하여 연결될 수 있다.However, each component included in the file encryption/decryption permission control system (500) may be connected through individual interfaces or individual buses centered around the processor (510), rather than a common bus. For example, the processor (510) may be connected to at least one of the memory (520), the transmission/reception device (530), the input interface device (540), the output interface device (550), and the storage device (560) through a dedicated interface.

프로세서(510)는 메모리(520) 및 저장 장치(560) 중에서 적어도 하나에 저장된 프로그램 명령(Program Command)을 실행할 수 있다. 프로세서(510)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU), 또는 본 발명의 실시예에 따른 방법이 수행되는 전용의 프로세서를 의미할 수 있다. 프로그램 명령은 공유 폴더의 파일 암복호화 권한 제어 방법을 구현하기 위한 적어도 하나의 명령을 포함할 수 있다.The processor (510) can execute a program command stored in at least one of the memory (520) and the storage device (560). The processor (510) may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which a method according to an embodiment of the present invention is performed. The program command may include at least one command for implementing a method for controlling file encryption/decryption permissions of a shared folder.

메모리(520) 및 저장 장치(560) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(520)는 읽기 전용 메모리(Read Only Memory, ROM) 및 랜덤 액세스 메모리(Random Access Memory, RAM) 중에서 적어도 하나로 구성될 수 있다.Each of the memory (520) and the storage device (560) may be configured with at least one of a volatile storage medium and a nonvolatile storage medium. For example, the memory (520) may be configured with at least one of a read-only memory (ROM) and a random access memory (RAM).

전술한 파일 암복호화 권한 제어 시스템(500)은 데스크탑 컴퓨터, 서버, 휴대 단말, 노트북, 개인 휴대 통신 단말 등으로 구현될 수 있다. 파일 암복호화 권한 제어 시스템(500)은 유선 네트워크, 근거리 무선 통신 네트워크, 이동통신 네트워크, 위성 네트워크 또는 이들의 조합 네트워크 상에 위치하는 노드, 서버, 통신 단말, 사용자 단말로 지칭될 수 있다.The file encryption/decryption permission control system (500) described above can be implemented as a desktop computer, server, mobile terminal, laptop, personal mobile communication terminal, etc. The file encryption/decryption permission control system (500) can be referred to as a node, server, communication terminal, or user terminal located on a wired network, a short-range wireless communication network, a mobile communication network, a satellite network, or a combination of these networks.

한편, 전술한 본 발명의 실시 예에 따른 공유 폴더의 파일 암복호화 권한 제어 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽힐 수 있는 정보가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.Meanwhile, the operation of the method for controlling file encryption/decryption authority of a shared folder according to the above-described embodiment of the present invention can be implemented as a computer-readable program or code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store information that can be read by a computer system. In addition, the computer-readable recording medium can be distributed to computer systems connected to a network, so that the computer-readable program or code can be stored and executed in a distributed manner.

또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(ROM), 램(RAM), 플래시 메모리(Flash Memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(Compiler)에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터(Interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Additionally, the computer-readable recording medium may include hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. The program instructions may include not only machine language codes produced by a compiler, but also high-level language codes that can be executed by the computer using an interpreter, etc.

본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시 예에서, 가장 중요한 방법 단계들의 적어도 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.While some aspects of the invention have been described in the context of an apparatus, they may also represent a description of a corresponding method, wherein a block or device corresponds to a method step or a feature of a method step. Similarly, aspects described in the context of a method may also be represented as a feature of a corresponding block or item or a corresponding device. Some or all of the method steps may be performed by (or using) a hardware device, such as, for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, at least one or more of the most important method steps may be performed by such a device.

실시 예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그래머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시 예들에서, 필드 프로그래머블 게이트 어레이(Field-Programmable Gate Array)는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서(Microprocessor)와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.In embodiments, a programmable logic device (e.g., a field-programmable gate array) may be used to perform some or all of the functions of the methods described herein. In embodiments, a field-programmable gate array may operate in conjunction with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by some hardware device.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described with reference to the above embodiments, it will be understood by those skilled in the art that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.

Claims (20)

컴퓨팅 장치에 의해 수행되는 공유 폴더의 파일 암복호화 권한 제어 방법으로서,
파일 시스템에 의해 관리되는 공유 폴더 내 제1 파일에 대한 오픈 시도를 감지하는 단계;
상기 제1 파일이 위치하고 있는 디렉토리 경로를 획득하는 단계;
상기 제1 파일이 암호화 디렉토리 내에 있는지 판단하는 단계;
상기 제1 파일이 암호화 디렉토리 내 파일인 경우, 외부 사용자의 암호화 디렉토리 접근을 판단하는 단계;
상기 외부 사용자의 암호화 디렉토리 접근이 확인되면, 상기 외부 사용자의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification, ID)를 추출하거나 획득하는 단계;
정책 데이터베이스를 통해 획득할 수 있는 IP, ID, 파일 경로, 접근 권한 또는 이들의 조합에 기초하는 기설정된 보안 정책을 기반으로 상기 제1 파일에 대한 접근 제어를 수행하는 단계;
상기 제1 파일에 대한 접근 제어가 허용인 경우, 원격지 ID 정보, 원격지 IP 주소 정보, 원격지 접근 정보, 파일 식별 정보, 파일 경로 및 이름, 및 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하는 단계;
상기 제1 파일의 데이터 요청(read)에 관한 입출력(input/output, I/O)을 감지하는 단계;
상기 데이터 요청에 관한 I/O 감지 후, 상기 제1 파일의 파일 오브젝트에서 식별 파일 컨텍스트의 존재 여부를 판단하는 단계;
상기 제1 파일의 파일 오브젝트에서 상기 식별 파일 컨텍스트를 추출하는 단계;
상기 식별 파일 컨텍스트 내 기설정 정보나 데이터가 존재하는지를 확인하는 단계; 및
상기 식별 파일 컨텍스트에 담긴 것으로 확인된 정보를 토대로, 상기 제1 파일을 복호화하여 상기 외부 사용자에게 전달하는 단계;
를 포함하는 공유 폴더의 파일 암복호화 권한 제어 방법.
A method for controlling file encryption/decryption permissions of a shared folder performed by a computing device,
A step of detecting an open attempt on a first file within a shared folder managed by a file system;
A step of obtaining a directory path where the first file is located;
A step of determining whether the first file above is within an encrypted directory;
A step of determining whether an external user can access the encrypted directory if the first file above is a file within the encrypted directory;
When the external user's access to the encrypted directory is confirmed, a step of extracting or obtaining the external user's Internet Protocol (IP) address and remote identification (ID);
A step of performing access control on the first file based on a preset security policy based on an IP, ID, file path, access rights or a combination thereof that can be obtained through a policy database;
If access control for the above first file is permitted, a step for creating an identification file context containing remote ID information, remote IP address information, remote access information, file identification information, file path and name, and encryption/decryption authority;
A step of detecting input/output (I/O) regarding a data request (read) of the first file;
After detecting I/O for the above data request, a step of determining whether an identifying file context exists in the file object of the first file;
A step of extracting the identifying file context from the file object of the first file;
A step of checking whether preset information or data exists within the above identification file context; and
A step of decrypting the first file and transmitting it to the external user based on information confirmed to be contained in the above identification file context;
A method for controlling file encryption and decryption permissions in a shared folder containing .
청구항 1에 있어서,
상기 식별 파일 컨텍스트에 담긴 제1 정보를 상기 제1 파일의 파일 오브젝트(File Object)에 등록하는 단계를 더 포함하는, 공유 폴더의 파일 암복호화 권한 제어 방법.
In claim 1,
A method for controlling file encryption and decryption permissions of a shared folder, further comprising a step of registering first information contained in the above identification file context in a file object of the first file.
청구항 1에 있어서,
상기 암호화 디렉토리에 대한 원격지 사용자의 접근 여부의 판단을 위해, 현재 쓰레드(Current Thread)의 현재 액세스 토큰(Current Access Token)을 획득하는 단계; 및
획득된 액세스 토큰(Access Token)의 원본 출처(Source)를 식별하여 원본 출처가 NTLM(New technology Local Area Network Manager) 보안 지원 공급자(Security Support Provider, SSP)인지를 판별하는 단계를 더 포함하는, 공유 폴더의 파일 암복호화 권한 제어 방법.
In claim 1,
In order to determine whether a remote user has access to the above encrypted directory, a step of obtaining the current access token of the current thread; and
A method for controlling file encryption and decryption permissions of a shared folder, further comprising a step of identifying the original source of an acquired access token to determine whether the original source is a New technology Local Area Network Manager (NTLM) Security Support Provider (SSP).
삭제delete 청구항 1에 있어서,
상기 식별 파일 컨텍스트에 담긴 것으로 확인된 정보를 토대로, 상기 제1 파일을 암호화하여 상기 외부 사용자에게 전달하는 단계를 더 포함하는, 공유 폴더의 파일 암복호화 권한 제어 방법.
In claim 1,
A method for controlling file encryption and decryption permissions of a shared folder, further comprising a step of encrypting the first file and transmitting it to the external user based on information confirmed to be contained in the above identification file context.
청구항 1에 있어서,
상기 암호화 또는 상기 복호화를 진행하는 방식을 결정하기 위해, 파일 시스템의 입출력(input/output, I/O) 작업을 처리할 수 있도록 정보를 담은 구조체 내 데이터를 참조하여 현재 I/O 작업이 캐시(Cached) I/O인지, 비캐시(Non-cached) I/O인지, 또는 고속(Fast) I/O인지 확인하는 단계를 더 포함하는, 공유 폴더의 파일 암복호화 권한 제어 방법.
In claim 1,
A method for controlling file encryption and decryption permissions of a shared folder, further comprising a step of checking whether the current I/O operation is a cached I/O, a non-cached I/O, or a fast I/O by referencing data in a structure containing information so as to process an input/output (I/O) operation of a file system in order to determine a method for performing the encryption or decryption.
청구항 6에 있어서,
상기 식별 파일 컨텍스트에 담긴 원격지 접근 정보를 확인하고, 상기 제1 파일에 대하여 또는 상기 외부 사용자에 대하여 기설정된 암복호화 권한과 상기 확인된 현재 I/O 작업의 유형에 따라 기설정된 암복호화 방식으로 상기 제1 파일에 대한 암호화 또는 복호화 작업을 수행하는 단계를 더 포함하는, 공유 폴더의 파일 암복호화 권한 제어 방법.
In claim 6,
A method for controlling file encryption and decryption permissions of a shared folder, further comprising the step of verifying remote access information contained in the above-mentioned identification file context, and performing an encryption or decryption operation on the first file using a preset encryption and decryption method according to the preset encryption and decryption permission and the type of the confirmed current I/O operation for the first file or the external user.
공유 폴더의 파일 암복호화 권한 제어 방법을 수행하는 시스템으로서,
적어도 하나의 명령을 저장하는 메모리; 및
상기 메모리에 연결되어 상기 적어도 하나의 명령을 실행하는 프로세서;
를 포함하고, 상기 적어도 하나의 명령에 의해, 상기 프로세서는:
파일 시스템에 의해 관리되는 공유 폴더 내 제1 파일에 대한 오픈 시도를 감지하는 단계;
상기 제1 파일이 위치하고 있는 디렉토리 경로를 획득하는 단계;
상기 제1 파일이 암호화 디렉토리 내에 있는지 판단하는 단계;
상기 제1 파일이 암호화 디렉토리 내 파일인 경우, 외부 사용자의 암호화 디렉토리 접근을 판단하는 단계;
상기 외부 사용자의 암호화 디렉토리 접근이 확인되면, 상기 외부 사용자의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification, ID)를 추출하거나 획득하는 단계;
정책 데이터베이스를 통해 획득할 수 있는 IP, ID, 파일 경로, 접근 권한 또는 이들의 조합에 기초하는 기설정된 보안 정책을 기반으로 상기 제1 파일에 대한 접근 제어를 수행하는 단계;
상기 제1 파일에 대한 접근 제어가 허용인 경우, 원격지 ID 정보, 원격지 IP 주소 정보, 원격지 접근 정보, 파일 식별 정보, 파일 경로 및 이름, 및 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하는 단계;
상기 제1 파일의 데이터 요청(read)에 관한 입출력(input/output, I/O)를 감지하는 단계;
상기 데이터 요청에 관한 I/O 감지 후, 상기 제1 파일의 파일 오브젝트(File Object)에서 식별 파일 컨텍스트(File Context)의 존재 여부를 판단하는 단계;
상기 제1 파일의 파일 오브젝트에서 상기 식별 파일 컨텍스트를 추출하는 단계;
상기 식별 파일 컨텍스트 내 기설정 정보나 데이터가 존재하는지를 확인하는 단계; 및
상기 프로세서는, 상기 식별 파일 컨텍스트(File Context)에 담긴 것으로 확인된 정보를 토대로, 상기 제1 파일을 복호화하여 상기 외부 사용자에게 전달하는 단계;를 수행하는 공유 폴더의 파일 암복호화 권한 제어 시스템.
A system that performs a method for controlling file encryption and decryption permissions in a shared folder,
a memory storing at least one command; and
A processor connected to said memory and executing said at least one instruction;
and wherein by at least one instruction, the processor:
A step of detecting an open attempt on a first file within a shared folder managed by a file system;
A step of obtaining a directory path where the first file is located;
A step of determining whether the first file above is within an encrypted directory;
A step of determining whether an external user can access the encrypted directory if the first file above is a file within the encrypted directory;
When the external user's access to the encrypted directory is confirmed, a step of extracting or obtaining the external user's Internet Protocol (IP) address and remote identification (ID);
A step of performing access control on the first file based on a preset security policy based on an IP, ID, file path, access rights or a combination thereof that can be obtained through a policy database;
If access control for the above first file is permitted, a step of creating an identification file context containing remote ID information, remote IP address information, remote access information, file identification information, file path and name, and encryption/decryption authority;
A step of detecting input/output (I/O) regarding a data request (read) of the first file;
After detecting I/O for the above data request, a step of determining whether an identifying file context exists in the file object of the first file;
A step of extracting the identifying file context from the file object of the first file;
A step of checking whether preset information or data exists within the above identification file context; and
A file encryption/decryption permission control system of a shared folder, wherein the processor performs a step of decrypting the first file and transmitting it to the external user based on information confirmed to be contained in the identification file context.
청구항 8에 있어서,
상기 프로세서는, 상기 식별 파일 컨텍스트에 담긴 제1 정보를 상기 제1 파일의 파일 오브젝트(File Object)에 등록하는 단계를 더 수행하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 8,
A file encryption/decryption permission control system for a shared folder, wherein the processor further performs a step of registering first information contained in the identification file context in a file object of the first file.
청구항 8에 있어서,
상기 프로세서는,
상기 암호화 디렉토리에 대한 원격지 사용자의 접근 여부의 판단을 위해, 현재 쓰레드(Current Thread)의 현재 액세스 토큰(Current Access Token)을 획득하는 단계; 및
획득된 액세스 토큰(Access Token)의 원본 출처(Source)를 식별하여 원본 출처가 NTLM(New technology Local Area Network Manager) 보안 지원 공급자(Security Support Provider, SSP)인지를 판별하는 단계를 더 수행하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 8,
The above processor,
In order to determine whether a remote user has access to the above encrypted directory, a step of obtaining the current access token of the current thread; and
A file encryption/decryption permission control system for a shared folder, which further performs the step of identifying the original source of the acquired access token and determining whether the original source is a New technology Local Area Network Manager (NTLM) Security Support Provider (SSP).
삭제delete 청구항 8에 있어서,
상기 프로세서는, 상기 식별 파일 컨텍스트(File Context)에 담긴 것으로 확인된 정보를 토대로, 상기 제1 파일을 암호화하여 상기 외부 사용자에게 전달하는 단계를 더 수행하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 8,
A file encryption/decryption permission control system for a shared folder, wherein the processor further performs a step of encrypting the first file and transmitting it to the external user based on information confirmed to be contained in the identification file context.
청구항 8에 있어서,
상기 프로세서는, 상기 암호화 또는 상기 복호화를 진행하는 방식을 결정하기 위해, 파일 시스템의 입출력(input/output, I/O) 작업을 처리할 수 있도록 정보를 담은 구조체 내 데이터를 참조하여 현재 I/O 작업이 캐시(Cached) I/O인지, 비캐시(Non-cached) I/O인지, 또는 고속(Fast) I/O인지 확인하는 단계를 더 수행하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 8,
A file encryption/decryption permission control system for a shared folder, wherein the processor further performs a step of checking whether the current I/O operation is a cached I/O, a non-cached I/O, or a fast I/O by referencing data in a structure containing information so as to be able to process an input/output (I/O) operation of a file system in order to determine a method for performing the encryption or decryption.
청구항 13에 있어서,
상기 프로세서는, 상기 식별 파일 컨텍스트에 담긴 원격지 접근 정보를 확인하고, 상기 제1 파일에 대하여 또는 상기 외부 사용자에 대하여 기설정된 암복호화 권한과 상기 확인된 현재 I/O 작업의 유형에 따라 기설정된 암복호화 방식으로 상기 제1 파일에 대한 암호화 또는 복호화 작업을 수행하는 단계를 더 수행하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 13,
A file encryption/decryption permission control system for a shared folder, wherein the processor further performs a step of verifying remote access information contained in the identification file context, and performing an encryption or decryption operation on the first file using a preset encryption/decryption method according to the preset encryption/decryption permission and the type of the confirmed current I/O operation for the first file or the external user.
공유 폴더의 파일 암복호화 권한 제어 방법을 수행하는 시스템으로서,
파일 시스템에 의해 관리되는 공유 폴더 내 제1 파일에 대한 오픈 시도를 감지하고, 상기 제1 파일의 데이터 요청(read)에 관한 입출력(input/output, I/O)를 감지하는 파일 I/O 감시 모듈;
상기 제1 파일이 위치하고 있는 디렉토리 경로를 획득하고, 상기 제1 파일이 암호화 디렉토리 내에 있는지 판단하고, 상기 제1 파일이 암호화 디렉토리 내 파일인 경우, 외부 사용자의 암호화 디렉토리 접근을 판단하는 원격지 접근 판단부;
상기 외부 사용자의 암호화 디렉토리 접근이 확인되면, 상기 외부 사용자의 인터넷 프로토콜(Internet Protocol, IP) 주소 및 원격지 아이디(Identification, ID)를 추출하거나 획득하는 원격지 정보 추출부;
정책 데이터베이스를 통해 획득할 수 있는 IP, ID, 파일 경로, 접근 권한 또는 이들의 조합에 기초하는 기설정된 보안 정책을 기반으로 상기 제1 파일에 대한 접근 제어를 수행하는 접근 제어부;
상기 제1 파일에 대한 접근 제어가 허용인 경우, 원격지 ID 정보, 원격지 IP 주소 정보, 원격지 접근 정보, 파일 식별 정보, 파일 경로 및 이름, 및 암복호화 권한을 담은 식별 파일 컨텍스트(File Context)를 생성하는 식별 정보 생성부; 및
상기 데이터 요청에 관한 I/O 감지 후, 상기 제1 파일의 파일 오브젝트(File Object)에서 식별 파일 컨텍스트의 존재 여부를 판단하고, 상기 제1 파일의 파일 오브젝트에서 상기 식별 파일 컨텍스트를 추출하고, 상기 식별 파일 컨텍스트 내 기설정 정보나 데이터가 존재하는지를 확인하고, 상기 식별 파일 컨텍스트에 담긴 것으로 확인된 정보를 토대로 상기 제1 파일을 복호화하여 상기 외부 사용자에게 전달하거나 상기 제1 파일을 암호화하여 상기 외부 사용자에게 전달하는 암복호화부;를 포함하고,
상기 암복호화부는, 상기 암호화 또는 상기 복호화를 진행하는 방식을 결정하기 위해, 파일 시스템의 입출력(input/output, I/O) 작업을 처리할 수 있도록 정보를 담은 구조체 내 데이터를 참조하여 현재 I/O 작업이 캐시(Cached) I/O인지, 비캐시(Non-cached) I/O인지, 또는 고속(Fast) I/O인지 확인하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
A system that performs a method for controlling file encryption and decryption permissions in a shared folder,
A file I/O monitoring module that detects an open attempt for a first file in a shared folder managed by a file system and detects input/output (I/O) regarding a data request (read) for the first file;
A remote access determination unit that obtains a directory path where the first file is located, determines whether the first file is within an encrypted directory, and determines access to the encrypted directory by an external user if the first file is within the encrypted directory;
When the encrypted directory access of the external user is confirmed, a remote information extraction unit extracts or obtains the Internet Protocol (IP) address and remote identification (ID) of the external user;
An access control unit that performs access control for the first file based on a preset security policy based on an IP, ID, file path, access rights or a combination thereof that can be obtained through a policy database;
If access control for the above first file is permitted, an identification information generation unit that generates an identification file context containing remote ID information, remote IP address information, remote access information, file identification information, file path and name, and encryption/decryption authority; and
After detecting I/O for the data request, an encryption/decryption unit is included, which determines whether an identification file context exists in the file object of the first file, extracts the identification file context from the file object of the first file, checks whether preset information or data exists in the identification file context, and decrypts the first file based on the information confirmed to be contained in the identification file context and transmits it to the external user, or encrypts the first file and transmits it to the external user.
The above encryption/decryption unit refers to data in a structure containing information to process input/output (I/O) operations of a file system in order to determine a method for performing the encryption or decryption, and checks whether the current I/O operation is a cached I/O, a non-cached I/O, or a fast I/O. A file encryption/decryption permission control system of a shared folder.
청구항 15에 있어서,
상기 식별 정보 생성부는 상기 식별 파일 컨텍스트에 담긴 제1 정보를 상기 제1 파일의 파일 오브젝트(File Object)에 등록하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 15,
A file encryption/decryption permission control system of a shared folder, wherein the above identification information generation unit registers the first information contained in the above identification file context in the file object of the first file.
청구항 15에 있어서,
상기 원격지 접근 판단부는, 현재 쓰레드(Current Thread)의 현재 액세스 토큰(Current Access Token)을 획득하고, 획득한 액세스 토큰의 원본 출처(Source)를 식별하고, 식별한 원본 출처가 NTLM(New technology Local Area Network Manager) 보안 지원 공급자(Security Support Provider, SSP)인지를 판별하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 15,
The above remote access judgment unit is a file encryption/decryption permission control system of a shared folder that obtains the current access token of the current thread, identifies the original source of the obtained access token, and determines whether the identified original source is an NTLM (New technology Local Area Network Manager) Security Support Provider (SSP).
삭제delete 삭제delete 청구항 15에 있어서,
상기 암복호화부는, 상기 식별 파일 컨텍스트에 담긴 원격지 접근 정보를 확인하고, 상기 제1 파일에 대하여 또는 상기 외부 사용자에 대하여 기설정된 암복호화 권한과 상기 확인된 현재 I/O 작업의 유형에 따라 기설정된 암복호화 방식으로 상기 제1 파일에 대한 암호화 또는 복호화 작업을 수행하는, 공유 폴더의 파일 암복호화 권한 제어 시스템.
In claim 15,
A file encryption/decryption permission control system for a shared folder, wherein the encryption/decryption unit verifies remote access information contained in the identification file context, and performs an encryption or decryption operation on the first file using a preset encryption/decryption method according to the preset encryption/decryption permission and the type of the confirmed current I/O operation for the first file or the external user.
KR1020240054038A 2024-04-23 2024-04-23 System and method for controlling file encryption and decryption permissions in shared folders Active KR102741305B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240054038A KR102741305B1 (en) 2024-04-23 2024-04-23 System and method for controlling file encryption and decryption permissions in shared folders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240054038A KR102741305B1 (en) 2024-04-23 2024-04-23 System and method for controlling file encryption and decryption permissions in shared folders

Publications (1)

Publication Number Publication Date
KR102741305B1 true KR102741305B1 (en) 2024-12-12

Family

ID=93848394

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240054038A Active KR102741305B1 (en) 2024-04-23 2024-04-23 System and method for controlling file encryption and decryption permissions in shared folders

Country Status (1)

Country Link
KR (1) KR102741305B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090038980A (en) * 2007-10-17 2009-04-22 주식회사 안철수연구소 Network shared folder access control device and method
KR102542213B1 (en) * 2022-11-11 2023-06-14 펜타시큐리티시스템 주식회사 Real-time encryption/decryption security system and method for data in network based storage
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090038980A (en) * 2007-10-17 2009-04-22 주식회사 안철수연구소 Network shared folder access control device and method
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
KR102542213B1 (en) * 2022-11-11 2023-06-14 펜타시큐리티시스템 주식회사 Real-time encryption/decryption security system and method for data in network based storage

Similar Documents

Publication Publication Date Title
US11689516B2 (en) Application program as key for authorizing access to resources
US10949526B2 (en) User device authentication
AU2018250465B2 (en) Secondary device as key for authorizing access to resources
RU2297037C2 (en) Method for controlling protected communication line in dynamic networks
US9401915B2 (en) Secondary device as key for authorizing access to resources
US9769266B2 (en) Controlling access to resources on a network
EP2973158B1 (en) Delegating authorization to applications on a client device in a networked environment
US8799639B2 (en) Method and apparatus for converting authentication-tokens to facilitate interactions between applications
US8490165B2 (en) Restoring secure sessions
JP5704518B2 (en) Confidential information leakage prevention system, confidential information leakage prevention method, and confidential information leakage prevention program
KR102545160B1 (en) System for controlling network access and method of the same
KR102620214B1 (en) System for controlling network access and method of the same
KR102782384B1 (en) System for controlling network access based on proxy and method of the same
KR102782363B1 (en) System for controlling network access based on proxy and method of the same
KR102782362B1 (en) System for controlling network access based on proxy and method of the same
KR102588356B1 (en) System for controlling network access and method of the same
KR102588357B1 (en) System for controlling network access and method of the same
KR102741305B1 (en) System and method for controlling file encryption and decryption permissions in shared folders
KR20210123811A (en) Apparatus and Method for Controlling Hierarchical Connection based on Token
JP2010152690A (en) Information providing apparatus, information providing portal system, information providing method and information providing program

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20240423

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20240423

Comment text: Patent Application

PA0302 Request for accelerated examination

Patent event date: 20240423

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20240423

Patent event code: PA03021R01I

Comment text: Patent Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240625

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20241205

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20241206

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20241206

End annual number: 3

Start annual number: 1

PG1601 Publication of registration