Ich bin relativ neu bei PKI, Zertifikaten und allen damit verbundenen Sachen.
Soweit ich bei der Kryptographie mit öffentlichem Schlüssel verstehe, verschlüsselt man mit einem öffentlichen Schlüssel und entschlüsselt sie mit einem privaten Schlüssel. Nur ein privater Schlüssel kann einem beliebigen öffentlichen Schlüssel entsprechen, aber das Gegenteil ist nicht der Fall. Ist es richtig? Oder ist es eine Eins-zu-Eins-Zuordnung?
Die digitale Signatur funktioniert also so, dass der Inhalt eines Zertifikats gehashed und dann mit einem privaten Schlüssel "signiert" wird. Die Signatur wird dann mit dem entsprechenden öffentlichen Schlüssel verifiziert.
Also, hier ist, wo ich verwirrt werde. Was ist der Unterschied zwischen dem Verschlüsseln einer Nachricht mit einem öffentlichen Schlüssel und dem Signieren eines Nachrichtenauszugs mit einem privaten Schlüssel?
Ich denke, dass Informationssicherheitsziele wichtig sind, um den Unterschied zwischen Nachrichtenverschlüsselung und Signierung zu erkennen. Um ein paar Ziele zu definieren:
Nachrichtenverschlüsselung bietet Vertraulichkeit.
Nachrichtensignierung bindet die Identität der Nachrichtenquelle an diese Nachricht. Es stellt die Datenintegrität, die Nachrichtenauthentifizierung und die Nichtabstreitbarkeit insgesamt sicher.
Ich finde das vierte Ziel, Nichtabstreitbarkeit, ich finde es unterscheidend, also erlauben Sie mir bitte, darauf näher einzugehen. Alice könnte zu irgendeinem Zeitpunkt abstreiten, eine Nachricht signiert zu haben, oder Bob könnte fälschlicherweise behaupten, dass eine Nachrichtensignatur von Alice erstellt wurde. Eine digitale Signatur erlaubt es einem unvoreingenommenen vertrauenswürdigen Dritten (der im Voraus vereinbart wurde), den Streit beizulegen, ohne auf die geheimen Informationen der Unterzeichner (private Schlüssel) zugreifen zu müssen.
Das digitale Signatursystem, das Sie in Ihrer Frage angeben, wird als digitale Signatur von der reversiblen Verschlüsselung mit öffentlichen Schlüsseln bezeichnet. Alles in allem sollte jedes digitale Signaturschema die folgenden Eigenschaften haben:
Wie bei Verschlüsselungssystemen hat Kerckhoffs eine Reihe von Anforderungen definiert, die heute noch größtenteils nützlich sind. Bitte lies dir das Wiki durch.
In Bezug auf die Arten von Funktionen, die für die Schlüsselgenerierung und die Verschlüsselung / Entschlüsselung verwendet werden, lassen Sie uns noch ein paar Definitionen geben:
f: X -> Y
ist Eins-zu-Eins, wenn jedes Element in Y
das Bild von höchstens einem Element in X
ist. f: X -> Y
ist aktiviert, wenn jedes Element in Y
das Abbild mindestens eines Elements in X
ist. f: X -> Y
ist unidirektional, wenn f(x)
für alle Elemente in X
einfach zu berechnen ist, aber für alle Elemente y
in Y
rechnerisch unmöglich zu finden x
so, dass f(x) = y
. f: X -> Y
, in der das Wissen zusätzlicher Informationen (Trapdoor-Informationen) es möglich macht, nach einer beliebigen y
in Y
, an x
in X
so, dass f(x) = y
. Eine Bijektion wird als Werkzeug zum Verschlüsseln von Nachrichten verwendet, und die umgekehrte Bijektion wird zum Entschlüsseln verwendet.
Eine Trapdoor-Einwegfunktion wird für die Schlüsselpaarerzeugung in Kryptosystemen mit öffentlichen Schlüsseln und digitalen Signaturschemata verwendet.
Ein Beispiel für ein Trapdoor-Beton
In RSA ist der öffentliche Schlüssel (e,n)
, wobei n =pq
und p
und q
zwei große, eindeutige Primzahlen sind. e
wird zufällig im Bereich 1 < e < (p - 1)(q - 1)
ausgewählt. Bei Kenntnis von (p - 1)(q - 1)
wird der eindeutige private Schlüssel d
durch Anwendung des erweiterten euklidischen Algorithmus erhalten. Es ist eine Falltür-Einwegfunktion, die es uns ermöglicht, d
von (e,n)
zu erhalten.
Wenn Sie (p - 1)(q - 1)
nicht kennen und trotzdem d
entdecken möchten, müssen Sie n
berücksichtigen. Wenn p
und q
groß sind und sorgfältig ausgewählt werden, sollte das Factoring n
nicht praktikabel sein. Dies ist das RSA-Problem (RSAP).
Aber wo ist die Falltür? Wie Sie vielleicht bemerkt haben, ist die Falltür die Faktoren von n
. Wenn Sie diese Faktoren kennen, können Sie die Einwegfunktion einfach invertieren und d
anzeigen.
Nachrichtenverschlüsselung macht die gesamte Nachricht für jeden außer dem Besitzer des entsprechenden privaten Schlüssels unlesbar.
Wenn Sie eine Nachricht signieren, erstellt sie eine Art Prüfsumme des Nachrichteninhalts in Kombination mit Daten aus dem Schlüssel, die mit einem öffentlichen Schlüssel verifiziert werden können. Dies macht eine Nachricht für niemanden lesbar, aber sie kann bestätigen, dass die Nachricht tatsächlich vom Absender stammt und seitdem nicht verändert wurde.
Natürlich müssen Sie dem öffentlichen Schlüssel vertrauen, aber das ist eine andere Geschichte.
Zu Ihrer ersten Frage: AFAIK ist es theoretisch möglich, eine Public-Key-Kollision zu erzeugen, aber höchst unwahrscheinlich.
Um eine digitale Signatur oder Verschlüsselung zu verwenden, benötigen wir eine digitale ID oder ein digitales Zertifikat oder ein öffentliches Schlüsselzertifikat oder Identitätszertifikat. Es ist ein elektronisches Dokument, das den Besitz eines öffentlichen Schlüssels beweist.
Signing Zertifikat, das als digitale Signatur zwischen Absender und Empfänger fungiert. Wenn wir Daten signieren, schließen wir unsere digitale Signatur mit den Daten wie im Bild gezeigt ein. Es stellt sicher, dass Nachrichten nicht manipuliert wurden.
Bei der Verschlüsselung wird eine Nachricht mithilfe eines Schlüssels (symmetrischer Schlüssel / privater Schlüssel oder öffentlicher Schlüssel) codiert.
img src
R Beispiel A uthority ( RA ), C ertifikat A uthority ( CA ) und V Alidierung A Uthorität ( VA )
DES ( D ata E ncryption S tandard) und Triple DES (eine stärkere Variante von DES), AES (< strong> A erweiterte E ncryption S tandard) sind symmetrische Schlüsselkryptosysteme. Die verwendet den gleichen Schlüssel für die Verschlüsselung und Entschlüsselung.
DSA ( D digitaler S ignature A Algorithmus) und RSA (Ron R Adi S hamir und Leonard A dleman) sind Public-Key-Kryptosysteme, die häufig für die sichere Datenübertragung verwendet werden. DSA bietet nur digitale Signaturen und RSA bietet sowohl digitale Signatur als auch Verschlüsselung.
Jeder private Schlüssel hat einen öffentlichen Schlüssel und jeder öffentliche Schlüssel hat einen privaten Schlüssel, dessen Zuordnung immer eins zu eins ist.
Das Signieren der Nachricht erstellt nur einen Fingerabdruck für die Nachricht, nur um sicherzustellen, dass der Inhalt nicht geändert wurde, aber es hat keine Auswirkung auf die Nachricht selbst und die Nachricht wird niemals verschlüsselt.
Beim Verschlüsseln der Nachricht wird die Verschlüsselung ausgeführt. Sie können eine Nachricht verschlüsseln und gleichzeitig signieren.
Wie bereits in den anderen Antworten erwähnt, sind öffentlicher und privater Schlüssel miteinander gekoppelt. Tatsächlich haben Sie in vielen Verschlüsselungskontexten ein Zahlenpaar mit bestimmten Eigenschaften und können wählen, welche Sie als privat und welche als öffentlichen Schlüssel verwenden möchten. Daher gibt es hier einen gewissen Grad an Einzigartigkeit. (Details können je nach Algorithmus variieren.)
Wenn Sie jedoch über PKIs sprechen, betrachten Sie oft keine öffentlichen Schlüssel, sondern Zertifikate , bei denen es sich im Wesentlichen um Informationspakete (Aussteller, Betreff, Gültigkeitsintervall, Nutzungsbeschränkungen, ...) handelt Schlüssel. Beim Erstellen von Zertifikaten können Sie natürlich verschiedene Zertifikate für denselben öffentlichen Schlüssel erstellen.
Während also private und öffentliche Schlüssel im Wesentlichen eins zu eins sind, können private Schlüssel und Zertifikate Eins-zu-viele sein.
Vielleicht ist dies der Grund für Ihre Eins-zu-eins-Verwirrung.
Tags und Links pki digital-certificate digital-signature