Depuis des années, une partie des développeurs iOS se bat contre des versions piratées de leurs applications qui circulent sur des boutiques d'apps « alternatives » — boutiques qui ne nécessitent pas forcément un iPhone jailbreaké. Ces apps piratées comprennent des fonctionnalités non prévues par l'éditeur, retirent la publicité ou bien encore permettent de débloquer du contenu payant sans débourser un centime.
Pour lutter plus efficacement contre ces détournements, Apple propose avec iOS 14 aux développeurs une nouvelle API, App Attest, dont le but est de vérifier l'intégrité de l'app.
Pour ce faire, le développeur doit générer une paire de clés, stockées dans le terminal (dans l'enclave sécurisée) et sur un serveur. L'application va signer les requêtes avec la clé secrète, envoyer les données au serveur et confirmer l'intégrité avec la clé publique. Si un hacker intercepte la requête et la modifie, la validation côté serveur échouera. Ainsi, le développeur saura qu'il s'agit d'une app piratée et pourra bloquer la demande.
Comme le souligne Apple, App Attest n'est pas une méthode infaillible pour identifier un appareil ayant un système compromis, autrement dit un appareil jailbreaké, où les pirates ont le champ libre pour contourner les mesures de sécurité. Mais cette API pourrait compliquer la création et l'utilisation d'apps piratées sur des terminaux non jailbreakés.
Le développeur Bruno Rocha, qui travaille pour Spotify, un des nombreux services touchés par le piratage sur iOS, donne des détails techniques sur son blog.