BitLocker 비밀번호에 영어, 특수문자 까지 포함하기

윈도우 10에서 윈도우 11로 넘어가면서 시스템 초기화를 했다. 윈도우 업데이트 방식으로 업그레이드를 하니까 파일들이 어지럽고, 일부 드라이버가 제대로 작동하지 않던 문제가 있어서다.

기존 윈도우 10때에 향상된 PIN 기능을 이용하여 영어 및 숫자를 조합해서 BitLocker를 사용했었다. TPM만을 사용해서 암호화 할 경우에는 충분히 기기를 지킬 수 없다고 생각했기 때문이다. 물론, 기밀 데이터를 가지고 있진 않다. 그러나, TPM을 뜯어서 암호화 키를 추출하는 것이 이론적으로 가능하다.(아카이브) 또한, TPM이 자동으로 비밀번호를 풀어준다면 BIOS 비밀번호 초기화시 OS로 무혈 입성이 가능해 진다는 점도 문제였다.

윈도우 11로 올라오면서 해당 기능을 다시 적용하려 했으나, 기억이 오래되고 관련 글도 적어서 찾기가 어려웠다. 그래서 이 곳에 간략히 기록하려 한다. 이 글에서는 “향상된 PIN”을 활용해서 [숫자+영어+특수문자]를 입력받는 방법을 기술한다.

그룹 정책 편집

기본적으로 Bitlocker는 비밀번호로 숫자만을 사용할 수 있다. 이것을 수정하기 위해서는 그룹 정책 편집이 필요하다. 실행(윈도우+R) → gpedit.msc 를 실행한다. 그리고 “컴퓨터 구성” → “관리 템플릿” → “BitLocker 드라이브 암호화” → “운영 체제 드라이브”로 들어간다.

“컴퓨터 구성” → “관리 템플릿” → “BitLocker 드라이브 암호화” 에서 운영체제/고정 데이터/이동식 데이터 드라이브를 선택 할 수 있다.

필자는 다음과 같이 구성이 되어있다:

  • 무결성 확인 시 보안 부팅 허용: 사용
    → Secure Boot를 통해 BitLocker에 진입 할 수 있음. 비활성화 되어있다면 SecureBoot를 사용할 수 없거나, 켜져있다 해도 SecureBoot의 보안 요소 (PCR등)을 활용할 수 없음.
  • 시작 시 추가 인증 요구: 전부 허용
    → 어짜피 우리는 비밀번호를 사용할 예정임. 특정 항목이 “요구”로 되어 있으면 반드시 해당 구성만 사용 해야 하므로, 전부 허용으로 설정 후 비밀번호를 마음대로 설정하는것이 편함.
  • 시작 시 향상된 PIN 허용: 사용
    → ‘향상된 시작 PIN은 대소문자, 기호, 숫자, 공백을 포함하여 문자의 사용을 허용합니다.’ 라고 설명에 적혀 있음. 여러 글자를 입력 받으려면 반드시 켜야 함.
  • 사전 부팅 복구 메세지 및 URL 구성: 사전 부팅 복구 메세지 사용
    → 잠금 화면에서 입력한 메세지를 표시할 수 있음. 혹시나 PC 분실과 같은 상황에서 메세지를 남길 수 있는 유용한 수단임. 필자는 전화번호와 이메일을 메모로 남겼음

위와 같이 설정을 한 뒤, 아래 명령어로 BitLocker를 활성화 하면 된다.

활성화 하기 전에 아래의 “보안 향상” 부분을 읽고, 본인에게 필요한 설정이 있으면 설정을 미리 하자.
일부 옵션은 일단 암호화가 진행되면 적용되지 않는것도 존재한다. 이 경우, 수동으로 복호화 후 다시 BitLocker를 적용해야 한다.

준비가 됐으면 관리자 권한으로 명령 프롬프트를 실행하고, 아래 명령어를 실행한다. 여기서는 C: 드라이브를 기준으로 작성했다.

manage-bde -on C: -tpmandpin

그러면 사용할 비밀번호와 암호화 종류를 물어본다. 향상된 PIN 허용을 선택했다면 숫자 외 영어나 특수문자를 입력하면 된다. 암호화 종류는 “전체 암호화”와 “사용한 공간 암호화”를 선택할 수 있다. 만약 새로운 SSD (또는 TRIM이 실제로 작동한 SSD)라면 사용한 공간 암호화를, 그렇지 않다면 전체 암호화를 선택한다.

