DPKI: Beseitigung der Nachteile einer zentralisierten PKI mit Blockchain



Es ist kein Geheimnis, dass eines der gängigen Hilfsmittel, ohne das Datenschutz in offenen Netzwerken nicht möglich ist, die Technologie digitaler Zertifikate ist. Es ist jedoch kein Geheimnis, dass der Hauptnachteil dieser Technologie das bedingungslose Vertrauen in die Zentren ist, die digitale Zertifikate ausstellen. Andrey Chmora, Direktor für Technologie und Innovation bei ENCRY, hat einen neuen Ansatz für die Organisation der Public-Key-Infrastruktur ( PKI ) vorgeschlagen, der zur Beseitigung aktueller Mängel beiträgt und die verteilte Registrierungstechnologie (Blockchain) verwendet. Aber das Wichtigste zuerst.

Wenn Sie mit den Funktionsprinzipien der vorhandenen Infrastruktur für öffentliche Schlüssel vertraut sind und deren Hauptmängel kennen, können Sie sofort mit der Beschreibung der von uns vorgeschlagenen Änderungen fortfahren.

Was sind digitale Signaturen und Zertifikate?
Bei der Interaktion im Internet werden immer Daten übertragen. Wir alle sind daran interessiert, dass die Daten sicher übertragen werden. Aber was ist Sicherheit? Die am häufigsten nachgefragten Sicherheitsdienste sind Vertraulichkeit, Integrität und Authentizität. Hierzu werden derzeit Methoden der asymmetrischen Kryptographie oder der Kryptographie mit einem öffentlichen Schlüssel verwendet.

Um diese Methoden anwenden zu können, müssen die Interaktionsthemen zunächst zwei einzelne Paarschlüssel haben - öffentlich und geheim. Mit ihrer Hilfe werden die oben genannten Sicherheitsdienste bereitgestellt.

Wie wird die Vertraulichkeit der Informationsübertragung erreicht? Vor dem Senden von Daten verschlüsselt der sendende Teilnehmer offene Daten mit dem öffentlichen Schlüssel des Empfängers (kryptografisch konvertiert) und entschlüsselt den empfangenen Chiffretext mit einem Paar geheimer Schlüssel.



Wie wird die Integrität und Authentizität der übertragenen Informationen erreicht? Um dieses Problem zu lösen, wurde ein weiterer Mechanismus erstellt. Offene Daten werden nicht verschlüsselt, aber damit wird das Ergebnis der Anwendung einer kryptografischen Hash-Funktion - ein „komprimiertes“ Bild der Eingabedatensequenz - verschlüsselt. Das Ergebnis eines solchen Hashings wird als "Digest" bezeichnet, und seine Verschlüsselung wird für den geheimen Schlüssel des sendenden Teilnehmers ("Zeuge") durchgeführt. Die Digest-Verschlüsselung führt zu einer digitalen Signatur. Es wird zusammen mit einfachem Text an den Teilnehmer-Empfänger („Prüfer“) übertragen. Er entschlüsselt die digitale Signatur auf dem öffentlichen Schlüssel des Zeugen und vergleicht sie mit dem Ergebnis der Anwendung der kryptografischen Hash-Funktion, die der Prüfer unabhängig anhand der empfangenen offenen Daten berechnet. Wenn sie übereinstimmen, bedeutet dies, dass die Daten in einer authentischen und integralen Form genau vom sendenden Teilnehmer übertragen und vom Angreifer nicht geändert wurden.



Die meisten Ressourcen, die mit personenbezogenen Daten und Zahlungsinformationen arbeiten (Banken, Versicherungsunternehmen, Luftfahrtunternehmen, Zahlungssysteme sowie Regierungsportale wie der Steuerdienst), verwenden aktiv asymmetrische Kryptografiemethoden.

Was hat ein digitales Zertifikat damit zu tun? Alles ist einfach. Im ersten und im zweiten Prozess sind öffentliche Schlüssel beteiligt, und da sie eine zentrale Rolle spielen, ist es sehr wichtig sicherzustellen, dass die Schlüssel wirklich dem Absender (dem Zeugen bei Überprüfung der Signatur) oder dem Empfänger gehören und nicht durch die Schlüssel der Angreifer ersetzt werden. Dafür gibt es digitale Zertifikate, die die Authentizität und Integrität des öffentlichen Schlüssels gewährleisten können.

