İOS uygulaması DRM tam olarak nasıl çalışır?


10

Windows bilgisayarımda iTunes'dan bir uygulama satın aldığımda, bağımsız bir iOS uygulama paketi olan bir * .ipa dosyası alıyorum. Bu IPA dosyalarının içeriğine 7-Zip ile göz atabilirim ve hatta bu IPA dosyalarının hiç şifrelenmediğini gösteren kaynakları ve diğer ayrıntıları ayıklayabilirim.

Eğer şifrelenmemişlerse, DRM nasıl çalışır? Bir IPA dosyasını başka birinin bilgisayarına kopyalamamı ve IPA'yı iTunes'a aktarmamı ve ardından başka birinin cihazına yüklememi engelleyen nedir?

Ayrıca, birisi IPA dosyasını sakladığım sürece iDevices'e (tabii ki aynı Apple Kimliği altında) yükleyebileceğimi teyit edebilir mi? Ben sadece gelecekte bir uygulamanın özellikleri kaldırmak için güncellenmiş olabileceği ya da uygulama mağazasından tamamen çekilebileceği konusunda endişeliyim.


1
Bunu yapmanı neyin engellediğini bilmiyorum, ancak en azından bir yolun yapılabileceğini biliyorum: Yani iOS tarafından bir ödeme yapılmadıkça bir uygulamayı çalıştırmayı reddederek, bu ödemenin bir formu formda mevcut Uygulamanın bir sağlama toplamı da dahil olmak üzere bir veri parçası üzerinde bazı dijital imza.
Harald Hanche-Olsen

Yanıtlar:


14

Aslında, daha çok SSL gibi çalışır. Apple hesabına kaydolduktan sonra Apple, kullanıcı adınız için bir Genel / Özel Anahtar çifti oluşturur. Daha sonra size özel anahtarınızı verir ve herkese açık tutar. (Bu yüzden ilk satın aldığınızda veya iDevice'inizi geri yüklediğinizde iTunes hesabınızla etkinleştirmeniz gerekir). Etkinleştirildiğinde özel anahtarınızı iDevice'inize aktarır. Temel olarak, bir uygulama satın aldığınızda (ücretsiz veya ücretli) Apple, genel anahtarınızla şifrelenmiş 4096 bayt uzunluğunda bir başlık oluşturur.

Genel / özel anahtarlar hakkında herhangi bir bilginiz varsa, ortak anahtar özel çifti için şifreleyebilir ... Örneğin, sunucuya gönderilecek verileri şifrelemek için bir sunucu ortak anahtarı kullanırdım. Sunucu daha sonra şifresini çözmek için özel anahtarını kullanır. Verileri geri göndermek istediğinde, verileri şifrelemek için ortak anahtarımı kullanır ve şifresini çözmek için özel anahtarımı kullanırım! Ortak anahtarlar yalnızca verileri şifreleyebilir ve özel anahtarların şifresini çözemez veya tam tersini yapamaz.

Uygulamanızı indirdiğinizde, genel anahtarınızla şifrelenmiş bir başlığı vardır. Yalnızca gizli anahtarınız uygulamaya gömülü üstbilginin şifresini çözebilir. Örneğin, sizin için oluşturulan bir IPA'yı kopyalayıp iDevice'ime koyarsam (bu, oraya götürebileceğinizi varsayarsak, iTunes yine de senkronize etmeyi reddeder) ve sonra çalıştırmayı denedim, sadece çökecekti çünkü özel anahtarım başlığın şifresini çözemezdi! Ayrıca, IPA dosyasının (bir IPA aslında yeniden adlandırılan bir zip dosyasıdır) başlığa sahip olmadığını belirtmek gerekir, bir IPA'nın içeriğine bakarsanız, uzantısız bir dosya içerdiğini fark edersiniz, örneğin Facebook'un uygulamasını ele alalım, 'Facebook' adlı bir dosya olurdu. Bu, uygulamanın ikili dosyasıdır ve içinde şifrelenmiş başlık bulunan dosyadır.

Evet, yukarıda belirtildiği gibi, iDevice (ve iTunes) iTunes ile iTunes ile imza imzalamadığı için Apple Kimliğinizi hatırlayabildiğiniz sürece uygulamalarınız çalışmaya devam edecektir! Bu, kaldırılan uygulamaları yükleyebileceğiniz ve eski IPA'ları sizinkine ait olduğu sürece ve cihazınızla IPA süresiz olarak senkronize edebileceğiniz anlamına gelir!


0

Uzantıyı yerine olarak .ipadeğiştirin .zip. İTunes'un eski bir sürümünü kullanıyorsanız, IPA dosyası şu konumda olacaktır:

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

Gördünüz mü ... Uygulamayı indirirken kullandığınız kullanıcıya gidin.


Bu cevap, iOS'un lisans kısıtlamalarını nasıl uyguladığını açıklamaz.
Dai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.