Geheimschrift des öffentlichen Schlüssels

Geheimschrift des öffentlichen Schlüssels bezieht sich auf ein kryptografisches System, das zwei getrennte Schlüssel, ein verlangt sich schließen zu lassen oder encrypt der plaintext, und ein, um den cyphertext aufzuschließen oder zu entschlüsseln. Kein Schlüssel wird beide Funktionen tun. Einer dieser Schlüssel wird veröffentlicht, oder Publikum und der andere werden privat behalten. Wenn der Schlüssel des Schlosses/Verschlüsselung derjenige veröffentlicht dann ist, ermöglicht das System private Kommunikation vom Publikum dem Eigentümer des aufschließenden Schlüssels. Wenn der aufschließen/Dekodierung Schlüssel derjenige veröffentlicht dann die Systemaufschläge als eine Unterschrift verifier vom Eigentümer des privaten Schlüssels geschlossener Dokumente ist. Obwohl in diesem letzten Fall, seitdem encrypting die komplette Nachricht rechenbetont relativ teuer ist, in der Praxis gerade ist ein Kuddelmuddel der Nachricht encrypted zu Unterschrift-Überprüfungszwecken.

Weil diese kryptografische Annäherung asymmetrische Schlüsselalgorithmen wie RSA verwendet, ist sein allgemeinerer Name "asymmetrische Schlüsselgeheimschrift". Einige dieser Algorithmen haben den öffentlichen Schlüssel / das private Schlüsseleigentum---d. h. kein Schlüssel ist von Kenntnissen des anderen---ableitbar, aber nicht alle asymmetrischen Schlüsselalgorithmen haben dieses Eigentum. Diejenigen mit diesem Eigentum sind besonders nützlich und sind weit aufmarschiert worden, und sind die Quelle des allgemein verwendeten Namens.

Obwohl ohne Beziehung, werden die zwei Teile des Schlüsselpaares mathematisch verbunden. Der öffentliche Schlüssel wird verwendet, um eine Nachricht in eine unlesbare Form, decryptable nur durch das Verwenden (verschieden, aber das Zusammenbringen) privater Schlüssel umzugestalten. Indem er den öffentlichen Schlüssel veröffentlicht, ermächtigt der Schlüsselerzeuger jeden, der kommt, eine Kopie des öffentlichen Schlüssels, Nachrichten zu erzeugen, kann nur s/he lesen — weil nur der Schlüsselerzeuger eine Kopie des privaten Schlüssels (erforderlich für die Dekodierung) hat. Wenn jemand eine sichere Nachricht dem Schöpfer jener Schlüssel, dem Absender encrypts es senden will (d. h., gestaltet sie in eine unlesbare Form um) das Verwenden des öffentlichen Schlüssels des beabsichtigten Empfängers; um die Nachricht zu entschlüsseln, verwendet der Empfänger den privaten Schlüssel. Keiner anderer, einschließlich des Absenders, kann so tun.

So, verschieden von symmetrischen Schlüsselalgorithmen, verlangt ein öffentlicher Schlüsselalgorithmus keinen sicheren anfänglichen Austausch von einem, oder mehr, heimliche Schlüssel zwischen dem Absender und Empfänger. Diese Algorithmen Arbeit auf solche Art und Weise, dass, während es für den beabsichtigten Empfänger leicht ist, die öffentlichen und privaten Schlüssel zu erzeugen und die Nachricht mit dem privaten Schlüssel zu entschlüsseln, und während es für den Absender zu encrypt die Nachricht mit dem öffentlichen Schlüssel leicht ist, es für jeden äußerst schwierig ist, den privaten Schlüssel auszurechnen, haben auf ihren Kenntnissen des öffentlichen Schlüssels gestützt. Sie basieren auf mathematischen Beziehungen (die bemerkenswertesten, die die ganze Zahl factorization und getrennten Logarithmus-Probleme sind), die keine effiziente Lösung haben.

Der Gebrauch dieser Algorithmen erlaubt auch Echtheit einer Nachricht, durch das Schaffen einer Digitalunterschrift einer Nachricht mit dem privaten Schlüssel überprüft zu werden, der mit dem öffentlichen Schlüssel nachgeprüft werden kann.

Öffentliche Schlüsselgeheimschrift ist eine grundsätzliche und weit verwendete Technologie. Es ist eine Annäherung, die durch viele kryptografische Algorithmen und cryptosystems verwendet ist. Es unterstützt solche Internetstandards als Transport Layer Security (TLS) (Nachfolger von SSL), PGP und GPG.

Wie es arbeitet

Die unterscheidende in der öffentlichen Schlüsselgeheimschrift verwendete Technik ist der Gebrauch von asymmetrischen Schlüsselalgorithmen, wo der Schlüssel, der an encrypt verwendet ist, eine Nachricht ist nicht dasselbe als der Schlüssel, gepflegt hat, es zu entschlüsseln. Jeder Benutzer hat ein Paar von kryptografischen Schlüsseln — ein öffentlicher Verschlüsselungsschlüssel und ein privater Dekodierungsschlüssel. Der öffentlich verfügbare Encrypting-Schlüssel wird weit verteilt, während der private Entschlüsseln-Schlüssel nur dem Empfänger bekannt ist. Nachrichten sind encrypted mit dem öffentlichen Schlüssel des Empfängers und können nur mit dem entsprechenden privaten Schlüssel entschlüsselt werden. Die Schlüssel sind mathematisch verbunden, aber Rahmen werden gewählt, so dass die Bestimmung des privaten Schlüssels vom öffentlichen Schlüssel untersagend teuer ist. Die Entdeckung von Algorithmen, die öffentliche/private Schlüsselpaare erzeugen konnten, hat die Praxis der Geheimschrift revolutioniert, die Mitte der 1970er Jahre beginnt.

