KR102338774B1 - Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system - Google Patents

Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system Download PDF

Info

Publication number
KR102338774B1
KR102338774B1 KR1020200065876A KR20200065876A KR102338774B1 KR 102338774 B1 KR102338774 B1 KR 102338774B1 KR 1020200065876 A KR1020200065876 A KR 1020200065876A KR 20200065876 A KR20200065876 A KR 20200065876A KR 102338774 B1 KR102338774 B1 KR 102338774B1
Authority
KR
South Korea
Prior art keywords
file
sealing
password
kernel
seal
Prior art date
Application number
KR1020200065876A
Other languages
Korean (ko)
Other versions
KR20210148690A (en
Inventor
임장식
이덕원
Original Assignee
주식회사 올리브텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 올리브텍 filed Critical 주식회사 올리브텍
Priority to KR1020200065876A priority Critical patent/KR102338774B1/en
Publication of KR20210148690A publication Critical patent/KR20210148690A/en
Application granted granted Critical
Publication of KR102338774B1 publication Critical patent/KR102338774B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system

Landscapes

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

Abstract

본 발명은 스토리지 장치에 저장된 파일을 열람하고 유출하거나 훼손하는 것을 원천적으로 방지할 수 있는 데이터 보호 방법에 관한 것이다. 본 데이터 보호 방법은, 사용자의 명령을 통해 스토리지 장치에 저장된 파일 중에서 제1 파일에 대해 읽기 및 쓰기를 차단하는 봉인 요청을 받는 과정, 사용자가 제1 파일에 대한 파일 엑세스 권한이 있고, 제1 파일이 봉인된 상태가 아니면, 봉인 패스워드를 입력받는 과정, POSIX API를 통해 봉인 패스워드를 포함하는 제1 파일에 대한 봉인 명령을 스토리지 장치에 파일시스템 서비스를 제공하는 운영체제의 커널에 전송하는 과정, 커널에서 제1 파일의 메타데이터에 봉인 상태를 나타내는 봉인 플래그와, 봉인 패스워드 속성을 추가로 생성하는 과정, 및 커널에서 봉인 플래그를 봉인 상태로 설정하여 제1 파일에 대한 읽기나 쓰기를 차단하는 봉인 상태로 만들고, 봉인 패스워드 속성에 전송받은 봉인 패스워드를 암호화하여 저장하는 과정을 포함한다. 본 발명에 따르면, 별도의 복잡한 소프트웨어의 설치 및 관리 없이도 스토리지 레벨에서 파일 내용의 열람, 유출 및 훼손을 원천적으로 방지할 수 있다.The present invention relates to a data protection method capable of fundamentally preventing a file stored in a storage device from being viewed, leaked, or damaged. The data protection method includes a process of receiving a sealing request that blocks reading and writing of a first file among files stored in a storage device through a user's command, the user has file access rights to the first file, and the first file If this is not the sealed state, the process of receiving the seal password, the process of sending a seal command for the first file including the seal password through the POSIX API to the kernel of the operating system that provides the file system service to the storage device, the kernel The process of additionally creating a sealing flag indicating the sealing state in the metadata of the first file, a sealing password attribute, and setting the sealing flag to the sealed state in the kernel to block reading or writing to the first file. It includes the process of creating, encrypting and storing the sealed password transmitted to the sealed password attribute. According to the present invention, it is possible to fundamentally prevent the reading, leakage, and damage of file contents at the storage level without the installation and management of additional complicated software.

Description

스토리지 운영체제의 커널 수준에서 파일 내용 읽기 및 쓰기를 방지하여 데이터 유출 및 훼손을 방지하는 데이터 보호 방법{Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system}Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system}

본 발명은 파일시스템 서비스를 제공하는 운영체제에서 특정 파일 내용에 대한 읽기 및 쓰기를 제한할 수 있는 봉인 기능을 제공함으로써, 봉인 설정된 파일의 내용을 무단으로 열람하고 유출하거나 훼손하는 것을 원천적으로 방지할 수 있는 데이터 보호 방법에 관한 것이다. The present invention provides a sealing function that can restrict reading and writing of specific file contents in an operating system that provides a file system service, thereby fundamentally preventing unauthorized reading, leakage, or damage to the contents of a sealed file. It is about data protection methods.

파일의 보안은 크게 파일의 훼손 방지와 파일 내용의 유출 방지로 나눌 수 있다. 일반적으로 파일의 훼손 방지는 파일의 무단 삭제 및 위ㆍ변조를 커널 수준에서의 권한 관리를 통해 원천 봉쇄하는 WORM(Write Once Read Many) 스토리지 기술을 통해 이루어진다. WORM 스토리지 기술은 일반적으로 파일에 지정된 보존기간 동안 어떠한 권한으로도 파일을 수정하거나 삭제할 수 없도록 커널 내부에 하드코딩된 모듈을 통해 관리자의 권한을 통제하는 것이다. File security can be broadly divided into file corruption prevention and file content leakage prevention. In general, file corruption prevention is achieved through WORM (Write Once Read Many) storage technology that blocks unauthorized deletion and falsification of files through permission management at the kernel level. WORM storage technology generally controls the administrator's authority through a module hard-coded in the kernel so that the file cannot be modified or deleted with any authority during the retention period specified for the file.

파일 내용의 열람 및 유출에 대한 방지 기능은 파일시스템에서 제공하는 접근 권한 통제 기능인 ACL(Access Control List)를 통해 사용자 별로 접근할 수 있는 권한을 통제하거나, 좀더 광범위한 기능을 제공하는 DLP(Data Loss Protection) 또는 파일 암호화를 통해 이루어진다.The function to prevent the reading and leakage of file contents is to control the access rights for each user through ACL (Access Control List), which is an access right control function provided by the file system, or DLP (Data Loss Protection) which provides more extensive functions. ) or through file encryption.

그런데, DLP(Data Leakage Protection) 또는 파일 암호화 등을 위해서는 별도의 복잡한 소프트웨어의 설치 및 관리가 필요하다. 또한, ACL 및 DLP 등을 통한 방법으로도 관리자 권한을 통한 유출 및 훼손을 원천 방지할 수 없으며, 파일 내용의 열람에 대해서는 스토리지 차원에서 어떠한 권한으로도 열람이 불가능하게 차단하는 기능은 없다.However, for DLP (Data Leakage Protection) or file encryption, it is necessary to install and manage separate and complex software. In addition, leakage and damage through administrator rights cannot be prevented at the source even by methods such as ACLs and DLPs, and there is no function to block access to file contents with any authority at the storage level.

따라서, 관리자 권한을 통한 유출 및 훼손을 방지할 수 있으며, 개별 파일 암호화나 복잡한 키 관리 시스템 등이 없이도, 파일 내용의 열람, 유출 및 훼손을 원천적으로 방지할 수 있도록 하는 기술이 필요하다.Therefore, it is possible to prevent leakage and damage through the administrator's authority, and there is a need for a technology that can fundamentally prevent the reading, leakage, and damage of file contents without individual file encryption or a complex key management system.

따라서, 본 발명의 목적은, 파일시스템 서비스를 제공하는 운영체제에서 특정 파일 내용에 대한 열람 및 쓰기를 제한할 수 있는 봉인 기능을 제공하여, 파일의 내용을 무단으로 열람, 유출 및 훼손하는 것을 원천적으로 방지할 수 있는 데이터 보호 방법을 제공함에 있다. Accordingly, it is an object of the present invention to provide a sealing function that can restrict the reading and writing of specific file contents in an operating system that provides a file system service, thereby fundamentally preventing unauthorized viewing, leakage, and damage to the contents of a file To provide a data protection method that can be prevented.

상기 목적을 달성하기 위한 본 발명에 따른 데이터 보호 방법은, 사용자의 명령을 통해 스토리지 장치에 저장된 파일 중에서 제1 파일에 대해 읽기 및 쓰기를 차단하는 봉인 요청을 받는 단계, 상기 사용자가 상기 제1 파일에 대한 파일 엑세스 권한이 있고, 상기 제1 파일이 봉인된 상태가 아니면, 봉인 패스워드를 입력받는 단계, POSIX API를 통해 상기 봉인 패스워드를 포함하는 상기 제1 파일에 대한 봉인 명령을 상기 스토리지 장치에 파일시스템 서비스를 제공하는 운영체제의 커널에 전송하는 단계, 상기 커널에서 상기 제1 파일의 메타데이터에 봉인 상태를 나타내는 봉인 플래그와, 봉인 패스워드 속성을 추가로 생성하는 단계, 및 상기 커널에서 상기 봉인 플래그를 봉인 상태로 설정하여 상기 제1 파일에 대한 읽기나 쓰기를 차단하는 봉인 상태로 만들고, 상기 봉인 패스워드 속성에 전송받은 봉인 패스워드를 암호화하여 저장하는 단계를 포함한다.The data protection method according to the present invention for achieving the above object includes the steps of receiving a sealing request for blocking reading and writing of a first file among files stored in a storage device through a command of a user, wherein the user receives the first file If the first file is not sealed, receiving an input of a sealing password, and sending a sealing command for the first file including the sealing password through the POSIX API to the storage device. Transmitting the system service to a kernel of an operating system providing a system service, the kernel further generating a sealing flag indicating a sealing state in the metadata of the first file and a sealing password attribute, and generating the sealing flag in the kernel and setting the sealed state to a sealed state that blocks reading or writing of the first file, and encrypting and storing the sealed password transmitted to the sealed password attribute.

상기 제1 파일에 대한 읽기나 쓰기 명령이 있는 경우, 상기 커널에서 상기 제1 파일의 봉인 플래그를 검사하여 봉인 상태인 경우, 에러 메시지를 리턴하고, 상기 읽기나 쓰기 명령의 수행을 차단할 수 있다. When there is a read or write command for the first file, the kernel checks the seal flag of the first file, and if it is in a sealed state, an error message may be returned and execution of the read or write command may be blocked.

또한, 특정 파일에 대한 봉인 요청이 있는 경우, 상기 POSIX API를 통해 상기 커널로부터 상기 특정 파일의 봉인 플래그 설정값을 가져와서 봉인 상태를 확인하는 단계, 및 상기 특정 파일이 봉인된 상태이면, 에러 메시지를 표시하는 단계를 더 포함할 수 있다. In addition, when there is a request to seal a specific file, checking the sealing status by obtaining the sealing flag setting value of the specific file from the kernel through the POSIX API, and if the specific file is in a sealed state, an error message It may further include the step of displaying.

또한, 사용자의 명령을 통해 제2 파일에 대해 봉인 해제를 요청 받는 단계, 상기 사용자가 상기 제2 파일에 대한 파일 엑세스 권한이 있고, 상기 제2 파일이 봉인된 상태이면, 봉인 해제 패스워드를 입력받는 단계, POSIX API를 통해 상기 봉인 해제 패스워드를 포함하는 상기 제2 파일에 대한 봉인 해제 명령을 상기 커널에 전송하는 단계, 상기 커널에서 전송받은 봉인 해제 패스워드가 상기 제2 파일의 봉인 패스워드 속성에 저장된 봉인 패스워드와 일치하는 경우, 상기 제2 파일의 봉인 플래그를 봉인되지 않은 상태로 설정하여 상기 제2 파일에 대한 읽기나 쓰기를 허용하는 상태로 전환하는 단계를 더 포함할 수 있다.In addition, receiving a request to release the seal of the second file through a user's command, if the user has file access rights to the second file and the second file is in a sealed state, receiving a seal release password Step, transmitting a seal release command for the second file including the seal release password to the kernel through a POSIX API, the seal in which the seal release password received from the kernel is stored in the seal password attribute of the second file The method may further include the step of setting a seal flag of the second file to an unsealed state to change to a state allowing reading or writing of the second file when the password matches.

또한, 상기 목적을 달성하기 위한 본 발명에 따른 데이터 저장 시스템은, 스토리지 장치, 메모리, 제어부, 및 상기 메모리에 저장되어 상기 제어부에 의해 실행되는 하나 이상의 모듈을 포함하며, 상기 모듈은, 사용자의 명령을 통해 스토리지 장치에 저장된 파일 중에서 제1 파일에 대해 읽기 및 쓰기를 차단하는 봉인 요청을 받는 과정, 상기 사용자가 상기 제1 파일에 대한 파일 엑세스 권한이 있고, 상기 제1 파일이 봉인된 상태가 아니면, 봉인 패스워드를 입력받는 과정, POSIX API를 통해 상기 봉인 패스워드를 포함하는 상기 제1 파일에 대한 봉인 명령을 상기 스트로지 장치에 파일시스템 서비스를 제공하는 운영체제의 커널에 전송하는 과정을 포함하며, 상기 커널에서 상기 제1 파일의 메타데이터에 봉인 상태를 나타내는 봉인 플래그와, 봉인 패스워드 속성을 추가로 생성하고, 상기 봉인 플래그를 봉인 상태로 설정하여 상기 제1 파일에 대한 읽기나 쓰기를 불허하는 봉인 상태로 만들고, 상기 봉인 패스워드 속성에 전송받은 봉인 패스워드를 암호화하여 저장하는 과정을 수행할 수 있다. In addition, the data storage system according to the present invention for achieving the above object includes a storage device, a memory, a control unit, and one or more modules stored in the memory and executed by the control unit, wherein the module includes a user's command A process of receiving a sealing request for blocking reading and writing of the first file among the files stored in the storage device through , receiving a sealing password, and transmitting a sealing command for the first file including the sealing password through a POSIX API to a kernel of an operating system that provides a file system service to the storage device, the A sealing state in which the kernel additionally generates a sealing flag indicating a sealing state in the metadata of the first file and a sealing password attribute, and sets the sealing flag to the sealed state to disallow reading or writing of the first file and the process of encrypting and storing the sealed password transmitted to the sealed password attribute can be performed.

