BitLocker

 

[image]
BitLocker.
1. 개요
2. 사용법
3. 하드웨어 암호화 취약점
4. FDE 관련 취약성
5. 복구키 문제
6. 특징
7. 기타
8. 관련 문서


1. 개요


Windows에서 자체적으로 제공하는 디스크 암호화 기능.
이동식 디스크와 시스템 드라이브 암호화를 지원하며 Windows Vista부터 지원하기 시작했다. XP도 Bitlocker To Go라는 기능으로 Bitlocker를 사용 가능하지만 XP와 Vista는 읽는것만 가능하였으며, 쓰는것은 안된다. 참고 윈도우 7에서는 Ultimate와 Enterprise 에디션에서 사용이 가능하며 윈도우 8 이후로는 Pro 에디션부터 사용할 수 있다. 서버 제품군의 경우 Windows Server 2008부터 사용 가능.

2. 사용법


이동식 저장장치를 암호화 하는 기능과 시스템 드라이브를 암호화하는 기능이 있다. 내 컴퓨터에서 그냥 암호화할 드라이브를 마우스 오른쪽 클릭하면 암호화 메뉴가 나타난다. 커맨드라인에서 사용할 경우 더 세부적인 기능들을 사용할 수 있다. 명령어는 manage-bde다. 암호화를 시작하면 파티션의 용량에 따라 완료 되기까지 시간이 좀 걸린다. 암호화 하면서 백업코드를 만들어 줄 건데 이것이 있으면 드라이브의 암호화를 해제할 수 있으니 아무데나 두면 암호화의 의미가 없어질 수도 있다. 윈도우 서버에서도 사용이 가능하며 서버 관리자에서 BitLocker기능을 추가해 줘야 한다.

3. 하드웨어 암호화 취약점


저장장치 제조사에서 제작한 하드웨어 기반 암호화 기능에 보안 취약점이 있다는 것이 밝혀진 이후 소프트웨어 방식 비트라커 암호화가 권장된다.
윈도우 pro 버전에서 gpedit.msc를 사용하고, cmd에서 gpupdate 명령어를 사용하면 된다. 자세한 사항은 블로그를 검색하라.
저사양 컴퓨터에서 긴 비밀번호를 사용하는 일은 하지 마라. 특히 HDD라면 더욱 권장하지 않는다.
비트라커의 암호화는 전자기기에 내장된 암호화 특화 전용 칩을 이용한 하드웨어 방식 암호화가 기본이다.(윈도우 1803 기준)
gpedit.msc를 관리자 권한으로 실행해 운영체제 드라이브, 외장 드라이브, 고정 드라이브에 대한 암호화 기본 설정을 소프트웨어 방식으로 변경하는 일이 가능하다.
운영체제 드라이브의 비트라커 사용시 시작시 추가 인증 요구 설정을 바꿀 필요가 있다.
하드웨어 암호화 이슈는 TPM과는 무관하므로 소프트웨어 방식으로 비트라커를 사용하더라도 TPM을 사용하는 것이 좋다.
단, TPM은 컴퓨터의 전원 차단, CMOS 배터리 탈거, 바이오스 업데이트, 윈도우 업데이트 등의 영향을 받는 경우가 있다.
비트라커 시작 전 디스크의 정상적인 상태 유무를 확인하지 않으면 데이터의 유실 가능성이 있다.
윈도우 버전 업데이트 혹은 바이오스 업데이트 이전에는 운영체제의 비트라커를 해제하는 것이 좋다.

4. FDE 관련 취약성