Im Gegensatz verwenden Algorithmen des symmetrischen Schlüssels, von denen Schwankungen seit Tausenden von Jahren verwendet worden sind, einen einzelnen heimlichen Schlüssel — der geteilt und privat sowohl vom Absender als auch von Empfänger — sowohl für die Verschlüsselung als auch Dekodierung behalten werden muss. Um ein symmetrisches Verschlüsselungsschema zu verwenden, müssen der Absender und Empfänger einen Schlüssel im Voraus sicher teilen.

Weil symmetrische Schlüsselalgorithmen fast immer viel weniger rechenbetont intensiv sind, ist es üblich, einen Schlüssel mit einem Schlüsselaustauschalgorithmus auszutauschen und Daten mit diesem Schlüssel und einem symmetrischen Schlüsselalgorithmus zu übersenden. PGP und die SSL/TLS Familie von Schemas tun das zum Beispiel, und werden so Hybride cryptosystems genannt.

Beschreibung

Die zwei Hauptzweige der öffentlichen Schlüsselgeheimschrift sind:

  • Öffentliche Schlüsselverschlüsselung: Eine Nachricht encrypted mit einem öffentlichen Schlüssel eines Empfängers kann von niemandem außer einem Besitzer des zusammenpassenden privaten Schlüssels entschlüsselt werden — es wird gewagt, dass das der Eigentümer dieses Schlüssels und die Person sein wird, die mit dem öffentlichen verwendeten Schlüssel vereinigt ist. Das wird für die Vertraulichkeit verwendet.
  • Digitalunterschriften: Eine mit einem privaten Schlüssel eines Absenders unterzeichnete Nachricht kann von jedem nachgeprüft werden, der Zugang zum öffentlichen Schlüssel des Absenders hat, dadurch beweisend, dass der Absender Zugang zum privaten Schlüssel hatte (und wahrscheinlich deshalb die Person sein wird, die mit dem öffentlichen Schlüssel vereinigt ist, verwendet), und der Teil der Nachricht, an der nicht herumgebastelt worden ist. Auf der Frage der Echtheit, sieh auch Nachrichtenauswahl.

Eine Analogie zur Verschlüsselung des öffentlichen Schlüssels ist die eines geschlossenen Briefkastens mit einem Postablagefach. Das Postablagefach wird ausgestellt und zum Publikum zugänglich; seine Position (die Straßenadresse) ist hauptsächlich der öffentliche Schlüssel. Jeder, die Straßenadresse wissend, kann zur Tür gehen und eine schriftliche Nachricht durch das Ablagefach fallen lassen; jedoch kann nur die Person, die den Schlüssel besitzt, den Briefkasten öffnen und die Nachricht lesen.

Eine Analogie für Digitalunterschriften ist das Siegeln eines Umschlags mit einem persönlichen Wachs-Siegel. Die Nachricht kann von jedem geöffnet werden, aber die Anwesenheit des Siegels beglaubigt den Absender.

Ein Hauptproblem für den Gebrauch der Geheimschrift des öffentlichen Schlüssels ist Vertrauen (ideal Beweis), dass ein öffentlicher Schlüssel richtig ist, gehört der Person, oder Entität gefordert (d. h., ist 'authentisch'), und ist nicht herumgebastelt oder von einem böswilligen Dritten ersetzt worden. Die übliche Annäherung an dieses Problem soll eine Infrastruktur des öffentlichen Schlüssels (PKI) verwenden, in der oder mehr Dritte, die als Zertifikat-Behörden bekannt sind, Eigentumsrecht von Schlüsselpaaren bescheinigen. PGP, zusätzlich zu einer Zertifikat-Autoritätsstruktur, hat ein Schema verwendet allgemein hat das "Web des Vertrauens" genannt, das solche Beglaubigung von öffentlichen Schlüsseln durch einen Hauptmechanismus dezentralisiert, individuelle Indossierungen der Verbindung zwischen dem Benutzer und öffentlichen Schlüssel einsetzend. Keine völlig befriedigende Lösung des öffentlichen Schlüsselbeglaubigungsproblems ist bekannt.

Geschichte

Während der frühen Geschichte der Geheimschrift würden sich zwei Parteien auf einen Schlüssel mit einer sicheren aber nichtkryptografischen, Methode verlassen; zum Beispiel, eine persönliche Sitzung oder ein Austausch über einen vertrauten Boten. Dieser Schlüssel, der beide Parteien absolut heimlich gehalten haben, konnte dann verwendet werden, um encrypted Nachrichten auszutauschen. Mehrere bedeutende praktische Schwierigkeiten entstehen in dieser Annäherung an das Verteilen von Schlüsseln. Geheimschrift des öffentlichen Schlüssels richtet diese Nachteile, so dass Benutzer sicher über einen öffentlichen Kanal kommunizieren können, ohne sich über einen geteilten Schlüssel im Voraus einigen zu müssen.

1874 hat ein Buch von William Stanley Jevons die Beziehung von Einwegfunktionen zur Geheimschrift beschrieben und hat fortgesetzt, spezifisch das factorization Problem zu besprechen, das verwendet ist, um die Falltür-Funktion im RSA System zu schaffen. Im Juli 1996 hat sich ein Beobachter über das Buch von Jevons auf diese Weise geäußert:

1997 wurde es öffentlich bekannt gegeben, dass asymmetrische Schlüsselalgorithmen von James H. Ellis, Clifford Cocks und Malcolm Williamson am Regierungskommunikationshauptquartier (GCHQ) im Vereinigten Königreich 1973 entwickelt wurden. Die Forscher haben unabhängig Diffie-Hellman Schlüsselaustausch und einen speziellen Fall von RSA entwickelt. Die GCHQ Kryptographen haben die Technik als "nichtheimliche Verschlüsselung" gekennzeichnet. Diese Arbeit wurde einen IEEE Meilenstein 2010 genannt.

