Heute: secunet

In unserem Presseformat Blog geben wir unseren Sponsoren die Gelegenheit, ihre Arbeit im Open-Source-Bereich selbst vorzustellen.

Das strongSwan Projekt

Das Open-Source-Projekt strongSwan ist eine umfassende Implementation des unter der Internet Engineering Task Force (IETF) standardisierten Internet Key Exchange (IKE) Protokolls, welches für den Aufbau von durch IPsec gesicherten Virtual Private Networks (VPNs) verwendet wird. Bei der secunet Security Networks AG kommt die Software in vielen Produkten zum Einsatz, beispielsweise jenen der IT-Hochsicherheitslösung SINA.

Quanten-Computer: Eine Gefahr für kryptographische Protokolle

Ein Thema, welches die Entwickler von strongSwan genauso wie die secunet seit Jahren beschäftigt, ist die Gefahr, die von zukünftigen Quanten-Computern ausgeht. Seit langem sind Algorithmen bekannt, welche auf Quanten-Computern weit verbreitete kryptographische Verfahren brechen können.

Insbesondere die asymmetrischen Schlüsselaushandlungsverfahren wie Diffie-Hellman auf Basis von endlichen Körpern oder elliptischen Kurven sind durch Quanten-Computer bedroht. Denn wenn heute sowohl die Schlüsselaushandlung, als auch die verschlüsselten Daten aufgezeichnet und gespeichert werden, können diese mit zukünftigen Quanten-Computern entschlüsselt werden.

Post-Quanten-Kryptographie als Lösung

Aus diesem Grund wird momentan intensiv daran gearbeitet, den Schlüsselaustausch in Protokollen wie IKE und TLS Quanten-Computer-sicher zu machen. Dazu werden Verfahren auf Basis von Post-Quanten-Kryptographie (PQC) gesucht und standardisiert.

Im Gegensatz zu Diffie-Hellman sind diese Verfahren genau genommen Verschlüsselungsverfahren, die als Schlüsselkapselungsverfahren (Key Encapsulation Method, KEM) eingesetzt werden. Es wird damit nicht mittels ausgetauschter öffentlicher Faktoren und der zugehörigen privaten Werten ein gemeinsamer Schlüssel errechnet. Stattdessen erstellt der Verbindungsinitiator ein zufälliges Schlüsselpaar und sendet der Gegenstelle den öffentlichen Schlüssel. Diese wiederum verschlüsselt damit zufällig generiertes Schlüsselmaterial einer bestimmten Länge und sendet das Resultat zurück. Der Initiator kann diesen Chiffretext mit dem privaten Teil des Schlüsselpaares entschlüsseln. Die Kommunikationspartner verwenden anschliessend das ausgetauschte Schlüsselmaterial als gemeinsames Geheimnis für die weitere Schlüsselableitung (Verschlüsselungsschlüssel in beide Richtungen etc.). Einem Angreifer, der diesen Austausch aufzeichnet, sollte die Entschlüsselung des Schlüsselmaterials auch mit einem Quanten-Computer nicht möglich sein.

Post-Quanten-Kryptographie mit IKE

Das Problem das solche KEM Verfahren für IKE stellen, ist die Grösse der ausgetauschten öffentlichen Schlüssel und resultierenden Chiffretext. Da IKE auf UDP und IP aufsetzt und IP Pakete typischerweise höchstens 1500 Bytes gross sein können, müssen die Pakete fragmentiert werden. Dies wiederum ist problematisch, weil IP-Fragmente von Internet Service Providern oft verworfen werden. Bei IKE in der Version 2 (IKEv2) wurde zwar Fragmentierung als Erweiterung des Protokolls spezifiziert, jedoch nicht für die ersten zwei Pakete (IKE_SA_INIT genannt), die ausgetauscht werden. Und genau in diesen Paketen sollte eigentlich der Schlüsselaustausch erfolgen, damit alle weiteren Pakete verschlüsselt und fragmentiert gesendet werden können (IKE_AUTH ist der folgende Austausch).

Als Lösung für dieses Problem, wurden in den letzten Jahren innerhalb der IETF Erweiterungen für IKEv2 erarbeitet und seit 2019 in strongSwan implementiert. Diese erlauben es, zwischen dem IKE_SA_INIT und dem IKE_AUTH Austausch noch weitere Pakete einzuschieben (IKE_INTERMEDIATE genannt). Für diese Pakete kann die IKEv2-Fragmentierung verwendet werden und es können somit weitere und grössere Schlüssel ausgetauscht werden. Im IKE_SA_INIT Austausch wird ein klassisches DH- bzw. ECDH-Verfahren verwendet, um die Schlüssel für den nächsten Austausch und die Fragmentierung zu erarbeiten. Danach wird innerhalb von IKE_INTERMEDIATE Paketen mit einem KEM ein weiterer Schlüssel ausgetauscht, damit die daraus abgeleiteten Schlüssel in der Folge Quanten-Computern widerstehen können. Insgesamt können bis zu sieben zusätzliche Verfahren kombiniert werden. Es könnten beispielsweise zwei KEMs, die auf zwei unterschiedlichen mathematischen Methoden basieren, gemeinsam genutzt werden, für den Fall, dass sich später herausstellen sollte, dass gewisse PQC-Verfahren doch von einem Quanten-Computer geknackt werden können.

Am Standardisierungsprozess der beschriebenen IKEv2-Erweiterungen hat sich das strongSwan-Projekt aktiv beteiligt und verschiedene Iterationen davon in Interoperabilitäts-Workshops gegen anderen Implementationen getestet, um die korrekte Funktionsweise in der Praxis sicherzustellen.

Die Protokoll-Erweiterungen werden mit der nächsten Major-Version von strongSwan (6.0) veröffentlicht, können aber bereits jetzt in einer Vorabversion getestet werden.

strongSwan und secunet: Eine langjährige Partnerschaft

Bereits die erste Version von strongSwan, welche 2005 als Fork von FreeS/WAN veröffentlicht wurde, enthielt Code, den der heutige CTO von secunet, Dr. Kai Martius, geschrieben hatte. Seither gab es einen regen Austausch zwischen dem Kern-Team des Projekts und der secunet. Es wurden sowohl Erweiterungen im Auftrag der secunet entwickelt, als auch Code von Entwicklern der secunet eingepflegt. Als sich in den letzten Jahren abzeichnete, dass die Weiterführung des Projekts an der OST Ostschweizer Fachhochschule – ehemals HSR Hochschule für Technik Rapperswil (Schweiz) – nicht gesichert ist, insbesondere wegen Personalabgängen, bestärkte die secunet im Mai 2022 ihr Engagement für das Projekt, indem sie die geistigen Eigentumsrechte von der Hochschule übernahm, um sich fortan um die Pflege und Weiterentwicklung des Open-Source-Projekts zu kümmern.