그리고, 상기 목적을 달성하기 위하여 본 발명에서는, 상기 데이터 보호 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 프로세서로 읽을 수 있는 기록매체를 제공한다.And, in order to achieve the above object, the present invention provides a processor-readable recording medium in which a program for executing the data protection method in the processor is recorded.

본 발명에 따르면, 파일시스템 서비스를 제공하는 스토리지 운영체제에서 파일 봉인 기능을 제공하여, DLP(Data Leakage Protection)나 암호화 등 별도의 복잡한 소프트웨어의 설치 및 관리 없이도 스토리지 레벨에서 완벽하게 파일 내용의 열람, 유출 및 훼손을 원천적으로 방지할 수 있다. 이에 의해, 기존의 DLP 솔루션이 방지할 수 없는 관리자 권한을 통해 스토리지 장치로부터 직접 파일의 내용을 불법적으로 열람하거나 유출하는 것을 방지할 수 있다. 또한, 부수적으로 파일 열람뿐만 아니라 파일의 내용을 수정하는 것도 방지함으로써 악성 소프트웨어나 악의적인 변조로 부터 파일의 내용을 보호하는 기능도 제공할 수 있다.According to the present invention, a file sealing function is provided in a storage operating system that provides a file system service, so that file contents can be read and leaked completely at the storage level without the installation and management of separate complex software such as DLP (Data Leakage Protection) or encryption. and damage can be fundamentally prevented. Thereby, it is possible to prevent illegally reading or leaking the contents of a file directly from the storage device through the administrator's authority, which cannot be prevented by the existing DLP solution. In addition, it is possible to provide a function of protecting the contents of a file from malicious software or malicious tampering by preventing not only viewing the file but also modifying the contents of the file.

도 1은 본 발명에 따른 데이터 보호 방법이 적용되는 데이터 저장 시스템의 일 예를 나타낸 도면,
도 2 및 도 3은 본 발명의 일실시예에 따른 데이터 보호 방법에서 파일 봉인 과정에 대한 설명에 제공되는 흐름도,
도 4는 본 발명의 일실시예에 따른 데이터 보호 방법에서 운영체제의 커널에서 동작 과정에 대한 설명에 제공되는 흐름도, 그리고
도 5 및 도 6은 본 발명의 일실시예에 따른 데이터 보호 방법에서 파일 봉인 해제 과정에 대한 설명에 제공되는 흐름도이다.
1 is a view showing an example of a data storage system to which a data protection method according to the present invention is applied;
2 and 3 are flowcharts provided for explaining a file sealing process in a data protection method according to an embodiment of the present invention;
4 is a flowchart provided for explaining an operation process in a kernel of an operating system in a data protection method according to an embodiment of the present invention; and
5 and 6 are flowcharts provided to explain a file seal release process in a data protection method according to an embodiment of the present invention.

본 명세서에서, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 경우, 어떤 구성요소에 다른 구성요소에 직접적으로 연결되어 있거나 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 또는 "~에 이웃하는" 등과, 어떤 구성요소가 다른 구성요소로 신호를 "전송한다" 와 같은 표현도 마찬가지로 해석되어야 한다.In this specification, when a component is referred to as being “connected” or “connected” to another component, the component may be directly connected or connected to another component, but another component in the middle. It should be understood that elements may exist. In addition, other expressions describing the relationship between elements, such as "between" or "neighboring to", and expressions such as that one element "transmits" a signal to another element, should be interpreted similarly. do.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명에 따른 데이터 보호 방법이 적용되는 데이터 저장 시스템의 일 예를 나타낸 것이다. 1 shows an example of a data storage system to which a data protection method according to the present invention is applied.

도 1을 참조하면, 본 데이터 저장 시스템(100)은, 통신부(110), 메모리(120), 스토리지 인터페이스부(130), 스토리지 장치(140), 및 제어부(150)를 포함할 수 있다. 이와 같은 구성요소들은 실제 응용에서 구현될 때 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다.Referring to FIG. 1 , the data storage system 100 may include a communication unit 110 , a memory 120 , a storage interface unit 130 , a storage device 140 , and a control unit 150 . When these components are implemented in actual applications, two or more components may be combined into one component, or one component may be subdivided into two or more components as needed.

통신부(110)는 네트워크를 통해 클라이언트 기기(200)나 기타 다른 기기와 데이터 송수신이 가능하도록 한다. 클라이언트 기기(200)나 기타 외부 기기를 통해 사용자는 스토리지 장치(140)에 파일을 저장하거나 저장된 파일을 읽거나 수정할 수 있다.The communication unit 110 enables data transmission and reception with the client device 200 or other devices through a network. Through the client device 200 or other external device, the user may store a file in the storage device 140 or read or modify the stored file.

메모리(120)는 제어부(150)의 처리 및 제어를 위한 프로그램 코드가 저장될 수 있으며, 입력되거나 출력되는 데이터들을 임시 저장하는 기능을 수행할 수도 있다. 메모리(120)에는 스토리지 장치(140)에 디렉토리 및 파일을 계층적 구조로서 논리적으로 구성하는 파일 시스템 서비스 등을 제공하는 스토리지 운영체제(125)가 설치될 수 있다. The memory 120 may store program codes for processing and control of the controller 150 , and may perform a function of temporarily storing input or output data. A storage operating system 125 that provides a file system service that logically configures directories and files as a hierarchical structure in the storage device 140 may be installed in the memory 120 .

스토리지 인터페이스부(130)는 스토리지 장치(140)와 데이터 송수신을 위한 인터페이스 역할을 수행한다.The storage interface unit 130 functions as an interface for data transmission/reception with the storage device 140 .