Ein asymmetrischer Schlüssel cryptosystem wurde 1976 von Whitfield Diffie und Martin Hellman veröffentlicht, der, unter Einfluss der Arbeit von Ralph Merkle am Vertrieb des öffentlichen Schlüssels, eine Methode der Abmachung des öffentlichen Schlüssels bekannt gegeben hat. Diese Methode des Schlüsselaustausches, der exponentiation in einem begrenzten Feld verwendet, ist gekommen, um als Diffie-Hellman Schlüsselaustausch bekannt zu sein. Das war die erste veröffentlichte praktische Methode, für einen geteilten heimlichen Schlüssel über einen beglaubigten (aber nicht privat) Kommunikationskanal zu gründen, ohne ein vorheriges geteiltes Geheimnis zu verwenden. Die Technik der öffentlichen Schlüsselabmachung von Merkle ist bekannt als die Rätsel von Merkle geworden, und wurde 1974 erfunden und 1978 veröffentlicht.

Eine Generalisation des Schemas von Hähnen wurde 1977 von Rivest, Shamir und Adleman, alle dann an MIT unabhängig erfunden. Die letzten Autoren haben ihre Arbeit 1978 veröffentlicht, und der Algorithmus ist passend gekommen, um als RSA bekannt zu sein. RSA verwendet exponentiation modulo ein Produkt von zwei großer Blüte zu encrypt, und entschlüsseln Sie, sowohl öffentliche Schlüsselverschlüsselung als auch öffentlichen Schlüssel Digitalunterschrift durchführend, und seine Sicherheit wird mit der gewagten Schwierigkeit des Factorings große ganze Zahlen, ein Problem verbunden, für das es nicht bekannt effizient (d. h., durchführbar schnell) allgemeine Technik gibt. 1979 hat Michael O. Rabin einen zusammenhängenden cryptosystem veröffentlicht, der nicht weniger als factorization des öffentlichen Schlüssels nachweisbar sicher ist, bleibt schwierig; es bleibt eine Annahme, dass RSA auch diese Sicherheit genießt.

Seit den 1970er Jahren sind eine Vielzahl und Vielfalt von Verschlüsselung, Digitalunterschrift, Schlüsselabmachung und anderen Techniken im Feld der Geheimschrift des öffentlichen Schlüssels entwickelt worden. Der ElGamal cryptosystem (erfunden von Taher ElGamal) verlässt sich auf (ähnlich, und verbunden) Schwierigkeit des getrennten Logarithmus-Problems, wie den nah zusammenhängenden DSA tut, der an amerikanischer National Security Agency (NSA) entwickelt ist und durch NIST als ein vorgeschlagener Standard veröffentlicht ist. Die Einführung der elliptischen Kurve-Geheimschrift durch Neal Koblitz und Victor Miller unabhängig und gleichzeitig Mitte der 1980er Jahre hat neue auf dem getrennten Logarithmus-Problem gestützte Algorithmen des öffentlichen Schlüssels nachgegeben. Obwohl mathematisch komplizierter, stellen elliptische Kurven kleinere Schlüsselgrößen und schnellere Operationen wegen der gleichwertigen geschätzten Sicherheit zur Verfügung.

Sicherheit

Einige Verschlüsselungsschemas können sicher auf der Grundlage von der gewagten Härte eines mathematischen Problems wie Factoring das Produkt von zwei großer Blüte oder Computerwissenschaft getrennter Logarithmen bewiesen werden. Bemerken Sie, dass "sicher" hier eine genaue mathematische Bedeutung hat, und es vielfache verschiedene (bedeutungsvolle) Definitionen dessen gibt, was es für ein Verschlüsselungsschema bedeutet, sicher zu sein. Die "richtige" Definition hängt vom Zusammenhang ab, in dem das Schema aufmarschiert wird.

Die offensichtlichste Anwendung eines öffentlichen Schlüsselverschlüsselungssystems ist Vertraulichkeit; eine Nachricht, dass ein Absender encrypts das Verwenden des öffentlichen Schlüssels des Empfängers nur durch den paarweise angeordneten privaten Schlüssel des Empfängers entschlüsselt werden kann (das Annehmen, natürlich, dass kein Fehler im grundlegenden Algorithmus verwendet entdeckt wird).

Ein anderer Typ der Anwendung in der Geheimschrift des öffentlichen Schlüssels ist der von Digitalunterschrift-Schemas. Digitalunterschrift-Schemas können für die Absenderbeglaubigung und Nichtnichtanerkennung verwendet werden. In solch einem Schema schätzt ein Benutzer, der eine Nachricht senden will, eine Digitalunterschrift dieser Nachricht und sendet dann diese Digitalunterschrift zusammen mit der Nachricht an den beabsichtigten Empfänger. Digitalunterschrift-Schemas haben das Eigentum, dass Unterschriften nur mit den Kenntnissen eines privaten Schlüssels geschätzt werden können. Um nachzuprüfen, dass eine Nachricht von einem Benutzer unterzeichnet worden ist und nicht modifiziert worden ist, muss der Empfänger nur den entsprechenden öffentlichen Schlüssel wissen. In einigen Fällen (z.B, RSA), dort bestehen Digitalunterschrift-Schemas mit vielen Ähnlichkeiten zu Verschlüsselungsschemas. In anderen Fällen (z.B, DSA), ähnelt der Algorithmus keinem Verschlüsselungsschema.

Um sowohl Beglaubigung als auch Vertraulichkeit zu erreichen, kann der Absender zuerst die Nachricht mit seinem privaten Schlüssel und dann encrypt sowohl die Nachricht als auch die Unterschrift mit dem öffentlichen Schlüssel des Empfängers unterzeichnen.

Diese Eigenschaften können verwendet werden, um viel anderen, manchmal das Überraschen, die kryptografischen Protokolle und die Anwendungen, wie digitales Geld, Kennwort-beglaubigte Schlüsselabmachung, Mehrparteischlüsselabmachung, zeitstampfender Dienst, Nichtnichtanerkennungsprotokolle usw. zu bauen.

Praktische Rücksichten

Eine Postanalogie

Eine Analogie, die verwendet werden kann, um die Vorteile eines asymmetrischen Systems zu verstehen, soll sich zwei Menschen, Alice und Bob vorstellen, eine heimliche Nachricht durch die öffentliche Post sendend. In diesem Beispiel will Alice eine heimliche Nachricht senden, um Sich Auf und ab zu bewegen, und erwartet eine heimliche Antwort von Bob.

