KR100547556B1 - 암호화 파일 시스템을 지원하는 보안 커널 시스템 - Google Patents

암호화 파일 시스템을 지원하는 보안 커널 시스템 Download PDF

Info

Publication number
KR100547556B1
KR100547556B1 KR1020040006322A KR20040006322A KR100547556B1 KR 100547556 B1 KR100547556 B1 KR 100547556B1 KR 1020040006322 A KR1020040006322 A KR 1020040006322A KR 20040006322 A KR20040006322 A KR 20040006322A KR 100547556 B1 KR100547556 B1 KR 100547556B1
Authority
KR
South Korea
Prior art keywords
security
module
kernel
secure kernel
file system
Prior art date
Application number
KR1020040006322A
Other languages
English (en)
Other versions
KR20050077664A (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 KR1020040006322A priority Critical patent/KR100547556B1/ko
Publication of KR20050077664A publication Critical patent/KR20050077664A/ko
Application granted granted Critical
Publication of KR100547556B1 publication Critical patent/KR100547556B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

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

Abstract

본 발명은 시스템 보안을 위해 운영체제 수준에서 강제적 혹은 직무 기반 접근 제어 기능을 통해 보안성을 강화하는 암호화 파일 시스템을 지원하는 보안 커널 시스템에 관한 것이다.
이를 실현하기 위한 본 발명은, 서버 시스템내의 운영체제 내에 컴퓨터 운영체제와 응용 프로그램에 내재된 보안상의 결함으로 인해 발생 가능한 각종 보안 문제로부터 시스템을 보호하기 위한 보안 커널을 포함하고 있는 보안 커널 시스템에 있어서, 상기 서버 시스템은 보안 커널에 식별 및 인증을 관리하는 식별인증모듈, 직무 기반 접근의 제어를 관리하는 접근제어모듈, 시스템 사용자를 확인하기 위한 로그를 관리하는 로그관리모듈, 암복호화를 지원하는 암호화 파일 시스템 모듈을 구비함과 아울러 관리 툴과 보안 커널 사이의 통신을 매개하는 기능을 제공하는 대리 프로그램 및 인증정보를 전달하는 식별 제공 응용 프로그램들을 구비하는 한편, 보안 정책을 설정하고 관리하는 클라이언트 시스템의 관리 툴을 구비하여, 상기 보안커널이 암호화 파일 시스템과 연동되도록 이루어져, 디스크나 시스템 자체가 분실되어도 기밀 정보가 유출되지 않는 것을 특징으로 하는 발명임.
암호, 보안 커널

Description

암호화 파일 시스템을 지원하는 보안 커널 시스템{Secure Kernel System Supporting Encryption}
도 1은 본 발명에 따른 보안 커널 시스템의 구성도,
도 2는 본 발명에 따른 보안 정책을 설명하는 도면,
도 3은 본 발명에 따른 직무기반 접근제어를 위한 보안 커널의 접근제어모듈의 순서도,
도 4는 암호화 파일 시스템 모듈에서 이루어지는 암복호화 과정을 나타내는 순서도로서, 도 4a는 읽기 모드의 순서도를 나타내고 도 4b는 쓰기 모드의 순서도를 각각 나타낸다.
<도면의 주요부분에 대한 부호의 설명>
1 -- 서버 시스템, 2 -- 클라이언트 시스템,
3 -- 보안 커널, 4 -- 식별인증모듈,
5 -- 접근제어모듈, 6 -- 로그관리모듈,
7 -- 관리 툴, 8 -- 대리 프로그램,
9 -- 인증 관련 응용 프로그램, 10 -- PAM 식별 라이브러리,
11 -- 운영체제, 12 -- 특수시스템 콜,
13 -- 암호화 파일 시스템 모듈.
본 발명은 시스템 보안을 위해 운영체제 수준에서 강제적 혹은 직무 기반 접근 제어 기능을 통해 보안성을 강화하는 암호화 파일 시스템을 지원하는 보안 커널 시스템에 관한 것으로, 더욱 상세하게는 저장 매체에 기록할 때 암호화를 통해 기록하고 보안 커널 시스템 없이 암호화 파일 시스템이 동작하지 않도록 함으로써 최종 목표인 저장 매체나 시스템 유출에 대해서도 안전하게 기밀 정보는 보안 유지될 수 있도록 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템에 관한 것이다.
보안 커널 시스템은 과거의 네트워크 기반의 보안 시스템들의 단점을 극복한 시스템 기반의 보안을 제공하는 시스템이다. 과거의 네트워크 기반 보안 시스템들은 크게 침입 차단 시스템과 침입 탐지 시스템으로 나뉜다. 침입 차단 시스템은 내부 네트워크로부터의 침입에 대해 안전하지 못하다. 침입 탐지 시스템은 약 60% 정도의 침입만을 탐지하는 것으로 알려져 있다.
보안 커널 시스템은 컴퓨터 운영체제와 응용 프로그램에 내재된 보안상의 결함으로 인해 발생 가능한 각종 보안 문제로부터 시스템을 보호하기 위해 기존의 운영체제 내에 보안기능을 추가한 커널 시스템이다. 운영체제에 내재된 대부분의 보안 문제는 소프트웨어의 취약점을 통해 허가되지 않은 권한을 획득하는 것으로부터 발생한다. 그러므로 보안 커널 시스템은 사용자에 대한 식별 및 인증, 강제적 혹은 직무 기반 접근 제어 등의 기능을 제공해야 한다.
기존 보안 커널 시스템의 문제점은 디스크 구조를 읽을 수 있는 도구를 사용함으로써 제공된 보안 기능이 무시할 수 있다는데 있다. 디스크나 백업 테이프가 유실되거나 시스템 자체가 유실되면 디스크 구조를 읽을 수 있는 도구를 통해 중요한 기밀 정보가 읽혀질 수 있다. 데이터 암호화는 이 문제에 대한 유일한 해결책이다. 그러나 현재 암호화를 지원하는 보안 커널 시스템은 부재하다.
암호화 파일 시스템은 보안 유지를 위해서 비밀에 해당되는 파일을 저장 매체에 기록할 때 암호화를 통해 기록하고, 저장 매체로부터 파일을 읽을 때 자동으로 복호화한다. 이를 통해 사용자는 파일이 암호화되어 저장되는지의 여부를 알 필요 없이 시스템을 사용할 수 있다. 암호화 파일 시스템을 사용하면 저장 매체가 유출되더라도 파일은 암호화되어 저장되어 있으므로 기밀 정보는 비교적 안전하게 유지될 수 있다. 그러나 디스크나 시스템 자체가 분실되는 경우 유닉스의 단일 사용자 모드를 이용하면 시스템 관리자의 암호를 변경할 수 있고, 이를 통해 인증된 사용자로 로그인하여 파일을 접근하는 것이 가능하다.
보안 커널 시스템과 암호화 파일 시스템을 동시에 사용하면 디스크나 시스템 자체가 분실되는 경우 발생하는 문제점을 해결할 수 있다. 보안 커널 시스템 없이는 암호화 파일 시스템이 동작하지 않도록 하고, 보안 커널 시스템은 암호 변경 제어를 통해 시스템 관리자라 하더라도 다른 사용자의 암호를 임의로 변경하지 못하도록 제어함으로써 문제를 해결한다.
본 발명의 제1 목적은 디스크가 시스템 자체가 분실되어도 기밀 정보가 유출되지 않는 보안 커널 시스템을 제공하는데 있다.
본 발명의 제2 목적은 상기 제1 목적을 위해 보안 커널 시스템이 암호화 파일 시스템을 포함하여 보안성을 향상시킬 수 있도록 된 암호화 파일 시스템을 지원하는 보안 커널 시스템을 제공하는데 있다.
본 발명의 제3 목적은 상기 제2 목적의 암호화 파일 시스템이 보안 유지를 위해서 비밀에 해당되는 파일을 저장 매체에 기록할 때 암호화를 통해 기록하며 그 사용은 허가된 사용자에게 한해서는 암호화, 해독과정이 없는 것처럼 투명하게 보이게 한 암호화 파일 시스템을 지원하는 보안 커널 시스템을 제공하는데 있다.
본 발명의 제4 목적은 상기 제1 목적의 보안 커널 시스템이 역할 기반의 강제적 접근 기법을 지원하여 보안성을 높일 수 있도록 된 암호화 파일 시스템을 지원하는 보안 커널 시스템을 제공하는데 있다. 역할 기반의 강제적 접근 제어의 암호 제어 기능은 시스템 관리자라 하더라도 다른 사용자로 암호 없이 변경할 수 없고 다른 사용자의 암호를 변경할 수 없게 한다. 그리고 역할 기반의 강제적 접근 제어는 시스템 관리자라 하더라도 다른 사용자의 파일에 임의로 접근할 수 없게 한다.
본 발명의 제5 목적은 상기 제2 목적의 암호화 파일 시스템이 디렉토리 별로 암복호화하는 기능을 지원하여 유연한 암복호화와 관련된 보안 정책을 수립할 수 있도록 된 암호화 파일 시스템을 지원하는 보안 커널 시스템을 제공하는데 있다.
본 발명의 제6 목적은 상기 제2 목적의 암호화 파일 시스템이 다수의 암호화 알고리즘을 적용할 수 있도록 된 암호화 파일 시스템을 지원하는 보안 커널 시스템을 제공하는데 있다.
상기한 목적을 실현하기 위한 본 발명은 서버 시스템내의 운영체제 내에 컴퓨터 운영체제와 응용 프로그램에 내재된 보안상의 결함으로 인해 발생 가능한 각종 보안 문제로부터 시스템을 보호하기 위한 보안 커널을 포함하고 있는 보안 커널 시스템에 있어서, 상기 서버 시스템은 보안 커널에 식별 및 인증을 관리하는 식별인증모듈, 직무 기반 접근의 제어를 관리하는 접근제어모듈, 시스템 사용자를 확인하기 위한 로그를 관리하는 로그관리모듈, 암복호화를 지원하는 암호화 파일 시스템 모듈을 구비함과 아울러 관리 툴과 보안 커널 사이의 통신을 매개하는 기능을 제공하는 대리 프로그램 및 인증정보를 전달하는 식별 제공 응용 프로그램들을 구비하는 한편, 보안 정책을 설정하고 관리하는 클라이언트 시스템의 관리 툴을 구비하여, 상기 보안커널이 암호화 파일 시스템 모듈과 연동되도록 이루어져, 디스크나 시스템 자체가 분실되어도 기밀 정보가 유출되지 않는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시예에 대한 구성 및 작용을 첨부된 예시도면을 참조하여 자세히 설명한다.
도 1은 본 발명에 따른 보안 커널 시스템 구성도로서, 보안 커널 시스템은 크게 보안을 요구하는 서버 시스템(1)과 후술되는 바와 같은 보안 정책(21)을 설정하는 클라이언트 시스템(2)으로 구성된다. 상세히 구분하면 다음과 같은 다섯 개의 요소로 구성된다. 첫번째 구성 요소인 보안 커널(3) 프로그램은 직무 기반 접근 제어를 통해 기존의 운영체제에 추가적인 보안 기능을 제공하는 것을 목적으로, 식별 및 인증을 관리하는 식별인증모듈(4), 직무 기반 접근의 제어를 관리하는 접근제어모듈(5), 시스템 사용자를 확인하기 위한 로그를 관리하는 로그관리모듈(6)을 포함하고 있다. 두 번째 구성 요소인 관리 툴(7)은 보안 커널(3)에서 사용되는 보안 정책(21)을 설정하고 관리하는 기능을 제공한다. 세 번째 구성 요소인 대리(agent) 프로그램(8)은 관리 툴(7)과 보안 커널(3) 사이의 통신을 매개하는 기능을 제공한다. 네번째는 인증 정보를 전달하는 PAM 식별 라이브러리(10)를 이용하는 인증 관련 응용 프로그램들(9)이다. 그리고 마지막 다섯번째는 디스크 수준의 보안을 강화하기 위해 암복호화를 지원하는 암호화 파일 시스템 모듈(13)이다.
도 2는 보안 정책(21)을 설명하는 도면이다. 보안 관리자는 관리 툴(7)을 통해 보안 정책(21)들을 설정한다. 보안 정책(21)은 어떤 주체(22)가 어떤 객체(24)를 어떤 권한(25)으로 접근할 수 있는지를 나타내는 것이다. 주체(22)란 프로세스이며, 프로세스의 사용자 아이디(ID), 그룹 아이디(ID), 프로그램 이름으로 주체(22)를 표현한다. 객체(24)는 파일이나 디렉토리이다. 그리고 접근 권한(25)은 읽기(READ), 쓰기(WRITE), 실행(EXEC), 모드 변경(CHMOD), 소유자 변경(CHOWN), 디렉토리 변경(CHDIR), 디렉토리 생성(MKDIR), 디렉토리 삭제(RMDIR), 프로세스 생성(FORK), 프로세스 종료(KILL), 링크(LINK), 링크 삭제(UNLINK), 신분 변경(SETUID), 모듈 올리기(MOD_LOAD), 모듈 내리기(MOD_UNLOAD), 마운트(MOUNT), 언마운트(UMOUNT), 이름 변경(RENAME), 특수 시스템 콜(12) 호출(RCL) 등이 있다. 기본적으로 어떠한 접근도 허용되지 않으며, 필요한 모든 접근에 대해 보안 정책(21)들을 사용하여 명시적으로 접근을 허용하여야 한다. 이러한 보안 정책(21)을 통해 시스템 관리자의 권한을 축소하여 시스템 관리자라 하더라도 다른 사용자나 그룹의 파일이나 디렉토리를 접근 통제하는 것이 가능하다.
상위 객체(24)에 적용된 보안 정책(21)은 하위 객체(24)에 자동으로 상속된다. 그리고 상속 조건(26)을 통해 몇 개의 하위 객체(24)에까지 영향을 줄 것인가와, 하위 객체(24)에 새로운 보안 정책(21)이 있는 경우 상위 객체(24)의 상속을 계속할 것인지 그만 둘 것인지를 각 보안 정책(21) 별로 설정한다.
도 3은 직무 기반 접근 제어를 위한 보안 커널(3)의 접근 제어 모듈(5)의 순서도이다. 보안 커널 프로그램(3)이 시작되면 보안 커널 프로그램(3)은 보안 정책(21)들을 대리 프로그램(8)을 통해 읽는다(단계31). 나중에 관리 툴(7)에서 보안 관리자에 의해 설정된 보안 정책들(21)은 대리 프로그램(8)을 통해 보안 커널(3)에 전달된다. 보안 정책들(21)은 대리 프로그램(8)을 통해 영구적으로 관리되고, 실시간에는 보안 커널(3)에 의해 관리된다.
보안 커널(3)은 보안 정책들(21)에 따라 운영체제에 대한 모든 서비스 요청이 올바른 것인지를 검토한다. 이 개념이 직무 기반 접근 제어이며, 보안 커널(3)의 접근 제어 모듈에 의해 처리된다. 올바른 서비스 요청인 경우에는 원래 운영체제가 서비스하도록 하지만, 그렇지 않은 경우 요청을 삭제하고 로그를 남긴다. 직 무 기반 접근 제어를 지원하기 위해 보안 커널(3)은 동적 커널 모듈로 동작한다. 동적 커널 모듈로 보안 커널(3)이 실행되면 모든 시스템 콜들을 가로채어 보안 커널(3)이 가진 시스템 콜들로 대체한다(단계32).
운영체제에 대한 서비스 요청이 발생하면 해당하는 보안 커널(3)이 가진 시스템 콜이 호출된다. 이 때 보안 커널(3)이 가진 시스템 콜들은 직무 기반 접근 제어를 통해 서비스 요청이 보안 정책(21)과 일치하는 올바른 서비스 요청인 경우에만 기존의 시스템 콜에게 서비스 요청을 전달한다.
보안 커널 프로그램은 서비스 요청에 대해 먼저 특수 시스템 콜(12)의 호출인지를 판별한다(단계34). 특수 시스템 콜(12)의 호출이면 서비스 요청에 대해 요청을 하는 자체가 허가된 것인지를 보안 정책(21)을 통해 검토한다(단계35). 허가된 경우에는 보안 커널을 종료(단계36), 보안 정책을 변경, 혹은 식별 정보를 저장하고(단계37), 허가되지 않은 경우에는 오류 처리 단계로 들어선다(단계40). 일반적인 서비스 요청인 경우에는 서비스 요청이 보안 정책에 허가된 것인지를 검사한다(단계 35). 그리고 운영체제의 원래 시스템 콜을 호출하여 서비스가 처리되도록 한다(단계38). 이하 설명되는 모든 보안 커널 시스템(0)의 요소들은 보안 관리자가 설정한 보안 정책(21)을 통해 직무 기반 접근 제어 방법으로 임의의 사용자가 보안 커널(3)의 요소들을 변경할 수 없도록 설정 가능하다.
직무 기반 접근 제어 기능은 보안 커널(3) 자체를 보호하기 위해서도 사용된다. 보안 커널(3) 이외의 다른 동적 커널 모듈들이 시스템에서 실행되는 것을 보안 정책(21)을 통해 제한한다. 그리고 보안 정책(21)들을 통한 직무 기반 접근 제어 기능으로 대리 프로그램(8)만 새로운 보안 정책(21)을 보안 커널(3)에 전달하도록 설정한다.
식별과 인증 기능을 요구하는 응용 프로그램들(9)이 식별 정보를 보안 커널(3)에 전달할 수 있도록 보안 커널(3)은 특수 시스템 콜(12)을 제공한다. 식별 정보를 보안 커널에 전달하는 특수 시스템 콜(12)을 호출하도록 응용 프로그램들을 모두 변경하는 대신 PAM 식별 라이브러리(10)를 변경하여 식별 정보를 전달하는 특수 시스템 콜(12)을 호출하도록 한다. 그래서 식별과 인증 기능을 요구하는 응용 프로그램들(9)은 변경된 PAM 식별 라이브러리(10)를 통해 식별 정보를 보안 커널(3)에 전달한다. 식별 정보는 사용자의 ID, 그룹 ID, 사용자의 원격 IP 주소를 포함한다. 식별 정보는 각 프로세스들마다 생성되며, 사용자가 PAM(10)을 통해 인증 정보를 제공하지 않는 한 변경되지 않는다. 그리고 부모 프로세스의 식별 정보는 자식 프로세스들에게 자동으로 상속된다.
임의의 프로그램들이 직접 식별과 관련된 특수 시스템 콜(12)을 호출한다면 보안성에 문제가 발생할 수 있다. 이 문제를 해결하기 위해 특정 프로그램들(9)만 식별과 관련된 시스템 콜(12)을 호출하도록 보안 정책(21)을 설정한다. 이 것은 도3의 단계 35에서 검사된다. 이 기능을 위한 보안 정책(21)으로 도2에서의 주체(22)는 식별과 관련된 시스템 콜(12)을 호출할 응용프로그램들(9) 이고, 접근 권한(25)은 특수 시스템 콜(12) 호출(RCL)을 갖는 보안 정책(21)을 마련한다.
유닉스 계열의 시스템에서 시스템 관리자는 임의의 사용자로 식별을 제시하지 않고도 전환 가능하다. 임의의 사용자로 식별을 제시하는 것 없이 전환하는 것 을 방지하기 위해서 정해진 프로그램을 통해서만 사용자 전환이 가능하도록 하고, 정해진 프로그램은 시스템 사용자라 하더라도 식별을 제시하도록 한다. 이를 위해 도2의 보안 정책(21)을 주체(22)는 사용자 전환에 사용할 한정된 몇 개의 특수 프로그램이고, 접근 권한(25)은 사용자 전환(SETUID)으로 설정하여 생성한다. 그리고 사용자 전환에 사용하기로 정해진 프로그램에서는 시스템 관리자라 하더라도 식별 정보를 제시하도록 수정한다.
또한 시스템 관리자는 임의의 사용자에 대해 시스템에서 저장하고 있는 식별 정보를 그 사용자에 대한 식별 정보를 제시하지 않고도 변경 가능하다. 임의의 사용자에 대해 시스템에서 저장하고 있는 식별 정보를 그 사용자에 대한 식별 정보를 제시하지 않고 변경하는 것을 방지하기 위해서 정해진 프로그램을 통해서만 저장된 식별 정보 변경이 가능하도록 하고, 정해진 프로그램은 시스템 사용자라 하더라도 식별 정보를 제시하도록 한다. 이를 위해 도2의 보안 정책(21)을 주체(22)는 저장된 식별 정보를 변경하는 프로그램이고, 접근 권한(25)은 쓰기(WRITE)로 설정하여 생성한다. 이 보안 정책(21)을 시스템에서 관리하는 식별 정보에 대한 저장소를 객체(24)로 적용한다. 그리고 주체(22)가 된 프로그램에서는 시스템 관리자라 하더라도 식별 정보를 제시하도록 수정하고, 다른 보안 정책(21)을 통해 주체(22) 프로그램이 다른 사용자나 해커에 의해 변경 금지되도록 설정한다. 이 기능을 통해 인증 수단으로 암호를 사용하는 경우 사용자는 자기 자신의 암호만을 변경하도록 설정할 수 있다. 시스템 관리자라 하더라도 다른 사용자의 암호를 임의로 변경 할 수 없다.
암호화 파일 시스템 모듈(13)은 가상 파일 시스템인 추상 파일 시스템 계층을 이용하여 암호화와 복호화를 수행한다. 파일 시스템에 관련된 시스템 호출이 있으면 디스크와 직, 간접적으로 관련된 개별 파일 시스템으로 호출이 전달되는데, 그 전에 암호화 파일 시스템 모듈이 실제 파일에 쓰여지거나 읽혀질 내용을 암복호화 한다.
암호화 파일 시스템 모듈(13)은 디렉토리 별로 암복호화 하며 디렉토리 별로 암복호화를 위한 키와 알고리즘이 생성되고 관리된다. 암복호화에 사용되는 키들과 암복호화 된 디렉토리 위치 그리고 사용된 암호화 알고리즘은 대리 프로그램(8)에 의해서 관리 된다. 대리 프로그램(8)은 키들과 디렉토리 위치를 다시 암호화하여 디스크에 저장하고, 시스템의 MAC 주소(Media Access Control Address; 특정구역 내 정보통신망인 LAN에 사용되는 네트워크 모델인 이더넷의 물리적인 주소)와 마스터 키를 조합하여 암호화를 위한 키로 사용한다. 디렉토리 별 암복호화를 통해 유연한 암복호화 정책을 수립하는 것이 가능하고, 디렉토리 별로 시드(SEED), 블로우피시(Blowfish) 등의 다양한 암호화 알고리즘을 사용하는 것도 가능하다.
암호화 파일 시스템 모듈(13)은 시작될 때 보안 커널(3) 프로그램이 실행되고 있는지의 여부를 판단한다. 보안 커널(3) 프로그램이 실행되고 있는 경우라면 정상적으로 시작하지만, 그렇지 않은 경우라면 암호화 파일 시스템 모듈(13)은 중단된다. 즉 보안 커널(3) 프로그램이 실행되고 있지 않으면 암호화 파일 시스템 모듈(13)도 실행되지 않는다. 이를 통해 디스크나 시스템 자체가 외부로 유출되더라도 보안 커널(3) 프로그램이 안전하게 인증을 관리하고 역할 기반의 강제적 접근 제어 기능을 제공함으로써 암호화된 파일은 안전하게 유지될 수 있다.
도 4는 암호화 파일 시스템 모듈(13)에서 이루어지는 암복호화 과정을 나타내는 순서도로서, 도 4a는 읽기 모드의 순서도를 나타내고 도 4b는 쓰기 모드의 순서도를 각각 나타낸다. 암호화 파일 시스템 모듈(13)의 읽기는 저장 매체로부터 암호화 된 파일의 내용을 읽어서 다시 해독하는 과정을 거친다. 먼저 암호화에 사용하는 키를 불러오고(단계 51), 파일 길이를 고유한 암호화 구획으로 나눈다(단계 52). 하위 계층의 읽기 함수를 호출해서 암호화 된 데이터를 얻어 낸 뒤(단계 53), 각각의 구획을 복호화 한다(단계 54). 복호화한 내용은 원래 사용자가 읽기 시스템 호출을 통해서 제공한 입력 버퍼에 복사하고(단계 55), 복호화에 사용되었던 임시 메모리 공간은 다시 반환 한다(단계 56). 이 때 사용되는 구획은 가상 메모리 시스템에서 사용되는 페이지 크기이고, 할당된 버퍼의 개수는 파일 길이보다 작지 않은 최소의 배수이다.
반대로 쓰기의 경우에는 암호화를 통해 저장 매체에 기록하는데, 덧붙이기(Append) 모드인가 아닌가에 따라서 작업이 달라진다. 읽기와 마찬가지로 암호화에 사용하는 키를 불러온다(단계 61)덧붙이기 상태가 아닌 경우에는 파일을 새로 생성하는 경우이므로 주어진 파일의 시작위치(offset)와 크기를 통해 페이지 크기의 배수만큼에 해당하는 저장소에 쓸 파일의 내용을 복사한다(단계 62). 주어진 시작위치와 같거나 작은 가장 큰 페이지 크기의 배수지점을 시작 위치(offset)로 해서 주어진 시작 위치와 바뀐 시작 위치의 차이 만큼 읽어 복호화한다(단계 63). 그런 후 버퍼의 내용을 암호화하고(단계 64), 암호화한 내용을 원래 파일시스 템의 해당 쓰기 호출을 통해 실제 저장 매체에 저장하고(단계 65), 사용한 버퍼를 해제한다(단계 66). 덧붙이기 상태라면 입력 파일의 크기를 알아낸 후에 내용을 쓸 파일의 시작위치를 재조정한다(단계 67). 이 때 파일의 크기가 페이지 크기의 배수가 아니라면 끝 부분을 먼저 읽어서 복호화 한 후 남은 페이지 크기의 공간에 앞으로 덧붙일 파일의 내용을 덧붙인 후에 암호화를 수행한다. 이 후의 과정은 덧붙이기 상태가 아닌 쓰기 형태와 동일하다.
이상과 같이, 본 발명은 암호화 파일 시스템 모듈(13)을 지원하는 보안 커널 시스템을 통해 저장 매체나 시스템 유출에 대해서도 안전하게 기밀 정보를 보안 유지할 수 있다. 디스크 구조를 읽을 수 있는 도구를 사용함으로써 보안 커널 시스템에서 제공된 보안 기능이 무시될 수 있다는 단점은 암호화 파일 시스템 모듈(13)이 파일을 암호화하여 저장함으로써 보완 가능하다. 그리고 유닉스 시스템의 단일 사용자 모드 등을 이용하여 정상적인 사용자로 로그인 하면 암호화 파일 시스템 모듈(13)에서 제공된 보안 기능이 무시될 수 있다는 단점은 보안 커널 시스템이 암호 변경 제어를 통해 시스템 관리자라 하더라도 다른 사용자의 암호를 임의로 변경하지 못하도록 제어함으로써 보완 가능하다.
본 발명의 암호화 파일 시스템 모듈(13)은 보안 유지를 위해서 비밀에 해당되는 파일을 저장 매체에 기록할 때 암호화를 통해 기록하고, 보안 커널 시스템에 의해 허가된 사용자에 한해서 자동으로 복호화되어 보여주므로 사용자는 시스템에 암호화가 적용되었는지의 여부를 알 필요가 없다. 그리고 전체 디스크 수준에서 암호화하지 않고 디렉토리 수준에서 암호화를 진행하므로 유연한 암복호화와 관련된 보안 정책을 수립할 수 있다. 또한 암호화 파일 시스템 모듈(13)이 다수의 암호화 알고리즘을 사용할 수 있어 더 효율적이고 빠른 알고리즘을 추후 적용하는 것도 가능하다.

Claims (11)

  1. 서버 시스템내의 운영체제 내에 컴퓨터 운영체제와 응용 프로그램에 내재된 보안상의 결함으로 인해 발생 가능한 각종 보안 문제로부터 시스템을 보호하기 위한 보안 커널을 포함하고 있는 보안 커널 시스템에 있어서,
    상기 서버 시스템은 보안 커널에 식별 및 인증을 관리하는 식별인증모듈, 직무 기반 접근의 제어를 관리하는 접근제어모듈, 시스템 사용자를 확인하기 위한 로그를 관리하는 로그관리모듈, 암복호화를 지원하는 암호화 파일 시스템 모듈을 구비함과 아울러 관리 툴과 보안 커널 사이의 통신을 매개하는 기능을 제공하는 대리 프로그램 및 인증정보를 전달하는 식별 제공 응용 프로그램들을 구비하는 한편, 보안 정책을 설정하고 관리하는 클라이언트 시스템의 관리 툴을 구비하여, 상기 보안커널이 암호화 파일 시스템 모듈과 연동되도록 이루어져, 디스크나 시스템 자체가 분실되어도 기밀 정보가 유출되지 않는 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  2. 제1항에 있어서, 암호화 파일 시스템 모듈은 보안 유지를 위해서 비밀에 해당되는 파일을 저장 매체에 기록할 때 암호화를 통해 기록하며, 그 사용은 보안 커널 시스템의 식별인증 모듈에 의해 식별된 정상적인 사용자가 직무기반접근 제어 방식의 보안 정책에 위배되지 않은 경우 암호화 된 파일 시스템에 대한 접근에 대하여 추가적인 절차 없이 복호화된 파일시스템으로 보여주는 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  3. 제1항에 있어서, 상기 접근제어모듈은 직무 기반 접근 제어 방식의 보안 정책을 통해 시스템 관리자라도 식별 정보를 제시하지 않고 다른 사용자로 신분의 바꾸거나, 다른 사용자의 저장된 식별 정보를 변경하는 것을 제어할 수 있도록 이루어진 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  4. 제 1항에 있어서, 암호화 파일 시스템 모듈이 디렉토리 별로 암복호화하는 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  5. 제 1항에 있어서, 암호화 파일 시스템 모듈이 다수의 암호화 알고리즘을 사용할 수 있는 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  6. 제1항에 있어서, 보안커널시스템은 직무 기반 접근 제어 방식의 보안 정책을 통해 시스템관리자라 하더라도 다른 사용자의 파일에 접근할 수 없도록 제어함을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  7. 제1항에 있어서, 상기 클라이언트시스템의 관리툴은 직무 기반 접근 제어 방식의 보안 정책을 적용시키고 시스템 상태 모니터링 기능을 제공하는 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  8. 제1항에 있어서, 암호화 파일 시스템 모듈은 보안커널시스템의 인증단계를 거친 허용된 사용자가 암호화와 복호화를 통해 접근이 가능하도록 하는 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  9. 제1항에 있어서, 암호화 파일 시스템 모듈은, 유닉스 시스템의 단일 사용자 모드 등을 이용하여 정상적인 사용자로 로그인 하지 않은 경우 접근 제어 모듈이 정상적으로 동작하지 않으면 암호화 파일 시스템 모듈도 동작하지 않도록 이루어진 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  10. 제1항에 있어서, 암호화 파일 시스템 모듈은 사용자의 파일 읽기 요청에 대해, 암호화에 사용하는 키를 불러오는 단계, 파일 길이를 고유한 암호화 구획으로 나누는 단계, 하위 계층의 읽기 함수를 호출해서 암호화 된 데이터를 얻어 내는 단계, 각각의 구획을 복호화하는 단계, 복호화한 내용을 원래 사용자가 읽기 시스템 호출을 통해서 제공한 입력 버퍼에 복사하는 단계, 복호화에 사용되었던 임시 메모리 공간은 다시 반환하는 단계를 수행하도록 이루어진 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
  11. 제1항에 있어서, 암호화 파일 시스템 모듈은 사용자의 파일 쓰기 요청에 대해, 암호화에 사용하는 키를 불러오는 단계, 덧붙이기 상태인지 중간에 쓰기 단계인지를 판단하여 주어진 파일의 적절한 시작위치(offset)를 구하는 단계, 버퍼의 내용을 암호화하고 암호화한 내용을 원래 파일시스템의 해당 쓰기 호출을 통해 실제 저장 매체에 저장하는 단계를 수행하는 것을 특징으로 하는 암호화 파일 시스템을 지원하는 보안 커널 시스템.
KR1020040006322A 2004-01-30 2004-01-30 암호화 파일 시스템을 지원하는 보안 커널 시스템 KR100547556B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040006322A KR100547556B1 (ko) 2004-01-30 2004-01-30 암호화 파일 시스템을 지원하는 보안 커널 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040006322A KR100547556B1 (ko) 2004-01-30 2004-01-30 암호화 파일 시스템을 지원하는 보안 커널 시스템

Publications (2)

Publication Number Publication Date
KR20050077664A KR20050077664A (ko) 2005-08-03
KR100547556B1 true KR100547556B1 (ko) 2006-01-31

Family

ID=37265086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040006322A KR100547556B1 (ko) 2004-01-30 2004-01-30 암호화 파일 시스템을 지원하는 보안 커널 시스템

Country Status (1)

Country Link
KR (1) KR100547556B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220033109A (ko) * 2020-09-09 2022-03-16 주식회사 알파비트 암호화 기능을 수행하는 커널 모듈
KR102615556B1 (ko) * 2022-11-08 2023-12-21 펜타시큐리티 주식회사 키 관리 서버를 이용한 데이터의 실시간 암복호화 보안 시스템 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100748434B1 (ko) * 2004-11-29 2007-08-10 주식회사 안철수연구소 실시간 복호화 기능을 이용한 파일 데이터 보호 방법 및장치
KR101895453B1 (ko) 2011-11-09 2018-10-25 삼성전자주식회사 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치
CN116861411A (zh) * 2023-06-05 2023-10-10 北京连山科技股份有限公司 基于Seccomp机制的安全沙箱数据保护方法及系统
CN117436079B (zh) * 2023-12-20 2024-04-05 麒麟软件有限公司 一种Linux系统的完整性保护方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220033109A (ko) * 2020-09-09 2022-03-16 주식회사 알파비트 암호화 기능을 수행하는 커널 모듈
KR102430085B1 (ko) * 2020-09-09 2022-08-05 주식회사 알파비트 암호화 기능을 수행하는 커널 모듈
KR102615556B1 (ko) * 2022-11-08 2023-12-21 펜타시큐리티 주식회사 키 관리 서버를 이용한 데이터의 실시간 암복호화 보안 시스템 및 방법

Also Published As

Publication number Publication date
KR20050077664A (ko) 2005-08-03

Similar Documents

Publication Publication Date Title
US11528142B2 (en) Methods, systems and computer program products for data protection by policing processes accessing encrypted data
US10268827B2 (en) Method and system for securing data
US10645091B2 (en) Methods and systems for a portable data locker
JP4089171B2 (ja) 計算機システム
EP2510442B1 (en) System and method for secured backup of data
US8103883B2 (en) Method and apparatus for enforcing use of danbury key management services for software applied full volume encryption
US10037429B1 (en) Copy protection for secured files
US20050154885A1 (en) Electronic data security system and method
US7712135B2 (en) Pre-emptive anti-virus protection of computing systems
WO2021164166A1 (zh) 一种业务数据保护方法、装置、设备及可读存储介质
US20160011990A1 (en) System and Method for Conflict-Free Cloud Storage Encryption
US7577838B1 (en) Hybrid systems for securing digital assets
US10164980B1 (en) Method and apparatus for sharing data from a secured environment
KR100750697B1 (ko) 사용자 액세스 기능을 갖는 공유스토리지가 구비된 디지털문서보안 시스템, 및 그 시스템을 이용한 문서 처리방법
JP5601840B2 (ja) ネットワークへの情報流出防止装置
KR100547556B1 (ko) 암호화 파일 시스템을 지원하는 보안 커널 시스템
KR100981301B1 (ko) 개인용 컴퓨터에서 보호정보의 외부유출을 실용적으로방지하는 방법 및 그 장치
AU2021347175A1 (en) Encrypted file control
KR20040009394A (ko) 피케이아이기술에 의한 정보 무단 유출 차단 시스템
CN112784321A (zh) 磁盘资安系统
Kim et al. Integration of a cryptographic file system and access control
Kim et al. Design and implementation of security os: A case study
KR20140093401A (ko) 컴퓨터 네트워크상의 보안 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee