mir.pe (일반/밝은 화면)
최근 수정 시각 : 2024-03-30 15:48:49

FileVault

<nopad>
파일:스크린샷 2023-01-03 오후 8.51.36.jpg
macOS Ventura 에서의 FileVault 설정 창

FileVault

1. 개요2. 역사와 특징3. 외장 저장장치 암호화4. 문제점
4.1. 맥 프로 2008~2012 사용 불가 문제4.2. 부팅 중 블루투스 연결 문제
5. 관련 문서

1. 개요

FileVault로 Mac에 있는 데이터 보호하기
macOS에서 FileVault를 사용한 볼륨 암호화
macOS 시스템 설정에 있는 파일볼트 설명은, “사용자 디스크에 있는 콘텐츠를 자동으로 암호화하여 해당 디스크에 있는 데이터를 보호합니다”라고 하고 있지만, 상세히 들어가 보면 좀 다르다.

OS와 하드웨어 사양에 따라 기능이 다른데, T2칩이 장착된 Intel Mac이전은 FileVault는 암호화 옵션이고, T2칩 이후의 Intel Mac과 Apple Silicon Mac에서 파일볼트의 기능은 추가 보안 기능이다.

2. 역사와 특징

Mac OS X 10.3 Panther에서 처음으로 도입되었다. 이 때는 디스크 전체가 아니라, 홈 디렉터리만 암호화했다. 이후 10.7 Lion에서 디스크 전체를 암호화할 수 있게 바뀌었다. 좀 더 명확히 설명하자면 파일볼트가 암호화 하는 것은 “시동 디스크”이다. 처음 맥을 구매할 때 내장 디스크가 시동 디스크이므로, 기본적으론 디스크 전체 암호화이지만, 파티션을 나누거나 APFS 도입 이후 추가된 볼륨을 추가를 사용할 경우, 디스크 전체 암호화가 아니게 된다. 예를 들어, 내장 파티션1, 내장 파티션2, 외장 하드드라이브가 있고, 파일볼트를 켠 OS가 내장 파티션1에만 있을 경우에는 파티션2와 외장 하드드라이브는 암호화 되지 않는다. 이 상태에서 만일 OS를 외장 하드에 깔고 외장 하드에 있는 macOS에서 파일볼트를 켜면, 외장 하드만 암호화 된다.

암호화에는 256비트 키를 이용한 XTS-AES-128을 사용하며, 다른 알고리즘으로 변경할 수 없다. 시스템을 암호화할 때 복구키를 iCloud에 저장 가능하며, 이게 싫으면 로컬 복구키를 만들어 쓸 수도 있다. 로컬 복구키는 /dev/random에서 뽑아와 만드는데, FileVault를 껐다 켜지 않는 이상 변경되지 않는다.[1] Apple의 난수생성 보안은 일단 2012년의 분석에서는 안전하다는 평을 받았다. 만약 로컬 복구키를 잃어버린다면 미국 정부라도 키를 찾아낼 수가 없으니 그야말로 망했어요.

BitLocker와 같이 AES-NI 가속을 사용하여 암호화 하지만, 모든 파일을 몽땅 다 암호화하고 입출력 때마다 복호화 / 암호화를 반복하느라 약 20% 정도의 속도 저하가 일어난다. APFS가 도입되었는데, HSF+와 달리 암호화를 염두고 만든 포맷이라 암호화 속도가 향상 되었다. 기존 HSF+는 CoreStorage 추가적인 시스템을 통해 했는데, APFS는 그럴 필요가 없어진 것.

T2칩 도입과 애플 실리콘 맥에 Secure Enclave라고 하는 하드웨어 보안이 추가된 후 파일볼트 사양은 크게 바뀐다. 파일 볼트 온/오프 상관 없이, 내장 디스크는 항상 암호화 되어 있다. 다만, 파일볼트가 오프인 상태에서는 맥을 키지마자 복호화가 시작된지만, 파일볼트를 키면 로그인 암호를 입력하기 전까지는 디스크는 암호화를 유지한다. [2]또, 디스크 암호화와 복호화는 전용 프로세서가 담당하므로 성능저하가 발생하지 않는다. M1 칩 이후에는 XTS-AES-256을 사용하게 되었다. [3]