Hinweis: Die Authentizität und Integrität eines öffentlichen Schlüssels wird genauso überprüft wie die Authentizität und Integrität offener Daten, dh mithilfe einer elektronischen digitalen Signatur (EDS).

Woher kommen digitale Zertifikate?
Die Ausstellung und Pflege digitaler Zertifikate liegt in der Verantwortung vertrauenswürdiger Zertifizierungsstellen oder Zertifizierungsstellen. Der Antragsteller beantragt die Ausstellung eines Zertifikats in der Zertifizierungsstelle, übergibt die Identifikation im Registration Center (CR) und erhält ein Zertifikat in der Zertifizierungsstelle. Die Zertifizierungsstelle garantiert, dass der öffentliche Schlüssel aus dem Zertifikat genau der Entität gehört, für die er ausgestellt wurde.

Wenn Sie die Authentizität des öffentlichen Schlüssels nicht bestätigen, kann der Angreifer ihn während der Übertragung / Speicherung dieses Schlüssels durch seinen eigenen ersetzen. Wenn die Ersetzung stattgefunden hat, kann der Angreifer alles entschlüsseln, was der sendende Teilnehmer an den empfangenden Teilnehmer sendet, oder die offenen Daten nach eigenem Ermessen ändern.

Digitale Zertifikate werden überall dort eingesetzt, wo asymmetrische Kryptographie vorliegt. Eines der am häufigsten verwendeten digitalen Zertifikate sind SSL-Zertifikate für den sicheren Interaktionsmodus über das HTTPS-Protokoll. Hunderte von Unternehmen, die in verschiedenen Ländern registriert sind, beschäftigen sich mit der Ausstellung von SSL-Zertifikaten. Der Hauptanteil entfällt auf fünf bis zehn große vertrauenswürdige Zentren: IdenTrust, Comodo, GoDaddy, GlobalSign, DigiCert, CERTUM, Actalis, Secom und Trustwave.

CA und CR sind PKI-Komponenten, zu denen auch gehören:

  • Open Directory - Eine öffentlich zugängliche Datenbank, die die zuverlässige Speicherung digitaler Zertifikate ermöglicht.
  • Die Zertifikatsperrliste ist eine öffentlich zugängliche Datenbank, die eine zuverlässige Speicherung digitaler Zertifikate von gesperrten öffentlichen Schlüsseln ermöglicht (z. B. aufgrund des Kompromisses eines privaten geheimen Schlüssels). Infrastrukturakteure können selbst auf diese Datenbank zugreifen oder das spezielle Online Certification Status Protocol (OCSP) verwenden, das den Überprüfungsprozess vereinfacht.
  • Zertifikatsbenutzer - Entitäten mit PKI-Service, die eine Benutzervereinbarung mit der Zertifizierungsstelle geschlossen haben und die digitale Signatur überprüfen und / oder Daten basierend auf einem öffentlichen Schlüssel aus dem Zertifikat verschlüsseln.
  • Abonnenten sind Entitäten mit PKI-Service, die einen privaten Schlüssel, ein öffentliches Schlüsselpaar aus dem Zertifikat, besitzen und mit der Zertifizierungsstelle eine Abonnentenvereinbarung geschlossen haben. Der Abonnent kann gleichzeitig Benutzer des Zertifikats sein.

Daher sind die vertrauenswürdigen Entitäten der Public-Key-Infrastruktur, zu denen die Zertifizierungsstelle, die CR und offene Verzeichnisse gehören, verantwortlich für:

1. Überprüfung der Identität des Antragstellers.
2. Profilerstellung für ein Public-Key-Zertifikat.
3. Ausstellung eines Zertifikats eines öffentlichen Schlüssels für den Antragsteller, dessen Identität authentisch überprüft wird.
4. Ändern Sie den Status eines Public-Key-Zertifikats.
5. Bereitstellung von Informationen zum aktuellen Status des Public-Key-Zertifikats.

PKI-Nachteile, was sind sie?
Ein grundlegender Nachteil von PKI ist das Vorhandensein vertrauenswürdiger Entitäten.
Benutzer müssen der Zertifizierungsstelle und der MD auf jeden Fall vertrauen . Wie die Praxis zeigt, ist bedingungsloses Vertrauen jedoch mit schwerwiegenden Konsequenzen verbunden.

In den letzten zehn Jahren sind in diesem Bereich mehrere große Skandale im Zusammenhang mit der Verwundbarkeit der Infrastruktur aufgetreten.

- Im Jahr 2010 verbreitete sich Stuxnet-Malware im Netzwerk, das mit gestohlenen digitalen Zertifikaten von RealTek und JMicron signiert wurde.

- Im Jahr 2017 beschuldigte Google Symantec, eine große Anzahl gefälschter Zertifikate ausgestellt zu haben. Zu dieser Zeit war Symantec eine der größten CAs in Bezug auf die Leistung. Im Google Chrome 70-Browser wurde die Unterstützung für Zertifikate, die von diesem Unternehmen und seinen verbundenen Unternehmen GeoTrust und Thawte ausgestellt wurden, bis zum 1. Dezember 2017 eingestellt.

Infolgedessen wurden alle Zertifizierungsstellen kompromittiert - sowohl die Zertifizierungsstellen selbst als auch Benutzer und Abonnenten. Das Vertrauen in die Infrastruktur wurde untergraben. Darüber hinaus können digitale Zertifikate in politischen Konflikten blockiert werden, was sich auch auf die Arbeit vieler Ressourcen auswirkt. Genau dies wurde vor einigen Jahren in der Verwaltung des russischen Präsidenten befürchtet, wo 2016 die Möglichkeit diskutiert wurde, ein staatliches Zertifizierungszentrum einzurichten, das SSL-Zertifikate für Websites in Runet ausstellt. Der aktuelle Stand der Dinge ist so, dass sogar staatliche Portale in Russland digitale Zertifikate verwenden, die von den amerikanischen Unternehmen Comodo oder Thawte (der „Tochter“ von Symantec) ausgestellt wurden.

Es gibt ein weiteres Problem - das Problem der primären Authentifizierung (Authentifizierung) von Benutzern . Wie identifiziere ich einen Benutzer, der sich bei der Zertifizierungsstelle mit der Anforderung eines digitalen Zertifikats ohne direkten persönlichen Kontakt beworben hat? Dies wird nun in Abhängigkeit von den Fähigkeiten der Infrastruktur situativ entschieden. Aus offenen Registern (z. B. Informationen über juristische Personen, die Zertifikate anfordern) wird etwas entnommen, wenn Antragsteller natürliche Personen sind, können Bankbüros oder Postämter verwendet werden, deren Identität durch Ausweisdokumente, z. B. einen Reisepass, bestätigt wird.

Das Problem der Fälschung von Berechtigungsnachweisen zum Zwecke der Identitätswechsel gehört zur Kategorie der grundlegenden. Beachten Sie, dass es aus informationstheoretischen Gründen keine vollständige Lösung für dieses Problem gibt: Ohne a priori verlässliche Informationen ist es unmöglich, die Echtheit des einen oder anderen Subjekts zu bestätigen oder zu leugnen. Zur Überprüfung ist in der Regel eine Reihe von Unterlagen vorzulegen, aus denen die Identität des Antragstellers hervorgeht. Es gibt viele verschiedene Überprüfungsmethoden, aber keine bietet eine vollständige Garantie für die Echtheit von Dokumenten. Dementsprechend kann auch nicht garantiert werden, dass die Echtheit der Identität des Antragstellers bestätigt wird.

Wie können diese Mängel beseitigt werden?
Wenn die PKI-Probleme in ihrer aktuellen Situation durch Zentralisierung erklärt werden können, ist es logisch anzunehmen, dass eine Dezentralisierung dazu beitragen würde, die angegebenen Mängel teilweise zu beseitigen.

Dezentralisierung bedeutet nicht die Anwesenheit vertrauenswürdiger Akteure. Wenn Sie eine dezentrale Infrastruktur mit öffentlichen Schlüsseln erstellen ( dezentrale Infrastruktur für öffentliche Schlüssel , DPKI ), benötigen Sie weder eine Zertifizierungsstelle noch eine Zentrale . Wir geben das Konzept eines digitalen Zertifikats auf und verwenden eine verteilte Registrierung, um Informationen über öffentliche Schlüssel zu speichern. In unserem Fall nennen wir ein Register eine lineare Datenbank, die aus separaten Datensätzen (Blöcken) besteht, die durch Blockchain-Technologie verbunden sind. Anstelle eines digitalen Zertifikats führen wir das Konzept der „Benachrichtigung“ ein.

Wie der Prozess des Empfangens, Überprüfens und Stornierens von Benachrichtigungen im vorgeschlagenen DPKI aussehen wird:

