Beschränken Sie eine bestimmte App so, dass sie nur auf MDM-bereitgestellten Geräten ausgeführt wird

Wir haben ein Szenario in unserem aktuellen iPhone-App-Entwicklungsprojekt.

Wir müssen unsere App so einschränken, dass sie nur auf unseren von Maas360 MDM bereitgestellten Geräten ausgeführt wird. Unsere ist eine interne App für unsere bestimmten Mitarbeiter.

Wenn jemand das IPA erhalten und versucht hat, die App auf einem privaten Gerät (nicht von MDM bereitgestellt) auszuführen, sollte die App nicht gestartet werden können. Unsere App verwendet ein Prod-Verteilungszertifikat und ein Prod-Profil, um das IPA vorzubereiten. Ist es möglich, das Zertifikat und das Profil mit dem MDM zu verknüpfen? Kann in diesem Fall jemand das MDM-bezogene Profil abrufen und die App auf seinem privaten Gerät ausführen? Bitte teilen Sie Ihr Wissen und Ihre Gedanken zu diesem Szenario.

Es gibt eine Option zum Angeben von Geräteinformationen zusammen mit dem Bereitstellungsprofil. Dies ist nicht möglich, da neue Geräte über MDM bereitgestellt werden. Wir brauchen die gesamte Kontrolle über einen einzigen Punkt – unser MDM.

Sind Sie ein registrierter iOS-Entwickler?

Antworten (1)

Haben Sie darüber nachgedacht, die verwaltete App-Konfiguration zu verwenden, um Ihrer App zu signalisieren, dass sie auf einem verwalteten Gerät ausgeführt wird?

So könnten Sie Folgendes implementieren:

  1. Fügen Sie MAAS360 ein verwaltetes App-Konfigurationselement hinzu. Konfigurieren Sie darin einen bestimmten Schlüssel mit einem „geheimen“ Wert. Der Schlüssel und der Wert selbst spielen keine Rolle, solange sie einzigartig sind und nur Sie sie kennen.
  2. Implementieren Sie in Ihrer App eine Überprüfung auf den Konfigurationsschlüssel der verwalteten App in NSUserDefaults. Ziehen Sie den Schlüssel heraus und überprüfen Sie, ob es sich um den geheimen Wert handelt, den Sie in Schritt 1 konfiguriert haben. Wenn nicht, wirft die App einen Fehler / beendet / was auch immer.

Die Managed App Configuration wird nur dann an das Gerät gesendet und der App zur Verfügung gestellt, wenn sie als Managed App aus dem MAAS360 App Store installiert wurde. Wenn die App unverwaltet oder aus dem Apple AppStore installiert ist, erhält sie sie nicht. Wenn das MAAS360-MDM-Profil entfernt wird, kann die App damit entfernt werden (obwohl dies von Ihren MDM-Einstellungen abhängen kann).

Beachten Sie, dass dies nur als einigermaßen sichere Lösung angesehen werden sollte, da es auf Security-by-Obscurity beruht und es für einen entschlossenen Hacker ziemlich trivial wäre, Ihr IPA zurückzuentwickeln und das erwartete Schlüssel/Wert-Paar zu extrahieren.

Weitere Informationen zur Managed App Configuration finden Sie hier:

https://developer.apple.com/library/ios/samplecode/sc2279/Introduction/Intro.html