본문

윈도우의 파일암호화 방식 : EFS, BitLocker[To Go]란?

EFS와 BitLocker의 개략적 비교
EFS는 개별 파일을 사용자 계정에 따라 암호화를 한다. 이는 암호화에 사용되는 사용자 계정의 정보가 하드디스크에 저장된다는것을 고려한다면 보안적인 취약점이 존재할 수 있다. 그리고 EFS는 NTFS 시스템에서만 사용이 가능하다.

BitLocker는 드라이브 자체에 대한 암호화를 하며 사용자 계정과는 관련이 없다. 암호화된 드라이브에 새 파일을 추가하면 자동으로 해당 파일을 암호화 한다. 다른 드라이브나 컴퓨터로 복사하게 되면 파일의 암호는 자동으로 해독이 된다. 그리도 BitLocker는 FAT 파일시스템에서도 작동한다. 단 Windows 7의 Ultimate와 Enterprise 에디션에서만 사용 가능하고 Professional, Home등의 에디션에서는 사용이 불가능하다.


TPM(Trusted Platform Module)


[그림 1, 2] TPM의 내부구조, 그리고 TPM칩이 꽂혀있는 ASUS 메인보드의 사진

TPM에는 RSA와 SHA-1등의 암호 생성기능을 포함하며 암호와 인증서등을 저장할 수 있는 공간을 가지고 있다. 특히 TPM의 Persistant Memory에 있는 EK(Endorsement Key) 와 SRK(Storage Root Key)는 다른 TPM 키와 중복되지 않는 암호화 된 키로서 이 키를 통해 하드디스크를 암호화한다. 그렇기 떄문에 이 칩이 있는 메인보드에서만 하드디스크를 사용할 수 있는것이다. 시스템이 시작될 때 시스템에서는 TPM을 쿼리하고 USB 포트를 확인하여 적절한 키 보호기를 검색하며, 이때 BitLocker가 TPM에 드라이브에 대한 키를 요청하여 드라이브 잠금을 해제한다. 사용하는 PC에 버전 1.2 이상의 TPM(trusted platform module) 하드웨어가 설치된 경우, 고유 개인 식별 번호(PIN)가 제공되거나 BitLocker 시동 키가 있는 USB 장치가 삽입될 때까지 BitLocker를 사용하여 정상적인 부팅 과정을 잠글 수 있으며, 이로써 인증 레이어가 하나 더 추가된다.

BitLocker의 보호방법
[그림 3] BitLocker의 4가지 보호방법, 상자의 높이가 높을수록 사용자의 편의성이 증대한다.

BitLocker는 4가지 보호방법으로 분류되어 사용할 수 있다.
TPM만 사용 : 컴퓨터 내부에 장착된 특수 칩(TPM)만을 사용하므로 사용자가 고려하거나 추가로 입력할 사항은 없다.
TPM + PIN : TPM 기능을 사용하면서 부팅시 사용자에게 PIN입력을 요구한다
USB만 사용 : 모든 암호화키가 USB에 저장되어 사용되므로 반드시 USB의 유출 및 분실을 방지해야 한다.
TPM + USB : TPM 기능을 사용하면서, 암호화키가 저장된 USB도 마찬가지로 사용된다. 가장 강력한 보호방법이다.


USB 사용자를 위한 BitLocker To Go
BitLocker는 Vista에서 처음 출시될 당시 본래 하드디스크 암호화를 목적으로 두었지만 USB 사용빈도의 증가와 더불어 Windows 7에서는 BitLocker To Go라는 기능을 추가하였다. BitLocker To Go로 암호화된 USB 드라이브는 접근과 암호화를 위하여 (사용자에게서 입력받은) 암호, 혹은 스마트카드를 사용한다. Windows 7에서 암호화된 USB 드라이브를 연결하면 패스워드를 입력받는 창이 뜨게 된다. BitLocker To Go는 또한 도메인 정책으로 사용자가 USB에 파일을 기록할때 사용되도록 설정될 수 있다. 물론 사용자 암호에 대해 길이와 복잡도에 대해서도 요구사항을 변경할 수도 있다. 암호를 잊어버렸거나 스마트 카드를 분실했을 경우를 대비하여 '복원 키'라는 것을 저장할 수도 있는데, 이는 일반 텍스트 파일에 저장된 암호화된 문자열을 의미한다. 그리고 만약에 특정 컴퓨터에 대해 USB 연결시에 나오는 암호 확인 창을 안나오게 설정할 수도 있다.

Windows 7 이하의 버전에서 BitLocker To Go 사용하기
Windows 7은 암호화 과정중에 USB 드라이브에 특수한 리더 프로그램을 설치한다. 이 프로그램은 하위 윈도우 버전을 위해 설치되는 것이며, 만약 윈도우 상에서 지원하지 않는 (Windows 7 이하의 버전) Windows Vista나 XP에 USB를 꽂으면 (Autorun에 의해 실행되어) 암호를 묻는 창이 자동으로 뜨고[단, 암호입력 생략을 지원하지 않는다] 암호가 일치하면 윈도우 탐색기와 흡사한 프로그램을 사용하여 파일을 확인할 수 있다. 단 이 장치는 읽기 전용의 상태이기 때문에 파일을 열거나 실행하고자 할떄 다른 위치로 복사해서 사용해야 한다. 파일을 변경하거나 삭제하기 위해서는 반드시 Windows 7을 사용하는 컴퓨터에서 작업을 진행해야 한다.



"BitLocker 드라이브 암호화와 EFS를 함께 사용하여 양쪽 기능 모두를 통해 보호를 받을 수 있습니다. EFS를 사용하면 컴퓨터의 운영 체제에 암호화 키가 저장됩니다. EFS와 함께 사용된 키가 암호화된 경우에도 해커가 운영 체제 드라이브에 액세스할 수 있으면 해당 보안 수준이 손상될 수 있습니다. BitLocker를 사용하여 운영 체제 드라이브를 암호화하면 다른 컴퓨터에 설치된 경우에 운영 체제 드라이브를 부팅하거나 액세스할 수 없도록 방지하여 이러한 키를 보호할 수 있습니다."


============================
현재 업무용 컴퓨터에서 Windows Vista + EFS + Smartcard(w/ PIN)를 사용하여 파일을 보호하고 있다.
하지만 파일 하나하나에 암호화가 분리되어 진행되기 때문에 시스템 성능을 감소시키는게 체감적으로 느껴질 정도이다(그나마 느린 Vista에..) 그리고 또 다른 실무적인 문제라면, EFS Assistant가 시스템 부팅 후에 자동으로 진행이 되어 파일을 암호화 하는데 이때 Smartcard의 PIN을 입력하지 않으면 EFS과정이 멈추게 되어 파일 기록등이 모두 마비가 되므로 다른 응용 프로그램들이 멈춘다거나 하는 현상이 생긴다.

곧 Windows 7을 사용하게 되고, 정책이 바뀌어 EFS를 버리고 BitLocker를 사용하고자 할거라는데 그에대해 한번 조사를 해보았다. 개인적으로는 TrueCrypt를 사용해 왔는데 윈도우가 좋아지니 굳이 외부 프로그램을 사용할거 있나 하는 생각이 들정도다.

참고 :
Trusted Platform Module
Vista에서 BitLocker 드라이브 암호화 사용
BitLocker 드라이브 암호화를 사용하여 파일 보호
BitLocker 드라이브 암호화와 TPM 하드웨어 보안 기술
Secure your USB drives with BitLocker To Go for Windows 7
BitLocker™ Drive Encryption Hardware Enhanced Data Protection

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.