KR102124578B1 - 저장 장치를 위한 보안 방법 및 이를 이용한 보안 장치 - Google Patents

저장 장치를 위한 보안 방법 및 이를 이용한 보안 장치 Download PDF

Info

Publication number
KR102124578B1
KR102124578B1 KR1020180090158A KR20180090158A KR102124578B1 KR 102124578 B1 KR102124578 B1 KR 102124578B1 KR 1020180090158 A KR1020180090158 A KR 1020180090158A KR 20180090158 A KR20180090158 A KR 20180090158A KR 102124578 B1 KR102124578 B1 KR 102124578B1
Authority
KR
South Korea
Prior art keywords
area
security
backup
encryption
storage device
Prior art date
Application number
KR1020180090158A
Other languages
English (en)
Other versions
KR20200014978A (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 KR1020180090158A priority Critical patent/KR102124578B1/ko
Publication of KR20200014978A publication Critical patent/KR20200014978A/ko
Application granted granted Critical
Publication of KR102124578B1 publication Critical patent/KR102124578B1/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/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; 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/53Monitoring 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 executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

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

Abstract

본 발명은 저장 장치 내에 기록되는 데이터를 안전하게 보호하는 보안 기술에 관한 것으로, 운영체제에 독립적인 표준 인터페이스를 이용하여 저장 장치 내에 시스템에서 인식이 불가능한 보안 영역을 생성하고, 보안 영역 내에 암호화된 파일을 백업(backup)하기 위한 백업 영역 또는 암호화된 파일을 보관하기 위한 디지털 금고 영역을 설정하며, 보안 에이전트(agent)를 통해 보안 영역에 대한 접근(access) 금지를 임시 해제 및 재설정하되 보안 영역에 암호화 수단을 이용한 파일 입출력을 수행한다.

Description

저장 장치를 위한 보안 방법 및 이를 이용한 보안 장치{Method for securing storage device and security apparatus using the same}
본 발명은 저장 장치 내에 기록되는 데이터를 안전하게 보호하는 기술에 관한 것으로, 특히 저장 장치 내에 마련되는 운영체제나 시스템에서 인식하지 못하는 보안 영역을 이용하여 데이터를 자동으로 백업하거나 사용자가 지정한 파일을 보안 영역에 보관하는 보안 방법, 그 방법을 이용한 기록매체 및 보안 장치에 관한 것이다.
디지털 정보의 축적이 가속화되고 초고속 인터넷의 보급에 따라 언제 어디서나 네트워크를 통해 다양한 기기들이 연결되어 정보를 교환할 수 있는 컴퓨팅 환경이 구축되었다. 사용자들은 중요 데이터를 자신의 컴퓨터 내지 저장 장치 내에 보관하고 있으며, 데이터 보호 수단을 통해 이들 데이터에 대한 공격이나 유실에 대비하고 있다. 비록 클라우드 컴퓨팅 환경이 점차 보급되고 있으나, 여전히 클라우스 서비스 제공자들이 데이터 유출 등의 문제로 신뢰를 주지 못하고 있으며, 대량의 개인 데이터를 손쉽게 보관하거나 활용하기 위해서는 접근성이 좋은 로컬 디스크를 활용하는 것이 일반적이다.
그러나 대부분의 저장 장치를 구비한 보안 시스템은 단순한 사용자 식별 정보나 인증 수단을 통해 쉽게 보안이 해제되어 개인 데이터에 접근할 수 있으며, 특히 물리적인 저장 장치가 도난당해 해당 장치의 데이터 저장 구조가 분석될 경우 큰 보안 위험에 노출될 수 있다.
종래에 디스크 저장 장치의 특정 영역을 암호화하거나 보안을 강화한 다양한 관리 방법이 제시되었으나, 디스크의 저장 구조가 쉽게 노출되거나 시스템의 구동 과정을 통해 보호되어야 하는 저장 영역의 보안이 무력화되는 상황이 발생하여 약점으로 지적되고 있다. 이하에서 제시되는 선행기술문헌에서는 디스크 저장 장치 내의 특정 영역을 이용하여 데이터 보안을 구현하는 기술이 소개되어 있으나, 운영체제의 동작을 후킹(hooking)하여 보안 영역으로 할당된 디스크 볼륨의 위치값을 감추는 방식을 채택하고 있어 특정 운영체제에 종속된 구현 방식에 머무르고 있다는 한계를 갖는다.
한국특허공개공보 제2014-0119422호, "데이터 보안장치, 이를 구비하는 단말기 및 데이터 보안 방법과 컴퓨터로 읽을 수 있는 기록매체", 2014.10.10. 공개
본 발명이 해결하고자 하는 기술적 과제는, 종래의 보안 디스크 기술들이 운영체제의 의존성이 매우 큰 관계로, 운영체제의 구동 이전에 시도되는 MBR(master boot record) 악성 코드 공격 내지 루트킷(rootkit) 공격에 취약한 문제를 해결하고, 또한 새로운 운영체제나 시스템 구동 환경이 등장할 때마다 반복적인 버전업(version-up) 내지 커스터마이징(customizing)이 요구되는 불편을 해소하며, 저장 장치의 물리적인 탈취 시 보안 영역과 저장된 데이터가 쉽게 노출되는 한계를 극복하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 저장 장치의 보안 방법은, (a) 운영체제에 독립적인 표준 인터페이스를 이용하여 저장 장치 내에 시스템에서 인식이 불가능한 보안 영역을 생성하는 단계; (b) 상기 보안 영역 내에 암호화된 파일을 백업(backup)하기 위한 백업 영역 또는 암호화된 파일을 보관하기 위한 디지털 금고 영역을 설정하는 단계; 및 (c) 보안 에이전트(agent)를 통해 상기 보안 영역에 대한 접근(access) 금지를 임시 해제 및 재설정함으로써 상기 보안 영역에 파일 입출력을 수행하는 단계를 포함하고, 상기 파일 입출력은 암호화 수단을 통해 수행된다.
일 실시예에 따른 저장 장치의 보안 방법에서, 상기 (a) 보안 영역을 생성하는 단계는, (a1) ATA(Advanced Technology Attachment) 명령어를 이용하여 시스템에서 인식 가능한 사용자 영역을 생성하는 단계; 및 (a2) 상기 저장 장치의 전체 영역 중에서 상기 사용자 영역 외의 영역을 비휘발성(non-volatile) HPA(host protected area)로 설정함으로써 보안 영역을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 저장 장치의 보안 방법에서, 상기 (b) 백업 영역 또는 디지털 금고 영역을 설정하는 단계는, (b1) 백업 또는 디지털 금고를 위한 암호를 등록받는 단계; (b2) 등록된 상기 암호를 이용하여 암호화 및 복호화 키(key)를 생성하여 저장하는 단계; 및 (b3) 상기 암호화 및 복호화 키를 이용하여 상기 백업 영역 또는 상기 디지털 금고 영역에 대한 포맷(format)을 수행하여 암호화된 파일 시스템을 적재하는 단계를 포함할 수 있다. 또한, 상기 (b2) 암호화 및 복호화 키를 생성하여 저장하는 단계는, 상기 보안 영역 내에 백업 영역을 설정하는 경우, 상기 백업 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 가능한 사용자 영역 내에 저장하고, 상기 보안 영역 내에 디지털 금고 영역을 설정하는 경우, 상기 디지털 금고 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 불가능한 상기 보안 영역 내에 저장할 수 있다.
일 실시예에 따른 저장 장치의 보안 방법에서, 상기 (c) 보안 영역에 파일 입출력을 수행하는 단계는, (c1) 보안 에이전트가 ATA 명령어를 이용하여 휘발성(volatile) 설정으로 상기 보안 영역을 비활성화함으로써 상기 보안 영역에 대한 접근 금지를 임시 해제하는 단계; (c2) 상기 보안 에이전트가 상기 암호화 수단을 통해 암호화된 파일을 상기 보안 영역에 기록하거나 상기 보안 영역으로부터 암호화된 파일을 독출하는 단계; 및 (c3) 상기 보안 에이전트가 ATA 명령어를 이용하여 상기 보안 영역을 활성화함으로써 상기 보안 영역에 대한 접근 금지를 재설정하는 단계를 포함할 수 있다.
한편, 이하에서는 상기 기재된 저장 장치의 보안 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 보안 장치는, 운영체제에 독립적인 표준 인터페이스를 이용하여 시스템에서 인식이 불가능하도록 생성된 보안 영역을 포함하되, 상기 보안 영역 내에 암호화된 파일을 백업(backup)하기 위한 백업 영역 또는 암호화된 파일을 보관하기 위한 디지털 금고 영역이 설정되는 저장 장치; 및 상기 보안 영역에 대한 접근(access) 금지를 임시 해제 및 재설정함으로써 상기 보안 영역에 파일 입출력을 수행하는 보안 에이전트(agent)를 포함하고, 상기 파일 입출력은 암호화 수단을 통해 수행된다.
다른 실시예에 따른 보안 장치에서, 상기 저장 장치는, ATA(Advanced Technology Attachment) 명령어를 이용하여 시스템에서 인식 가능한 사용자 영역을 생성하고, 상기 저장 장치의 전체 영역 중에서 상기 사용자 영역 외의 영역을 비휘발성(non-volatile) HPA(host protected area)로 설정함으로써 보안 영역을 생성할 수 있다.
다른 실시예에 따른 보안 장치에서, 상기 저장 장치는, 사용자로부터 입력된 암호를 이용하여 암호화 및 복호화 키(key)를 생성하여 저장하되, 상기 보안 영역 내에 백업 영역을 설정하는 경우, 상기 백업 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 가능한 사용자 영역 내에 저장하고, 상기 보안 영역 내에 디지털 금고 영역을 설정하는 경우, 상기 디지털 금고 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 불가능한 상기 보안 영역 내에 저장할 수 있다.
다른 실시예에 따른 보안 장치에서, 상기 보안 에이전트는, ATA 명령어를 이용하여 휘발성(volatile) 설정으로 상기 보안 영역을 비활성화함으로써 상기 보안 영역에 대한 접근 금지를 임시 해제하고, 상기 암호화 수단을 통해 암호화된 파일을 상기 보안 영역에 기록하거나 상기 보안 영역으로부터 암호화된 파일을 독출하며, ATA 명령어를 이용하여 상기 보안 영역을 활성화함으로써 상기 보안 영역에 대한 접근 금지를 재설정할 수 있다.
본 발명의 실시예들은, 저장 장치의 표준 인터페이스를 이용하여 디스크 펌웨어(firmware) 영역에서 보안 영역을 관리하므로 운영체제 의존이 매우 낮고, 운영체제가 시작되기 이전의 시스템 바이오스(bios) 영역에서조차 설정된 보안 영역에 접근이 불가능하므로 시스템의 부팅 과정에서부터 운영체제가 구동된 이후까지 보호 영역에 대한 충실한 보호가 가능할 뿐만 아니라, 각각의 보안 영역은 사용자가 지정한 패스워드로 암호화되고 암호화 키 생성을 위한 데이터를 숨김으로써 저장 장치의 물리적인 도난시에도 저장된 내용의 유출을 방지할 수 있다.
도 1은 본 발명의 실시예들이 채택하고 있는 보안 영역의 개념을 설명하기 위한 도면이다.
도 2 내지 도 4는 보안 영역을 설정한 경우의 시스템 인식 상황을 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 보안 영역을 이용한 저장 장치의 보안 방법을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 보안 방법에서 보안 영역의 설정과 초기화 과정을 도시한 흐름도이다.
도 7 내지 도 9는 보안 영역의 설정 과정을 설명하기 위한 도면이다.
도 10은 보안 영역의 임시 해제 과정을 설명하기 위한 도면이다.
도 11 및 도 12는 보안 영역의 초기화 과정을 설명하기 위한 도면이다.
도 13은 보안 영역과 더불어 암/복호화 키의 저장하는 저장 장치의 구조를 도시한 도면이다.
도 14는 보안 영역의 재설정을 통해 초기화를 완료하는 과정을 설명하기 위한 도면이다.
도 15는 본 발명의 일 실시예에 따른 보안 방법에서 자동 백업 과정을 도시한 흐름도이다.
도 16은 백업 정책을 설정하는 과정을 예시한 도면이다.
도 17은 백업 영역에 암호화된 파일을 자동으로 백업하는 과정을 설명하기 위한 도면이다.
도 18은 본 발명의 일 실시예에 따른 보안 방법에서 백업 파일을 복원하는 과정을 도시한 흐름도이다.
도 19는 본 발명의 다른 실시예에 따른 보안 방법에서 디지털 금고의 사용 과정을 도시한 흐름도이다.
도 20 및 도 21은 디지털 금고의 사용 과정을 예시한 도면이다.
도 22는 디지털 금고 영역에 암호화된 파일을 입출력하는 과정을 설명하기 위한 도면이다.
도 23은 본 발명의 또 다른 실시예에 따른 저장 장치의 보안 영역을 이용한 보안 장치를 도시한 블록도이다.
본 발명의 실시예들을 설명하기에 앞서, 종래의 보안 디스크 기술에서 지적된 문제점을 살펴보고, 이러한 문제점을 극복하기 위해 본 발명의 실시예들이 제안하는 기술적 수단을 개괄적으로 소개한 후 구체적인 구성 요소들을 순차적으로 기술하도록 한다.
앞서 소개한 바와 같이, 종래의 보안 디스크 기술은 운영체제의 의존성이 매우 크며, 운영체제 시작 이전에 악성 코드 또는 루트킷 공격이 발생할 경우 방어에 취약한 단점이 발견되었다. 또한, 다양한 시스템이나 운영 플랫폼에 따라 개별적인 어플리케이션 개발이 요구되고 있어 소프트웨어 생산성을 저하시키는 원인으로 지적되었다. 나아가, 디스크 저장 장치 내에 보호 영역의 구조 및 그에 저장된 데이터의 구조가 단순하여 보안 취약성을 노출하였다. 예를 들어, 종래의 대표적인 보안 디스크 기술은 마이크로소프트사의 windows 운영체제 하에서 구동되며, windows SDK API를 후킹(hooking)하여 디스크의 보안 영역을 구성한다. 따라서 windows 버전에 따른 구현에 제약 사항을 가지며, 타 운영체제 환경에서는 적용이 어렵다는 한계를 갖는다. 또한 해당 방법은 운영체제의 의존도가 높아 운영체제가 시작되기 이전에는 디스크 보안 영역이 그대로 드러나는 약점을 지닌다.
이러한 점에 착안하여 안출된 본 발명의 실시예들은 ATA(advanced technology attachment) 표준 인터페이스 하드디스크의 HPA(host protected area)를 이용하여 보안 영역을 생성하고 파일 모니터링 도구를 통해 일반적인 사용자 영역에서 생성된 사용자 지정 주요 파일(문서, 이미지 등)을 자동으로 보안 영역에 백업할 수 있는 기술적 수단을 제안한다. 또한 해당 보안 영역 내의 특정 영역을 디지털 금고 영역으로 설정하여 사용자가 안전하게 보관하고자 하는 파일을 사용자 인증을 통해 저장하는 기술적 수단을 제안한다. 이러한 보안 영역은 운영체제 내지 시스템에서 접근하거나 확인할 수 없는 영역으로서, 일반적인 디스크 접근 방식을 통해서는 확인이 불가능하다.
HPA 영역은 저장 장치의 표준 명령어를 통해 지원되는 기능으로 운영제체와 무관하게 설정이 가능하며, 그 설정 값은 저장 장치에 설정되므로 저장 장치가 도난되어도 포렌식 분석가 등의 전문가가 아니라면 해당 영역을 식별하기 어려운 장점이 존재한다. 또한 데이터는 모두 암호화가 되어 있으므로 암호를 알고 있지 않는 이상 데이터 복호화가 어렵다. 따라서, 본 발명의 실시예들은 저장 장치의 HPA 영역에 기반하여 데이터를 자동으로 백업하거나 사용자가 지정한 파일을 보안 영역에 보관하는 보안 기술을 제안하고자 한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 덧붙여, 명세서 전체에서, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
특별히 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시예들이 채택하고 있는 보안 영역의 개념과 수반되는 조작 방식을 설명하기 위한 도면으로서, 저장 장치(10) 내에 사용자 영역(11)과 보안 영역(13)을 구분하여 설정한다.
보안 영역(HPA)(13)의 설정은 ATA 인터페이스 명령어인 'SET_MAX_ADDRESS'를 이용하여 설정할 수 있다. 일반적으로 저장 장치(10)의 모든 영역은 접근이 가능하며, 시스템에서는 저장 장치(10)의 전체 크기를 인식하고 있다. 본 발명의 실시예들이 채택하는 보안 영역(13)의 설정 시에는 보안 영역의 크기를 설정하는 것이 아니라, 저장 장치(10) 내에 사용자 영역(11)의 전체 크기를 설정하고, 나머지 영역을 보안 영역(13)으로서 사용하게 된다. 예를 들어, 1TB의 저장 장치에서 'SET_MAX_ADDRESS' 명령어를 통해 사용자 영역을 512GB로 설정하면, 시스템에서는 해당 저장 장치를 512GB로 인식하며, 나머지 512GB는 접근이 불가능한 보안 영역으로 설정되는 효과가 나타난다. 이와 같이, 보안 영역(13)이 설정되면 시스템에서는 해당 영역에 접근이 불가능하다. 보안 영역(13)에 접근하기 위해서는 임시로 해당 보안 영역(13)을 해제하고 필요한 섹터(sector)에 직접 접근한다. 이때 저장 장치(10)를 재갱신하기 전에는 임시로 해제된 보안 영역(13)을 운영체제에서 인식하지 못하므로 운영체제에서 해당 보안 영역(13)에 접근할 수 없다.
도 1의 (A)를 참조하면 전체 저장 장치(10)의 영역이 표시되어 있고, 도 1의 (B)를 참조하면 HPA 설정 명령어를 통해 시스템 인식 및 접근이 가능한 사용자 영역(11)과 시스템 인식이 불가능한 보안 영역(13)이 구분되어 지정되었음을 확인할 수 있다. 이 경우, 보안 영역(13)에는 접근이 불가능하다.
도 1의 (C)를 참조하면 HPA 임시 비활성 명령어를 통해 보안 영역(13)이 접근 가능하도록 설정되었음을 확인할 수 있다. 이 경우, 보안 영역(13)은 여전히 시스템에서는 인식이 불가능하나, 보안 에이전트(agent)를 통해 접근할 수 있도록 구현되는 것이 바람직하다.
도 2의 (A) 및 (B)는 각각 보안 영역의 설정 전과 후의 디스크 정보를 예시한 도면으로서, 일단 보안 영역이 설정되면 설정된 보안 영역은 운영체제에서 인식하지 못하는 영역이 된다. 도 2의 (B)를 참조하면, 1TB 저장 장치에서 1,000,000,000 섹터(약 476GB)만이 시스템에서 인식하는 영역이고 나머지 영역은 시스템에서 인식하지 못하는 보안 영역이 되었음을 확인할 수 있다.
도 3은 보안 영역 설정 후 디스크 섹터 수를 예시한 도면으로서, 해당 보안 영역은 종래의 보안 디스크 기술과 같이 운영체제 정보를 후킹(hooking)하여 변조하는 것이 아니라, 펌웨어(firmware) 명령인 ATA 명령을 이용하여 저장 장치에 직접 설정하는 방법을 통해 시스템에서 해당 보안 영역을 인식하지 못하고 활성화된 영역만을 인식할 수 있음을 보여준다.
도 4는 바이오스(bios) 내 디스크 정보를 예시한 도면으로서, 바이오스(bios) 화면 상에서도 1TB 디스크가 512GB로만 인식되는 것을 확인할 수 있다. 또한, 해당 저장 장치를 분리하여 다른 PC에 연결하여도 동일하게 활성화된 512GB의 영역만을 인식할 수 있을 뿐, 숨겨진 보안 영역은 인식하지 못한다.
도 5는 본 발명의 일 실시예에 따른 보안 영역을 이용한 저장 장치의 보안 방법을 도시한 흐름도로서, 저장 장치를 대상으로 보안을 달성하기 위한 데이터 입출력 방식과 일련의 제어 방법에 관한 명령어를 포함하는 소프트웨어인 보안 에이전트(agent)를 구비하는 보안 장치로서 구현될 수 있다.
S100 단계에서, 보안 장치는, 운영체제에 독립적인 표준 인터페이스를 이용하여 저장 장치 내에 시스템에서 인식이 불가능한 보안 영역을 생성한다. 보다 구체적으로 이 과정에서는, ATA(Advanced Technology Attachment) 명령어를 이용하여 시스템에서 인식 가능한 사용자 영역을 생성하고, 상기 저장 장치의 전체 영역 중에서 상기 사용자 영역 외의 영역을 비휘발성(non-volatile) HPA(host protected area)로 설정함으로써 보안 영역을 생성할 수 있다. 여기서, 시스템에서 인식 가능한 영역은, ATA 명령어인 'SET_MAX_ADDRESS' 명령을 통해 접근 가능한 최대 주소를 사용자 영역으로 설정함으로써 결정될 수 있다.
S200 단계에서, 상기 보안 장치는, 상기 보안 영역 내에 암호화된 파일을 백업(backup)하기 위한 백업 영역 또는 암호화된 파일을 보관하기 위한 디지털 금고 영역을 설정한다. 보다 구체적으로 이 과정에서는, 백업 또는 디지털 금고를 위한 암호를 등록받고, 등록된 상기 암호를 이용하여 암호화 및 복호화 키(key)를 생성하여 저장하며, 상기 암호화 및 복호화 키를 이용하여 상기 백업 영역 또는 상기 디지털 금고 영역에 대한 포맷(format)을 수행하여 암호화된 파일 시스템을 적재함으로써, 보안 영역을 초기화할 수 있다.
S300 단계에서, 상기 보안 장치는, 저장 장치 내의 숨겨진 보안 영역에 대한 파일 입출력을 수행할 수 있도록 구현된 응용 소프트웨어인 보안 에이전트(agent)를 통해 상기 보안 영역에 대한 접근(access) 금지를 임시 해제 및 재설정함으로써 상기 보안 영역에 파일 입출력을 수행한다. 이때, 상기 파일 입출력은 암호화 수단을 통해 수행되는 것이 바람직하다. 보다 구체적으로 이 과정에서는, 보안 에이전트가 ATA 명령어를 이용하여 휘발성(volatile) 설정으로 상기 보안 영역을 비활성화함으로써 상기 보안 영역에 대한 접근 금지를 임시 해제하고, 상기 보안 에이전트가 상기 암호화 수단을 통해 암호화된 파일을 상기 보안 영역에 기록하거나 상기 보안 영역으로부터 암호화된 파일을 독출하며, 다시 상기 보안 에이전트가 ATA 명령어를 이용하여 상기 보안 영역을 활성화함으로써 상기 보안 영역에 대한 접근 금지를 재설정할 수 있다. 여기서, 보안 에이전트는 'SET_MAX_ADDRESS' 명령을 통해 상기 보안 영역을 상기 보안 에이전트가 접근 가능한 주소로 설정함으로써 상기 보안 영역을 임시 비활성화하고, 이후 'SET_MAX_ADDRESS' 명령을 통해 상기 보안 영역을 상기 보안 에이전트가 접근 불가능한 주소로 재설정함으로써 상기 보안 영역을 다시 활성화할 수 있다.
도 6은 본 발명의 일 실시예에 따른 보안 방법에서 보안 영역의 설정과 초기화 과정을 도시한 흐름도로서, 앞서 기술한 도 5의 S100 단계 및 S200 단계를 보다 구체적으로 보여준다.
S110 단계에서, 보안 장치는 보호 영역을 생성하고자 하는 저장 장치를 선택한다. 보안 영역을 설정하고자 하는 디스크 선택 화면을 예시한 도 7을 참조하면, 시스템 내에 설치된 물리적인 저장 장치 중에서 보안을 설정하고자 하는 디스크를 선택할 수 있음을 보여준다. 본 발명의 실시예들은 ATA 표준 인터페이스에 따라 동작하므로, 선택된 저장 장치가 그에 따를 경우 다음 단계에서 설정을 진행하게 된다.
S120 단계에서, 보안 장치는 보안 영역의 크기를 설정한다. 도 8을 참조하면, 저장 장치의 영역별로 크기를 설정하되, 특히 보안 영역을 백업 영역과 디지털 금고 영역으로 세분화하여 각각의 크기를 지정하는 화면을 예시하였다.
S130 단계에서, 보안 장치는 ATA 명령을 이용하여 보안 영역을 생성한다. 보안 영역의 설정 과정을 도시한 도 9를 참조하여, 보안 영역 내에 백업 영역(13a)과 디지털 금고 영역(13b)을 각각 설정하는 방법을 설명한다.
보안 영역(HPA)은 데이터를 저장할 수 있는 영역이지만, 일반 사용자가 볼 수 없는 숨겨진 영역으로서, ATA 명령으로 설정이 가능하다. 이러한 HPA는 사용자가 디스크의 사용자 영역을 포맷하거나 삭제했을 때에도 데이터를 보존할 수 있는 영역으로서, 디스크의 마지막 부분에 위치하며 디스크 재설정에 의해서만 접근이 가능하다. 사용자에 의해 보안 영역 내에 영역별 용량이 입력/지정되면 저장소 관리 수단에서는 각 영역의 크기를 검사하여 보안 영역을 설정한다. 보안 영역은 시스템에서 인식이 불가능한 영역이며 백업(backup) 영역(13a)과 디지털 금고(digital locker) 영역(13b)을 합친 크기가 될 수 있다. 해당 영역은 ATA 명령어인 'SET_MAX_ADDRESS' 명령을 이용하여 사용자가 접근할 수 있는 최대 주소를 설정하며, 사용자 영역(11) 이외의 영역을 시스템 인식이 불가능한 보안 영역(HPA)로서 다루게 된다. 또한, 이들 영역을 비휘발(non-volatile)로 설정하여 설정값이 휘발되는 것을 막는다.
한편, 구현의 관점에서, 현재 설정된 사용자 영역(11)의 마지막 주소를 반환하는 'IDENTIFY_DEVICE' 명령어를 통해 보안 영역(HPA)의 시작 주소를 확인할 수 있다. 따라서, HPA로 설정된 보안 영역의 일부를 재차 분할하고자 한다면, HPA 영역의 시작 주소로부터 도 8과 같이 사용자로부터 입력된 크기만큼을 특정 영역으로 지정할 수 있다. 도 9에서는 보안 영역을 백업 영역(13a)과 디지털 금고 영역(13b)으로 분할하여 지정하였는데, 이상에서 예시된 명령어를 이용하여 영역 재분할이 가능하다. 예를 들어, 백업 영역(13a)은 'IDENTIFY_DEVICE' 명령어를 통해 획득된 값을 시작 주소로 하여 사용자가 입력한 백업 영역의 크기를 오프셋(offset)으로 간주하여 전체 백업 영역의 주소를 결정할 수 있다. 또한, 디지털 금고 영역(13b)은 백업 영역(13a)의 마지막 주소를 시작 주소로 하여 사용자가 입력한 디지털 금고 영역의 크기를 오프셋(offset)으로 간주하여 전체 디지털 금고 영역의 주소를 결정할 수 있다. 이때, 디지털 금고 영역의 마지막 주소는 보안 영역의 마지막 주소 내지 저장 장치의 마지막 주소를 넘지 않도록 설정한다. 저장 장치의 마지막 주소는, 예를 들어, 디스크의 물리적 주소의 최대값을 반환하는 'READ_NATIVE_MAX_ADDRESS' 명령어를 통해 획득될 수 있다.
이상과 같이, 보안 영역이 설정되면 해당 영역에 파일을 저장하기 위한 파일 시스템을 적재한다. 파일 시스템을 적재하기 위해서는 파일 시스템 포맷팅(formatting) 작업이 필요하다. 이때 보안 영역에 입출력이 요구된다. 보안 영역은 보호 조치가 해제하기 전까지는 어떠한 데이터도 입출력이 불가능하므로 임시로 해당 보안 영역을 해제하는 과정이 필요하다.
다시 도 6으로 돌아와, S140 단계에서, 보안 장치는 보안 영역을 임시 해제하여 보안 영역에 대한 일련의 입출력 과정을 준비한다. 보안 영역의 임시 해제 과정을 설명하기 위한 도 10을 참조하면, ATA 명령어인 'SET_MAX_ADDRESS' 명령을 통해 휘발성(volatile)으로 보안 영역을 비활성화한다. 휘발성으로 설정시 전원공급이 중단되면 설정값은 자동으로 사라지므로 도중에 시스템이 종료되어도 보안 영역은 사라지지 않는다.
일반적으로 설정된 HPA를 제거하기 위해서는 'SET_MAX_ADDRESS' 명령어를 통해 접근 가능한 주소를 변경함으로써 이루어질 수 있는데, 예를 들어, 디스크의 물리적 주소의 최대값을 반환하는 'READ_NATIVE_MAX_ADDRESS' 명령어를 통해 접근 가능한 최대 주소를 변경한다면, 디스크의 전체 영역을 사용자 영역으로 설정함으로써 HPA가 삭제될 수 있다. 이때, HPA를 제거함에 있어서, 'SET_MAX_ADDRESS' 명령어를 휘발성(volatile) 비트 설정으로 수행함으로써 보안 영역을 임시로 비활성화할 수 있다. 즉, 디스크가 재설정되거나 전원이 재공급된 이후에 HPA가 다시 복구되도록 유도함으로써 보안 영역의 임시 해제 효과를 얻을 수 있다.
한편, 보안 장치는, 도 6의 S210 단계에서 백업 또는 디지털 금고를 위한 암호를 등록한다. 도 11을 참조하면, 도 11의 (A) 및 (B)는 각각 백업 영역 및 디지털 금고 영역의 비밀번호를 설정하는 화면을 예시하였다.
다음으로, S220 단계에서 등록된 암호를 이용하여 암호화 및 복호화 키를 생성하여 저장하며, S230 단계에서 각 암호화 및 복호화 키를 이용하여 백업 영역 또는 디지털 금고 영역을 암호화 파일 시스템으로 포맷(format)한다. 보안 영역에 파일 시스템을 초기화하는 과정을 보여주는 도 12를 참조하면, 보안 영역의 각 영역(13a, 13b)에는 각각 파일 시스템이 적재된다. 이때 사용되는 파일 시스템은 두 영역(13a, 13b) 모두에 동일한 파일 시스템을 사용할 수도 있고 서로 다른 파일 시스템을 사용할 수도 있다. 파일 시스템 포맷을 통해 파일 시스템이 적재되는데 사용자로부터 입력된 암호를 이용하여 생성된 암호화 및 복호화 키(35)를 통해 파일 시스템을 암호화한다. 이는 물리적으로 저장 장치를 도난당하여도 내부 파일을 확인할 수 없도록 하는 보호 조치이다.
도 13은 보안 영역과 더불어 암호화 및 복호화 키 생성 데이터를 저장하는 저장 장치의 구조를 도시한 도면으로서, 사용자로부터 등록된 암호를 이용하여 암호화 및 복호화 키(key) 생성 데이터를 저장하게 된다. 특히, 보안 영역 내에 백업 영역(13a)을 설정하는 경우, 상기 백업 영역(13a)의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 가능한 사용자 영역(11) 내에 저장하는 것이 바람직하다. 또한, 상기 보안 영역 내에 디지털 금고 영역(13b)을 설정하는 경우, 상기 디지털 금고 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 불가능한 상기 보안 영역 내에 저장하는 것이 바람직하다.
이제, 도 6의 S240 단계에서, 보안 장치는 디지털 금고 영역에 대한 보호를 활성화하여 초기화 과정을 마무리한다. 초기화가 완료되면 자동 백업이 시작되며 디지털 금고 영역(13b)은 다시 접근이 불가능한 보안 영역으로 설정할 수 있다. 자동 백업을 위해 백업 영역(13a)은 임시 해제된 상태 그대로 유지하며 자동 백업을 시작한다. 도 14를 참조하면, 보안 영역의 재설정을 통해 초기화를 완료하는 과정을 보여주는데, 이상과 같은 구현 시나리오에 따르면, 디지털 금고 영역(13b)만을 보호 활성화함으로써 접근을 막게 된다. 필요에 따라 백업 영역(13a)에 대한 보호 활성화도 함께 이루어질 수 있음은 당연하다.
도 15는 본 발명의 일 실시예에 따른 보안 방법에서 자동 백업 과정을 도시한 흐름도로서, 도 5의 S300 과정을 기반으로 백업 영역에 대한 자동화된 백업을 처리하는 방법을 제시한다.
이를 위해, 보안 장치는 백업 영역의 보호가 활성화되어 있는지 여부를 검사한 후, 접근이 거부된다면(즉, 접근 금지가 설정되었다면) S311 단계를 통해 백업 영역의 보호를 임시로 해제한다. 보호 영역에 대한 임시 해제는 앞서 도 10을 통해 설명한 HPA 임시 비활성 명령을 통해 수행될 수 있다.
백업 영역에 대한 접근이 가능해지면, S312 단계를 통해 백업 정책을 로드(load)한다. 주요 파일에 대한 자동 백업은 미리 설정된 유형의 파일(예를 들어, 문서나 사진 등이 될 수 있다.)을 자동으로 백업하는 기능으로서, 사용자로부터 백업하고자 하는 파일의 유형을 지정할 수 있다. 또한 백업 대상 파일에 대해 파일 변경 시간별로 순차적인 버전으로 저장할 개수를 지정할 수도 있다. 백업 정책을 설정하는 과정을 예시한 도 16을 참조하면, 사용자의 선택에 따라 도 16과 같이 설정값이 입력되면 백업 정책으로서 해당 내용이 저장된다.
도 15의 S313 단계에서, 보안 장치는 암호화를 위한 키 값을 로드하고 파일 모니터링을 시작한다. 파일 모니터링 수단을 통해 일반 사용자 영역에 생성 내지 변경되는 파일을 모니터링하여 백업 대상 파일이 발견되는 경우 해당 파일을 백업 영역에 저장한다. 백업 대상 파일이 검색되면, S314 단계를 통해 백업 영역에 저장될 내용을 암호화 수단을 통해 암호화하고 저장소 입출력 수단을 통해 저장 장치 내의 백업 영역에 저장한다. 이와 같이, 백업 영역 및 디지털 금고 영역에 대한 데이터 입출력은 특정 접근 수단을 통해서만 가능하도록 구현되며 이러한 접근 수단을 거치지 않은 모든 입출력은 허용되지 않는다.
도 17은 백업 영역에 암호화된 파일을 자동으로 백업하는 과정을 설명하기 위한 도면으로서, 백업 정책(37) 및 암호화 키(35)를 로드(load)하고, 상기 백업 정책(37)에 따라 선택된 백업 대상 파일을 상기 암호화 키(35)를 이용하여 암호화하여 백업 영역(13a)에 저장한다.
한편, 백업 서비스에 대한 종료 이벤트가 확인되면, 도 15의 S315 단계로 진행하여, 백업 영역에 대한 보호를 다시 활성화함으로써 임의의 위험으로부터 접근을 차단한다.
도 18은 본 발명의 일 실시예에 따른 보안 방법에서 백업 파일을 복원하는 과정을 도시한 흐름도이다. S321 단계에서 사용자로부터 암호를 입력받고, 암호화 및 복호화 키 생성을 위한 데이터를 로드한다. S322 단계에서 입력된 암호로부터 암호화 및 복호화 키를 생성하며, S323 단계에서 생성된 암호화 및 복호화 키를 검증한다. 만약 검증 결과가 유효하다면 복원 대상 파일을 독출하고, S324 단계를 통해 상기 복호화 키를 이용하여 복호화한다.
도 19는 본 발명의 다른 실시예에 따른 보안 방법에서 디지털 금고의 사용 과정을 도시한 흐름도로서, 도 5의 S300 과정을 기반으로 디지털 금고 영역에 대한 암호화된 파일 입출력을 처리하는 방법을 제시한다. S331 단계에서 사용자로부터 암호를 입력받고, 암호화 및 복호화 키 생성을 위한 데이터를 로드한다. 디지털 금고의 로그인 창을 예시한 도 20을 참조하면, 디지털 금고 영역은 디지털 금고 영역에 로그인하기 전까지 접근이 불가능한 보안 영역으로 설정되어 있으며, 로그인시 임시로 보안이 비활성화되어 디지털 금고 전용 탐색기를 이용하여 파일 탐색 및 저장/로드가 가능해진다.
도 21은 디지털 금고 탐색기를 예시한 도면으로서, 디지털 금고 전용 탐색기에 나타나는 정보는 자체 파일 시스템 모듈을 사용하여 윈도우즈 제공 탐색기 및 타 탐색기로는 파일 확인이 불가능하며, 사용자의 로그인 후 전용 탐색기를 이용하여 저장된 파일의 탐색이 가능하다. 디지털 금고 탐색기는 도 21에 예시된 바과 같이 구성될 수 있으며 일반 데이터 영역(①)에서 선택한 파일을 디지털 금고 영역(②)에 넣거나 디지털 금고 영역(②)에 존재하는 파일을 데이터 영역(①)으로 가져와 저장하는 것이 가능하다. 디지털 금고 내의 파일은 삭제/이름변경/꺼내기는 가능하나 실행/수정은 되지 않는다. 이는 디지털 금고 내 보안성 향상을 위해 제한을 한 것으로서, 디지털 금고 내의 파일은 백신 등에 의해 탐지되지 않으므로 임의로 실행할 경우 보안상 문제가 발생할 수 있기 때문이다.
다시 도 19로 돌아와, S332 단계에서는 입력된 암호로부터 암호화 및 복호화 키를 생성하며, S33 단계에서 앞서 생성된 상기 암호화 및 복호화 키를 검증한다. 검증 결과, 암호화 및 복호화 키가 유효하다면, S334 단계로 진행하여 보안 영역 내의 디지털 금고 영역에 대한 보호를 임시 해제한다. S335 단계에서는 상기 암호화 키를 이용하여 입력 대상 파일을 암호화하여 상기 디지털 금고 영역에 저장하거나, S336 단계에서는 상기 디지털 금고 영역으로부터 독출된 출력 대상 파일을 상기 복호화 키를 이용하여 복호화하여 출력한다. 디지털 금고 영역에 암호화된 파일을 입출력하는 과정을 도시한 도 22를 참조하면, 디지털 금고 내의 파일은 보안 에이전트의 일종인 디지털 금고 탐색기로부터 입출력이 가능하며, 파일의 입출력은 모두 암호화 및 복호화 키(35)를 이용하여 디지털 금고 탐색기를 통해 수행되는 것이 바람직하다.
마지막으로 디지털 금고의 사용을 완료하였다면, S337 단계를 통해 디지털 금고 영역에 대한 보호를 활성화함으로써 임의의 위험으로부터 접근을 차단한다. 따라서, 파일 입출력이 완료된 후, 사용자가 로그아웃 할 경우, 디지털 금고 영역은 저장소 관리 수단을 통해 보안 영역이 활성화되어 접근할 수 없는 영역으로 변경된다.
도 23은 본 발명의 또 다른 실시예에 따른 저장 장치의 보안 영역을 이용한 보안 장치(40)를 도시한 블록도로서, 앞서 도 5를 통해 기술한 보안 방법을 하드웨어 구현의 관점에서 재구성한 것이다. 따라서, 여기서는 설명의 중복을 피하고자 각 구성 요소의 기능을 중심으로 각각의 동작을 약술하도록 한다.
저장 장치(10)는, 운영체제에 독립적인 표준 인터페이스를 이용하여 시스템에서 인식이 불가능하도록 생성된 보안 영역을 포함하되, 상기 보안 영역 내에 암호화된 파일을 백업(backup)하기 위한 백업 영역 또는 암호화된 파일을 보관하기 위한 디지털 금고 영역이 설정되는 구성이다.
여기서, 상기 저장 장치(10)는, ATA(Advanced Technology Attachment) 명령어를 이용하여 시스템에서 인식 가능한 사용자 영역을 생성하고, 상기 저장 장치의 전체 영역 중에서 상기 사용자 영역 외의 영역을 비휘발성(non-volatile) HPA(host protected area)로 설정함으로써 보안 영역을 생성할 수 있다.
또한, 상기 저장 장치(10)는, 사용자로부터 입력된 암호를 이용하여 암호화 및 복호화 키(key)를 생성하여 저장하되, 상기 보안 영역 내에 백업 영역을 설정하는 경우, 상기 백업 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 가능한 사용자 영역 내에 저장하고, 상기 보안 영역 내에 디지털 금고 영역을 설정하는 경우, 상기 디지털 금고 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 불가능한 상기 보안 영역 내에 저장할 수 있다.
보안 에이전트(agent)(20)는, 상기 보안 영역에 대한 접근(access) 금지를 임시 해제 및 재설정함으로써 상기 보안 영역에 파일 입출력을 수행하는 구성이다. 이때, 상기 파일 입출력은 암호화 수단을 통해 수행되는 것이 바람직하다.
상기 보안 에이전트(20)는, ATA 명령어를 이용하여 휘발성(volatile) 설정으로 상기 보안 영역을 비활성화함으로써 상기 보안 영역에 대한 접근 금지를 임시 해제하고, 상기 암호화 수단을 통해 암호화된 파일을 상기 보안 영역에 기록하거나 상기 보안 영역으로부터 암호화된 파일을 독출하며, ATA 명령어를 이용하여 상기 보안 영역을 활성화함으로써 상기 보안 영역에 대한 접근 금지를 재설정할 수 있다.
이상과 같이, 도 23의 보안 장치(40)는, 저장 장치(10)의 보안 영역을 구성하여 악의적인 공격으로부터 파일을 보호하기 위한 시스템으로서, 보안 영역을 노출시키지 않고 악의적인 공격으로부터 보안 영역을 보호하는 데에 그 목적이 있다. 따라서, 제어부(30)는 적어도 하나의 프로세서와 일련의 명령어를 로드하여 처리할 수 있는 메모리를 구비하며, 보안 에이전트(20)의 요청에 따라 저장 장치(10)에 접근하여 보호를 해제/재설정하거나 암호화된 입출력을 수행한다.
구현의 흐름에 따라 순차적인 동작을 소개하면, 보호 영역을 설정할 디스크 선택 및 보호 영역의 크기를 설정하고, 설정값을 통해 보안 영역을 설정한 후 각 보호 영역에 파일 시스템을 적재한다. 이때 각 파일 시스템은 암호화 수단에 의해 암호화되며 제어부(30)의 일부로 구성되는 저장소 입출력 수단을 통해 저장 장치(10)에 파일 시스템 데이터가 저장된다. 파일 시스템을 적재하는 초기화 작업이 완료되면 저장소 관리 수단에 의해 디지털 금고 영역에 대한 보호가 활성화되며 미리 설정한 백업 정책에 따라 대상 파일이 자동으로 백업되기 시작한다. 주요 파일의 자동 백업은 사용자로부터 입력된 백업 대상 파일 정보에 따라 이루어지며, 제어부(30)를 구성하는 파일 모니터링 수단을 통해 해당 정책 정보를 이용하여 백업 대상 파일이 생성/수정될 경우 백업 영역에 파일을 백업한다. 한편, 디지털 금고는 특별히 보관하고자 하는 파일을 보관하는 저장소로서, 보안 에이전트(20)를 통해 사용자가 로그인하면 제어부(30)를 구성하는 저장소 관리 수단에서 디지털 금고 영역의 보호를 임시로 비활성화하며 디지털 금고 탐색기를 통해 파일 입/출력을 수행한다. 디지털 금고에 저장된 파일은 보안성 향상을 위해 임의로 실행하는 것이 불가능하며 오직 디지털 금고 탐색기를 통해서만 입/출력이 가능하도록 구현되는 것이 바람직하다. 파일 입출력이 완료된 후, 사용자가 디지털 금고로부터 로그아웃 할 경우, 제어부(30)를 구성하는 저장소 관리 수단을 통해 디지털 금고 영역의 보호가 다시 활성화된다.
상기된 본 발명의 실시예들에 따르면, 저장 장치의 표준 인터페이스를 이용하므로 운영체제 의존성이 매우 낮다. 특히, ATA 명령어를 이용하여 디스크 펌웨어(firmware) 영역에서 보안 영역을 관리하므로 운영체제가 시작되기 이전의 시스템 바이오스(bios) 영역에서조차 해당 보안 영역에 접근이 불가능하다는 장점을 갖는다. 따라서, 시스템의 부팅 과정에서부터 운영체제가 구동된 이후까지 해당 영역에 대한 충실한 보호가 가능하다. 또한 각 보안 영역은 사용자가 지정한 패스워드로 암호화됨으로써 저장 장치의 물리적인 도난시에도 저장된 내용의 유출을 방지할 수 있다.
한편, 본 발명은 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장 장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10: 저장 장치
11: 사용자 영역 13: 보안 영역
13a: 백업 영역 13b: 디지털 금고 영역
20: 보안 에이전트
30: 제어부
35: 암/복호화 키
35a: 백업 영역의 암/복호화 키 생성 데이터
35b: 디지털 금고 영역의 암/복호화 키 생성 데이터
37: 백업 정책
40: 보안 장치

Claims (14)

  1. (a) 운영체제에 독립적인 표준 인터페이스를 이용하여 저장 장치 내에 시스템에서 인식이 불가능한 보안 영역을 생성하는 단계;
    (b) 상기 보안 영역 내에 암호화된 파일을 백업(backup)하기 위한 백업 영역 또는 암호화된 파일을 보관하기 위한 디지털 금고 영역을 설정하는 단계; 및
    (c) 보안 에이전트(agent)를 통해 상기 보안 영역에 대한 접근(access) 금지를 임시 해제 및 재설정함으로써 상기 보안 영역에 파일 입출력을 수행하는 단계를 포함하고,
    상기 (a) 단계는,
    (a1) ATA(Advanced Technology Attachment) 명령어를 이용하여 시스템에서 인식 가능한 사용자 영역을 생성하는 단계; 및
    (a2) 상기 저장 장치의 전체 영역 중에서 상기 사용자 영역 외의 영역을 비휘발성(non-volatile) HPA(host protected area)로 설정함으로써 보안 영역을 생성하는 단계를 포함하며,
    상기 파일 입출력은 암호화 수단을 통해 수행되는 것을 특징으로 하는 저장 장치의 보안 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 (a1) 단계는,
    'SET_MAX_ADDRESS' 명령을 통해 접근 가능한 최대 주소를 사용자 영역으로 설정하는 것을 특징으로 하는 저장 장치의 보안 방법.
  4. 제 1 항에 있어서,
    상기 (b) 단계는,
    (b1) 백업 또는 디지털 금고를 위한 암호를 등록받는 단계;
    (b2) 등록된 상기 암호를 이용하여 암호화 및 복호화 키(key)를 생성하여 저장하는 단계; 및
    (b3) 상기 암호화 및 복호화 키를 이용하여 상기 백업 영역 또는 상기 디지털 금고 영역에 대한 포맷(format)을 수행하여 암호화된 파일 시스템을 적재하는 단계를 포함하는 저장 장치의 보안 방법.
  5. 제 4 항에 있어서,
    상기 (b2) 단계는,
    상기 보안 영역 내에 백업 영역을 설정하는 경우, 상기 백업 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 가능한 사용자 영역 내에 저장하고,
    상기 보안 영역 내에 디지털 금고 영역을 설정하는 경우, 상기 디지털 금고 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 불가능한 상기 보안 영역 내에 저장하는 것을 특징으로 하는 저장 장치의 보안 방법.
  6. 제 1 항에 있어서,
    상기 (c) 단계는,
    (c1) 보안 에이전트가 ATA 명령어를 이용하여 휘발성(volatile) 설정으로 상기 보안 영역을 비활성화함으로써 상기 보안 영역에 대한 접근 금지를 임시 해제하는 단계;
    (c2) 상기 보안 에이전트가 상기 암호화 수단을 통해 암호화된 파일을 상기 보안 영역에 기록하거나 상기 보안 영역으로부터 암호화된 파일을 독출하는 단계; 및
    (c3) 상기 보안 에이전트가 ATA 명령어를 이용하여 상기 보안 영역을 활성화함으로써 상기 보안 영역에 대한 접근 금지를 재설정하는 단계를 포함하는 저장 장치의 보안 방법.
  7. 제 6 항에 있어서,
    상기 (c1) 단계는 'SET_MAX_ADDRESS' 명령을 통해 상기 보안 영역을 상기 보안 에이전트가 접근 가능한 주소로 설정함으로써 상기 보안 영역을 임시 비활성화하고,
    상기 (c3) 단계는 'SET_MAX_ADDRESS' 명령을 통해 상기 보안 영역을 상기 보안 에이전트가 접근 불가능한 주소로 재설정함으로써 상기 보안 영역을 다시 활성화하는 것을 특징으로 하는 저장 장치의 보안 방법.
  8. 제 6 항에 있어서,
    자동 백업을 수행하는 경우,
    상기 (c1) 단계는, 상기 보안 영역 내 상기 백업 영역에 대한 보호가 활성화되었는지 여부를 검사하여 접근 금지가 설정되었다면 이를 임시 해제하고,
    상기 (c2) 단계는, 백업 정책 및 암호화 키를 로드(load)하고, 상기 백업 정책에 따라 선택된 백업 대상 파일을 상기 암호화 키를 이용하여 암호화하여 상기 백업 영역에 저장하며,
    상기 (c3) 단계는, 상기 백업 영역에 대한 보호를 활성화하는 것을 특징으로 하는 저장 장치의 보안 방법.
  9. 제 8 항에 있어서,
    백업 파일을 복원하는 경우,
    (c4) 사용자로부터 암호를 입력받아 입력된 상기 암호로부터 암호화 및 복호화 키를 생성하고 생성된 상기 암호화 및 복호화 키를 검증하는 단계; 및
    (c5) 검증 결과가 유효하다면 복원 대상 파일을 독출하여 상기 복호화 키를 이용하여 복호화하는 단계를 더 포함하는 저장 장치의 보안 방법.
  10. 제 6 항에 있어서,
    디지털 금고를 사용하는 경우,
    (c0) 사용자로부터 암호를 입력받아 입력된 상기 암호로부터 암호화 및 복호화 키를 생성하고 생성된 상기 암호화 및 복호화 키를 검증하는 단계를 더 포함하고,
    상기 (c1) 단계는, 상기 보안 영역 내 상기 디지털 금고 영역에 대한 보호를 임시 해제하고,
    상기 (c2) 단계는, 상기 암호화 키를 이용하여 입력 대상 파일을 암호화하여 상기 디지털 금고 영역에 저장하거나, 상기 디지털 금고 영역으로부터 독출된 출력 대상 파일을 상기 복호화 키를 이용하여 복호화하여 출력하며,
    상기 (c3) 단계는, 상기 디지털 금고 영역에 대한 보호를 활성화하는 것을 특징으로 하는 저장 장치의 보안 방법.
  11. 운영체제에 독립적인 표준 인터페이스를 이용하여 시스템에서 인식이 불가능하도록 생성된 보안 영역을 포함하되, 상기 보안 영역 내에 암호화된 파일을 백업(backup)하기 위한 백업 영역 또는 암호화된 파일을 보관하기 위한 디지털 금고 영역이 설정되는 저장 장치; 및
    상기 보안 영역에 대한 접근(access) 금지를 임시 해제 및 재설정함으로써 상기 보안 영역에 파일 입출력을 수행하는 보안 에이전트(agent)를 포함하고,
    상기 저장 장치는, ATA(Advanced Technology Attachment) 명령어를 이용하여 시스템에서 인식 가능한 사용자 영역을 생성하고, 상기 저장 장치의 전체 영역 중에서 상기 사용자 영역 외의 영역을 비휘발성(non-volatile) HPA(host protected area)로 설정함으로써 보안 영역을 생성하며,
    상기 파일 입출력은 암호화 수단을 통해 수행되는 것을 특징으로 하는 보안 장치.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 저장 장치는,
    사용자로부터 입력된 암호를 이용하여 암호화 및 복호화 키(key)를 생성하여 저장하되,
    상기 보안 영역 내에 백업 영역을 설정하는 경우, 상기 백업 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 가능한 사용자 영역 내에 저장하고,
    상기 보안 영역 내에 디지털 금고 영역을 설정하는 경우, 상기 디지털 금고 영역의 암호화 및 복호화 키 생성을 위한 데이터를 시스템에서 인식이 불가능한 상기 보안 영역 내에 저장하는 것을 특징으로 하는 보안 장치.
  14. 제 11 항에 있어서,
    상기 보안 에이전트는,
    ATA 명령어를 이용하여 휘발성(volatile) 설정으로 상기 보안 영역을 비활성화함으로써 상기 보안 영역에 대한 접근 금지를 임시 해제하고, 상기 암호화 수단을 통해 암호화된 파일을 상기 보안 영역에 기록하거나 상기 보안 영역으로부터 암호화된 파일을 독출하며, ATA 명령어를 이용하여 상기 보안 영역을 활성화함으로써 상기 보안 영역에 대한 접근 금지를 재설정하는 것을 특징으로 하는 보안 장치.
KR1020180090158A 2018-08-02 2018-08-02 저장 장치를 위한 보안 방법 및 이를 이용한 보안 장치 KR102124578B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180090158A KR102124578B1 (ko) 2018-08-02 2018-08-02 저장 장치를 위한 보안 방법 및 이를 이용한 보안 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180090158A KR102124578B1 (ko) 2018-08-02 2018-08-02 저장 장치를 위한 보안 방법 및 이를 이용한 보안 장치

Publications (2)

Publication Number Publication Date
KR20200014978A KR20200014978A (ko) 2020-02-12
KR102124578B1 true KR102124578B1 (ko) 2020-06-18

Family

ID=69569579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180090158A KR102124578B1 (ko) 2018-08-02 2018-08-02 저장 장치를 위한 보안 방법 및 이를 이용한 보안 장치

Country Status (1)

Country Link
KR (1) KR102124578B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146642A (ja) 2006-12-11 2008-06-26 Lenovo Singapore Pte Ltd マルチオペレーティングシステム環境下でハードディスクを保護するための装置、システム、および方法
KR101442539B1 (ko) 2013-12-31 2014-09-26 권용구 보안저장장치를 구비하는 저장 시스템 및 그 관리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506578B1 (ko) * 2008-07-17 2015-03-30 삼성전자주식회사 데이터 보안을 위한 파일 시스템 구성 방법 및 장치, 그에의해 만들어진 데이터 보안 영역에 접근하는 방법 및 장치,그에 따른 데이터 저장 장치
KR101203804B1 (ko) * 2009-04-10 2012-11-22 닉스테크 주식회사 보안 이동형 저장장치 및 그 제어 방법
KR101469803B1 (ko) 2013-04-01 2014-12-05 주식회사 좋을 데이터 보안장치, 이를 구비하는 단말기 및 데이터 보안 방법과 컴퓨터로 읽을 수 있는 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146642A (ja) 2006-12-11 2008-06-26 Lenovo Singapore Pte Ltd マルチオペレーティングシステム環境下でハードディスクを保護するための装置、システム、および方法
KR101442539B1 (ko) 2013-12-31 2014-09-26 권용구 보안저장장치를 구비하는 저장 시스템 및 그 관리 방법

Also Published As

Publication number Publication date
KR20200014978A (ko) 2020-02-12

Similar Documents

Publication Publication Date Title
US7346781B2 (en) Initiating execution of a computer program from an encrypted version of a computer program
US10169586B2 (en) Ransomware detection and damage mitigation
JP4837985B2 (ja) 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
US7484245B1 (en) System and method for providing data security
US8245293B2 (en) Methods and apparatuses for securely operating shared host computers with portable apparatuses
US8931063B2 (en) Methods and apparatuses for securely operating shared host computers with portable apparatuses
US9053321B2 (en) Antivirus system and method for removable media devices
JP6410828B2 (ja) セキュリティ保存装置を具備する保存システム及び其の管理方法
WO2006058472A1 (fr) Procede d'etablissement d'un environnement d'execution securisee dans un ordinateur
US20050091522A1 (en) Security system and method for computers
US7818567B2 (en) Method for protecting security accounts manager (SAM) files within windows operating systems
US8499345B2 (en) Blocking computer system ports on per user basis
CN102948114A (zh) 用于访问加密数据的单次使用认证方法
EP3627368B1 (en) Auxiliary memory having independent recovery area, and device applied with same
JP2003345654A (ja) データ保護システム
US6907524B1 (en) Extensible firmware interface virus scan
WO2020011121A1 (zh) 数据处理方法和存储设备
TWI607338B (zh) 儲存裝置及其資料保護方法與資料保護系統
JP2003108253A (ja) アプリケーションの監視方法およびプログラム
Butler et al. Rootkit-resistant disks
Hong et al. Personal privacy protection framework based on hidden technology for smartphones
JP2010097550A (ja) ウイルス防止プログラム、コンピュータに着脱可能な記憶装置、及びウイルス防止方法
CN104361298B (zh) 信息安全保密的方法和装置
KR20220085786A (ko) 랜섬웨어 방지
KR102124578B1 (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