3장: EFS(Encrypting File System)
게시 날짜: 2007년 4월 4일
Microsoft® Windows® XP 및 Windows Vista™에는 EFS(Encrypting File System)를 통해 데이터를 보호하고 보호된 데이터를 복구하는 기능이 들어 있습니다. EFS는 개별 파일 또는 특정 폴더 안에 들어 있는 모든 파일에 적용할 수 있는 데이터 암호화 기술입니다. EFS 파일을 해독하려면 해당 키 자료가 있어야 합니다. 또한 Microsoft BitLocker™ 드라이브 암호화(BitLocker)와 달리 운영 체제 부팅에 필요한 파일에는 적용할 수 없습니다.
BitLocker는 전체 시스템 볼륨의 모든 데이터에 대한 암호화 기능을 제공하지만 EFS는 단일 컴퓨터의 단일 사용자 또는 복수 사용자에 대한 암호화를 구성할 때 더 큰 정확성과 유연성을 제공합니다. 예를 들어 EFS는 서로 다른 많은 사용자들이 액세스하는 네트워크의 데이터 파일의 암호화에 사용할 수 있는데, 이는 BitLocker가 제공할 수 없는 부분입니다.
EFS는 해당 사용자와 권한이 부여된 복구 에이전트만 액세스할 수 있는 키를 사용하여 파일을 보호하는 사용자 단위의 암호화 기능을 제공합니다. 공격자가 파일 사본을 가지고 있어도 키 자료를 가지고 있거나 해당 파일을 암호화한 사용자로 로그온하여 원본 위치에서 다른 위치로 파일을 직접 복사하지 않는 한 해당 파일을 읽을 수 없습니다.
이 페이지에서
Windows XP의 EFS
Windows Vista의 EFS
EFS 옵션: 소프트웨어 키 저장소를 사용하는 EFS
EFS 옵션: 스마트 카드를 사용하는 EFS
EFS 위험 분석 요약
자세한 정보
Windows XP의 EFS
EFS는 Windows 2000에서도 사용할 수 있지만 Windows XP 및 Windows Server® 2003에서 구현될 때 다음과 같은 중요한 부가 기능을 제공합니다.
보다 향상된 복구 기능
암호화된 파일을 공유할 때 사용되는 인증서 폐기 검사에 대한 완벽한 지원
보호된 파일을 손쉽게 찾고 검증하기 위한 Windows Explorer의 사용자 인터페이스 변경 사항
Windows XP에서 암호화된 오프라인 폴더 지원
암호화된 파일에 대한 복수 사용자 지원
Microsoft의 향상된 강력한 CSP(Cryptographic Service Provider) 지원
WebDAV를 통한 EFS를 사용하는 종단 간 암호화
이러한 Windows XP에서의 향상된 EFS에 대한 자세한 내용은 "Windows XP 및 Windows Server 2003에서의 EFS(Encrypting File System)" 자료를 참조하십시오.
이 장에서 기술된 모든 EFS 시나리오에서 로그온한 사용자는 Windows Explorer에서 고급 특성 인터페이스를 사용하여 파일 및 폴더에 대한 암호화를 사용하도록 설정할 수 있습니다.
.gif)
그림 3.1. Windows XP 고급 특성 대화 상자
맨 처음 폴더의 파일을 암호화할 때 선택한 파일만 암호화할 것인지 또는 폴더 전체를 암호화할 것인지 사용자에게 물어봅니다.
EFS 암호화 정책 범위에서 더 강력한 통제가 필요한 조직에서는, GPO(Group Policy Object)를 사용하여 중앙에서 EFS를 관리함으로써 Cipher.exe 유틸리티를 사용하는 스크립트를 자동 배포하여 조직 전체에 암호화를 구성할 수 있습니다.
참고:
소프트웨어 및 스마트 카드 기반 EFS 모드는 두 가지 모두 모든 작업에 연관된 인증서가 있어야 합니다. 예를 들어 스마트 카드 기반 EFS의 경우 모든 암호화 또는 해독 작업에 카드가 있어야 합니다. 개인 키가 없는 경우 인증서를 암호화에 사용할 수 없으므로 이 기능은 연관된 개인 키가 없는 인증서를 사용하여 파일을 실수로 암호화할 가능성을 방지합니다.
Windows Vista의 EFS
EFS는 Windows Vista Business, Enterprise 및 Ultimate 버전에서 사용할 수 있으며 Windows Server “Longhorn” 릴리스에서 제공될 예정입니다. Windows Vista는 EFS에 대한 다음과 같이 향상된 중요한 기능을 제공합니다.
스마트 카드에 직접 저장된 암호 키를 사용하여 EFS 암호화
마법사를 기반으로 EFS에 사용되는 인증서를 생성 및 선택
마법사를 기반으로 이전 스마트 카드에서 새 스마트 카드로 파일 마이그레이션
EFS를 사용하도록 설정할 때 시스템 페이징 파일 암호화
관리자가 조직 내 EFS 정책을 정의 및 구현하는 데 도움이 되는 새로운 그룹 정책 옵션 이러한 옵션에는 EFS에 대한 스마트 카드 필수, 페이지 파일 암호화, EFS에 대한 최소 키 길이 명시, 사용자의 내 문서 폴더 암호화 등이 포함됩니다.
Windows Vista에서 EFS 기능을 세밀하게 관리할 수 있는 보다 뛰어난 기능들이 새로운 사용자 인터페이스에 반영되어 있습니다.
.gif)
그림 3.2. Windows Vista EFS 관리 인터페이스
이 장의 나머지 부분에서는 두 가지 EFS 옵션을 설명하고 각 옵션이 제공하는 보호 수준에 대해 설명합니다.
EFS 옵션: 소프트웨어 키 저장소를 사용하는 EFS
이 EFS 옵션은 Windows XP 또는 Windows Vista 기반 컴퓨터에서만 사용할 수 있습니다.
이 옵션에서 EFS 암호화 과정의 논리적 순서가 다음 그림에 나와 있습니다.
.jpg)
그림 3.3. EFS 암호화 과정
그림에 나와 있는 암호화의 순차적 단계는 다음과 같습니다.
사용자가 암호화된 폴더에 새 파일을 만듭니다.
대칭 파일 암호화 키(FEK)가 임의로 생성됩니다.
운영 체제는 적절한 키 사용 플래그가 들어 있는 인증서를 찾기 위해 사용자의 인증서 저장소를 검사합니다. 적절한 인증서가 없는 경우 자동으로 인증서가 생성됩니다.
사용자 인증서와 연관된 개인 키를 암호화하고 저장하기 위해 DPAPI(Data Protection Application Programming Interface)가 사용됩니다.
인증서의 공개 키를 사용하여 FEK가 암호화되고 파일 메타데이터에 저장됩니다.
FEK는 각 데이터 블록을 암호화하는 데 사용됩니다.
암호화된 블록이 디스크에 기록됩니다.
이 옵션에서 EFS 해독 과정의 논리적 순서가 다음 그림에 나와 있습니다.
.jpg)
그림 3.4. EFS 해독 과정
그림에 나와 있는 해독 과정의 순차적 단계는 다음과 같습니다.
사용자 로그온이 로컬로 또는 도메인 컨트롤러에 의해 검증됩니다.
사용자가 암호화된 파일에 대한 액세스를 시도합니다.
DPAPI를 사용하여 사용자의 X.509 인증서와 연관된 개인 키를 검색하고, 사용자의 로그온 자격 증명에서 파생된 키를 사용하여 이를 해독합니다.
FEK는 파일에서 검색되어 전 단계에서 구한 개인 키를 사용하여 해독됩니다.
FEK는 요청이 있을 때마다 파일의 각 블록을 해독하는 데 사용됩니다.
해독된 데이터는 요청한 응용 프로그램으로 전달됩니다.
EFS 구현 작업에 대한 추가 정보는 EFS(Encrypting File System) 기술 참조에서 참조하실 수 있습니다.
위험 완화: 소프트웨어 키 저장소를 사용하는 EFS
EFS 옵션은 다음과 같은 데이터에 대한 위험을 감소시킵니다.
내부자가 암호화된 데이터를 읽을 수 있음. BitLocker와 비교할 때 EFS의 뚜렷한 장점은 암호화 키가 사용자의 자격 증명으로 보호되는 안전한 키 저장소에 저장된다는 것입니다. 이 구성에서 자격 증명은 암호입니다. 따라서 컴퓨터에 대한 권한이 부여된 다른 사용자는 대화식으로 또는 네트워크를 통해 컴퓨터에 로그온할 수 있으나, 파일 액세스가 특별히 허용되는 경우를 제외하고 이 사용자는 다른 사용자가 EFS를 사용하여 보호하고 있는 컴퓨터의 기밀 파일에 액세스할 수 없습니다.
오프라인 공격을 통한 키 검색. 공격자가 사용자 암호 대신 FEK 또는 DPAPI 마스터 키와 같은 키를 공격 대상으로 하는 경우, EFS 복구 키(EFS가 사용하는 인증서의 개인 키) 또는 DPAPI 마스터 키가 무차별 대입 공격을 받을 수 있습니다. EFS가 사용하는 강력한 종류의 키로 보호하면 이러한 종류의 공격은 성공하기 어렵기 때문에 많은 조직들이 이러한 위협에 대해서는 크게 우려하지 않습니다.
시스템 페이징 파일을 통한 일반 텍스트 데이터 유출(Windows Vista만 해당) Windows Vista는 시스템 페이징 파일의 내용을 암호화하는 기능을 제공하므로, 이는 데이터 유출의 한 가지 가능한 원인을 제거하는 것입니다. 이 기능은 마스터 DPAPI 키와 같은 Windows Vista EFS 키가 컴퓨터에서 사용되고 있는 동안 이를 보호하기 위해 구현된 기능입니다. 이 기능은 또한 일반 텍스트 데이터가 응용 프로그램에서 사용되고 있는 경우 페이지 파일에서 사용할 수 있는 이 EFS 옵션에서의 위협을 해결하는 데에도 도움이 됩니다. 페이지 파일을 암호화하는 데 사용되는 암호화 키는 임시 키로써 LSA(Local Security Authority) 안에서 생성됩니다. 이 키는 사용자 로그온 자격 증명 또는 X.509 인증서로부터 파생되는 것이 아닙니다. 컴퓨터가 종료된 후(또는 충돌 후)에는 암호화된 페이지 파일 데이터를 복구할 수 없으며, 무차별 대입 공격 이외의 읽을 수 있는 방법이 알려져 있지 않습니다.
기타 위험 및 완화 조치: 소프트웨어 키 저장소를 사용하는 EFS
이 EFS 옵션은 추가적인 제어 및 정책을 적용하지 않으면 다음과 같은 위험 요소를 완화하지 못합니다.
최대 절전 모드 상태의 컴퓨터. BitLocker 옵션과 마찬가지로 컴퓨터가 절전 모드 또는 최대 절전 모드에서 다시 시작될 때 사용자에게 암호 입력을 요청하도록 구성하지 않으면, 운영 체제는 현재 사용자가 올바른 사용자인지 확인하지 못합니다. 이러한 상황에서 공격자는 권한이 부여된 사용자로 가장하고 랩톱을 사용할 수 있습니다. 한 가지 가능성 있는 공격은 관심 있는 데이터를 이동식 장치 또는 네트워크 위치로 복사하는 것입니다. 그러나 컴퓨터가 절전 모드 또는 최대 절전 모드에서 다시 시작될 때 사용자 자격 증명 입력을 요청하도록 구성하면 이러한 위험이 감소됩니다.
절전(대기) 모드 상태의 컴퓨터. 앞의 위험 완화 조치 설명과 동일합니다.
로그온되고 데스크톱이 잠금 해제 상태인 컴퓨터. 사용자가 컴퓨터에 로그온하면 EFS에 사용된 인증서를 해독하기 위해 자격 증명을 사용할 수 있습니다. 이때부터 암호화되지 않은 데이터는 누구든지 키보드로 액세스할 수 있습니다. 이 위험을 가장 유용하게 완화할 수 있는 방법은 컴퓨터에 중요한 정보를 보관하는 사용자들에게 보안 인식 교육을 제공하는 것입니다.
로컬/도메인 암호 검색. 이 구성에서 EFS 키는 사용자 암호에서 파생되는 키로 시작되는 순서로 해독됩니다. 따라서 사용자 암호가 위협받으면 EFS 암호화 역시 위협받게 됩니다. 이 위험은 강력한 암호 정책을 구현함으로써 사전 공격과 같은 공격을 예방하고 암호 보호의 중요성을 사용자에게 교육함으로써 완화할 수 있습니다.
운영 체제에 대한 오프라인 공격. EFS는 컴퓨터의 운영 체제 보호 기능이나 오프라인 공격이 발생하는 상황에서 운영 체제 구성 파일에 대한 보호 기능을 제공하지 않습니다.
운영 체제에 대한 온라인 공격. 운영 체제에 대한 온라인 공격은 이 옵션으로 완화되지 않습니다. 운영 체제에서 실행하기 위해 선택한 코드를 확보할 수 있는 공격자는 암호 키를 도용할 수 있습니다.
최대 절전 모드 파일을 통한 일반 텍스트 데이터 유출. EFS는 시스템 최대 절전 모드 파일에 대한 보호 기능을 제공하지 않습니다. 이 위험은 Windows Vista로 업그레이드하고 BitLocker를 사용하거나 최대 절전 모드를 사용 안 함으로 설정함으로써 완화할 수 있습니다.
중요:
최대 절전 모드를 사용 안 함으로 설정하면 모바일 PC의 사용 편의성이 저하됩니다. 따라서 이 위험 완화 조치는 매우 중요한 자산이 저장되어 있는 컴퓨터에 사용할 수 있으나, 일반적으로 다른 완화 조치가 더 적합합니다.
시스템 페이징 파일을 통한 일반 텍스트 데이터 유출(Windows XP만 해당) Windows XP에서 시스템 페이징 파일을 포함하여 시스템 파일을 암호화하는 데 EFS를 사용할 수 없습니다. 이러한 제한은 곧 응용 프로그램을 통해 기밀 데이터를 액세스할 때 해당 데이터가 메모리 페이징 작업의 일부로 디스크에 기록될 수 있음을 의미합니다. 이 위험은 Windows Vista로 업그레이드하거나 컴퓨터가 메모리 페이징을 사용하지 않도록 구성함으로써 완화할 수 있습니다.
중요:
메모리 페이징을 사용 안 함으로 설정하면 일반적으로 컴퓨터 성능이 저하되며 때로는 성능이 크게 떨어질 수도 있습니다.
플랫폼 공격. 소프트웨어 키 저장소를 사용하는 EFS를 사용하도록 구성된 컴퓨터는 디스크와 메모리에서 EFS 키를 관리합니다. 직접 메모리 액세스 또는 기타 하드웨어 조작 기술을 사용하는 플랫폼 공격은 키 자료를 복구하는 데 사용할 수 있습니다.
컴퓨터의 필수 인증 요소. 이 옵션에서는 다른 인증 요소가 없습니다. 사용자의 컴퓨터 또는 네트워크 암호가 유일한 인증 요소입니다.
사용자 오류. 사용자는 중요한 데이터가 들어 있는 파일을 EFS를 사용하도록 설정되어 있지 않은 위치에 저장하지 않도록 주의해야 합니다. 사용자 문서 폴더의 모든 파일에 대한 암호화를 허용하는 EFS 구성 옵션이 있기 때문에 Windows Vista에서 이 위험은 일부 완화될 수 있습니다. 이 기능을 통해 사용자는 손쉽게 적절한 파일 및 디렉터리를 암호화할 수 있습니다. 이 위험은 또한 Microsoft EFS(Encrypting File System) Assistant 도구(EFS Assistant는 이 Solution Accelerator의 일부로 제공됨)를 사용하여 EFS를 사용하는 사용자 파일 보안 과정을 자동화함으로써 완화할 수도 있습니다.
EFS 옵션: 스마트 카드를 사용하는 EFS
Windows 버전에 따라 EFS의 보안 특성을 향상시킬 수 있는 기능들이 서로 다릅니다. 서로 다른 이들 기능에 대한 정보는 다음 하위 절에서 설명됩니다.
Windows XP 및 스마트 카드 로그온
스마트 카드 로그온 필요는 Active Directory® 디렉터리 서비스를 통해 구성되는 도메인 사용자 설정으로 사용자는 도메인 계정에 로그온하려면 스마트 카드를 사용해야 합니다. EFS에 대한 주요 위험은 사용자 암호가 위협을 받으면 공격자가 해당 계정을 사용하여 컴퓨터에 로그온하여 EFS로 보호되는 데이터를 포함한 컴퓨터의 모든 데이터에 액세스할 수 있다는 점입니다.
로그온할 때 스마트 카드를 요구하는 Active Directory 정책 설정으로 계정에 대한 보안을 크게 강화할 수 있고 더 나아가 EFS로 보호되는 데이터에 대한 보안을 크게 향상시킬 수 있습니다. 이 설정은 EFS가 DPAPI 암호화에 사용하는 키를 강화하므로 오프라인 공격으로부터 암호화된 데이터를 보호하는 데 도움이 됩니다. 사용자 자격 증명으로부터 키가 파생됨으로써 DPAPI가 작동합니다.
스마트 카드 로그온은 다음 두 가지 방법으로 요청됩니다. 사용자별 및 컴퓨터별. 이는 각 모드에서 사용하도록 설정되거나 시행될 수 있습니다. 여기에는 다음과 같이 모드 간 중요한 보안 차이점이 있습니다.
사용자별 스마트 카드 로그온을 수행하는 경우, 최초 키는 일반 암호에 비해 훨씬 강력합니다. 암호에 대한 사전 공격을 탑재하는 대신 공격자는 개인 키에 대한 무차별 대입 공격을 탑재하기 쉽습니다. 그러나 개인 키는 현재의 기술을 사용해서는 실질적으로 알아낼 수 없게 길게 구성될 수 있습니다.
컴퓨터별 스마트 카드 로그온을 수행하는 경우 이는 이차 인증 요소를 추가하는 것이므로 암호로만 로그온하는 것보다 더 강화된 보안 기능을 제공합니다. 그러나 컴퓨터별 스마트 카드 로그온은 로그온 인증에 스마트 카드만 사용합니다. 암호화된 DPAPI 마스터 키를 확보한 공격자는 사용자별 스마트 카드 로그온으로 보호되는 DPAPI 마스터 키에 대해 무차별 대입 공격을 성공적으로 탑재할 때 걸리는 시간보다 짧게 무차별 대입 공격을 탑재할 수 있습니다.
두 종류의 스마트 카드 로그온 모두 스마트 카드 사용 여부를 사용자의 선택에 맡기므로, 사용하도록 설정되었으나 시행하지 않는 경우 효과적인 보안 보호 기능이 발휘되지 않습니다.
DPAPI 및 스마트 카드가 DPAPI 키에 어떤 영향을 미치는지에 대한 자세한 내용은 MSDN 문서 "Windows 데이터 보호"를 참조하십시오.
참고:
이 위험에 관한 설명은 스마트 카드를 특수 PIN과 함께 사용하고 PIN을 추측하지 못하도록 스마트 카드가 PIN 잠금을 구현한다는 점을 전제로 합니다.
Windows XP에서 스마트 카드 로그온을 사용하는 EFS 암호화 옵션이 다음 그림에 나와 있습니다.
.jpg)
그림 3.5. Windows XP에서 스마트 카드 로그온을 사용하는 EFS 암호화 순서
그림에 나와 있는 암호화의 순차적 단계는 다음과 같습니다.
사용자가 암호화된 폴더에 새 파일을 만듭니다.
대칭 FEK가 임의로 생성됩니다.
운영 체제는 적절한 키 사용 플래그가 들어 있는 인증서를 찾기 위해 사용자의 인증서 저장소를 검사합니다. 적절한 인증서가 없는 경우 자동으로 인증서가 생성됩니다.
사용자 인증서와 연관된 개인 키를 암호화 및 저장하는 데에 DPAPI가 사용됩니다. 스마트 카드 로그온이 요구될 때 훨씬 강력한 암호가 사용되므로 이전 옵션에 비해 이 암호화가 보다 강력합니다.
인증서의 공개 키를 사용하여 FEK가 암호화되고 파일 메타데이터에 저장됩니다.
FEK는 각 데이터 블록을 암호화하는 데 사용됩니다.
암호화된 블록이 디스크에 기록됩니다.
Windows XP에서 스마트 카드 로그온을 사용하는 EFS 해독 옵션이 다음 그림에 나와 있습니다.
.jpg)
그림 3.6. Windows XP에서 스마트 카드 로그온을 사용하는 EFS 해독 순서
그림에 나와 있는 해독 과정의 순차적 단계는 다음과 같습니다.
사용자의 스마트 카드 로그온이 로컬로 또는 도메인 컨트롤러에 의해 검증됩니다.
사용자가 암호화된 파일에 대한 액세스를 시도합니다.
사용자의 DPAPI 저장소에서 올바른 개인 키가 검색되면, DPAPI는 사용자 계정에서 스마트 카드 로그온 요청이 사용하도록 설정될 때 해당 계정에 적용된 강력한 임의 사용자 암호로부터 파생된 키를 사용하여 개인 키를 해독합니다.
FEK는 파일에서 검색되어 전 단계에서 검색된 개인 키를 사용하여 해독됩니다.
응용 프로그램이 각 파일 블록을 읽을 때 해당 블록이 요청한 응용 프로그램에 전달되기 전에 해당 블록을 해독하는 데 FEK가 사용됩니다.
Windows Vista 및 스마트 카드를 사용하는 EFS
Windows Vista는 스마트 카드 기술과의 뛰어난 통합을 통해 EFS의 보안 및 사용 편의성을 향상시킨 강력하고 새로운 기능을 제공합니다. Windows XP에서는 DPAPI 키의 특성 개선 방식으로 인해 스마트 카드 로그온이 간접적으로 활용됩니다. 그러나 Windows Vista 스마트 카드는 EFS를 사용하여 파일을 암호화할 때 직접 사용될 수 있습니다. 스마트 카드로 로그온하는 시나리오 역시 분명 올바르게 작동하지만 새 기능에서는 사용자가 스마트 카드로 반드시 로그온할 필요는 없습니다. 대신, 스마트 카드를 요청하도록 EFS가 구성된 경우 사용자는 스마트 카드를 집어 넣고 PIN을 입력하도록 요청 받습니다.
EFS와 스마트 카드의 명시적 구현은 공개 키를 사용하여 FEK를 직접 암호화하고 스마트 카드상의 인증서와 일치하는 개인 키를 사용하여 FEK를 해독합니다. 이 옵션은 매우 직접적이고 안전하지만, 액세스되는 모든 파일이 해독될 때 성능에 미치는 영향이 큰 편입니다. 모든 개인 키 해독 작업 시 스마트 카드와 통신을 해야 하고 스마트 카드 CPU가 호스트 컴퓨터의 CPU와 비교할 때 매우 느리기 때문입니다.
이러한 명시적 구현과 관련된 또 다른 문제는 파일을 해독하려고 시도할 때 FEK를 성공적으로 해독하려면 개인 키가 필요하기 때문에 스마트 카드가 항상 있어야 한다는 점입니다. 성능도 향상시키고 스마트 카드를 사용하는 EFS 옵션의 사용 편의성도 증진시킬 수 있는 방법으로, 스마트 카드에 있는 개인 키에서 대칭 키를 파생하고 이 키를 사용하여 암호화된 파일과 연관된 FEK를 해독 및 암호화하도록 기본적으로 EFS를 구성합니다. 기본 구성에서 파생된 대칭 키는 운영 체제에 의해 캐시되므로, 이후의 파일 암호화 및 해독 작업에서는 스마트 카드 및 연관된 개인 또는 공개 키 사용을 요구하지 않습니다.
그림 3.2. Windows Vista EFS 관리 인터페이스에 스마트 카드에서 캐시 가능한 사용자 키 만들기 옵션으로 나와 있습니다. 이 옵션을 선택하지 않으면 대칭 키는 파생되지도, 캐시되지도 않으며 FEK는 직접 스마트 카드 키를 사용하여 암호화 및 해독됩니다. 이 가이드에서는 캐시된 키 모드 및 캐시되지 않은 키 모드를 사용하여 고유한 보안 특성을 갖는 이들 두 가지 서로 다른 운영 모드를 설명합니다.
캐시된 키 모드
캐시된 키 모드에서 파생된 대칭 키는 캐시 시간 제한이 끝날 때까지 운영 체제에 의해 보호되는 LSA 메모리에 캐시됩니다. 캐시 시간 제한은 구성할 수 있습니다. 기본 캐시 시간 제한은 시스템 유휴 시간인 8시간입니다. 파생 키를 사용하는 모든 작업은 플러시 시간 제한 기간을 재설정합니다. EFS 키 캐시의 플러시는 사용자가 컴퓨터를 잠그거나 스마트 카드를 분리할 때 발생하도록 구성할 수도 있습니다. 캐시된 키 모드는 성능을 크게 향상시키고 리더기에 항상 스마트 카드가 없어도 암호화된 파일이 암호화 및 해독될 수 있도록 관리자가 EFS를 구성할 수 있게 해줍니다.
참고:
Windows Vista의 캐시된 모드 구현 방법에 대한 자세한 내용은 Windows Vista 보안 가이드를 참조하십시오.
캐시된 키 모드의 EFS 암호화 과정이 다음 그림에 나와 있습니다.
.jpg)
그림 3.7. Windows Vista에서 스마트 카드를 사용하는 EFS 암호화 순서 - 캐시된 키 모드
그림에 나와 있는 암호화의 순차적 단계는 다음과 같습니다.
사용자가 암호화된 폴더에 새 파일을 만듭니다.
다음 조건 중 하나라도 해당되는 경우 스마트 카드를 집어 넣고 PIN을 입력하라는 메시지가 사용자에게 표시됩니다.
사용자가 스마트 카드를 사용하여 컴퓨터에 로그온하지 않았습니다.
사용자가 최근 EFS 파일에 액세스할 때 스마트 카드를 사용하지 않았습니다.
카드 PIN이 최근 EFS 작업에서 캐시되지 않았거나 비활동으로 인해 PIN 캐시가 지워지지 않았습니다.
FEK가 임의로 생성됩니다.
다음 조건 중 하나라도 해당되는 경우 대칭 키가 스마트 카드 개인 키에서 파생됩니다.
첫 번째 파일이 암호화될 때
파생된 키가 캐시에 없을 때
FEK가 파생된 대칭 키를 사용하여 암호화되고 파일 메타데이터에 저장됩니다.
파생된 대칭 키가 LSA 보호 메모리에 캐시됩니다.
FEK는 각 데이터 블록을 암호화하는 데 사용됩니다.
암호화된 블록이 디스크에 기록됩니다.
캐시된 키 모드의 EFS 해독 과정이 다음 그림에 나와 있습니다.
.jpg)
그림 3.8. Windows Vista에서 스마트 카드를 사용하는 EFS 해독 순서 - 캐시된 키 모드
그림에 나와 있는 해독 과정의 순차적 단계는 다음과 같습니다.
사용자가 암호화된 파일에 대한 액세스를 시도합니다.
다음 조건 중 하나라도 해당되는 경우 스마트 카드를 집어 넣고 PIN을 입력하라는 메시지가 사용자에게 표시됩니다.
사용자가 스마트 카드를 사용하여 컴퓨터에 로그온하지 않았습니다.
사용자가 최근 EFS 파일에 액세스할 때 스마트 카드를 사용하지 않았습니다.
카드 PIN이 최근 EFS 작업에서 캐시되지 않았거나 비활동으로 인해 PIN 캐시가 지워지지 않았습니다.
대칭 키가 이미 캐시되지 않은 경우 스마트 카드 기반 개인 키에서 파생됩니다. 첫 번째 사용 후 파생된 키는 LSA 보호 메모리에 캐시됩니다.
FEK가 파일에서 검색되어 파생된 대칭 키를 사용하여 해독됩니다.
응용 프로그램이 각 파일 블록을 읽을 때 해당 블록이 요청한 응용 프로그램에 전달되기 전에 해당 블록을 해독하는 데 FEK가 사용됩니다.
캐시되지 않은 키 모드
캐시되지 않은 키 모드에서 EFS가 기능하는 Windows Vista에서의 EFS 암호화 과정이 다음 그림에 나와 있습니다.
.jpg)
그림 3.9. Windows Vista에서 스마트 카드를 사용하는 EFS 암호화 순서 - 캐시되지 않은 키 모드
그림에 나와 있는 암호화의 순차적 단계는 다음과 같습니다.
사용자가 암호화된 폴더에 새 파일을 만듭니다.
사용자의 스마트 카드가 없는 경우 스마트 카드를 집어 넣으라는 메시지가 사용자에게 표시됩니다.
대칭 FEK가 임의로 생성됩니다.
인증서의 공개 키를 사용하여 FEK가 암호화되고 파일 메타데이터에 저장됩니다.
응용 프로그램이 각 데이터 블록을 기록할 때 각 데이터 블록은 FEK를 사용하여 암호화됩니다.
암호화된 블록이 디스크에 기록됩니다.
캐시되지 않은 키 모드의 EFS 해독 과정이 다음 그림에 나와 있습니다.
.jpg)
그림 3.10. Windows Vista에서 스마트 카드를 사용하는 EFS 해독 순서 - 캐시되지 않은 키 모드
그림에 나와 있는 해독 과정의 순차적 단계는 다음과 같습니다.
사용자가 암호화된 파일에 대한 액세스를 시도합니다.
사용자의 스마트 카드가 없는 경우 스마트 카드를 집어 넣으라는 메시지가 사용자에게 표시됩니다. 다음 조건 중 하나라도 해당되는 경우 PIN을 입력하라는 메시지가 사용자에게 표시됩니다.
사용자가 스마트 카드를 사용하여 컴퓨터에 로그온하지 않았습니다.
사용자가 최근 EFS 파일에 액세스할 때 스마트 카드를 사용하지 않았습니다.
카드 PIN이 최근 EFS 작업에서 캐시되지 않았거나 비활동으로 인해 PIN 캐시가 지워지지 않았습니다.
파일의 EFS 메타데이터가 파일에서 검색되고 암호화된 FEK가 스마트 카드로 전달됩니다.
스마트 카드는 메타데이터를 해독하여 FEK를 구한 다음 이를 운영 체제로 반환합니다.
응용 프로그램이 각 파일 블록을 읽을 때 해당 블록이 요청한 응용 프로그램에 전달되기 전에 해당 블록을 해독하는 데 FEK가 사용됩니다.
위험 완화: 스마트 카드를 사용하는 EFS
스마트 카드를 사용하는 EFS 옵션은 데이터에 대한 다음과 같은 위험을 감소시킵니다.
최대 절전 모드 상태의 컴퓨터(Windows Vista 캐시되지 않은 키 모드만 해당) Windows Vista는 EFS로 보호되는 파일에 액세스할 때마다 스마트 카드 인증을 요구할 수 있습니다. 기본적인 캐시된 키 스마트 카드 모드에 비해 이러한 작동 모드는 이러한 위험을 효과적으로 감소시킵니다.
절전(대기) 모드 상태의 컴퓨터(Windows Vista 캐시되지 않은 키 모드만 해당) 앞(최대 절전 모드)의 위험 완화 설명과 동일합니다.
로그온되고 데스크톱이 잠금 해제 상태인 컴퓨터(Windows Vista 캐시되지 않은 키 모드만 해당) Windows Vista는 EFS로 보호되는 파일에 액세스할 때마다 스마트 카드 인증을 요구할 수 있습니다. 캐시되지 않은 키 모드로 알려져 있는 이 기능은 이 장의 앞부분에서 설명되었으며, 모든 EFS 파일 액세스 시 스마트 카드를 요구함으로써 이러한 위험을 효과적으로 완화시킵니다. 이 경우 사용의 편의성이 심각하게 저하될 수 있는 가능성이 있지만 중요한 데이터에 대한 가장 안전한 암호화 솔루션을 필요로 하는 조직에 있어서는 그럼에도 유효한 옵션이 될 수 있습니다.
로컬/도메인 암호 검색. 1장의 "데이터 보안 위험" 절에서 언급했듯이 똑똑한 공격자는 항상 가장 약한 연결 부분을 공략합니다. IT 시스템의 보안을 책임지고 있는 사람들에게는 안타깝게도 이러한 가장 취약한 연결 부분이란 종종 매우 미비한 암호를 선택하거나 종이에 암호를 기록한 후 모니터에 붙여 놓는 사람들입니다. 조직에서 네트워크 보안을 위해 스마트 카드 기반의 두 가지 요소의 인증을 구현한 후에는 "대화식 로그온에 필요한 스마트 카드" 정책의 사용을 통한 EFS 보안을 증대시킬 수 있어야 합니다. Windows Vista에서 EFS에 스마트 카드 요구를 사용하도록 설정함으로써 스마트 카드 로그온을 시행할 수 없는 상황에서도 중요한 데이터에 액세스할 때 두 가지 요소의 인증이 요구될 수 있습니다.
내부자가 암호화된 데이터를 읽을 수 있음. 스마트 카드를 사용하는 EFS 옵션은 별도의 인증 요소를 추가하여 이 위험을 효과적으로 완화할 수 있습니다.
오프라인 공격을 통한 키 검색. 공격자가 사용자 암호 대신 FEK 또는 DPAPI 마스터 키와 같은 키를 공격 대상으로 하는 경우, EFS 복구 키(EFS가 사용하는 인증서의 개인 키) 또는 DPAPI 마스터 키가 무차별 대입 공격을 받을 수 있습니다. EFS가 사용하는 강력한 종류의 키로 보호하면 이러한 종류의 공격은 성공하기 어렵기 때문에 많은 조직들이 이러한 위협에 대해서는 크게 우려하지 않습니다.
시스템 페이징 파일을 통한 일반 텍스트 데이터 유출(Windows Vista만 해당) 시스템 페이징 파일을 암호화하도록 Windows Vista를 구성할 수 있으며, 이러한 구성으로 이 위험을 효과적으로 감소시킬 수 있습니다.
플랫폼 공격(Windows Vista 캐시되지 않은 키 모드만 해당) 캐시된 키 모드에서 스마트 카드 키 저장소를 사용하는 EFS를 사용하도록 구성된 컴퓨터는 EFS 키를 메모리에서 관리하므로 이를 복구하려는 플랫폼 공격이 성공할 수도 있습니다. 캐시되지 않은 스마트 카드 키 저장소와 함께 사용되는 EFS의 경우 키 자료를 복구하기 위해 스마트 카드를 직접 공격해야 하므로 이러한 공격을 효과적으로 감소시킬 수 있습니다.
컴퓨터의 필수 인증 요소. 이 옵션에서 사용자는 물리적 인증 요소와 더불어 PIN을 입력해야 하므로, 이러한 위험에 대해 진정한 다중 요소 완화 조치를 제공합니다.
기타 위험 및 완화 조치: 스마트 카드를 사용하는 EFS
스마트 카드를 사용하는 EFS 옵션은 추가적인 제어 및 정책을 적용하지 않으면 다음과 같은 위험 요소를 완화하지 못합니다.
최대 절전 모드 상태의 컴퓨터(Windows XP 및 Windows Vista 캐시된 키 모드만 해당) 컴퓨터가 절전 모드 또는 최대 절전 모드에서 다시 시작될 때 사용자에게 암호 입력을 요청하도록 구성하지 않으면, 운영 체제는 현재 사용자가 올바른 사용자인지 확인하지 못합니다. 이러한 상황에서 공격자는 권한이 부여된 사용자로 가장하고 랩톱을 사용할 수 있습니다. 한 가지 가능성 있는 공격은 관심 있는 데이터를 이동식 장치 또는 네트워크 위치로 복사하는 것입니다. 그러나 컴퓨터가 절전 모드 또는 최대 절전 모드에서 다시 시작될 때 사용자 자격 증명 입력을 요청하도록 구성하면 이러한 위험이 감소됩니다. 스마트 카드를 사용하는 EFS 옵션에서 이 위험은 앞서 설명한 Windows Vista 사용 경우에서와 같이 완화할 수 있습니다.
절전(대기)모드 상태의 컴퓨터(Windows XP 및 Windows Vista 캐시된 키 모드만 해당) 앞(최대 절전 모드)의 기타 위험 설명과 동일합니다.
로그온되고 데스크톱이 잠금 해제 상태인 컴퓨터(Windows XP 및 Windows Vista 캐시된 키 모드만 해당) 사용자가 컴퓨터에 로그온하면 EFS에 사용된 인증서를 해독하기 위해 자격 증명을 사용할 수 있습니다. 이때부터 암호화되지 않은 데이터는 누구든지 키보드로 액세스할 수 있습니다. 이 위험을 가장 유용하게 완화할 수 있는 방법은 컴퓨터에 중요한 정보를 보관하는 사용자들에게 보안 인식 교육을 제공하는 것입니다. 스마트 카드를 사용하는 EFS 옵션에서 이 위험은 앞서 설명한 Windows Vista 사용 경우에서와 같이 완화할 수 있습니다.
운영 체제에 대한 오프라인 공격. EFS는 컴퓨터의 운영 체제 보호 기능이나 오프라인 공격이 발생하는 상황에서 운영 체제 구성 파일에 대한 보호 기능을 제공하지 않습니다.
운영 체제에 대한 온라인 공격(Windows XP 및 Windows Vista 캐시된 키 모드만 해당) 운영 체제에 대한 온라인 공격은 이 옵션으로 완화되지 않습니다. 그러나 캐시되지 않은 키 모드로 Windows Vista에서 스마트 카드를 사용하는 경우, EFS 키는 호스트 운영 체제에서 실행되는 프로그램에서는 액세스할 수 없으므로 공격자 EFS 키를 복구하지 못하도록 함으로써 이 위험을 부분적으로 완화시킵니다.
최대 절전 모드 파일을 통한 일반 텍스트 데이터 유출. EFS는 시스템 최대 절전 모드 파일에 대한 보호 기능을 제공하지 않습니다. 이 위험은 Windows Vista로 업그레이드하고 BitLocker를 사용하거나 최대 절전 모드를 사용 안 함으로 설정함으로써 완화할 수 있습니다.
중요:
최대 절전 모드를 사용 안 함으로 설정하면 모바일 PC의 사용 편의성이 저하됩니다. 따라서 이 위험 완화 조치는 매우 중요한 자산이 저장되어 있는 컴퓨터에 사용할 수 있으나, 일반적으로 다른 완화 조치가 더 적합합니다.
시스템 페이징 파일을 통한 일반 텍스트 데이터 유출(Windows XP만 해당) Windows XP에서 시스템 페이징 파일을 포함하여 시스템 파일을 암호화하는 데 EFS를 사용할 수 없습니다. 이러한 제한은 곧 응용 프로그램을 통해 기밀 데이터를 액세스할 때 해당 데이터가 메모리 페이징 작업의 일부로 디스크에 기록될 수 있음을 의미합니다. 이 위험은 Windows Vista로 업그레이드하거나 컴퓨터가 메모리 페이징을 사용하지 않도록 구성함으로써 완화할 수 있습니다.
중요:
메모리 페이징을 사용 안 함으로 설정하면 일반적으로 컴퓨터 성능이 저하되며 때로는 성능이 크게 떨어질 수도 있습니다.
플랫폼 공격(Windows XP 및 Windows Vista 캐시된 키 모드만 해당) 캐시된 키 모드에서 컴퓨터는 메모리에서 EFS 키를 관리하며 이를 복구하려는 플랫폼 공격이 성공할 수도 있습니다.
사용자 오류. 사용자는 중요한 데이터가 들어 있는 파일을 EFS를 사용하도록 설정되어 있지 않은 위치에 저장하지 않도록 주의해야 합니다. 사용자 문서 폴더의 모든 파일에 대한 암호화를 허용하는 EFS 구성 옵션이 있기 때문에 Windows Vista에서 이 위험은 일부 완화될 수 있습니다. 이 기능을 통해 사용자는 손쉽게 적절한 파일 및 디렉터리를 암호화할 수 있습니다. 이 위험은 또한 Microsoft EFS(Encrypting File System) Assistant 도구(EFS Assistant는 이 Solution Accelerator의 일부로 제공됨)를 사용하여 EFS를 사용하는 사용자 파일 보안 과정을 자동화함으로써 완화할 수도 있습니다.
EFS 위험 분석 요약
다음 표에서는 여러 가지 데이터 위험 및 다양한 EFS 옵션들이 각 위험을 어떻게 완화할 수 있는지를 보여줍니다. Windows XP 기반 컴퓨터의 경우 스마트 카드 로그온 필요 도메인 사용자 설정을 사용하도록 설정합니다. Windows Vista 기반 컴퓨터의 경우 EFS에 스마트 카드 필요 및 페이지 파일 암호화 사용과 같은 EFS 설정을 사용으로 설정합니다.
Y로 표시됩니다. 하이픈(-)은 해당 옵션을 사용해도 위험이 거의 완화되지 않음을 의미합니다.
표 3.1. EFS 위험 완화
자세한 정보
다운로드
Data Encryption Toolkit for Mobile PCs 받기
참여
Data Encryption Toolkit 베타 프로그램 등록
업데이트 알림
사용자 의견