스토리지 장치(140)는 제어부(150)나 기타 컴퓨터 프로세서 등이 접근할 수 있도록 전자기적인 형태로 데이터를 저장하는 장치이며, 하드디스크나 SSD(Solid State Disk) 등으로 구성할 수 있다. The storage device 140 is a device that stores data in an electromagnetic form so that the controller 150 or other computer processors can access it, and may be configured as a hard disk or a solid state disk (SSD).

제어부(150)는 통상적으로 상기 각부의 동작을 제어하여 데이터 저장 시스템(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(150)는 스토리지 장치(140)에서 디스크의 어레이를 포함하는 하나 이상의 볼륨을 관리하고, 클라이언트 기기(200)나 기타 외부 기기의 요청에 따라, 스토리지 장치(140)에 데이터를 기록하거나 수정, 또는 추가하거나 삭제하는 것과 같은 동작을 수행할 수 있다. The control unit 150 controls the overall operation of the data storage system 100 by generally controlling the operation of the respective units. For example, the controller 150 manages one or more volumes including an array of disks in the storage device 140 , and transmits data to the storage device 140 according to a request from the client device 200 or other external device. You can perform operations such as recording, editing, or adding or deleting.

이와 같은 데이터 저장 시스템에서, 관리자 권한을 가진 사용자는 스토리지 장치(140)에 저장된 어떠한 데이터든지 변경하거나 삭제할 수 있는 권한을 가진다. 그런데, 정상적으로 관리자 권한을 부여받은 관리자가 실수 혹은 의도적으로 데이터를 손상시키는 경우나, 불법적으로 관리자 권한을 획득한 침입자가 데이터를 파괴하는 경우 등이 발생할 수 있다. In such a data storage system, a user having administrator authority has authority to change or delete any data stored in the storage device 140 . However, there may be cases where an administrator who is normally granted administrator rights damages data by mistake or intentionally, or an intruder who has illegally obtained administrator rights destroys data.

이를 방지하기 위해 WORM(Write Once Read Many) 기능을 부가할 수 있는데, WORM 기능이 구현된 데이터 저장 시스템은 어떠한 경로로 관리자 권한을 획득하더라도 데이터를 변조하거나 삭제하는 것을 허용되지 않는 구조를 가진다.In order to prevent this, a write once read many (WORM) function can be added. The data storage system in which the WORM function is implemented has a structure that does not allow tampering or deletion of data no matter what path the administrator authority is obtained.

또한, 본 발명에서는 특정 파일에 대해 읽기 및 쓰기를 제한할 수 있는 봉인을 설정할 수 있고, 봉인 설정된 파일에 대해서는 어떠한 권한으로도 파일의 내용을 읽거나 수정을 할 수 없도록 차단하는 기능을 커널 내부에 구현한다. 이때, 이러한 기능을 제공하는 소프트웨어는 스토리지 운영체제(125)안에 고정된 코드로 구현이 되거나 펌웨어로 구현되어 외부에서 이를 변경할 방법을 원천적으로 차단하여, 봉인 해제 전까지는 어떤 권한으로도 데이터를 열람하거나, 위변조하는 것을 방지할 수 있다. In addition, in the present invention, it is possible to set a seal that can restrict read and write of a specific file, and for the sealed file, a function to block the contents of the file from being read or modified by any authority is built into the kernel. implement At this time, the software that provides these functions is implemented as a fixed code in the storage operating system 125 or implemented as firmware to fundamentally block the method of changing it from the outside, so that the data can be read without any authority until the seal is released, Forgery can be prevented.

도 2 및 도 3은 본 발명의 일실시예에 따른 데이터 보호 방법에서 파일 봉인 과정에 대한 설명에 제공되는 흐름도이다. 2 and 3 are flowcharts provided to explain a file sealing process in a data protection method according to an embodiment of the present invention.

도 2를 참조하면, 사용자의 명령 등에 따라, 스토리지 장치(140)에 저장된 파일 중에서 선택한 제1 파일에 대해 읽기 및 쓰기를 차단하는 파일 봉인 요청이 있으면(S300), 제어부(150)는 사용자가 선택한 제1 파일에 대해 파일 엑세스 권한이 있는지 검사한다(S305).Referring to FIG. 2 , when there is a file sealing request that blocks reading and writing of a first file selected from among files stored in the storage device 140 according to a user's command ( S300 ), the controller 150 controls the user's selected file ( S300 ). It is checked whether the first file has file access authority (S305).

S305 단계의 검사 결과, 사용자가 제1 파일에 대해 파일 엑세스 권한을 보유하고 있으면, 제1 파일의 봉인 상태를 확인한다(S315).As a result of the inspection in step S305, if the user has the file access right to the first file, the sealing state of the first file is checked (S315).

봉인 상태의 확인은 POSIX API를 통해 운영체제의 커널로부터 제1 파일의 봉인 상태를 나타내는 봉인 플래그인 sealing-flag를 가져와서 확인할 수 있다. 봉인 플래그를 가져오는 명령은 다음과 같은 형식으로 나타낼 수 있다.The confirmation of the sealing state can be confirmed by fetching sealing-flag, which is a sealing flag indicating the sealing state of the first file, from the kernel of the operating system through the POSIX API. The command to get the seal flag can be expressed in the following format.

getxattr file-path sealing-flag getxattr file-path sealing-flag

그리고, POSIX는 Portable Operating System Interface의 약자로써 운영체제의 공통적인 규약을 규정하고 있는 표준으로, 애플리케이션이 운영체제들과 통신하기 위한 API 규격들을 제공한다. 이 규격의 내용은 커널로의 C 언어 인터페이스인 시스템 콜뿐만 아니라, 프로세스 환경, 파일과 디렉토리, 시스템 데이터베이스, 압축 포맷 등 다양한 분야를 포함한다.In addition, POSIX is an abbreviation of Portable Operating System Interface, which is a standard that prescribes common rules of operating systems, and provides API standards for applications to communicate with operating systems. The content of this specification includes not only the system call, which is the C language interface to the kernel, but also various fields such as the process environment, files and directories, system database, and compression format.

봉인 플래그 설정값으로부터 제1 파일이 봉인되지 않은 상태로 확인되면(S320), 제어부(150)는 사용자 명령 등에 의해 봉인 패스워드를 입력받는다(S325). When it is confirmed from the sealing flag setting value that the first file is not sealed (S320), the control unit 150 receives a sealing password by a user command or the like (S325).

다음으로 제어부(150)는 POSIX AIP를 통해 봉인 패스워드를 포함하는 제1 파일에 대한 봉인 명령을 운영체제의 커널로 전송한다(S330). 봉인 명령은 다음과 같은 형식으로 나타낼 수 있다.Next, the control unit 150 transmits a sealing command for the first file including the sealing password to the kernel of the operating system through the POSIX AIP (S330). The seal command can be expressed in the following format.

setxattr file-path sealing 봉인 패스워드setxattr file-path sealing sealing password

봉인 명령을 전달받은 커널은, 봉인 상태를 나타내는 봉인 플래그인 sealing-flag와, 봉인 패스워드 속성인 sealing-password 라는 두 개의 파일 확장 속성을 제1 파일의 메타데이터에 생성하여 파일 확장 속성을 추가로 생성하고고(S350), 봉인 플래그인 sealing-flag를 1로 설정하여 봉인된 상태로 만들고, 봉인 패스워드 속성인 sealing-password에 전달받은 봉인 패스워드를 암호화하여 저장하여, 제1 파일을 봉인 상태로 설정한다(S355). 그리고 처리 완료 메시지를 리턴한다(S360).Upon receiving the sealing command, the kernel creates two file extension attributes, sealing-flag, which is a sealing flag indicating the sealing state, and sealing-password, which is a sealing password attribute, in the metadata of the first file to create additional file extension attributes. Go (S350), set the sealing flag, sealing-flag to 1, to make it sealed, encrypt and store the sealing password transmitted to sealing-password, which is the sealing password attribute, and set the first file to the sealed state (S355). And returns a processing completion message (S360).

도 3을 참조하면, S310 단계에서 사용자에게 파일 엑세스 권한이 없는 경우, 제어부(150)는 제1 파일에 대해 파일 엑세스 권한이 없음을 표시하고(S515), 에러 메시지를 리턴한다(S345).Referring to FIG. 3 , if the user does not have file access rights in step S310 , the controller 150 displays that the user does not have file access rights for the first file ( S515 ) and returns an error message ( S345 ).

그리고, S320 단계에서 제1 파일이 이미 봉인된 상태인 경우, 제어부(150)는 제1 파일이 이미 봉인된 파일임을 표시하고(S340), 에러 메시지를 리턴한다(S345).And, when the first file is already sealed in step S320, the controller 150 displays that the first file is already a sealed file (S340) and returns an error message (S345).

이와 같은 과정에 의해, 사용자 선택한 파일에 대해 읽기 및 쓰기를 차단할 수 있는 봉인 상태를 설정할 수 있다.By this process, a sealing state that can block reading and writing of the user-selected file can be set.

도 4는 본 발명의 일실시예에 따른 데이터 보호 방법에서 운영체제의 커널에서 동작 과정에 대한 설명에 제공되는 흐름도이다. 4 is a flowchart provided to explain an operation process in a kernel of an operating system in a data protection method according to an embodiment of the present invention.

도 4를 참조하면, 운영체제의 커널에서는 애플리케이션 등으로부터 요청 받은 파일 관련 동작을 분류해서(S400), 파일에 대한 메타데이터를 처리하는 것과 관련된 동작인지, 파일의 내용을 읽거나 쓰는 것과 관련된 동작인지 등을 구분한다.Referring to FIG. 4 , the kernel of the operating system classifies file-related operations requested from applications, etc. (S400), whether operations related to processing metadata for files, operations related to reading or writing the contents of files, etc. separate the

요청받은 파일 관련 동작이 메타데이터 관련 동작인 경우(S405), 메타데이터 중에서 봉인 플래그인 sealing-flag의 설정을 요청하는 경우에는(S430), 요청된 동작의 수행을 차단하고(S445), 에러 메시지를 리턴한다(S450). When the requested file-related operation is a metadata-related operation (S405), when the setting of a sealing-flag, which is a sealing flag, is requested in the metadata (S430), the requested operation is blocked (S445), an error message returns (S450).

즉, 봉인 플래그인 Sealing-flag는, 파일 봉인 과정에서 커널 내부에서 봉인패스워드를 설정하면서 동시에 설정하는 속성이므로, 독립적으로 봉인 플래그인 sealing-flag 만 설정하는 인터페이스는 제공하지 않는다. That is, the sealing flag, Sealing-flag, is a property that is set while setting the sealing password inside the kernel during the file sealing process.

봉인 플래그를 설정하는 동작 외에는, 기타 메타데이터와 관련된 동작의 요청에 대해서는 일반적인 절차에 따라 요청된 동작이 수행되도록 하고(S435), 동작 수행이 완료되면, 요청된 동작이 성공적으로 처리 완료되었음을 나타내는 처리 완료 메시지를 리턴한다(S440).Except for the operation of setting the sealing flag, the requested operation is performed according to a general procedure for a request for an operation related to other metadata (S435), and when the operation is completed, processing indicating that the requested operation has been successfully processed A completion message is returned (S440).

요청 받은 파일 관련 동작이, 파일의 내용을 읽거나 쓰는 것과 관련된 동작인 경우(S410), 해당 파일에 sealing-flag가 설정이 되어 있어서 봉인된 상태인 경우에는(S415), 요청된 동작의 수행을 차단하고(S420), 에러 메시지를 리턴한다(S425) When the requested file-related operation is an operation related to reading or writing the contents of the file (S410), and the file is sealed because the sealing-flag is set (S415), the requested operation is not performed. Block (S420) and return an error message (S425)

요청받은 파일 관련 동작이 파일 내용의 읽거나 쓰는 것과 관련된 명령이 아닌 경우에는(S410), 일반적인 절차에 따라 요청된 동작이 수행되도록 하고(S435), 동작 수행이 완료되면, 요청된 동작이 성공적으로 처리 완료되었음을 나타내는 처리 완료 메시지를 리턴한다(S440).If the requested file-related operation is not a command related to reading or writing the file contents (S410), the requested operation is performed according to the general procedure (S435), and when the operation is completed, the requested operation is successfully performed A process completion message indicating that the process has been completed is returned (S440).

이와 같이, 커널 내부에서는 파일 관련 동작 요청이 있는 경우마다, 해당 파일이 봉인된 것인지를 확인하며, 봉인된 파일에 대해서는 파일의 메타데이터 엑세스는 허용하지만 파일 내용에 대한 읽기 및 쓰기는 허용하지 않도록 한다In this way, whenever there is a file-related operation request inside the kernel, it is checked whether the file is sealed. For the sealed file, access to the metadata of the file is allowed, but reading and writing to the file contents are not allowed.

도 5 및 도 6은 본 발명의 일실시예에 따른 데이터 보호 방법에서 파일 봉인 해제 과정에 대한 설명에 제공되는 흐름도이다.5 and 6 are flowcharts provided to explain a file seal release process in a data protection method according to an embodiment of the present invention.

도 5를 참조하면, 사용자의 명령 등에 따라, 스토리지 장치(140)에 저장된 파일 중에서 선택한 제2 파일에 대해 파일 봉인 해제 요청이 있으면(S500), 제어부(150)는 사용자가 선택한 제2 파일에 대해 파일 엑세스 권한이 있는지 검사한다(S505).Referring to FIG. 5 , in response to a user's command or the like, if there is a file seal release request for a second file selected from among the files stored in the storage device 140 ( S500 ), the controller 150 controls the second file selected by the user. It is checked whether there is a file access right (S505).

S505 단계의 검사 결과, 사용자가 제2 파일에 대해 파일 엑세스 권한을 보유하고 있으면, 제2 파일의 봉인 상태를 확인한다(S515).As a result of the inspection in step S505, if the user has the file access right to the second file, the sealing state of the second file is checked (S515).

봉인 상태의 확인은 POSIX API를 통해 커널로부터 제2 파일의 봉인 상태를 나타내는 봉인 플래그인 sealing-flag를 가져와서 확인할 수 있다. The confirmation of the sealing state can be confirmed by fetching sealing-flag, which is a sealing flag indicating the sealing state of the second file, from the kernel through the POSIX API.

봉인 플래그 설정값으로부터 제2 파일이 봉인된 상태로 확인되면(S520), 제어부(150)는 사용자 명령 등에 의해 봉인 해제 패스워드를 입력받는다(S525).When it is confirmed that the second file is sealed from the sealing flag setting value (S520), the control unit 150 receives a seal release password by a user command or the like (S525).

다음으로 제어부(150)는 POSIX API를 통해 봉인 해제 패스워드를 포함하는 제2 파일에 대한 봉인 해제 명령을 운영체제의 커널로 전송한다(S530). 봉인 해제 명령은 다음과 같은 형식으로 나타낼 수 있다.Next, the control unit 150 transmits a seal release command for the second file including the seal release password to the kernel of the operating system through the POSIX API (S530). The seal release command can be expressed in the following format.

setxattr file-path unsealing 봉인 해제 패스워드setxattr file-path unsealing unsealing password

봉인 명령을 전달받은 커널은, 제2 파일의 메타데이터에서 봉인 패스워드 속성인 sealing-password에 저장되어 있는 봉인 패스워드와 전달받은 봉인 해제 패스워드를 비교하여, 둘이 서로 일치하는 경우(S550), 봉인 플래그인 sealing-flag를 0으로 설정하여 제2 파일에 대한 봉인 설정을 해제한다(S560). 그리고 처리 완료 메시지를 리턴한다(S560).The kernel, which has received the sealing command, compares the sealing password stored in the sealing-password attribute, which is the sealing-password in the metadata of the second file, with the received sealing release password, and if the two match (S550), the sealing flag The sealing-flag is set to 0 to release the sealing setting for the second file (S560). And returns a processing completion message (S560).

만일, 봉인 패스워드 속성인 sealing-password에 저장되어 있는 봉인 패스워드와 전달받은 봉인 해제 패스워드가 일치하지 않는 경우에는(S550), 제2 파일의 봉인을 해제하지 않고, 에러 메시지를 리턴한다(S565)).If the sealing password stored in sealing-password, which is the sealing password attribute, and the received sealing release password do not match (S550), the second file is not released and an error message is returned (S565)) .