선택이 완료되면 시스템이 한번 리부팅 된다. 리부팅이 되면 BitLocker 테스트 화면이 표시된다. 해당 화면에서 비밀번호를 잘 입력하고, 정상적으로 해제가 된다면 시스템이 켜지고 암호화가 진행된다.
만약 여기서 비밀번호를 틀리거나, 시스템 오류 등으로 해제에 실패한다면 BitLocker 암호화가 취소된다. 일종의 최종 저지선이다. 암호화를 진행해놨는데 해제가 안된다면 큰 불상사이기 때문이다.

보안 향상

별도의 설정이 없으면 AES 128Bit로 OS를 암호화 한다. 가능하면 256Bit로 올려주자. Bitlocker는 CPU를 이용해서 암호화 한다고 알려져 있다. 그러나, 필자의 경험상 CPU 사용량은 극히 미미한다고 느낀다. 128Bit나 256Bit나 CPU 사용량에 있어서 큰 차이는 없어 보인다.

AES 수준을 설정하는 메뉴는 “컴퓨터 구성” → “관리 템플릿” → “BitLocker 드라이브 암호화” → “드라이브 암호화 방법 및 암호화 수준 선택(Windows 10)”에 있다. XTS-AES 256비트를 선택하자.

AES 256Bit를 선택하는 메뉴 [드라이브 암호화 방법 및 암호화 수준 선택(Windows 10)]

만약, SSD가 Opal을 지원한다면 SSD 단에서 AES 암호화를 적용할 수도 있다. “컴퓨터 구성” → “관리 템플릿” → “BitLocker 드라이브 암호화” → “운영 체제 드라이브” → 운영 체제 드라이브에 대한 하드웨어 기반 암호화 구성 사용 을 켜면 된다.

자세한 적용 방법은 https://www.codeproject.com/Tips/5372281/How-to-Enable-Bitlocker-Hardware-Encryption-on-SED (아카이브) 를 참고하자. 필자도 SSD를 P31로 바꾸어서 사용해본 적 없는 기능이다.

그 외 살펴 볼만한 정책

그 외에도 적용할 만한 정책들이 있다.

  • “컴퓨터 구성” → “관리 템플릿” → “BitLocker 드라이브 암호화” → “다시 시작할 때 메모리 덮어쓰기 방지”: 사용안함 선택
  • 이 컴퓨터가 잠긴 경우 새 DMA 장치 사용 중지: 사용 선택

해당 설정들을 활용하여 BitLocker를 필요한대로 수정할 수 있다.

Ubuntu와 BitLocker 같이 쓰기

필자는 Ubuntu(Mint)와 Windows를 같이 사용한다. 설정을 제대로 하지 않을 경우, Mint에 들어갔다가 윈도우를 들어갈 경우 BitLocker 복구키를 요구한다. 이 경우, 아래 설정으로 BitLocker 복구키 없이 Pin을 사용할 수 있다. (운빨일 수 도 있다)

  1. “컴퓨터 구성” → “관리 템플릿” → “BitLocker 드라이브 암호화” → “운영 체제 드라이브” → 무결성 확인 시 보안 부팅 허용: 사용
  2. BIOS에서 Secure Boot 활성화
  3. efibootmgr을 통해 SecureBoot용 shimx64.efi 등록 (BIOS에서 바로 efi 파일을 선택가능하면 BIOS에서 진행)
  4. 윈도우 진입 후 BitLocker “보호 일시 중단” 선택 후 재부팅

여기서 BitLocker “보호 일시 중단”을 매번 시도때 마다 해야한다. “보호 일시 중단”을 사용하고 부팅을 해야지 새로운 키를 디스크에 저장한다.

실제 디스크를 암호화 한 키는 “복구 키” 이다. 하지만 복구 키를 매번 기억하기는 어렵기에, 복구 키를 “TPM과 PIN 비밀번호”로 다시 암호화 하여 디스크에 저장해 놓는다. 그 덕분에 우리는 PIN 비밀번호만 알면 복호화를 할 수 있다. 그러므로, “보호 일시 중단”을 사용해야 Ubuntu(Mint)로 인해 손상된 PIN 비밀번호가 다시 생겨난다 (복구된다)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글