c't 9/2021
S. 152
Praxis
Certificate Pinning für iOS-Apps
Bild: Thomas Kuhlenbeck

Unter der Lupe

Apps für die Certificate-Pinning-Funktion von iOS 14 konfigurieren

Will beispielsweise eine Banking-App sicherstellen, dass sie tatsächlich mit dem Server der Bank spricht, dann sollte sie mehr tun, als die Gültigkeit des TLS-Zertfikats vom Betriebs­system prüfen zu lassen. In solchen Fällen kommt häufig Certificate Pinning zum Einsatz. Mit iOS 14 können Entwickler diesen Extraschutz einbauen, ohne groß den Code anzufassen – und da­von profitieren auch die Nutzer.

Von Andreas Kurtz

Ein TLS-Zertifikat, welches von einem vertrauenswürdigen Herausgeber signiert wurde, belegt nicht zwangsläufig, dass der kontaktierte Server auch derjenige ist, für den er sich ausgibt. Auch Angreifer können solche Zertifikate besitzen, etwa wenn es ihnen gelingt, ein Schlupfloch bei einer Zertifizierungsstelle (Certificate Authority, CA) zu finden, die von den Betriebssystemen als vertrauenswürdig eingestuft wird. So was ist bereits passiert. Auch Trojaner und Analyse-Tools klinken sich mit Zertifikaten in verschlüsselte Verbindungen ein. Will eine App ­sicherstellen, dass sie tatsächlich mit dem richtigen Server spricht, dann muss sie genauer hinschauen: Sie kann zum Beispiel überprüfen, ob ein bestimmtes Zertifikat zum Einsatz kommt oder es von einer bestimmten CA signiert wurde. Präsentiert ihr der Server dann ein anderes Zertifikat, kommt die Verbindung nicht zustande. Dieses Verfahren bezeichnet man als Certificate Pinning, weil bestimmte Zertifikate fest an die App gepinnt werden.

Nicht alle Apps nutzen Pinning, besonders bei kritischen Anwendungsfällen wie Online-Banking darf der Nutzer inzwischen erwarten, dass Pinning zum Einsatz kommt. Aber auch allen anderen Apps steht das Plus an Sicherheit gut zu Gesicht. Bislang mussten iOS-Entwickler das Pinning komplett selbst umsetzen – mit iOS 14 geht das nun deutlich einfacher.

Kommentieren