macOS의 앱 코드 서명 프로세스
모든 App Store 앱은 Apple에서 서명합니다. 서명은 앱이 변조되거나 변경되지 않았음을 확인하도록 설계된 절차입니다. Apple 기기에 제공되는 모든 앱에도 Apple이 서명합니다.
macOS 10.15 버전의 경우 App Store 외부에서 배포된 모든 앱은 반드시 Apple이 발급한 개발자 ID 인증서(개인 키와 통합됨)를 사용하여 서명되어야 하며, 기본 Gatekeeper 설정으로 실행하려면 Apple의 공증을 받아야 합니다. 사내에서 개발한 앱도 Apple이 발급한 개발자 ID로 서명하여 사용자가 해당 앱의 무결성을 확인할 수 있어야 합니다.
macOS에서 코드 서명 및 공증 작업은 다양한 목표를 위해 독립적으로 수행되며, 여러 행위자에 의해 수행될 수 있습니다. 개발자는 Apple이 발급한 개발자 ID 인증서를 사용하여 코드 서명을 수행합니다. 이 서명을 확인하면 사용자는 개발자의 소프트웨어가 제작 및 서명된 이후로 변조되지 않았음을 확인할 수 있습니다. 소프트웨어 배포 체인 안의 누구나 공증이 가능하며, 공증은 Apple이 악성 코드를 확인하기 위해 코드 사본을 제공받았으며 알려진 악성 코드가 발견되지 않았음을 증명합니다. 공증의 결과는 티켓이며, 티켓은 Apple 서버에 저장되고 원하는 경우 누구나 개발자의 서명을 무효화하지 않고 앱과 함께 보관할 수 있습니다.
시스템으로 보호되는 권한을 활성화하려면 MAC(강제적 접근 제어)에 코드 서명이 필요합니다. 예를 들어 방화벽을 통해 접근해야 하는 앱은 올바른 MAC 권한으로 코드 서명되어야 합니다.