Sicherheit von transObjects® und loggPRO®.net gegenüber Quantencomputing

NichtLinearKrystal
Erzeugung von verschränkten Photonen im nicht-linearen Krystal. Quelle: BBC.uk.com.

Es gibt durchaus nicht wenige Menschen, die hier und da mal etwas über “Quantencomputer”, “Quantenkryptographie” etc. gelesen oder gehört haben. Puristen unter ihnen (und das sind nicht selten unsere geschätzten Kunden und Anwender 😉) bzw. solche, die einfach nur “mitreden” wollen – etwa um unser FAQ- / Whitepaper “Inhouse vs. Cloud: die inhärente Datensicherheit auf loggPRO®.net” mit aller gebotenen Skepsis kritisch zu hinterfragen – ziehen zumeist nicht die richtigen Schlussfolgerungen aus deren Infos. Dabei reicht die Spannbreite von völlig überzogenen Erwartungen an die “Qubits & Co” (was zwangsläufig zu unberechtigten Sicherheitsbedenken führt – frei nach dem Motto “wir können unsere Daten gleich bei der NSA oder wem auch immer abliefern”), bis hin zu deren vollkommener Unterschätzung.

Gleichwohl ist letzteres eher selten. Denn im Laufe meiner Tätigkeit als Gastredner in diversen Blogs, AG’s, den Physik- oder Informatik-Stunden (auch der “AG Energetik”) begegnete ich mehr der ersteren Haltung. Dies mag zum Teil mit dem etwas mehr ausgeprägten Hang zur Phantasie in diesen Zirkeln erklärt werden, aber vielleicht (und hoffentlich) auch ein wenig mit der größeren Offenheit der zumeist jungen Menschen gegenüber den neuen Technologien. Auf jeden Fall sollten hier beide Seiten auf deren Kosten kommen – die, die jedwede Cloud als völlig entblößt und machtlos gegenüber dem Quantencomputer ansehen und auch diejenigen, die die ganzen “Qubits” etc. für nichts weiter als einen Werbegag der Computerindustrie halten… :mrgreen: Ziel des Beitrags ist es allerdings nicht, dem Leser eine Einführung ins Quantencomputing, Kryptographie bzw. Berechenbarkeitstheorie zu bieten. Vielmehr wird davon ausgegangen, dass sich der Fragesteller entsprechende Grundlagen zuvor angeeignet hat, da er sonst wohl kaum zu einer solchen Fragestellung gelangt wäre.

TransObjectsDLLs
“Was ist und was bringt die transObjects®’s 5-te Symphonie?” 2008. In den plattformbezogenen DLL’s ist das DSCE-Verfahren nativ durchimplementiert.

Doch bevor wir mit dem Frage/Antwort-Reigen beginnen, wollen wir est einmal an den FAQ-Artikel “Was ist und was bringt die transObjects®‘s 5-te Symphonie?” anlässlich des 1. Releases von transObjects® Generation 5 erinnern, insbesondere an das im Kapitel 3 erläuterte proprietäre Datastream Compression & Encryption (“DSCE” 💡) Verfahren (um dem Leser das lästige Rumklicken und Scrollen zu ersparen, führen wir den Inhalt des Kap.3 unter dem nachfolgenden Einschub ➡ noch einmal an).

In dem betreffenden Beitrag haben wir u.a. die Bedeutung von proprietären kryptographischen Verfahren herausgearbeitet – allen voran der hier besonderen Kombination aus Kompression und Verschlüsselung – aber auch die Komplexität von alledem thematisiert sowie relevante Lösungswege vorgestellt. Denn eines sei hierbei vorweg genommen: Ein “Krypto”-Verfahren wie unser DSCE, was sogar einem (destruktiv agierenden 👿) Quantencomputer das Leben dermaßen schwer macht, stellt eine gewaltige Herausforderung bei der Realisierung dar!

Seinerzeit, im Jahre 2008, war Quantencomputing kaum ein Thema. Aber damals wie heute war und ist zu konstatieren, dass Fragen nach Datensicherheit gegenüber ausgerechnet einem Quantencomputer ein Jammern auf einem verdammt hohen Niveau ist. Denn unser Fragesteller möge doch bitte überlegen, ob irgend jemand wirklich diesen exorbitanten Aufwand betreiben möchte, gar den sündhaft teuren Quantencomputer bemühen würde etc. um ausgerechnet “seine” Daten (in allen Ehren) zu entschlüsseln..? 😉

Transistor_Count_and_Moore's_Law_2011_svg
Moorsches Gesetz. Quelle (C) Wiki-Commons

Und dennoch: man kann doch mit Fug und Recht einwenden, dass sich gerade das mit den Kosten in absehbarer Zeit genauso fix ändern könnte, wie es eingedenk des Gesetzes vom Gordon Moore von Intel® erwarten dürfen und was wir vom klassischen Silizium-Computer her nur zu Genüge kennen. Insofern hat jeder User – und erst recht einer, der zu uns in die Cloud gehen möchte – ein Anrecht darauf zu erfahren, wie es um diese Belange bestellt ist.

Freilich gibt es auch umgekehrt ein Anrecht darauf, all das eben nicht zu erfahren 😉. Leser mit diesem absolut legitimen Anliegen bitten wir einfach den nachfolgenden “¿? / 💡“-Abschnitt zu überspringen…

Repaste: “Was ist und was bringt die transObjects®‘s 5-te Symphonie?”. Kapitel 3
.
Die beiden ersten technischen Charakterisierungen der 5. transObjects®-Generation „Was ist und was bringt die transObjects®’s 5-te Symphonie“ setzen wir vorliegend mit der Beleuchtung der immer wichtiger werdenden Sicherheitsaspekte fort. Ferner gehen wir (vgl. Kapitel 4) auf Fragen der praktischen Verfügbarkeit, Vielseitigkeit etc. ein und zwar vor dem Hintergrund der Einführung von „Web-Access“-Clients.
.
Fragestellungen rund um die Sicherheit von transObjects®, insbesondere in der inzwischen weit verbreiteten Application-Service-Providing Variante (ASP) via loggPRO.net, gehören zu den sich am meisten häufenden Fragen überhaupt, was angesichts der jüngsten Fälle von Datenmissbrauch einerseits sowie der deutschen Gesetzgebung in Puncto Vorratsdatenspeicherung anderseits nicht sonderlich verwundert. Dabei betreffen die Fragen gleichermassen den „ruhenden“ Datenbestand – also die Datenbankdateien, die theoretisch auch von Unbefugten gelesen werden könnten – als auch den „fliessenden“ Datenverkehr, d.h. die zwischen dem (transObjects®-) Client und dem Server ausgetauschten Daten. Auch diese könnten theoretisch „mitgeschnitten“ werden und somit in falsche Hände geraten.
.
Diese Problematik ist alles andere als neu; neu mag allenfalls der neuerliche Problemdruck sein und die rasant zunehmende Relevanz. Jedenfalls versuchen Software- und Datenbankhersteller seit langem insbesondere den Hostern (also Providern, denen Sie Ihre Daten anvertrauen, etwa im Zuge des ASP) ein probates Mittel in die Hand zu geben, damit diese einen wirkungsvollen Datenschutz gewährleisten können. Das SSL (Secure Socket Layer) gehört seit langem zu den bekanntesten Verschlüsselungstechniken, die sich – in dem per se unsicheren Internet – sowohl auf die ruhenden wie auch die fliessenden Daten anwenden lassen.
.
Die transObjects®-Technologie greift ebenfalls auf die SSL-Techniken der jeweiligen Datenbank-Hersteller zurück. So gehören beispielsweise diverse Verschlüsselungstechniken fest zum Repertoire von Caché dazu, dem in transObjects® immer noch bevorzugten Datenbankserver. Insbesondere die „ruhenden Daten“, also die Datenbank-Files, sind strikt verschlüsselt und somit wären sie als solche, in deren „nackter“ Form, vollkommen nutzlos für die „Langfinger“. Denn sollten diese „falschen Hände“ an die Datenbank-Files wirklich herankommen, würde die Aufgabe sie zu lesen das Knacken der Rosenholz-Akte trivial erscheinen lassen.
.
Was die Sicherheit des Client/Server-Datenstroms anbelangt, so wartet die transObjects® Gen5 mit einem Feature auf, das wie kein anderes das Prädikat „most advanced“ verdient. Die Rede ist von dem neusten eigens für die Bedürfnisse von transObjects® implementierten DSCE-Verfahren (Data Stream Compression & Encryption). Das transObjects®-DSCE bedeutet eine Abkehr von Standard-Verschlüsselungstechniken á la SSL zugunsten eines proprietären Verfahrens und zwar aus folgendem Grund: SSL-verschlüsselte Daten „vergrössern“ sich gegenüber deren Ursprung, also vor der Verschlüsselung, um – je nach Verfahren – bis zu 250% (!).
.
Während dieser „Aufblähungseffekt“ im Falle von ruhenden Daten von nur minderer Relevanz ist, sieht es bei den fliessenden Daten schon mal ganz anders aus. Gerade bei der Client/Server-Topologie von Kaliber transObjects®, wo die Client/Server-Performance und die Optimierung (insbesondere Minimierung !) des Datenflusses ein nicht wegzudenkendes technologisches Merkmal darstellt, wäre dessen Vergrösserung – und sei es in einem so hehren Namen wie dem der Datensicherheit – ein Widerspruch in sich.
.
Vor diesem Hintergrund kann man durchaus von einem Geniestreich der K&S-Entwickler sprechen. Denn durch den Einsatz eines hocheffizienten DSCE-Algorithmus gelang es dem finnischen Team der K&S den Datenstream zwischen dem Client und dem Datenbankserver um bis zu 50% zu verkleinern und das bei gleichzeitiger Verschlüsselung!
.
Es ist klar, das ein solches Verfahren einen enormen Rechenaufwand impliziert. Man muss sich hierbei nur vergegenwärtigen, dass jeder Datenaustausch mit dem Datenbankserver eine Verschlüsselung und Komprimierung vor dem Senden der Daten erfordert und gleichermassen eine Entschlüsselung und Dekomprimierung nach deren Empfang, bevor mit denen weitergearbeitet werden kann! Von daher bedurfte es einer höchst effizienten Implementierung, sowohl auf Seiten der Clients als auch auf der des Datenbank-Servers. Die Lösung der K&S-Entwickler konnte deshalb nur so aussehen, dass auf beiden Seiten der Client/Server-Barrikade maschineneffizienteste native Techniken zum Einsatz kommen mussten. Es gibt wohl kaum eine bessere Antwort auf die häufig gestellte Frage, wozu man in der Ära von managed-Code noch den native Code braucht…

Nun aber wollen wir auf unsere Fragesteller eingehen – zunächst auf die Skeptiker der “Q”-Technologie, also diejenigen, für die der Quantencomputer lediglich eine Abwandlung des klassischen Computers ist; möglicherweise etwas schneller aber ansonsten nichts Außergewöhnliches. Diese und ähnliche Fragestellungen – oder eher Suggestionen – kann man auf folgenden knappen Nenner bringen:

¿?: Wenn sich ein Qubit in einem Zustand befindet und die komplexen Koeffizienten a und b in deren quadrierten Beträgen die jeweiligen Wahrscheinlichkeiten für den Zustand bzw. kennzeichnen, dann nehme ich doch ganz einfach ein klassisches Bit und lasse es bei Bedarf (z.B. einer “Messung”) mit den korrespondierenden Wahrscheinlichkeiten zu Null oder Eins werden und rechne damit weiter.

💡 Leider kommt in solchen Vorstellungen nur eines zum Ausdruck, nämlich eine krasse Missinterpretation der Funktionsweise von Quantencomputern. Denn die Grundidee des Quantencomputing besteht ja gerade darin, die Quantenzustände möglichst lange aufrechtzuerhalten und mit denen zu rechnen, anstatt sie in Basiszustände kollabieren zu lassen. Im Gegenteil: Das Problem der Dekohärenz (also des unerwünschten Verlustes des Quantenzustandes) ist gerade etwas, was unbedingt zu verhindern ist und was gleichzeitig eine große technische Herausforderung darstellt. Denn nur “echte” ‘s kann man in Überlagerung bringen, Rechenwege interferieren lassen etc.

¿?: Und wenn dem so ist, wie in der Frage zuvor unterstellt, so kann doch ein Quantencomputer nie und nimmer schneller sein, als sein klassisches Pendant. Es ist insbesondere unmöglich, eine Aufgabe signifikant schneller (im Sinne des – Operators) zu lösen, als es ein klassischer Computer ohnehin könnte.

💡 Wenn “dem so wäre”, würde es sogar stimmen – tut es aber nicht. Tatsache ist nun einmal (auch wenn nur im quantentechnischen Sinne 😉), dass man in einem Qubit zwei klassische Bits an Information in eine Überlagerung (“Superposition”) miteinander bringen kann und dass man demzufolge in einem n-Qubit Register gar Bits in diesem Sinne “speichern” kann. Um dem Leser die wenig verständlichen -Operatoren in den allgemeinen Formeln zu ersparen, möge hier erst mal die Superposition von einem 3-Qubit Register genügen:

wobei auch hier die quadrierten Beträge der komplexen Koeffizienten auf 1 aufsummieren müssen:

Wenn aber der Speicherplatzbedarf von einem (sequentiellen und deterministischen) Algorithmus mit der Laufzeit logarithmisch ist und beträgt, so wissen wir aus dem Leitsatz des Parallelcomputing, dass sogar ein klassischer Parallelcomputer diese Aufgabe in logarithmischer Zeit erledigen können müsste. Da aber der Quantencomputer bekanntlich weit über dieses Maß hinaus parallel rechnet, sollte ein solcher “Boost” auch möglich sein. Und dass dem so ist, sei an dieser Stelle schon mal vorweg genommen (s. nachf. Grove-Algorithmus).

¿?: Stimmt es, dass Quantencomputer innerhalb kürzester Zeit all unsere Passwörter, Schlüssel etc. knacken können?

💡 Die klare Antwort lautet… Ja 👿 !

Quantencomputer können insbesondere dort punkten, wo der Quantenparallelismus ➡ am besten zur Geltung kommt, d.h. überall da, wo gewisse “inhärente Korrelationen” (nennen wir die mal so – Erklärung s. ff…) nicht vorliegen und wo folglich keine Möglichkeit besteht, die Aufgabe für den klassischen Computer hieran auszurichten und entsprechend zu simplifizieren… OK, ich sehe schon, dass ich mit diesem Satz so ziemlich jede Klarheit erschlagen habe…😳 – drum wird der Leser auf die Erklärungen im “ff…” verwiesen.

➡ Mit “Quantenparallelismus” meine ich weniger das, was David Deutsch (neben Richard Feynman einer der Vordenker des Quantencomputing) darunter verstand, nämlich die Realisierung, d.h. das Vollziehen der Rechenwege in Parallelwelten, sondern vielmehr das Rechnen mit den überlagerten Zuständen, also quasi “parallel”. Mit anderen Worten, hier geht es um das, was manchmal der Volksmund dem Quantencomputer nachsagt, nämlich dieser würde gleichzeitig mit Null und Eins eines Qubits rechnen. Letzteres ist zwar noch lange nicht richtig, geht aber wenigstens ungefähr in die richtige Richtung.
.

Als Beispiel einer solchen “inhärenten Korrelation” mag etwa im Falle einer Liste, in der wir z.B. einen bestimmten Eintrag ausfindig machen möchten, schlicht die lexikografische Order dienen. Denn die Laufzeit beim Durchstöbern einer nicht-sortierten Liste ist bekanntermaßen linear, beträgt also , während sie bei einer sortierten Liste gar logarithmisch ist und mit nur zu Buche schlägt.

Dieses Beispiel verdeutlicht in einer – wie ich meine – anschaulichen Form, wie effizient der klassische Computer entlang einer solchen “inhärenten Korrelation” arbeiten kann. Der Konjunktiv steht hier für die Sortierung, die ja erst einmal vorliegen muss, damit wir zu der sagenhaften logarithmischen Laufzeit gelangen können. Die Herstellung der Sortierung ist freilich nicht umsonst zu haben, sondern kostet bekanntermaßen , aber ist diese Arbeit anfänglich verrichtet, so kostet die Aufrechterhaltung der Sortierung etwa beim Hinzufügen neuer Elemente jeweils “nur” und somit kann der klassische Computer (nach der Initialsortierung) stets in logarithmischen Zugriffszeiten arbeiten.

Soweit so gut. Aber was machen wir, wenn in unseren Listenelementen keine Korrelation “innewohnt”, da es sich z.B. um schlichte Fotos handelt, die – wenn überhaupt – dann nur mit hohem Aufwand indizierbar wären? Nun, mit dem klassischen Computer kommen wir um lineare Laufzeiten nicht umhin; da ist einfach nichts zu machen. Wenn wir aber an den zuvor erwähnten o.e. Quantenparallelismus denken, so müsste es sich doch irgendwie beschleunigen lassen, indem wir die Listenelemente in eine Superpositionen bringen und mit viel weniger Zugriffen unser gesuchtes Element ausfindig machen. In der Tat ermöglicht ein solcher Ansatz, der in dem sog. Grove-Algorithmus seine formelle Beschreibung fand, eine Laufzeit von . Dies ist zwar langsamer als logarithmisch, aber immer noch schneller als die lineare Suche in unsortierten Listen, etwa Facebook-Fotos.

Da wird der Q-Skeptiker sicherlich sagen, na ja, vs. – und selbst das nur unter bestimmten Voraussetzungen – das ist nun wahrlich nicht der große Coup. Vielleicht… allerdings kommt es bei einem anderen Problem, nämlich dem der Primfaktorzerlegung, so richtig knüppeldick. Und hier sind wir immerhin bei der Frage der Verschlüsselung und somit beim eigentlichen Thema des vorliegenden FAQ-Artikels. Da die RSA-Verschlüsselung auf der nachgewiesenermaßen exponentiellen Komplexität eben der Primfaktorzerlegung ➡ beruht:

– der beste bislang bekannte Algorithmus für Primfaktorzerlegung läuft exponentiell

➡ Grundkenntnisse des RSA-Verfahrens vor dem Hintergrund der Primfaktorzerlegung müssen wir beim Leser voraussetzen.

stellt sich doch die Frage, ob der Quantencomputer diese Aufgabe signifikant schneller erledigen kann. Denn sollte er das können, wäre das meist verbreitete Krypto-Verfahren obsolet und die zweite Gruppe der Fragesteller, die das Quantencomputing wiederum notorisch überschätzt, restlos bedient. Also, kann der Quantenparallelismus bei der Primfaktorzerlegung so richtig durchschlagen?

Und ob er das kann! Der sog. Shor-Algorithmus gehört zwar zu den meist komplizierten Algorithmen überhaupt – so dass der Leser gut beraten ist, sich das Studium dieser Materie für später aufzuheben :mrgreen: – aber die Laufzeit hat es in sich:

😯 !!!

Der Shor-Algorithmus ist als Quanten-Algorithmus zwar probabilistisch, aber die Prüfung der (probabilistischen) Ergebnisse ist trivial, so dass dessen mehrfache Anwendung sicherlich zu Erfolg führt. Und dieser Erfolg ist bei einer 1024-Bit-Verschlüsselung bereits in wenigen Sekunden da, während der klassische Computer Jahrtausende für diese Aufgabe benötigt 😯 !!!

Während für die “Q-Skeptiker” gerade eine ganze Welt zusammenbrechen dürfte, sehen sich anderen sehr wahrscheinlich in deren allerschlimmsten Befürchtungen bestätigt. Gerade die letzteren könnten die vermeintliche Wehrlosigkeit einer RSA-abgesicherten Cloud gegenüber dem Quantencomputer auch auf transObjects® und loggPRO®.net ausdehnen und dem werden wir – verständlicherweise – entgegentreten. Denn erstens verwenden wir kein RSA z.B. auf der Client/Server-Pipe und zweitens gibt es sehr wohl Verfahren, bei denen der Quantenparallelismus nicht viel ausrichten kann. Die von den K&S-Entwicklern implementierten Verfahren hier genau zu beschreiben, würde wohl den Sinn der Sache verfehlen 😉. Aber als Beispiel eines solchen schwer “parallelisierbaren” Verfahrens mag dasjenige vom nachfolgenden Shanon-Paper dienen. Dabei lassen wir es auch bewenden.


↑↑↑↑