Mit einem symmetrischen Schlüsselsystem stellt Alice zuerst die heimliche Nachricht in einem Kasten, und schließt den Kasten mit einem Vorhängeschloss, zu dem sie einen Schlüssel hat. Sie sendet dann den Kasten, um Sich durch die regelmäßige Post Auf und ab zu bewegen. Wenn Bob den Kasten erhält, verwendet er eine identische Kopie des Schlüssels von Alice (den er irgendwie vorher, vielleicht durch eine persönliche Sitzung erhalten hat), den Kasten zu öffnen, und die Nachricht liest. Bob kann dann dasselbe Vorhängeschloss verwenden, um seine heimliche Antwort zu senden.

In einem asymmetrischen Schlüsselsystem haben Bob und Alice getrennte Vorhängeschlösser. Erstens bittet Alice Bob, sein offenes Vorhängeschloss ihr durch die regelmäßige Post zu senden, seinen Schlüssel zu sich behaltend. Wenn Alice es erhält, verwendet sie es, um einen Kasten zu schließen, der ihre Nachricht enthält, und sendet den geschlossenen Kasten, um Sich Auf und ab zu bewegen. Bob kann dann den Kasten mit seinem Schlüssel aufschließen und liest die Nachricht von Alice. Um zu antworten, bewegen Sie sich Auf und ab muss ähnlich veranlassen, dass das offene Vorhängeschloss von Alice den Kasten vor dem Zurücksenden davon zu ihr schließt.

Der kritische Vorteil in einem asymmetrischen Schlüsselsystem besteht darin, dass Bob und Alice nie eine Kopie ihrer Schlüssel zu einander senden müssen. Das verhindert einen Dritten (vielleicht, im Beispiel, einem korrupten Postarbeiter) davon, einen Schlüssel zu kopieren, während es unterwegs ist, hat das Erlauben Dritten gesagt, um allen zukünftigen Nachrichten zu spionieren, die zwischen Alice und Bob gesandt sind. So im öffentlichen Schlüsseldrehbuch brauchen Alice und Bob nicht dem Postdienst so viel zu vertrauen. Außerdem, wenn Bob unbesonnen wäre und jemandem anderem erlauben würde, seinen Schlüssel zu kopieren, würden die Nachrichten von Alice, um Sich Auf und ab zu bewegen, in Verlegenheit gebracht, aber die Nachrichten von Alice an andere Leute würden heimlich bleiben, da die anderen Leute verschiedene Vorhängeschlösser für Alice zur Verfügung stellen würden, um zu verwenden.

In einer anderen Art des asymmetrischen Schlüsselsystems haben Bob und Alice getrennte Vorhängeschlösser.

Erstens stellt Alice die heimliche Nachricht in einem Kasten, und schließt den Kasten mit einem Vorhängeschloss, zu dem nur sie einen Schlüssel hat.

Sie sendet dann den Kasten, um Sich durch die regelmäßige Post Auf und ab zu bewegen.

Wenn Bob den Kasten erhält, fügt er sein eigenes Vorhängeschloss zum Kasten hinzu, und sendet ihn Alice zurück.

Wenn Alice den Kasten mit den zwei Vorhängeschlössern erhält, entfernt sie ihr Vorhängeschloss und sendet es zurück, um Sich Auf und ab zu bewegen.

Wenn Bob den Kasten mit nur seinem Vorhängeschloss darauf erhält, kann Bob dann den Kasten mit seinem Schlüssel aufschließen und die Nachricht von Alice lesen. Bemerken Sie, dass, in diesem Schema, die Ordnung der Dekodierung dasselbe als die Ordnung der Verschlüsselung ist; das ist nur möglich, wenn Ersatzziffern verwendet werden. Eine Ersatzziffer ist diejenige, in der die Ordnung der Verschlüsselung und Dekodierung austauschbar ist, wie die Ordnung der Multiplikation austauschbar ist; d. h.. Ein einfacher mit den individuellen Schlüsseln ist solch eine Ersatzziffer. Lassen Sie zum Beispiel und seien Sie zwei Verschlüsselungsfunktionen und lassen Sie, "" die Nachricht so zu sein, wenn Alice encrypts sie das Verwenden und an Bob sendet. Bob andererseits encrypts die Nachricht als und sendet es Alice. Jetzt Alice Decrypts, die verwendet. Sie wird jetzt kommen, vorhabend, wenn sie das wieder sendet, um Sich Auf und ab zu bewegen, wird er im Stande sein, das Nachrichtenverwenden zu entschlüsseln und "" zu kommen. Obwohl keiner der Schlüssel jemals ausgetauscht wurde, kann die Nachricht "" ein Schlüssel, z.B, der Öffentliche Schlüssel von Alice gut sein.

Dieses Drei-Pässe-Protokoll wird normalerweise während des Schlüsselaustausches verwendet.

Wirkliche Algorithmen — zwei verbundene Schlüssel

Nicht alle asymmetrischen Schlüsselalgorithmen funktionieren auf genau diese Mode. Die allgemeinsten haben das Eigentum, dass Alice und Bob jeder zwei Schlüssel, ein für die Verschlüsselung und ein für die Dekodierung besitzt. In einem sicheren asymmetrischen Schlüsselverschlüsselungsschema sollte der private Schlüssel nicht vom öffentlichen Schlüssel ableitbar sein. Das ist als Verschlüsselung des öffentlichen Schlüssels bekannt, da ein Verschlüsselungsschlüssel veröffentlicht werden kann, ohne die Sicherheit von Nachrichten encrypted mit diesem Schlüssel in Verlegenheit zu bringen.

