Techblog

Key-Management-Lösungen im Überblick

Von Clemens Wickboldt

13. Februar 2020

Die Datensicherheit ist, insbesondere bei personenbezogenen Daten, von entscheidender Bedeutung, um das Vertrauen der Nutzer zu gewinnen und zu erhalten. Die Bemühungen um eine hohe Datensicherheit sind in der Legislative als Datenschutzgrundverordnung (DSGVO) verankert, die seit Mai 2018 in Kraft ist. Seitdem sichert die Einhaltung der DSGVO die Grundlage für den Schutz personenbezogener Daten.

Verschlüsselung und digitale Signaturen zur Sicherstellung der Authentizität der Daten tragen zum Erreichen eines hohen Niveaus an Datensicherheit bei. bei verteilten Systemen, z.B. Blockchain-Anwendungen, spielen kryptografische Verfahren eine besondere Rolle. Durch digitale Signaturen auf Basis von Public-Key-Kryptographie kann ein Benutzer Transaktionen unterzeichnen. Die ID lässt sich gemeinsam mit den entsprechenden Schlüsseln in Software oder Hardware Wallets ablegen. Damit wird die Grundlage für eine Kryptoverwahrung geschaffen.

Kryptoverwahrung

Mit dem Jahreswechsel 2020 ist das sogenannte Gesetz zur Umsetzung der Änderungsrichtlinie zur Vierten EU-Geldwäscherichtlinie in Kraft, es definiert das Kryptoverwahrgeschäft als Finanzdienstleistung im Sinne des Kreditwesengesetzes. Darunter fallen unter anderem die Verwahrung kryptografischer Schlüssel im Rahmen des Umgangs mit Kryptowerten [1]. Betroffene Unternehmen benötigen demnach eine Zulassung durch die BaFin. Für bereits bestehende Angebote soll es eine Übergangslösung geben [2]. Ursprünglich war angedacht, dass diese Zulassung nur an Unternehmen erteilt werden soll, die keine anderen erlaubnispflichtigen Tätigkeiten erbringen, zum Beispiel Banken [3]. Dazu ist es nicht gekommen, so dass es Banken nun gestattet ist neben ihrem Kerngeschäft eine Kryptoverwahrung anzubieten. Damit nimmt nun eine weitere Branche am Markt teil und muss sich Gedanken darüber machen wie sie das kryptografische Material sichern muss.

Key-Management-Lösungen im Überblick

Die Verwaltung der für die kryptografischen Verfahren notwendigen Schlüssel ist abhängig von Design-Entscheidungen für das Gesamtsystem. Zur Verwaltung der Schlüssel lässt sich auf verschiedene Key Management Solutions (KMS) zurückgreifen. Die Lösungen unterscheiden sich zunächst durch die verwendete Speicherform in wahlweise Dateisystem, Memory, Hardware Security Modul (HSM) oder einer Datenbank [4], wobei das Dateisystem und das HSM die am häufigsten verwendeten Speicherformen sind. Des Weiteren lassen sich die KMS in zwei Gruppen unterscheiden:

  • Non-Custodian: die Schlüssel liegen ausschließlich beim Nutzer selbst
  • Custodian: die Schüssel werden von einer zentralen Instanz verwahrt

Dieser Artikel gibt zuerst einen Einblick in die Funktionsweise und Verwendung von HSM-Lösungen und grenzt anschließend Non-Custodian- und Custodian-KMS voneinander ab.

 

Hardware-Security-Modul

Ein HSM „(..) ist eine spezialisierte Hardware, die es ermöglicht, kryptographische Schlüssel in besonders sicherer Form aufzubewahren und performant anzuwenden [5]". Zu unterscheiden sind:

  • Dedizierte HSMs (z. B. NFC-Token, USB-Token, Smartcards)
  • HSM in einzelnen Geräten (z. B. Smartphones)
  • HSM im Rechenzentrum

Ein Beispiel für ein dediziertes HSM ist der YubiHSM [6] auf einem USB-Stick. Über ein SDK stehen kryptografische Operationen wie etwa das Signieren zur Verfügung. Auf dem Smartphone werden vereinzelt dedizierte HSMs vrbaut, die zur Lagerung der privaten Schlüssel und zur Bereitstellung von kryptografischen Operationen wie der Verschlüsselung oder der digitalen Signatur dienen.