도 6을 참조하면, S510 단계에서 사용자에게 파일 엑세스 권한이 없는 경우, 제어부(150)는 제2 파일에 대해 파일 엑세스 권한 없음을 표시하고(S515), 에러 메시지를 리턴한다(S545).Referring to FIG. 6 , if the user does not have the file access right in step S510 , the controller 150 displays that there is no file access right for the second file ( S515 ) and returns an error message ( S545 ).

그리고, S520 단계에서 제2 파일이 봉인된 상태가 아니면, 제어부(150)는 제2 파일이 봉인되지 않은 파일임을 표시하고(S540), 봉인 상태가 아닌 파일은 봉인 해제의 대상이 아니므로 에러 메시지를 리턴한다(S545).And, if the second file is not in a sealed state in step S520, the controller 150 displays that the second file is an unsealed file (S540), and an error message because a file that is not in a sealed state is not subject to unsealing. returns (S545).

이와 같은 과정에 의해, 사용자는 특정 파일에 대해 파일 봉인 과정을 수행하여, 봉인된 파일에 대해서 파일 읽기 및 쓰기를 차단할 수 있으며, 봉인을 해제하는 과정에서 봉인 과정에서 설정한 패스워드를 입력하여 커널 내부에서만 봉인 플래그를 변경하도록 구성하여, 임의 조작을 원천 방지할 수 있다. Through this process, the user can block reading and writing of the sealed file by performing the file sealing process for a specific file. By configuring to change the sealing flag only in , it is possible to prevent arbitrary manipulation at the source.

