• Deutsch Deutsch Deutsch de
  • English English Englisch en
Kontakt: +49 (89) 413 293 000
sematicon AG
  • News
  • Lösungen
    • Lösungsübersicht
    • se.MIS™ Industrial Remote Management and Audit
    • se.SAM™ Kryptomodule
      • se.SAM™ U Serie (USB)
      • se.SAM™ P-Serie (PCIe)
    • se.SAM™ Netzwerk HSM
      • se.SAM™ N200 (Rack)
      • se.SAM™ N200X (Industrie)
      • se.SAM™ Anwendungen
    • se.SAM™ Embedded
  • Dienstleistungen
  • Support
  • Unternehmen
  • Crypto Corner
  • Kontakt
  • Menü Menü

Schlüssel in Hardware: Verschlüsselung mit einem HSM

  • Teilen auf Facebook
  • Teilen auf Twitter
  • Teilen auf WhatsApp
  • Teilen auf LinkedIn
  • Per E-Mail teilen

Schlüssel in Hardware: Verschlüsselung mit einem HSM

Häufig müssen vertrauliche Informationen, z.B. personenbezogene Daten, Zugangsdaten, Finanzdaten oder Firmengeheimnissen, in Server- oder Cloud-Anwendungen verschlüsselt abgespeichert werden. So kann ein unberechtigter Zugriff durch Angreifer, aber auch Systemadministratoren oder Backup-Administratoren verhindert werden.

Viele Programmiersprachen bieten Funktionen oder Bibliotheken zur Datenverschlüsselung. Der Schlüssel wird meist im Dateisystem versteckt oder in Anwendungen kompiliert. Für professionelle Angreifer stellt das Extrahieren von Schlüsseln daher keine große Hürde dar.Für einen sicheren Einsatz von Kryptographie ist der Schutz der Schlüssel von entscheidender Bedeutung. Dies erfordert das Speichern aller benötigten Schlüssel in einem Medium, das Unbefugten die Extraktion unmöglich macht. Solche sicheren Schlüsselspeicher werden Hardware-Security-Modul oder HSM genannt.

Im folgenden Beispiel wird gezeigt, wie man in Python

  • in einem HSM einen symmetrischen AES Schlüssel (AES-256) generiert,
  • den generierten Schlüssel für eine HSM-basierte Datenverschlüsselung nutzt und
  • den verschlüsselten Inhalt mit Hilfe des HSMs wieder entschlüsselt.
HSM-Safe (Credentials, Personal Data, Business Secrets, Finance Data)

Als HSM nutzen wir die se.SAM™ N200 Crypto Appliance über die integrierte REST-API, bei der wir die Ergebnisse per JSON Objekt zurückerhalten. Für die ersten Schritte empfehlen wir die kostenfreie Version von Postman.

#!/usr/bin/python3
import requests
import json

url = 'http://192.168.178.49/n200/web/postv1'
# optional: url = 'https://192.168.178.49/n200/web/postv1'

headers = { 'Authorization': 'Basic YWRtaW46YWRtaW4=' } # admin / admin
core = "1"
pin = "pin123456"
## Generate Key
payload = {'command': 'gensymkey',
'core': core,
'keysize': '256',
'acl': 'FFFF',
'pin': pin}
response = requests.request("POST", url, headers=headers, data=payload)
if response.status_code != 200:
    print(response.status_code)
    print(response.text)
    exit()
jsonreturns = json.loads(response.text)
keyid = jsonreturns['result']
print("Generated keyid: %s" % keyid)
## HSM Encrypt Data
payload={'command':'encrypt',
'core': core,
'keyid' : keyid,
'pin': pin,
'mode': 'ECB',
'cleartext_data': 'This is the secret text that will be encrypted by the network HSM'}
response = requests.request("POST", url, headers=headers, data=payload)
if response.status_code != 200:
    print(response.status_code)
    print(response.text)
    exit()
jsonreturns = json.loads(response.text)
cipher_data = jsonreturns['result']
print("Cipher data: %s" % cipher_data)

# STORE cipher_data in file or database now!
#

