iOS 앱 DRM은 정확히 어떻게 작동합니까?


10

Windows 컴퓨터의 iTunes에서 앱을 구매하면 자체 포함 된 iOS 응용 프로그램 패키지 인 * .ipa 파일이 생성됩니다. 7-Zip으로 이러한 IPA 파일의 내용을 찾아 볼 수 있으며 리소스 및 기타 세부 정보를 추출 할 수도 있습니다. 이는 이러한 IPA 파일이 전혀 암호화되지 않았 음을 나타냅니다.

암호화되지 않은 경우 DRM은 어떻게 작동합니까? IPA 파일을 다른 사람의 컴퓨터에 복사하고 IPA를 iTunes로 가져온 다음 다른 사람의 장비에 설치하는 것을 막는 이유는 무엇입니까?

또한 누군가 IPA 파일을 보관하는 한 (물론 동일한 Apple ID로) 내 iDevices에 설치할 수 있는지 확인하십시오. 앞으로는 기능을 제거하기 위해 앱이 업데이트되거나 앱 스토어에서 완전히 가져올 수도 있습니다.


1
나는 당신이 그 일을하는 것을 막을 수는 없지만 적어도 그것이 할 수있는 한 가지 방법을 알고 있습니다. 즉, iOS가 지불하지 않은 한 앱 실행을 거부하고 지불 기록이 양식에 있음을 알고 있습니다 앱의 체크섬을 포함하여 데이터의 일부 디지털 서명
Harald Hanche-Olsen

답변:


14

실제로 SSL과 더 유사하게 작동합니다. Apple 계정에 가입하면 Apple은 사용자 이름에 대한 공개 / 개인 키 쌍을 생성합니다. 그런 다음 개인 키를 제공하고 공개를 유지합니다. (따라서 처음 구입하거나 iDevice를 복원 할 때 iTunes 계정으로 활성화해야합니다.) 활성화되면 개인 키를 iDevice로 전송합니다. 기본적으로 앱을 구매할 때 (무료 또는 유료) Apple은 공개 키로 암호화 된 4096 바이트 길이의 헤더를 생성합니다.

공개 / 개인 키에 대해 잘 알고 있다면 공개 키는 개인 쌍을 암호화 할 수 있습니다. 예를 들어 서버 공개 키를 사용하여 서버로 전송할 데이터를 암호화합니다. 그런 다음 서버는 개인 키를 사용하여 암호를 해독합니다. 데이터를 다시 보내려면 공개 키를 사용하여 데이터를 암호화하고 개인 키를 사용하여 데이터를 해독합니다! 공개 키는 데이터 만 암호화 할 수 있으며 개인 키의 암호를 해독하거나 그 반대로 할 수 없습니다.

앱을 다운로드하면 공개 키로 암호화 된 헤더가 있습니다. 개인 키만 앱에 포함 된 헤더를 해독 할 수 있습니다. 예를 들어, 생성 된 IPA를 복사하여 iDevice에 넣은 경우 (여기에서 얻을 수 있다고 가정하면 iTunes는 동기화를 거부 할 것입니다) 실행하려고하면 충돌이 발생합니다. 내 개인 키가 헤더를 해독 할 수 없기 때문에! 또한 IPA 파일 (IPA는 기본적으로 이름이 바뀐 zip 파일 임)에는 헤더가 없습니다. IPA의 내용을 살펴보면 확장자가없는 파일이 포함되어 있음을 알 수 있습니다. 예를 들어 Facebook의 앱을 사용하면 'Facebook'이라는 파일이 있습니다. 이것은 앱의 바이너리이며 암호화 된 헤더가 들어있는 파일입니다.

예, 위에서 언급 한 것처럼 iDevice (및 iTunes)가 iTunes에서 서명 확인을하지 않기 때문에 Apple ID를 기억할 수있는 한 앱은 계속 실행됩니다! 즉, 제거 된 앱을 설치하고 이전 IPA를 자신의 장치로 사용하고 IPA를 무기한 보유하고있는 한 장치에 동기화 할 수 있습니다!


0

확장자를에서 .ipa로 변경하십시오 .zip. 이전 버전의 iTunes를 사용하는 경우 IPA 파일은 다음 위치에 있습니다.

C:\user\ ...\music\itunes\mobile applications 

당신은 볼 수 ... 응용 프로그램을 다운로드 할 때 사용중인 사용자로 이동합니다.


이 답변은 iOS가 라이센스 제한을 시행하는 방법을 설명하지 않습니다.
Dai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.