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.

Lesezeit: 9 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen
Von

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.

Immer mehr Wissen. Das digitale Abo für IT und Technik.

  • Zugriff auf alle Inhalte von heise+
  • exklusive Tests, Ratgeber & Hintergründe: unabhängig, kritisch fundiert
  • c't, iX, Technology Review, Mac & i, Make, c't Fotografie direkt im Browser lesen
  • einmal anmelden – auf allen Geräten lesen - monatlich kündbar
  • erster Monat gratis, danach monatlich 9,95 €
  • Wöchentlicher Newsletter mit persönlichen Leseempfehlungen des Chefredakteurs
GRATIS-Monat beginnen Jetzt GRATIS-Monat beginnen Mehr Informationen zu heise+