비트락커는 FDE(전체 디스크 암호화)를 사용한다. FDE는 암호화하려는 파티션 전체를 동일한 암호키로 암호화하는 방식이다. 여기에는 OS나 백그라운드 애플리케이션 등이 설치되어 있는 폴더까지 포함되어 있다. 그래서 디스크 암호키를 TPM이라는 보안 프로세서에 평문으로 저장해 두고 부팅 시 무결성 검사 후 암호 입력 없이도 자동으로 암호화된 디스크가 마운트되도록 하였다.
TPM은 시스템이 변조되는 등의 보안 위협을 인식해 위협이 없는 상황에서만 디스크의 비밀번호를 제공한다. 그러면 암호화된 디스크가 마운트 되고 정상적인 운영체제가 부팅되어 로그인을 요구한다. 그러나 시스템 취약점을 통한 공격으로 인해 TPM이 보안 위협을 인식하지 못한다면 디스크의 비밀번호가 노출되거나 로그인 없이도 자료에 접근할 수 있게 된다.
Veracrypt 나 Truecrypt 같이 부팅 시 직접 디스크 비밀번호를 입력하는 방법을 사용하면 사용하기는 많이 번거롭겠지만[1] 시스템 취약점 공격이 크게 먹히지 않고 무차별 대입법밖에 방법이 없다. TPM이 없는 컴퓨터에서는 이런 방법으로 BitLocker 사용이 가능하다.
이 문제를 완전히 해결하기 위해선 파일시스템 기반 암호화를 적용하여 백그라운드 앱을 제외하고는 윈도우 로그인 비밀번호를 직접 BitLocker 암호화에 사용해야 하겠지만 그에 맞추어 앱도 새로 개발해야 함으로 호환성 문제가 발생할 여지가 있다.

5. 복구키 문제


매일 암호키 입력이 문제 없던 컴퓨터라도 어느날 복구키를 요구하는 경우가 있다.
사용자는 복구키를 오프라인으로 보관해야 한다.
또한, 윈도우 업데이트 이후 복구키를 요구하고, 기존 복구키가 먹히지 않는 경우가 있다.
여러 디스크를 사용하는 경우, 운영체제 드라이브가 아닌 드라이브의 복구키를 요구하여 부팅이 불가능한 경우가 있는데, 다른 컴퓨터의 비트라커 드라이브를 가져올 때 가끔 일어난다.
윈도우 설치 USB로 들어가 cmd에서 BCD를 적당히 만져주면 된다.
윈도우 비트라커 복구키는 이메일 계정 로그인시 클라우드에 업로드 되므로 주의가 필요하다.

6. 특징


이미 사용중인 디스크를 포맷할 필요 없이 암호화 할 수 있어서 편리하다. AES 128-bit 암호화를 기본적으로 사용하며, 윈도우 10 버전 1511에서부터 XTS-AES라는 새로운 암호화 방식을 사용할 수 있다. 다만 해당 방식을 사용할 경우 이전 버전의 Windows와의 호환성은 보장받지 못한다. 필요한 경우 그룹설정에서 변경할 수 있다. 잠금을 해제하기 위한 수단으로 다양한 방법을 지원한다. 패스워드, TPM, 키파일, 스마트카드를 사용할 수 있으며 시스템 암호화의 경우 USB를 꽂으면 부팅이 된다던가 하는 식으로 운용이 가능하다. TPM이 달린 시스템의 경우는 TPM칩이 스스로 시스템의 무결성을 체크한 후 부팅되게 하는 식으로도 사용이 가능하다. CPU의 AES-NI가속을 사용하기 때문에 요즘 시스템을 사용하고 있다면 시스템을 전부 비트라커로 암호화해도 퍼포먼스 저하는 거의 없다. 파일단위로 암호화 하는게 아니라 파티션을 통째로 AES로 암호화 시켜버리기 때문에 매우 안전하다. USB 메모리를 암호화 시키면 잃어버려도 습득한 사람이 암호를 모르는 한 내용을 알아내는건 불가능에 가깝다. 중요한 데이터가 들어있다면 꼭 써 주자. 시스템 드라이브 암호화의 경우에는 가지고 다니는 노트북의 경우 더 유용하다.
적절히 사용했을 경우 공격자가 노트북을 얻어 냈더라도 단 하나의 파일도 건져낼 수 없을 것이다. 공격자가 심지어 '''천조국 미국 정부의 기관'''이라고 해도 파일을 복호화(암호화 해제)할 수 없는 건 마찬가지다. [2] 단, 시스템이 켜져있는 동안에 기기를 압수당한 경우 cold boot attack등으로 뚫릴 가능성이 아주 없는 건 아니다.
ZDNet 보도에 따르면 마이크로소프트의 BitLockerCIA에 의해 정보를 탈취당하지만 트루크립트는 공개 감사(public audit)에도 불구하고, NSA에 의해 심어진 백도어(backdoor)나 심각한 보안 결함을 찾지 못했다고 한다.[3]

