KR102430085B1 - 암호화 기능을 수행하는 커널 모듈 - Google Patents

암호화 기능을 수행하는 커널 모듈 Download PDF

Info

Publication number
KR102430085B1
KR102430085B1 KR1020200115085A KR20200115085A KR102430085B1 KR 102430085 B1 KR102430085 B1 KR 102430085B1 KR 1020200115085 A KR1020200115085 A KR 1020200115085A KR 20200115085 A KR20200115085 A KR 20200115085A KR 102430085 B1 KR102430085 B1 KR 102430085B1
Authority
KR
South Korea
Prior art keywords
encryption
data
file
kernel module
decryption
Prior art date
Application number
KR1020200115085A
Other languages
English (en)
Other versions
KR20220033109A (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 KR1020200115085A priority Critical patent/KR102430085B1/ko
Publication of KR20220033109A publication Critical patent/KR20220033109A/ko
Application granted granted Critical
Publication of KR102430085B1 publication Critical patent/KR102430085B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

본 발명은 암호화 기능을 수행하는 커널 모듈에 있어서, 상기 커널 모듈은, 데이터에 대한 open 함수가 호출되었을 때, 기설정된 암복호화 알고리즘을 거쳐 실행되고, 상기 데이터 open 시에 상기 데이터를 포함하는 파일 정보를 저장하고, 상기 데이터에 대한 close 함수가 호출되었을 때, 상기 저장된 파일 정보에 기초하여 암호화를 수행하도록 설정된다.

Description

암호화 기능을 수행하는 커널 모듈{KERNEL MODULE FOR EXCUTING ENCRYPTION FUNCTION}
본 발명은 암호화 기능을 수행하는 커널 모듈에 관한 것으로서, 보다 상세하게는 웹 어플리케이션 서버에서 동작하는 암호화 커널 모듈에 관한 것이다.
기업이나 업무용 컴퓨터의 경우, 기술 개발 결과물 또는 기술 개발에 관련된 중요한 데이터를 저장하고 있다. 또한, 개인용 컴퓨터의 경우에도 개인의 프라이버시와 관련된 데이터를 저장하고 있다.
이러한 중요 데이터에 대한 관리는 보안 시스템이 발달되면서 보다 철저한 솔루션으로서 제공되고 있다. 특히, 기업에서 관리중인 전자 문서의 반출 등에 있어서는 암호화/복호화 프로세스를 거쳐야 가능하다.
암호화 모듈의 경우, 특히 비정형 데이터(unstructed data)의 경우에 암/복호화된 데이터는 새로운 파일 형태로 저장될 수 있으며, 서버에 등록된 비정형 데이터의 암호화 정책정보는 암호화된 상태로 관리된다.
기업/기관이 보호해야 할 데이터 중 비정형 데이터의 비중은 계속해서 증가될 것으로 전망되고 있으며, 이미 비정형 데이터가 차지하는 비율이 80%를 넘어선 것으로 나타나고 있다.
다만, 이러한 비정형 데이터의 암/복호화에 대하여 다양한 형태의 암/복호화 기법이 적용될 수 있으며, 본 발명에서는 효율적인 암/복호화 정책에 따르는 암/복호화 기능에 대하여 구체적으로 개시하기로 한다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 파일 암/복호화를 수행할 수 있다.
본 발명의 일 실시예는 암호화 기능을 수행하는 커널 모듈에 있어서, 상기 커널 모듈은, 데이터에 대한 open 함수가 호출되었을 때, 기설정된 암복호화 알고리즘을 거쳐 실행되고, 상기 데이터 open 시에 상기 데이터를 포함하는 파일 정보를 저장하고, 상기 데이터에 대한 close 함수가 호출되었을 때, 상기 저장된 파일 정보에 기초하여 암호화를 수행하도록 설정된다.
또한, 상기 커널 모듈은, 커널 라이브러리 호출 명령을 후킹(hooking)한 이후에 open 함수가 호출되는지를 판단하는 것을 특징으로 한다.
또한, 상기 저장된 파일 정보는, 해시맵(hashmap) 형식으로서, 파일의 키 값 및 밸류 값이 매칭되어 저장되는 것을 특징으로 한다.
또한, 상기 커널 모듈은, 유닉스의 LD_PRELOAD를 이용하여 상기 기설정된 암복호화 알고리즘을 거쳐 실행되는 것을 특징으로 한다.
본 발명은 암호화 기능을 수행하는 커널 모듈에 관한 것으로, 시스템의 수정을 최소화하여 암/복호화 기능을 제공할 수 있다.
본 발명에 따를 때, 커널 모듈 설정만으로 암/복호화를 수행할 수 있다.
본 발명에 따를 때, 커널 모듈에 오류 발생시 시스템에 영향이 없는 유리한 효과가 있다.
도 1은 본 발명의 일 예에 따르는 암호화 시스템을 개념적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따르는 암호화 이전을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따르는 암호화 이후를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따르는 복호화 이후를 나타내는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), LTE(Long Term Evolution) 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, “네트워크”는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
도 1은 본 발명의 일 예에 따르는 암호화 시스템을 개념적으로 나타내는 도면이다.
도 1에 도시된 바와 같이 암호화 시스템은 보안 관리자가 관리자 서버를 통해 암호화키 관리/정책 서버를 관리하며, 암호화키 관리/정책 서버는 고객 시스템에 대한 데이터를 암호화 및 관리한다.
정보보안 담당자가 암/복호화 정책 설정 서버에 접속하여, 키를 비롯한 암복호화에 대한 정보를 입력하고, 각 서버에 암/복호화 정보가 도달할 수 있도록 한다.
웹 어플리케이션 서버(Web Application Server; WAS) 필터에서는 사용자가 올린 비정형 데이터를 확인하고 해당 데이터가 암호화 대상인지 여부를 URI, request/response 헤더, 디렉토리 정보 등 정책 정보를 검토한다.
암/복호화 대상일 경우에는 해당 비정형 데이터는 API를 통해서 암/복호화가 이루어지고 암/복호화된 데이터는 새로운 파일 형태로 서버에 저장된다.
서버에 등록된 비정형 데이터의 암호화 정책 정보는 암호화된 상태로 관리된다.
일반 사용자가 서버에 저장된 암호화된 비정형 데이터를 확인하게 되었을 때, 일반적인 암호화일 경우, 알 수 없는 값들로만 확인이 가능하다.
이미지 익명화나 선택적 이미지 암호화의 경우에는 정의된 이미지를 확인함으로서 해당 파일 또는 비정형 데이터가 암호화되어 있음을 인지할 수 있다.
권한이 있는 사용자가 암호화된 비정형 데이터를 확인하게 되면 WAS 필터 모듈에서 해당 암호화 데이터를 확인하여 사용자의 권한에 따라 데이터를 복호화하고 사용자의 PC에 원본 비정형 데이터를 저장한다.
권한있는 사용자는 복호화된 비정형 데이터를 정상적으로 확인할 수 있다.
본 발명에 따르는 커널 모듈은 암호화 모듈로서, 사용자 또는 관리자가 정의한 커널 정책에 따라 암/복호화 정책을 저장한다.
본 발명에 따르는 커널 모듈은 파일의 open 또는 close 함수를 통해 수행되며, 해당 커널 모듈이 호출되었을 때, 암호화 모듈이 동작한다.
암호화 기능을 수행하는 커널 모듈에 있어서, 상기 커널 모듈은, 데이터에 대한 open 함수가 호출되었을 때, 기설정된 암복호화 알고리즘을 거쳐 실행되고, 상기 데이터 open 시에 상기 데이터를 포함하는 파일 정보를 저장하고, 상기 데이터에 대한 close 함수가 호출되었을 때, 상기 저장된 파일 정보에 기초하여 암호화를 수행하도록 설정된다.
또한, 상기 커널 모듈은, 커널 라이브러리 호출 명령을 후킹(hooking)한 이후에 open 함수가 호출되는지를 판단한다.
또한, 상기 저장된 파일 정보는, 해시맵(hashmap) 형식으로서, 파일의 키 값 및 밸류 값이 매칭되어 저장된다.
또한, 상기 커널 모듈은, 유닉스의 LD_PRELOAD를 이용하여 상기 기설정된 암복호화 알고리즘을 거쳐 실행된다.
상기와 같은 커널 모듈은 하기 표1과 같이 솔루션의 형태로 설정될 수 있다.
구분 내용 비고
cert rootca.crt KMS 서버와 SSL 통신 시 사용
sapi_root/conf sapi.cfg Smartguard 설정파일
ap-kernel.cfg Kernel 설정파일
sapi_root/data 암/복호화 키 파일 생성위치
sapi__root/data/seed policySeed.so
sapi_root/log 로그가 쌓이는 위치
lib/linux_x86_32 libap_smart.so 클라이언트 라이브러리 Linux/32 bit
libap_crypto.so Crypto 라이브러리 Linux/32 bit
libap_kernel.so Kernel 라이브러리 Linux/32 bit
lib/linux_x86_64 libap_smart.so 클라이언트 라이브러리 Linux/64 bit
libap_crypto.so Crypto 라이브러리 Linux/64 bit
libap_kernel.so Kernel 라이브러리 Linux/64 bit
또한, 본 발명에 따르는 커널 모듈을 사용하기 위해서는 ${SAPI_ROOT}/conf 디렉토리에 sapi.cfg 파일이 있어야 하며, 다음과 같은 라이브러리 값들이 올바르게 설정되어 있어야 한다.
설정 설명
Loglevel Event 로그 기록 레벨을 설정합니다.
1. FATAL : 심각한 에러를 로그에 남깁니다.
2. WARNING : FATAL을 포함한 경고(비즈니스 로직 에러)를 로그에 남깁니다.
3. INFO : 에러 정보가 간략한 정보를 로그에 남깁니다.
4. TRACE : 에러, 정보, 추가 처리 상황을 로그에 남깁니다.
Logpath 로그 파일이 위치할 경로를 설정합니다.
Datapath 키 파일이 위치할 경로를 설정합니다.
Updatetype 키 업데이트 수행 여부를 설정합니다.
1. online : 업데이트를 수행합니다.
2. offline : 업데이트를 수행하지 않습니다.
Updateinterval 키 업데이트 수행 간격을 설정합니다.(초 단위)
UpdateAuth 키 업데이트 시 암/복호화 권한을 포함할지 여부를 설정합니다.
1. true : 권한 관리 설정을 업데이트합니다.
2. false : 권한 관리 설정을 업데이트하지 않습니다.
Saveseed PolicySeed 저장 여부를 설정합니다.
1. true : PolicySeed를 저장합니다.
2. false : PolicySeed를 저장하지 않습니다.
(필요시 온라인으로 받아옵니다.)
Confrewrite 설정파일을 다시 쓸지 여부를 설정합니다.
1. true : password를 지우기 위해 다시 씁니다.
2. false : 설정파일을 읽기만 합니다.
상기의 경우, 암복호화 라이브러리의 무결성 검증을 위한 설정은 하기 표 3과 같이 정의될 수 있다.
설정 설명
checkBinary αSmartGuard 라이브러리의 무결성 체크 여부를 설정합니다.
1. true : 무결성 검증을 사용합니다.
2. false : 무결성 검증을 사용하지 않습니다.
또한, 키 관리 시스템(Key Management Syetem; KMS) 접근 계정 정보를 설정하는 것은 하기 표 4와 같이 정의될 수 있다.
설정 설명
accountID KMS 접근 ID를 설정합니다.
accountPW 계정 패스워드를 설정합니다.
또한, 키 관리 서버 접속 정보의 설정은 하기 표 5와 같이 정의될 수 있다.
설정 설명
IP KMS 서버 접속 주소를 설정합니다.
Port KMS 서버 접속 포트를 설정합니다.
Usessl KMS 서버 접속 시 SSL 통신 사용 여부를 설정합니다.
1. true : SSL 통신을 사용합니다.
2. false : SSL 통신을 사용하지 않습니다.
SSLHostname 등록서버 호스트명을 설정합니다.
(등록서버 인증서의 CN 값과 동일해야 합니다.)
파일 형식은 PEM, DER 모두 지원합니다.
Ex) cn=alphabit.co.kr, o=apg, c=kr 일경우 alphabit.co.kr
SSLCAFile 등록서버 SSL CA인증서 파일 경로를 설정합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore/alphabit_ca.crt
SSLCAPath 등록서버 SSL CA 인증서 경로를 설정합니다.
해당 디렉토리에 있는 모든 인증서를 읽어 들여 처리합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore
SSLCliCert 클라이언트 SSL 인증서 파일 경로를 설정합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore/alphabit_test_server.crt
SSLCliKey 클라이언트 SSL 인증서 키 파일 경로를 설정합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore/alphabit_test_server.key
SSLPSKey 미리 공유된 키 값을 설정합니다.(HEX 인코딩)
Timeout 정책 서버 접속 제한시간을 설정합니다.(초 단위)
또한, 이중화 키 관리 서버 접속 정보의 설정은 하기 표 6과 같이 정의될 수 있다.
설정 설명
IP KMS 서버 접속 주소를 설정합니다.
Port KMS 서버 접속 포트를 설정합니다.
Usessl KMS 서버 접속 시 SSL 통신 사용 여부를 설정합니다.
1. true : SSL 통신을 사용합니다.
2. false : SSL 통신을 사용하지 않습니다.
SSLHostname 등록서버 호스트명을 설정합니다.
(등록서버 인증서의 CN 값과 동일해야 합니다.)
파일 형식은 PEM, DER 모두 지원합니다.
Ex) cn=alphabit.co.kr, o=apg, c=kr 일경우 alphabit.co.kr
SSLCAFile 등록서버 SSL CA인증서 파일 경로를 설정합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore/alphabit_ca.crt
SSLCAPath 등록서버 SSL CA 인증서 경로를 설정합니다.
해당 디렉토리에 있는 모든 인증서를 읽어 들여 처리합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore
SSLCliCert 클라이언트 SSL 인증서 파일 경로를 설정합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore/alphabit_test_server.crt
SSLCliKey 클라이언트 SSL 인증서 키 파일 경로를 설정합니다.
파일 형식은 PEM, DER 모두 지원합니다.
Ex) /certstore/alphabit_test_server.key
SSLPSKey 미리 공유된 키 값을 설정합니다.(HEX 인코딩)
Timeout 정책 서버 접속 제한시간을 설정합니다.(초 단위)
또한, 본 발명에 따르는 커널 라이브러리의 일반적인 설정은 하기 표 7과 같이 정의될 수 있다.
설정 설명
Loglevel Event 로그 기록 레벨을 설정합니다.
1. FATAL : 심각한 에러를 로그에 남깁니다.
2. WARNING : FATAL을 포함한 경고(비즈니스 로직 에러)를 로그에 남깁니다.
3. INFO : 에러 정보가 간략한 정보를 로그에 남깁니다.
4. TRACE : 에러, 정보, 추가 처리 상황을 로그에 남깁니다.
Logpath 로그 파일이 위치할 경로를 설정합니다.
또한, 본 발명에 따르는 암/복호화 정책 ID 및 감시 디렉토리 설정은 하기 표 8과 같이 정의될 수 있다.
설정 설명
Confcount 분석할 개수를 설정합니다.
policyID 적용할 정책의 ID를 설정합니다.
Directory 감시할 디렉토리를 설정합니다.
또한, 본 발명에 따른 정책에 대한 설정은 하기 표 9와 같이 정의될 수 있다.
설정 설명
Confcount 정책의 개수를 설정합니다.
policyID 정책 ID를 설정합니다.
Mode 암호화 또는 복호화 모드를 설정합니다.
1. encrypt : 암호화 모드
2. decrypt : 복호화 모드
extDelete 암/복호화 수행 이후 원본 파일의 확장자 삭제 여부를 설정합니다.
1. true : 원본 파일의 확장자를 삭제합니다.
2. false : 원본 파일의 확장자를 삭제하지 않습니다.
extResult 암/복호화 수행 이후 결과 파일의 확장자를 설정합니다.
1. nop : 원본파일의 확장자를 따라갑니다.
Passprefix 해당 파일 이름이 passprefix에 설정된 문자열로 시작하면 pass합니다.
여러 개의 문자열을 등록할 수 있으며, 구분은 콤마(“”)로 구분합니다.
passsuffix 해당 파일 이름이 passsuffix에 설정된 문자열로 끝나면 pass합니다.
여러 개의 문자열을 등록할 수 있으며, 구분은 콤마(“”)로 구분합니다.
Matchprefix 해당 파일 이름이 matchprefix에 설정된 문자열로 시작하면 암/복호화 수행합니다.
여러 개의 문자열을 등록할 수 있으며, 구분은 콤마(“”)로 구분합니다.
Matchsuffix 해당 파일 이름이 matchsuffix에 설정된 문자열로 끝나면 암/복호화 수행합니다.
여러 개의 문자열을 등록할 수 있으며, 구분은 콤마(“”)로 구분합니다.
Limitsize 파일의 제한 용량을 설정합니다.
이러한 암복호화 결과는 도 2 내지 도 4의 도면을 통해 확인할 수 있다.
도 2는 본 발명의 암복호화가 수행되기 이전의 원본 파일에 대한 도면이고, 도 3은 암호화가 수행된 이후의 파일을 나타낸 도면으로서, 일반 사용자가 알아보기 어려운 형태로 변환된 것을 확인할 수 있다.
도 4는 암호화된 파일이 복호화된 후의 도면으로서, 원본 파일과 동일한 형태로 표시되는 것을 확인할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (4)

  1. 암호화 기능을 수행하는 커널 모듈에 있어서,
    상기 커널 모듈은,
    데이터에 대한 open함수가 호출되었을 때, 기설정된 암복호화 알고리즘을 거쳐 실행되고,
    상기 데이터 open 시에 상기 데이터를 포함하는 파일 정보를 저장하고,
    상기 데이터에 대한 close 함수가 호출되었을 때, 상기 저장된 파일 정보에 기초하여 암호화를 수행하도록 설정되고,
    상기 데이터가 비정형 데이터(unstructed data)인 경우에 암복호화가 수행되기 이전의 원본 파일과 다른 파일 형태로 저장되고, 서버에 등록된 비정형 데이터의 암호화 정책 정보는 암호화된 상태로 관리되도록 설정되는, 커널 모듈.
  2. 제1항에 있어서,
    상기 커널 모듈은,
    커널 라이브러리 호출 명령을 후킹(hooking)한 이후에 open 함수가 호출되는지를 판단하는 것을 특징으로 하는, 커널 모듈.
  3. 제1항에 있어서,
    상기 저장된 파일 정보는,
    해시맵(hashmap) 형식으로서, 파일의 키 값 및 밸류 값이 매칭되어 저장되는 것을 특징으로 하는, 커널 모듈.
  4. 제1항에 있어서,
    상기 커널 모듈은,
    유닉스의 LD_PRELOAD를 이용하여 상기 기설정된 암복호화 알고리즘을 거쳐 실행되는 것을 특징으로 하는, 커널 모듈.
