Wie funktioniert also PKI?
Zu verstehen wie PKI funktioniertzu verstehen, ist es wichtig, zu denauf die Grundlagen der Verschlüsselung zurück. In diesem Sinne wollen wir uns mit kryptografischen Algorithmen und digitalen Zertifikaten befassen.
Kryptographische Algorithmen sind definierte, hochkomplexe mathematische Formeln, die zur Ver- und Entschlüsselung von Nachrichten verwendet werden. Sie sind auch die Bausteine der PKI-Authentifizierung. Diese Algorithmen sind unterschiedlich komplex und die frühesten Algorithmen sind älter als die moderne Technologie.
Diesymmetrische Verschlüsselung ist ein einfacher kryptografischer Algorithmus nach heutigen Maßstäben ein einfacher kryptografischer Algorithmus, der jedoch einst als Stand der Technik galt. Tatsächlich nutzte die deutsche Armee ihn während des Zweiten Weltkriegs zur Übermittlung privater Nachrichten. Der Film Das Nachahmungsspiel zeigt eigentlich erklärt recht gut, wie die symmetrische Verschlüsselung funktioniertfunktioniert und welche Rolle sie während des Krieges spielte.
Bei der symmetrischen Verschlüsselung wird eine Nachricht, die im Klartext eingegeben wird, durch mathematische Permutationen verschlüsselt. Die verschlüsselte Nachricht ist schwer zu knacken, weil derselbe Klartextbuchstabe in der verschlüsselten Nachricht nicht immer gleich ausfällt. Zum Beispiel würde die Nachricht "HHH" nicht mit drei gleichen Buchstaben verschlüsselt werden.
Zum Verschlüsseln und Entschlüsseln der Nachricht benötigen Sie denselben Schlüssel, daher der Name symmetrische Verschlüsselung. Während das Entschlüsseln Nachrichten ohne den Schlüssel äußerst schwierig ist, birgt die Tatsache, dass derselbe Schlüssel zum Ver- und Entschlüsseln der Nachricht verwendet werden muss, ein erhebliches Risiko. Denn wenn der Verteilungskanal, über den der Schlüssel weitergegeben wird, kompromittiert wird, ist das gesamte System für sichere Nachrichten gebrochen.
Dieasymmetrische Verschlüsselung oder asymmetrische Kryptografie löst das Austauschproblem, das bei der symmetrischen Verschlüsselung auftrat. Dazu werden zwei verschiedene kryptografische Schlüssel erstellt (daher der Name asymmetrische Verschlüsselung) - ein privater Schlüssel und ein öffentlicher Schlüssel.
Bei der asymmetrischen Verschlüsselung durchläuft eine Nachricht nochmathematische Permutationen, um verschlüsselt zu verschlüsselt, aber wird jedoch ein privater Schlüssel (der nur dem Empfänger bekannt sein sollte) zum Entschlüsseln und ein öffentlicher Schlüssel (der mit jedem geteilt werden kann) zum Verschlüsseln einer Nachricht benötigt.
So funktioniert das in der Praxis:
- Alice möchte Sie verwendet Bobs öffentlichen Schlüssel, um einen verschlüsselten Text zu erzeugen, der nur mit Bobs privatem Schlüssel entschlüsselt werden kann.
- Da nur Bobs privater Schlüssel die Nachricht entschlüsseln kann, kann Alice sie in dem Wissen versenden, dass niemand sie lesen kann - nicht einmal einn ein Lauscher - solange Bob darauf achtet, dass niemand seinen privaten Schlüssel besitzt.
Die asymmetrische Verschlüsselung ermöglicht auch andere Aktionen, die mit der symmetrischen Verschlüsselung schwieriger zu bewerkstelligen sind, wie z. B. digitale Signaturen, die wie folgt funktionieren:
- Bob kannkann eine Nachricht an Alice senden und am Ende eine Signatur mit seinem privaten Schlüssel verschlüsseln.
- Wenn Alice die Nachricht erhält, kann sie Bobs öffentlichen Schlüssel verwenden, um zwei Dinge zu überprüfen:
- Bob oder jemand, der über Bobs privaten Schlüssel verfügt, hat die Nachricht
- Die Nachricht wurde auf dem Wegwährend der Übermittlung, denn wenn sie verändert wird, schlägt die Überprüfung fehl.
In beiden Beispielen hat Alice ihren eigenen Schlüssel nicht erzeugt. Nur durch den Austausch eines öffentlichen Schlüssels kann Alice verschlüsselte Nachrichten an Bob senden und Dokumente überprüfen, die Bob unterzeichnet hat.Wichtig ist, dass diese Aktionen nur in eine Richtung gehen. Um die Aktionen umzukehren, damit Bob private Nachrichten an Alice senden und ihre Unterschrift überprüfen kann, müsste Alice ihren eigenen privaten Schlüssel erzeugen und den entsprechenden öffentlichen Schlüssel weitergeben.
Heute gibt es drei gängige mathematische Eigenschaften, die zur Erzeugung privater und öffentlicher Schlüssel verwendet werden: RSA, ECC und Diffie-Hellman. Jedes dieser Verfahren verwendet unterschiedliche Algorithmen zur Erzeugung von Schlüssel Sie beruhen jedoch alle auf denselben Grundprinzipien, was die Beziehung zwischen öffentlichem und privatem Schlüssel angeht.privaten Schlüssel.
Schauen wir uns den RSA an 2048 Bit Algorithmus als Beispiel. Dieser Algorithmus erzeugt nach dem Zufallsprinzip zwei Primzahlen, die jeweils 1024 Bit lang sind, und multipliziert sie dann miteinander. Die Antwort auf diese Gleichung ist der öffentliche Schlüssel, während die beiden PrimzahlenDie beiden Primzahlen, die die Antwort erzeugt haben, sind der private Schlüssel.
Dieser Ansatz funktioniert, weil es extrem schwierig ist, die Berechnung umzukehren, wenn zwei Primzahlen dieser Größe beteiligt sind, was es relativ einfach macht, den öffentlichen Schlüssel aus dem privaten Schlüssel zu berechnen, aber nEs ist relativ einfach, den öffentlichen Schlüssel aus dem privaten Schlüssel zu berechnen, aber nahezu unmöglich, den privaten Schlüssel aus dem öffentlichen Schlüssel zu berechnen.
Sowohl die symmetrische als auch die asymmetrische Verschlüsselung werden heute häufig verwendet. Da die asymmetrische Verschlüsselung viel langsamer ist als die symmetrische, werden die beiden oft zusammen verwendet. Zum Beispiel kann jemand eine Nachricht mit symmetrischer Verschlüsselung verschlüsseln und dann den Schlüssel um die Nachricht mit asymmetrischer Verschlüsselung zu entschlüsseln (was den Entschlüsselungsprozess beschleunigt, da der Schlüssel viel kleiner ist als die gesamte Nachricht).
Heutzutage ermöglicht die asymmetrische Verschlüsselung Dinge wie:
- S/MIME-verschlüsselte E-Mail
- Unterzeichnung des Codes
- Bitcoin/Blockchain
- Signal privater Bote
- Digitale Signaturen
Vor allem die asymmetrische Verschlüsselung ist die Grundlage der PKI.
Sowohl die symmetrische als auch die asymmetrische Verschlüsselung haben eine große HerausforderungHerausforderung: Woher weiß man, dass der öffentliche Schlüssel, den man tatsächlich der Person gehört, von der Sie glauben, dass sie es ist?
Auch bei der asymmetrischen Verschlüsselung besteht das Risiko des "Mannes in der Mitte". Was wäre zum Beispiel, wenn jemand den öffentlichen Schlüssel von Bob abfängt, seinen eigenen privaten Schlüssel erstellt und dann einen neuen öffentlichen Schlüssel für Alice generiert? In diesem Fall würde Alice Nachrichten für Bob verschlüsseln, der "Man in the Middle" könnte sie entschlüsseln, verändern und dann erneut verschlüsseln, und weder Alice noch Bob wären schlauer.
Die PKI löst dieses Problemhallenproblem, indem sie digitale Zertifikate ausstellt und verwaltet, die die Identität von Personen, Geräten oder Anwendungen bestätigen, die private Schlüssel und die entsprechenden öffentlichen Schlüssel besitzen. Kurz gesagt, die PKI ordnet den Schlüsseln Identitäten zu, so dass die Empfänger die Eigentümer genau überprüfen können.die Besitzer überprüfen können. Diese Überprüfung gibt den Benutzern die Gewissheit, dass, wenn sie eine verschlüsselte Nachricht an diese Person (oder dieses Gerät) (oder Gerät) senden, der beabsichtigte Empfänger derjenige ist, der tatsächlich lesen derjenige ist, der sie tatsächlich liest, und nicht irgendjemand anderes, der möglicherweise als "Mann in der Mitte" sitzt.
PKI verwaltet Verschlüsselungsschlüssel, indem sie digitale Zertifikate ausstellt und verwaltet. Digitale Zertifikate werden auch als X.509-Zertifikate und PKI-Zertifikate bezeichnet.
Wie auch immer Sie sie bezeichnen, ein digitales Zertifikat hat diese Eigenschaften:
- ist ein elektronisches Äquivalent zum Führerschein oder Reisepass
- Enthält Informationen über eine natürliche oder juristische Person
- Wird ausgestellt von einer vertrauenswürdigen Drittpartei
- ist manipulationssicher
- Enthält Informationen, die seine Authentizität beweisen können
- Kann zum Emittenten zurückverfolgt werden
- Hat ein Verfallsdatum
- Wird jemandem (oder etwas) zur Bestätigung vorgelegt
Der einfachste Weg, um zu verstehen, wie PKI digitale Zertifikate zur Überprüfung von Identitäten regelt, ist, sie sich als eine digitale Kfz-Zulassungsstelle vorzustellen. Ähnlich wie die Kfz-Zulassungsstelle führt PKI eine vertrauenswürdige dritte Partei ein, die Entscheidungen über die Zuordnung von Identitäten zu einem digitalen Zertifikat trifft. Und ähnlich wie Führerscheine sind digitale Zertifikate schwer zu fälschen, enthalten Informationen zur Identifizierung des Besitzers und haben ein Ablaufdatum.
Schließlich ist es Sache der Person, die das digitale Zertifikat überprüft, zu bestimmen, wie dieser Überprüfungsprozess sein sollte und wie sorgfältig das Zertifikat je nach Anwendungsfall überprüft werden sollte.
Zertifizierungsstellen (CAs) sind für die Erstellung digitaler Zertifikate verantwortlich und besitzen die Richtlinien, Praktiken und Verfahren für Empfänger zu überprüfen und die Zertifikate auszustellen.
Konkret bestimmen die Eigentümer und Betreiber einer CA:
- Überprüfungsmethoden für Zertifikatsempfänger
- Arten der ausgestellten Zertifikate
- Im Zertifikat enthaltene Parameter
- Sicherheits- und Betriebsverfahrenres
Sobald die Zertifizierungsstellen diese Entscheidungen getroffen haben, müssen sie ihre Richtlinien formell dokumentieren. Von da an liegt es an den Verbrauchern von Zertifikaten zu entscheiden, wie viel Vertrauen sie in die Zertifikate einer bestimmten CA setzen wollen.
Der Prozess der Zertifikatserstellung stützt sich stark auf die asymmetrische Verschlüsselung und funktioniert wie folgt:
- Ein privater Schlüssel wird erstellt und der zugehörige öffentliche Schlüssel wird errechnet
- Die CA fragt alle identifizierenden Attribute des Besitzers des privaten Schlüssels ab und prüft diese Informationen
- Der öffentliche Schlüssel und die identifizierenden Attribute werden in einer Zertifikatsanforderung (Certificate Signing Request, CSR) kodiert.
- Die CSR wird vom Eigentümer des Schlüssels signiert, um den Besitz des privaten Schlüssels nachzuweisen.
- Die ausstellende CA validiert den Antrag und signiert das Zertifikat mit dem privaten Schlüssel von CA's eigenem privaten Schlüssel
Jeder kann den öffentlichen Teil eines Zertifikats verwenden, um zu überprüfen, ob es tatsächlich ausgestellt von der Zertifizierungsstelle ausgestellt wurde, indem er feststellt, wem der zur Unterzeichnung des Zertifikats verwendete private Schlüssel gehört. Und wenn sie diese Zertifizierungsstelle für vertrauenswürdig halten, können sie überprüfen, ob alles, was sie an den Zertifikatsinhaber tatsächlich und dass alles, was mit dem privaten Schlüssel des Zertifikatsinhabers signiert wurde, auch tatsächlich von dieser Person bzw. diesem Gerät signiert wurde.
Ein wichtiger Teil dieses Prozesses ist, dass die CA selbst einen eigenen privatenSchlüssel und den dazugehörigen öffentlichen Schlüssel hat, was CA-Hierarchien erforderlich macht.
Da jede CA ein eigenes Zertifikat besitzt, werden durch CA-Hierarchien - in denen CAs Zertifikate für andere CAs ausstellen - Vertrauensschichten geschaffen.Zertifikaten für andere CAs ausstellen. Dieser Prozess ist jedoch nicht zirkulär, da es letztendlich ein Stammzertifikat gibt. Normalerweise gibt es bei Zertifikaten einen Aussteller und ein Subjekt als zwei getrennte Parteien, aber bei Root-CAs sind dies die gleichen Parteien, was bedeutet, dass Root-Zertifikate selbst signiert sind.Zertifikate selbst signiert sind. Folglich muss man der Stammzertifizierungsstelle vertrauen, um allen Zertifikaten zu vertrauen, die auf sie zurückgehen.
All dies macht die Sicherheit privater Schlüssel für CAs besonders wichtig. Wenn ein privater Schlüssel in die falschen Hände gerät, ist das in jedem Fall schlimm, aber besonders schlimm ist es verheerend für CAs, denn dann kann jemand in betrügerischer Absicht Zertifikate ausstellen.
Sicherheitskontrollen und dieDie Auswirkungen eines Verlusts werden noch gravierender, je höher man in der CA-Hierarchie aufsteigt, da es keine Möglichkeit gibt, ein Root-Zertifikat zu widerrufen. Sollte eine Stammzertifizierungsstelle kompromittiert werden, muss das Unternehmen diese Sicherheitsverletzung öffentlich machen. Aus diesem Grund haben Root-CAs die strengsten Sicherheitsmaßnahmen.
Um die höchsten Sicherheitsstandards zu erfüllen, sollten Root-CAs fast nie online sein. Als beste Praxis sollten Root-CAs ihre privaten Schlüssel in Tresoren auf NSA-Niveau in dem neuesten Stand der Technik Rechenzentren mit 24/7-SicherheitSicherheit durch Kameras und physische Wächter. All diese Alle diese Maßnahmen mögen extrem erscheinen, sind aber notwendig, um die Authentizität eines Root-Zertifikats zu schützen.
Obwohl eine Root-CA 99,9 % der Zeit offline sein sollte, gibt es bestimmte Fälle, in denen sie online sein muss. Insbesondere müssen Root-CAs online gehen, um öffentliche Schlüssel, private Schlüssel und neue Zertifikate zu erstellen und um sicherzustellen, dass ihr eigenes Schlüsselmaterial noch rechtmäßig ist und nicht beschädigt oder in irgendeiner Weise kompromittiert wurde. Idealerweise sollten root CAs diese Tests etwa 2-4 Mal pro Jahr durchführen.
Schließlich ist es wichtig zu wissen, dass Stammzertifikate ablaufen. Root-Zertifikate haben in der Regel eine Lebensdauer von 15-20 Jahren (im Vergleich zu etwa sieben Jahren für Zertifikate von untergeordneten Zertifizierungsstellen). Die EinführungDie Einführung eines neuen Stammzertifikats und der Aufbau von Vertrauen in dieses ist nicht einfach, aber es ist wichtig, dass diese Zertifikate ablaufen, denn je länger sie laufen, desto anfälliger werden sie für Sicherheitsrisiken.
Eine CA-Hierarchieierarchie umfasst in der Regel zwei Ebenen, die der Kette Wurzelzertifizierungsstelle → Untergeordnete Zertifizierungsstellen → Endteilnehmerzertifikate folgen.
A zweistufige Hierarchie ist zumindest absolut notwendig, da eine Root-CA 99,9 % der Zeit offline sein sollte.% der Zeit offline sein sollte, was für untergeordnete CAs, die regelmäßig Zertifikate ausstellen, ein schwer zu erfüllender Standard ist, da sie online sein müssen, um neue Zertifikate auszustellen.
Während die untergeordneten Verwaltungsbehörden das beste tun, um ihre Zertifikate zu schützen, sind sie mit einem viel hhöheres Sicherheitsrisiko als Root-CAs. Im Gegensatz zu Root-CAs haben untergeordnete CAs jedoch die Möglichkeit, Zertifikate zu widerrufen, so dass ein Sicherheitsverstoß leichter zu beheben ist als bei Root-CAs (die keine Zertifikate widerrufen können).
Davon abgesehen, a zweistufige Hierarchie in der Regel auch für die Sicherheit ausreichend. Denn je mehr Ebenen in einer CA-Hierarchie vorhanden sind, desto schwieriger wird die Nutzbarkeit und Skalierbarkeit der PKI, da die Richtlinien und Verfahren zur Verwaltung der PKI durch mehr Ebenen komplexer werden.über die PKI.
Wenn eine untergeordnete CA in irgendeiner Weise kompromittiert wird oder ein Zertifikat aus irgendeinem Grund widerrufen will, muss sie eine Widerrufsliste aller ausgestellten Zertifikate veröffentlichen, die nicht vertrauenswürdig sein sollen.werden sollten. Diese Liste wird als Zertifikatssperrliste (Certificate Revocation List, CRL) bezeichnet und ist für das PKI-Design von entscheidender Bedeutung.
CAs müssen zwar CRLs herausgeben, aber es liegt im Ermessen der Zertifikatsnutzer, ob sie diese Listen prüfen und wie sie reagieren, wenn ein Zertifikat widerrufen wurde. Dies ist wieder einmal ein Paradebeispiel dafür, wie digitale Zertifikate ähnlich sind wie Führerscheinen da der Überprüfungsprozess in der Regel von der Notwendigkeit des Zertifikats abhängt (denken Sie an den Unterschied zwischen der Verwendung eines kürzlich abgelaufenen Führerscheins zum Kauf von Alkohol und zum Passieren einer TSA-Kontrolle).
In vielen Fällen entscheiden sich Zertifikatsnutzer dafür, CRLs nicht zu prüfen zu prüfen, weil dies den Authentifizierungsprozess verlangsamt. Zertifikatsnutzer können auch wählen, wie weit sie innerhalb der CA-Hierarchie bei der Prüfung zurückgehen wollen, wobei sie bedenken müssen, dass der Prozess umso länger dauert, je weiter sie zurückgehen.
Obwohl die Überprüfung von CRLs - und zwar bis hin zur Stammzertifizierungsstelle - den Authentifizierungsprozess verlangsamt, wird dies immer mehr zum Standard, da immer mehr Dinge online gehen und sich auf digitale Zertifikate für die Sicherheit verlassen. Nehmen wir den Fall der Webbrowser. Viele Webbrowser pViele Webbrowser überprüften früher keine Zertifikate, weil sie das Surfen verlangsamten, aber jetzt sind diese Überprüfungen alltäglich, da die Internetsicherheit immer wichtiger wird.
Entscheidend ist, dass die CRLs selbst ein Ablaufdatum haben, und wenn eine CRL abläuft, wird jedesZertifikat, das von der CA ausgestellt wurde, ungültig. Während sich CAs in erster Linie darauf konzentrieren, sicherzustellen, dass Zertifikate nicht ablaufen - was wichtig ist - ist es auch wichtig, dass sie sicherstellen, dass CRLs nicht ablaufen, denn wenn das passiert, kann die gesamte PKI zusammenbrechen. Wenn Root-CAs online gehen, überprüfen sie auch, ob die CRLs der untergeordneten CAs aus diesem Grund nicht abgelaufen sind.
Heute ist jedes Gerät und System, das online geht online geht (z. B. Telefone, Laptops, Server, Betriebssysteme) muss mit Zertifikaten interagieren.mit Zertifikaten arbeiten. Diese weit verbreitete Interaktion mit Zertifikaten hat zu dem Konzept eines vertrauenswürdigen Stammzertifikats in Geräten und Betriebssystemen geführt.
So verfügen beispielsweise alle Microsoft-Computer über einen vertrauenswürdigen Root Store. Jedes Zertifikat, das auf diesenack zu diesem vertrauenswürdigen Root Store zurückverfolgt werden kann, wird von dem Computer automatisch als vertrauenswürdig eingestuft. Jedes Gerät und Betriebssystem kommt Geräte und Betriebssysteme verfügen über einen voreingestellten vertrauenswürdigen Stammdatenspeicher, aber die Computerbesitzer können Regeln festlegen, um zusätzlichen Zertifikaten zu vertrauen oder um Zertifikate, die als vertrauenswürdig voreingestellt sind.