1. Jeder Antragsteller sendet selbst einen Antrag auf Benachrichtigung, indem er bei der Registrierung ein Formular ausfüllt und anschließend eine Transaktion erstellt, die in einem speziellen Pool gespeichert ist.

2. Informationen über den öffentlichen Schlüssel sowie die Details des Eigentümers und andere Metadaten werden in einer verteilten Registrierung und nicht in einem digitalen Zertifikat gespeichert, für das die Zertifizierungsstelle für die Ausstellung in einer zentralisierten PKI verantwortlich ist.

3. Die Identität des Antragstellers wird nachträglich durch die gemeinsamen Bemühungen der DPKI-Benutzergemeinschaft und nicht der CR überprüft.

4. Nur der Eigentümer einer solchen Benachrichtigung kann den Status eines öffentlichen Schlüssels ändern.

5. Jeder kann auf die verteilte Registrierung zugreifen und den aktuellen Status des öffentlichen Schlüssels überprüfen.

Hinweis: Auf den ersten Blick scheint die Identitätsprüfung der Community zu unzuverlässig zu sein. Wir müssen uns jedoch daran erinnern, dass derzeit alle Nutzer digitaler Dienste sicherlich einen digitalen Fußabdruck hinterlassen werden und dieser Prozess nur noch an Stärke gewinnen wird. Offene elektronische Register von juristischen Personen, Karten, Digitalisierung von Geländebildern und soziale Netzwerke sind öffentlich verfügbare Tools. Sie werden bereits erfolgreich bei Ermittlungen von Journalisten und Strafverfolgungsbehörden eingesetzt. Zum Beispiel reicht es aus, an die Ermittlungen von Bellingcat oder des gemeinsamen Untersuchungsteams JIT zu erinnern, das die Umstände des Absturzes der malaysischen Boeing untersucht.

Wie funktioniert eine dezentrale Infrastruktur mit öffentlichen Schlüsseln in der Praxis? Lassen Sie uns auf die Beschreibung der Technologie selbst eingehen, die wir 2018 patentiert haben, und unser Know-how zu Recht berücksichtigen.

Stellen Sie sich vor, es gibt einen Eigentümer, der viele öffentliche Schlüssel besitzt, wobei jeder Schlüssel eine bestimmte Transaktion ist, die in der Registrierung gespeichert ist. Wie kann man in Abwesenheit einer Zertifizierungsstelle verstehen, dass alle Schlüssel diesem bestimmten Eigentümer gehören? Um dieses Problem zu lösen, wird eine Nulltransaktion erstellt, die Informationen über den Eigentümer und seine Brieftasche enthält (von der die Provision für die Platzierung der Transaktion in der Registrierung abgebucht wird). Eine Nulltransaktion ist eine Art „Anker“, an den die folgenden Transaktionen mit Daten zu öffentlichen Schlüsseln angehängt werden. Jede solche Transaktion enthält eine spezielle Datenstruktur oder auf andere Weise eine Benachrichtigung.

Die Benachrichtigung ist ein strukturierter Datensatz, der aus Funktionsfeldern besteht und Informationen über den öffentlichen Schlüssel des Eigentümers enthält, dessen Beständigkeit durch Platzieren in einem der zugehörigen Einträge der verteilten Registrierung gewährleistet wird.

Die nächste logische Frage ist, wie eine Nulltransaktion gebildet wird. Eine Nulltransaktion ist - wie die nachfolgenden - eine Aggregation von sechs Datenfeldern. Während der Bildung einer Nulltransaktion ist ein Schlüsselpaar der Brieftasche (öffentliche und geheime Schlüsselschlüssel) beteiligt. Dieses Schlüsselpaar wird in dem Moment angezeigt, in dem der Benutzer seine Brieftasche registriert, von der die Provision für die Buchung einer Nulltransaktion in der Registrierung und - anschließend - Vorgänge mit Benachrichtigungen abgebucht wird.



Wie in der Abbildung gezeigt, wird der Digest des öffentlichen Brieftaschenschlüssels durch sukzessives Anwenden der Hash-Funktionen SHA256 und RIPEMD160 generiert. Hier ist RIPEMD160 für die kompakte Darstellung von Daten verantwortlich, deren Bitkapazität 160 Bit nicht überschreitet. Dies ist wichtig, da die Registrierung keine billige Datenbank ist. Der öffentliche Schlüssel selbst wird in das fünfte Feld eingegeben. Das erste Feld enthält Daten, die eine Verbindung mit der vorherigen Transaktion herstellen. Bei einer Nulltransaktion enthält dieses Feld nichts, was es von nachfolgenden Transaktionen unterscheidet. Das zweite Feld enthält die Daten zum Überprüfen der Transaktionskonnektivität. Der Kürze halber werden wir die Daten des ersten und zweiten Feldes "Bündel" bzw. "Prüfung" nennen. Der Inhalt dieser Felder wird durch die iterative Hashing-Methode generiert, wie am Beispiel der Verknüpfung der zweiten und dritten Transaktion in der folgenden Abbildung gezeigt.



Daten aus den ersten fünf Feldern werden durch eine elektronische digitale Signatur zertifiziert, die mit dem geheimen Schlüssel der Brieftasche generiert wird.

Alles, die Nulltransaktion wird an den Pool gesendet und nach einer erfolgreichen Überprüfung (wie in der folgenden Abbildung gezeigt) in die Registrierung eingegeben.



Jetzt können Sie die folgenden Transaktionen damit verknüpfen. Überlegen Sie, wie andere Transaktionen als Null gebildet werden.



Das erste, was Ihnen wahrscheinlich aufgefallen ist, war die Fülle an Schlüsselpaaren. Zusätzlich zu dem bereits bekannten Schlüsselpaar der Brieftasche werden gewöhnliche und offizielle Schlüsselpaare verwendet.

Ein gewöhnlicher öffentlicher Schlüssel ist der, für den tatsächlich alles gestartet wurde. Dieser Schlüssel ist an verschiedenen Verfahren und Prozessen beteiligt, die sich in der Umgebung abspielen (Bankgeschäfte und andere Transaktionen, Dokumentenfluss usw.). Beispielsweise kann ein geheimer Schlüssel aus einem gewöhnlichen Paar verwendet werden, um digitale Signaturen verschiedener Dokumente - Zahlungsaufträge usw. und öffentlich verfügbar - zu generieren, um diese digitale Signatur bei späterer Ausführung dieser Bestellungen zu überprüfen, sofern sie gültig ist.

Ein Geschäftspaar wird an eine registrierte DPKI-Einheit ausgegeben. Der Name dieses Paares entspricht seinem Zweck. Beachten Sie, dass beim Generieren / Überprüfen einer Nulltransaktion keine Serviceschlüssel verwendet werden.

Wir werden noch einmal den Zweck der Schlüssel klären:

  1. Brieftaschenschlüssel werden verwendet, um sowohl eine Null- als auch eine andere Nicht-Null-Transaktion zu generieren / zu überprüfen. Der geheime Schlüssel der Brieftasche ist nur dem Brieftaschenbesitzer bekannt, der gleichzeitig Eigentümer vieler gewöhnlicher öffentlicher Schlüssel ist.
  2. Ein einzelner öffentlicher Schlüssel ähnelt in seinem Zweck einem öffentlichen Schlüssel, für den ein Zertifikat in einer zentralen PKI ausgestellt wird.
  3. Das Service-Schlüsselpaar gehört DPKI. Der geheime Schlüssel wird an registrierte Unternehmen ausgegeben und zur Bildung elektronischer digitaler Transaktionen verwendet (mit Ausnahme von Null). Mit "Öffentlich" wird die digitale Signatur einer Transaktion überprüft, bevor sie in die Registrierung aufgenommen wird.

Somit gibt es zwei Gruppen von Schlüsseln. Die erste umfasst Serviceschlüssel und Brieftaschenschlüssel - sie sind nur im Zusammenhang mit DPKI sinnvoll. Die zweite Gruppe umfasst normale Schlüssel - ihr Umfang kann variieren und hängt von den Anwendungen ab, in denen sie verwendet werden. Gleichzeitig stellt DPKI die Integrität und Authentizität normaler öffentlicher Schlüssel sicher.

Hinweis: Ein Service-Schlüsselpaar ist möglicherweise verschiedenen DPKI-Entitäten bekannt. Zum Beispiel kann es für alle gleich sein. Aus diesem Grund werden beim Generieren der Signatur jeder Transaktion ungleich Null zwei geheime Schlüssel verwendet, von denen einer der Brieftaschenschlüssel ist. Dies ist nur dem Brieftaschenbesitzer bekannt, der auch Eigentümer vieler gewöhnlicher öffentlicher Schlüssel ist. Alle Schlüssel haben ihre eigene Bedeutung. Beispielsweise können Sie jederzeit nachweisen, dass eine Transaktion von einer registrierten DPKI-Entität in das Register eingegeben wurde, da die Signatur unter Verwendung eines Geheimdienstschlüssels generiert wurde. Und es kann keinen Missbrauch wie einen DOS-Angriff geben, da der Eigentümer für jede Transaktion bezahlt.

Alle Transaktionen, die auf die Null folgen, werden auf ähnliche Weise generiert: Ein öffentlicher Schlüssel (jedoch keine Brieftasche wie bei einer Nulltransaktion, sondern von einem normalen Schlüsselpaar) wird über zwei Hash-Funktionen SHA256 und RIPEMD160 ausgeführt. So werden die Daten des dritten Feldes gebildet. Begleitinformationen werden in das vierte Feld eingegeben (z. B. Informationen zum aktuellen Status, Gültigkeitszeiträumen, Zeitstempel, Kennungen der verwendeten kryptografischen Algorithmen usw.). Im fünften Feld der öffentliche Schlüssel aus dem Dienstschlüsselpaar. Mit seiner Hilfe wird dann das EDS überprüft, so dass es repliziert wird. Wir begründen die Notwendigkeit eines solchen Ansatzes.

Denken Sie daran, dass eine Transaktion in den Pool eingegeben und dort gespeichert wird, bis sie verarbeitet wird. Die Speicherung im Pool ist mit einem gewissen Risiko verbunden - diese Transaktionen können gefälscht werden. Der Eigentümer zertifiziert die Daten der Transaktion mit digitaler Signatur. Der öffentliche Schlüssel zur Überprüfung dieser digitalen Signatur wird in einem der Transaktionsfelder explizit angegeben und anschließend in die Registrierung eingetragen.Die Transaktionsverarbeitungsfunktionen sind so, dass der Angreifer die Daten nach eigenem Ermessen ändern und dann mit seinem privaten Schlüssel überprüfen und den öffentlichen Schlüssel des Paares zur Überprüfung der digitalen Signatur in der Transaktion angeben kann. Wenn Authentizität und Integrität ausschließlich durch EDS gewährleistet sind, bleibt eine solche Fälschung unbemerkt. Wenn es jedoch zusätzlich zum EDS einen zusätzlichen Mechanismus gibt, der sowohl die Archivierung als auch die Persistenz der gespeicherten Informationen ermöglicht, kann die Fälschung erkannt werden. Zu diesem Zweck reicht es aus, einen echten öffentlichen Schlüssel des Eigentümers in die Registrierung aufzunehmen. Lassen Sie uns erklären, wie es funktioniert.

Lassen Sie den Angreifer die Transaktionsdaten fälschen. In Bezug auf Schlüssel und digitale Signatur sind folgende Optionen möglich:

1. Der Angreifer platziert seinen öffentlichen Schlüssel unverändert im EDS des Eigentümers in der Transaktion.
2. Ein Angreifer erstellt ein EDS für seinen geheimen Schlüssel, lässt jedoch den öffentlichen Schlüssel des Besitzers unverändert.
3. Der Angreifer generiert eine elektronische digitale Signatur auf seinem geheimen Schlüssel und platziert einen gepaarten öffentlichen Schlüssel in der Transaktion.

Offensichtlich sind die Optionen 1 und 2 bedeutungslos, da sie bei der Überprüfung von EDS immer erkannt werden. Nur Option 3 ist sinnvoll. Wenn ein Angreifer eine elektronische digitale Signatur auf seinem eigenen geheimen Schlüssel erstellt, muss er in der Transaktion einen gepaarten öffentlichen Schlüssel speichern, der sich vom öffentlichen Schlüssel des Eigentümers unterscheidet. Für einen Angreifer ist dies die einzige Möglichkeit, gefälschte Daten durchzusetzen.

Angenommen, der Eigentümer hat ein festes Schlüsselpaar - geheim und öffentlich. Lassen Sie die Daten mit einer elektronischen digitalen Signatur unter Verwendung eines geheimen Schlüssels aus diesem Paar verifizieren, und der öffentliche Schlüssel wird in der Transaktion angegeben. Angenommen, dieser öffentliche Schlüssel wurde bereits in die Registrierung eingegeben und seine Authentizität wurde authentifiziert. Die Tatsache, dass der öffentliche Schlüssel aus der Transaktion nicht mit dem öffentlichen Schlüssel aus der Registrierung übereinstimmt, weist dann auf die Fälschung hin.