그래서인지 macOS 초기 설정에서 FileVault 활성화가 기본 권장 사항으로 표시되게 된다. Apple T2 칩이 내장된 인텔 맥이거나 Apple M1 및 그 이상의 칩이 내장된 애플 실리콘 맥에서 이 기능 활성화가 권장된다.

3. 외장 저장장치 암호화

FileVault란 명칭은 엄밀히 말해, Mac의 시동 디스크에만 사용되기 때문에 다른 저장장치, 특히 USB 메모리나, 외장 하드디스크나 외장 SSD는 Mac의 시스템 설정에 있는 FileVault로 관리하지 않는다. 이런 저장장치는 Mac에서는 그냥 암호화란 용어만 사용한다. 시동디스크 아닌 저장장치를 암호화할 때는 Secure Enclave가 개입하지 않는다.

주의점
1. Big Sur 이후 macOS는 APFS에만 암호화를 지원한다. APFS가 원래 윈도우나 안드로이드, 구형 맥과 호환이 기본적으로 안되는 포맷이므로 주의하자,
2. 외장저장 장치 읽기/쓰기 성능 저하. 내장 저장장치와 달리 Secure Enclave가 따로 암호화 해주지 않으므로 성능 저하가 발생할 수 있다.
3. 암호 기억. 암호화 할 시에, 암호를 입력하게 되는데 분실하면 해당 저장장치 데이터에 접근할 수 없게 된다.

크게 두가지 방법이 있는데, 우클릭 메뉴나 디스크 유틸리티에서 할 수 있다.

방법 1
주의!: 해당 방법은 HFS+를 APFS로 강제적으로 바꾼다.
1. Finder 사이드바나 데스크탑의 저장장치를 우클릭 혹은 Control-좌클릭 한다.
2. 암호화 선택
3. 창에서 입력하고 싶은 암호를 입력하고, “디스크 암호화”를 누른다.
4. 암호화가 시작된다. 얼마나 걸릴 지는 데이터 양에 따라 다르다.

방법 2
주의! : 해당 방법은 저장매체의 내용를 지운다.
1. 디스크 유틸리티에서 암호화하고 싶은 외장 장치나 볼륨을 선택하고 지우기를 선택한다
2. 아래 설계 메뉴에서 GUID 파티션 맵을 선택한다
3. 포맷 메뉴에서 APFS (암호화됨)이나 APFS(대소문자 구분, 암호화됨)을 선택한다.

타임머신용 저장매체를 암호화하고 싶다면 타임머신용 저장매체를 선택할 때, 백업 암호화를 선택하면 된다.

윈도우와 맥 간의 외장 저장장치의 호환성이 중요하다면 macOS가 지원하는 암호화가 말고 VeraCrypt 등의 서드파티 암호화를 사용해야 한다. 완제품형 외장 하드디스크, 외장 SSD의 경우 하드웨어 암호화를 지원하는 경우가 있으니, 제품에서 해당 기능을 지원하는지 확인하고 제조사에서 지원 해당 외장 저장장치를 지원하는 앱을 받아서 잠금을 활성화 하면 된다. 다만 이 경우는 iOS 장치와 호환이 곤란할 수 있다.

4. 문제점

4.1. 맥 프로 2008~2012 사용 불가 문제

모하비 이후의 맥 프로 3,1(2008년형)부터 5,1(2012년형)까지는 파일볼트를 끄면 다시 킬 수가 없는데 우회해서 키는 것이 가능하다. 2가지 방법이 있는데 첫 번째는 파일볼트 암호화하는 부분만 꺼내와서 수정하여 외부에서 실행시켜서 바로 암호화 절차를 시작하는 것이고[4], 두 번째는 시스템 무결성 보호를 끄고 시스템 환경설정 자체를 Hex 에디터 등으로 수정해서 파일볼트 암호화를 하는 것이다. 전자의 경우 시스템에 따라 복구키를 보여주지 않으므로, 자신이 복구키를 반드시 알아야 하는 경우에는 후자를 하는 게 낫다.

모하비부터는 NVIDIA 웹 드라이버도 없고, 파일볼트도 끄고 쓰거나 이런 식으로 우회해야 하기에 1세대 맥 프로 사용자들은 하이 시에라에 머무는 경향이 있다.

4.2. 부팅 중 블루투스 연결 문제

FileVault가 켜진 상태에서는 로그인 전까지 블루투스가 동작하지 않는 문제가 있다. 해외에서도 동일한 증상을 겪는 사례가 많은 모양. # 이 때문에 서드파티 블루투스 키보드로는 Mac 부팅 직후 로그인을 할 수 없는 사태가 발생하기도 한다. 로지텍에서는 MacOS 12.3 기준으로 해결된 문제라고 설명하나 #, 소노마에서도 여전히 발생하는 현상이다.

Magic Keyboard를 사용하거나 유선 키보드, Wi-Fi 연결을 하는[5] 무선 키보드 또는 로지텍의 Logi Bolt 리시버 같은 USB 동글[6]로 연결하는 수밖에 없다.

Magic Trackpad, Magic Keyboard[7], Apple Wireless Keyboard[8] 등은 시동음이 들린 후에 각 제품의 아무 버튼을 한 번 누르면 불이 들어오면서 1~2초쯤 후부터 부팅 중에도 사용이 가능하다.[9] 다만 마지막 시스템 종료를 할 때에 비정상 종료(전원 버튼을 길게 눌러서 하는 강제 종료 등)가 있었다면 연결되지 않을 수 있다.

5. 관련 문서



[1] 중고 구입했는데 기관이나 학교 등에서 사용한 경우, 파일볼트 복구 키를 일괄적으로 설정하기도 한다. 이러면 나중에 구입한 사람은 파일볼트를 킬 때 복구 키가 보여지는 대신 기관에서 설정했다고 하면서 복구 키를 보여주지 않는다. 진행하지 말고 취소를 누른 다음, /Library/Keychains/ 경로에 가서 FileVaultMaster.cer 파일과 FileVaultMaster.keychain 파일을 삭제 및 휴지통 비우기 해주고 다시 FileVault를 키면 정상적으로 개인 복구 키를 볼 수 있다. [2] 출처 '느려지지 않을까?' 신형 맥의 '파일볼트+T2 칩' 작동 방식의 이해 [3] 출처 Apple 공식 문서의 데이터 보호 개요 [4] 즉, 시스템 자체를 수정하진 않는다. [5] 본체 직접 연결이 아니고 USB 동글과의 연결이 블루투스가 아닌 Wi-Fi인 제품을 말한다. [6] 단, 블루투스 동글은 일반적인 블루투스 연결과 동일하므로 의미 없다. [7] 과거 흔히 "매직 키보드 2"로 잘못 불리던 그 제품이다. [8] 과거 흔히 "매직 키보드 1"로 잘못 불리던 그 제품이다. [9] 각종 시동 조합키를 누르려고 하는데 너무 빨리 로그인 화면으로 넘어가는 경우, 정상 부팅 후에 터미널에서 sudo nvram -d EFIBluetoothDelay 를 입력해서(관리자 비밀번호 입력칸은 커서가 없어서 무반응으로 보이나, 그냥 입력 후에 리턴 키를 누르면 된다) 부팅 중 블루투스 인식 딜레이 시간을 초기화한다. 그 후 재부팅을 해서 한 번 더 정상 부팅을 한 후에, 다시 재부팅을 해서 시동 조합키를 시도하면 파일볼트 작동 시 보이는 로그인 화면 이전에 아무 키를 눌러 블루투스 키보드를 인식시키고 다시 조합키를 누를 시간이 확보된 것을 확인할 수 있다.