KR1020200115085A 2020-09-09 2020-09-09 암호화 기능을 수행하는 커널 모듈 KR102430085B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200115085A KR102430085B1 (ko) 2020-09-09 2020-09-09 암호화 기능을 수행하는 커널 모듈

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200115085A KR102430085B1 (ko) 2020-09-09 2020-09-09 암호화 기능을 수행하는 커널 모듈

Publications (2)

Publication Number Publication Date
KR20220033109A KR20220033109A (ko) 2022-03-16
KR102430085B1 true KR102430085B1 (ko) 2022-08-05

Family

ID=80937667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200115085A KR102430085B1 (ko) 2020-09-09 2020-09-09 암호화 기능을 수행하는 커널 모듈

Country Status (1)

Country Link
KR (1) KR102430085B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100547556B1 (ko) * 2004-01-30 2006-01-31 주식회사 전유시스템 암호화 파일 시스템을 지원하는 보안 커널 시스템
KR101613146B1 (ko) * 2015-03-24 2016-04-18 주식회사 티맥스데이터 데이터베이스 암호화 방법
KR101710328B1 (ko) * 2016-08-18 2017-02-27 주식회사 시큐브 동적 재구성 및 교체를 지원하는 os 보안 커널 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100547556B1 (ko) * 2004-01-30 2006-01-31 주식회사 전유시스템 암호화 파일 시스템을 지원하는 보안 커널 시스템
KR101613146B1 (ko) * 2015-03-24 2016-04-18 주식회사 티맥스데이터 데이터베이스 암호화 방법
KR101710328B1 (ko) * 2016-08-18 2017-02-27 주식회사 시큐브 동적 재구성 및 교체를 지원하는 os 보안 커널 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20220033109A (ko) 2022-03-16

