CH713421A2 - Vorrichtung und Verfahren zum Generieren, Widerrufen und Verifizieren eines Zertifikats unter Verwendung einer Blockchain als Zertifizierungsstelle. - Google Patents
Vorrichtung und Verfahren zum Generieren, Widerrufen und Verifizieren eines Zertifikats unter Verwendung einer Blockchain als Zertifizierungsstelle. Download PDFInfo
- Publication number
- CH713421A2 CH713421A2 CH00110/18A CH1102018A CH713421A2 CH 713421 A2 CH713421 A2 CH 713421A2 CH 00110/18 A CH00110/18 A CH 00110/18A CH 1102018 A CH1102018 A CH 1102018A CH 713421 A2 CH713421 A2 CH 713421A2
- Authority
- CH
- Switzerland
- Prior art keywords
- certificate
- root
- block
- verifying
- transaction
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Eine Vorrichtung und ein Verfahren werden bereitgestellt zum Generieren eines Root-Zertifikats (150) unter Verwendung einer Blockchain (130) als Zertifizierungsstelle sowie zum Generieren, Widerrufen und Verifizieren eines Zertifikats basierend auf der Blockchain. Ein Verfahren zum Generieren eines Zertifikats basierend auf einer Blockchain umfasst das Verifizieren eines Root-Zertifikats eines Blocks (140), der in der Blockchain enthalten ist, wenn bestimmt wird, dass eine Zertifikats-Ausstellungs-Anforderungs-Transaktion in dem Block enthalten ist, und das Generieren eines Zertifikats basierend auf Information, die in dem Root-Zertifikat enthalten ist, und Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
Description
Beschreibung
HINTERGRUND
Gebiet der Erfindung [0001] Die nachfolgenden beispielhaften Ausführungsformen beziehen sich auf eine Vorrichtung und ein Verfahren zum Generieren, Widerrufen und Verifizieren eines Zertifikats unter Verwendung einer Blockchain als eine Zertifizierungsstelle.
Stand der Technik [0002] Ein Zertifikat stellt einen Nachweis zum Ausführen von Funktionen dar, beispielsweise eine Identifizierung eines Zertifikatsinhabers, einen Fälschungsschutzes für ein Dokument oder dergleichen. Für einen Prozess des Generierens, Widerrufens und Verifizierens des Zertifikats wird notwendigerweise eine Zertifizierungsstelle benötigt.
[0003] Unternehmen und Organisationen, die Zertifizierungs-Dienstleistungen bereitstellen, können auf Anforderungen von Kunden durch eine Zertifizierungsstelle Zertifikate ausgeben, widerrufen und verifizieren, so dass Kunden Zertifikate verwenden können.
[0004] Solche Zertifikats-Management-Prozeduren sind in einer einzigen unabhängigen Zertifizierungsstelle vereint, und Sicherheitsvorgaben an die Zertifizierungsstelle, wie beispielsweise Schlüsselmanagement für die Zertifikatsausgabe, sind konzentriert. Eine akkreditierte Zertifizierungsstelle verfügt über hinreichende Sicherheitsstrategien; eine private Zertifizierungsstelle bedarf jedoch eines grossen Kostenaufwands für hinreichende Sicherheitsstrategien. Daher besteht ein Bedarf an einer effizienten und verlässlichen Sicherheitsstrategie für Zertifizierungsstellen.
[0005] Eine Blockchain wird auch als öffentliches Transaktionsbuch bezeichnet und stellt eine Technologie zum Verhindern von Hacking dar, welches im Umgang mit Transaktionen einer virtuellen Währung auftreten kann. Bestehende Finanzunternehmen zeichnen Transaktionen auf einem zentralisierten Server auf, wohingegen die Blockchain ein Schema verwendet zum Senden eines Transaktionsverlaufs an alle Nutzer, die an Transaktionen teilnehmen, sowie zum Vergleichen von Transaktionsverläufen für jede Transaktion, um Datenfälschung zu vermeiden. Die Blockchain findet Anwendung bei Bitcoin, die eine typische virtuelle Online-Währung ist. Bitcoins zeichnen transparent Transaktionsverläufe in einem Transaktionsbuch auf, das jedermann lesen kann, und verschiedene Computer, die Bitcoins verwenden, verifizieren die zuvor genannte Aufzeichnung und verhindern Hacking.
[0006] Statt nur als eine auf Bitcoins angewandte Technologie genutzt zu werden, kann die Blockchain zum Aufzeichnen einer Vielzahl von Daten verwendet werden. Dementsprechend stellt eine Blockchain eine Technologie mit einem Einsparungseffekt von enormen Kosten für den Unterhalt und die Sicherheit einer Datenbank (DB) dar.
[0007] Die zuvor beschriebenen Ausführungen dienen lediglich zum besseren Verständnis und können Information enthalten, die nicht einen Teil des Stands der Technik bildet, inklusive solcher Information, die Fachleuten auf dem Gebiet nicht präsent sein kann.
KURZDARSTELLUNG
[0008] Beispielhafte Ausführungsformen betreffen eine Vorrichtung und ein Verfahren zum Generieren, Widerrufen und Verifizieren von Zertifikaten unter Verwendung einer Blockchain als Zertifizierungsstelle, die für alle Organisationen, die in einem Blockchain-Netzwerk teilnehmen, dieselbe Kraft und Wirkung hat.
[0009] Beispielhafte Ausführungsformen betreffen ein Verfahren zum Generieren eines Root-Zertifikats und Generieren eines Zertifikats basierend auf dem Root-Zertifikat und einer Zertifikats-Ausstellungs-Anforderungs-Transaktion, wenn bestimmt wird, dass die Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
[0010] Beispielhafte Ausführungsformen betreffen ein Verfahren zum Widerrufen eines Zertifikats durch Generieren einer Transaktion zum Widerrufen des Zertifikats in Antwort auf eine Zertifikatswiderrufs-Anforderung, die empfangen wird, und durch Hinzufügen der Transaktion zu einer Blockchain, die einen Block enthält, der zum Generieren des Zertifikats verwendet wird.
[0011] Beispielhafte Ausführungsformen betreffen ein Verfahren zum Verifizieren eines Zertifikats durch Verifizieren einer Signatur des Zertifikats in Antwort auf eine Anforderung für eine Verifizierung des Zertifikats, die empfangen wird, durch Vergleichen von Authentifizierungs-Information, die in einer Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, mit Authentifizierungs-Information, die in dem Zertifikat enthalten ist, und durch Bestimmen, ob das Zertifikat widerrufen ist.
[0012] Gemäss einem Aspekt wird ein Verfahren zum Generieren eines Zertifikats basierend auf einer Blockchain bereitgestellt, wobei das Verfahren aufweist: Verifizieren eines Root-Zertifikats eines Blocks, der in einer Blockchain enthalten ist, wenn bestimmt wird, dass eine Zertifikats-Ausstellungs-Anforderungs-Transaktion in dem Block enthalten ist, und Generieren eines Zertifikats basierend auf Information, die in dem Root-Zertifikat enthalten ist, und Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
[0013] Das Generieren des Zertifikats kann beinhalten: Verifizieren eines Subjekts des Root-Zertifikats und einer Seriennummer des Root-Zertifikats, Verifizieren eines öffentlichen Schlüssels und eines Subjekts der Zertifikats-Ausstellungs-Anforderungs-Transaktion, Verifizieren eines privaten Schlüssels der generiert wird, wenn das Root-Zertifikat generiert wird, Generieren einer Seriennummer des Zertifikats durch Hinzufügen der Seriennummer des Root-Zertifikats zu einer Ordnungszahl der Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block, Setzen des Subjekts des Root-Zertifikats als einen Aussteller des Zertifikats, Setzen des Subjekts der Zertifikats-Ausstellungs-Anforderungs-Transaktion als ein Subjekt des Zertifikats, Setzen des öffentlichen Schlüssels der Zertifikats-Ausstellungs-Anforderungs-Transaktion als einen öffentlichen Schlüssel des Zertifikats, Setzen einer Gültigkeitsdauer des Zertifikats, Generieren einer Signatur des Zertifikats, basierend auf einem Signaturalgorithmus, unter Verwendung des privaten Schlüssels und Authentifizierungs-Information, die zu signieren ist und die die Seriennummer des Zertifikats, den Aussteller des Zertifikats, das Subjekt des Zertifikats, die Gültigkeitsdauer des Zertifikats und den öffentlichen Schlüssel des Zertifikats enthält, und Generieren des Zertifikats, das die Seriennummer des Zertifikats, den Aussteller des Zertifikats, das Subjekt des Zertifikats, die Gültigkeitsdauer des Zertifikats, den öffentlichen Schlüssel des Zertifikats, die Signatur und Information enthält, die geeignet ist, den Signaturalgorithmus zu identifizieren.
[0014] Das Setzen der Gültigkeitsdauer des Zertifikats kann das Setzen der Gültigkeitsdauer des Zertifikats auf eine vorbestimmte Zeitdauer oder eine Zeitdauer umfassen, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
[0015] Das Verfahren kann, nach dem Verifizieren des Root-Zertifikats, ferner beinhalten: Verifizieren eines Block-Has-hs des Blocks, Generieren eines Seeds unter Verwendung des Block-Hashs, Generieren eines privaten Schlüssels des Root-Zertifikats und eines öffentlichen Schlüssels des Root-Zertifikats unter Verwendung des Seeds, Generieren einer Seriennummer des Root-Zertifikats zu einer vorgegebenen Nummer oder einem Block-Index des Blocks, Generieren eines Ausstellers des Root-Zertifikats basierend auf Information, die geeignet ist, die Blockchain zu identifizieren, oder Generieren des Ausstellers des Root-Zertifikats durch Kombinieren des Block-Index und der Information, die geeignet ist, die Blockchain zu identifizieren, Generieren eines Subjekts des Root-Zertifikats, so dass es das gleiche ist wie der Aussteller des Root-Zertifikats, Setzen einer Gültigkeitsdauer des Root-Zertifikats durch Hinzufugen einer vorgegebenen Zeit zu einem Zeitstempel, der im Block enthalten ist, Generieren einer Signatur des Root-Zertifikats basierend auf einem Signaturalgorithmus unter Verwendung des privaten Schlüssels des Root-Zertifikats und Authentifizierungs-Information, die die Seriennummer des Root-Zertifikats, den Aussteller des Root-Zertifikats, das Subjekt des Root-Zertifikats, die Gültigkeitsdauer des Root-Zertifikats und den öffentlichen Schlüssel des Root-Zertifikats enthält, und Generieren des Root-Zertifikats, das die Seriennummer des Root-Zertifikats, den Aussteller des Root-Zertifikats, das Subjekt des Root-Zertifikats, die Gültigkeitsdauer des Root-Zertifikats, den öffentlichen Schlüssel des Root-Zertifikats, die Signatur des Root-Zertifikats und Information enthält, die geeignet ist, den Signaturalgorithmus zu identifizieren.
[0016] Der Block-Hash kann ein Wert sein, der durch Hashen eines Headers des Blocks unter Verwendung einer Hash-Funktion erhalten wird.
[0017] Der Block-Hash kann Information sein, die in dem Header des Blocks enthalten ist, und kann ein Wert sein, der durch Hashen von Information - mit Ausnahme des Block-Hashs - im Header unter Verwendung einer Hash-Funktion erhalten wird.
[0018] Gemäss einem weiteren Aspekt wird ein Verfahren zum Widerrufen eines Zertifikats basierend auf einer Blockchain bereitgestellt, wobei das Verfahren beinhaltet: Extrahieren von Information über ein Zertifikat, wenn ein Zertifikats-Wider-rufs-Ereignis detektiert wird, Generieren einer Transaktion zum Widerrufen des Zertifikats, basierend auf der Information über das Zertifikat, und Übermitteln der Transaktion an ein Blockchain-Netzwerk einer Blockchain, die einen Block aufweist, der zum Generieren des Zertifikats verwendet wird, so dass die Transaktion in der Blockchain gespeichert wird.
[0019] Das Verfahren kann ferner beinhalten: Generieren eines Blocks, der die Transaktion enthält, und Hinzufügen des Blocks zur Blockchain, wenn die Transaktion über das Blockchain-Netzwerk empfangen wird.
[0020] Das Extrahieren der Information über das Zertifikat kann beinhalten: Verifizieren eines Ausstellers, der in dem Zertifikat enthalten ist, und Extrahieren von Information, die verwendet wird zum Identifizieren der Blockchain und des Blocks, die zum Generieren des Zertifikats verwendet werden, und Verifizieren einer Seriennummer, die in dem Zertifikat enthalten ist, Verifizieren einer Ordnungszahl einer Zertifikats-Ausstellungs-Anforderungs-Transaktion zum Anfordern einer Ausstellung eines Zertifikats im Block, und Extrahieren von Information, die geeignet ist, die Zertifikats-Ausstellungs-Anforderungs-Transaktion zu identifizieren.
[0021] Das Zertifikats-Widerrufs-Ereignis erfolgt in Antwort auf eine Anforderung von einem legitimierten Nutzer mit einer Berechtigung des Zertifikats, oder erfolgt, wenn eine Anforderung zum Widerrufen des Zertifikats detektiert wird basierend auf einer Zustimmung von Blockchain-Netzwerk-Teilnehmern.
[0022] Gemäss einem weiteren Aspekt wird ein Verfahren zum Verifizieren eines Zertifikats basierend auf einer Blockchain bereitgestellt, wobei das Verfahren beinhaltet: Bestimmen, ob eine Gültigkeitsdauer eines Zertifikats gültig ist, wenn eine Anforderung für eine Verifizierung des Zertifikats empfangen wird, Verifizieren eines Root-Zertifikats des Zertifikats, wenn die Gültigkeitsdauer des Zertifikats als gültig bestimmt wird, Verifizieren einer Signatur des Zertifikats unter Verwendung eines öffentlichen Schlüssels des Root-Zertifikats, Suchen einer Zertifikats-Ausstellungs-Anforderungs-Transaktion zum
Anfordern einer Ausstellung des Zertifikats und Vergleichen von Authentifizierungs-Information, die in der Zertifikats-Aus-stellungs-Anforderungs-Transaktion enthalten ist, mit Authentifizierungs-Information, die in dem Zertifikat enthalten ist, Verifizieren einer Blockchain, die zum Generieren des Zertifikats verwendet wird, und Bestimmen, ob eine Transaktion zum Anfordern eines Widerrufs des Zertifikats in der Blockchain enthalten ist, und Bestimmen, dass die Verifizierung des Zertifikats erfolgreich ist, wenn das Verifizieren der Signatur des Zertifikats erfolgreich ist, wenn die Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist zur Authentifizierungs-Information, die in dem Zertifikat enthalten ist, und wenn das Zertifikat nicht widerrufen ist.
[0023] Das Suchen der Zertifikats-Ausstellungs-Anforderungs-Transaktion kann beinhalten: Verifizieren eines Ausstellers, der in dem Zertifikat enthalten ist, und Verifizieren von Information, die verwendet wird zum Identifizieren eines Blocks und der Blockchain, die zum Generieren des Zertifikats verwendet werden, Verifizieren einer Seriennummer, die in dem Zertifikat enthalten ist, und Verifizieren einer Ordnungszahl der Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block, Suchen des Blocks aus der Blockchain, Verifizieren der Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block und Verifizieren eines Subjekts und eines öffentlichen Schlüssels, die die Authentifizierungs-Information sind, die in der Zerti-fikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, Verifizieren eines Subjekts und eines öffentlichen Schlüssels des Zertifikats, die die Authentifizierungs-Information sind, die in dem Zertifikat enthalten ist, und Bestimmen, ob das Subjekt, das in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist mit dem Subjekt, das in dem Zertifikat enthalten ist, und Bestimmen, ob der öffentliche Schlüssel, der in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist mit dem öffentlichen Schlüssel, der in dem Zertifikat enthalten ist.
[0024] Das Verifizieren der Blockchain kann beinhalten: Verifizieren eines Ausstellers, der in dem Zertifikat enthalten ist, und Verifizieren von Information, die zum Identifizieren der Blockchain verwendet wird, und Bestimmen, ob die Transaktion zum Anfordern des Widerrufs des Zertifikats in der Blockchain enthalten ist.
[0025] Gemäss einem weiteren Aspekt wird eine Zertifikat-Management-Vorrichtung bereitgestellt, die beinhaltet: einen Root-Zertifikat-Generator, der dazu ausgebildet ist, ein Root-Zertifikat zu generieren basierend auf Information, die in einem Block einer Blockchain enthalten ist, und ein Zertifikat-Generator, der dazu ausgebildet ist, einen Zertifikat zu generieren basierend auf Information, die in dem Root-Zertifikat enthalten ist, und Information, die in einer Zertifikats-Aus-stellungs-Anforderungs-Transaktion enthalten ist, wenn bestimmt wird, dass die Zertifikats-Ausstellungs-Anforderungs-Transaktion in dem Block enthalten ist.
[0026] Die Zertifikat-Management-Vorrichtung kann ferner eine Zertifikat-Widerruf-Einrichtung beinhalten, die dazu ausgebildet ist, Information über das Zertifikat zu extrahieren, eine Transaktion zum Widerrufen des Zertifikats zu generieren und die Transaktion an ein Blockchain-Netzwerk der Blockchain zu übermitteln, so dass die Transaktion in der Blockchain gespeichert wird, wenn ein Zertifikats-Widerrufs-Ereignis detektiert wird.
[0027] Die Zertifikat-Management-Vorrichtung kann ferner eine Zertifikat-Verifizier-Einrichtung beinhalten, die dazu ausgebildet ist, zu bestimmen, ob eine Gültigkeitsdauer des Zertifikats gültig ist, wenn eine Anforderung für eine Verifizierung des Zertifikats empfangen wird, eine Signatur des Zertifikats unter Verwendung eines öffentlichen Schlüssels des Root-Zertifikats zu verifizieren, wenn die Gültigkeitsdauer des Zertifikats als gültig bestimmt wird, eine Zertifikats-Ausstel-lungs-Anforderungs-Transaktion zu suchen und Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anfor-derungs-Transaktion enthalten ist, mit Authentifizierungs-Information, die in dem Zertifikat enthalten ist, zu vergleichen, zu bestimmen, ob eine Transaktion zum Anfordern eines Widerrufs des Zertifikats in der Blockchain enthalten ist, und zu bestimmen, dass die Verifizierung des Zertifikats erfolgreich ist, wenn eine Verifizierung der Signatur des Zertifikats erfolgreich ist, wenn die Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist mit der Authentifizierungs-Information, die in dem Zertifikat enthalten ist, und wenn das Zertifikat nicht widerrufen ist.
[0028] Weitere Aspekte beispielhafter Ausführungsformen werden in Teilen in der nachfolgenden Beschreibung dargelegt, und in Teilen aus der Beschreibung ersichtlich sein oder durch Ausfuhren der Offenbarung erkannt werden.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
[0029] Diese und/oder andere Aspekte, Merkmale und Vorteile der Erfindung werden ersichtlich und leichter verstanden anhand der nachfolgenden Beschreibung beispielhafter Ausführungsformen in Verbindung mit den beigefügten Zeichnungen, von denen sind:
Fig. 1 ein Diagramm, das eine Konfiguration eines Root-Zertifikats und eine Konfiguration eines Blocks, der zum Generieren des Root-Zertifikats verwendet wird, gemäss einer beispielhaften Ausführungsform illustriert;
Fig. 2 ein Diagramm, das eine Konfiguration einer Zertifikat-Management-Vorrichtung zum Generieren, Widerrufen und Verifizieren eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert;
Fig. 3 ein Flussdiagramm, das einen Prozess zum Generieren eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert;
Fig. 4 ein Flussdiagramm, das im Detail einen Prozess zum Generieren eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert;
Fig. 5 ein Flussdiagramm, das einen Prozess zum Generieren eines Root-Zertifikats gemäss einer beispielhaften Ausführungsform illustriert;
Fig. 6 ein Flussdiagramm, das einen Prozess zum Widerrufen eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert;
Fig. 7 ein Flussdiagramm, das einen Prozess zum Verifizieren eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert; und
Fig. 8 ein Flussdiagramm, das einen Prozess zum Verifizieren eines Zertifikats basierend auf Information über das Zertifikat gemäss einer beispielhaften Ausführungsform illustriert.
DETAILLIERTE BESCHREIBUNG
[0030] Die nachfolgenden strukturellen und funktionalen Beschreibungen beispielhafte Ausführungsformen - wie hierin beschrieben - sind lediglich zum Zwecke der Beschreibung der beispielhaften Ausführungsformen - wie hier beschrieben - gedacht und können in verschiedenen Formen implementiert werden. Es versteht sich jedoch, dass diese beispielhaften Ausführungsformen nicht als auf die dargestellten Formen beschränkt aufzufassen sind.
[0031] Verschiedenartige Modifikationen können an den beispielhaften Ausführungsformen vorgenommen werden. Vorliegend sind die Beispiele nicht als beschränkt auf die Offenbarung aufzufassen und sollen so verstanden werden, dass sie alle Änderungen, Äquivalente und Ersetzungen innerhalb der Idee und technischen Bandbreite der Offenbarung umfassen.
[0032] Obwohl Begriffe wie «erste(r)», «zweite(r)» und dergleichen verwendet werden um verschiedene Komponenten zu erläutern, sind diese Komponenten nicht auf solche Begriffe beschränkt. Diese Begriffe werden lediglich zur Unterscheidung einer Komponente von einer anderen Komponente verwendet. Beispielsweise kann innerhalb des Bereichs der vorliegenden Offenbarung eine erste Komponente auch auf eine zweite Komponente bezogen werden, oder in ähnlicher Weise, eine zweite Komponente auf eine erste Komponente bezogen werden.
[0033] Wenn ausgeführt wird, dass eine Komponente mit einer anderen Komponente «verbunden» oder «angrenzend» ist, so kann dies verstanden werden, dass die eine Komponente direkt mit der anderen Komponente verbunden oder angrenzend ist oder dass noch eine weitere Komponente zwischen den beiden Komponenten zwischenliegend ist. Zusätzlich sei angemerkt, dass - wenn in der Spezifikation beschrieben wird, dass eine Komponente «direkt verbunden» oder «direkt verknüpft» mit einer anderen Komponente ist - noch andere Komponenten dazwischen vorhanden sein können. In ähnlicherWeise können Ausdrücke, wie beispielsweise «zwischen» und «unmittelbar zwischen» und «angrenzend an» und «unmittelbar angrenzend an», ebenfalls wie zuvor beschrieben aufgefasst werden.
[0034] Die hierin verwendete Terminologie dient lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen und ist nicht beabsichtigt, limitieren zu sein. Wie hierin verwendet, ist es vorgesehen, dass Singularformen ebenfalls Pluralformen umfassen, soweit der Kontext nichts anderes anzeigt. Es versteht sich ferner, dass die Begriffe «aufweisen» und/oder «aufweisend» - wenn in der Spezifikation verwendet - das Vorhandensein von genannten Merkmalen, Zahlen, Schritten, Operation, Elementen, Komponenten oder Kombination davon spezifiziert, aber nicht das Vorhandensein oder Hinzufügen einer oder mehrere andere Merkmale, Zahlen, Schritte, Operation, Elemente, Komponente und/oder Gruppen davon ausschliesst.
[0035] Soweit nicht anders hierin definiert, haben alle hierin verwendeten Begriffe, die technische oder wissenschaftliche Ausdrücke umfassen, die gleichen Bedeutungen wie jene, die im allgemeinen von Fachleuten auf dem Gebiet verstanden werden. Begriffe, die in allgemein gebräuchlichen Wörterbüchern definiert sind, sollen so aufgefasst werden, dass sie eine Bedeutung haben, die mit der kontextuellen Bedeutung im Stand der Technik übereinstimmt, und sind nicht in einer idealen oder ausschliesslich formalen Bedeutung aufzufassen, soweit hierin nicht anders definiert.
[0036] Nachfolgend werden beispielhafte Ausführungsformen mit Bezugnahme auf die beigefügten Zeichnungen beschrieben. Der Schutzbereich soll jedoch nicht als beschränkt auf die beispielhaften Ausführungsformen - wie hierin erläutert - aufgefasst werden. Innerhalb der vorliegenden Offenbarung beziehen sich gleiche Bezugszeichen in den Zeichnungen auf gleiche Elemente.
[0037] Nachfolgend werden im Detail unter Bezugnahme auf die Fig. 1 bis 8 eine Vorrichtung und ein Verfahren zum Generieren, Widerrufen und Verifizieren von Zertifikaten unter Verwendung einer Blockchain als Zertifizierungsstelle beschrieben werden.
[0038] Fig. 1 ist ein Diagramm, das eine Konfiguration eines Root-Zertifikats und eine Konfiguration eines Blocks, der zum Generieren des Root-Zertifikats verwendet wird, gemäss einer beispielhaften Ausführungsform illustriert.
[0039] Es wird Bezug genommen auf Fig. 1: Wenn eine Transaktion Tx_1 112 von einem Peer 1 110 empfangen wird und eine Transaktion Tx_2 122 von einem Peer 2 120 empfangen wird, kann ein Blockchain-Netzwerk 130 einen Block 140 generieren, der die Transaktionen 112 und 122 beinhaltet.
[0040] Der Block 140 kann ganz allgemein einen Header Block_Header und eine Nutzlast beinhalten. Die Nutzlast kann die empfangenen Transaktionen 112 und 122 enthalten. Der Header kann einen Block-Hash (Block_Hash) 141, einem Block-Index (Blockjndex) 142, einen Zeitstempel (Zeitstempel) 143 und einen vorausgegangenen Block-Hash (Pre_Block_Hash) 144 und einen Transaktios-Hash-Baum (Tx_Hash_Baum) 145 und Nonce 146 beinhalten.
[0041] Der Block-Hash 141 ist ein Wert, der unter Verwendung einer Hash-Funktion durch Hashen von Information - mit Ausnahme des Block-Hashs 141 - aus Information, die in dem Header enthalten ist, erhalten wird. Ferner kann der Block-Hash 141 ein Wert sein, der als ein vorausgegangener Block-Hash verwendet wird, wenn ein nächster Block generiert wird. Der Block-Index 142 kann Information sein, die geeignet ist, den Block 140 in einer Blockchain zu identifizieren. Der Zeitstempel 143 kann Information sein, die eine Zeit anzeigt, zu der der Block 140 generiert wird. Der vorausgegangene Block-Hash 144 kann Information sein, die einen Wert anzeigt, der durch Hashen eines dem Block 140 in der Blockchain vorausgegangenen Blocks halten wird. Der Transaktions-Hash-Baum 145 kann Information sein, die einen Hash-Wert auf einer Wurzel des Hash-Baums anzeigt, der durch Bilden eines Hash-Baums aller Transaktionen, die in dem Block 140 enthalten sind, erhalten werden kann. Die Nonce kann ein Wert sein, der es einem vorgegebenen High-Bit (n-Bit) eines Ausgabewertes von SHA-2(X) erlaubt Null zu sein, wenn der Block 140 (oder der Header des Blocks 140) ein Eingabewert ist.
[0042] Eine Form des Header des Blocks 140 ist nicht auf jene der Fig. 1 begrenzt, und der Header kann verschiedene Formen haben. Beispielsweise kann die Nonce 146 vom Header entfernt oder eine andere Konfiguration kann hinzugefügt werden.
[0043] Eine Zertifikat-Management-Vorrichtung 200 gemäss Fig. 2 kann ein Root-Zertifikat 150 basierend auf Information über den Block 140 generieren. Das Root-Zertifikat 150 kann Authentifizierungs-Information (TBS_Zertifikat) 151, die zu signieren ist, Information (Sign_Algorithmus) 158, die geeignet ist, einen Signaturalgorithmus zu identifizieren, und eine Signatur 159 enthalten. Die Authentifizierungs-Information 151 kann eine Seriennummer 512, ein Subjekt 153, einen Aussteller 154, eine Gültigkeitsdauer 155, einen öffentlichen Schlüssel 156 und ETC (Ethereum Classic) enthalten.
[0044] Die Seriennummer 512 kann generiert werden, so dass sie der gleiche Wert wie der Blockindex 142 des Blocks 140 oder eine vorgegebene Nummer ist.
[0045] Das Subjekt 153 kann generiert werden basierend auf Information, die geeignet ist, eine Blockchain zu identifizieren, oder generiert werden durch Kombinieren von Information, die geeignet ist, die Blockchain mit dem Block-Index 142 des Blocks 140 zu identifizieren.
[0046] Der Aussteller 154 kann generiert werden, so dass er der gleiche Wert ist wie das Subjekt 153.
[0047] Die Gültigkeitsdauer 155 kann gesetzt werden durch Hinzufügen einer vorgegebenen Zeit zu dem Zeitstempel 143 des Blocks 140.
[0048] Der öffentliche Schlüssel 156 kann generiert werden unter Verwendung einer Schlüssel-Generier-Funktion, die den Block-Hash 141 des Blocks 140 als einen Seed verwendet. Zudem kann ein privater Schlüssel zusammen mit dem öffentlichen Schlüssel 156 generiert werden.
[0049] Die Signatur 159 kann generiert werden unter Verwendung der Authentifizierungs-Information 151 und des privaten Schlüssels, der zusammen mit dem öffentlichen Schlüssel 156 generiert wird, basierend auf einem Signaturalgorithmus.
[0050] Die Information 158 kann Information sein, die einen Signatur Algorithmus anzeigt der zum Generieren der Signatur 159 verwendet wird. Der Signaturalgorithmus kann beispielsweise - jedoch ohne Beschränkung hierauf - einen Elliptic Curve Digital Signature Algorithmus (ECDSA) oder einen Rivest-Shamir-Adleman (RSA) enthalten.
[0051] Fig. 2 ist ein Diagramm, das eine Konfiguration einer Zertifikat-Management-Vorrichtung 200 zum Generieren, Widerrufen und Verifizieren eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert.
[0052] Es wird Bezug genommen auf Fig. 2: Die Zertifikat-Management-Vorrichtung 200 kann unter Verwendung einer Steuerung 210, eines Root-Zertifikat-Generators 212, eines Zertifikat-Generators 214, einer Zertifikat-Widerruf-Einrich-tung 216, einer Zertifikat-Verifizier-Einrichtung 218, eines Kommunikators 220 und eines Speichers 230 ein Zertifikat generieren, verifizieren und widerrufen.
[0053] Der Kommunikator 220 kann eine Kommunikationsschnittstelleneinrichtung sein, die einen Empfänger und einen Transmitter umfasst, und dementsprechend kann der Kommunikator 220 Daten über einen Draht oder drahtlos übermitteln oder empfangen. Der Kommunikator 220 kann mit dem Blockchain-Netzwerk 130 kommunizieren, um Blöcke einer Blockchain zu suchen oder zu empfangen und um eine Mitteilung zum Anfordern einer Ausstellung, eines Widerrufs oder einer Verifizierung eines Zertifikats zu empfangen.
[0054] Der Speicher 230 kann eine Blockchain speichern, die über das Blockchain-Netzwerk 130 empfangen wird, und ebenso ein Root-Zertifikat und ein Zertifikat speichern.
[0055] Der Root-Zertifikat-Generator 212 kann das Root-Zertifikat 150 basierend auf Information, die im Block 140 der Blockchain enthalten ist, generieren. Ein Prozess des Generierens des Root-Zertifikats 150 wird im Weiteren unten unter Bezugnahme auf Fig. 5 beschrieben werden.
[0056] Der Zertifikat-Generator 214 kann ein Zertifikat basierend auf Information, die in dem Root-Zertifikat 150 enthalten ist, und Information, die in einer Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, generieren, wenn bestimmt wird, dass die Zertifikats-Ausstellungs-Anforderungs-Transaktion in dem Block 140 enthalten ist. Der Prozess des Generierens eines Root-Zertifikats wird im Weiteren unten unter Bezugnahme auf Fig. 3 und 4 beschrieben werden.
[0057] Die Zertifikat-Widerruf-Einrichtung 216 kann Information über ein Zertifikat extrahieren, wenn ein Zertifikats-Wi-derrufs-Ereignis detektiert wird, eine Transaktion zum Widerrufen des Zertifikats generieren und die Transaktion an das Blockchain-Netzwerk 130 übermitteln, so dass die Transaktion in der Blockchain gespeichert werden kann. Ein Prozess des Widerrufs des Zertifikats wird im Weiteren unten unter Bezugnahme auf Fig. 6 beschrieben werden.
[0058] Die Zertifikat-Verifizier-Einrichtung 218 kann bestimmen, ob eine Gültigkeitsdauer des Zertifikats gültig ist, wenn eine Anforderung für eine Verifizierung des Zertifikats empfangen wird. Wenn die Gültigkeitsdauer des Zertifikats als gültig bestimmt wird, kann die Zertifikat-Verifizier-Einrichtung 218 eine Signatur unter Verwendung eines öffentlichen Schlüssel des Root-Zertifikats 150 verifizieren, eine Zertifikats-Ausstellungs-Anforderungs-Transaktion zum Anfordern einer Ausstellung des Zertifikats suchen, Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, mit Authentifizierungsinformation, die in dem Zertifikat enthalten ist, vergleichen, bestimmen, ob eine Transaktion zum Anfordern eines Widerrufs des Zertifikats in der Blockchain enthalten ist, und bestimmen, dass die Verifizierung des Zertifikats erfolgreich ist, wenn das Verifizieren der Signatur des Zertifikats erfolgreich ist, wenn die Authentifizierungs-Information, die in derZertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist zur Authentifizierungs-Information, die in dem Zertifikat enthalten ist, und wenn das Zertifikat nicht widerrufen ist. Ein Prozess des Verifizierens des Zertifikats wird im Weiteren unten unter Bezugnahme auf Fig. 7 und 8 beschrieben werden.
[0059] Die Steuerung 210 kann einen Gesamtbetrieb der Zertifikat-Management-Vorrichtung 200 steuern. Ebenfalls kann die Steuerung 210 eine oder mehrere Funktionen des Root-Zertifikat-Generators 212, des Zertifikat-Generators 214, der Zertifikat-Widerruf-Einrichtung 216 und der Zertifikat-Verifizier-Einrichtung 218 ausführen. Die Steuerung 210, der Root-Zertifikat-Generator 212, der Zertifikat-Generator 214, die Zertifikat-Widerruf-Einrichtung 216 und die Zertifikat-Verifizier-Einrichtung 218 sind in Fig. separat illustriert, um jede Funktion separat zu beschreiben. Folglich kann die Steuerung 210 wenigstens einen Prozessor beinhalten, der dazu ausgebildet ist, eine oder mehrere Funktionen des Root-Zertifikat-Generators 212, des Zertifikat-Generators 214, der Zertifikat-Widerruf-Einrichtung 216 und der Zertifikat-Verifizier-Einrich-tung 218 auszuführen. Ebenso kann die Steuerung 210 wenigstens einen Prozessor beinhalten, der dazu ausgebildet ist, einen Teil einer oder mehrere Funktionen des Root-Zertifikat-Generators 212, des Zertifikat-Generators 214, der Zertifi-kat-Widerruf-Einrichtung 216 und der Zertifikat-Verifizier-Einrichtung 218 auszuführen.
[0060] Nachfolgend wird unter Bezugnahme auf die Zeichnungen ein Verfahren zum Generieren, Widerrufen und Verifizieren eines Zertifikats basierend auf einer Blockchain in einer Zertifikat-Management-Vorrichtung gemäss einer beispielhaften Ausführungsform beschrieben.
[0061] Fig. 3 ist ein Flussdiagramm, das einen Prozess des Generierens eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert.
[0062] Es wird Bezug genommen auf Fig. 3: In Operation 310 generiert die Zertifikat-Management-Vorrichtung 200 ein Root-Zertifikat basierend auf einem Block, der in einer Blockchain enthalten ist. Ein Prozess des Generierens des Root-Zertifikats 150 wird im Weiteren unten unter Bezugnahme auf Fig. 5 beschrieben werden.
[0063] Wenn in Operation 320 bestimmt wird, dass eine Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block enthalten ist, verifiziert die Zertifikat-Management-Vorrichtung 200 das Root-Zertifikat in Operation 330.
[0064] In Operation 340 generiert die Zertifikat-Management-Vorrichtung 200 ein Zertifikat basierend auf Information, die in dem Root-Zertifikat enthalten ist, und Information, die in derZertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist. Der Prozess des Generierens des Zertifikats wird im Weiteren unten unter Bezugnahme auf Fig. 4 beschrieben werden.
[0065] Fig. 4 ist ein Flussdiagramm, das im Detail einen Prozess des Generierens eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert.
[0066] Fig. 4 illustriert ein Beispiel der Operation 340 gemäss Fig. 3 zum Generieren des Zertifikats basierend auf der Information, die in dem Root-Zertifikat enthalten ist, und der Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
[0067] Es wird Bezug genommen auf Fig. 4: In Operation 410 verifiziert die Zertifikat-Management-Vorrichtung 200 ein Subjekt und eine Seriennummer, die in dem Root-Zertifikat enthalten sind.
[0068] In Operation 412 verifiziert die Zertifikat-Management-Vorrichtung 200 ein Subjekt und einen öffentlichen Schlüssel, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten sind.
[0069] In Operation 414 verifiziert die Zertifikat-Management-Vorrichtung 200 einen privaten Schlüssel, der generiert wird, wenn das Root-Zertifikat generiert wird.
[0070] In Operation 416 generiert die Zertifikat-Management-Vorrichtung 200 eine Seriennummer des Zertifikats durch Hinzufügen der Seriennummer des Root-Zertifikats zu einer Ordnungszahl der Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block.
[0071] In Operation 418 setzt die Zertifikat-Management-Vorrichtung 200 das Subjekt des Root-Zertifikats als einen Aussteller des Zertifikats.
[0072] In Operation 420 setzt die Zertifikat-Management-Vorrichtung 200 das Subjekt der Zertifikats-Ausstellungs-Anfor-derungs-Transaktion als ein Subjekt des Zertifikats.
[0073] In Operation 422 setzt die Zertifikat-Management-Vorrichtung 200 den öffentlichen Schlüssel der Zertifikats-Aus-stellungs-Anforderungs-Transaktion als einen öffentlichen Schlüssel des Zertifikats.
[0074] In Operation 424 Gesetz die Zertifikat-Management-Vorrichtung 200 eine Gültigkeitsdauer des Zertifikats. Beispielsweise kann die Zertifikat-Management-Vorrichtung 200 die Gültigkeit des Root-Zertifikats auf eine vorgegebene Zeitdauer oder eine Zeitdauer setzen, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
[0075] In Operation 426 generiert die Zertifikat-Management-Vorrichtung 200 eine Signatur des Zertifikats, basierend auf einem Signaturalgorithmus, unter Verwendung des öffentlichen Schlüssels und Authentifizierungs-Information, die zu signieren ist und die die Seriennummer des Zertifikats, den Aussteller des Zertifikats, das Subjekt des Zertifikats, die Gültigkeitsdauer des Zertifikats und den öffentlichen Schlüssel des Zertifikats enthält.
[0076] In Operation 428 generiert die Zertifikat-Management-Vorrichtung 200 das Zertifikat, das die Seriennummer des Zertifikats, den Aussteller des Zertifikats, das Subjekt des Zertifikats, die Gültigkeitsdauer des Zertifikats, den öffentlichen Schlüssel des Zertifikats, die Signatur und Information enthält, die geeignet ist, den Signaturalgorithmus zu identifizieren.
[0077] Fig. 5 ist ein Flussdiagramm, das einen Prozess des Generierens eines Root-Zertifikats gemäss einer beispielhaften Ausführungsform illustriert.
[0078] Fig. 5 illustriert ein Beispiel der Operation 310 gemäss Fig. 3 zum Generieren eines Root-Zertifikats.
[0079] Es wird Bezug genommen auf Fig. 5: In Operation 510 verifiziert die Zertifikat-Management-Vorrichtung 200 den Block-Hash 141 des Blocks 140. Der Block-Hash 141 kann in dem Header des Blocks 140 enthalten sein. Wenn der Header des Blocks 140 den Block-Hash 141 nicht enthält, kann der Block-Hash 141 basierend auf dem Header des Blocks 140 generiert werden. Gemäss einem Beispiel kann, wenn der Block-Hash 141 in dem Header des Blocks 140 nicht enthalten ist, der Block-Hash 141 ein Wert sein, der durch Hashen des Headers unter Verwendung einer Hash-Funktion erhalten wird. Gemäss einem anderen Beispiel kann, wenn der Block-Hash 141 in dem Header des Blocks 140 enthalten ist, der Block-Hash 141 Information sein, die einen Wert enthält, der durch Hashen von Information - mit Ausnahme des Block-Hashs 141 - im Header des Block-Hashs 140 unter Verwendung einer Hash-Funktion erhalten wird.
[0080] In Operation 512 generiert die Zertifikat-Management-Vorrichtung 200 einen Seed unter Verwendung des Block-Hashs 141. Die Zertifikat-Management-Vorrichtung 200 kann - als ein Seed - ein Ergebnis-Wert, der unter Verwendung des Block-Hashs 141 erhalten wird, als einen Argument-Wert einer vorgegebenen Funktion setzen, oder den Block-Hash 141 als einen Seed setzen.
[0081] In Operation 514 generiert die Zertifikat-Management-Vorrichtung 200 einen privaten Schlüssel und den öffentlichen Schlüssel 156 des Root-Zertifikats unter Verwendung des Seeds. Die Zertifikat-Management-Vorrichtung 200 kann den privaten Schlüssel und den öffentlichen Schlüssel 156 unter Verwendung des Seeds als ein Argument-Wert einer Schlüssel-Generier-Funktion generieren.
[0082] In Operation 516 generiert die Zertifikat-Management-Vorrichtung 200 die Seriennummer 152 des Root-Zertifikats, so dass sie derselbe Wert ist wie eine vorgegebene Nummer oder der Block-Index 142 des Blocks.
[0083] In Operation 518 generiert die Zertifikat-Management-Vorrichtung 200 den Aussteller 154 des Root-Zertifikats basierend auf Information, die geeignet ist, eine Blockchain zu identifizieren, oder generiert den Aussteller 154 des Root-Zertifikats durch Kombinieren der Information, die geeignet ist, die Blockchain zu identifizieren, und des Block-Index des Blocks.
[0084] In Operation 520 generiert die Zertifikat-Management-Vorrichtung 200 das Subjekt 153 des Root-Zertifikats, so dass es dasselbe ist wie der Aussteller 154 des Root-Zertifikats.
[0085] In Operation 522 setzt die Zertifikat-Management-Vorrichtung 200 die Gültigkeitsdauer 155 des Root-Zertifikats durch Hinzufügen einer vorgegebenen Zeit zu dem Zeitstempel 143, der in dem Block enthalten ist.
[0086] In Operation 524 generiert die Zertifikat-Management-Vorrichtung 200 die Signatur 159 des Root-Zertifikats, basierend auf einem Signaturalgorithmus, unter Verwendung des privaten Schlüssels des Root-Zertifikats und der Authentifizierungs-Information 151, die die Seriennummer 152, das Subjekt 153, den Aussteller 154, die Gültigkeitsdauer 155 und den öffentlichen Schlüssel 156 enthält.
[0087] In Operation 526 generiert die Zertifikat-Management-Vorrichtung 200 das Root-Zertifikat 150, das die Seriennummer 152, das Subjekt 153, den Aussteller 154, die Gültigkeitsdauer 155 und den öffentlichen Schlüssel 156, die Information 158 und die Signatur 159 enthält.
[0088] Fig. 6 ist ein Flussdiagramm, das einen Prozess des Widerrufens eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert.
[0089] Es wird Bezug genommen auf Fig. 6: In Operation 610 bestimmt die Zertifikat-Management-Vorrichtung 200, ob ein Zertifikats-Widerrufs-Ereignis detektiert wird. Beispielsweise kann ein Zertifikats-Widerrufs-Ereignis in Antwort auf eine Anforderung von einem legitimierten Nutzer mit einer Berechtigung des Zertifikats erfolgen, oder erfolgen, wenn eine Anforderung zum Widerrufen des Zertifikats basierend auf einer Zustimmung von Blockchain-Netzwerk-Teilnehmern detektiert wird.
[0090] Wenn das Zertifikats-Widerrufs-Ereignis in Operation 610 als detektiert bestimmt wird, kann die Zertifikat-Management-Vorrichtung 200 in Operation 620 Information über ein Zertifikat extrahieren. Die Zertifikat-Management-Vorrich-tung 200 kann einen Aussteller verifizieren, der in dem Zertifikat enthalten ist, Information verifizieren, die verwendet wird, um eine Blockchain und einen Block, die zum Generieren des Zertifikats verwendet werden, zu identifizieren, eine Seriennummer verifizieren, die in dem Zertifikat enthalten ist, eine Ordnungszahl einer Zertifikats-Ausstellungs-Anforderungs-Transaktion zum Anfordern einer Ausstellung des Zertifikats im Block verifizieren, und Information extrahieren, die geeignet ist, die Zertifikats-Ausstellungs-Anforderungs-Transaktion und den Block, die für das Zertifikat verwendet werden, zu identifizieren.
[0091] In Operation 630 generiert die Zertifikat-Management-Vorrichtung 200 eine Transaktion zum Widerrufen eines Zertifikats, das durch die Zertifikats-Ausstellungs-Anforderungs-Transaktion generiert wird, basierend auf der Information über das Zertifikat. Die generierte Transaktion kann Information enthalten, die geeignet ist, das Zertifikat zu identifizieren.
[0092] In Operation 640 übermittelt die Zertifikat-Management-Vorrichtung 200 die Transaktion an ein Blockchain-Netz-werk der Blockchain, die den Block enthält, der zum Generieren des Zertifikats verwendet wird, so dass die Transaktion in der Blockchain gespeichert wird. Wenn das Blockchain-Netzwerk die Transaktion empfängt, kann ein Block, der die Transaktion enthält, generiert und zu der Blockchain hinzugefügt werden.
[0093] Fig. 7 ist ein Flussdiagramm, das einen Prozess des Verifizierens eines Zertifikats gemäss einer beispielhaften Ausführungsform illustriert.
[0094] Es wird Bezug genommen auf Fig. 7: Wenn in Operation 710 eine Anforderung für eine Verifizierung eines Zertifikats empfangen wird, bestimmt die Zertifikat-Management-Vorrichtung 200 in Operation 712, ob eine Gültigkeitsdauer des Zertifikats gültig ist.
[0095] Wenn in Operation 712 die Gültigkeitsdauer als abgelaufen bestimmt wird, bestimmt die Zertifikat-Management-Vorrichtung 200 in Operation 714, dass die Verifizierung des Zertifikats fehlschlägt.
[0096] Wenn in Operation 712 die Gültigkeitsdauer als gültig bestimmt wird, verifiziert die Zertifikat-Management-Vorrich-tung 200 in Operation 716 das Root-Zertifikat des Zertifikats.
[0097] In Operation 718 verifiziert die Zertifikat-Management-Vorrichtung 200 eine Signatur des Zertifikats unter Verwendung eines öffentlichen Schlüssels des Root-Zertifikats.
[0098] In Operation 720 sucht die Zertifikat-Management-Vorrichtung 200 eine Zertifikats-Ausstellungs-Anforderungs-Transaktion zum Anfordern einer Ausstellung des Zertifikats und vergleicht Authentifizierungsinformation, die in der Zer-tifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, mit Authentifizierungs-Information, die in dem Zertifikat enthalten ist.
[0099] In Operation 722 verifiziert die Zertifikat-Management-Vorrichtung 200 eine Blockchain, die zum Generieren des Zertifikats verwendet wird.
[0100] In Operation 724 bestimmt die Zertifikat-Management-Vorrichtung 200, ob eine Transaktion zum Anfordern eines Widerrufs des Zertifikats in der Blockchain enthalten ist. Beispielsweise kann die Zertifikat-Management-Vorrichtung 200 durch Verifizieren eines Ausstellers des Zertifikats Information verifizieren, die verwendet wird, um die Blockchain zu identifizieren, und kann bestimmen, ob eine Transaktion zum Anfordern eines Widerrufs des Zertifikats in der Blockchain enthalten ist.
[0101] Wenn - als ein Ergebnis der Operation 718 - das Verifizieren der Signatur erfolgreich ist, wenn - als ein Ergebnis der Operation 720 - die Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist zu der Authentifizierungs-Information, die in dem Zertifikat enthalten ist, und wenn - als ein Ergebnis der Operation 724 - das Zertifikat nicht widerrufen ist, bestimmt die Zertifikat-Management-Vorrichtung 200 in Operation 726, dass die Verifizierung des Zertifikats erfolgreich ist.
[0102] Fig. 8 ist ein Flussdiagramm, das einen Prozess des Verifizierens eines Zertifikats basierend auf Information über das Zertifikat gemäss einer beispielhaften Ausführungsform illustriert.
[0103] Fig. 8 illustriert ein Beispiel der Operation 720 gemäss Fig. 7 zum Vergleichen der Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, mit der Authentifizierungs-Information, die in dem Zertifikat enthalten ist.
[0104] Es wird Bezug genommen auf Fig. 8: In Operation 810 verifiziert die Zertifikat-Management-Vorrichtung 200 einen Aussteller eines Zertifikats und verifiziert Information, die zum Identifizieren eines Blocks und einer Blockchain verwendet wird, welche zum Generieren des Zertifikats verwendet werden.
[0105] In Operation 812 verifiziert die Zertifikat-Management-Vorrichtung 200 eine Seriennummer des Zertifikats und verifiziert eine Ordnungszahl der Zertifikats-Ausstellungs-Anforderungs-Transaktion zum Anfordern einer Ausstellung des Zertifikats im Block.
[0106] In Operation 814 sucht die Zertifikat-Management-Vorrichtung 200 einen Block aus der Blockchain, verifiziert die Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block und verifiziert ein Subjekt und einen öffentlichen Schlüssel, die Authentifizierungs-Information sind, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
[0107] In Operation 816 verifiziert die Zertifikat-Management-Vorrichtung 200 ein Subjekt und einen öffentlichen Schlüssel, die Authentifizierungs-Information sind, die in dem Zertifikat enthalten ist.
[0108] In Operation 818 bestimmt die Zertifikat-Management-Vorrichtung 200, ob das Subjekt, das in der Zertifikats-Aus-stellungs-Anforderungs-Transaktion enthalten ist, identisch ist mit dem Subjekt, dass in dem Zertifikat enthalten ist, und bestimmt, ob der öffentliche Schlüssel, der in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist mit dem öffentlichen Schlüssel, der in dem Zertifikat enthalten ist.
[0109] Obwohl - wie oben unter Bezugnahme auf Bezug auf Fig. 3-8 beschrieben - alle Operationen zum Generieren eines Root-Zertifikats und eines Zertifikats, zum Widerrufen des Zertifikats und zum Verifizieren des Zertifikats von der Zertifikat-Management-Vorrichtung ausgeführt werden, können alle Operationen auch von einer anderen Vorrichtung (beispielsweise einem Peer) ausgeführt werden. Beispielsweise kann eine Vorrichtung, die kein Zertifikat generiert, ein Zertifikat empfangen und verifizieren.
[0110] Gemäss beispielhaften Ausführungsformen kann ein Zertifikat basierend auf einer Blockchain generiert, verifiziert und widerrufen werden; und auf diese Weise ist es daher möglich, ein Zertifikat anstelle der Verwendung einer separaten Zertifizierungsstelle mit derselben Kraft und Wirkung für alle Blockchain-Teilnehmer zu generieren, zu verifizieren und zu widerrufen.
[0111] Die hierin beschriebenen Einrichtungen, Vorrichtungen und anderen Komponenten können unter Verwendung einer Hardwarekomponente, einer Softwarekomponente und/oder einer Kombination davon implementiert werden. Eine Verarbeitungseinrichtung kann unter Verwendung einer oder mehrere Universal- oder Spezial-Computer implementiert werden, beispielsweise durch einen Prozessor, eine Steuerung und eine arithmetisch-logische Einheit (Arithmetic Logic Unit, ALU), einen Digital-Signal-Prozessor (DSP), einen Mikrocomputer, ein programmierbares Gatterfeld (Field Programmable Gate Array, FPGA), eine programmierbare logische Einheit (Programmable Logic Unit, PLU), einen Mikroprozessor oder jede andere Einrichtung, die geeignet ist, in einer definierten Weise auf Instruktionen zu antworten oder Instruktionen auszuführen. Die Verarbeitungseinrichtung kann ein Betriebssystem (Operating System, OS) und eine oder mehrere Software-Applikationen, die auf dem Betriebssystem laufen, betreiben. Die Verarbeitungseinrichtung kann ferner in Antwort auf ein Ausführen der Software auf Daten zugreifen, Daten speichern, Daten manipulieren Daten verarbeiten und Daten generieren. Der Einfachheit halber wird für die Beschreibung der Verarbeitungseinheit die Singularform verwendet; Fachleute auf dem Gebiet werden jedoch erkennen, dass eine Verarbeitungseinrichtung mehrere Verarbeitungselemente und mehrere Typen von Verarbeitungselementen umfassen kann. Beispielsweise kann eine Verarbeitungseinrichtung mehrere Prozessoren oder einen Prozessor und eine Steuerung enthalten. Zudem sind verschiedene Prozessierkonfigurationen möglich, wie beispielsweise ein paralleler Prozessor.
[0112] Die Software kann ein Computerprogramm, ein Stück eines Codes, eine Instruktion oder verschiedene Kombination davon enthalten, um die Verarbeitungseinrichtung unabhängig oder gemeinsam so zu instruierten oder konfigurieren, dass sie wie gewünscht arbeitet. Software und Daten können permanent oder vorübergehend in irgendeiner Art von Maschine, Komponente, physischem oder virtuellem Equipment, Computerspeichermedium oder -einrichtung oder einer propagierten Signalwelle enthalten sein, die geeignet sind, Instruktionen und Daten der Verarbeitungseinrichtung bereitzustellen oder von der Verarbeitungseinrichtung interpretiert zu werden. Die Software kann auch über netzwerkverbundene Computersysteme verteilt sein, so dass die Software in einer dezentralisierten Art und Weise gespeichert und ausgeführt wird. Die Software und Daten können durch eine oder mehrere nichtflüchtige computerlesbare Aufzeichnungsmedien gespeichert werden.
[0113] Die Verfahren gemäss dem oben beschriebenen beispielhaften Ausführungsformen können in nichtflüchtigen computerlesbaren Medien aufgezeichnet werden, die Programm-Instruktionen zum Implementieren verschiedener Operationen der oben beschriebenen beispielhaften Ausführungsformen enthalten. Die Medien können zudem, alleine oder in Kombination mit den Programm-Instruktionen, Daten-Dateien, Datenstrukturen und dergleichen enthalten. Die auf den Medien aufgezeichneten Programm-Instruktionen können jene sein, die speziell für den Zweck der beispielhaften Ausführungsformen entworfen und konstruiert werden, oder sie können von der Art und Weise sein, die Fachleuten auf dem Gebiet der Computersoftware wohlbekannt und verfügbar sind. Beispiele nichtflüchtiger computerlesbarer Medien umfassen magnetische Medien, wie Festplatten, Floppy Disks und Magnetbänder; optische Medien, wie CD-ROM Disks, DVDs und/ oder Blue-Ray Disks; magneto-optische Medien, wie optische Disks; und Hardware-Einrichtungen, die speziell dazu ausgebildet sind, Programm-Instruktionen zu speichern und auszuführen, wie Festwertspeicher (Read Only Memory, ROM),
Claims (10)
- Arbeitsspeicher (Random Access Memory, RAM), Flash-Speicher (beispielsweise USB Flash-Speicher, Speicherkarten und Speichersticks etc.) und dergleichen. Beispiele von Programm-Instruktionen umfassen beides, Maschinensprache, wie beispielsweise von einem Compiler generiert, und Dateien, die eine höhere Programmiersprache enthalten, die von dem Computer unter Verwendung eines Interpreters ausgeführt werden kann. Die oben beschriebenen Einrichtungen können dazu ausgebildet sein, als ein oder mehrere Software-Module zu fungieren, um die Operationen der oben beschriebenen beispielhaften Ausführungsformen auszuführen, oder umgekehrt. [0114] Während die vorliegende Offenbarung spezifische Beispiele enthält, werden Fachleuten auf dem Gebiet erkennen, dass verschiedene Änderungen in Form und Detail an diesen Beispielen vorgenommen werden können, ohne von dem Grundgedanken und Schutzbereich der Ansprüche und deren Äquivalente abzuweichen. Die hierin beschriebenen Beispiele sind lediglich in einem deskriptiven Sinne aufzufassen und dienen nicht dem Zwecke der Einschränkung. Beschreibungen von Merkmalen und Aspekten in jedem Beispiel sind so aufzufassen, dass sie auf ähnliche Merkmale und Aspekte in anderen Beispielen anwendbar sind. Geeignete Ergebnisse können erreicht werden, wenn die beschriebenen Techniken in einer anderen Reihenfolge ausgeführt werden und/oder wenn Komponenten in einem beschriebene System, einer Architektur, einer Einrichtung oder eines Schaltkreises in einer anderen Art und Weise kombiniert und/oder ersetzt oder durch andere Komponenten oder deren Äquivalente ergänzt werden. Daher ist der Umfang der vorliegenden Offenbarung nicht durch die detaillierte Beschreibung definiert, sondern durch die Ansprüche und deren Äquivalente, und alle Variationen innerhalb des Schutzbereichs der Ansprüche und deren Äquivalente sind als in der Offenbarung enthalten aufzufassen. Patentansprüche1. Verfahren zum Generieren eines Zertifikats basierend auf einer Blockchain, wobei das Verfahren aufweist: Verifizieren eines Root-Zertifikats eines Blocks, der in einer Blockchain enthalten ist, wenn bestimmt wird, dass eine Zertifikats-Ausstellungs-Anforderungs-Transaktion in dem Block enthalten ist; und Generieren eines Zertifikats basierend auf Information, die in dem Root-Zertifikat enthalten ist, und Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist.
- 2. Verfahren nach Anspruch 1, wobei das Generieren des Zertifikats aufweist: Verifizieren eines Subjekts des Root-Zertifikats und einer Seriennummer des Root-Zertifikats; Verifizieren eines öffentlichen Schlüssels und eines Subjekts der Zertifikats-Ausstellungs-Anforderungs-Transaktion; Verifizieren eines privaten Schlüssels, der generiert wird, wenn das Root-Zertifikat generiert wird; Generieren einer Seriennummer des Zertifikats durch Hinzufügen der Seriennummer des Root-Zertifikats zu einer Ordnungszahl der Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block; Setzen des Subjekts des Root-Zertifikats als Aussteller des Zertifikats; Setzen des Subjekts der Zertifikats-Ausstellungs-Anforderungs-Transaktion als ein Subjekt des Zertifikats; Setzen des öffentlichen Schlüssels der Zertifikats-Ausstellungs-Anforderungs-Transaktion als einen öffentlichen Schlüssel des Zertifikats; Setzen einer Gültigkeitsdauer des Zertifikats auf eine vorbestimmte Zeitdauer oder eine Zeitdauer, die in der Zertifi-kats-Ausstellungs-Anforderungs-Transaktion enthalten ist; Generieren einer Signatur des Zertifikats, basierend auf einem Signaturalgorithmus, unter Verwendung des privaten Schlüssels und Authentifizierungs-Information, die zu signieren ist und die die Seriennummer des Zertifikats, den Aussteller des Zertifikats, das Subjekt des Zertifikats, die Gültigkeitsdauer des Zertifikats und den öffentlichen Schlüssel des Zertifikats enthält; und Generieren des Zertifikats, das die Seriennummer des Zertifikats, den Aussteller des Zertifikats, das Subjekt des Zertifikats, die Gültigkeitsdauer des Zertifikats, den öffentlichen Schlüssel des Zertifikats, die Signatur und Information enthält, die geeignet ist, den Signaturalgorithmus zu identifizieren.
- 3. Verfahren nach Anspruch 1, wobei das Verfahren, nach dem Verifizieren des Root-Zertifikats, ferner aufweist: Verifizieren eines Block-Hashs des Blocks; Generieren eines Seeds unter Verwendung des Block-Hashs; Generieren eines privaten Schlüssels des Root-Zertifikats und eines öffentlichen Schlüssels des Root-Zertifikats unter Verwendung des Seeds; Generieren einer Seriennummer des Root-Zertifikats zu einer vorgegebenen Nummer oder einem Block-Index des Blocks; Generieren eines Ausstellers des Root-Zertifikats basierend auf Information, die geeignet ist, die Blockchain zu identifizieren, oder Generieren eines Ausstellers des Root-Zertifikats durch Kombinieren des Block-Index und der Information, die geeignet ist, die Blockchain zu identifizieren; Generieren eines Subjekts des Root-Zertifikats, so dass es das gleiche ist wie der Aussteller des Root-Zertifikats; Setzen einer Gültigkeitsdauer des Root-Zertifikats durch Hinzufügen einer vorgegebenen Zeit zu einem Zeitstempel, der im Block enthalten ist; Generieren einer Signatur des Root-Zertifikats basierend auf einem Signaturalgorithmus unter Verwendung des privaten Schlüssels des Root-Zertifikats und Authentifizierungs-Information, die die Seriennummer des Root-Zertifikats, den Aussteller des Root-Zertifikats, das Subjekt des Root-Zertifikats, die Gültigkeitsdauer des Root-Zertifikats und den öffentlichen Schlüssel des Root-Zertifikats enthält; und Generieren des Root-Zertifikats, das die Seriennummer des Root-Zertifikats, den Aussteller des Root-Zertifikats, das Subjekt des Root-Zertifikats, die Gültigkeitsdauer des Root-Zertifikats, den öffentlichen Schlüssel des Root-Zertifikats, die Signatur des Root-Zertifikats und Information enthält, die geeignet ist, den Signaturalgorithmus zu identifizieren.
- 4. Verfahren zum Widerrufen eines Zertifikats basierend auf einer Blockchain, wobei das Verfahren aufweist: Extrahieren von Information über ein Zertifikat, wenn ein Zertifikats-Widerrufs-Ereignis detektiert wird; Generieren einer Transaktion zum Widerrufen des Zertifikats, basierend auf der Information über das Zertifikat; und Übermitteln der Transaktion an ein Blockchain-Netzwerk einer Blockchain, die einen Block aufweist, der zum Generieren des Zertifikats verwendet wird, so dass die Transaktion in der Blockchain gespeichert wird.
- 5. Verfahren nach Anspruch 4, das ferner aufweist: Generieren eines Blocks, der die Transaktion enthält, und Hinzufügen des Blocks zur Blockchain, wenn die Transaktion über das Blockchain-Netzwerk empfangen wird, wobei das Extrahieren der Information über das Zertifikat aufweist: Verifizieren eines Ausstellers, der in dem Zertifikat enthalten ist, und Extrahieren von Information, die verwendet wird zum Identifizieren der Blockchain und des Blocks, die zum Generieren des Zertifikats verwendet werden; und Verifizieren einer Seriennummer, die in dem Zertifikat enthalten ist, Verifizieren einer Ordnungszahl einer Zertifikats-Ausstellungs-Anforderungs-Transaktion zum Anfordern einer Ausstellung eines Zertifikats im Block, und Extrahieren von Information, die geeignet ist, die Zertifikats-Ausstellungs-Anforderungs-Transaktion zu identifizieren.
- 6. Verfahren nach Anspruch 4, wobei das Zertifikats-Widerrufs-Ereignis in Antwort auf eine Anforderung von einem legitimierten Nutzer mit einer Berechtigung des Zertifikats erfolgt, oder erfolgt, wenn eine Anforderung zum Widerrufen des Zertifikats detektiert wird basierend auf einer Zustimmung von Blockchain-Netzwerk-Teilnehmern.
- 7. Verfahren zum Verifizieren eines Zertifikats basierend auf einer Blockchain, wobei das Verfahren aufweist: Bestimmen, ob eine Gültigkeitsdauer eines Zertifikats gültig ist, wenn eine Anforderung für eine Verifizierung des Zertifikats empfangen wird; Verifizieren eines Root-Zertifikats des Zertifikats, wenn die Gültigkeitsdauer des Zertifikats als gültig bestimmt wird; Verifizieren einer Signatur des Zertifikats unter Verwendung eines öffentlichen Schlüssels des Root-Zertifikats; Suchen einer Zertifikats-Ausstellungs-Anforderungs-Transaktion zum Anfordern einer Ausstellung des Zertifikats und Vergleichen von Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, mit Authentifizierungs-Information, die in dem Zertifikat enthalten ist; Verifizieren einer Blockchain, die zum Generieren des Zertifikats verwendet wird, und Bestimmen, ob eine Transaktion zum Anfordern eines Widerrufs des Zertifikats in der Blockchain enthalten ist; und Bestimmen, dass die Verifizierung des Zertifikats erfolgreich ist, wenn das Verifizieren der Signatur des Zertifikats erfolgreich ist, wenn die Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist zur Authentifizierungs-Information, die in dem Zertifikat enthalten ist, und wenn das Zertifikat nicht widerrufen ist.
- 8. Verfahren nach Anspruch 7, wobei das Suchen der Zertifikats-Ausstellungs-Anforderungs-Transaktion aufweist: Verifizieren eines Ausstellers, der in dem Zertifikat enthalten ist, und Verifizieren von Information, die verwendet wird zum Identifizieren eines Blocks und der Blockchain, die zum Generieren des Zertifikats verwendet werden; Verifizieren einer Seriennummer, die in dem Zertifikat enthalten ist, und Verifizieren einer Ordnungszahl der Zertifi-kats-Ausstellungs-Anforderungs-Transaktion im Block; Suchen des Blocks aus der Blockchain, Verifizieren der Zertifikats-Ausstellungs-Anforderungs-Transaktion im Block und Verifizieren eines Subjekts und eines öffentlichen Schlüssels, die die Authentifizierungs-Information sind, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist; Verifizieren eines Subjekts und eines öffentlichen Schlüssels des Zertifikats, die die Authentifizierungs-Information sind, die in dem Zertifikat enthalten ist; und Bestimmen, ob das Subjekt, das in der Zertifikats-Ausstellungs-Anforderungs-Transaktion ist, identisch ist mit dem Subjekt, das in dem Zertifikat enthalten ist, und Bestimmen, ob der öffentliche Schlüssel, der in der Zertifikats-Aus-stellungs-Anforderungs-Transaktion enthalten ist, identisch ist mit dem öffentlichen Schlüssel, der in dem Zertifikat enthalten ist.
- 9. Verfahren nach Anspruch 7, wobei das Verifizieren der Blockchain aufweist: Verifizieren eines Ausstellers, der in dem Zertifikat enthalten ist, und Verifizieren von Information, die zum Identifizieren der Blockchain verwendet wird; und Bestimmen, ob die Transaktion zum Anfordern des Widerrufs des Zertifikats in der Blockchain enthalten ist.
- 10. Zertifikat-Management-Vorrichtung, aufweisend: einen Root-Zertifikat-Generator, der dazu ausgebildet ist, ein Root-Zertifikat zu generieren basierend auf Information, die in einem Block einer Blockchain enthalten ist; ein Zertifikat-Generator, der dazu ausgebildet ist, ein Zertifikat zu generieren basierend auf Information, die in dem Root-Zertifikat enthalten ist, und Information, die in einer Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, wenn bestimmt wird, dass die Zertifikats-Ausstellungs-Anforderungs-Transaktion in dem Block enthalten ist; eine Zertifikat-Widerruf-Einrichtung, die dazu ausgebildet ist, Information über das Zertifikat zu extrahieren, eine Transaktion zum Widerrufen des Zertifikats zu generieren und die Transaktion an ein Blockchain-Netzwerk der Block-chain zu übermitteln, so dass die Transaktion in der Blockchain gespeichert wird, wenn ein Zertifikats-Widerrufs-Er-eignis detektiert wird; und eine Zertifikat-Verifizier-Einrichtung, die dazu ausgebildet ist: zu bestimmen, ob eine Gültigkeitsdauer des Zertifikats gültig ist, wenn eine Anforderung für eine Verifizierung des Zertifikats empfangen wird; eine Signatur des Zertifikats unter Verwendung eines öffentlichen Schlüssels des Root-Zertifikats zu verifizieren, wenn die Gültigkeitsdauer des Zertifikats als gültig bestimmt wird; eine Zertifikats-Ausstellungs-Anforderungs-Transaktion zu suchen und Authentifizierungs-Information, die in der Zer-tifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, mit Authentifizierungs-Information, die in dem Zertifikat enthalten ist, zu vergleichen; zu bestimmen, ob eine Transaktion zum Anfordern eines Widerrufs des Zertifikats in der Blockchain enthalten ist; und zu bestimmen, dass die Verifizierung des Zertifikats erfolgreich ist, wenn eine Verifizierung der Signatur des Zertifikats erfolgreich ist, wenn die Authentifizierungs-Information, die in der Zertifikats-Ausstellungs-Anforderungs-Transaktion enthalten ist, identisch ist mit der Authentifizierungs-Information, die in dem Zertifikat enthalten ist, und wenn das Zertifikat nicht widerrufen ist.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170014294A KR101937216B1 (ko) | 2017-02-01 | 2017-02-01 | 블록체인을 인증서 발급기관으로 이용해서 인증서를 관리하는 장치 및 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CH713421A2 true CH713421A2 (de) | 2018-08-15 |
Family
ID=63113259
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CH00110/18A CH713421A2 (de) | 2017-02-01 | 2018-01-31 | Vorrichtung und Verfahren zum Generieren, Widerrufen und Verifizieren eines Zertifikats unter Verwendung einer Blockchain als Zertifizierungsstelle. |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR101937216B1 (de) |
| CH (1) | CH713421A2 (de) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111340485A (zh) * | 2020-02-19 | 2020-06-26 | 北京众享比特科技有限公司 | 一种用于联盟区块链的数字证书的配置方法、终端和根证书服务器 |
| CN113297632A (zh) * | 2021-05-31 | 2021-08-24 | 中检集团溯源技术服务有限公司 | 基于区块链的追溯实地验证纸质报告证书管理系统及方法 |
| EP3873051A1 (de) * | 2020-02-26 | 2021-09-01 | Siemens Aktiengesellschaft | Verfahren zur validierung eines digitalen zertifikats |
| CN116055069A (zh) * | 2023-04-03 | 2023-05-02 | 北京微芯感知科技有限公司 | 一种基于区块链的分布式ca实现方法 |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109493044A (zh) * | 2018-11-08 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 区块链区块删除方法、装置以及终端设备 |
| KR102250081B1 (ko) | 2019-02-22 | 2021-05-10 | 데이터얼라이언스 주식회사 | 공개 원장 기반 크리덴셜 자율적 운영 시스템 및 방법 |
| WO2019101231A2 (en) * | 2019-03-04 | 2019-05-31 | Alibaba Group Holding Limited | Methods and devices for processing certificates in blockchain system |
| JP2020521341A (ja) | 2019-03-29 | 2020-07-16 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | 識別情報に基づく暗号鍵の管理 |
| SG11201908931TA (en) * | 2019-03-29 | 2019-10-30 | Alibaba Group Holding Ltd | Cryptographic key management based on identity information |
| SG11201908942VA (en) | 2019-03-29 | 2019-10-30 | Alibaba Group Holding Ltd | Securely performing cryptographic operations |
| KR102218188B1 (ko) * | 2019-05-07 | 2021-02-23 | 주식회사 한컴위드 | 블록체인 기반의 인증서 관리를 수행하는 노드 장치 및 그 동작 방법 |
| KR102406403B1 (ko) * | 2019-05-14 | 2022-06-08 | 조선대학교산학협력단 | 블럭체인장치, 블럭체인제공장치, 블럭체인화방법, 및 블럭체인의 데이터구조 |
| KR102274169B1 (ko) * | 2020-06-16 | 2021-07-08 | (주)소셜인프라테크 | 정보 변경 방지 기능이 구비된 오브젝트 정보 생성 시스템 |
| KR102751341B1 (ko) * | 2022-01-12 | 2025-01-10 | (주)가민정보시스템 | 자기 주권 신원 기반 인증 서비스 관리 시스템 |
| CN114785515B (zh) * | 2022-03-29 | 2024-04-23 | 中国科学院信息工程研究所 | 基于区块链的边缘计算身份认证方法及系统 |
| KR20250054474A (ko) * | 2023-10-16 | 2025-04-23 | 주식회사 엑스페릭스 | 보안 데이터 전송 방법 및 시스템 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101637854B1 (ko) * | 2015-10-16 | 2016-07-08 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법 |
-
2017
- 2017-02-01 KR KR1020170014294A patent/KR101937216B1/ko active Active
-
2018
- 2018-01-31 CH CH00110/18A patent/CH713421A2/de not_active Application Discontinuation
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111340485A (zh) * | 2020-02-19 | 2020-06-26 | 北京众享比特科技有限公司 | 一种用于联盟区块链的数字证书的配置方法、终端和根证书服务器 |
| CN111340485B (zh) * | 2020-02-19 | 2023-03-14 | 北京众享比特科技有限公司 | 一种用于联盟区块链的数字证书的配置方法、终端和根证书服务器 |
| EP3873051A1 (de) * | 2020-02-26 | 2021-09-01 | Siemens Aktiengesellschaft | Verfahren zur validierung eines digitalen zertifikats |
| US12166906B2 (en) | 2020-02-26 | 2024-12-10 | Siemens Aktiengesellschaft | Method for validating a digital certificate |
| CN113297632A (zh) * | 2021-05-31 | 2021-08-24 | 中检集团溯源技术服务有限公司 | 基于区块链的追溯实地验证纸质报告证书管理系统及方法 |
| CN113297632B (zh) * | 2021-05-31 | 2023-09-08 | 中检集团溯源技术服务有限公司 | 基于区块链的追溯实地验证纸质报告证书管理系统及方法 |
| CN116055069A (zh) * | 2023-04-03 | 2023-05-02 | 北京微芯感知科技有限公司 | 一种基于区块链的分布式ca实现方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20180089668A (ko) | 2018-08-09 |
| KR101937216B1 (ko) | 2019-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CH713421A2 (de) | Vorrichtung und Verfahren zum Generieren, Widerrufen und Verifizieren eines Zertifikats unter Verwendung einer Blockchain als Zertifizierungsstelle. | |
| EP3108610B1 (de) | Verfarhen und system zum erstellen und zur gültigkeitsprüfung von gerätezertifikaten | |
| EP3256977B1 (de) | Computerimplementiertes verfahren zur zugriffskontrolle | |
| DE102013109513B4 (de) | Verfahren und Vorrichtung zur Zertifikatverifizierung mit Privatsphärenschutz | |
| DE112011100182B4 (de) | Datensicherheitsvorrichtung, Rechenprogramm, Endgerät und System für Transaktionsprüfung | |
| DE602005002652T2 (de) | System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden | |
| EP3956846A1 (de) | Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten sowie bezahlsystem | |
| EP3319006B1 (de) | Verfahren zur offline-echtheitsprüfung eines virtuellen dokuments | |
| EP3182318B1 (de) | Signaturgenerierung durch ein sicherheitstoken | |
| DE112016003625T5 (de) | Peer-to-peer-beglaubigung | |
| EP4254234B1 (de) | Ausstellen eines digitalen credentials für eine entität | |
| DE102021129514A1 (de) | Binden von post-quanten-zertifikaten | |
| DE102016215914A1 (de) | Absichern einer Gerätenutzungsinformation eines Gerätes | |
| DE102012206341A1 (de) | Gemeinsame Verschlüsselung von Daten | |
| EP3735650B1 (de) | Persönliche dokumentenblockchain-struktur | |
| EP2446390A1 (de) | System und verfahren zur zuverlässigen authentisierung eines gerätes | |
| EP3743844B1 (de) | Blockchain-basiertes identitätssystem | |
| EP2442251B9 (de) | Individuelle Aktualisierung von Computerprogrammen | |
| EP4111399B1 (de) | Verfahren, endgerät, überwachungsinstanz sowie bezahlsystem zum verwalten von elektronischen münzdatensätzen | |
| EP3407237A1 (de) | Klassenbasiertes verschlüsselungsverfahren | |
| DE102014210282A1 (de) | Erzeugen eines kryptographischen Schlüssels | |
| EP3767513B1 (de) | Verfahren zur sicheren durchführung einer fernsignatur sowie sicherheitssystem | |
| DE202012101671U1 (de) | Sichere elektronische Unterzeichnung von Information | |
| EP3026842B1 (de) | Verfahren und system zur signaturerstellung | |
| DE102020202879A1 (de) | Verfahren und Vorrichtung zur Zertifizierung eines anwendungsspezifischen Schlüssels und zur Anforderung einer derartigen Zertifizierung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AZW | Rejection (application) |