iOS 코드 서명에 대해서

안녕하세요. LINE에서 AIR ARMOR 개발을 담당하고 있는 심민영입니다. AIR ARMOR는 LINE GAME PLATFORM 중 하나인 AIR를 구성하는 보안 솔루션 중 하나입니다.

이전 포스팅, ‘AIR GO에 안드로이드 9 APK 서명 scheme v3 적용하기‘에서는 승훈 님이 Android의 서명 구조인 APK Signing에 대해 설명드렸는데요. 저는 이번 포스팅에서 iOS의 보안 구조 중 하나인 ‘코드 서명’에 대해서 설명하려고 합니다. 코드 서명은 파일의 무결성을 검증하고 서명자(개발자)를 확인하는 역할을 합니다. Mach-O 형식의 iOS 바이너리 파일의 무결성을 검증하고 서명자를 확인하는 작업엔 뒤에서 설명할 ‘code signature 구조체’를 이용합니다. 그럼 우선 iOS 코드 서명이 무엇인지부터 먼저 말씀드리겠습니다.