Similar Documents

Publication Publication Date Title
US10671734B1 (en) Virtual machine manager for protecting against unauthorized access by computing devices
US10063594B2 (en) Network access control with compliance policy check
US8769605B2 (en) System and method for dynamically enforcing security policies on electronic files
EP1860590B1 (en) Posture-based data protection
US10033743B2 (en) Methods and systems for a portable data locker
CN110892691A (zh) 安全执行平台群集
US20140164758A1 (en) Secure cloud database platform
US20090049512A1 (en) Method and system for masking data
Industry Data security standard
US9288199B1 (en) Network access control with compliance policy check
US20080040613A1 (en) Apparatus, system, and method for secure password reset
EP1669837A2 (en) Believably trustworthy enforcement of privacy enhancing technologies in data processing
US10320777B2 (en) Access to data stored in a cloud
CN110889130A (zh) 基于数据库的细粒度数据加密方法、系统及装置
US11227041B2 (en) Identification service based authorization
US11711213B2 (en) Master key escrow process
US7412603B2 (en) Methods and systems for enabling secure storage of sensitive data
US10635826B2 (en) System and method for securing data in a storage medium
US20220147634A1 (en) Client authentication and data management system
WO2019174647A1 (zh) 磁盘阵列数据保护系统和方法
CN111539042B (zh) 一种基于核心数据文件可信存储的安全操作方法
KR102386044B1 (ko) 암호화 기능을 수행하는 필터 모듈
KR102430085B1 (ko) 암호화 기능을 수행하는 커널 모듈
CN110263008B (zh) 终端离线日志管理系统、方法、设备及存储介质
Raisian et al. Security issues model on cloud computing: A case of Malaysia

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant