Signieren Sie die XML-Datei mit einer digitalen Signatur. So signieren Sie ein Dokument mit einer elektronischen Signatur

In diesem Abschnitt wird vorgeschlagen, das Programm XML Converter / XML Constructor / XML Reports / Just Sign / XML Contact - Rosreestr.

Formationsbeispiele elektronische Versionen Dokumente durch XML-Konstruktor und ihre gedruckten Gegenstücke mit Programme XML-Berichte können in der Rubrik heruntergeladen werden. Wir empfehlen auch, sich den Abschnitt anzusehen, in dem Sie verschiedene finden kostenlose Dienstprogramme, Bibliotheken und mehr.

XML-Konverterprogramm konfiguriert, um Rosreestr XML-Dateien/Dokumente wie Katasterauszüge, Katasterpläne des Territoriums in andere praktische Formate wie MIF/MID, DXF, CSV, TXT, HTML zu konvertieren.

XML-Konstruktorprogramm konfiguriert, um elektronische Versionen im XML-Format zu erstellen, solche Dokumente für Katastertätigkeiten wie Landvermessungspläne, technische Pläne, Karte (Plan) etc. sowie Verpfändungsanzeigen von beweglichen Sachen und Mitteilungen nach dem FATCA-Gesetz.

Programm für XML-Berichte konfiguriert, um elektronische Dokumente für Katastertätigkeiten wie Vermessungspläne, technische Pläne, Karten (Plan) in die entsprechenden gedruckten (Papier-) Gegenstücke umzuwandeln.

Programm einfach unterschreiben entwickelt, um elektronische digitale Signaturen (EDS) zu erstellen und zu überprüfen.

Programm XML Kontakt-Rosreestr entwickelt, um mit dem Rosreestr-Webdienst zu interagieren, d.h. Erstellen von Anträgen auf Katasterregistrierung von Grundstücken und Immobilienobjekten, Anfragen nach Katasterinformationen, Erhalten von Ergebnissen zu diesen Anträgen und Anfragen.

Alle Programme (außer Just Sign und XML Contact-Rosreestr) verfügen über einen 30 Tage dauernden Demomodus, der es Ihnen ermöglicht, die Funktionalität der Programme uneingeschränkt zu nutzen. Nach Ablauf des Zeitraums des Demomodus müssen Sie entweder die Vollversionen der Programme erwerben oder deren Nutzung einstellen. Das Just Sign-Programm ist kostenloses Programm und hat keine Nutzungseinschränkungen. Das XML Contact-Rosreestr-Programm befindet sich im Betatest und kann derzeit kostenlos verwendet werden.

WICHTIG! Konvertieren mit dem Programm XML-Konverter oder XML-Konstruktor Große XML-Dateien müssen vor der Konvertierung einen externen XQuery-Abfrageprozessor herunterladen und installieren und im entsprechenden Feld des Programms angeben. Die beiden derzeit unterstützten Open-Source-Abfrageprozessoren sind AltovaXML 2010 (von www.altova.com) und Saxon-HE 9.5 (von www.saxonica.com). Sie können sie von der Website des Herstellers oder von dieser Website über die folgenden Links herunterladen:

WICHTIG! Bevor Sie mit den Programmen arbeiten, müssen Sie die Anleitung lesen. Dies ist besonders wichtig für das Programm XML Constructor, da vor der Arbeit das Funktionsprinzip dieses Programms verstanden werden muss. Die Anleitung befindet sich im selben Ordner wie die ausführbare Datei des Programms, also für den XML Constructor im Ordner „c:\ProgramFiles\XMLCON\XMLConstructor\XMLConstructor-help.rtf“. Sie können die Anweisung über die Verknüpfung aus dem Hauptmenü aufrufen Windows-Programme, also für XML Constructor "Start->Programme->XMLConstructor->XML Constructor - Instruction". Für das Programm XML Constructor ist die Anweisung auch über das Hilfemenü verfügbar.

Die drängendste Frage war für mich lange Zeit, wie und womit Dokumente und XML-Dateien signiert werden. elektronische Unterschrift oder Digitale Unterschrift. Gut, wenn Sie im Büro sind und alle Programme zum Signieren von Dokumenten und XML-Dateien an Ihrem Arbeitsplatz installiert sind. Aber in meiner Arbeit ergaben sich oft Situationen, in denen es notwendig war, Dokumente, XML-Dateien zu erstellen und zu signieren, weit entfernt von meinem Arbeitsplatz oder wie immer dringend jetzt zu Hause erledigt. Kaufen und installieren Software mit elektronischer digitaler signatur auch zu hause oder am laptop zu unterschreiben und immer dabei zu haben, ist zu teuer. Dann habe ich mich auf die Suche nach frei erhältlichen Programmen im Internet gemacht, die Dokumente und XML-Dateien mit einer elektronischen digitalen Signatur – EDS – signieren können. Es sind diese Programme, sowie ein kostenpflichtiges, die wir im Folgenden betrachten werden.

Um an Rosreestr gesendet zu werden, und dies ist obligatorisch, müssen alle Dokumente mit einer EDS (elektronische digitale Signatur) signiert sein, und manchmal müssen Sie Ihre eigene oder die EDS einer anderen Person überprüfen.

Überlegen Sie also, wie und was Software-Tools Sie können ein Dokument oder eine XML-Datei mit einer elektronischen digitalen Signatur signieren. Eines der Programme ist das GIS "Panorama" - "Map-2011" Version 11.10.4. Das Signieren von Dokumenten funktioniert auch in der unregistrierten Version. Das Verfahren zum Signieren von Dokumenten, Dateien Liste der Programme, mit denen Sie Dokumente, XML-Dateien, EDS (elektronische digitale Signatur) für den Datenaustausch mit dem Portal signieren können öffentlicher Dienst Bundesdienst Staatsregistrierung, Kataster und Kartographie, Rosreestr, über das Internet EDS ist wie folgt: Starten Sie "Map-2011" oder "Mini-Map", drücken Sie "F12", um das Startmenü der Anwendung aufzurufen. Wählen Sie im angezeigten Fenster eine Aufgabe aus elektronische Dokumente, Weiter Bildung einer elektronischen digitalen Signatur

Signaturdatei: Wählen Sie die Datei aus, die Sie signieren möchten, und entsprechend das gewünschte Zertifikat im Zertifikat. Das ist alles Ihr Dokument oder Ihre XML-Datei wird mit EDS signiert. Wenn Sie eine bereits vorhandene Signatur prüfen möchten, wählen Sie die Signaturdatei (die Datei mit der Endung „sig“) aus. Offizielle Website von GIS "".

Das zweite Programm zum Signieren von Dokumenten, XML-Dateien ist CryptoLine. Kostenlos, voll funktionsfähig, ermöglicht es Ihnen, Dokumente zu signieren, zu verschlüsseln und die digitale Signatur zu überprüfen. Herunterladen dieses Programm Sie können von der offiziellen Website oder über einen direkten Link von der Seite dieser Website herunterladen. Die Arbeit mit dem Programm ist einfach und komfortabel. Wählen Sie Dateien aus, die signiert werden müssen, und fügen Sie sie hinzu. Wählen Sie dann ein Zertifikat aus, das Sie zum Signieren von Dokumenten, XML-Dateien und Signieren von Dokumenten benötigen. Achtung - nur ein Zertifikat zum Signieren auswählen !!! Andernfalls werden die Dokumente mit genau so vielen Zertifikaten signiert, wie Sie dem Programm hinzufügen. Die Bedienungsanleitung befindet sich im Archiv des Programms. Um den Wechsel zu Rossreestr zu unterzeichnen, gebe ich unten ein Beispiel.

Nachdem Sie das Programm installiert und ausgeführt haben, fügen Sie dem Programm die Dateien hinzu, die signiert werden müssen. Registerkarte „Aktionen“, Schaltfläche „Hinzufügen“.

Um alle Dateien auf einmal zu signieren, müssen Sie sie alle auswählen - "Umschalt + rechte Maustaste" oder "Umschalt + Pfeil nach unten". Klicken Sie dann auf "Signieren", fügen Sie im angezeigten Fenster entweder ein Zertifikat hinzu oder lassen Sie das zuvor ausgewählte Zertifikat oder ändern Sie es in ein anderes. Ich erinnere mich noch einmal daran, dass für die Lieferung an Rosreestr in diesem Fenster nicht mehr als 1 Zertifikat vorhanden sein sollte! Stellen Sie außerdem alle Einstellungen wie in der Abbildung gezeigt ein:

Wir unterschreiben. Nach dem Signieren werden Dateien mit der Erweiterung „sigO“ zu Ihrer Liste hinzugefügt. Dies ist die Signatur der Datei. Es bleibt nur das Hochladen der Signaturdateien oder aller Dateien (nach Ihrem Ermessen). Wählen Sie aus, was Sie hochladen möchten, in diesem Fall drei Signaturdateien, und klicken Sie auf „Hochladen“. Das ist wie alles. Aber wie alle freier Käse Es gibt eine kleine Nuance. Rosreestr schwört auf die Dateiendung „sigO“, also braucht man sie im Explorer oder in jedem Dateimanager Benennen Sie die Erweiterung von "sigO" in "sig" um.

Die Signatur dieses Programms wurde von der Rosreestr-Website nicht verifiziert. Die Signaturprüfung wurde durchgeführt Softwareprodukte die mit dem Portal der öffentlichen Dienste des Föderalen Dienstes für staatliche Registrierung, Kataster und Kartographie interagieren. Alle drei Programme, die die von diesem Programm ausgeführte Signatur überprüften, ergaben ein positives Ergebnis. Die Verifizierung erfolgte durch die hier angegebenen Programme GIS "Panorama", Crypto AWP und das Planprogramm Polygon-Land Survey. Die Signatur wurde ebenfalls überprüft. OnlineserviceÜberprüfung der Echtheit der elektronischen digitalen Signatur auf der Website.

Ein weiteres Programm zum Signieren von Dokumenten und XML-Dateien ist . Sie können es von der offiziellen Website des Programms herunterladen. Das Programm selbst ist ziemlich funktional und attraktiv, die Kosten sind nicht hoch, nur 1200 Rubel für 1 Arbeitsplatz. Die gibt es. Unterstützung und erweiterte Hilfe. Die vollständigsten und aktuellsten Informationen erhalten Sie unter. Lesen Sie auch über EDS im Hinweis

Ein edler Zweck adelt die Aktivität im Namen dieses Zwecks.K. Liebknecht

Der Artikel beschreibt das Signieren von Dokumenten (pdf, word, excel, xml, archive) mit EDS. Überlegen Sie, welche Software benötigt wird, um Dokumente mit einem EDS zu signieren, ihre Vor- und Nachteile.

So signieren Sie eine Datei mit einem EDS

Es gibt zwei Programme, mit denen Sie eine Datei mit einem EDS signieren können:

  1. ViPNet-Kryptodatei;
  2. CryptoARM.

ViPNet-Kryptodatei

Mit diesem Programm können Sie beliebige Dateien signieren, zum Beispiel: doc, xls, jpg, xml, txt, eine EDS-Erklärung signieren, archivieren. Nach dem Signieren endet die Datei mit .sig

Vorteile: kostenloses Programm, das eine Registrierung auf der Website erfordert (erhalten Sie den Schlüssel unter Email). Es ist auch möglich, die an die Datei angehängte Signatur beim Signieren einer Datei mit einem EDS zu verwenden, d.h. die Datei und der Schlüssel befinden sich in derselben Datei oder getrennt von der Datei.

Minuspunkte: beim Signieren können Sie nur eine elektronische Signatur hinzufügen;

Sie können ein EDS-Dokument signieren Rechtsklick Klicken Sie auf die Datei und wählen Sie ViPNet CryptoFile -> Sign im ViPNet-Menü.

CryptoARM

Minuspunkte: kostenpflichtige Software;

Vorteile: Sie können viele EDS-Signaturen hinzufügen, wenn Sie eine Datei signieren.

Um ein Dokument mit einem EDS zu signieren, können Sie mit der rechten Maustaste auf die Datei klicken und im Menü CryptoARM -> Signieren auswählen.

So signieren Sie ein PDF mit einem EDS

Wenn Sie ein Dokument beispielsweise für Steuern signieren müssen, lesen Sie die Anweisungen oben „So signieren Sie eine Datei mit einem EDS“. Wenn Sie jedoch eine Signatur mit einem sichtbaren Teil des Dokuments benötigen, lesen Sie die nachstehenden Anweisungen.

Um ein PDF-Dokument mit einem EDS zu signieren, ist eine Software erforderlich.

Vorteile: Die elektronische Signatur ist im Dokument sichtbar.

Minuspunkte: Programmkosten (90 Tage kostenlos.)

Außerdem müssen Sie installieren Acrobat Reader DC oder Adobe Acrobat Pro.

Bevor Sie eine elektronische Signatur in ein PDF-Dokument einfügen, müssen Sie Acrobat Reader DC so konfigurieren, dass es mit dem Programm CryptoPro PDF funktioniert. Drücken Sie dazu in Acrobat Reader DC Strg + K oder gehen Sie in den Kategorien zum Menü Bearbeiten -> Einstellungen Signaturen auswählen -> dort auf „Erstellen und gestalten“ klicken Mehr Details siehe Bild:

Wählen Sie in der „Standard-Signaturmethode“ CryptoPro PDF wie in der Abbildung aus:

Wir unterschreiben pdf-Dokument mit EDS

Öffnen Sie das PDF-Dokument -> klicken Sie im rechten Bereich auf „Ausfüllen und unterschreiben“.

Klicken Sie im oberen Bereich des Acrobat Reader-Programms auf "Ausfüllen und unterschreiben" -\u003e "Zusätzliche Tools".

Sie müssen das Tool Zertifikate auswählen, um es dem Bereich hinzuzufügen.

Nachdem Sie auf Zertifikate geklickt haben, erscheint das Werkzeug „Digitale Signatur“ im Bedienfeld, klicken Sie darauf und wählen Sie dann mit dem Cursor den Bereich aus, in dem wir eine digitale Signatur platzieren möchten. Ein Fenster mit einer Zertifikatsauswahl wird angezeigt.

Zertifikat auswählen -> OK -> Signieren.

Eine digitale Signatur im PDF-Format sieht so aus:



Unser PDF-Dokument ist signiert, ebenso können Sie mehrere Signaturen in eine PDF-Datei einfügen.

So signieren Sie ein Word-Dokument mit einem EDS

Wenn Sie ein Dokument mit einem sichtbaren Teil der Unterschrift im Dokument signieren müssen, lesen Sie die nachstehenden Anweisungen. Wenn Sie jedoch ein Word-Dokument signieren und beispielsweise an das Finanzamt senden müssen, lesen Sie die oben stehende Anweisung „Wie eine Datei mit einem EDS zu signieren“ zu Ihnen passt.

Um zu unterschreiben Word-Datei Mit Hilfe von EDS benötigen wir das Programm CryptoPro Office Signature.

- kostenpflichtige Software, die zum Signieren von Wort- und Excel-Dokumenten verwendet wird.

Nach der Installation können Sie sofort mit dem Signieren von Word-Dokumenten mit einem EDS beginnen, dazu öffnen wir ein Word-Dokument, das mit einem EDS signiert werden muss -> Menü Bewerten -> Klicken Sie im Textblock auf Signaturzeile und wählen Sie Signaturzeile (CRYPTO -PROFI).

Angenommen, Sie müssen zwei elektronische Signaturen in ein Word-Dokument einfügen. Dazu führen wir den oben gezeigten Vorgang zweimal aus, ohne zu signieren. Da das Dokument nach dem Signieren mit einer Signatur nicht mehr bearbeitet werden kann. Daher fügen wir zwei Felder für eine elektronische Signatur ein.

Danach können Sie signieren, indem Sie auf eine Signatur klicken, ein EDS auswählen und signieren, dann dasselbe mit der zweiten Signatur tun.

Ein digital signiertes Word-Dokument sieht so aus:


So signieren Sie ein Excel-Dokument mit einer digitalen Signatur

Ich werde mich nicht wiederholen, um ein Excel-Dokument mit einem EDS zu signieren, müssen Sie alles genauso machen wie für Word, siehe etwas höher.

Aufmerksamkeit: Wenn Sie unterschreiben müssen Excel-Dokument mit einem sichtbaren Teil der Unterschrift im Dokument, dann lesen Sie die Anleitung weiter "So signieren Sie ein Word-Dokument mit einem EDS", wenn Sie ein Excel-Dokument signieren und zum Beispiel an das Finanzamt senden müssen, dann die Anleitung oben auf der Seite "So signieren Sie eine Datei mit einem EDS" wird Ihnen gefallen.

So schließen Sie einen Vertrag mit einem EDS ab

Lesen Sie je nach Format, in dem der Vertrag erstellt wurde, den obigen Artikel So signieren Sie ein Word- oder PDF-Dokument.

So unterzeichnen Sie eine Vollmacht mit einem EDS

Lesen Sie den obigen Artikel und wählen Sie die entsprechende Option zum Unterzeichnen einer Vollmacht mit einem EDS.

Fragen:

Ist das Bearbeiten einer signierten EDS-Datei erlaubt?

- Nein, nach dem Signieren der Datei ist es nicht möglich, sie zu bearbeiten. Wenn Sie beispielsweise versuchen, den in Word signierten Text zu bearbeiten, werden alle Signaturen gelöscht.

Wie sieht ein EDS-signiertes Dokument aus?

- Es hängt alles davon ab, wie Sie das Dokument unterschrieben haben. Wenn das Dokument wie in der Anleitung zu Beginn signiert wurde, hat die Datei die Endung .sig. Auch die Datei und die digitale Signatur können sein separate Datei, es hängt von der Dateisignaturmethode ab.

Wenn Sie ein PDF-, Word- oder Excel-Dokument mit signiert haben spezielle Programme, eine Unterscheidung ist nicht möglich. Es ist notwendig, das Dokument zu öffnen und sich bereits darin zu vergewissern, ob eine Unterschrift vorhanden ist oder nicht.

In einem der laufenden Projekte wurde die Aufgabe des Signierens (Anbringen einer ES - einer elektronischen Signatur) von XML-Dokumenten, nämlich SOAP-Paketen, gelöst. Das empfohlene Format war OASIS Standard 200401 mit X.509 Certificate Token Profile . Diese Dokumente beschreiben die Verwendung des Formats XML Digital Signature (XMLDSig) des World Wide Web Consortium (W3C) in SOAP-Nachrichten. XML-Signaturen unterstützen, wie andere Arten von ES, Authentifizierung, Datenintegrität und Unbestreitbarkeit der Datensignierung.

Ich werde einige Merkmale des XMLDSig-Formats erwähnen:

1. Gegenstand der Signatur kann nicht das gesamte XML-Dokument sein, sondern nur dessen Teil, d.h. bestimmten Knoten. Gemäß OASIS Standard 200401 ist das zu signierende Objekt der Body (node Körper) SOAP-Nachrichten.

2. Verschiedene Teile eines XML-Dokuments können von mehr als einer Person signiert werden.

3. Eine XML-Signatur kann sich in Bezug auf das zu signierende Objekt auf verschiedenen Ebenen befinden:

  • Signaturstruktur enthalten kann URI(einheitliche Ressourcenkennung);
  • Eine XML-Signatur kann sich auf derselben Ebene befinden wie der zu signierende Knoten;
  • Die XML-Signatur kann sich innerhalb des zu signierenden Knotens befinden;
  • der zu signierende Knoten kann sich innerhalb einer XML-Signaturstruktur befinden.

4. Zur Überprüfung der Gültigkeit der EU ist der Zugriff auf das Signierobjekt erforderlich.

Die Struktur eines SOAP-Cover

Im Allgemeinen besteht eine Nachricht aus einem Header und einem Body: Header und Körper. Header enthält Metadaten und Körper Daten. Eine XML-Signatur wird in einem Knoten platziert Header.

Kryptographische Algorithmen und Kanonisierung.

Um das Problem zu lösen, haben wir verwendet GOST R 34.11-94- Russisch Kryptografischer Standard Hash-Funktionsberechnungen und GOST R 34.10-2001- Standard für elektronische Unterschriften.

Aufgrund der Flexibilität der XML-Kompositionsregeln können die gleiche Dokumentstruktur und die gleiche Information durch verschiedene XML-Dokumente dargestellt werden. Betrachten Sie zwei Dokumente:

Aus logischer Sicht sind sie gleichwertig, dh sie haben das gleiche XML-Schema. Die XML-Dateien dieser Auflistungen enthalten jedoch nicht die gleiche Zeichenfolge, was beispielsweise bei der Ermittlung eines Hash-Werts zu unterschiedlichen Ergebnissen führt.

Um solche Diskrepanzen zu vermeiden, wurden strenge Formatierungsregeln und -anforderungen für den Inhalt von XML-Nachrichten eingeführt. Der Prozess, XML-Dokumente in eine einheitliche (kanonische) Form zu bringen, wird aufgerufen Kanonisierung(englische Kanonisierung). Beispiele für Regeln können die Verwendung eines bestimmten Codierungsschemas (UTF-8), die Normalisierung von Attributwerten, die Verwendung von doppelten Anführungszeichen für Attributwerte, eine bestimmte Reihenfolge von Attributen und Namespace-Deklarationen usw. sein. Es gibt verschiedene Arten der XML-Kanonisierung die sich in der Zusammensetzung der Regeln unterscheiden. Sie können mehr über den Kanonisierungsprozess in der offiziellen W3C-Spezifikation lesen (Russischsprachige Artikel zu diesem Thema finden Sie unter und)

