티스토리 뷰

Linux

Android secure boot

두덕리온라인 2024. 2. 19. 07:55
728x90
반응형
안드로이드의 Secure Boot는 디바이스가 부팅될 때 운영 체제와 그 커널이 변조되지 않았는지 확인하는 보안 메커니즘입니다. 이 기능은 사용자와 기기의 데이터를 안전하게 보호하기 위해 설계되었습니다. Secure Boot는 루트킷이나 부트로더 수준에서의 악성 소프트웨어 공격으로부터 기기를 보호하는 데 중요한 역할을 합니다. 안드로이드 디바이스가 부팅 과정을 시작할 때, Secure Boot는 소프트웨어가 신뢰할 수 있는 출처에서 온 것인지를 검증합니다.
 

작동 방식

  1. Bootloader 검증: Secure Boot는 첫 번째 단계로서, 디바이스의 부트로더가 정상적인지 확인합니다. 부트로더는 공개 키 인프라(PKI)를 사용하여 서명되어 있으며, 디바이스의 펌웨어에 내장된 해당 공개 키로 검증됩니다.
  2. 운영 체제 검증: 부트로더가 성공적으로 검증되면, 다음 단계는 운영 체제 자체를 검증하는 것입니다. 이 과정에서는 커널과 함께 운영 체제의 핵심 부분이 서명 검증을 통과해야 합니다.
  3. 커널 및 시스템 파티션 검증: 커널이 로드된 후, 시스템 파티션과 같은 중요한 시스템 파일들이 검증됩니다. 이 과정은 dm-verity라는 커널 기능을 통해 수행되며, 파일 시스템의 무결성을 보장합니다.

주요 구성 요소

  • 공개 키 인프라(PKI): Secure Boot 과정에서 사용되는 디지털 서명을 생성하고 검증하는 데 사용됩니다. 제조업체는 고유한 개인 키를 사용하여 부트로더와 운영 체제를 서명하고, 해당 공개 키는 디바이스의 펌웨어에 내장됩니다.
  • Bootloader: 디바이스가 부팅될 때 가장 먼저 실행되는 코드입니다. Secure Boot는 부트로더가 변조되지 않았는지 검증합니다.
  • dm-verity: 시스템 파티션의 무결성을 검증하는 안드로이드의 커널 기능입니다. 이는 시스템 파일이 변경되었는지 여부를 실시간으로 검사하여 시스템의 안전성을 보장합니다.

이점

  • 데이터 보호: Secure Boot는 사용자의 데이터를 악의적인 소프트웨어 공격으로부터 보호합니다.
  • 무결성 유지: 시스템의 무결성을 유지하여 안전한 사용 환경을 제공합니다.
  • 신뢰성 있는 부팅: 사용자는 디바이스가 안전한 상태에서만 부팅될 수 있음을 신뢰할 수 있습니다.
 
Secure Boot는 모바일 보안에서 중요한 역할을 하며, 사용자와 기업 모두에게 중요한 데이터 보호 기능을 제공합니다. 이 기술은 안드로이드 뿐만 아니라 다양한 운영 체제와 플랫폼에서도 널리 사용되고 있습니다.
반응형

'Linux' 카테고리의 다른 글

리눅스 프로세스 컨텍스트 스위칭  (0) 2024.02.20
linux에서 task와 process의 차이  (0) 2024.02.19
fork()와 exec()의 차이  (0) 2024.02.19
Linux virtual memory  (0) 2024.02.19
segmentation fault 와 page fault의 차이점  (0) 2024.02.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday