파일볼트

파일볼트(FileVault)는 맥 OS X 팬더서부터 사용된 디스크 암호화 소프트웨어이다. 파일볼트는 실시간으로 매킨토시의 볼륨을 암호화 시킨다.

버전과 중요 특성 
파일볼트는 맥 OS X 팬더서 등장하였다. 그리고 처음 파일 볼트는 시동 볼륨을 암호화 하지 않고 유저의 홈 디렉터리만 암호화하였다. 맥 OS는 홈 디렉터리가 있는 볼륨을 암호화된 디스크 이미지(sparse disk image, 거대한 하나의 파일)를 암호화 시켰다. 그리고 맥 OS X 레퍼드와 맥 OS X 스노 레퍼드에서는 더욱 현대화된 sparse 번들 디스크 이미지를 사용했다. 이 번들 이미지에는 8 MB 이상의 데이터("bands"라 불러지는)가 흩어져 있었는데, 애플은 이 파일볼트를 가리켜 레거시 파일볼트라 일컫는다.

Mac OS X 라이언과 이후 macOS는 FileVault 2를 사용하는데, FileVault 2는 특별히 재 디자인 한 물건이었다. 파일볼트는 전 macOS의 시동 볼륨을 암호화하였다. 이런 디스크 암호화로 인해, 허가받은 사용자의 정보는 암호화 되지 않은 시동 볼륨에서 불러오게 되었다. (partition/slice type Apple_Boot).

보안 
현 FileVault2(이후 파일볼트로 칭함)는 사용자 로그인 비밀번호로 암호화 키를 생성한다. 파일볼트는 AES에 Xor-Encrypt-Xor(XEX)를 사용한 XEX-based tweaked-codebook mode, 즉 XTS-AES-128와 256비트 키로 디스크를 암호화 하는데, 이는 미국 NIST가 권장하는 방식이다. 키를 가지고 풀수 있는 사용자는 드라이브를 암호화하거나 풀수 있다. 한번 풀어지면, 다른 사용자는 맥이 종료 될때까지 사용할 수 있다.

성능 저하 
네할렘 (마이크로아키텍처) 아키텍처에 장착된 AES 암호화 셋을 사용하고, 또한 맥 OS X 라이언에서 파일볼트를 사용시 I/O 성능은 안 켰을때보다 20~30% 떨어지게 된다. 성능 저하는 AES 셋을 지원하지 않는 오래된 인텔 코어 CPU의 경우 더 큰 차이로 벌어지게 된다.

마스터 키와 복구 키
파일볼트를 구동했을시, macOS는 복구 키를 보여주거나, 혹은 애플의 iCloud 계정으로 복구할 수 있는 옵션을 보여준다. 이 120 비트의 복구 키는 모든 문자와 1~9까지의 숫자로 구성되어 있으며, /dev/random에서 읽는다. 그리고, 이로 인해 macOS에서 사용하고 있는 유사난수 생성기의 보안 여부와 직결된다. 2012년 암호분석에 의하면, 이 메커니즘은 안전한걸로 드러났다.

그리고 또한 이 복구키를 바꾸는 건 파일 볼트를 다시 암호화 하지 않는이상 불가능하다.

검증 
OS X 매버릭스와 그 이상버전의 macOS에서 파일볼트를 사용시, 암호화가 마쳤을 시 사용자가 키가 올바르게 작동되었는지 터미널에 sudo fdesetup validaterecovery를 넣어서 확인할 수 있다. 이 키는 xxxx-xxxx-xxxx-xxxx-xxxx-xxxx로 되어 있으며, 올바를시 Ture를 반환하도록 되어 있다.

더 보기

 애플 키체인
 비트로커
 Truecrypt

참고 문헌 

MacOS
암호 소프트웨어