SIRCrypt-Bibliothek

Um die XML-Signierung in DIRECTUM zu implementieren, wurde eine COM-Bibliothek geschrieben, in der 3 Klassen beschrieben sind: Hasher, Unterzeichner und XMLCanonicalizer um den Hash, den ES-Wert bzw. die Kanonisierung von XML-Dokumenten zu erhalten.

Die Bibliothek verlangt Crypto PRO CSP(getestet auf Version Crypto PRO CSP 3.6.6497 KC2) und .NETZ(mindestens 2,0).

Das Registrieren einer Bibliothek erfolgt durch Ausführen des folgenden Befehls:

> regasm.exe "Pfad zur DLL" /codebase /tlb

Hasher-Objekt zur Hash-Berechnung nach GOST

Enthält Felder Inhalt (geben Sie „String“ ein) und HashValueAsBase64 (Typ "String"), sowie eine Methode zur Berechnung des Wertes der Hash-Funktion Hash(). Um zu berechnen, ist es notwendig zu bedeuten Inhalt , rufen Sie die Methode auf Hash(), wodurch im Feld HashValueAsBase64 Der Hash-Funktionswert wird in Base64 geschrieben.

Unterzeichnerobjekt zur Erlangung des ES-Wertes nach GOST

Enthält Felder Inhalt (geben Sie „String“ ein), Containername (geben Sie „String“ ein), ZertifikatAsPEM (geben Sie „String“ ein), BESignatureValueAsBase64 (Typ "String"), Methode Zeichen(). Nachdem das Objekt initialisiert wurde, muss es initialisiert werden Inhalt (Daten zum Signieren), Containername (Behältername Privat Schlüssel Zertifikat), rufen Sie die Methode auf Zeichen(). Dann auf dem Feld ZertifikatAsPEM Das dem privaten Schlüssel entsprechende Zertifikat befindet sich in Base64 und im Feld BESignatureValueAsBase64 Signaturwert als Base64-String.

XMLCanonicalizer-Objekt für die XML-Kanonisierung

Enthält Felder XMLContent (geben Sie „String“ ein), CanonicalXML (Typ "String"), Methode C14NExc(). Um die kanonische Form von XML zu erhalten, müssen Sie meinen XMLContent , Anruf C14NExc(), erhalten Sie das Ergebnis aus dem Feld CanonicalXML .

XML-Signaturstruktur

Das Erstellen einer Signatur sieht so aus: Zunächst wird die Basis des Soap-Pakets gebildet, die Nodes Header und Körper. Körper mit Daten gefüllt und Attribute hinzugefügt wsu:ID="Körper"- Kennung der zu signierenden Daten.

Strukturfüllung Sicherheit geschieht in folgender Reihenfolge:

  1. Der Hashwert wird in kanonischer Form aus dem Body-Knoten genommen und in den DigestValue-Knoten gestellt.
  2. Knoten SignierteInfo auf kanonische Form reduziert, unterzeichnet von EP. Das Ergebnis im Base64-String-Format geht an den Knoten Signaturwert.
  3. Der öffentliche Schlüssel des signierten Zertifikats wird im Knoten abgelegt BinarySecurityToken im Base64-String-Format.

Um das so erzeugte ES zu prüfen, müssen alle Schritte in umgekehrter Reihenfolge durchgeführt werden, nämlich:

  1. Holen Sie sich die kanonische Form des Elements SignierteInfo.
  2. Überprüfen Sie anhand des Ergebnisses des vorherigen Schritts, ob der Wert des EP vom Knoten gültig ist Signaturwert unter Verwendung des öffentlichen Schlüssels des Zertifikats. Auf diese Phase es wird lediglich die Korrektheit der ES überprüft, was die Unveränderlichkeit der Daten nicht garantiert.
  3. Wenn die ES-Gültigkeitsprüfung erfolgreich ist, wird der Hash von dem Knoten verglichen DigestWert und ein Hash aus dem Datenknoten. Wenn sie nicht gleich sind, wurden die signierten Daten geändert und die gesamte ES ist ungültig.

Anwendungsbeispiel

Entwicklungspaket und Bibliothek

Beispiele für das Signieren von XML an ISBL (Skript): dev.zip (5,95 KB)

Zur dauerhaften Verwendung wird der Code, der die typische Signierung des fertigen SOAP-Umschlags durchführt, in die Funktion verschoben SignSOAP().

Beim Signieren wird ein Zertifikat aus dem persönlichen Zertifikatspeicher des aktuellen Benutzers verwendet.

ML oder erweiterbare Auszeichnungssprache wird jetzt immer beliebter auf übliche Weise Transport von Informationen im Web (und darüber hinaus). Darüber hinaus gibt es immer mehr Add-Ons, die die XML-Syntax verwenden (XML-Anwendungen). Dazu gehört beispielsweise das vereinfachte SOAP (Simple Object Access Protocol), bei dem XML als universelles Mittel zur Darstellung der Parameter eines Remote Procedure Call RPC (Remote Procedure Call) fungiert. Ein weiteres Beispiel für ein Add-On ist der Wrapper Resource Description Framework (RDF). Sie können einen Blick auf die Site des World Wide Web Consortium (W3C) werfen, die Standards in diesem Bereich entwickelt (http://www.w3.org/) und feststellen, dass XML tatsächlich viel Aufmerksamkeit erhält.

Denken Sie daran, dass der Hauptzweck von XML darin besteht, die Struktur und Semantik eines Dokuments zu beschreiben. Der Hauptvorteil von XML gegenüber anderen elektronischen Dokumentenformaten besteht darin, dass es die Beschreibung der externen Darstellung des Dokuments von der Struktur des Dokuments und seinem Inhalt trennt. XML ist eine flexible Sprache, die für eine Vielzahl von Zwecken verwendet werden kann und gleichzeitig mit vielen Systemen und Datenbanken zusammenarbeiten kann. So wird bereits heute XML in vielen verwendet Informationssysteme als wichtigstes Datenaustauschformat. Darüber hinaus haben Anbieter von Datenbankverwaltungssystemen einen wichtigen Schritt in Richtung XML unternommen. Beispielsweise hat die Oracle Corporation das XSU (XML-SQL Utility) veröffentlicht, ein JDBC-Add-On, mit dem Sie XML-Daten in einer Datenbank speichern und abrufen können (http://otn.oracle.com/tech/xml/ xdk_java/content.html). XSU ist eine Hierarchie von Java-Klassen, die entwickelt wurde, um Daten aus Tabellen und Ansichten (Ansichten) einer objektrelationalen Datenbank in das XML-Format umzuwandeln, Daten aus XML-Dokumenten in Tabellen und Ansichten einzufügen und andere nützliche Operationen durchzuführen.

Die Notwendigkeit, XML-Dokumente zu schützen

ML ist ein leistungsstarkes Tool, das häufig zum Austausch von Daten über das Internet verwendet wird. Aber leider bietet es alleine nicht den nötigen Schutz für die Daten, die es „transportiert“. Mit anderen Worten, es gibt ernsthafte Sicherheitsprobleme bei der Verwendung des XML-Formats (wie auch bei der Verwendung anderer Formate).

XML kann problemlos verwendet werden, um Transaktionsnachrichten zwischen einer Bank und einem Geldautomaten, vertrauliche oder halbvertrauliche Informationen über Einzelpersonen, Informationen über elektronische Transaktionen oder einfach vertrauliche Dokumente in diesem Format zu übertragen. Gleichzeitig muss jedoch der Schutz von Informationen vor unfreiwilligen oder vorsätzlichen Verzerrungen sowohl seitens der Benutzer von Informationssystemen als auch während der Übertragung über Kommunikationskanäle gewährleistet werden. Der Schutz sollte auf folgenden Funktionen basieren:

  • Authentifizierung von interagierenden Parteien;
  • Bestätigung der Authentizität und Integrität von Informationen;
  • kryptographische Schließung der übertragenen Daten.

Um den spezifizierten Informationsschutz zu gewährleisten, empfiehlt es sich, die Verfahren der elektronischen digitalen Signatur (EDS) und der Datenverschlüsselung einzusetzen. Darüber hinaus bietet das EDS in der Regel eine Authentifizierung, Bestätigung der Authentizität und Integrität, und der Datenabschluss wird durch Verschlüsselung erreicht.

Allgemeine Informationen zur elektronischen digitalen Signatur

EDS und die Möglichkeit seiner Fälschung

Eine elektronische digitale Signatur sind Daten, die dem ursprünglichen Informationsblock (Dokument) hinzugefügt werden, der als Ergebnis seiner kryptografischen Transformation erhalten wird (abhängig vom geheimen Schlüssel und dem ursprünglichen Informationsblock oder Dokument). EDS gewährleistet die Integrität von Nachrichten (Dokumenten) mit einer garantierten Identifizierung des Autors (der Person, die das Dokument unterzeichnet hat), die meistens über ungesicherte öffentliche Telekommunikationskanäle übertragen wird.

Die Überprüfung der elektronischen digitalen Signatur des Informationsblocks erfolgt durch kryptografische Transformation des EDS unter Verwendung des öffentlichen Schlüssels, der dem geheimen Schlüssel entspricht, der an der Installation des EDS teilgenommen hat.

Die Unmöglichkeit, eine elektronische digitale Signatur zu fälschen, wird mit Hilfe einer sehr großen Menge mathematischer Berechnungen erreicht (zum Beispiel kann die Unmöglichkeit, eine Signatur zu fälschen, auf die Komplexität der Lösung des Problems des diskreten Logarithmus in einem Feld von p Elementen ElGamal zurückzuführen sein Signaturschema). Das Signieren eines Dokuments ändert nicht das Dokument selbst, sondern ermöglicht nur die Überprüfung der Echtheit und Urheberschaft der erhaltenen Informationen (dh dem Dokument selbst oder separat davon wird ein Datenblock hinzugefügt - das EDS dieses Dokuments).

Zertifizierungsstelle

Oben haben wir die Begriffe „geheimer Schlüssel“ und „öffentlicher Schlüssel“ erwähnt. Woher kamen diese Schlüssel? Sie werden von einer Zertifizierungsstelle gebildet, einer Struktur (Organisation), die Zertifikate verwaltet. Das öffentliche/private Schlüsselzertifikat ist der folgende Datensatz:

  • der Name des Subjekts oder Objekts des Systems, der es im System eindeutig identifiziert;
  • öffentlicher/privater Schlüssel des Subjekts oder Objekts des Systems;
  • zusätzliche Attribute, die durch die Anforderungen zur Verwendung des Zertifikats im System bestimmt werden;
  • elektronische digitale Signatur des Herausgebers (Zertifizierungsstelle), die die Gesamtheit dieser Daten beglaubigt.

So enthält beispielsweise ein Private-Key-Zertifikat den privaten Schlüssel selbst und zusätzliche Information zu ihm.

Für jeden registrierten Benutzer des Informationssystems erzeugt das Zertifizierungszentrum (CC) zwei Zertifikate, ein Private-Key-Zertifikat und ein Public-Key-Zertifikat. Gleichzeitig gibt der erste SC sie persönlich in die Hände eines registrierten Benutzers (z. B. auf einer Diskette) und für niemanden sonst ist dies die „Unterschrift“. Das zweite öffentliche Zertifikat wird von der Zertifizierungsstelle in einem öffentlichen Repository veröffentlicht, sodass jeder Interessierte es leicht finden kann.

Bildung und Verifizierung von EDS

Der Sender der Informationen verschlüsselt unter Verwendung eines geheimen Schlüssels und eines asymmetrischen Algorithmus (EDS-Algorithmus), der durch Vereinbarung zwischen den Teilnehmern vorgewählt wird, die übermittelten Informationen, die in präsentiert werden digitale Form, und erhält so eine digitale Signatur der Daten. Ferner sendet der Informationssender unverschlüsselte Informationen und eine durch das oben beschriebene Verfahren erhaltene digitale Signatur über einen offenen Kommunikationskanal an den Empfänger.

Der Empfänger der Nachricht gibt die digitale Signatur unter Verwendung des öffentlichen Schlüssels (der öffentlich verfügbar ist) und des EDS-Algorithmus, der zwischen den Abonnenten vereinbart wurde, frei. Dann vergleicht er die erhaltenen unverschlüsselten Informationen mit den Informationen, die er beim Entschlüsseln der digitalen Signatur erhält. Wenn die digitale Signatur nicht gefälscht wurde und die übertragenen eindeutigen Informationen nicht verfälscht sind, dann müssen diese beiden Informationen genau übereinstimmen. Wenn die Signatur gefälscht ist, unterscheiden sich die erhaltene eindeutige Information und die bei der Entschlüsselung erhaltenen Informationen erheblich (Abb. 1).

Hash-Funktionen

In dem obigen Interaktionsschema zwischen Sender und Empfänger fehlt eine Operation. Es ist mit der Phase der Datenverschlüsselung verbunden, während der ein EDS gebildet wird. Wenn wir einfach ein EDS generieren, dann wird es (je nach Algorithmus) in der Regel ungefähr gleich lang wie der ursprüngliche Datenblock und wir müssen eine Nachricht mit doppelter Länge über das Netzwerk senden. Dies würde sich natürlich negativ auf den Gesamtprozess der Anlage auswirken. Daher vorher EDS-Generierung Die Originaldaten werden mit einer Hash-Funktion verarbeitet, wodurch die Signatur kompakt wird. Um das richtige Ergebnis zu erhalten, muss der Empfänger natürlich dieselbe Transformation am empfangenen Datenblock durchführen.

Die verwendete Hash-Funktion muss in der Lage sein, eine Nachricht beliebiger Länge in eine binäre Folge fester Länge umzuwandeln. Außerdem muss es folgende Anforderungen erfüllen:

  • die Nachricht nach Anwendung der Hash-Funktion muss von jedem Bit der ursprünglichen Nachricht und von ihrer Reihenfolge abhängen;
  • Es gibt keine Möglichkeit, die Nachricht aus der gehashten Version der Nachricht wiederherzustellen.

Allgemeine Informationen zur Verschlüsselung

Datenverschlüsselung und der Unterschied zu EDS

Verschlüsselung von Informationen mathematische (kryptografische) Eins-zu-Eins-Transformation, abhängig vom Schlüssel (geheimer Parameter der Transformation), der zum Block passt offene Informationen, dargestellt in einigen digitalen Codierungen, ein Block verschlüsselter Informationen, die ebenfalls in digitaler Codierung dargestellt werden. Die Verschlüsselung kombiniert zwei Prozesse: die Verschlüsselung und die Entschlüsselung von Informationen (Abb. 2).

Der grundlegende Unterschied zwischen EDS und Verschlüsselungsverfahren (wir betrachten jetzt asymmetrische Algorithmen, bei denen verschiedene, aber mathematisch verwandte Schlüssel zum Ver- und Entschlüsseln verwendet werden) besteht darin, dass der öffentliche Schlüssel des Empfängers zum Verschlüsseln und der private Schlüssel zum Entschlüsseln verwendet wird Der EDS-Algorithmus benötigt den geheimen Schlüssel des Autors, um eine Nachricht zu signieren, und den öffentlichen Schlüssel des Autors der Nachricht, um das EDS zu verifizieren.

Brechen

Theoretisch kann jeder Verschlüsselungsalgorithmus, der einen Schlüssel verwendet, durch Aufzählung aller Schlüsselwerte geöffnet werden. Wird der Schlüssel gewählt, wächst die benötigte Rechenleistung exponentiell mit der Länge des Schlüssels. Ein 32-Bit-Schlüssel erfordert 232 (etwa 109) Schritte. Eine solche Aufgabe liegt in der Macht eines jeden Laien und wird weiter gelöst Heimcomputer. Systeme mit einem 40-Bit-Schlüssel (zum Beispiel die amerikanische Exportversion des RC4-Algorithmus) benötigen 240 Schritte, die meisten kleinen Unternehmen haben eine solche Rechenleistung. Systeme mit 56-Bit-Schlüsseln (DES) erfordern einen erheblichen Aufwand zum Öffnen, können jedoch mit speziellen Geräten problemlos geöffnet werden. Die Kosten für solche Geräte sind erheblich, aber für die Mafia, große Unternehmen und Regierungen erschwinglich. 64-Bit-Schlüssel können derzeit von großen Staaten geöffnet werden und werden in den nächsten Jahren von kriminellen Organisationen, großen Unternehmen und kleinen Staaten geöffnet werden. 80-Bit-Schlüssel können in Zukunft angreifbar werden. 128-Bit-Schlüssel werden wahrscheinlich auf absehbare Zeit nicht für Brute-Force-Cracking verfügbar sein. Sie können auch längere Tasten verwenden.

Die Schlüssellänge ist jedoch nicht alles. Viele Chiffren können gebrochen werden, ohne alle möglichen Kombinationen durchzugehen, sondern mit einem speziellen Algorithmus (z. B. mit polynomialer Komplexität). Im Allgemeinen ist es sehr schwierig, eine Chiffre zu finden, die nicht mit einer anderen Methode geknackt werden könnte, die effektiver als Brute Force ist.

Bitte beachten Sie, dass der Grad der Zuverlässigkeit kryptografisches System durch sein schwächstes Glied bestimmt. Kein Aspekt des Systemdesigns sollte übersehen werden, von der Wahl des Algorithmus bis zur Politik der Verwendung und Verteilung von Schlüsseln.

Elektronische digitale Signatur von XML-Dokumenten

Diejenigen, die mit XML arbeiten, haben seit langem die Bedeutung eines Mechanismus zur Kontrolle der Daten verstanden, die in XML übergeben und dargestellt werden. Die wichtigsten Voraussetzungen für übertragene Daten, Authentifizierung der interagierenden Parteien und Bestätigung der Authentizität und Integrität der Informationen im XML-Dokument. Solche Aufgaben werden vom EDS von XML-Dokumenten gelöst.

Spezifikationen für EDS XML von W3C

Das W3C entwickelt derzeit die Spezifikation „XML Signature Syntax and Processing“ und andere verwandte Dokumente. Es hat zwar den Status einer Empfehlung (http://www.w3.org/TR/xmldsig-core/). Dieses Dokument sieht die Signatur sowohl des gesamten XML-Dokuments als auch eines Teils davon vor. Für die Eins-zu-eins-Natur des XML-Signierungsprozesses wird der Begriff einer kanonischen Darstellung von XML-Daten definiert. Beispielsweise können in einem XML-Dokument Tags, die sich im Hierarchiebaum auf derselben Ebene befinden, vermischt werden, wodurch Mehrdeutigkeiten für den Signaturprozess entstehen. Die kanonische Darstellung von XML ist eine Art Sortierung (oder vielmehr Reduktion auf die einfachste Form), die solche Freiheiten nicht zulässt. Methoden und Regeln der XML-Kanonisierung sind in einem separaten Dokument Canonical XML (http://www.w3.org/TR/xml-c14n) beschrieben, das ebenfalls den Status einer Empfehlung hat. Weitere Materialien zum Signieren eines XML-Dokuments sind verfügbar unter: http://www.w3.org/Signature/ .

Schild XML-Signatur

Die Empfehlung „XML Signature Syntax and Processing“ legt fest, dass die Signatur und Informationen dazu im Tag enthalten sein sollten , die die folgenden Teile hat (meistens werden sie benötigt, um die Signatur zu überprüfen):

  • CanonicalizationMethod definiert einen bestimmten Satz von Regeln zum Vereinfachen und Strukturieren einer XML-Instanz vor dem Signieren. Diese Informationen stellen sicher, dass die zu signierenden Daten ordnungsgemäß formatiert sind, sodass der Überprüfungsalgorithmus erfolgreich ist, wenn die aussagekräftigen Daten nicht geändert wurden;
  • die Signaturmethode (SignatureMethod) definiert den Algorithmus zum Signieren des Message Digest. Der Nachrichten-Digest ist eine eindeutige Zeichenkette fester Größe, er ist das Ergebnis der Verarbeitung von Daten unter Verwendung einer Einweg-Hash-Funktion, die von der Digest-Methode angegeben wird;
  • Digest-Methode (DigestMethod) Ein Algorithmus zum Kompilieren eines Digest einer Nachricht, die mit der angegebenen Signaturmethode signiert wurde. Die Angabe einer bestimmten Digest-Methode stellt sicher, dass die Daten auf die gleiche Weise verarbeitet werden;
  • Digest-Wert (DigestValue) der Nachrichten-Digest selbst, d. h. eine Zeichenfolge fester Länge, die als Ergebnis der Datenverarbeitung mit dem Digest-Algorithmus erzeugt wird. Eine solche Zeichenfolge ist einzigartig und irreversibel: Es ist fast unmöglich, sie aus anderen Inhalten zu erhalten, ebenso wie es unmöglich ist, die Originaldaten daraus wiederherzustellen. Es ist wie ein Fingerabdruck für die signierten Daten; ein positives Ergebnis des Vergleichs von Digest-Werten garantiert die Integrität des Inhalts;
  • die Signatur selbst (SignatureValue) dies sind die Daten, die nach der Verarbeitung durch das Signaturverfahren erhalten werden;
  • Public Key Information (KeyInfo)-Schlüssel für die EDS-Verifizierung. Genauer gesagt kein Schlüssel, sondern ein Zertifikat, denn neben dem Schlüssel selbst können darin auch der Name des Besitzers und der digitale Signaturalgorithmus angegeben werden.

Dies ist natürlich keine erschöpfende Information darüber, was in dem Tag enthalten sein kann. . Hier das einfachste Beispiel eine solche Signatur (Listing 1).

Bildung von EDS XML

Es ist zu beachten, dass es einige Unterschiede zwischen dem XML-Signaturprozess und dem klassischen gibt. Tatsache ist, dass der Prozess des Signierens einer XML-Instanz mit der Kanonisierung beginnt, also mit der Vereinfachung der Datenstruktur. Wie bereits erwähnt, ist dieses Verfahren notwendig, um das EDS für dasselbe XML-Dokument, das auf unterschiedliche Weise präsentiert wird, korrekt zu verifizieren. Das bedeutet, dass vor dem Signieren alle XML-Dokumente in eine einzige kanonische Form konvertiert werden müssen. Die nächsten Schritte ähneln dem Standardprozess zum Hinzufügen einer digitalen Signatur: Für die Daten wird mit der angegebenen Methode ein Digest-Wert erstellt, der dann mit dem privaten Schlüssel des Autors des Dokuments signiert wird.

Überprüfung der digitalen XML-Signatur

Es gibt zwei Schritte zum Verifizieren einer Signatur: Verifizieren der Signatur selbst und Verifizieren des Digest-Werts.

Die Signatur selbst wird zuerst überprüft, um sicherzustellen, dass ihr Besitzer authentifiziert ist, und um eine Zurückweisung zu verhindern. Der Digest-Wert wird dann überprüft, um sicherzustellen, dass sich die Daten nicht geändert haben, und die Integrität des Inhalts des XML-Dokuments wird überprüft.

Verschlüsselung von XML-Dokumenten

W3C XML-Verschlüsselungsspezifikationen

Kommen wir zur Verschlüsselung, die es uns ermöglicht, die übertragenen Daten zu schließen (d. h. in eine Form umzuwandeln, in der die Bedeutung nicht verstanden wird) und auf der Empfängerseite wiederherzustellen. Das W3C erstellt Arbeitsgruppe(http://www.w3.org/Encryption/2001/), das sich speziell mit der XML-Datenverschlüsselung befasst. Die Spezifikation „XML Encryption Syntax and Processing“ hat jetzt den Empfehlungsstatus erhalten und ist verfügbar unter: http://www.w3.org/TR/xmlenc-core/ .

Schild

  • Verschlüsselungsverfahren (EncryptionMethod) beschreibt den Datenverschlüsselungsalgorithmus. Fehlt dieses Tag, muss der Verschlüsselungsalgorithmus dem Empfänger bekannt sein, sonst kann die Nachricht nicht entschlüsselt werden;
  • verschlüsselte Daten (CipherData) die eigentlichen verschlüsselten Daten oder ein Link zu ihrem Standort. Die Vielfalt der zu verschlüsselnden Datentypen und Methoden ihrer logischen Organisation ist praktisch unbegrenzt;
  • Informationen über Schlüssel (KeyInfo) Informationen über die Schlüssel, mit denen verschlüsselt und entsprechend entschlüsselt wird. Sie können an anderer Stelle gespeichert und in der XML-Instanz durch einen URL-Link ersetzt werden;
  • andere Informationen (z. B. über beabsichtigte Empfänger).

Tag-Beispiel in Listing 2 gezeigt.

Verschlüsselungs- und Entschlüsselungsprozess

XML-Daten werden mit traditionellen Public-Key-Kryptografieverfahren verschlüsselt. Zuerst werden die Daten selbst verschlüsselt, üblicherweise mit einem zufällig generierten geheimen Schlüssel, der dann auch mit dem öffentlichen Schlüssel des beabsichtigten Empfängers verschlüsselt wird. Diese Informationen werden so verpackt, dass nur der angegebene Empfänger den geheimen Schlüssel extrahieren und die Daten entschlüsseln kann. Der geheime Schlüssel wird verwendet, um den geheimen Schlüssel zu entschlüsseln, und dann werden die Daten unter Verwendung des gefundenen geheimen Schlüssels entschlüsselt.

Implementieren von Sicherheit für XML-Dokumente

Wir haben überprüft allgemeine Grundsätze Arbeit der elektronischen digitalen Signatur und die Spezifikation, die das W3C-Konsortium auf diesem Gebiet entwickelt hat. All dies ist gut, aber was ist, wenn es wirklich notwendig ist, die beschriebenen XML-Datenschutzschemata zu implementieren?

Obwohl die W3C-Standards erst vor kurzem erschienen sind, haben einige Unternehmen bereits heute die Veröffentlichung ihrer Pakete (Klassenbibliotheken) angekündigt, die sowohl EDS als auch Verschlüsselung implementieren. Betrachten wir die Möglichkeiten einiger von ihnen.

XML-Sicherheitssuite (IBM)

Dieses sprachbasierte Paket Java-Programmierung, verfügbar unter http://www.alphaworks.ibm.com/tech/xmlsecuritysuite . XML Security Suite ist ein Tool, das Sicherheitsfunktionen wie digitale Signatur, Verschlüsselung und Zugriffskontrolle für XML-Dokumente bereitstellt. Damit können Sie größere Erfolge erzielen, als wenn Sie die Fähigkeiten von Sicherheitsprotokollen der Transportschicht (z. B. Secure Sockets Layer, SSL) verwenden.

Dieses Paket implementiert drei Technologien:

  • EDS basiert auf der „XML Signature Syntax and Processing“-Spezifikation von W3C und IETF (sowie auf der „Canonical XML“-Spezifikation);
  • die Verschlüsselung basiert auf der W3C XML Encryption Syntax and Processing-Spezifikation;
  • Zugriffskontrolle für XML-Dokumente (XML Access Control Language).

XML Security Suite ist eine der besten moderne Mittel um XML-Dokumente zu schützen. Neben dem Archiv (JAR) mit der Klassenbibliothek selbst enthält es eine ausführliche Dokumentation und Beispiele, mit denen Sie schnell in der Klassenhierarchie navigieren können.

XML-Sicherheit (Apache)

XML-basierter Datenschutz

Security Assertion Markup Language (SAML)

Ein Bereich, der sich vom XML-Datenschutz unterscheidet, aber eng mit ihm verwandt ist, ist die Verbesserung der Sicherheit von XML-basierten Systemen (Protokollen). In diesem Fall werden andere Dokumente/Systeme/Anwendungen mit XML geschützt. Das Sicherheitskomitee der Organization for the Advancement of Structured Information Standards (OASIS) entwickelt derzeit die Security Assertion Markup Language (SAML).

Bundesgesetz "Über die elektronische digitale Signatur"

Ziele

Lassen Sie uns ein wenig von den Gesetzgebern im Bereich des Internets abschweifen und das Bundesgesetz „Über die elektronische digitale Signatur“ betrachten, das am 10. Januar 2002 vom Präsidenten der Russischen Föderation verabschiedet wurde (http://www.internet-law .ru/intlaw/laws/ecp.htm). Die Verabschiedung dieses Gesetzes schuf rechtliche Bedingungen für die Verwendung einer elektronischen digitalen Signatur in elektronischen Dokumenten, unter denen eine elektronische digitale Signatur in einem elektronischen Dokument als gleichwertig mit einer handschriftlichen Signatur in einem Dokument auf Papier anerkannt wird. Damit ist der Grundstein für die Schaffung eines rechtskräftigen elektronischen Dokumentenmanagementsystems gelegt.

Bedingungen für die Gleichwertigkeit eines EDS und einer regulären Signatur

Das Gesetz definiert die grundlegenden Konzepte, die im EDS-Verfahren verwendet werden, wie z. B. ein Zertifikat, öffentliche und private Schlüssel, Bestätigung der Authentizität einer elektronischen digitalen Signatur (wir haben sie zuvor betrachtet) usw. Außerdem definiert das Gesetz die Bedingungen, unter denen ein Die elektronische digitale Signatur in einem elektronischen Dokument entspricht einer Signatur in einem Dokument auf Papier. Das bedeutet zunächst einmal, dass das Signaturschlüsselzertifikat zu dieser elektronischen digitalen Signatur zum Zeitpunkt der Prüfung bzw. zum Zeitpunkt der Signierung nicht abgelaufen ist. elektronisches Dokument. Außerdem muss die Authentizität der elektronischen digitalen Signatur und die Tatsache, dass die digitale Signatur gemäß den Angaben im Signaturschlüsselzertifikat verwendet wird, bestätigt werden.

Zertifikate und CAs

Das Gesetz beschreibt, was das Signierschlüsselzertifikat (eine eindeutige Registrierungs Nummer, vollständiger Name des Eigentümers, öffentlicher EDS-Schlüssel, Name und Ort der Zertifizierungsstelle usw.); die Bedingungen und das Verfahren zur Aufbewahrung des Zertifikats in der Zertifizierungsstelle. Die Dauer der Aufbewahrung des Signaturschlüsselzertifikats in Form eines elektronischen Dokuments in der Zertifizierungsstelle ergibt sich somit aus der Vereinbarung zwischen der Zertifizierungsstelle und dem Inhaber des Signaturschlüsselzertifikats. Die Aufbewahrung richtet sich nach dem Gesetz Russische Föderationüber Archive und Archive.

Den Zertifizierungsstellen ist ein eigenes Kapitel des Gesetzes gewidmet. Der eigentliche Prozess der Entwicklung und Verifizierung eines EDS kann ohne Beteiligung von Zertifizierungsstellen erfolgen, wenn dies durch eine Vereinbarung zwischen den Parteien bestätigt wird. In öffentlichen Informationssystemen und in vielen Unternehmensinformationssystemen ist die Verwendung von EDS jedoch ohne das Funktionieren von Zertifizierungsstellen unmöglich, da dies zu ziemlich einfachen Signaturfälschungsmechanismen führen wird.

Private (geheime) Schlüssel

EDS kann seine Funktionen nur ausführen, wenn der Unterzeichner über einige Informationen verfügt, die nicht autorisierten Personen nicht zugänglich sind. Diese Information ähnelt dem Schlüssel bei der Verschlüsselung und wird daher als „privater Schlüssel der elektronischen digitalen Signatur“ bezeichnet (früher gleichbedeutend mit „geheimer Schlüssel“). Es ist notwendig, sowohl den privaten Schlüssel als auch den Verschlüsselungsschlüssel geheim zu halten, da die Kenntnis des signierenden privaten Schlüssels einem vom Eigentümer des privaten Schlüssels unterzeichneten leeren Blatt Papier entspricht, auf das ein Angreifer einen beliebigen zuzuordnenden Text schreiben kann an den wahren Besitzer des privaten Schlüssels. Kunst. § 12 des Gesetzes weist unmittelbar auf die Verpflichtung des Inhabers des Signaturschlüsselzertifikats hin, den privaten Schlüssel geheim zu halten und unverzüglich die Sperrung des Signaturschlüsselzertifikats zu verlangen, wenn Anhaltspunkte dafür bestehen, dass das Geheimnis des privaten Signaturschlüssels verletzt wurde.

Kunst. 5 des Gesetzes legt das Verfahren zur Erstellung privater Signaturschlüssel unter Berücksichtigung der strikten Einhaltung des Geheimnisses ihrer Erstellung fest. Auf denselben Umstand weist auch Art. 9 des Gesetzes über die Tätigkeit von Zertifizierungsstellen. In Unkann das Problem der Produktion und Verteilung von privaten EDS-Schlüsseln durch ihre eigenen Methoden gelöst werden, jedoch muss sich der EDS-Benutzer der möglichen Folgen einer solchen Organisation des EDS-Betriebs bewusst sein. Es ist durchaus möglich, dass eine regelmäßige Sequenz als privater Schlüssel verwendet wird, wie dies bei der Verwendung eines Passwortsystems der Fall ist.

Nationale Standards für EDS-Algorithmen

Schema von ElGamal

1994 die erste heimischer Standard im Bereich EDS GOST R34.10 94 " Informationstechnologie. Kryptografischer Schutz Information. Verfahren zur Entwicklung und Verifizierung einer elektronischen digitalen Signatur basierend auf einem asymmetrischen kryptographischen Algorithmus. Es definiert Verfahren für die Arbeit mit EDS basierend auf dem ElGamal-Schema. Die Unmöglichkeit, eine Signatur zu fälschen, liegt an der Komplexität der Lösung des Problems des diskreten Logarithmus in einem Feld von p Elementen oder der Komplexität der Bestimmung der Zahl x, die einer großen Primzahl p und den Zahlen a, b aus dem Intervall von 2 bis p gegeben ist -1, die durch Vergleich durchgeführt wird:

ax== bmodp.

Die Mathematiker stehen jedoch nicht still, und in letzter Zeit wurden große Fortschritte bei der Entwicklung von Methoden zur Lösung des Problems des diskreten Logarithmus in einem Bereich von p Elementen erzielt. Kürzlich wurde das sogenannte Zahlenfeldsiebverfahren geschaffen. Damit können Sie das mit der obigen Methode erzeugte EDS knacken (zumindest im Fall des 512-Bit-p-Moduls).

Eine der einfachsten Lösungen für dieses Problem besteht darin, die Länge von p zu erhöhen. Aber leider verschlechtern sich mit einer Erhöhung von p die Betriebseigenschaften des Algorithmus, da die Länge des öffentlichen Schlüssels und die Zeit zum Erzeugen und Verifizieren der Signatur zunehmen.

Elliptische Kurve

Letztendlich kamen russische Wissenschaftler zu dem Schluss, dass es möglich ist, das ElGamal-Schema leicht zu verkomplizieren und so ohne zusätzlichen Rechenaufwand die Komplexität der Fälschung eines EDS um ein Vieltausendfaches zu erhöhen. Eine neue Version des ElGamal-Schemas verwendet den Apparat der elliptischen Kurven über einem endlichen Körper von p Elementen, die als Menge von Zahlenpaaren (x, y) definiert sind (jedes von ihnen liegt im Intervall von 0 bis p-1). ), die den Vergleich erfüllen (die Zahlen a und b sind fest und erfüllen eine zusätzliche Bedingung):

Y2 == x3 + axt + bmodp.

Andere Ressourcen

  • Informationen zum Oracle XML-SQL-Dienstprogramm http://otn.oracle.com/tech/xml/xdk_java/content.html
  • SAML-Spezifikationen http://www.oasis-open.org/committees/security/
  • XKMS-Spezifikation http://www.w3.org/TR/xkms/
  • Bundesgesetz „Über die elektronische digitale Signatur“


Wird geladen...
oben