# RELOAD cipher_data from file or database once required…
## HSM Decrypt Data
payload={'command': 'decrypt',
'core': core,
'keyid': keyid,
'pin': pin,
'mode': 'ECB',
'cipher_data': cipher_data}
response = requests.request("POST", url, headers=headers, data=payload)
if response.status_code != 200:
    print(response.status_code)
    print(response.text)
    exit()
jsonreturns = json.loads(response.text)
cleartext_data = jsonreturns['result']
print("Cleartext data: %s" % cleartext_data)

Die Vorteile des Beispiels liegen auf der Hand:

  1. Nur berechtige Anwendungen (siehe Authorisierungsheader, zusätzlich IP-Adressen Check oder MFA-Schutz) können das HSM benutzen.
  2. Anwendungen benötigen zusätzliche Daten für die Ver- und Entschlüsselung, die einmalig gespeichert werden müssen.
    • Schlüssel-ID/ keyid
    • Individuelle PIN passend für die Schlüssel-ID
  3. Die Daten werden mit dem richtigen Schlüssel am HSM verschlüsselt und zurückgeliefert.
  4. Der Schlüssel verlässt niemals das HSM.
  5. Die Schlüsselbenutzung am HSM wird protokolliert und überwacht.
  6. Der Security-Administrator kann den Zugriff auf Schlüssel jederzeit untersagen. Somit bleibt die Verschlüsselung – auch für externe Dienste oder Cloud-Anwendungen – unter vollständiger Kontrolle durch das Unternehmen.

Der Sourcecode ist von der sematicon AG erstellt und darf frei genutzt werden.

Sie haben Fragen zur Verschlüsselung mit einem HSM? Wir helfen gerne bei der Umsetzung!

Kontaktieren Sie uns!
  • Teilen auf Facebook
  • Teilen auf Twitter
  • Teilen auf WhatsApp
  • Teilen auf LinkedIn
  • Per E-Mail teilen

Weitere Beiträge

Secure Curves

600% weniger kryptographischen Overhead für X.509 Zertifikate

24. August 2022
Weiterlesen
https://www.sematicon.com/wp-content/uploads/2022/08/600percent.jpg 542 542 Michael Walser https://www.sematicon.com/wp-content/uploads/2019/03/sematicon.png Michael Walser2022-08-24 12:26:492022-08-29 20:48:46600% weniger kryptographischen Overhead für X.509 Zertifikate

IoT PKI – se.SAM™ PKI Mockup

17. August 2022
Weiterlesen
https://www.sematicon.com/wp-content/uploads/2022/08/se.SAM-PKI-2.png 542 542 Michael Walser https://www.sematicon.com/wp-content/uploads/2019/03/sematicon.png Michael Walser2022-08-17 17:46:532022-08-29 20:46:49IoT PKI – se.SAM™ PKI Mockup
Keys in Hardware

Migration von ECC Schlüssel auf ein HSM

12. August 2022
Weiterlesen
https://www.sematicon.com/wp-content/uploads/2022/08/Beitragsbild_Sematicon_Keys_in_Hardware.jpg 542 542 Michael Walser https://www.sematicon.com/wp-content/uploads/2019/03/sematicon.png Michael Walser2022-08-12 21:52:262022-08-29 09:05:55Migration von ECC Schlüssel auf ein HSM
Seite 1 von 10123›»

Neue Beiträge

  • Secure Curves600% weniger kryptographischen Overhead für X.509 Zertifikate24. August 2022 - 12:26
  • IoT PKI – se.SAM™ PKI Mockup17. August 2022 - 17:46
  • Keys in HardwareWie man bestehende RSA Schlüssel auf ein HSM importiert12. August 2022 - 8:02
  • se.SAM PKIX.509 Tutorial: 5 Wege, um Zertifikate für IT-Dienste, Benutzer, Endgeräte und IoT-Geräte auszustellen10. August 2022 - 10:50
  • Technisches Konzept der se.SAM PKI™ für IT, OT, Embedded und IoT30. Juli 2022 - 17:35

Kategorien

  • Crypto Corner
  • Events
  • Hardware-Sicherheits-Module (HSM)
  • News
  • Partnerschaften
  • Python-Codebeispiele
  • Unkategorisiert
  • Videos
  • Impressum
  • Datenschutzerklärung
  • AGB
  • © 2022
Nach oben scrollen

