
증명 프로세스 보안
증명 프로세스 보안
ACME 구성에서 하드웨어 바운드 키를 지정하거나 기기 관리 서비스에서 기기 정보 증명을 요청하는 경우, 기기는 다음 단계를 사용합니다.
운영 체제는 Secure Enclave에 증명 키라고 불리는 하드웨어 바운드 키를 요청합니다. ACME 증명에서 이 키는 발급한 인증서 아이덴티티의 일부입니다.
DeviceInformation증명의 경우 키는 운영 체제에서 생성되고 등록하는 동안 모든 이후DeviceInformation증명에서 재사용됩니다.운영 체제는 Secure Enclave에 하드웨어 증명을 요청합니다. 증명 키, 새로운 코드 및 증명할 속성을 지정합니다.
Secure Enclave가 새로운 하드웨어 증명을 생성하고 반환합니다.
운영 체제는 하드웨어 증명을 Apple 증명 서버로 보냅니다.
증명 서버는 요청을 검증하고 증명 인증서 발급을 거부하거나, 확인할 수 있는 속성 및 값만 포함하는 증명을 생성합니다. 증명 인증서의 공개 키는 증명된 키와 일치합니다.
운영 체제는 기기 관리 서비스 또는 ACME 솔루션에 결과 증명 인증서를 제공합니다.
제공된 증명 인증서 검증에 관한 추가 정보를 보려면 Apple Developer 웹사이트에서 Validating a Managed Device Attestation의 내용을 참조하십시오.
하드웨어 증명에 관하여
Secure Enclave가 하드웨어 증명을 생성하면 다음과 같은 요소가 포함됩니다.
메인 로직 보드의 식별자.
증명 키의 공개 키.
시동 프로세스 중에 계산되고 하드웨어 레지스터에 저장된 다음과 같은 소프트웨어 구성 요소의 해시(봉인 키 보호와 유사함).
Secure Enclave 펌웨어(sepOS).
다른 모든 시스템과 연결된 펌웨어의 측정값도 포함된 LLB에 연결된 Image4 매니페스트.
운영 체제에 연결된 모든 펌웨어의 측정값을 포함하는 운영 체제 Image4 매니페스트.
ECID 및 ChipID와 같은 기타 기기별 특정 값
Mac 컴퓨터에서 LocalPolicy의 세부사항.
새로운 코드.
Secure Enclave가 증명 키의 래핑을 해제할 수 없는 경우, Secure Enclave에서 하드웨어 증명의 생성이 거부됩니다. 이렇게 하면 증명 키가 특정 Secure Enclave에 바인딩되어 있고 다른 모든 증명된 속성이 해당 키와 연결되어 있는지 확인할 수 있습니다.
이 모든 요소는 사용자 설정 바이너리 구조로 컴파일되며 UIK로 서명됩니다. 이로써 하드웨어 증명은 Apple 증명이 확인할 수 있는 특정 아이덴티티과 연결되고, 해당 요청이 특정 활성화 레코드와 연관되어, 결국 특정 제조 레코드와 연결됩니다
증명 인증서 생성하기
Apple 증명 서버에서 증명 요청을 받으면 다음을 수행할 수 있습니다.
하드웨어 증명에 있는 UIK(사용자 신원 키) 서명을 인증합니다. 서명이 유효하지 않은 경우 증명은 생성되지 않습니다.
UIK의 공개 키에 대응하는 Apple 활성화 레코드에서
ucrt를 찾습니다.ucrt를 찾지 못한 경우 증명은 생성되지 않습니다.기기의
ucrt에 해당하는scrt를 찾습니다.scrt는 Silicon Identity Key(SIK)를 기반으로 제조하는 동안 Apple 서버가 발급한 인증서입니다. SIK는 Secure Enclave로 생성되며 공개 키는 기기에서 제조 중에 수집됩니다. SIK는 활성화하는 동안 활성화 기기의 Secure Enclave가 개인 키를 소유하고 있는지 확인하는 데 사용됩니다. SIK는 기기의 수명 주기에 걸쳐 유지되며 고유 식별자로 작동합니다.scrt를 사용하면 기기의 제조 레코드를 가져옵니다. 레코드를 찾지 못한 경우 증명은 생성되지 않습니다.하드웨어 구성 요소의 식별자가 제조 레코드와 일치하는지 확인합니다. 구성 요소 식별자가 제조 레코드와 일치하지 않는 경우 증명은 생성되지 않습니다.
있는 경우, 새로운 코드를 증명에 복사합니다.
증명에서 요청하는 경우:
소프트웨어 구성 요소의 계산된 해시를 빌드 레코드의 알려진 해시와 비교합니다. 일치하는 경우, 증명에 공식 버전 번호가 삽입됩니다. 일치하지 않으면 OID가 생략되거나 값이 비어 있게 됩니다.
LLB, Secure Enclave 또는 메인 운영 체제용 이미지가 빌드되면, 해시가 계산되고 해당 이미지의 공식 버전 번호와 함께 빌드 레코드 데이터베이스에 기록됩니다.
ECID 및 ChipID에서 UDID를 계산합니다.
기기가 Mac인 경우, 요청된 OID의 값을 LocalPolicy에서 증명으로 복사합니다.
이러한 검증의 실제 결과는 증명 서버가 해당 기기를 정품 Apple 하드웨어로 인식할 수 없는 경우 증명을 생성하지 않는다는 것입니다. 증명 인증서에 있는 각 속성은 증명 서버가 해당 속성의 값을 확인할 수 있는 경우에만 포함됩니다. 단, 인증되지 않고 포함된 새로운 코드는 제외됩니다.