HSMs in Smartphones

Seit dem iPhone 5S ist in Apple-Smartphones ein dediziertes HSM verbaut und wird etwa zur Sicherung von TouchID oder FaceID genutzt. Durch das Apple CryptoKit [7] lässt sich das HSM-Modul im iPhone ansprechen. Es bietet folgende kryptographische Operationen:

  • Berechnen und Vergleichen von kryptographischen Digests
  • Public-Key-Kryptographie zur Erstellung und Prüfung von digitalen Signaturen und zum Schlüsselaustausch

Neben der Arbeit mit im Speicher gespeicherten Schlüsseln können auch private Schlüssel verwendet werden, die in der Secure Enclave gespeichert und von ihr verwaltet werden. Die Secure Enclave ist ein hardwarebasierter Schlüsselmanager, der vom Rest des Systems isoliert ist. Auf den Schlüssel wird nicht direkt zugegriffen. Stattdessen werden Operationen gegen die Secure Enclave zur Schlüsselgenerierung, Verschlüsselung von Daten und kryptographischen Signaturen durchgeführt.

Bei Android-Smartphones ist die Verwendung von HSMs nicht einheitlich geregelt. Jeder Hersteller baut auf eigene Lösungen für die Speicherung der privaten Schlüssel und die Bibliotheken für den Zugriff auf die Schlüssel. Nicht alle Hersteller arbeiten mit HSMs. Im Zweifel werden private Schlüssel auf dem allgemeinen Dateisystem abgelegt. Anders etwa bei Samsung (z.B. Galaxy S10) und Google (z.B. Pixel 3) welche mit HSMs arbeiten. Das Samsung Galaxy S10 bietet mit einem eigenen SDK [8] eine dem Apple Cryptokit ähnliche Lösung, setzt jedoch teilweise auf andere kryptografische Verfahren. Anders als das Apple Cryptokit ist die Samsung-Lösung Blockchain-spezifisch, so dass diese als Wallet für Tokens verwendet werden kann.

HSMs in Rechenzentren dienen zur Verwahrung privater Schlüssel als Grundlage für Key-Management-as-a-Service. Diese Systeme zählen zu den Custodian-Lösungen.

Custodian

Über Custodian-Lösungen werden die Lagerung der Schlüssel und kryptografische Operationen als Service angeboten.Dabei werden die Schlüssel selbst auf einem HSM gesichert. Eine Schnittstelle ermöglicht kryptografische Operationen, der Schlüssel verlässt dabei zu keiner Zeit das HSM. Sowohl Ledger [9] als auch Amazon [10] und Microsoft [11] bieten solche Dienste an. Der Vorteil von KMS-as-a-Service liegt in automatisierten Backup- und Recovery-Verfahren. Der Nutzer kann zwar im Zweifel den Zugang zum KMS verlieren, der Schlüssel bleibt jedoch bestehen. Des Weiteren können Schlüssel in Custodian-Lösungen automatisch rotieren, ohne dass der Nutzer den Prozess manuell steuern muss.

Non-Custodian

Software Wallets nutzen die Infrastruktur generischer Hardware. Der wesentliche Unterschied zu dedizierten Hardware Lösung liegt in der Tatsache, dass die Geräte mit Software Wallets potenziell mit dem Internet verbunden werden können. Der eigene private Schlüssel wird wiederum verschlüsselt auf dem Dateisystem abgelegt. Bei Initialisierung der Software Wallet legt der Nutzer ein Kennwort und eine geheime Backup-Phrase fest. Die Entschlüsselung erfolgt durch die Eingabe des vorher festgelegten Kennworts. Bei Verlust des Kennworts lässt sich die Verschlüsselung durch Eingabe der geheimen Phrase zurücksetzen. Verbreitete Lösungen sind das Browser-Plugin Metamask oder der Browser Brave.

Hardware Wallets sind anders als Software Wallets airgapped, das heißt sie lassen sich nicht mit dem Internet verbinden. Mit Ledger [12] und Trezor [13] sind zwei verbreitete Hardware Wallets auf dem Markt. Im Wesentlichen bieten beide Lösungen die Möglichkeit private Schlüssel auf dem Gerät abzulegen, mit einem Kennwort zu schützen und mit einer geheimen Seed-Phrase wiederherzustellen. Auf Basis des abgelegten Schlüssels können digitale Signaturen generiert werden was die Verwaltung von Token ermöglicht.

