Sichere Swift-Apps mit CryptoKit entwickeln

Mit dem neuen Kryptographie-Framework hat Apple endlich einen Nachfolger für CommonCrypto veröffentlicht. Wir zeigen CryptoKit im Praxiseinsatz unter Swift.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Sichere Swift-Apps mit CryptoKit entwickeln
Lesezeit: 19 Min.
Inhaltsverzeichnis

Nur mit Verschlüsselung kann man Daten vor Unbefugten schützen. Für die Sicherheit auf dem Endgerät, also iPhone, iPad, Mac, Watch und Apple TV, bietet Apple integrierte und einfach verwendbare kryptographische Werkzeuge wie NSFileProtection, die Keychain und FileVault.

Lange Zeit war CommonCrypto die einzige Möglichkeit für Entwickler, ohne Dritt-Frameworks auf Apple-Systemen Daten zu verschlüsseln. Im Gegensatz zu den meist sehr angenehm zu verwendenden Cocoa- oder CocoaTouch-APIs war CommonCrypto nur etwas für Hartgesottene mit einem Faible für C-APIs und gesundem Halbwissen in Kryptographie.

Glücklicherweise gibt es von Apple seit macOS Catalina (10.15) und iOS 13 das neue CryptoKit. Dabei handelt es sich um ein reines und leicht zu bedienendes Swift-Framework. An Hash-Algorithmen bietet es zeitgemäß SHA256, SHA384 und SHA512. Zur Verschlüsselung mit symmetrischen Algorithmen enthält es Blockchiffre AES und als Stromchiffre Chacha20Poly1305. Die symmetrischen Operationen unterstützen HMAC zum Sicherstellen der Integrität. Neben den symmetrischen Operationen offeriert das Framework obendrein Public-Key-Kryptographie mit Curve25519, einem auf elliptischen Kurven basierenden Algorithmus.