7. 기타


윈도우즈에서만 사용 가능하다는 단점이 있다. dislocker라는 오픈 소스 툴을 이용하면 리눅스에서도 마운트는 가능하다. 여러 OS에서 호환 되기를 원한다면 TrueCrypt를 이어받은 VeraCrypt를 사용하는게 나을 수도 있으며, 리눅스에서는 Dm-Crypt, macOS에서는 FileVault라는 물건이 비슷한 기능을 한다.
비트로커는 윈도우즈에서 지원하기 때문에 가장 대중적인 암호화 프로그램 중 하나다보니 사실 미국 정부를 제외하고도 대부분의 국가 정보부의 레벨에서는 비트로커를 해제하기 위한 여러가지 취약점을 연구하고 보유하고 있을 가능성이 크다.[4] 거기다 비트로커는 오픈 소스가 아니라 클로즈드 소스이기 때문에 마이크로스프트 측에서 정부의 압력 등으로 백도어를 심어놨을지도 모를 일이다.[5] 하지만 그정도로 극도로 민감한 기술을 적용해서 복호화를 시도할 정도라면 국가 간첩이나 거대기업 산업 스파이, 테러범정도의 혐의는 가지고 있어야할 것이다. 때문에 일반인이 수준의 자료를 보호하기 위해 사용하기에 비트로커는 충분히 강력한 보안성을 가지고 있는 것도 사실이며, 실제로 대부분의 공격자들은 비트로커의 암호화를 해제하는 것이 거의 불가능하다.
몇몇 기업용 데스크탑/노트북에는 TPM에 의해 BitLocker가 '''활성화된 상태로 출고되는 경우'''가 있다. 이럴 경우 '''필히 자신/소속된 조직의 MS계정에 연동해두거나 복구 키를 받아놓고 안전한 곳에 보관해두자.''' 이는 부팅 불능 등의 이유로 메인보드를 교체해야 하는 상황이 될 경우 안에 있는 자료를 계속 사용하기 위함이다. 만약 위에 서술한 방법대로 대비해두지 않았다면 '''그 자료들은 영영 사용할 수 없게 된다.''' 보드가 교체되면서 해당 ID가 바뀌었기 때문에 복호화 할 방법이 사라졌기 때문.
자신이 기업용 노트북을 구입했거나 직장에서 수령받았을 때 내 PC의 로컬 디스크[6] 아이콘에 '''자물쇠''' 모양이 있다면 BitLocker가 활성화되었음을 의미한다. 그러므로 구입/수령즉시 필히 확인해서 자신의 MS계정에 연동 혹은 관련 부서에 문의해서 조치받거나 복구 키를 받아 안전한 곳에 보관해두도록 하자.

8. 관련 문서




[1] 비밀번호를 입력하기 전에는 백그라운드 앱이 전혀 작동하지 않고 원격 부팅 같은것을 사용할수도 없다.[2] 단, 이는 이론적인 말이고, 하단에 후술되어 있듯이 어떻게 구현하느냐에 따라 취약점이 생길 수도 있다.[3] TrueCrypt audit shows no evidence of NSA backdoors 2015-04-02 http://www.zdnet.com/google-amp/article/truecrypt-likely-didnt-quit-on-nsa-backdoor-fears/[4] 실제로 가끔씩 비트로커의 취약점을 보완하는 윈도우 업데이트가 진행된다.[5] 당연히 마이크로스프트측은 백도어가 존재하지 않는다고 말하지만 100% 신뢰할 수는 없다는 것.[6] C드라이브나 D드라이브 등