본문 바로가기

IT

참고 자료: 안드로이드 디스크 전체 암호화(Full Disk Encryptiojn; FDE)

구글이 7월 '안드로이드 보안 업데이트'를 내놓았는지 확인하다가 (새삼스럽게) 본 것입니다.

2013년 이래 개인정보 보호 의식이 한층 더 높아지면서 기기 전체를 암호화하여 제3자가 습득하더라도 그 내용을 쉽게 해독하기 힘들게 해야 한다는 인식이 확산되었지만, 구글은 애플보다 몇 발 늦게 2014년 하반기에 내놓은 넥서스 6부터 기본적으로(필수적으로) 암호하기 시작했고 사용자가 이 설정을 마음대로 바꿀 수도 없습니다.
그런데, 2013년 하반기에 나온 넥서스 5 등 이전 제품은 그렇지 않아 사용자가 '설정 - 보안' 메뉴를 통해 '기기 암호화'(FDE)를 해야 하고 암호화하고 난 뒤에도 매월 보안 업데이트하는 게 아주 귀찮았습니다. 나라 혹은 기기별로 순차적으로 진행되는 OTA 방식으로 업데이트하지 않고 팩토리(factory) 이미지를 직접 받아서 사용자 스스로 업데이트하면 모든 데이터와 설정이 사라지기 때문입니다.
최근 구글이 펌웨어 전체를 OTA 이미지 형태로 제공하면서부터 사정이 바뀌었는데 넥서스 5 이전 사용자도 시간을 많이 절약할 수 있더군요.
팩토리 이미지 업데이트 방식은 부트로더로 리부팅한 상태에서 기기의 부트로더 잠금 상태를 사용자가 수동으로 해제하고 나서 스크립트를 실행하면 기기를 공장 초기화하면서 진행하기 때문에 사용자 데이터가 사라지는 것은 물론 암호화(FDE) 설정도 사라져 업데이트한 뒤 다시 암호화해야 해야 하고 부트로더도 다시 잠궈야(lock) 해서 불편했습니다. 부트로더를 다시 잠그는 것도 구글에서 메뉴 방식으로 제공하는 것이 아니라 제3자가 만든 이미지를 받아서 TWRP로 부팅한 뒤 처리하는 방식이었니다.
새로운 OTA 업데이트 방식은, 사용자가 직접 파일을 내려받아서 복구 모드에서 수행해야 하지만 부트로더 잠금 해제를 해야 할 필요가 없고 암호화된 상태도 그대로 유지 보존됩니다.

Full Disk Encryption
...
What we’ve added for Android 5.0

Created fast encryption, which only encrypts used blocks on the data partition to avoid first boot taking a long time.
Only ext4 and f2fs filesystems currently support fast encryption.
Added the forceencrypt flag to encrypt on first boot.
Added support for patterns and encryption without a password.
Added hardware-backed storage of the encryption key using Trusted Execution Environment’s (TEE) signing capability (such as in a TrustZone). See Storing the encrypted key for more details.

Caution: Devices upgraded to Android 5.0 and then encrypted may be returned to an unencrypted state by factory data reset. New Android 5.0 devices encrypted at first boot cannot be returned to an unencrypted state.
...