
Apple 기기용 관리형 기기 증명
관리형 기기 증명은 iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9 이상에서 사용 가능합니다. Secure Enclave를 사용하여 기기의 신원과 보안 태세에 대해 암호화된 보증을 제공합니다. iPad, iPhone, Apple TV 기기에는 A11 Bionic 칩 이후 모델이 필요하며 Mac 컴퓨터는 Apple Silicon이 탑재된 모델만 지원합니다. 관리형 기기 증명 보안을 통해 다음과 같은 위협으로부터 보호할 수 있습니다.
손상된 기기에서 속성에 대해 거짓 정보를 제공하는 경우
손상된 기기에서 오래된 증명을 제공하는 경우
손상된 기기에서 다른 기기의 ID를 보내는 경우
악성 기기에서 사용할 목적으로 개인 키를 추출하는 경우
공격자가 인증 기관(CA)을 속여 인증서를 발급받기 위해 인증서 요청을 하이재킹하는 경우
관리형 기기 증명을 사용할 경우 기기는 Apple Enterprise Attestation Root CA에 기반한 리프 인증서와 중간 인증서로 이루어진 데이터 배열을 반환하는 Apple 증명 서버에 증명을 요청할 수 있습니다. 기기 유형에 따라 리프 인증서에는 다음 표에 나와 있는 대로 특정 속성이 포함될 수 있습니다.
OID 및 값 | 지원되는 최소 운영 체제 버전 | 설명 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 일련 번호 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 기기의 일련 번호를 의미하며 해당 번호로 기기를 식별할 수 있습니다. 사용자 등록이 설치된 관리형 기기 증명을 사용할 경우 사용자의 개인정보를 보호하기 위해 이 값은 포함되지 않습니다. | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 고유한 하드웨어 ID를 의미하며 해당 ID로 기기를 식별할 수 있습니다. Mac의 UDID의 경우 기기의 권한 설정 UDID와 일치합니다. 사용자 등록이 설치된 관리형 기기 증명을 사용할 경우 사용자의 개인정보를 보호하기 위해 이 값은 포함되지 않습니다. | |||||||||
1.2.840.113635.100.8.10.2 sepOS 버전 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Secure Enclave 펌웨어의 버전을 의미합니다. | |||||||||
1.2.840.113635.100.8.11.1 새로운 코드 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 특정 증명을 식별하는 고유하고 예측할 수 없는 코드입니다. 이는 코드가 생성된 후에 증명이 생성되었음을 알려줍니다. | |||||||||
1.2.840.113635.100.8.13.1 SIP 상태 | macOS 14 | Apple Silicon이 탑재된 Mac의 SIP 활성화 상태를 의미합니다. | |||||||||
1.2.840.113635.100.8.13.2 보안 시동 상태 | macOS 14 | Apple Silicon이 탑재된 Mac의 일부 보안 시동 구성을 의미합니다. | |||||||||
1.2.840.113635.100.8.13.3 타사 커널 확장 프로그램 허용 | macOS 14 | Apple Silicon이 탑재된 Mac에서 타사 커널 확장 프로그램의 허용 여부를 의미합니다. | |||||||||
1.2.840.113635.100.8.10.3 LLB 버전 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 저레벨 부트로더의 버전을 의미합니다. | |||||||||
1.2.840.113635.100.8.10.1 운영 체제 버전 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 운영 체제 및 iBoot 버전을 의미합니다. | |||||||||
1.2.840.113635.100.8.9.4 소프트웨어 업데이트 기기 ID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 |
| |||||||||
증명 요청은 기기 관리 서비스에서 보낸 DeviceInformation 요청에 의해 시작되거나 ACME 구성을 설치하여 시작됩니다. 두 경우 모두, 기기는 기기 관리 서비스 또는 ACME 솔루션에서 새로운 코드를 수신합니다. DeviceInformation 증명을 사용하는 경우, 새로운 코드는 요청에서 지정된 DeviceAttestationNonce의 값입니다. ACME 증명을 사용하는 경우, 새로운 코드는 device-attest-01 확인 요청 토큰의 SHA-256 해시입니다. 결과 값은 리프 인증서의 속성으로 포함되며 기기 관리 서비스 또는 ACME 솔루션에서 이 증명이 요청에 부합하는지 확인할 수 있습니다.
증명을 받으면 백엔드 서비스가 신중하게 유효성 검사를 수행해야 합니다. 이 검사에는 리프 인증서를 Apple Enterprise Attestation Root CA에서 발급했는지 확인하고, 새로운 코드의 해시를 예상 값과 비교하며, 증명의 다른 속성을 검사하는 작업이 포함됩니다.
조직의 배포 모델에 따라 관리형 기기 증명은 현대적이고 안전한 배포의 중요한 기반이 되고 다양한 방식으로 사용될 수 있습니다.
ACME에서 발급한 인증서를 사용하여 클라이언트에서 기기 관리 서비스로 연결을 인증하고,
DeviceInformation증명을 활용하여 지속적으로 기기 속성을 확인합니다.기기의 신원과 해당 보안 태세를 확인하고, 인증서를 발급하기 전에 ACME 솔루션에서 신뢰도 평가를 수행하도록 합니다. 이러한 방식을 통해 필수 표준을 충족하는 기기만 인증서를 받도록 할 수 있습니다.
ACME 인증서에서 증명을 통해 기기 속성을 내장하고 신뢰 당사자에 대한 신뢰도 평가를 수행합니다.
하드웨어 바운드 키
ACME 프로토콜을 사용하여 인증서를 발급하는 동안 증명서를 제공하도록 기기에 요청할 수 있으며, 이를 통해 관련 키 페어는 Secure Enclave의 보호 하에 강력한 하드웨어 보안을 보장받을 수 있고 개인 키가 내보내지지 않도록 할 수 있습니다.
하드웨어 바운드 키를 생성하려면 ACME 구성에서 256비트 또는 384비트 크기의 키로 ECSECPrimeRandom 알고리즘을 사용해야 합니다. 그러면 NIST SP 800-186에 정의된 P-256 또는 P-384 커브의 키 페어를 지정합니다.
개인 키를 생성하기 위해 Secure Enclave는 우선 다음을 사용하여 래핑된 암호화된 비밀을 생성합니다.
하드웨어 기반 참난수 발생기(TRNG)의 조합
Secure Enclave의 안전한 비휘발성 저장 공간에 저장된 엔트로피
데이터 보호 키
운영 체제는 래핑된 비밀을 저장하지만, 래핑된 비밀 자체만으로는 유용하지 않습니다. 개인 키를 파생하려면 Secure Enclave에서 동일한 비밀, 동일한 저장된 엔트로피 및 동일한 데이터 보호 키를 사용해야 합니다. 저장된 엔트로피 및 데이터 보호 키는 특정 Secure Enclave에 고유하기 때문에 해당 Secure Enclave만 이 개인 키를 생성할 수 있으며, 이는 하드웨어 바운드 키를 해당 Secure Enclave에 효과적으로 바인딩합니다.
기기를 지우면 Secure Enclave는 저장된 엔트로피를 제거합니다. 이로 인해 동일한 기기에 복원하더라도 백업 및 복원 후에 하드웨어 바운드 키를 다시 생성할 수 없습니다.
하드웨어 바운드 키가 있는 ACME 페이로드를 포함하는 모든 구성은 복원 시 제거됩니다. 하드웨어 바운드 키가 기기 관리 서비스 클라이언트 ID로 사용되는 경우 기기 등록이 해제됩니다. 이 시나리오에서 기기가 자동 기기 등록을 통해 등록된 경우, 기기는 등록 프로필을 다시 가져와서 재등록합니다.