Diese Website verwendet Cookies. Durch die weitere Benutzung der Website erklären Sie sich damit einverstanden.

OKMehr

Cookie- und Datenschutzeinstellungen



Wie wir Cookies verwenden

Wir können Cookies anfordern, die auf Ihrem Gerät eingestellt werden. Wir verwenden Cookies, um uns mitzuteilen, wenn Sie unsere Websites besuchen, wie Sie mit uns interagieren, Ihre Nutzererfahrung verbessern und Ihre Beziehung zu unserer Website anpassen.

Klicken Sie auf die verschiedenen Kategorienüberschriften, um mehr zu erfahren. Sie können auch einige Ihrer Einstellungen ändern. Beachten Sie, dass das Blockieren einiger Arten von Cookies Auswirkungen auf Ihre Erfahrung auf unseren Websites und auf die Dienste haben kann, die wir anbieten können.

Notwendige Website Cookies

Diese Cookies sind unbedingt erforderlich, um Ihnen die auf unserer Webseite verfügbaren Dienste und Funktionen zur Verfügung zu stellen.

Da diese Cookies für die auf unserer Webseite verfügbaren Dienste und Funktionen unbedingt erforderlich sind, hat die Ablehnung Auswirkungen auf die Funktionsweise unserer Webseite. Sie können Cookies jederzeit blockieren oder löschen, indem Sie Ihre Browsereinstellungen ändern und das Blockieren aller Cookies auf dieser Webseite erzwingen. Sie werden jedoch immer aufgefordert, Cookies zu akzeptieren / abzulehnen, wenn Sie unsere Website erneut besuchen.

Wir respektieren es voll und ganz, wenn Sie Cookies ablehnen möchten. Um zu vermeiden, dass Sie immer wieder nach Cookies gefragt werden, erlauben Sie uns bitte, einen Cookie für Ihre Einstellungen zu speichern. Sie können sich jederzeit abmelden oder andere Cookies zulassen, um unsere Dienste vollumfänglich nutzen zu können. Wenn Sie Cookies ablehnen, werden alle gesetzten Cookies auf unserer Domain entfernt.

Wir stellen Ihnen eine Liste der von Ihrem Computer auf unserer Domain gespeicherten Cookies zur Verfügung. Aus Sicherheitsgründen können wie Ihnen keine Cookies anzeigen, die von anderen Domains gespeichert werden. Diese können Sie in den Sicherheitseinstellungen Ihres Browsers einsehen.

Google Analytics Cookies

Diese Cookies sammeln Informationen, die uns - teilweise zusammengefasst - dabei helfen zu verstehen, wie unsere Webseite genutzt wird und wie effektiv unsere Marketing-Maßnahmen sind. Auch können wir mit den Erkenntnissen aus diesen Cookies unsere Anwendungen anpassen, um Ihre Nutzererfahrung auf unserer Webseite zu verbessern.

Wenn Sie nicht wollen, dass wir Ihren Besuch auf unserer Seite verfolgen können Sie dies hier in Ihrem Browser blockieren:

Andere externe Dienste

Wir nutzen auch verschiedene externe Dienste wie Google Webfonts, Google Maps und externe Videoanbieter. Da diese Anbieter möglicherweise personenbezogene Daten von Ihnen speichern, können Sie diese hier deaktivieren. Bitte beachten Sie, dass eine Deaktivierung dieser Cookies die Funktionalität und das Aussehen unserer Webseite erheblich beeinträchtigen kann. Die Änderungen werden nach einem Neuladen der Seite wirksam.

Google Webfont Einstellungen:

Google Maps Einstellungen:

Google reCaptcha Einstellungen:

Vimeo und YouTube Einstellungen:

Andere Cookies

Die folgenden Cookies werden ebenfalls gebraucht - Sie können auswählen, ob Sie diesen zustimmen möchten:

Datenschutzrichtlinie

Sie können unsere Cookies und Datenschutzeinstellungen im Detail in unseren Datenschutzrichtlinie nachlesen.

Datenschutzerklärung
Einstellungen akzeptierenVerberge nur die Benachrichtigung

se.SAM™ N200 Testdrive starten

  • Dieses Feld dient zur Validierung und sollte nicht verändert werden.