한편, 본 발명에 따른 데이터 보호 방법은 상기한 바와 같이 설명된 실시예들의 구성에 한정되게 적용될 수 있는 것이 아니라, 상기한 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.On the other hand, the data protection method according to the present invention can not be applied limitedly to the configuration of the described embodiments as described above, but all or part of each embodiment is selectively applied to the above-described embodiments so that various modifications can be made. It may be configured in combination.

또한, 본 발명은 프로그램 가능한 컴퓨터상에서 컴퓨터 프로그램으로 구현 가능하다. 이러한 컴퓨터는 프로세서, 저장장치, 입력장치, 출력 장치를 포함할 수 있다. 본 발명에서 설명한 내용을 구현하기 위해 프로그램 코드는 마우스 또는 키보드 입력장치로 입력될 수 있다. 이러한 프로그램들은 고차원적인 언어나, 객체지향적인 언어로 구현될 수 있다. 또한 어셈블리나 기계어 코드로 구현된 컴퓨터 시스템으로도 구현될 수 있다. In addition, the present invention can be implemented as a computer program on a programmable computer. Such a computer may include a processor, a storage device, an input device, and an output device. In order to implement the contents described in the present invention, the program code may be input with a mouse or keyboard input device. These programs can be implemented in a high-level language or an object-oriented language. It can also be implemented as a computer system implemented in assembly or machine code.

