실제로 SSL과 더 유사하게 작동합니다. Apple 계정에 가입하면 Apple은 사용자 이름에 대한 공개 / 개인 키 쌍을 생성합니다. 그런 다음 개인 키를 제공하고 공개를 유지합니다. (따라서 처음 구입하거나 iDevice를 복원 할 때 iTunes 계정으로 활성화해야합니다.) 활성화되면 개인 키를 iDevice로 전송합니다. 기본적으로 앱을 구매할 때 (무료 또는 유료) Apple은 공개 키로 암호화 된 4096 바이트 길이의 헤더를 생성합니다.
공개 / 개인 키에 대해 잘 알고 있다면 공개 키는 개인 쌍을 암호화 할 수 있습니다. 예를 들어 서버 공개 키를 사용하여 서버로 전송할 데이터를 암호화합니다. 그런 다음 서버는 개인 키를 사용하여 암호를 해독합니다. 데이터를 다시 보내려면 공개 키를 사용하여 데이터를 암호화하고 개인 키를 사용하여 데이터를 해독합니다! 공개 키는 데이터 만 암호화 할 수 있으며 개인 키의 암호를 해독하거나 그 반대로 할 수 없습니다.
앱을 다운로드하면 공개 키로 암호화 된 헤더가 있습니다. 개인 키만 앱에 포함 된 헤더를 해독 할 수 있습니다. 예를 들어, 생성 된 IPA를 복사하여 iDevice에 넣은 경우 (여기에서 얻을 수 있다고 가정하면 iTunes는 동기화를 거부 할 것입니다) 실행하려고하면 충돌이 발생합니다. 내 개인 키가 헤더를 해독 할 수 없기 때문에! 또한 IPA 파일 (IPA는 기본적으로 이름이 바뀐 zip 파일 임)에는 헤더가 없습니다. IPA의 내용을 살펴보면 확장자가없는 파일이 포함되어 있음을 알 수 있습니다. 예를 들어 Facebook의 앱을 사용하면 'Facebook'이라는 파일이 있습니다. 이것은 앱의 바이너리이며 암호화 된 헤더가 들어있는 파일입니다.
예, 위에서 언급 한 것처럼 iDevice (및 iTunes)가 iTunes에서 서명 확인을하지 않기 때문에 Apple ID를 기억할 수있는 한 앱은 계속 실행됩니다! 즉, 제거 된 앱을 설치하고 이전 IPA를 자신의 장치로 사용하고 IPA를 무기한 보유하고있는 한 장치에 동기화 할 수 있습니다!