Zusammenfassend.Bei der Verarbeitung der Daten der allerersten Transaktion des Eigentümers muss die Authentizität des in der Registrierung eingegebenen öffentlichen Schlüssels bestätigt werden. Lesen Sie dazu den Schlüssel aus der Registrierung und vergleichen Sie ihn mit dem tatsächlichen öffentlichen Schlüssel des Eigentümers innerhalb des Sicherheitsbereichs (Bereich der relativen Unverwundbarkeit). Wenn die Authentizität des Schlüssels bestätigt wird und seine Beständigkeit bei der Platzierung garantiert wird, kann die Authentizität des Schlüssels aus der nachfolgenden Transaktion leicht durch Vergleichen mit dem Schlüssel aus der Registrierung bestätigt / verweigert werden. Mit anderen Worten, der Registrierungsschlüssel wird als Referenzbeispiel verwendet. Ebenso werden alle anderen Eigentümertransaktionen verarbeitet.

Die Transaktion wird durch eine elektronische digitale Signatur zertifiziert - hier werden die geheimen Schlüssel benötigt und nicht einer, sondern zwei gleichzeitig - ein Service und eine Brieftasche. Durch die Verwendung von zwei geheimen Schlüsseln wird die erforderliche Sicherheitsstufe gewährleistet. Schließlich kann der geheime Dienstschlüssel anderen Benutzern bekannt sein, während der geheime Schlüssel der Brieftasche nur dem Besitzer des normalen Schlüsselpaars bekannt ist. Wir haben eine solche Zwei-Schlüssel-Signatur als „konsolidiertes“ EDS bezeichnet.

Transaktionen ungleich Null werden mit zwei öffentlichen Schlüsseln überprüft: einer Brieftasche und einem Serviceschlüssel. Der Überprüfungsprozess kann in zwei Hauptphasen unterteilt werden: Die erste überprüft den Digest des öffentlichen Schlüssels der Brieftasche und die zweite überprüft die digitale Signatur der Transaktion, dieselbe konsolidierte, die mit zwei geheimen Schlüsseln (Brieftasche und Dienst) generiert wurde. Wenn die Gültigkeit des EDS bestätigt wird, wird die Transaktion nach einer zusätzlichen Prüfung in die Registrierung eingegeben.



Es kann sich eine logische Frage stellen: Wie kann überprüft werden, ob eine Transaktion zu einer bestimmten Kette mit einem „Stamm“ in Form einer Nulltransaktion gehört? Zu diesem Zweck wird der Überprüfungsprozess durch eine weitere Stufe ergänzt - die Konnektivitätsüberprüfung. Hier benötigen wir die Daten aus den ersten beiden Feldern, die wir bisher umgangen haben.

Stellen Sie sich vor, wir müssen prüfen, ob Transaktion Nr. 3 wirklich nach Transaktion Nr. 2 verläuft. Hierzu wird die Hash-Funktion für die Daten aus dem dritten, vierten und fünften Feld der Transaktion Nr. 2 mit der kombinierten Hashing-Methode berechnet. Dann werden Daten aus dem ersten Feld der Transaktion Nr. 3 und dem zuvor erhaltenen Wert der kombinierten Hash-Funktion für Daten aus dem dritten, vierten und fünften Feld der Transaktion Nr. 2 verkettet. All dies läuft auch über zwei Hash-Funktionen SHA256 und RIPEMD160. Wenn der erhaltene Wert mit den Daten des zweiten Felds der Transaktion Nr. 2 übereinstimmt, wird die Prüfung bestanden und die Konnektivität bestätigt. Dies ist in den folgenden Abbildungen deutlicher dargestellt.




Im Allgemeinen sieht die Technologie zum Erstellen und Aufzeichnen einer Benachrichtigung in der Registrierung genau so aus. Die folgende Abbildung zeigt deutlich, wie eine Benachrichtigungskette gebildet wird:



In diesem Text werden wir nicht auf die zweifellos vorhandenen Details eingehen und auf die Idee einer dezentralen Infrastruktur öffentlicher Schlüssel zurückkommen.

Da der Antragsteller selbst den Antrag auf Registrierung von Benachrichtigungen sendet, die nicht in der CA-Datenbank, sondern in der Registrierung gespeichert sind, sollten die wichtigsten Architekturkomponenten von DPKI berücksichtigt werden:

1. Register gültiger Benachrichtigungen (RDN).
2. Register der widerrufenen Meldungen (ROZ).
3. Register der suspendierten Benachrichtigungen (RPN).

