2017-10-24 2 views

Antwort

1

Mir ist keine direkt ähnliche Möglichkeit bekannt, aber wenn Ihre App auf einem nicht-jailbroken Gerät lebt, können Sie sie in der sicheren Enklave Ihres iOS-Geräts speichern und sicher aufbewahren nicht kompromittiert werden. Beachten Sie, dass Sie nur private 256-Bit-Elliptische-Kurven-Schlüssel speichern können. Sie können dann den öffentlichen Schlüssel vom geheimen Schlüssel z. von SecKeyCopyPublicKey.

TrailOfBits erstellt eine example project, wo Sie mehr Interaktion mit dem Secure Enclave API Nachschlag kann.

Die Secure Enclave sich durch eine sichere Boot-Kette geschützt ist seine separate Software, um sicherzustellen, wird von Apple geprüft und signiert. Siehe: https://www.apple.com/business/docs/iOS_Security_Guide.pdf

+1

Was Sie erklären, wie ein Schlüsselpaar innerhalb sicherer Enklave zu erzeugen, aber was ich will ist in der Lage sein, den Schlüssel, um sicherzustellen, wurde im Innern der sicheren Enklaven von der Serverseite erzeugt. Android löst das Signieren des öffentlichen Schlüssels mit einem Schlüssel vom Anbieter, der im sicheren Element gespeichert ist. – arnau

+0

Ja, ich weiß, es ist schade, dass Apple diese Möglichkeit nicht bietet. Zumindest bin ich mir dessen nicht bewusst und die Dokumente geben keinen Hinweis auf das Thema. Beachten Sie, dass Attestation in Android ein relativ junges Feature ist, da es API Level 24 (Android 7, alias Nougat) benötigt. –