In der Analogie oben könnte Bob Instruktionen darauf veröffentlichen, wie man ein Schloss macht ("öffentlicher Schlüssel"), aber das Schloss ist solch, dass es unmöglich ist (so weit bekannt ist), von diesen Instruktionen abzuleiten, wie man einen Schlüssel macht, der dieses Schloss ("privater Schlüssel") öffnen wird. Diejenigen, die möchten Nachrichten Bob senden, verwenden den öffentlichen Schlüssel zu encrypt die Nachricht; Bob verwendet seinen privaten Schlüssel, es zu entschlüsseln.

Ein anderes Beispiel ist, dass Alice und Bob sowohl einen Schlüssel aufs Geratewohl wählen als auch sich in Verbindung setzen, um die Tiefe jeder Kerbe auf ihren Schlüsseln zu vergleichen. Den Unterschied bestimmt ein geschlossener Kasten wird mit einem speziellen Schloss gebaut, das jede in 2 Nadeln innen geteilte Nadel hat, die Zahlen ihrer Schlüssel vergleichend. Jetzt wird der Kasten im Stande sein, mit jedem Schlüssel und Alice geöffnet zu werden, und Bob kann Nachrichten innen sicher austauschen.

Schwächen

Natürlich gibt es eine Möglichkeit, dass jemand Bobs Schloss oder Alice "aufpicken" konnte. Unter symmetrischen Schlüsselverschlüsselungsalgorithmen, wie man beweisen kann, ist nur das ehemalige Polster gegen jeden Gegner sicher, egal wie viel Rechenmacht verfügbar ist. Jedoch gibt es kein Schema des öffentlichen Schlüssels mit diesem Eigentum, da alle Schemas des öffentlichen Schlüssels gegen den Schlüsselsuchangriff der rohen Gewalt empfindlich sind. Solche Angriffe sind unpraktisch, wenn der Betrag der Berechnung erfolgreich sein musste (genannter 'Arbeitsfaktor' durch Claude Shannon) ist für potenzielle Angreifer unerreichbar. In vielen Fällen kann der Arbeitsfaktor durch die einfache Auswahl eines längeren Schlüssels vergrößert werden. Aber andere Angriffe können viel niedrigere Arbeitsfaktoren haben, Widerstand gegen den Angriff der rohen Gewalt irrelevant machend, und einige sind für einige öffentliche Schlüsselverschlüsselungsalgorithmen bekannt. Sowohl Verschlüsselung von RSA als auch ElGamal hat Angriffe gewusst, die viel schneller sind als die Annäherung der rohen Gewalt. Solche Schätzungen haben sich sowohl mit den abnehmenden Kosten der Computermacht als auch mit neuen mathematischen Entdeckungen geändert.

In der Praxis kann diese Unsicherheit allgemein durch die Auswahl von Schlüsselgrößen groß genug vermieden werden, den der am besten bekannte Angriff so lange nehmen würde, dass es der Zeit jedes Gegners und Geldes nicht wert ist, um den Code zu brechen. Zum Beispiel, wenn eine Schätzung dessen, wie lange es bringt, um ein Verschlüsselungsschema zu brechen, eintausend Jahre ist, und es an encrypt Details gewöhnt war, die veraltet sind, ein paar Wochen dann gesandt, konnte das ein passender Risikoumtausch gehalten werden.

Beiseite vom Widerstand gegen den Angriff eines besonderen keypair muss die Sicherheit der Zertifikat-Hierarchie betrachtet werden, wenn man öffentliche Schlüsselsysteme einsetzt. Eine Zertifikat-Autorität (gewöhnlich hat ein Zweck Programm gebaut, das auf einem Server-Computer läuft), verbürgt sich für die spezifischen privaten Schlüsseln zugeteilte Identität durch das Produzieren eines Digitalzertifikats. Digitalzertifikate des öffentlichen Schlüssels sind seit mehreren Jahren auf einmal normalerweise gültig, so müssen die verbundenen privaten Schlüssel sicher im Laufe dieser Zeit gehalten werden. Wenn ein privater Schlüssel, der für die Zertifikat-Entwicklung höher in der PKI Server-Hierarchie verwendet ist, in Verlegenheit gebracht oder zufällig dann bekannt gegeben wird, ist ein Mann im mittleren Angriff möglich, jedes untergeordnete Zertifikat ganz unsicher machend.

Hauptschwächen sind für mehrere früher viel versprechende asymmetrische Schlüsselalgorithmen gefunden worden. Wie man fand, war der 'Rucksack, der' Algorithmus einpackt, unsicher, als ein neuer Angriff gefunden wurde. Kürzlich haben einige Angriffe auf sorgfältigen Maßen der genauen Zeitdauer gestützt sie nimmt bekannte Hardware zum encrypt Klartext sind verwendet worden, um die Suche nach wahrscheinlichen Dekodierungsschlüsseln zu vereinfachen (sieh Seitenkanalangriff). So sichert der bloße Gebrauch von asymmetrischen Schlüsselalgorithmen Sicherheit nicht; es ist ein Gebiet der aktiven Forschung, um zu entdecken und gegen neue Angriffe zu schützen.

Eine andere potenzielle Sicherheitsverwundbarkeit im Verwenden asymmetrischer Schlüssel ist die Möglichkeit eines Mannes im mittleren Angriff, in dem die Kommunikation von öffentlichen Schlüsseln von einem Dritten abgefangen und modifiziert wird, um verschiedene öffentliche Schlüssel stattdessen zur Verfügung zu stellen. Nachrichten von Encrypted und Antworten müssen auch abgefangen, entschlüsselt werden und re-encrypted vom Angreifer, der die richtigen öffentlichen Schlüssel für verschiedene Nachrichtensegmente in allen Beispielen verwendet, um Verdacht zu vermeiden. Dieser Angriff kann scheinen, schwierig zu sein, in der Praxis durchzuführen, aber es ist nicht unmöglich, wenn man unsichere Medien (z.B, öffentliche Netze wie das Internet oder die Radiokommunikationen) verwendet. Ein böswilliger Mitarbeiter an Alice oder Bobs ISP könnte es ziemlich leicht finden auszuführen. In der früheren Postanalogie würde Alice eine Weise haben müssen sicherzustellen, dass das Schloss auf dem zurückgegebenen Paket wirklich Bob gehört, bevor sie ihr Schloss entfernt und das Paket zurücksendet. Sonst könnte das Schloss auf das Paket von einem korrupten Postarbeiter gestellt worden sein, der vorgibt, Bob Alice zu sein.

Eine Annäherung, um solche Angriffe zu verhindern, ist der Gebrauch einer Zertifikat-Autorität, ein vertrauter Dritter, der dafür verantwortlich ist, die Identität eines Benutzers des Systems nachzuprüfen und einen Stampfer widerstandsfähiges und non-spoofable Digitalzertifikat für Teilnehmer auszugeben. Solche Zertifikate sind unterzeichnete Datenblöcke, die feststellen, dass dieser öffentliche Schlüssel dieser Person, Gesellschaft oder anderer Entität gehört. Diese Annäherung hat auch Schwächen. Zum Beispiel muss der Zertifikat-Autorität, die das Zertifikat ausgibt, vertraut werden, um die Identität des Schlüsselhalters, die Genauigkeit des öffentlichen Schlüssels richtig überprüft zu haben, wenn es ein Zertifikat ausgibt, und hat Vorbereitungen mit allen Teilnehmern getroffen, um alle Zertifikate zu überprüfen, bevor geschützte Kommunikationen beginnen können. WWW-Browser werden zum Beispiel mit vielen selbstunterzeichneten Identitätszertifikaten von PKI Versorgern geliefert; diese werden verwendet, um den bonafides des Zertifikats zu überprüfen (ausgegeben richtig durch den geforderten PKI Hauptserver?) und dann, in einem zweiten Schritt, dem Zertifikat eines potenziellen Kommunikanten. Ein Angreifer, der die Zertifikat-Autorität in die Ausgabe eines Zertifikats für einen gefälschten öffentlichen Schlüssel stürzen konnte, konnte dann einen Mann im mittleren Angriff als leicht besteigen, als ob das Zertifikat-Schema überhaupt nicht verwendet wurde. Trotz seiner Probleme wird diese Annäherung weit verwendet; Beispiele schließen SSL und seinen Nachfolger, TLS ein, die allgemein verwendet werden, um Sicherheit in WWW-Browsern zur Verfügung zu stellen, zum Beispiel Kreditkartendetails an einen Online-Laden sicher zu senden.

Rechenbetonte Kosten

Öffentliche Schlüsselalgorithmen bekannt sind relativ so weit im Vergleich zu den meisten symmetrischen Schlüsselalgorithmen der anscheinend gleichwertigen Sicherheit rechenbetont kostspielig. Der Unterschied-Faktor ist der Gebrauch von normalerweise ziemlich großen Schlüsseln. Das hat wichtige Implikationen für ihren praktischen Gebrauch. Die meisten werden in der Hybride cryptosystems aus Gründen der Leistungsfähigkeit verwendet; in solch einem cryptosystem wird ein geteilter heimlicher Schlüssel ("Sitzungsschlüssel") von einer Partei erzeugt, und dieser viel kürzere Sitzungsschlüssel ist dann encrypted durch den öffentlichen Schlüssel jedes Empfängers. Jeder Empfänger verwendet den entsprechenden privaten Schlüssel, den Sitzungsschlüssel zu entschlüsseln. Sobald alle Parteien den Sitzungsschlüssel erhalten haben, können sie einen viel schnelleren symmetrischen Algorithmus an encrypt verwenden und Nachrichten entschlüsseln. In vielen dieser Schemas ist der Sitzungsschlüssel zu jedem Nachrichtenaustausch einzigartig, für jede Nachricht pseudozufällig gewählt werden.

Das Verbinden öffentlicher Schlüssel mit der Identität

Die Schwergängigkeit zwischen einem öffentlichen Schlüssel und seinem 'Eigentümer', muss damit die Algorithmus-Funktion vollkommen richtig sein und noch in der Praxis völlig unsicher sein. Als mit dem grössten Teil der Geheimschrift haben die Protokolle gepflegt, zu gründen und nachzuprüfen, dass diese Schwergängigkeit kritisch wichtig ist. Das Verbinden eines öffentlichen Schlüssels mit seinem Eigentümer wird normalerweise durch Protokolle getan, die eine öffentliche Schlüsselinfrastruktur durchführen; diese erlauben der Gültigkeit der Vereinigung, bezüglich eines vertrauten Dritten, in der Form von irgendeinem eine hierarchische Zertifikat-Autorität (z.B, X.509), ein lokales Vertrauensmodell (z.B, SPKI), oder ein Web des Vertrauensschemas (z.B, das formell nachgeprüft zu werden, das ursprünglich in PGP und GPG eingebaut ist und noch einigermaßen mit ihnen verwendbar ist). Was für die kryptografische Versicherung der Protokolle selbst, der Vereinigung zwischen einem öffentlichen Schlüssel und seinem Eigentümer ist schließlich eine Sache des subjektiven Urteils seitens des vertrauten Dritten, da der Schlüssel eine mathematische Entität ist, während der Eigentümer und die Verbindung zwischen Eigentümer und Schlüssel, nicht sind. Deshalb muss der Formalismus einer öffentlichen Schlüsselinfrastruktur für ausführliche Behauptungen der gefolgten Politik sorgen, wenn er dieses Urteil macht. Zum Beispiel der Komplex und nie völlig erlaubt durchgeführter X.509 Standard einer Zertifikat-Autorität, seine Politik mittels eines Gegenstand-Bezeichners zu identifizieren, der als ein Index in einen Katalog von eingetragenen Policen fungiert. Policen können zu vielen verschiedenen Zwecken im Intervall von der Anonymität zur militärischen Klassifikation bestehen.

Beziehung zu echten Weltereignissen

Ein öffentlicher Schlüssel wird einem großen und, in der Praxis, unbekannter Satz von Benutzern bekannt sein. Alle Ereignisse, die Revokation oder Ersatz eines öffentlichen Schlüssels verlangen, können viel Zeit in Anspruch nehmen, um volle Wirkung mit allen zu nehmen, die informiert werden müssen (d. h., alle jene Benutzer, die diesen Schlüssel besitzen). Deshalb sollten Systeme, die auf Ereignisse in Realtime reagieren müssen (z.B, sicherheitskritische Systeme oder Staatssicherheitssysteme) nicht Verschlüsselung des öffentlichen Schlüssels verwenden, ohne große Sorge zu nehmen. Es gibt vier Probleme von Interesse:

Vorzug der Schlüsselrevokation

Ein böswilliger (oder falsch) Revokation von einigen oder alle Schlüssel im System, ist oder im zweiten Fall wahrscheinlich, sicher, um einen ganzen Misserfolg des Systems zu verursachen. Wenn öffentliche Schlüssel individuell widerrufen werden können, ist das eine Möglichkeit. Jedoch gibt es Designannäherungen, die die praktische Chance dieses Auftretens reduzieren können. Zum Beispiel mittels Zertifikate können wir schaffen, was ein "zusammengesetztes Rektor" genannt wird; ein solches Rektor konnte "Alice sein, und Bob haben Widerrufen Autorität". Jetzt können nur Alice und Bob (im Konzert) einen Schlüssel widerrufen, und weder Alice noch Bob können Schlüssel allein widerrufen. Jedoch verlangt das Widerrufen eines Schlüssels jetzt, dass sowohl Alice als auch Bob verfügbar ist, und das schafft ein Problem der Zuverlässigkeit. In konkreten Begriffen, aus einem Sicherheitsgesichtspunkt, gibt es jetzt einen einzelnen Punkt des Misserfolgs im öffentlichen Schlüsselrevokationssystem. Eine erfolgreiche Leugnung des Dienstangriffs entweder gegen Alice oder gegen Bob (oder beide) wird eine erforderliche Revokation blockieren. Tatsächlich wird jede Teilung der Autorität zwischen Alice und Bob diese Wirkung, unabhängig davon haben, wie es geschieht.

Weil der Grundsatz, der Revokationsautorität für Schlüssel erlaubt, sehr stark ist, sollten die Mechanismen, die verwendet sind, um es zu kontrollieren, beide, so viele Teilnehmer wie möglich einschließen (um vor böswilligen Angriffen dieses Typs zu schützen), während zur gleichen Zeit so wenig wie möglich (um sicherzustellen, dass ein Schlüssel ohne gefährliche Verzögerung widerrufen werden kann). Öffentliche Schlüsselzertifikate, die ein Verfallsdatum einschließen, sind darin unbefriedigend das Verfallsdatum kann einem wirklichen Revokationsbedürfnis nicht entsprechen, aber mindestens brauchen solche Zertifikate nicht weit System alle ausfindig gemacht zu werden, noch alle Benutzer müssen im unveränderlichen Kontakt mit dem System zu jeder Zeit sein.

Vertrieb eines neuen Schlüssels

Nachdem ein Schlüssel widerrufen worden ist, oder wenn ein neuer Benutzer zu einem System hinzugefügt wird, muss ein neuer Schlüssel auf etwas vorher bestimmte Weise verteilt werden.

Nehmen Sie an, dass der Schlüssel von Carol (z.B, automatisch durch das Übersteigen seines Gebrauches - vor dem Datum, oder weniger, wegen eines Kompromisses des Zusammenbringens von Carol privaten Schlüssels) widerrufen worden ist. Bis ein neuer Schlüssel verteilt worden ist, ist Carol effektiv außer dem Kontakt. Keiner wird im Stande sein, ihre Nachrichten zu senden, ohne Systemprotokolle zu verletzen (d. h., ohne einen gültigen öffentlichen Schlüssel, keiner kann encrypt Nachrichten an sie), und Nachrichten von ihr können aus demselben Grund nicht unterzeichnet werden. Oder, mit anderen Worten, ist der "Teil des Systems, das" von Carol kontrolliert ist, hauptsächlich nicht verfügbar. Sicherheitsvoraussetzungen sind höher aufgereiht worden als Systemverfügbarkeit in solchen Designs.

Man konnte die Macht verlassen, zu schaffen (und zu bezeugen), Schlüssel sowie sie in den Händen jedes Benutzers widerrufen, und das ursprüngliche PGP Design hat so getan, aber das erhebt Probleme des Benutzers, der versteht und Operation. Für Sicherheitsgründe hat diese Annäherung beträchtliche Schwierigkeiten; wenn nichts anderes einige Benutzer vergesslich oder unaufmerksam oder verwirrt sein werden. Einerseits sollte eine Nachricht, die ein öffentliches Schlüsselzertifikat widerruft, so schnell wie möglich ausgebreitet werden, während, andererseits, (Teile) das System inoperabel gemacht werden könnte, bevor ein neuer Schlüssel installiert werden kann. Das Zeitfenster kann auf die Null reduziert werden, indem es immer den neuen Schlüssel zusammen mit dem Zertifikat ausgegeben wird, das den alten widerruft, aber das verlangt Co-Position der Autorität, Schlüssel sowohl zu widerrufen als auch neue Schlüssel zu erzeugen.

Es ist ein weites System Misserfolg am wahrscheinlichsten, wenn (hat sich vielleicht verbunden), Rektor, das neue Schlüssel ausgibt, scheitert, indem es Schlüssel unpassend ausgibt. Es ist ein Beispiel eines allgemeinen gegenseitigen Ausschlusses; ein Design kann die Zuverlässigkeit eines Systems hoch, aber nur auf Kosten der Systemverfügbarkeit, und umgekehrt machen.

Das Verbreiten der Revokation

Die Ankündigung einer Schlüsselzertifikat-Revokation muss zu allen diejenigen ausgebreitet werden, die es, und so schnell potenziell halten könnten wie möglich.

Es gibt zwei Mittel der sich ausbreitenden Information (z.B, eine Schlüsselrevokation hier) in einem verteilten System: Entweder die Information wird Benutzern von einem Mittelpunkt (En) gestoßen, oder sie wird von einem Mittelpunkt (En) von Endbenutzern gezogen.

Das Stoßen der Information ist die einfachste Lösung, in der eine Nachricht allen Teilnehmern gesandt wird. Jedoch gibt es keine Weise zu wissen, ob alle Teilnehmer wirklich die Nachricht erhalten werden. Und wenn die Zahl von Teilnehmern groß ist und etwas von ihrer physischen Entfernung oder Netzentfernung groß, die Wahrscheinlichkeit des ganzen Erfolgs (der in idealen Verhältnissen ist, erforderlich für die Systemsicherheit) wird ziemlich niedrig sein. In einem teilweise aktualisierten Staat ist das System für die Leugnung von Dienstangriffen besonders verwundbar, weil Sicherheit durchgebrochen worden ist, und ein Verwundbarkeitsfenster fortsetzen wird, nicht weniger als zu bestehen, haben einige Benutzer das Wort nicht 'bekommen'. Mit anderen Worten ist das Stoßen von Zertifikat-Revokationsnachrichten weder leicht zu sichern noch sehr zuverlässig.

Die Alternative zum Stoßen zieht. Im Extrem enthalten alle Zertifikate alle Schlüssel musste nachprüfen, dass der öffentliche Schlüssel von Interesse (d. h., derjenige, der dem Benutzer gehört, an den man eine Nachricht senden möchte, oder dessen Unterschrift überprüft werden soll), noch gültig ist. In diesem Fall wird mindestens etwas Gebrauch des Systems blockiert, wenn ein Benutzer den Überprüfungsdienst nicht erreichen kann (d. h., eines jener Systeme, die die aktuelle Gültigkeit des Schlüssels eines anderen Benutzers gründen können). Wieder kann solch ein Systemdesign so zuverlässig gemacht werden, wie man, auf Kosten der sinkenden Sicherheit (je mehr Server wünscht, um für die Möglichkeit einer Schlüsselrevokation, desto länger das Fenster der Verwundbarkeit zu überprüfen).

Ein anderer Umtausch soll einen etwas weniger zuverlässigen aber sichereren, Überprüfungsdienst verwenden, aber ein Verfallsdatum für jede der Überprüfungsquellen einzuschließen. Wie lang diese Pause sein sollte, ist eine Entscheidung, die einen Umtausch zwischen Verfügbarkeit und Sicherheit aufnimmt, die im Voraus in der Systemdesignzeit wird entschieden werden müssen.

Wiederherstellung von einem durchgelassenen Schlüssel

Nehmen Sie an, dass das Rektor, das bevollmächtigt ist, einen Schlüssel zu widerrufen, entschieden hat, dass ein bestimmter Schlüssel widerrufen werden muss. In den meisten Fällen geschieht das nach der Tatsache; zum Beispiel wird es bekannt, dass in einer Zeit mit der Vergangenheit ein Ereignis vorgekommen ist, der einen privaten Schlüssel gefährdet hat. Lassen Sie uns die Zeit anzeigen, in der es entschieden wird, dass der Kompromiss mit T vorgekommen ist.

Solch ein Kompromiss hat zwei Implikationen. Wie man nicht mehr annehmen kann, sind Nachrichten encrypted mit dem zusammenpassenden öffentlichen Schlüssel (jetzt oder in der Vergangenheit) heimlich. Eine Lösung, dieses Problem zu vermeiden, ist, ein Protokoll zu verwenden, das vollkommene Vorwärtsgeheimhaltung hat. Zweitens, wie man nicht mehr annehmen kann, sind Unterschriften, die mit nicht mehr gemacht sind, vertrautem, um wirklich privater Schlüssel nach der Zeit T zu sein, ohne Zusatzinformation über wer, wo, wenn usw. der Ereignisse authentisch, die bis zur Digitalunterschrift führen. Diese werden nicht immer verfügbar sein, und so werden alle diese Digitalunterschriften weniger als glaubwürdig sein. Eine Lösung, den Einfluss zu reduzieren, einen privaten Schlüssel eines Unterschrift-Schemas durchzulassen, ist, Zeitstempel zu verwenden.

Der Verlust der Geheimhaltung und/oder Echtheit, sogar für einen einzelnen Benutzer, hat weites System Sicherheitsimplikationen, und eine Strategie für die Wiederherstellung muss so gegründet werden. Solch eine Strategie wird bestimmen, wer Autorität hat, und unter welchen Bedingungen man ein öffentliches Schlüsselzertifikat widerruft, wie man die Revokation, sondern auch ideal ausbreitet, wie man sich mit allen Nachrichten befasst, die mit dem Schlüssel seit der Zeit T unterzeichnet sind (der genau selten bekannt sein wird). Nachrichten, die diesem Benutzer gesandt sind (die das richtige, jetzt in Verlegenheit gebrachter, privater Schlüssel verlangen zu entschlüsseln), müssen in Verlegenheit gebracht ebenso ganz gleich betrachtet werden, als sie gesandt wurden.

Beispiele

Beispiele von gut angesehenen asymmetrischen Schlüsseltechniken zu verschiedenen Zwecken schließen ein:

Beispiele von asymmetrischen Schlüsselalgorithmen nicht weit angenommen schließen ein:

  • NTRUEncrypt cryptosystem
  • McEliece cryptosystem

Beispiele der Standesperson noch unsichere asymmetrische Schlüsselalgorithmen schließen ein:

Beispiele von Protokollen mit asymmetrischen Schlüsselalgorithmen schließen ein:

  • GPG, eine Durchführung von OpenPGP
  • Internetschlüsselaustausch
  • PGP
  • ZRTP, ein sicheres Protokoll von VoIP
  • Sichere Steckdose-Schicht, jetzt kodifiziert als IETF normale Transport Layer Security (TLS)
  • SILC
  • SSH
  • Bitcoin

Siehe auch

Referenzen

Links


Papst Callixtus III / Plan 9 von Glockenlaboratorien
Impressum & Datenschutz