또한, 본 발명의 내용은 하드웨어나 소프트웨어 사용에만 국한되지는 않으며, 다른 어떤 컴퓨팅 또는 처리 환경에 대해서도 적용 가능하다. 본 발명에서 설명하는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 본 발명은 회로를 사용하여 구현될 수 있다. 즉, 한 개 이상의 프로그램 가능한 논리회로, 즉 ASIC(application specific integrated circuit) 또는 논리회로(AND, OR NAND gates) 또는 프로세싱 장치(예컨대, 마이크로 프로세서, 콘트롤러)로 구현가능하다. In addition, the content of the present invention is not limited to the use of hardware or software, and is applicable to any other computing or processing environment. It may be implemented by hardware, software, or a combination of hardware and software described in the present invention. The present invention can be implemented using circuits. That is, it may be implemented as one or more programmable logic circuits, that is, an application specific integrated circuit (ASIC) or logic circuits (AND, OR NAND gates) or a processing device (eg, a microprocessor, a controller).

본 발명은 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것도 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be implemented as processor-readable codes on a processor-readable recording medium. The processor-readable recording medium includes all types of recording devices in which data readable by the processor is stored. Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. In addition, the processor-readable recording medium is distributed in a computer system connected to a network, so that the processor-readable code can be stored and executed in a distributed manner.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention as claimed in the claims Various modifications may be made by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

100 : 데이터 저장 시스템 110 : 통신부
120 : 메모리 130 : 스토리지 인터페이스부
140 : 스토리지 장치 150 : 제어부
200 : 클라이언트 기기
100: data storage system 110: communication unit
120: memory 130: storage interface unit
140: storage device 150: control unit
200: client device

Claims (10)

사용자의 명령을 통해 스토리지 장치에 저장된 파일 중에서 제1 파일에 대해 읽기 및 쓰기를 차단하는 봉인 요청을 받는 단계;
상기 사용자가 상기 제1 파일에 대한 파일 엑세스 권한이 있고, 상기 제1 파일이 봉인된 상태가 아니면, 봉인 패스워드를 입력받는 단계;
POSIX API를 통해 상기 봉인 패스워드를 포함하는 상기 제1 파일에 대한 봉인 명령을 상기 스토리지 장치에 파일시스템 서비스를 제공하는 운영체제의 커널에 전송하는 단계;
상기 커널에서 상기 제1 파일의 메타데이터에 봉인 상태를 나타내는 봉인 플래그와, 봉인 패스워드 속성을 추가로 생성하는 단계; 및
상기 커널에서 상기 봉인 플래그를 봉인 상태로 설정하여 상기 제1 파일에 대한 읽기 및 쓰기를 차단하는 봉인 상태로 만들고, 상기 봉인 패스워드 속성에 전송받은 봉인 패스워드를 암호화하여 저장하는 단계를 포함하는 데이터 보호 방법.
receiving a sealing request for blocking reading and writing of a first file among files stored in a storage device through a user's command;
receiving a sealing password when the user has a file access right to the first file and the first file is not in a sealed state;
transmitting a sealing command for the first file including the sealing password through a POSIX API to a kernel of an operating system that provides a file system service to the storage device;
generating, in the kernel, a sealing flag indicating a sealing state and a sealing password attribute in the metadata of the first file; and
Data protection method comprising the steps of setting the sealing flag in the kernel to a sealed state, making it a sealed state that blocks reading and writing of the first file, and encrypting and storing the sealed password transmitted to the sealed password attribute. .
제1항에 있어서,
상기 제1 파일에 대한 읽기나 쓰기 명령이 있는 경우, 상기 커널에서 상기 제1 파일의 봉인 플래그를 검사하여 봉인 상태인 경우, 에러 메시지를 리턴하고, 상기 읽기나 쓰기 명령의 수행을 차단하는 것을 특징으로 하는 데이터 보호 방법.
According to claim 1,
When there is a read or write command for the first file, the kernel checks the seal flag of the first file, and if it is in a sealed state, returns an error message and blocks execution of the read or write command data protection method.
제1항에 있어서,
특정 파일에 대한 봉인 요청이 있는 경우, 상기 POSIX API를 통해 상기 커널로부터 상기 특정 파일의 봉인 플래그 설정값을 가져와서 봉인 상태를 확인하는 단계; 및
상기 특정 파일이 봉인된 상태이면, 에러 메시지를 리턴하는 단계를 더 포함하는 데이터 보호 방법.
According to claim 1,
when there is a request to seal a specific file, checking a sealing state by obtaining a sealing flag setting value of the specific file from the kernel through the POSIX API; and
If the specific file is in a sealed state, the data protection method further comprising the step of returning an error message.
제1항에 있어서,
상기 커널은, 봉인된 파일에 대해 읽기나 쓰기 명령의 수행은 차단하지만, 상기 봉인된 파일의 메타데이터에 대한 엑세스는 허용하는 것을 특징으로 하는 데이터 보호 방법.
According to claim 1,
wherein the kernel blocks execution of a read or write command on the sealed file, but permits access to metadata of the sealed file.
제1항에 있어서,
상기 커널은, 상기 봉인 플래그 설정을 변경하는 명령의 수행을 차단하는 것을 특징으로 하는 데이터 보호 방법.
According to claim 1,
The data protection method, characterized in that the kernel blocks execution of a command to change the setting of the sealing flag.
제1항에 있어서,
사용자의 명령을 통해 제2 파일에 대해 봉인 해제를 요청 받는 단계;
상기 사용자가 상기 제2 파일에 대한 파일 엑세스 권한이 있고, 상기 제2 파일이 봉인된 상태이면, 봉인 해제 패스워드를 입력받는 단계;
상기 POSIX API를 통해 상기 봉인 해제 패스워드를 포함하는 상기 제2 파일에 대한 봉인 해제 명령을 상기 커널에 전송하는 단계; 및
상기 커널에서 전송받은 봉인 해제 패스워드가 상기 제2 파일의 봉인 패스워드 속성에 저장된 봉인 패스워드와 일치하는 경우, 상기 제2 파일의 봉인 플래그를 봉인되지 않은 상태로 설정하여 상기 제2 파일에 대한 읽기나 쓰기를 허용하는 상태로 전환하는 단계를 더 포함하는 데이터 보호 방법.
The method of claim 1,
receiving a request to release the seal of the second file through a user's command;
receiving a seal release password when the user has a file access right to the second file and the second file is in a sealed state;
transmitting a seal release command for the second file including the seal release password to the kernel through the POSIX API; and
When the seal release password transmitted from the kernel matches the seal password stored in the seal password attribute of the second file, reading or writing the second file by setting the seal flag of the second file to an unsealed state A data protection method further comprising transitioning to a state that allows
제1항 내지 제6항 중 어느 한 항의 데이터 보호 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 프로세서가 읽을 수 있는 기록매체. A processor-readable recording medium recording a program for executing the data protection method of any one of claims 1 to 6 in the processor. 스토리지 장치;
다른 기기와 데이터 송수신이 가능하도록 하는 통신부;
상기 스토리지 장치에 파일시스템 서비스를 제공하는 운영체제의 커널이 설치되는 메모리; 및
상기 다른 기기로부터 전달되는 사용자의 명령을 통해 상기 스토리지 장치에 저장된 파일 중에서 제1 파일에 대해 읽기 및 쓰기를 차단하는 봉인 요청을 받는 경우, 상기 사용자가 상기 제1 파일에 대한 파일 엑세스 권한이 있고, 상기 제1 파일이 봉인된 상태가 아니면, 봉인 패스워드를 입력받고, POSIX API를 통해 상기 봉인 패스워드를 포함하는 상기 제1 파일에 대한 봉인 명령을 상기 커널에 전송하는 제어부;를 포함하며,
상기 커널에서는 상기 제1 파일의 메타데이터에 봉인 상태를 나타내는 봉인 플래그와, 봉인 패스워드 속성을 추가로 생성하고, 상기 봉인 플래그를 봉인 상태로 설정하여 상기 제1 파일에 대한 읽기나 쓰기를 불허하는 봉인 상태로 만들고, 상기 봉인 패스워드 속성에 전송받은 봉인 패스워드를 암호화하여 저장하는 것을 특징으로 하는 데이터 저장 시스템.
storage device;
a communication unit that enables data transmission and reception with other devices;
a memory in which a kernel of an operating system providing a file system service to the storage device is installed; and
When a sealing request for blocking reading and writing of a first file among files stored in the storage device is received through a user's command transmitted from the other device, the user has file access rights to the first file, When the first file is not in a sealed state, a control unit that receives a sealing password and transmits a sealing command for the first file including the sealing password to the kernel through a POSIX API;
In the kernel, a sealing flag indicating a sealing state and a sealing password attribute are additionally generated in the metadata of the first file, and the sealing flag is set to the sealed state to disallow reading or writing of the first file. A data storage system, characterized in that the encrypted password is stored in the state, and the sealed password transmitted to the sealed password attribute is encrypted.
제8항에 있어서,
상기 제어부는,
상기 다른 기기로부터 전달되는 사용자의 명령을 통해 제2 파일에 대해 봉인 해제를 요청 받는 경우, 상기 사용자가 상기 제2 파일에 대한 파일 엑세스 권한이 있고, 상기 제2 파일이 봉인된 상태이면, 봉인 해제 패스워드를 입력받고, 상기 POSIX API를 통해 상기 봉인 해제 패스워드를 포함하는 상기 제2 파일에 대한 봉인 해제 명령을 상기 커널에 전송하며,
상기 커널에서는 전송받은 봉인 해제 패스워드가 상기 제2 파일의 봉인 패스워드 속성에 저장된 봉인 패스워드와 일치하는 경우, 상기 제2 파일의 봉인 플래그를 봉인되지 않은 상태로 설정하여 상기 제2 파일에 대해 읽기나 쓰기를 허용하는 상태로 전환하는 것을 특징으로 하는 데이터 저장 시스템.

