Trends, Gesetze, Verschlüsselung

Es gibt aktuell drei große Trends in der Softwareindustrie. Der erste große Trend ist IOT. Das Internet der Dinge vernetzt alle Geräte und Maschinen, die Daten an Server oder sich gegenseitig senden. Das zweite große Trendthema ist die Blockchain. Ein Netzwerk, in dem kein Teilnehmer einer zentralen Organisation vertrauen muss, sondern sich auf das Netzwerk verlassen kann. Der dritte Megatrend ist die künstliche Intelligenz. Maschinen sind immer mehr in der Lage, Dinge zu erkennen, Korrelationen zu finden und Entscheidungen zu treffen.

Alle diese Trends haben eine Sache gemeinsam: Daten. Ohne Daten spielen IOT, Blockchain und KI keine Rolle. Manche behaupten sogar, dass Daten der wichtigste Rohstoff unserer Zeit ist. Jedenfalls sind Daten die Grundlage der Wortschöpfung unseres Jahrhunderts. Daten waren schon immer wichtig, aber zwei Dinge sind relativ neu. Zum einen wächst der Datenbestand weiterhin exponentiell. Zum anderen werden die Daten, die bis vor kurzem primär on-premise gespeichert wurden, in die Cloud migriert. Unternehmensdaten werden ohne großen Aufwand erfolgreich in der Cloud persistiert. Das Problem dabei ist, dass das Unternehmen dann nicht mehr alleiniger Besitzer der Daten ist. Die Daten werden einem Cloud Service Provider treuhänderisch anvertraut, der nun auch auf diese zugreifen kann.

Um die Daten in der Cloud zu schützen, hat die Regierung besondere Gesetze erlassen. Das wohl bekannteste Gesetz ist die Datenschutzgrundverordnung (DSGVO) und damit das Bundesdatenschutzgesetz (neu). Darüber wurde letztes Jahr viel berichtet. Dieses Gesetz reguliert, wie mit personenbezogene Daten umzugehen ist. Das betrifft alle Unternehmen, die europäische Kunden haben.

Es gibt allerdings auch Branchen, die mit Daten noch vorsichtiger umgehen müssen. Damit meine ich Berufsgeheimnisträger. Darunter fallen zum Beispiel Ärzte und Rechtsanwälte. Daten, die Rechtsanwälten anvertraut wurden und die von Rechtsanwälten generiert werden, müssen besonders gut geschützt werden. Dazu gibt es das “Gesetz zur Neuregelung des Schutzes von Geheimnissen bei der Mitwirkung Dritter an der Berufsausübung schweigepflichtiger Personen“. Seit November 2017 gilt dieses Gesetz und seitdem dürfen Anwälte überhaupt erst Cloud-Dienstleistungen in Anspruch nehmen. Eine Vorgabe aus diesem Gesetz ist zum Beispiel, dass Daten nur dann im Ausland verarbeitet oder gespeichert werden dürfen, wenn in diesem Land der Schutz des Geheimnisses vergleichbar ist mit dem Schutz des Geheimnisses in Deutschland.

Es gibt noch ein Gesetz, das in diesem Zusammenhang sehr wichtig ist: Der C.L.O.U.D. Act. Der C.L.O.U.D. Act ist ein Gesetz der Amerikaner. Er erlaubt es der amerikanischen Regierung jeden amerikanischen Cloud Service Provider dazu zu verpflichten, Kundendaten herauszugeben, egal wo auf der Welt diese gespeichert sind. Das hat natürlich eine dramatische Konsequenz für Daten, die besonders geschützt werden müssen. Rechtsanwälte können ihre Daten nicht einfach in ein beliebiges Rechenzentrum eines amerikanischen Betreibers in Frankfurt laden, weil die amerikanische Regierung den amerikanischen Konzern, dazu verpflichten kann, die Daten herauszugeben, obwohl die Daten in Deutschland gespeichert sind. Das ist ein echtes Problem und würde Lösungen auf Cloud-Angebote deutscher Konzerne reduzieren.

Es gibt noch eine andere Lösung: Verschlüsselung. Daten können verschlüsselt werden, bevor sie in die Cloud hochgeladen werden. Solange der Schlüssel nicht auch in der Cloud liegt, können die Daten gefahrlos weitergegeben werden. Jeder Empfänger, der den geheimen Schlüssel nicht hat, kann sie nicht lesen. Jetzt müssen nur noch die Schlüssel gut geschützt werden. Bei einer echten Ende-Zu-Ende Verschlüsselung, wie sie beispielsweise von WhatsApp oder Skype genutzt wird, kann ein Datensatz nur genau von der Person entschlüsselt werden, an die der Datensatz adressiert ist. Keine andere Person, Admin oder Regierung kann die Daten entschlüsseln, weil sie die nötigen Schlüssel nicht haben. In den letzten Jahren sind die dafür nötigen kryptographischen Routinen sogar nativ in unsere Browser eingebaut worden. Das W3C hat mit der Web Crypto API jede Web-App dazu befähigt, Daten zu verschlüsseln und wieder zu entschlüsseln. Es ist nicht mehr nötig, dazu eine eigene Software zu installieren.

Und dank dieser Verschlüsselung können wir unseren Kunden einen Sicherheitsstandard implementieren, der erstens die Gesetze berücksichtigt und zweitens Daten mit maximaler kryptographischer Sicherheit schützt.

Demo

Hier ist ein Beispiel für eine verschlüsselte Nachricht:

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

Diese Nachricht ist mit den Verfahren Salsa20 (stream cipher developed by Daniel J. Bernstein) und Poly1305 (cryptographic message authentication code (MAC) created by Daniel J. Bernstein.) verschlüsselt worden. Diese Verfahren sind nicht Teil der Web Crypto API sondern können über die NACL-Bibliothek eingesetzt werden. Um die obige Nachricht zu entschlüsseln, kann die Beispielseite https://tweetnacl.js.org/#/secretbox verwendet werden. Dort dann der Cipher-Text in das Box-Feld kopiert werden. Gleichzeitig müssen auch noch folgende Nonce und folgender Schlüssel kopiert werden. Der Schlüssel müsste natürlich geheim gehalten werden.

Nonce
BjPvjG2ibzqnTayXhNCtxxo5J7t72Qfi

Schlüssel
8qsjT9mNMwXUEpkthvPP3JZPhwEuwg077sJV+IikwSo=