Informationen zu öffentlichen Schlüsseln werden im RDN / RON / RPN in Form von Hashwerten gespeichert. Es ist auch erwähnenswert, dass dies entweder verschiedene Register oder verschiedene Ketten oder sogar eine Kette als Teil eines einzelnen Registers sein können, wenn Informationen über den Status eines normalen öffentlichen Schlüssels (Widerruf, Aussetzung usw.) in Form der entsprechenden in das vierte Feld der Datenstruktur eingegeben werden Codewert. Es gibt viele verschiedene Optionen für die architektonische Implementierung von DPKI, und die Auswahl des einen oder anderen hängt von einer Reihe von Faktoren ab, beispielsweise einem Optimierungskriterium wie den Kosten des Langzeitspeichers für die Speicherung öffentlicher Schlüssel usw.

Somit kann DPKI zumindest einfacher, wenn nicht sogar einfacher sein Zentralisierte Lösung für die Komplexität der Architektur.

Die Hauptfrage bleibt -Welche Registrierung eignet sich zur Implementierung der Technologie?

Die Hauptanforderung für die Registrierung ist die Fähigkeit, Transaktionen jeglicher Art zu bilden. Die bekannteste Registrierungsanwendung ist das Bitcoin-Netzwerk. Bei der Implementierung der oben beschriebenen Technologie treten jedoch bestimmte Schwierigkeiten auf: die Einschränkungen der vorhandenen Skriptsprache, das Fehlen der erforderlichen Mechanismen zur Verarbeitung beliebiger Datensätze, Methoden zum Generieren von Transaktionen eines beliebigen Typs und vieles mehr.

Wir bei ENCRY haben versucht, die oben formulierten Probleme zu lösen, und ein Register entwickelt, das unserer Meinung nach mehrere Vorteile hat, nämlich:

  • unterstützt verschiedene Arten von Transaktionen: Darin können Sie sowohl Vermögenswerte austauschen (dh Finanztransaktionen ausführen) als auch Transaktionen mit einer beliebigen Struktur bilden.
  • Die proprietäre Programmiersprache PrismLang steht Entwicklern zur Verfügung und bietet die notwendige Flexibilität bei der Lösung verschiedener technologischer Probleme.
  • Ein Mechanismus zum Verarbeiten beliebiger Datensätze wird bereitgestellt.

Bei einfacher Herangehensweise findet die folgende Abfolge von Aktionen statt:

  1. Der Antragsteller registriert sich bei DPKI und erhält eine digitale Geldbörse. Brieftaschenadresse - Der Wert der Hash-Funktion aus dem öffentlichen Brieftaschenschlüssel. Der geheime Schlüssel der Brieftasche ist nur dem Antragsteller bekannt.
  2. Ein registrierter Betreff erhält Zugriff auf den geheimen Dienstschlüssel.
  3. Der Betreff generiert eine Nulltransaktion und zertifiziert seine digitale Signatur mithilfe des geheimen Schlüssels der Brieftasche.
  4. , : .
  5. .
  6. ENCRY , .
  7. , .

Hier fungiert die Registrierung als verteilte Datenbank, in der Informationen zu gültigen, stornierten und angehaltenen Benachrichtigungen gespeichert werden.

Dezentralisierung ist natürlich kein Allheilmittel. Das grundlegende Problem der primären Benutzerauthentifizierung verschwindet nicht: Wenn die CR den Antragsteller derzeit testet, schlägt DPKI vor, die Überprüfung an Community-Mitglieder zu delegieren und finanzielle Motivation zur Stimulierung der Aktivität zu verwenden. Die Open Source-Validierungstechnologie ist bekannt. Die Wirksamkeit einer solchen Überprüfung wird in der Praxis bestätigt. Erinnern Sie sich erneut an eine Reihe hochkarätiger Untersuchungen der Online-Publikation Bellingcat.

Im Allgemeinen ergibt sich jedoch das folgende Bild: DPKI ist eine Gelegenheit, wenn nicht alle, viele der Mängel einer zentralisierten PKI zu beheben.

Abonnieren Sie unseren Hubrablog, wir planen, weiterhin aktiv über unsere Forschung und Entwicklung zu berichten und Twitter zu folgen, wenn Sie keine weiteren Nachrichten über ENCRY-Projekte verpassen möchten.

Source: https://habr.com/ru/post/de461761/


All Articles