9. The method of claim 8,
The control unit is
When a request to release the seal of the second file is received through a user's command transmitted from the other device, if the user has file access authority to the second file and the second file is in a sealed state, the seal is released receiving a password, and transmitting a seal release command for the second file including the seal release password to the kernel through the POSIX API;
In the kernel, when the received unlock password matches the seal password stored in the seal password attribute of the second file, the second file's seal flag is set to an unsealed state to read or write the second file A data storage system, characterized in that it transitions to a state that allows

삭제delete
KR1020200065876A 2020-06-01 2020-06-01 Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system KR102338774B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200065876A KR102338774B1 (en) 2020-06-01 2020-06-01 Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200065876A KR102338774B1 (en) 2020-06-01 2020-06-01 Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system

Publications (2)

Publication Number Publication Date
KR20210148690A KR20210148690A (en) 2021-12-08
KR102338774B1 true KR102338774B1 (en) 2021-12-14

Family

ID=78867865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065876A KR102338774B1 (en) 2020-06-01 2020-06-01 Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system

Country Status (1)

Country Link
KR (1) KR102338774B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098034A (en) * 2022-07-07 2022-09-23 北京双洲科技有限公司 Storage method of context encryption key in linux operating system environment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170059082A (en) * 2015-11-20 2017-05-30 삼성전자주식회사 File operation processing method and electronic device supporting the same
US10235176B2 (en) * 2015-12-17 2019-03-19 The Charles Stark Draper Laboratory, Inc. Techniques for metadata processing

Also Published As

Publication number Publication date
KR20210148690A (en) 2021-12-08

Similar Documents

Publication Publication Date Title
KR100596135B1 (en) Control system for access classified by application in virtual disk and Controling method thereof
US8402269B2 (en) System and method for controlling exit of saved data from security zone
US5870467A (en) Method and apparatus for data input/output management suitable for protection of electronic writing data
US7210043B2 (en) Trusted computer system
US8752201B2 (en) Apparatus and method for managing digital rights through hooking a kernel native API
KR20060045000A (en) File locker and mechanisms for providing and using same
US20030221115A1 (en) Data protection system
CN103763313A (en) File protection method and system
KR20180017028A (en) Technologies for data monitoring to mitigate migration problems in object-oriented contexts
CN102799539A (en) Safe USB flash disk and data active protection method thereof
TWI377483B (en)
KR102338774B1 (en) Data protection method to prevent data leakage and corruption by preventing file contents from being read and written at the kernel level of the storage operating system
KR101227187B1 (en) Output control system and method for the data in the secure zone
KR101954421B1 (en) Method for preventing real-time alteration of the data in WORM storage device based on hard disk or SSD
US7694154B2 (en) Method and apparatus for securely executing a background process
KR101552688B1 (en) Security method and system at endpoint stage using user policy
KR102403127B1 (en) Data protection method to fundamentally prevent the reading and writing of file contents during the read time limit specified in the file at the kernel level of the storage operating system
KR102439075B1 (en) Data managent method for avoiding evasion the retention period set in data through reference time falsification in data storage system
TWI745784B (en) Disc security system
KR100901014B1 (en) Apparatus and method for running application in virtual environment
JP2005346150A (en) Information processor, information processing method, program, and recording medium
KR100549644B1 (en) Control system for access classified application in virtual disk and controling method thereof
TWI783189B (en) Bitlocker disc administration system
TWI736012B (en) Bitlocker disc process identification management system and method
EP0715734A1 (en) File encryption scheme

Legal Events

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