Die Sicherheit der jeweiligen Wallet lässt sich durch den Einsatz von Signaturen mehrerer Parteien weiter erhöhen [14]. Die Einigung mehrerer Parteien zu einer Signatur kann etwa mit Smart Contracts erreicht werden. Transaktionen können nur ausgeführt werden, wenn sie von einer vordefinierten Anzahl von Wallets bestätigt werden. Dadurch wird ein Single Point of Failure vermieden der bei einer einzigen Wallet im Fall des Verlusts oder der Kompromittierung des privaten Schlüssels zum Verlust aller vom Konto kontrollierten Werte führt.

Die Zielumgebung ist entscheidend

Die Wahl des KMS hängt von den Eigenschaften der Zielumgebung ab. Haben Sicherheit und Privatsphäre der Daten eine höhere Priorität als Nutzerfreundlichkeit oder Recovery-Möglichkeiten, kann auf Hardware Wallets zurückgegriffen werden. Software Wallets eignen sich vor allem für Proof of Concepts da sie über eine Browser Integration schnell und einfach nutzbar sind. Größere Systeme werde im Zweifel auf Custodian Lösungen zurückgreifen, da sie komfortable Möglichkeiten zur Verwaltung der Schlüssel bieten.


Quellen

[1] Bundesanzeiger Verlag, Bundesgesetzblatt: Gesetz zur Umsetzung der Änderungsrichtlinie zur Vierten EU-Geldwäscherichtlinie, vol. 2019, no. 50. 2019, pp. 2602–2632.

[2] Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin), “Kryptoverwahrungsgeschäft,” 2020. [Online]. Available: https://www.bafin.de/DE/Aufsicht/BankenFinanzdienstleister/Zulassung/Kryptoverwahrgeschaeft/kryptoverwahrgeschaeft_node.html. [Accessed: 03-Feb-2020].

[3] Finanzausschuss des Deutschen Bundestags, “Beschlussempfehlung: Masterplan gegen Geldwäsche – Finanzkriminalität bekämpfenDeutscher Bundestag,” no. Drucksache 19/15163, 2019.

[4] Hyperledger 2019, “Docs » Developing Applications » Application design elements » Wallet,” 2019. [Online]. Available: https://hyperledger-fabric.readthedocs.io/en/release-1.4/developapps/wallet.html. [Accessed: 03-Feb-2020].

[5] Bundesamt für Sicherheit in der Informationstechnik (BSI), “Glossar der Cyber-Sicherheit.” [Online]. Available: https://www.bsi.bund.de/DE/Themen/Cyber-Sicherheit/Empfehlungen/cyberglossar/Functions/glossar.html?cms_lv2=9817286. [Accessed: 03-Feb-2020].

[6] Yubico, “YubiHSM.” [Online]. Available: https://www.yubico.com/products/hardware-security-module/. [Accessed: 03-Feb-2020].

[7] Apple, “Apple CryptoKit Documentation.” [Online]. Available: https://developer.apple.com/documentation/cryptokit/. [Accessed: 03-Feb-2020].

[8] Samsung, “Samsung Blockchain Platform SDK.” [Online]. Available: https://developer.samsung.com/blockchain/platform/overview.html. [Accessed: 03-Feb-2020].

[9] Ledger SAS, “Ledger Vault.” [Online]. Available: https://www.ledger.com/vault/. [Accessed: 03-Feb-2020].

[10] Amazon Web Services, “AWS Key Management Service Cryptographic Details,” 2018.

[11] Microsoft Azure, “Azure Key Vault basic concepts.” [Online]. Available: https://docs.microsoft.com/en-us/azure/key-vault/basic-concepts. [Accessed: 03-Feb-2020].

[12] Ledger SAS, “Ledger Homepage.” [Online]. Available: https://www.ledger.com. [Accessed: 03-Feb-2020].

[13] SatoshiLabs, “Trezor Homepage.” [Online]. Available: https://trezor.io/. [Accessed: 03-Feb-2020].

[14] Gnosis, “Gnosis Safe Documentation,” Jan 23, 2020, 2020.

Neuen Kommentar schreiben

Public Comment form

  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd><p><h1><h2><h3>

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.

ME Landing Page Question