기본적으로 대부분의 Android 기기에는 잠긴 부트로더가 함께 제공됩니다. 즉, 사용자는 부트로더나 기기 파티션을 플래시할 수 없습니다. 필요한 경우 귀하(및 개발자 옵션이 활성화된 장치 사용자)는 부트로더를 잠금 해제하여 새 이미지를 플래시할 수 있습니다.
부트로더 잠금 해제
부트로더를 잠금 해제하고 파티션을 다시 플래시할 수 있도록 하려면 기기에서 fastboot flashing unlock
명령을 실행하세요. 설정 후에는 재부팅 후에도 잠금 해제 모드가 유지됩니다.
get_unlock_ability
1
로 설정되지 않은 한 기기는 fastboot flashing unlock
명령을 거부해야 합니다. 0
으로 설정된 경우 사용자는 홈 화면으로 부팅하고 설정 > 시스템 > 개발자 옵션 메뉴를 열고 OEM 잠금 해제 옵션( get_unlock_ability
를 1
로 설정)을 활성화해야 합니다. 설정 후 이 모드는 재부팅 및 공장 데이터 재설정 후에도 유지됩니다.
fastboot flashing unlock
명령이 전송되면 장치는 사용자에게 비공식 이미지에 문제가 발생할 수 있음을 경고하라는 메시지를 표시해야 합니다. 사용자가 경고를 확인한 후 장치는 무단 데이터 액세스를 방지하기 위해 공장 데이터 재설정을 수행해야 합니다. 부트로더는 장치를 제대로 다시 포맷할 수 없는 경우에도 장치를 재설정해야 합니다. 재설정 후에만 영구 플래그가 설정되어 장치를 다시 플래시할 수 있습니다.
아직 덮어쓰지 않은 모든 RAM은 fastboot flashing unlock
프로세스 중에 재설정되어야 합니다. 이 조치는 이전 부팅에서 남은 RAM 콘텐츠를 읽는 공격을 방지합니다. 마찬가지로 잠금 해제된 기기는 부팅할 때마다 RAM을 지워야 하지만(허용할 수 없는 지연이 발생하지 않는 한) 커널의 ramoops
에 사용되는 영역은 그대로 유지해야 합니다.
부트로더 잠금
부트로더를 잠그고 기기를 재설정하려면 기기에서 fastboot flashing lock
명령을 실행하세요. 소매용 장치는 공격자가 새 시스템이나 부팅 이미지를 설치하여 장치를 손상시킬 수 없도록 잠금 상태( get_unlock_ability
0
반환함)로 배송되어야 합니다.
잠금/잠금 해제 속성 설정
ro.oem_unlock_supported
속성은 장치가 깜박이는 잠금 해제를 지원하는지 여부에 따라 빌드 시 설정되어야 합니다.
- 기기가 깜박이는 잠금 해제를 지원하는 경우
ro.oem_unlock_supported
1
로 설정하세요. - 기기가 깜박이는 잠금 해제를 지원하지 않는 경우
ro.oem_unlock_supported
0
으로 설정하세요.
기기가 깜박이는 잠금 해제를 지원하는 경우 부트로더는 커널 명령줄 변수 androidboot.flash.locked
잠긴 경우 1
로, 잠금 해제된 경우 0
으로 설정하여 잠금 상태를 표시해야 합니다. 이 변수는 Android 12의 커널 명령줄 대신 bootconfig에서 설정해야 합니다.
dm-verity 를 지원하는 장치의 경우 ro.boot.verifiedbootstate
사용하여 ro.boot.flash.locked
값을 0
으로 설정하세요. 자체 검사 부팅 상태가 주황색이면 부트로더의 잠금이 해제됩니다.
중요 섹션 보호
장치는 장치를 부트로더로 부팅하는 데 필요한 모든 것으로 정의된 중요 섹션의 잠금 및 잠금 해제를 지원해야 합니다. 이러한 섹션에는 퓨즈, 센서 허브용 가상 파티션, 1단계 부트로더 등이 포함될 수 있습니다. 중요 섹션을 잠그려면 장치에서 실행 중인 코드(커널, 복구 이미지, OTA 코드 등)가 중요 섹션을 의도적으로 수정하지 못하도록 방지하는 메커니즘을 사용해야 합니다. 장치가 잠금 위험 상태인 경우 OTA는 중요 섹션을 업데이트하지 못합니다.
잠금 상태에서 잠금 해제 상태로 전환하려면 장치와의 물리적 상호 작용이 필요합니다. 이 상호 작용은 fastboot flashing unlock
명령을 실행할 때의 효과와 유사하지만 사용자가 장치의 물리적 버튼을 눌러야 합니다. 장치는 물리적 상호 작용 없이 lock critical
에서 unlock critical
로 프로그래밍 방식으로 전환하는 것을 허용해서는 안 되며, 장치는 unlock critical
상태로 배송되어서는 안 됩니다.