CH716505B1 - System and method for providing cryptographic asset transactions, hardware approval terminal, backend server and computer program product. - Google Patents

System and method for providing cryptographic asset transactions, hardware approval terminal, backend server and computer program product. Download PDF

Info

Publication number
CH716505B1
CH716505B1 CH001663/2020A CH16632020A CH716505B1 CH 716505 B1 CH716505 B1 CH 716505B1 CH 001663/2020 A CH001663/2020 A CH 001663/2020A CH 16632020 A CH16632020 A CH 16632020A CH 716505 B1 CH716505 B1 CH 716505B1
Authority
CH
Switzerland
Prior art keywords
approval
hardware
asset
transaction
security module
Prior art date
Application number
CH001663/2020A
Other languages
German (de)
Inventor
Volker Boehnke Lewin
Reinhilde Raemy Grob Melanie
Original Assignee
Crypto Finance Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Crypto Finance Ag filed Critical Crypto Finance Ag
Publication of CH716505B1 publication Critical patent/CH716505B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Die Erfindung betrifft ein System (100) zur Durchführung kryptographischer Asset-Transaktionen. Das System (100) ist so ausgestaltet, dass es mit einem Hardware-Sicherheitsmodul (40) kommunizieren kann. Das System (100) umfasst ein Client-Gerat (10), das so konfiguriert ist, dass es eine Frontend-Anwendung (11) ausführt, einen Backend-Server (20), der so konfiguriert ist, dass er eine Backend-Anwendung (21) ausführt, und eine Vielzahl von Hardware-Genehmigungsterminals (30). Der Backend-Server (20) ist so konfiguriert, dass er eine Genehmigungslogik für eine Quell-Assetadresse vom Hardware-Sicherheitsmodul (40) empfängt. Der Backend-Server (20) ist so konfiguriert, dass er die Transaktionsanforderung und die korrespondierende Genehmigungslogik an die mit der Genehmigungslogik verknüpften Hardware-Genehmigungsterminals (30) sendet. Die Hardware-Genehmigungsterminals (30) sind so konfiguriert, dass sie die Genehmigungslogik mit Hilfe des öffentlichen Schlüssels des Hardware-Sicherheitsmoduls (40) verifizieren und dem Hardware-Sicherheitsmodul (40) signierte Transaktionsgenehmigungen, die den Namen des Asset-Adressschlüssels und die Transaktionsanforderung umfassen, zur Verfügung stellen. Der Backend-Server (20) empfangt nach der Verifizierung die signierte Transaktion vom Hardware-Sicherheitsmodul (40) und liefert die signierte Transaktion an einen Blockchain-Knoten. Ebenso betrifft die Erfindung eine Hardware-Genehmigungsterminal, einen Backend-Server, ein Verfahren zum Durchführen kryptographischer Asset-Transaktionen und ein Computerprogrammprodukt zum Betreiben einer Backend-Anwendung.The invention relates to a system (100) for carrying out cryptographic asset transactions. The system (100) is designed so that it can communicate with a hardware security module (40). The system (100) includes a client device (10) configured to run a front-end application (11), a back-end server (20) configured to run a back-end application ( 21), and a variety of hardware approval terminals (30). The backend server (20) is configured to receive approval logic for a source asset address from the hardware security module (40). The backend server (20) is configured to send the transaction request and the corresponding approval logic to the hardware approval terminals (30) associated with the approval logic. The hardware approval terminals (30) are configured to verify the approval logic using the public key of the hardware security module (40) and to the hardware security module (40) signed transaction approvals that include the asset address key name and the transaction request , provide. After verification, the backend server (20) receives the signed transaction from the hardware security module (40) and delivers the signed transaction to a blockchain node. The invention also relates to a hardware authorization terminal, a backend server, a method for carrying out cryptographic asset transactions and a computer program product for operating a backend application.

Description

Technisches GebietTechnical area

[0001] Die vorliegende Erfindung bezieht sich auf ein System zur Durchführung kryptographischer Asset-Transaktionen. Weitere Aspekte beziehen sich auf ein Verfahren zur Durchführung kryptographischer Asset-Transaktionen und ein Computerprogramm zur Durchführung kryptographischer Asset-Transaktionen. The present invention relates to a system for carrying out cryptographic asset transactions. Further aspects relate to a method for carrying out cryptographic asset transactions and a computer program for carrying out cryptographic asset transactions.

Hintergrundbackground

[0002] Kryptographische Assets umfassen z.B. kryptographische Währungen wie Bitcoin, Ether (ETH), Bitcoin Cash (BCH) oder IOTA sowie kryptographische Fonds und Token, die Off-Chain-Assets darstellen. Solche kryptographischen Assets, die oft auch als Krypto-Assets bezeichnet werden, bilden ein digitales Asset, welches ein Tauschmittel darstellt, das Kryptographie zur Sicherung von Transaktionen und zur Kontrolle der Schaffung zusätzlicher Einheiten verwendet. Kryptographische Assets können auch als virtuelle Assets bezeichnet werden. Cryptographic assets include, for example, cryptographic currencies such as Bitcoin, Ether (ETH), Bitcoin Cash (BCH) or IOTA as well as cryptographic funds and tokens that represent off-chain assets. Such cryptographic assets, often referred to as crypto assets, constitute a digital asset that represents a medium of exchange that uses cryptography to secure transactions and control the creation of additional units. Cryptographic assets can also be referred to as virtual assets.

[0003] Krypto-Assets verwenden dezentrale Steuerungsverfahren über eine Blockchain, die eine öffentliche Transaktionsdatenbank ist, die als verteiltes Ledger arbeitet, oder andere global konsistente Datenstrukturen (z.B. ein Tangle). [0003] Crypto assets use decentralized control methods via a blockchain, which is a public transaction database operating as a distributed ledger, or other globally consistent data structures (e.g. a Tangle).

[0004] Solche kryptographischen Assets gewinnen immer mehr an Interesse, z.B. angesichts ihrer geringen Kosten für die Übertragung von Assets. [0004] Such cryptographic assets are gaining more and more interest, e.g. in view of their low costs for transferring assets.

[0005] Die sichere Speicherung solcher Assets ist jedoch eine Herausforderung, insbesondere die Speicherung der privaten Schlüssel von kryptographischen Asset-Adressen, z.B. von Bitcoin-Adressen. [0005] However, the secure storage of such assets is a challenge, especially the storage of the private keys of cryptographic asset addresses, e.g. Bitcoin addresses.

[0006] Eine übliche Lösung ist es, die privaten Schlüssel völlig offline zu speichern. A common solution is to store the private keys completely offline.

[0007] Einer solchen Lösung mangelt es jedoch an Flexibilität und sie eignet sich nicht für alle Geschäftsanforderungen. However, such a solution lacks flexibility and is not suitable for all business needs.

[0008] Daher besteht ein Bedarf an alternativen Systemen und Verfahren. There is therefore a need for alternative systems and methods.

Darstellung der ErfindungPresentation of the invention

[0009] Dementsprechend besteht ein Problem eines Aspekts der Erfindung darin, ein System bereitzustellen, mit dem kryptographische Asset-Transaktionen auf sichere Weise durchgeführt werden können. Accordingly, a problem of one aspect of the invention is to provide a system with which cryptographic asset transactions can be carried out in a secure manner.

[0010] Insbesondere befassen sich Aspekte der Erfindung mit dem Problem, ein System zur Durchführung kryptographischer Asset-Transaktionen bereitzustellen, die eine sichere Speicherung kryptographischer Assets beinhalten. In particular, aspects of the invention address the problem of providing a system for conducting cryptographic asset transactions that include secure storage of cryptographic assets.

[0011] Darüber hinaus befassen sich Aspekte der Erfindung mit dem Problem, ein System zur Durchführung kryptographischer Asset-Transaktionen bereitzustellen, das die Genehmigung durch mehrere Benutzer erleichtert. [0011] Additionally, aspects of the invention address the problem of providing a system for conducting cryptographic asset transactions that facilitates multi-user approval.

[0012] Entsprechend einem ersten Aspekt der Erfindung wird ein System zur Durchführung kryptographischer Asset-Transaktionen bereitgestellt. Das System umfasst ein Client-Gerät, das so konfiguriert ist, dass es eine Frontend-Anwendung ausführt, einen Backend-Server, der so konfiguriert ist, dass er eine Backend-Anwendung ausführt, und eine Vielzahl von Hardware-Genehmigungsterminals. Das System ist für die Kommunikation, den Betrieb und/oder die Interaktion mit einem Hardware-Sicherheitsmodul ausgelegt. Ein solches Hardware-Sicherheitsmodul, das mit einem System gemäss den Ausführungsformen der Erfindung interagieren kann, ist insbesondere so konfiguriert, dass es einen privaten Schlüssel des Hardware-Sicherheitsmoduls und eine Vielzahl von Asset-Adressdateien speichert, die einer kryptographischen Asset-Adresse entsprechen. Jede der Vielzahl von Asset-Adressdateien umfasst einen Asset-Adressschlüsselnamen, einen privaten Asset-Adressschlüssel und eine Genehmigungslogik. Die Genehmigungslogik kann eine Vielzahl von öffentlichen Genehmigungsschlüsseln umfassen. According to a first aspect of the invention, a system for carrying out cryptographic asset transactions is provided. The system includes a client device configured to run a front-end application, a back-end server configured to run a back-end application, and a plurality of hardware approval terminals. The system is designed to communicate, operate and/or interact with a hardware security module. Such a hardware security module, which can interact with a system according to the embodiments of the invention, is in particular configured to store a private key of the hardware security module and a plurality of asset address files that correspond to a cryptographic asset address. Each of the plurality of asset address files includes an asset address key name, an asset address private key, and approval logic. The approval logic can include a variety of public approval keys.

[0013] Das System ist so konfiguriert, dass es durch die Vielzahl der Genehmigungs-Terminals einen öffentlichen Schlüssel des Hardware-Sicherheitsmoduls und einen oder mehrere private Genehmigungsschlüssel einer kryptographischen Asset-Transaktion speichert. Das System ist ferner so konfiguriert, dass es durch die Frontend-Anwendung eine Transaktionsanforderung zum Signieren einer kryptographischen Asset-Transaktion an den Backend-Server ausgibt. Die Transaktionsanforderung umfasst eine Quell-Assetadresse, insbesondere den Namen des Asset-Adressschlüssels, eine Ziel-Assetadresse und einen Asset-Transaktionswert. Das System ist so konfiguriert, dass es durch den Backend-Server die Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul anfordert. Der Backend-Server ist so konfiguriert, dass er die Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul empfängt. Der Backend-Server ist so konfiguriert, dass er die Transaktionsanforderung und die korrespondierende Genehmigungslogik an ein oder mehrere Genehmigungsterminals sendet, insbesondere an die Genehmigungsterminals, die mit den Genehmigungsregeln verknüpft sind. Bei den mit den Genehmigungsregeln verknüpften Genehmigungsterminals kann es sich insbesondere um Terminals handeln, an denen die Genehmigenden für die jeweilige Transaktion angemeldet sind und/oder über ein Konto verfügen. Die Genehmigungsterminals sind so konfiguriert, dass sie die Genehmigungslogik mit Hilfe des öffentlichen Schlüssels des Hardware-Sicherheitsmoduls verifizieren und signierte Transaktionsgenehmigungen an den Backend-Server senden. Die signierten Transaktionsgenehmigungen bestehen aus dem Asset-Adressschlüsselnamen und der Transaktionsanforderung. Der Backend-Server ist so konfiguriert, dass er die signierten Transaktionsgenehmigungen zur Verifizierung an das Hardware-Sicherheitsmodul weiterleitet. Das Hardware-Sicherheitsmodul verifiziert dann die erhaltenen Transaktionsgenehmigungen gemäss der für die entsprechende Asset-Adresse gespeicherten Genehmigungslogik und signiert nach erfolgreicher Verifizierung die Transaktion mit dem entsprechenden privaten Asset-Adressschlüssel. Der Backend-Server empfängt die signierte Transaktion vom Hardware-Genehmigungsterminal. Der Backend-Server ist so konfiguriert, dass er die signierte Transaktion an einen Blockchain-Knoten bereitstellt, insbesondere sendet. The system is configured to store a public key of the hardware security module and one or more private authorization keys of a cryptographic asset transaction through the plurality of authorization terminals. The system is further configured to issue, through the front-end application, a transaction request for signing a cryptographic asset transaction to the back-end server. The transaction request includes a source asset address, specifically the name of the asset address key, a destination asset address and an asset transaction value. The system is configured to request the source asset address approval logic from the hardware security module through the backend server. The backend server is configured to receive the source asset address approval logic from the hardware security module. The backend server is configured to send the transaction request and the corresponding approval logic to one or more approval terminals, in particular to the approval terminals that are associated with the approval rules. The approval terminals linked to the approval rules can in particular be terminals at which the approvers are logged in for the respective transaction and/or have an account. The approval terminals are configured to verify the approval logic using the public key of the hardware security module and send signed transaction approvals to the backend server. The signed transaction approvals consist of the asset address key name and the transaction request. The backend server is configured to forward the signed transaction approvals to the hardware security module for verification. The hardware security module then verifies the transaction approvals received according to the approval logic stored for the corresponding asset address and, after successful verification, signs the transaction with the corresponding private asset address key. The backend server receives the signed transaction from the hardware approval terminal. The backend server is configured to provide, in particular send, the signed transaction to a blockchain node.

[0014] Ein solches System erlaubt es, kryptographische Asset-Transaktionen auf sichere Weise durchzuführen. Darüber hinaus beinhaltet eine solche Lösung eine sichere Speicherung der kryptographischen Assets im Hardware-Sicherheitsmodul. Insbesondere ermöglicht die Speicherung der Genehmigungslogik im Hardware-Sicherheitsmodul die sichere Implementierung von Mehrparteien-Genehmigungsschemata. Gemäss solchen Mehrparteien-Genehmigungsschemata sind für eine Transaktion zwei oder mehr Genehmigungen erforderlich. Darüber hinaus ist das Backend nicht an der Sicherheit der Lösung beteiligt. Insbesondere kann selbst in Fällen, in denen der Backend-Server und die Frontend-Anwendung kompromittiert werden, die Sicherheit der kryptographischen Assets dennoch gewährleistet werden. Dies hat den besonderen Vorteil, dass die Eigentümer der kryptographischen Assets dem Backend-Server nicht voll vertrauen müssen. [0014] Such a system allows cryptographic asset transactions to be carried out in a secure manner. In addition, such a solution includes secure storage of cryptographic assets in the hardware security module. In particular, storing the approval logic in the hardware security module enables the secure implementation of multi-party approval schemes. Under such multi-party approval schemes, two or more approvals are required for a transaction. Furthermore, the backend is not involved in the security of the solution. In particular, even in cases where the backend server and frontend application are compromised, the security of the cryptographic assets can still be guaranteed. This has the particular advantage that the owners of the cryptographic assets do not have to fully trust the backend server.

[0015] Je nach Ausführungsform kann die Vielzahl der Asset-Adressdateien auch eine Sperr- und/oder Entsperrlogik enthalten. Die Sperr- und/oder Entsperrlogik kann eine Vielzahl von öffentlichen Sperr- und/oder Entsperrschlüssein umfassen, die Personen zugewiesen werden, die berechtigt sind, eine Quell-Assetadresse und die korrespondierenden Schlüssel zu sperren. Depending on the embodiment, the plurality of asset address files can also contain locking and/or unlocking logic. The locking and/or unlocking logic may include a plurality of public locking and/or unlocking keys assigned to individuals authorized to lock a source asset address and the corresponding keys.

[0016] Gemäss einer Ausführungsform ist das System ferner so konfiguriert, dass es bei Empfang einer Transaktionsanforderung durch die Genehmigungsterminals eine Zeitstempelanforderung an das Hardware-Sicherheitsmodul sendet und eine signierte Transaktionsanforderung einschliesslich eines Zeitstempels vom Hardware-Sicherheitsmodul empfängt. Die Genehmigungsterminals sind so konfiguriert, dass sie die signierte Transaktionsanforderung einschliesslich des Zeitstempels verifizieren. Der Zeitstempel kann für jede Transaktionsanforderung ein Signierfenster auslösen, während dem ein Hardware-Sicherheitsmodul berechtigt ist, eine Transaktionsanforderung zu signieren. According to one embodiment, the system is further configured such that upon receipt of a transaction request by the approval terminals, it sends a timestamp request to the hardware security module and receives a signed transaction request including a timestamp from the hardware security module. The approval terminals are configured to verify the signed transaction request including the timestamp. The timestamp can trigger a signing window for each transaction request, during which a hardware security module is authorized to sign a transaction request.

[0017] Der Zeitstempel kann von einer internen Uhr des Hardware-Sicherheitsmoduls abgeleitet werden. The timestamp can be derived from an internal clock of the hardware security module.

[0018] Die Genehmigungslogik kann für jede kryptographische Asset-Adresse eine kombinatorische Logik aus einer Vielzahl von Genehmigungssignaturen definieren, die für die Genehmigung einer Transaktion der kryptographischen Asset-Adresse erforderlich sind. [0018] For each cryptographic asset address, the approval logic may define a combinatorial logic of a plurality of approval signatures that are required to approve a transaction of the cryptographic asset address.

[0019] Mit einer solchen kombinatorischen Logik kann eine Vielzahl von Genehmigungsregeln definiert werden. Insbesondere kann die kombinatorische Logik eine oder mehrere Kombinationen von Signaturen umfassen, die für die Genehmigung einer Transaktion erforderlich sind. Die erforderlichen Signaturen werden durch die öffentlichen Genehmigungsschlüssel definiert. A variety of approval rules can be defined using such combinatorial logic. In particular, the combinatorial logic may include one or more combinations of signatures required to approve a transaction. The required signatures are defined by the public approval keys.

[0020] Gemäss einer Ausführungsform werden die privaten Genehmigungsschlüssel mit einem Passwort und einem Smartcard-Schlüssel verschlüsselt. According to one embodiment, the private authorization keys are encrypted with a password and a smart card key.

[0021] Dies ermöglicht eine sichere Speicherung der öffentlichen Genehmigungsschlüssel im Hardware-Genehmigungsterminal. Um Zugriff auf den privaten Genehmigungsschlüssel zu erhalten, muss der jeweilige Genehmigende seine Smartcard in das Hardware-Genehmigungsterminal eingeben und zusätzlich sein Passwort, z.B. eine PIN-Nummer, eingeben. Ein Hardware-Genehmigungsterminal kann mehrere private Genehmigungsschlüssel speichern, auf die einzeln mit einer entsprechenden Smartcard und einem Passwort, z.B. einer PIN-Nummer, zugegriffen werden kann. Ein typisches Beispiel wären 16 private Genehmigungsschlüssel pro Genehmigungsterminal. [0021] This enables secure storage of the public approval keys in the hardware approval terminal. To gain access to the private approval key, the respective approver must enter their smart card into the hardware approval terminal and also enter their password, e.g. a PIN number. A hardware authorization terminal can store multiple private authorization keys, which can be accessed individually with a corresponding smart card and a password, such as a PIN number. A typical example would be 16 private approval keys per approval terminal.

[0022] Gemäss einer Ausführungsform ist das System ferner so konfiguriert, dass es von der Frontend-Anwendung eine Adresserzeugungsanforderung zur Erzeugung einer Asset-Adresse an den Backend-Server sendet. Die Adresserzeugungsanforderung umfasst einen Asset-Adressschlüsselnamen, einen Asset-Typ, eine Genehmigungslogik und eine Vielzahl von öffentlichen Genehmigungsschlüsseln der Genehmigungslogik. Der Backend-Server ist so konfiguriert, dass er eine Schlüsselerzeugungsanforderung an das Hardware-Sicherheitsmodul sendet, um ein asymmetrisches Schlüsselpaar zu erzeugen, das einen öffentlichen Asset-Adressschlüssel und einen privaten Asset-Adressschlüssel umfasst. Die Schlüsselerzeugungsanforderung umfasst den Asset-Adressschlüsselnamen, die Genehmigungslogik und die Vielzahl der öffentlichen Genehmigungsschlüssel der Genehmigungslogik. Das Hardware-Sicherheitsmodul kann dann das asymmetrische Schlüsselpaar erzeugen und den privaten Asset-Adressschlüssel des asymmetrischen Schlüsselpaares und die zugehörige Genehmigungslogik speichern, und der Backend-Server kann als Antwort den öffentlichen Asset-Adressschlüssel des asymmetrischen Schlüsselpaares erhalten. Der Backend-Server ist so konfiguriert, dass er der Frontend-Anwendung den Asset-Adressschlüsselnamen, den öffentlichen Asset-Adressschlüssel oder eine Ableitung des öffentlichen Asset-Adressschlüssels als kryptographische Asset-Adresse zur Verfügung stellt. According to one embodiment, the system is further configured to send an address generation request from the front-end application to the back-end server to generate an asset address. The address generation request includes an asset address key name, an asset type, an approval logic, and a variety of public approval keys of the approval logic. The backend server is configured to send a key generation request to the hardware security module to generate an asymmetric key pair that includes an asset address public key and an asset address private key. The key generation request includes the asset address key name, the approval logic, and the variety of public approval keys of the approval logic. The hardware security module can then generate the asymmetric key pair and store the asymmetric key pair's private asset address key and associated authorization logic, and the backend server can receive the asymmetric key pair's public asset address key in response. The backend server is configured to provide the frontend application with the asset address key name, the public asset address key, or a derivative of the public asset address key as a cryptographic asset address.

[0023] Mit einer solchen Ausgestaltung können neue kryptographische Asset-Adressen von der Frontend-Anwendung auf flexible Weise initiiert werden, einschliesslich einer sicheren Speicherung einer individuellen Zugriffslogik für jede kryptographische Asset-Adresse. With such an embodiment, new cryptographic asset addresses can be initiated by the front-end application in a flexible manner, including secure storage of individual access logic for each cryptographic asset address.

[0024] Gemäss einer Ausführungsform ist das System ferner so konfiguriert, dass es ein Verfahren zur Verifizierung der Asset-Adresse durchführt. Das Verfahren zur Verifizierung der Asset-Adresse umfasst das Senden einer Anforderung zur Überprüfung der Asset-Adresse durch die Frontend-Anwendung über den Backend-Server an das Hardware-Sicherheitsmodul und das Empfangen der Genehmigungslogik und des korrespondierenden öffentlichen Asset-Adressschlüssels, der mit dem privaten Schlüssel des Hardware-Sicherheitsmoduls signiert ist, durch das Hardware-Genehmigungsterminal über den Backend-Server. Das Verfahren zur Verifizierung der Asset-Adresse umfasst ferner die Durchführung einer Integritätsprüfung der empfangenen signierten Genehmigungslogik durch das Hardware-Genehmigungsterminal. Die Integritätsprüfung umfasst die Verifizierung der Signatur des Hardware-Sicherheitsmoduls und die Berechnung der entsprechenden Asset-Adresse aus dem empfangenen öffentlichen Schlüssel der Asset-Adresse. Das Verfahren zur Verifizierung der Asset-Adresse umfasst ferner das Anzeigen der vom Hardware-Genehmigungsterminal berechneten Asset-Adresse und der Genehmigungslogik durch das Hardware-Genehmigungsterminal auf einem Display des Hardware-Genehmigungsterminals zur Verifizierung durch einen Bediener. According to one embodiment, the system is further configured to carry out a method for verifying the asset address. The asset address verification method includes sending an asset address verification request by the front-end application through the back-end server to the hardware security module and receiving the approval logic and the corresponding asset address public key associated with the private key of the hardware security module is signed by the hardware authorization terminal via the backend server. The method for verifying the asset address further includes performing an integrity check on the received signed approval logic by the hardware approval terminal. The integrity check includes verifying the signature of the hardware security module and calculating the corresponding asset address from the received public key of the asset address. The method for verifying the asset address further includes displaying, by the hardware approval terminal, the asset address calculated by the hardware approval terminal and the approval logic on a display of the hardware approval terminal for verification by an operator.

[0025] Ein solches Verfahren zur Verifizierung von Asset-Adressen gewährleistet eine sichere Erzeugung von Asset-Adressen einschliesslich der entsprechenden Zugriffslogik. Im Falle eines kompromittierten Backends würde der Bediener ein böswilliges Verhalten mit Hilfe der Hardware-Genehmigungsterminals erkennen. [0025] Such a method for verifying asset addresses ensures secure generation of asset addresses, including the corresponding access logic. In the event of a compromised backend, the operator would detect malicious behavior using the hardware approval terminals.

[0026] Gemäss Ausführungsformen ist die Vielzahl der Hardware-Genehmigungsterminals so konfiguriert, dass sie einen oder mehrere private Richtliniengenehmigungsschlüssel erzeugen und speichern und eine oder mehrere Richtlinien speichern, die mit den privaten Richtliniengenehmigungsschlüsseln verknüpft sind. Die eine oder mehrere Richtlinien können Signierungskriterien für eine automatische Signierung einer Transaktionsanforderung mit einem oder mehreren privaten Richtliniengenehmigungsschlüsseln festlegen. Die Signierungskriterien können einen oder mehrere vordefinierte Asset-Transaktionswerte einer Transaktion und/oder eine oder mehrere vordefinierte Ziel-Asset-Adressen umfassen. According to embodiments, the plurality of hardware authorization terminals are configured to generate and store one or more private policy authorization keys and store one or more policies associated with the private policy authorization keys. The one or more policies may specify signing criteria for automatically signing a transaction request with one or more private policy approval keys. The signing criteria may include one or more predefined asset transaction values of a transaction and/or one or more predefined target asset addresses.

[0027] Solche Richtliniengenehmigungsschlüssel können verwendet werden, um zusätzliche Flexibilität bei der Definition von Signierrichtlinien mit Hilfe der Hardware-Genehmigungsterminals zu schaffen. Insbesondere können solche in den Hardware-Genehmigungs-Terminals gespeicherten Signierrichtlinien dazu verwendet werden, automatische Signierprozeduren zu implementieren, die automatisch von den Hardware-Genehmigungs-Terminals ohne eine weitere Genehmigung durch einen menschlichen Genehmiger durchgeführt werden können. Such policy approval keys can be used to provide additional flexibility in defining signing policies using the hardware approval terminals. In particular, such signing policies stored in the hardware approval terminals may be used to implement automatic signing procedures that may be automatically performed by the hardware approval terminals without further approval by a human approver.

[0028] Gemäss einer Ausführungsform ist der Backend-Server so konfiguriert, dass er eine erforderliche Anzahl von Transaktionsgenehmigungen, die gemäss der entsprechenden Genehmigungslogik erforderlich ist, von den Hardware-Genehmigungsterminals sammelt. Der Backend-Server ist ferner so konfiguriert, dass er die gesammelten Transaktionsgenehmigungen an das Hardware-Sicherheitsmodul weiterleitet, sobald die erforderliche Anzahl von Genehmigungen eingegangen ist. According to one embodiment, the backend server is configured to collect a required number of transaction approvals required according to the corresponding approval logic from the hardware approval terminals. The backend server is further configured to forward the collected transaction approvals to the hardware security module once the required number of approvals are received.

[0029] Dadurch wird vermieden, dass Transaktionsgenehmigungsanforderungen bereits an das Hardware-Sicherheitsmodul gesendet werden, obwohl die erforderliche Anzahl von Genehmigungen noch nicht erreicht ist. Auf diese Weise wird unnötiger Datenverkehr zwischen dem Backend-Server und dem Hardware-Sicherheitsmodul vermieden. Da dem Backend-Server die jeweilige Genehmigungslogik bekannt ist, kann er aus der Genehmigungslogik die entsprechend erforderliche Anzahl von Genehmigungen ermitteln. [0029] This prevents transaction approval requests from being sent to the hardware security module even though the required number of approvals has not yet been reached. This avoids unnecessary traffic between the backend server and the hardware security module. Since the backend server knows the respective approval logic, it can determine the required number of approvals from the approval logic.

[0030] Ein Hardware-Sicherheitsmodul (HSM), das mit einem System gemäss den Ausführungsformen der Erfindung interagieren soll, kann allgemein als ein manipulationssicheres physisches Computergerät definiert werden, das hochsensible Daten schützt und verwaltet. Insbesondere können HSMs im Allgemeinen so definiert werden, dass sie kryptographische Aufgaben wie Schlüsselerzeugung, Kryptographie mit öffentlichem/privatem Schlüssel, Datenverschlüsselung und sichere Speicherung kryptographischer Daten übernehmen. Wie der Name impliziert, stellen konventionelle HSMs ihre Funktionalität über Hardware, d.h. Schaltungen, zur Verfügung. Je nach Ausführungsform werden umfangreiche komplexe Schaltungen verwendet, um die Funktions- und Speicheranforderungen des HSM zu implementieren. A hardware security module (HSM) intended to interact with a system according to embodiments of the invention can be broadly defined as a tamper-resistant physical computing device that protects and manages highly sensitive data. In particular, HSMs can generally be defined to perform cryptographic tasks such as key generation, public/private key cryptography, data encryption, and secure storage of cryptographic data. As the name implies, conventional HSMs provide their functionality via hardware, i.e. circuits. Depending on the embodiment, extensive complex circuitry is used to implement the functional and memory requirements of the HSM.

[0031] Gemäss einer Ausführungsform ist das System ferner so konfiguriert, dass es einen sicheren Kommunikationskanal für eine sichere Kommunikation zwischen dem Backend-Server und dem Hardware-Sicherheitsmodul, für eine sichere Kommunikation zwischen dem Backend-Server und dem Frontend und für eine sichere Kommunikation zwischen dem Backend-Server und den Hardware-Genehmigungsterminals bereitstellt. According to one embodiment, the system is further configured to provide a secure communication channel for secure communication between the backend server and the hardware security module, for secure communication between the backend server and the frontend, and for secure communication between the backend server and the hardware approval terminals.

[0032] Entsprechend einem anderen Aspekt der Erfindung wird ein Hardware-Genehmigungsterminal für ein System nach dem ersten Aspekt bereitgestellt. According to another aspect of the invention, there is provided a hardware approval terminal for a system according to the first aspect.

[0033] Gemäss einem anderen Aspekt der Erfindung wird ein Backend-Server für ein System gemäss dem ersten Aspekt bereitgestellt. According to another aspect of the invention, a backend server is provided for a system according to the first aspect.

[0034] Entsprechend einem weiteren Aspekt der Erfindung wird ein Verfahren zur Durchführung kryptographischer Asset-Transaktionen mittels eines Systems des ersten Aspekts bereitgestellt. According to a further aspect of the invention, a method for carrying out cryptographic asset transactions using a system of the first aspect is provided.

[0035] Gemäss einem weiteren Aspekt der Erfindung wird ein Computerprogrammprodukt zum Betrieb der Backend-Anwendung eines Systems zur Durchführung kryptographischer Asset-Transaktionen gemäss dem ersten Aspekt bereitgestellt. Das Computerprogrammprodukt umfasst ein computerlesbares Speichermedium mit darin enthaltenen Programmbefehlen, wobei die Programmbefehle durch die Backend-Anwendung eines Backend-Servers ausführbar sind, um den Backend-Server zu veranlassen, ein Verfahren auszuführen, das den Empfang einer Transaktionsanforderung von einer Frontend-Anwendung umfasst, um eine kryptographische Asset-Transaktion zu signieren, wobei die Transaktionsanforderung eine Quell-Assetadresse, insbesondere den Asset-Adressschlüsselnamen, eine Ziel-Assetadresse und einen Asset-Transaktionswert umfasst. Das Verfahren umfasst ferner ein Anfordern einer Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul, ein Empfangen der Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul, ein Senden der Transaktionsanforderung und der korrespondierenden Genehmigungslogik an die Hardware-Genehmigungsterminals und das Empfangen von signierten Transaktionsgenehmigungen von den Hardware-Genehmigungsterminals, wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen. Weitere Schritte umfassen eine Weiterleitung der signierten Transaktionsgenehmigungen an das Hardware-Sicherheitsmodul zur Verifizierung, ein Empfangen einer signierten Transaktion vom Hardware-Sicherheitsmodul und ein Bereitstellen der signierten Transaktion an einen Blockchain-Knoten. According to a further aspect of the invention, a computer program product is provided for operating the backend application of a system for carrying out cryptographic asset transactions according to the first aspect. The computer program product includes a computer-readable storage medium with program instructions contained therein, the program instructions being executable by the back-end application of a back-end server to cause the back-end server to execute a method that includes receiving a transaction request from a front-end application, to sign a cryptographic asset transaction, wherein the transaction request includes a source asset address, in particular the asset address key name, a destination asset address and an asset transaction value. The method further includes requesting source asset address approval logic from the hardware security module, receiving source asset address approval logic from the hardware security module, sending the transaction request and corresponding approval logic to the hardware approval terminals, and receiving signed transaction approvals from the hardware approval terminals, where the signed transaction approvals include the asset address key name and the transaction request. Additional steps include forwarding the signed transaction approvals to the hardware security module for verification, receiving a signed transaction from the hardware security module, and providing the signed transaction to a blockchain node.

[0036] Entsprechend einer Ausführungsform eines anderen Aspekts der Erfindung wird ein Computerprogrammprodukt für den Betrieb von Hardware-Genehmigungsterminals eines Systems zur Durchführung kryptographischer Asset-Transaktionen gemäss dem ersten Aspekt der Erfindung bereitgestellt. Das Computerprogrammprodukt umfasst ein computerlesbares Speichermedium mit darin enthaltenen Programmbefehlen, wobei die Programmbefehle durch die Hardware-Genehmigungsterminals ausführbar sind, um die Hardware-Genehmigungsterminals zu veranlassen, ein Verfahren durchzuführen, das die folgenden Schritte umfasst: Speichern eines öffentlichen Schlüssels des Hardware-Sicherheitsmoduls und eines oder mehrerer privater Genehmigungsschlüssel von Genehmigern einer kryptographischen Asset-Transaktion, Empfangen einer Transaktionsanforderung und der entsprechenden Genehmigungslogik vom Backend-Server und Verifizieren der Genehmigungslogik mittels des öffentlichen Schlüssels des Hardware-Sicherheitsmoduls. Weitere Schritte umfassen ein Anzeigen der Transaktionsanforderung und der Genehmigungslogik auf einem Display des Hardware-Genehmigungsterminals, ein Empfangen einer Bestätigung der Transaktionsanforderung von Genehmigern, die mit dem Hardware-Genehmigungsterminal verknüpft sind, und das Senden von signierten Transaktionsgenehmigungen an den Backend-Server, wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen.According to an embodiment of another aspect of the invention, a computer program product for operating hardware authorization terminals of a system for carrying out cryptographic asset transactions according to the first aspect of the invention is provided. The computer program product includes a computer-readable storage medium with program instructions contained therein, the program instructions being executable by the hardware authorization terminals to cause the hardware authorization terminals to perform a method comprising the steps of: storing a public key of the hardware security module and a or multiple private approval keys of approvers of a cryptographic asset transaction, receiving a transaction request and the corresponding approval logic from the backend server, and verifying the approval logic using the hardware security module's public key. Additional steps include displaying the transaction request and approval logic on a display of the hardware approval terminal, receiving confirmation of the transaction request from approvers associated with the hardware approval terminal, and sending signed transaction approvals to the backend server, wherein the Signed transaction approvals include the asset address key name and transaction request.

[0037] Merkmale und Vorteile eines Aspekts der Erfindung können gegebenenfalls auf die anderen Aspekte der Erfindung übertragen werden. Features and advantages of one aspect of the invention may optionally be transferred to the other aspects of the invention.

[0038] Weitere vorteilhafte Ausführungsformen sind sowohl in den abhängigen Ansprüchen als auch in der nachstehenden Beschreibung aufgeführt. Further advantageous embodiments are listed both in the dependent claims and in the description below.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

[0039] Die Erfindung wird besser verstanden und andere als die oben genannten Ziele werden aus der folgenden detaillierten Beschreibung der Erfindung ersichtlich. Diese Beschreibung nimmt Bezug auf die beigefügten Zeichnungen, wobei: FIG. 1 zeigt ein beispielhaftes Blockdiagramm eines Systems zur Durchführung kryptographischer Asset-Transaktionen gemäss einer Ausführungsform der Erfindung; FIG. 2 zeigt ein Flussdiagramm eines Verfahrens zur Erstellung/Generierung einer kryptographischen Asset-Adresse mit Hilfe des Systems von FIG. 1; FIG. 3 zeigt ein Flussdiagramm eines Verfahrens zur Durchführung kryptographischer Asset-Transaktionen mit Hilfe des Systems von FIG. 1; FIG. 4 zeigt eine beispielhafte Ausführungsform einer Asset-Adressdatei, die in einem Hardware-Sicherheitsmodul gespeichert ist; FIG. 5 zeigt eine beispielhafte Ausführungsform einer weiteren Asset-Adressdatei, die in einem Hardware-Sicherheitsmodul gespeichert ist; FIG. 6 zeigt eine beispielhafte Ausführungsform einer weiteren Asset-Adressdatei, die in einem Hardware-Sicherheitsmodul gespeichert ist; FIG. 7 zeigt ein Flussdiagramm eines Verfahrens zur Einführung oder Initialisierung von Richtliniengenehmigungsschlüsseln; FIG. 8a zeigt ein Verfahren zur Durchführung automatischer Signaturen mit den Richtliniengenehmigungsschlüsseln durch ein Hardware-Genehmigungsterminal; und FIG. 8b zeigt einige Teilschritte des Verfahrens von FIG. 8a im Detail.The invention will be better understood and objects other than those stated above will become apparent from the following detailed description of the invention. This description refers to the accompanying drawings, in which: FIG. 1 shows an exemplary block diagram of a system for carrying out cryptographic asset transactions according to an embodiment of the invention; FIG. 2 shows a flowchart of a method for creating/generating a cryptographic asset address using the system of FIG. 1; FIG. 3 shows a flowchart of a method for conducting cryptographic asset transactions using the system of FIG. 1; FIG. 4 shows an exemplary embodiment of an asset address file stored in a hardware security module; FIG. 5 shows an exemplary embodiment of another asset address file stored in a hardware security module; FIG. 6 shows an exemplary embodiment of another asset address file stored in a hardware security module; FIG. 7 shows a flowchart of a method for introducing or initializing policy approval keys; FIG. 8a shows a method for performing automatic signatures with the policy approval keys by a hardware approval terminal; and FIG. 8b shows some partial steps of the method of FIG. 8a in detail.

Weg(e) zur Ausführung der ErfindungWay(s) of carrying out the invention

[0040] In der nachfolgenden Beschreibung können die folgenden Abkürzungen verwendet werden: Privater Genehmigungsschlüssel (SKapp) Öffentlicher Genehmigungsschlüssel (PKapp) Privater Schlüssel des Hardware-Sicherheitsmoduls (SKHSM) Öffentlicher Schlüssel des Hardware-Sicherheitsmoduls (PKHSM) Kryptographische Asset-Transaktion CAA Asset-Adressschlüsselname (namekaa) Privater Asset-Adressschlüssel (SKaa) Öffentlicher Asset-Adressschlüssel (PKaa) Asset-Adresse(AA) Genehmigungslogik (AL) Kombinatorische Logik (CL) Genehmigungsregeln (AR) Zeitstempel (TP) Signatur (sign) Signatur-Fenster (SW) Asset-Adressdatei (AAF) Richtlinie (P) Öffentlicher Richtliniengenehmigungsschlüssel (PKpak) Privater Richtliniengenehmigungsschlüssel (SKpak)[0040] In the description below, the following abbreviations may be used: Private Permission Key (SKapp) Public Permission Key (PKapp) Hardware Security Module Private Key (SKHSM) Hardware Security Module Public Key (PKHSM) Cryptographic Asset Transaction CAA Asset Address Key Name (namekaa) Private Asset Address Key (SKaa) Public Asset Address Key (PKaa) Asset Address (AA) Approval Logic (AL) Combinatorial Logic (CL) Approval Rules (AR) Timestamp (TP) Signature (sign) Signature Window (SW) Asset Address File (AAF) Policy (P) Public Policy Approval Key (PKpak) Private Policy Approval Key (SKpak)

[0041] FIG. 1 zeigt ein beispielhaftes Blockdiagramm eines Systems 100 zur Durchführung kryptographischer Asset-Transaktionen nach einer Ausführungsform der Erfindung. Das System besteht aus einem Frontend-Gerät 10, das für die Ausführung einer Frontend-Anwendung 11 konfiguriert ist. Das Frontend-Gerät 10 kann jedes geeignete Gerät sein, das vom Benutzer der Frontend-Anwendung bedient wird. Bei der Frontend-Anwendung 11 kann es sich insbesondere um ein Computerprogramm handeln, das einem Benutzer des Systems Zugang zum System bietet, insbesondere zur Speicherung kryptographischer Assets und zur Durchführung kryptographischer Asset-Transaktionen. Bei den Benutzern der Frontend-Anwendung 11 kann es sich insbesondere um bestimmte Unternehmen oder Betriebe, z.B. Banken oder Broker, handeln. Das System 100 umfasst ferner einen Backend-Server 20, der für die Ausführung einer Backend-Anwendung 21 konfiguriert ist. [0041] FIG. 1 shows an exemplary block diagram of a system 100 for conducting cryptographic asset transactions according to an embodiment of the invention. The system consists of a front-end device 10 that is configured to run a front-end application 11. The front-end device 10 may be any suitable device operated by the user of the front-end application. The front-end application 11 can in particular be a computer program that offers a user of the system access to the system, in particular for storing cryptographic assets and for carrying out cryptographic asset transactions. The users of the front-end application 11 can in particular be specific companies or businesses, for example banks or brokers. The system 100 further includes a backend server 20 configured to execute a backend application 21.

[0042] Das System 100 umfasst ferner eine Vielzahl von Hardware-Genehmigungsterminals 30 mit einem Kryptoprozessor 31 und einem sicheren Speicher 32. Der Kryptoprozessor 31 kann einen Schlüsselgenerator zur Erzeugung asymmetrischer Schlüsselpaare enthalten. Die Genehmigungsterminals 30 umfassen ferner ein Display 33. The system 100 further includes a plurality of hardware authorization terminals 30 with a cryptoprocessor 31 and a secure memory 32. The cryptoprocessor 31 may include a key generator for generating asymmetric key pairs. The approval terminals 30 also include a display 33.

[0043] Das System 100 umfasst ferner ein Hardware-Sicherheitsmodul 40 mit einem Kryptoprozessor 41 und einem sicheren Speicher 42. Der Kryptoprozessor 41 kann einen Schlüsselgenerator zur Erzeugung asymmetrischer Schlüsselpaare enthalten. The system 100 further includes a hardware security module 40 with a cryptoprocessor 41 and a secure memory 42. The cryptoprocessor 41 may contain a key generator for generating asymmetric key pairs.

[0044] Die Backend-Anwendung 21 kann insbesondere als Computerprogramm ausgebildet sein, das als Schnittstelle zwischen der Frontend-Anwendung 11, dem Hardware-Sicherheitsmodul 40 und der Vielzahl von Hardware-Genehmigungsterminals 30 dient. Beispielsweise empfängt die Backend-Anwendung 21 Nachrichten von den Hardware-Genehmigungsterminals 40 und dem Hardware-Sicherheitsmodul 30 und leitet Nachrichten an das Hardware-Sicherheitsmodul bzw. die Hardware-Genehmigungsterminals 30 weiter. Darüber hinaus führt die Backend-Anwendung administrative und buchhalterische Aufgaben für das System 100 aus. The backend application 21 can in particular be designed as a computer program that serves as an interface between the frontend application 11, the hardware security module 40 and the multitude of hardware approval terminals 30. For example, the backend application 21 receives messages from the hardware approval terminals 40 and the hardware security module 30 and forwards messages to the hardware security module and hardware approval terminals 30, respectively. In addition, the backend application performs administrative and accounting tasks for the system 100.

[0045] Das Hardware-Sicherheitsmodul 40 ist ein manipulationssicheres Gerät, das es ermöglicht, kryptographische Schlüssel sicher zu erzeugen, zu speichern und zu verwalten und kryptographische Transaktionen durchzuführen, insbesondere kryptographische Signaturen gemäss einer vordefinierten Sicherheitsstufe. The hardware security module 40 is a tamper-proof device that makes it possible to securely generate, store and manage cryptographic keys and to carry out cryptographic transactions, in particular cryptographic signatures, in accordance with a predefined security level.

[0046] Das Hardware-Sicherheitsmodul 40 kann z.B. eine Sicherheit gemäss der Federal Information Processing Standard (FIPS) Publikation 140-2 bieten, die ein Computersicherheitsstandard der US-Regierung ist, der zur Genehmigung kryptographischer Module verwendet wird. Gemäss Ausführungsformen ist das Hardware-Sicherheitsmodul 40 nach FIPS 140-2 von mindestens Stufe 1, vorzugsweise Stufe 2, noch bevorzugter Stufe 3 und noch bevorzugter Stufe 4 oder mit einer Sicherheitsstufe gleichwertiger Standards zertifiziert. For example, the hardware security module 40 may provide security in accordance with Federal Information Processing Standard (FIPS) Publication 140-2, which is a U.S. government computer security standard used to approve cryptographic modules. According to embodiments, the hardware security module 40 is certified according to FIPS 140-2 of at least level 1, preferably level 2, more preferably level 3 and even more preferably level 4 or with a security level of equivalent standards.

[0047] Die Vielzahl der Genehmigungsterminals 30 sind so konfiguriert, dass sie einen öffentlichen Schlüssel PKHSMdes Hardware-Sicherheitsmoduls 40 speichern und einen oder mehrere private Genehmigungsschlüssel SKapp1, SKapp2, ..., SKappnvon Genehmigern einer kryptographischen Asset-Transaktion erzeugen und speichern. Die Genehmigenden der kryptographischen Asset-Transaktionen können z.B. Mitarbeiter der Entität sein, die das System 100 für die Speicherung und den Handel ihrer kryptographischen Assets verwendet. Die privaten Genehmigungsschlüssel SKapp1, SKapp2, ..., SKappnwerden jeweils einem einzelnen Genehmigenden zugewiesen und mit Hilfe eines Passworts und eines Smartcard-Schlüssels gesichert, insbesondere verschlüsselt. Dementsprechend muss eine Genehmigende, welche auf ihren privaten Schlüssel zugreifen will, eine Smartcard mit dem Smartcard-Schlüssel, insbesondere einen geheimen Schlüssel eines asymmetrischen Schlüsselpaares, in das Hardware-Genehmigungsterminal 30 eingeben. Darüber hinaus muss die Genehmigende ein Passwort, z.B. eine PIN-Nummer, eingeben. Erst nach einer solchen Doppel-Authentifizierung kann die jeweilige Genehmigende auf ihren privaten Genehmigungsschlüssel zugreifen und eine auf dem Display 33 angezeigte Transaktionsgenehmigungsanforderung unterschreiben. The plurality of approval terminals 30 are configured to store a public key PKHSM of the hardware security module 40 and to generate and store one or more private approval keys SKapp1, SKapp2, ..., SKappn of approvers of a cryptographic asset transaction. For example, the approvers of the cryptographic asset transactions may be employees of the entity that uses the system 100 to store and trade its cryptographic assets. The private approval keys SKapp1, SKapp2, ..., SKappn are each assigned to an individual approver and secured, in particular encrypted, using a password and a smart card key. Accordingly, an approver who wants to access her private key must enter a smart card with the smart card key, in particular a secret key of an asymmetric key pair, into the hardware approval terminal 30. In addition, the approver must enter a password, such as a PIN number. Only after such a double authentication can the respective approver access their private approval key and sign a transaction approval request displayed on the display 33.

[0048] Gemäss Ausführungsformen ist die Vielzahl der Genehmigungsterminals 30 so konfiguriert, dass sie einen oder mehrere private Richtliniengenehmigungsschlüssel SKpak1, SKpak2, ..., SKpaknfür kryptographische Asset-Transaktionen erzeugen und speichern. Entsprechend diesen Ausführungsformen werden die entsprechenden öffentlichen Richtliniengenehmigungsschlüssel PKpak1, PKpak2, ..., PKpaknin den Asset-Adressdateien AAF des Hardware-Sicherheitsmoduls 40 gespeichert. Die privaten Richtliniengenehmigungsschlüssel und die öffentlichen Richtliniengenehmigungsschlüssel werden allgemein als Richtliniengenehmigungsschlüssel bezeichnet. Darüber hinaus speichern die Hardware-Genehmigungsterminals 30 eine oder mehrere Richtlinien P, die mit den privaten Richtliniengenehmigungsschlüsseln assoziiert sind. Die eine oder mehreren Richtlinien P können z.B. Signierkriterien für eine automatische Signierung einer Transaktionsanforderung mit einem oder mehreren privaten Richtliniengenehmigungsschlüsseln festlegen. Die Signierkriterien können z.B. einen oder mehrere vordefinierte Asset-Transaktionswerte einer Transaktion und/oder eine oder mehrere vordefinierte Ziel-Assetadressen angeben. According to embodiments, the plurality of approval terminals 30 are configured to generate and store one or more private policy approval keys SKpak1, SKpak2, ..., SKpakn for cryptographic asset transactions. According to these embodiments, the corresponding public policy approval keys PKpak1, PKpak2, ..., PKpakn are stored in the asset address files AAF of the hardware security module 40. The private policy approval keys and the public policy approval keys are commonly referred to as policy approval keys. In addition, the hardware authorization terminals 30 store one or more policies P associated with the private policy authorization keys. The one or more policies P can, for example, set signing criteria for automatically signing a transaction request with one or more private policy approval keys. The signing criteria can, for example, specify one or more predefined asset transaction values of a transaction and/or one or more predefined target asset addresses.

[0049] Die Richtliniengenehmigungsschlüssel können verwendet werden, um zusätzliche Flexibilität bei der Definition von Signierrichtlinien mit Hilfe der Hardware-Genehmigungsterminals 30 zu schaffen. Gemäss Ausführungsformen können solche Signierrichtlinien P insbesondere dazu verwendet werden, Signierrichtlinien P zu definieren, die vom Transaktionswert der Assets einer Transaktion abhängen. Darüber hinaus können solche Richtliniengenehmigungsschlüssel verwendet werden, um automatische Signierprozeduren zu implementieren, die automatisch durch die Hardware-Genehmigungsterminals 30 ohne weitere Genehmigung durch einen menschlichen Genehmiger durchgeführt werden können. So können z.B. sehr kleine Transaktionswerte, die z.B. einem Betrag von weniger als 100 CHF entsprechen, automatisch mit einem Richtliniengenehmigungsschlüssel signiert werden. The policy approval keys can be used to provide additional flexibility in defining signing policies using the hardware approval terminals 30. According to embodiments, such signing policies P can be used in particular to define signing policies P that depend on the transaction value of the assets of a transaction. Additionally, such policy approval keys may be used to implement automatic signing procedures that may be performed automatically by the hardware approval terminals 30 without further approval from a human approver. For example, very small transaction values, for example equivalent to an amount of less than 100 CHF, can be automatically signed with a policy approval key.

[0050] Als Beispiel kann eine Signierrichtlinie P festlegen, dass die Hardware-Genehmigungsterminals 30 automatisch mit einem privaten Richtliniengenehmigungsschlüssel SKpakxsignieren sollen, wenn der Wert der Asset-Transaktion unter einem vordefinierten Betrag liegt. Als ein weiteres Beispiel kann eine Signierrichtlinie P festlegen, dass die Hardware-Genehmigungsterminals 30 automatisch mit einem privaten Richtliniengenehmigungsschlüssel SKpakxfür eine oder mehrere vordefinierte Ziel-Assetadressen signieren sollen. As an example, a signing policy P may specify that the hardware approval terminals 30 should automatically sign with a private policy approval key SKpakx when the value of the asset transaction is less than a predefined amount. As another example, a signing policy P may specify that the hardware authorization terminals 30 should automatically sign with a private policy authorization key SKpakx for one or more predefined target asset addresses.

[0051] Dies wird im Folgenden unter Bezugnahme auf FIG. 6 näher erläutert. This will be explained below with reference to FIG. 6 explained in more detail.

[0052] Das Hardware-Sicherheitsmodul 40 ist so konfiguriert, dass es seinen eigenen privaten Schlüssel SKHSMerzeugt und speichert. Darüber hinaus ist das Hardware-Sicherheitsmodul so konfiguriert, dass es eine Vielzahl von Asset-Adressdateien AAF speichert, die einer kryptographischen Asset-Adresse AA entsprechen. Jede der Vielzahl von Asset-Adressdateien AAF umfasst einen Asset-Adressschlüsselnamen „namekaa“ und eine Genehmigungslogik AL, die eine Vielzahl von öffentlichen Genehmigungsschlüsseln PKapp1, PKapp2... PKappnund ein oder mehrere Signierfenster SW1, SW2, ... SWnumfasst. Die Asset-Adressdateien AAF umfassen ferner einen privaten Asset-Adressschlüssel SKaaund optional den korrespondierenden öffentlichen Asset-Adressschlüssel PKaa. [0052] The hardware security module 40 is configured to generate and store its own private key SKHSM. In addition, the hardware security module is configured to store a plurality of asset address files AAF corresponding to a cryptographic asset address AA. Each of the plurality of asset address files AAF includes an asset address key name "namekaa" and an approval logic AL that includes a plurality of public approval keys PKapp1, PKapp2... PKappn and one or more signing windows SW1, SW2, ... SW. The asset address files AAF further include a private asset address key SKaa and optionally the corresponding public asset address key PKaa.

[0053] Mit einer solchen Einrichtung kann das Hardware-Sicherheitsmodul 40 Nachrichten, die mit den privaten Genehmigungsschlüsseln SKappsigniert sind, mit Hilfe des entsprechenden öffentlichen Genehmigungsschlüssels PKappverifizieren, der in der AL des AAF in dem Hardware-Sicherheitsmodul 40 gespeichert ist. Und die Hardware-Genehmigungsterminals 30 können Nachrichten, die mit dem privaten Schlüssel SKHSMdes Hardware-Sicherheitsmoduls 40 signiert sind, mittels des korrespondierenden öffentlichen Schlüssels PKHSMdes Hardware-Sicherheitsmoduls 40, der in den Hardware-Genehmigungsterminals 30 gespeichert ist, verifizieren. [0053] With such a facility, the hardware security module 40 can verify messages signed with the private authorization keys SKapp using the corresponding public authorization key PKapp stored in the AL of the AAF in the hardware security module 40. And the hardware authorization terminals 30 can verify messages signed with the private key SKHSM of the hardware security module 40 using the corresponding public key PKHSM of the hardware security module 40 stored in the hardware authorization terminals 30.

[0054] FIG. 2 zeigt ein Flussdiagramm 200 eines Verfahrens zur Erstellung einer kryptographischen Asset-Adresse mit Hilfe des Systems 100 von FIG. 1. FIG. 2 shows a flowchart 200 of a method for creating a cryptographic asset address using the system 100 of FIG. 1.

[0055] In einem Schritt 201 sendet die Frontend-Anwendung 11 eine Adresserzeugungsanforderung zur Erzeugung einer kryptografischen Asset-Adresse an die Backend-Anwendung 21. Die Adresserzeugungsanforderung besteht aus einem Asset-Adressschlüsselnamen namekaa, der später als Referenzname für die Frontend-Anwendung 11 dient. Darüber hinaus umfasst die Adresserzeugungsanforderung einen Asset-Typ, z.B. die jeweilige Krypto-Währung, für die die Asset-Adresse erstellt werden soll. Die Währung kann z.B. Bitcoin, ETH, BCH oder IOTA sein. Darüber hinaus umfasst die Adresserzeugungsanforderung eine Genehmigungslogik AL. Die Genehmigungslogik AL besteht aus einer Vielzahl von öffentlichen Genehmigungsschlüsseln PKappund einem oder mehreren Signierfenstern SW. [0055] In a step 201, the front-end application 11 sends an address generation request to generate a cryptographic asset address to the back-end application 21. The address generation request consists of an asset address key name namekaa, which later serves as a reference name for the front-end application 11 . In addition, the address creation request includes an asset type, e.g. the specific cryptocurrency for which the asset address is to be created. The currency can be, for example, Bitcoin, ETH, BCH or IOTA. In addition, the address generation request includes approval logic AL. The approval logic AL consists of a large number of public approval keys PKapp and one or more signing windows SW.

[0056] In einem Schritt 202 sendet der Backend-Server 20 eine Schlüsselerzeugungsanforderung an das Hardware-Sicherheitsmodul 40, um ein asymmetrisches Schlüsselpaar zu erzeugen, das einen öffentlichen Asset-Adressschlüssel PKaaund einen privaten Asset-Adressschlüssel SKaaumfasst. Die Schlüsselerzeugungsanforderung umfasst den Asset-Adressschlüsselnamen namekaaund die Genehmigungslogik AL einschliesslich der mehreren öffentlichen Genehmigungsschlüssel PKappund der Signierfenster SW. [0056] In a step 202, the backend server 20 sends a key generation request to the hardware security module 40 to generate an asymmetric key pair that includes a public asset address key PKaa and a private asset address key SKaa. The key generation request includes the asset address key name namekaa and the approval logic AL including the multiple public approval keys PKapp and the signing window SW.

[0057] In einem Schritt 203 erzeugt das Hardware-Sicherheitsmodul 40 ein asymmetrisches Schlüsselpaar und speichert mindestens den privaten Asset-Adresschlüssel SKaades asymmetrischen Schlüsselpaares und die zugehörige Genehmigungslogik AL einschliesslich der mehreren öffentlichen Genehmigungsschlüssel PKappund der Signierfenster SW im sicheren Speicher 42 des Hardware-Sicherheitsmoduls. [0057] In a step 203, the hardware security module 40 generates an asymmetric key pair and stores at least the private asset address key SKaades of the asymmetric key pair and the associated approval logic AL including the several public approval keys PKapp and the signing window SW in the secure memory 42 of the hardware security module.

[0058] In einem Schritt 204 gibt das Hardware-Sicherheitsmodul 40 den öffentlichen Asset-Adressschlüssel PKaades asymmetrischen Schlüsselpaares an den Backend-Server 20 aus. [0058] In a step 204, the hardware security module 40 outputs the public asset address key PKaades asymmetric key pair to the backend server 20.

[0059] In einem Schritt 205 speichert die Backend-Anwendung 21 den öffentlichen Asset-Adressschlüssel PKaain ihrer internen Datenbank und berechnet aus dem öffentlichen Asset-Adressschlüssel PKaaeine kryptografische Adresse AA. Diese Berechnung erfolgt gemäss der jeweiligen Regel der jeweiligen Kryptowährung des kryptographischen Assets. Im Allgemeinen ist die kryptographische Asset-Adresse AA eine Ableitung des öffentlichen Asset-Adressschlüssels PKaa. Als Beispiel kann die kryptographische Asset-Adresse AA eine Hash-Funktion des öffentlichen Asset-Adressschlüssels PKaasein. [0059] In a step 205, the backend application 21 stores the public asset address key PKaa in its internal database and calculates a cryptographic address AA from the public asset address key PKaa. This calculation is carried out in accordance with the respective rule of the respective cryptocurrency of the cryptographic asset. In general, the cryptographic asset address AA is a derivative of the public asset address key PKaa. As an example, the cryptographic asset address AA can be a hash function of the public asset address key PKaase.

[0060] In einem Schritt 206 liefert, d.h. sendet, die Backend-Anwendung 21 den Asset-Adressschlüsselnamen und die Asset-Adresse AA oder den öffentlichen Schlüssel PKaaan die Frontend-Anwendung 11. In a step 206, the backend application 21 delivers, i.e. sends, the asset address key name and the asset address AA or the public key PKaa to the frontend application 11.

[0061] Die Frontend-Anwendung 11 oder insbesondere ein Bediener der Frontend-Anwendung 11 löst dann ein anschliessendes Asset-Adressen-Verifizierungsverfahren 210 aus, in dem der Bediener die empfangene Asset-Adresse AA und die zugehörige Genehmigungslogik AL verifiziert. Insbesondere sendet die Frontend-Anwendung 11 in einem Schritt 211 eine Anforderung zur Verifizierung der Asset-Adresse an den Backend-Server 20. Der Backend-Server 20 sendet dann in Schritt 212 eine Anforderung zum Erhalt der Genehmigungslogik AL für den jeweiligen Asset-Adressschlüsselnamen namekaaan das Hardware-Sicherheitsmodul 20. Im Gegenzug sendet das Hardware-Sicherheitsmodul 20 in einem Schritt 213 die Genehmigungslogik AL und den korrespondierenden öffentlichen Asset-Adressschlüssel PKaa, signiert mit dem privaten Schlüssel SKHSM, an den Backend-Server 20. Der Backend-Server 20 leitet dann in einem Schritt 214 die signierte Genehmigungslogik AL und den zugehörigen öffentlichen Asset-Adressschlüssel PKaaan die Hardware-Genehmigungsterminals 30 weiter. Die Hardware-Genehmigungs-Terminals 30 führen dann in einem Schritt 215 eine Integritätsprüfung der erhaltenen signierten Genehmigungslogik durch, indem sie die Signatur mit dem öffentlichen Schlüssel des Hardware-Sicherheitsmoduls PKHSMverifizieren. Darüber hinaus berechnen die Hardware-Genehmigungsterminals 30 aus dem empfangenen öffentlichen Schlüssel PKaadie entsprechende Asset-Adresse AA. Die Hardware-Genehmigungsterminals 30 zeigen dann in Schritt 216 die Genehmigungslogik AL und die Asset-Adresse AA an. Der Bediener verifiziert dann in Schritt 217 die Genehmigungslogik AL und prüft, ob die von den Hardware-Genehmigungsterminals 30 berechnete Asset-Adresse mit der Asset-Adresse übereinstimmt, die vom Backend-Server 20 in Schritt 206 bereitgestellt wurde. Dadurch wird sichergestellt, dass die Asset-Adresse korrekt ist. Insbesondere ermöglicht es die Erkennung des Falls, wenn ein kompromittierter Backend-Server im Schritt 206 eine falsche Asset-Adresse gesendet hat. [0061] The front-end application 11 or in particular an operator of the front-end application 11 then triggers a subsequent asset address verification process 210, in which the operator verifies the received asset address AA and the associated approval logic AL. In particular, the front-end application 11 sends a request to verify the asset address to the back-end server 20 in a step 211. The back-end server 20 then sends a request to receive the approval logic AL for the respective asset address key name namekaaan in step 212 the hardware security module 20. In return, the hardware security module 20 sends the approval logic AL and the corresponding public asset address key PKaa, signed with the private key SKHSM, to the backend server 20 in a step 213. The backend server 20 directs then in a step 214 the signed approval logic AL and the associated public asset address key PKaaan the hardware approval terminals 30. The hardware approval terminals 30 then perform an integrity check on the received signed approval logic in a step 215 by verifying the signature with the public key of the hardware security module PKHSM. In addition, the hardware authorization terminals 30 calculate the corresponding asset address AA from the received public key PKaadi. The hardware approval terminals 30 then display the approval logic AL and the asset address AA in step 216. The operator then verifies the approval logic AL in step 217 and checks whether the asset address calculated by the hardware approval terminals 30 matches the asset address provided by the backend server 20 in step 206. This ensures that the asset address is correct. In particular, it enables detection of the case when a compromised backend server has sent an incorrect asset address in step 206.

[0062] FIG. 3 zeigt ein Flussdiagramm 300 eines Verfahrens zur Durchführung kryptographischer Asset-Transaktionen mit Hilfe des Systems 100 von FIG. 1. [0062] FIG. 3 shows a flowchart 300 of a method for conducting cryptographic asset transactions using the system 100 of FIG. 1.

[0063] In einem Schritt 301 gibt die Frontend-Anwendung 11 eine Transaktionsanforderung zum Signieren einer kryptografischen Asset-Transaktion an die Backend-Anwendung 21 / den Backend-Server 20 aus. Die Transaktionsanforderung umfasst als Quell-Assetadresse einen Asset-Adressschlüsselnamen namekaa, der z.B. durch die oben unter Bezugnahme auf FIG. 2 beschriebenen Schritte ausgegeben und verifiziert wurde. Darüber hinaus umfasst die Transaktionsanforderung einen Asset-Transaktionswert und eine Ziel-Assetadresse, die eine kryptographische Asset-Adresse angibt, an die der Asset-Transaktionswert, z.B. eine Anzahl von Bitcoins, übertragen werden soll. [0063] In a step 301, the front-end application 11 issues a transaction request to sign a cryptographic asset transaction to the back-end application 21/back-end server 20. The transaction request includes, as a source asset address, an asset address key name namekaa, which is defined, for example, by the above with reference to FIG. 2 steps described was issued and verified. In addition, the transaction request includes an asset transaction value and a destination asset address, which specifies a cryptographic asset address to which the asset transaction value, e.g. a number of Bitcoins, should be transferred.

[0064] In einem Schritt 302 fordert die Backend-Anwendung 21 von dem Hardware-Sicherheitsmodul 40 die Genehmigungslogik AL des Asset-Adressschlüsselnamens namekaaan, korrespondierend zu der Quell-Assetadresse. In einem Schritt 303 liest das Hardware-Sicherheitsmodul 40 die Genehmigungslogik AL, die dem empfangenen Asset-Adressschlüsselnamen namekaazugeordnet ist, aus seinem sicheren Speicher 42 und sendet die Genehmigungslogik AL an die Backend-Anwendung 21. [0064] In a step 302, the backend application 21 requests from the hardware security module 40 the approval logic AL of the asset address key name namekaaan, corresponding to the source asset address. In a step 303, the hardware security module 40 reads the approval logic AL associated with the received asset address key name namekaa from its secure memory 42 and sends the approval logic AL to the backend application 21.

[0065] In einem Schritt 304 sendet die Backend-Anwendung 21 eine Anforderung zur Schätzung der Transaktionsgebühren an einen Blockchain-Knoten 60. [0065] In a step 304, the backend application 21 sends a transaction fee estimate request to a blockchain node 60.

[0066] In einem Schritt 305 gibt der Blockchain-Knoten 60 eine geschätzte Transaktionsgebühr zurück. Solche Transaktionsgebühren für kryptografische Assets hängen hauptsächlich vom Angebot an Netzkapazität im Vergleich zur Nachfrage des Asset-Inhabers nach einer schnelleren Transaktion ab. [0066] In a step 305, the blockchain node 60 returns an estimated transaction fee. Such transaction fees for crypto assets mainly depend on the supply of network capacity compared to the asset holder's demand for a faster transaction.

[0067] In einem Schritt 306 sendet die Backend-Anwendung 21 die Transaktionsanforderung und die entsprechende Genehmigungslogik AL an die der Genehmigungslogik zugeordneten Hardware-Genehmigungsterminals 30. [0067] In a step 306, the backend application 21 sends the transaction request and the corresponding approval logic AL to the hardware approval terminals 30 assigned to the approval logic.

[0068] In einem Schritt 307 führen die Genehmigungsterminals 30 eine Integritätsprüfung durch und verifizieren die empfangene Genehmigungslogik AL mit Hilfe des öffentlichen Schlüssels PKHSMdes Hardware-Sicherheitsmoduls 40. [0068] In a step 307, the approval terminals 30 carry out an integrity check and verify the received approval logic AL using the public key PKHSM of the hardware security module 40.

[0069] In einem Schritt 308 senden die Genehmigungsterminals 30 eine Zeitstempelanforderung für die empfangene Transaktionsanforderung an die Backend-Anwendung 21. Die Backend-Anwendung 21 leitet die Zeitstempelanforderung in einem Schritt 309 an das Hardware-Sicherheitsmodul 20 weiter. [0069] In a step 308, the approval terminals 30 send a timestamp request for the received transaction request to the backend application 21. The backend application 21 forwards the timestamp request to the hardware security module 20 in a step 309.

[0070] Dann, in einem Schritt 310, fügt das Hardware-Sicherheitsmodul 40 der Transaktionsanforderung einen Zeitstempel hinzu. Dieser Zeitstempel wird von einer internen Uhr des Hardware-Sicherheitsmoduls 40 abgeleitet, und daher wird der Zeitstempel in Bezug auf die interne Uhr des Hardware-Sicherheitsmoduls 40 referenziert. Das Hardware-Sicherheitsmodul 40 signiert dann die Transaktionsanforderung einschliesslich des Zeitstempels mit seinem privaten Schlüssel SKHSMund übermittelt die signierte Transaktionsanforderung einschliesslich des Zeitstempels an die Backend-Anwendung 21. [0070] Then, in a step 310, the hardware security module 40 adds a timestamp to the transaction request. This timestamp is derived from an internal clock of the hardware security module 40, and therefore the timestamp is referenced with respect to the internal clock of the hardware security module 40. The hardware security module 40 then signs the transaction request including the timestamp with its private key SKHSM and transmits the signed transaction request including the timestamp to the backend application 21.

[0071] Die Backend-Anwendung 21 leitet die signierte Transaktionsanforderung einschliesslich des Zeitstempels oder den signierten Zeitstempel einschliesslich der Transaktionsanforderung in einem Schritt 311 an die Hardware-Genehmigungsterminals 30. [0071] The backend application 21 forwards the signed transaction request including the timestamp or the signed timestamp including the transaction request to the hardware approval terminals 30 in a step 311.

[0072] In einem Schritt 312 führen die Hardware-Genehmigungsterminals 30 eine Integritätsprüfung durch und verifizieren die empfangene Transaktionsanforderung einschliesslich des Zeitstempels mit Hilfe des öffentlichen Schlüssels PKHSMdes Hardware-Sicherheitsmoduls 40. [0072] In a step 312, the hardware approval terminals 30 carry out an integrity check and verify the received transaction request, including the timestamp, using the public key PKHSM of the hardware security module 40.

[0073] Der Zeitstempel löst für jede Transaktionsanforderung das Signierfenster SW aus, während dem das Hardware-Sicherheitsmodul 40 eine Transaktionsanforderung signieren kann. The timestamp triggers the signing window SW for each transaction request, during which the hardware security module 40 can sign a transaction request.

[0074] In einem Schritt 313 zeigen die Hardware-Genehmigungsterminals 30 die Transaktionsanforderung auf den Displays 33 an. Die Genehmigenden können dann die angezeigte Transaktionsanforderung prüfen und verifizieren. Dazu kann die Verifizierung der AL aller Quellen und Ziele gehören. Die Genehmigenden können dann die Transaktion genehmigen, z.B. durch Drücken eines Genehmigungsknopfes des Hardware-Genehmigungsterminals 30 in einem Schritt 314. [0074] In a step 313, the hardware approval terminals 30 display the transaction request on the displays 33. The approvers can then review and verify the displayed transaction request. This may include verifying the AL of all sources and destinations. The approvers can then approve the transaction, for example by pressing an approval button of the hardware approval terminal 30 in a step 314.

[0075] Dann signiert das Hardware-Genehmigungsterminal 30 in einem Schritt 315 die Transaktionsanforderung und sendet in einem Schritt 316 eine signierte Transaktionsgenehmigung an den Backend-Server 20. Die signierten Transaktionsgenehmigungen umfassen den Asset-Adressschlüsselnamen, die Transaktionsanforderung und den Zeitstempel. [0075] Then, the hardware approval terminal 30 signs the transaction request in a step 315 and sends a signed transaction approval to the backend server 20 in a step 316. The signed transaction approvals include the asset address key name, the transaction request and the timestamp.

[0076] Da gemäss Ausführungsformen zwei oder mehr Genehmigungen gemäss der jeweiligen Genehmigungslogik AL erforderlich sind, sammelt der Backend-Server 20 die erforderliche Anzahl von Transaktionsgenehmigungen, bevor er sie weiterleitet. Wenn die erforderliche Anzahl von Genehmigungen eingegangen ist, leitet der Backend-Server 20 die signierten Transaktionsgenehmigungen in einem Schritt 317 an das Hardware-Sicherheitsmodul 40 weiter. [0076] According to embodiments, since two or more approvals are required according to the respective approval logic AL, the backend server 20 collects the required number of transaction approvals before forwarding them. When the required number of approvals have been received, the backend server 20 forwards the signed transaction approvals to the hardware security module 40 in a step 317.

[0077] In einem Schritt 318 verifiziert das Hardware-Sicherheitsmodul 40 die empfangenen Transaktionsgenehmigungen gemäss der Genehmigungslogik AL, die für die entsprechende Asset-Adresse gespeichert ist und die zu dem Asset-Adressschlüsselnamen namekaakorrespondiert. Insbesondere prüft es mit Hilfe der gespeicherten Genehmigungslogik AL und der gespeicherten öffentlichen Genehmigungsschlüssel PKapp, ob die erhaltenen Genehmigungen mit einer der Genehmigungsoptionen der jeweiligen kryptographischen Asset-Adresse übereinstimmen. Darüber hinaus prüft es anhand des signierten Zeitstempels, ob der Zeitpunkt, zu dem die Transaktionsgenehmigungen am Hardware-Sicherheitsmodul 40 eingegangen sind, innerhalb des Signierfensters SW liegt. Wie bereits erwähnt, hat das Signierfenster ein oberes Zeitlimit und ein unteres Zeitlimit. [0077] In a step 318, the hardware security module 40 verifies the received transaction approvals according to the approval logic AL, which is stored for the corresponding asset address and which corresponds to the asset address key name namekaa. In particular, using the stored approval logic AL and the stored public approval key PKapp, it checks whether the approvals received match one of the approval options of the respective cryptographic asset address. In addition, it uses the signed timestamp to check whether the time at which the transaction approvals were received by the hardware security module 40 is within the signing window SW. As mentioned earlier, the signing window has an upper time limit and a lower time limit.

[0078] Wenn die Überprüfung der erhaltenen Transaktionsgenehmigungen erfolgreich war, signiert das Hardware-Sicherheitsmodul 40 in einem Schritt 319 die Transaktion mit dem privaten Schlüssel der Asset-Adresse und stellt in einem Schritt 320 die signierte Transaktion der Backend-Anwendung 21 zur Verfügung.. [0078] If the verification of the transaction approvals received was successful, the hardware security module 40 signs the transaction with the private key of the asset address in a step 319 and makes the signed transaction available to the backend application 21 in a step 320.

[0079] In einem nächsten Schritt 321 sendet die Backend-Anwendung 21 die signierte Transaktion an einen Blockchain-Knoten 60. [0079] In a next step 321, the backend application 21 sends the signed transaction to a blockchain node 60.

[0080] Dann, in einem Schritt 322, wird die Transaktion von Minern eines entsprechenden Blockchainnetzwerks verifiziert und nach erfolgreicher Verifizierung durch eine ausreichende Anzahl von Minern bestätigt. [0080] Then, in a step 322, the transaction is verified by miners of a corresponding blockchain network and, after successful verification, is confirmed by a sufficient number of miners.

[0081] Schliesslich sendet die Backend-Anwendung 21 in einem Schritt 323 eine Transaktionsbestätigung an die Frontend-Anwendung 11, und der Bediener kann bei Schritt 324 die empfangene Transaktionsbestätigung überprüfen. [0081] Finally, in a step 323, the backend application 21 sends a transaction confirmation to the frontend application 11, and the operator can check the received transaction confirmation in step 324.

[0082] FIG. 4 zeigt eine beispielhafte Ausführungsform einer Asset-Adressdatei 400, die auch als AAF1 bezeichnet wird. Die Asset-Adressdatei 400 umfasst einen Asset-Adressschlüsselnamen namekaa, einen privaten Asset-Adressschlüssel SKaa, einen entsprechenden öffentlichen Asset-Adressschlüssel PKaaund eine Genehmigungslogik AL. Der öffentliche Asset-Adressschlüssel PKaader Asset-Adresse kann aus dem privaten Asset-Adressschlüssel SKaader Asset-Adresse abgeleitet werden und kann optional in der Asset-Adressdatei 400 gespeichert werden. FIG. 4 shows an exemplary embodiment of an asset address file 400, also referred to as AAF1. The asset address file 400 includes an asset address key name namekaa, an asset private address key SKaa, a corresponding public asset address key PKaa, and approval logic AL. The public asset address key PKaader AssetAddress can be derived from the private asset address key SKaader AssetAddress and can optionally be stored in the asset address file 400.

[0083] Die Asset-Adressdatei 400 entspricht einer kryptographischen Asset-Adresse AA, die aus dem öffentlichen Asset-Adressschlüssel PKaaabgeleitet werden kann. Insbesondere kann die kryptographische Asset-Adresse AA eine Funktion, insbesondere eine Hash-Funktion, des öffentlichen Asset-Adressschlüssels PKaasein. Die Funktion oder das Verfahren zur Berechnung der Asset-Adresse AA aus dem öffentlichen Asset-Adressschlüssel PKaahängt von der jeweiligen Spezifikation der kryptographischen Assets, z.B. der jeweiligen Krypto-Währung, ab. The asset address file 400 corresponds to a cryptographic asset address AA, which can be derived from the public asset address key PKaa. In particular, the cryptographic asset address AA can be a function, in particular a hash function, of the public asset address key PKaase. The function or method for calculating the asset address AA from the public asset address key PKaa depends on the respective specification of the cryptographic assets, e.g. the respective crypto currency.

[0084] Die Genehmigungslogik AL umfasst eine Vielzahl von öffentlichen Genehmigungsschlüsseln PKapp. Die öffentlichen Genehmigungsschlüssel PKappsind in die Genehmigungslogik AL eingebettet. Die Genehmigungslogik AL definiert für den kryptographischen Asset AA des öffentlichen Asset-Adressschlüssels PKaaeine kombinatorische Logik aus einer Vielzahl von Genehmigungssignaturen, die für die Genehmigung einer Transaktion der kryptographischen Assetadresse AA erforderlich sind. Die Signaturen müssen mit den privaten Genehmigungsschlüsseln durchgeführt werden, die zu den jeweiligen öffentlichen Genehmigungsschlüsseln PKappkorrespondieren. Die Genehmigungslogik ist so ausgelegt, dass sie technisch im Hardware-Sicherheitsmodul implementiert werden kann, ohne ein Sicherheitsrisiko darzustellen, selbst wenn sie im inneren Kern des Hardware-Sicherheitsmoduls implementiert ist. Entsprechend der gezeigten Ausführungsform ist die Genehmigungslogik eine kombinatorische Logik, die aus einem oder mehreren UND-Operatoren und einem oder mehreren ODER-Operatoren besteht. Solche einfachen Operatoren ermöglichen eine sichere Implementierung der Genehmigungslogik. Entsprechend der in FIG. 4 gezeigten Ausführungsform umfasst die Genehmigungslogik AL drei Genehmigungsoptionen 401, 402 und 403, die durch einen ODER-Operator kombiniert werden. [0084] The approval logic AL includes a large number of public approval keys PKapp. The public approval keys PKapp are embedded in the approval logic AL. The approval logic AL defines for the cryptographic asset AA of the public asset address key PKaa a combinatorial logic from a large number of approval signatures that are required for the approval of a transaction of the cryptographic asset address AA. The signatures must be carried out with the private approval keys that correspond to the respective public approval keys PKapp. The authorization logic is designed so that it can technically be implemented in the hardware security module without posing a security risk, even if it is implemented in the inner core of the hardware security module. According to the embodiment shown, the approval logic is combinatorial logic consisting of one or more AND operators and one or more OR operators. Such simple operators enable secure implementation of approval logic. According to the one shown in FIG. 4, the approval logic AL includes three approval options 401, 402 and 403, which are combined by an OR operator.

[0085] Die Genehmigungsoptionen umfassen eine Vielzahl von öffentlichen Genehmigungsschlüsseln PKapp, die durch die Operatoren UND und ODER kombiniert werden. Als Beispiel liest sich die Genehmigungsoption 401 wie folgt: (PKapp1ODER PKapp2) UND PKapp3[0085] The approval options include a plurality of public approval keys PKapp, which are combined by the AND and OR operators. As an example, the 401 approval option reads as follows: (PKapp1OR PKapp2) AND PKapp3

[0086] Dies bedeutet, dass eine Transaktionsgenehmigungsanforderung für den öffentlichen Asset-Adressschlüssel PKaaentweder durch die privaten Genehmigungsschlüssel, die zu den öffentlichen Genehmigungsschlüsseln PKapp1oder PKapp2korrespondieren, und zusätzlich durch den privaten Genehmigungsschlüssel, der zu dem öffentlichen Genehmigungsschlüssel PKapp3korrespondiert, genehmigt werden kann. Im Gegensatz dazu erlaubt die Genehmigungsoption 3 die Genehmigung eines einzelnen Genehmigenden, nämlich durch die privaten Schlüssel, die zu den öffentlichen Genehmigungsschlüsseln PKapp7oder PKapp8korrespondieren. [0086] This means that a transaction approval request for the public asset address key PKaa can be approved either by the private approval keys corresponding to the public approval keys PKapp1 or PKapp2 and additionally by the private approval key corresponding to the public approval key PKapp3. In contrast, approval option 3 allows approval of a single approver, namely through the private keys corresponding to the public approval keys PKapp7 or PKapp8.

[0087] Die drei Genehmigungsoptionen 401, 402 und 403 umfassen jeweils ein separates Signierfenster SW1, SW2 und SW3, wodurch eine zeitliche Logik festgelegt wird. Die Signierfenster SW1, SW2 und SW3 können unterschiedlich sein und haben jeweils eine vordefinierte untere Zeitgrenze und eine vordefinierte obere Zeitgrenze. Zum Beispiel kann das Signierfenster SW1 eine untere Zeitgrenze von 10 Minuten und eine obere Zeitgrenze von 20 Minuten haben. Das Signierungsfenster SW2 kann die gleiche untere Zeitgrenze von 10 Minuten und eine obere Zeitgrenze von 30 Minuten haben. Und das Signierungsfenster SW3 kann ein unteres Zeitlimit von 1 Monat und ein oberes Zeitlimit von 2 Monaten haben. Letzteres kann z.B. eine Wiederherstellung des kryptographischen Assets im Katastrophenfall ermöglichen. [0087] The three approval options 401, 402 and 403 each include a separate signing window SW1, SW2 and SW3, thereby defining a temporal logic. The signing windows SW1, SW2 and SW3 can be different and each have a predefined lower time limit and a predefined upper time limit. For example, the signing window SW1 may have a lower time limit of 10 minutes and an upper time limit of 20 minutes. The signing window SW2 can have the same lower time limit of 10 minutes and an upper time limit of 30 minutes. And the signing window SW3 can have a lower time limit of 1 month and an upper time limit of 2 months. The latter can, for example, enable the cryptographic asset to be restored in the event of a disaster.

[0088] FIG. 5 zeigt eine beispielhafte Ausführungsform einer Asset-Adressdatei 500, die auch als AAF2 bezeichnet wird. Die Asset-Adressdatei 500 umfasst einen Asset-Adressschlüsselnamen namekaa, einen privaten Asset-Adressschlüssel SKaa, einen entsprechenden öffentlichen Asset-Adressschlüssel PKaaund eine Genehmigungslogik AL. Der öffentliche Asset-Adressschlüssel PKaakann aus dem privaten Asset-Adressschlüssel SKaaabgeleitet werden und kann optional in der Asset-Adressdatei 500 gespeichert werden. FIG. 5 shows an exemplary embodiment of an asset address file 500, also referred to as AAF2. The asset address file 500 includes an asset address key name namekaa, an asset private address key SKaa, a corresponding public asset address key PKaa, and approval logic AL. The public asset address key PKaa can be derived from the private asset address key SKaa and can optionally be stored in the asset address file 500.

[0089] Die Asset-Adressdatei 500 korrespondiert zu einer kryptographischen Asset-Adresse AA, die aus dem öffentlichen Asset-Adressschlüssel PKaaabgeleitet werden kann. The asset address file 500 corresponds to a cryptographic asset address AA, which can be derived from the public asset address key PKaa.

[0090] Die Genehmigungslogik AL umfasst eine Vielzahl von öffentlichen Genehmigungsschlüsseln PKapp. Die öffentlichen Genehmigungsschlüsseln PKappsind in die Genehmigungslogik AL eingebettet. [0090] The approval logic AL includes a large number of public approval keys PKapp. The public approval keys PKapp are embedded in the approval logic AL.

[0091] Gemäss der in FIG. 5 dargestellten Ausführungsform umfasst die Genehmigungslogik AL zwei Genehmigungsoptionen 501 und 502, die durch einen ODER-Operator kombiniert werden. [0091] According to the in FIG. 5, the approval logic AL includes two approval options 501 and 502, which are combined by an OR operator.

[0092] Die Genehmigungsoptionen umfassen eine Vielzahl von öffentlichen Genehmigungsschlüsseln. Nach dieser Ausführungsform umfasst die erste Option 501 Gruppenlogiken. Insbesondere definiert die Genehmigungslogik eine erste Gruppe, die die öffentlichen Genehmigungsschlüssel PKapp1, PKapp2und PKapp3umfasst, und eine zweite Gruppe, die die öffentlichen Genehmigungsschlüssel PKapp4, PKapp5und PKapp6umfasst. Die beiden Gruppen werden mit einem UND-Operator kombiniert. Die Gruppenlogik legt fest, dass ein Genehmigender der ersten Gruppe und ein Genehmigender der zweiten Gruppe gemäss der ersten Genehmigungsoption genehmigen müssen. [0092] The approval options include a variety of public approval keys. According to this embodiment, the first option 501 includes group logics. In particular, the approval logic defines a first group that includes the public approval keys PKapp1, PKapp2, and PKapp3, and a second group that includes the public approval keys PKapp4, PKapp5, and PKapp6. The two groups are combined with an AND operator. The group logic specifies that an approver from the first group and an approver from the second group must approve according to the first approval option.

[0093] Die zweite Genehmigungsoption entspricht der dritten Genehmigungsoption von FIG. 4 und ermöglicht die Genehmigung eines einzelnen Genehmigenden, nämlich durch die privaten Schlüssel, die zu den öffentlichen Genehmigungsschlüsseln PKapp7oder PKapp8korrespondieren. The second approval option corresponds to the third approval option of FIG. 4 and enables the approval of a single approver, namely through the private keys that correspond to the public approval keys PKapp7 or PKapp8.

[0094] Die beiden Genehmigungsoptionen 501 umfassen jeweils ein separates Signierfenster SW1 und SW2. The two approval options 501 each include a separate signing window SW1 and SW2.

[0095] FIG. 6 zeigt eine beispielhafte Ausführungsform einer Asset-Adressdatei 600, die auch als AAF3 bezeichnet wird. Die Asset-Adressdatei 600 umfasst einen Asset-Adressschlüsselnamen namekaa, einen privaten Asset-Adressschlüssel SKaa, einen korrespondierenden öffentlichen Asset-Adressschlüssel PKaaund eine Genehmigungslogik AL. Der öffentliche Asset-Adressschlüssel PKaakann aus dem privaten Asset-Adressschlüssel SKaaabgeleitet und optional in der Asset-Adressdatei 600 gespeichert werden. [0095] FIG. 6 shows an exemplary embodiment of an asset address file 600, also referred to as AAF3. The asset address file 600 includes an asset address key name namekaa, a private asset address key SKaa, a corresponding public asset address key PKaa, and an approval logic AL. The public asset address key PKaa can be derived from the private asset address key SKaa and optionally stored in the asset address file 600.

[0096] Die Asset-Adressdatei 600 entspricht einer kryptographischen Asset-Adresse AA, die aus dem öffentlichen Asset-Adressschlüssel PKaaabgeleitet werden kann. [0096] The asset address file 600 corresponds to a cryptographic asset address AA, which can be derived from the public asset address key PKaa.

[0097] Die Genehmigungslogik AL besteht aus einer Vielzahl von öffentlichen Genehmigungsschlüsseln PKappund einem oder mehreren öffentlichen Richtliniengenehmigungsschlüsseln PKpak1, PKpak2, ..., PKpakn. Die Richtliniengenehmigungsschlüssel können verwendet werden, um zusätzliche Flexibilität bei der Definition von Signierrichtlinien oder Signierkriterien zu schaffen. [0097] The approval logic AL consists of a plurality of public approval keys PKapp and one or more public policy approval keys PKpak1, PKpak2, ..., PKpakn. The policy approval keys can be used to provide additional flexibility when defining signing policies or signing criteria.

[0098] Die öffentlichen Genehmigungsschlüssel PKappund die öffentlichen Richtliniengenehmigungsschlüssel PKpaksind in die Genehmigungslogik AL eingebettet. Die Signaturen müssen mit den privaten Genehmigungsschlüsseln, die zu den jeweiligen öffentlichen Genehmigungsschlüsseln PKappkorrespondieren, und den privaten Richtliniengenehmigungsschlüsseln, die zu den öffentlichen Richtliniengenehmigungsschlüsseln PKpakkorrespondieren, durchgeführt werden. [0098] The public approval keys PKapp and the public policy approval keys PKpak are embedded in the approval logic AL. The signatures must be performed with the private approval keys corresponding to the respective public approval keys PKapp and the private policy approval keys corresponding to the public policy approval keys PKpak.

[0099] Gemäss der in FIG. 6 dargestellten Ausführungsform umfasst die Genehmigungslogik AL drei Genehmigungsoptionen 601, 602 und 603, die durch einen ODER-Operator kombiniert werden. [0099] According to the in FIG. 6, the approval logic AL includes three approval options 601, 602 and 603, which are combined by an OR operator.

[0100] Die Genehmigungsoptionen umfassen eine Vielzahl von öffentlichen Genehmigungsschlüsseln PKapp, und jede der Optionen umfasst einen öffentlichen Richtliniengenehmigungsschlüssel. Als Beispiel lautet die Genehmigungsoption 601 wie folgt: ((PKapp1ODER PKapp2) UND PKapp3) UND PKpak1)[0100] The approval options include a plurality of public approval keys PKapp, and each of the options includes a public policy approval key. As an example, approval option 601 is as follows: ((PKapp1OR PKapp2) AND PKapp3) AND PKpak1)

[0101] Dies bedeutet, dass eine Transaktionsgenehmigungsanforderung des öffentlichen Asset-Adressschlüssels PKaagemäss Option 601 nur mit dem privaten Richtliniengenehmigungsschlüssel SKpak1genehmigt werden kann, der zu dem öffentlichen Richtliniengenehmigungsschlüssel PKpak1korrespondiert. Die Signatur mit dem privaten Richtliniengenehmigungsschlüssel SKpak1kann automatisch vom Hardware-Genehmigungsterminal 30 in Abhängigkeit von vordefinierten Merkmalen der Transaktionsanforderung, insbesondere dem Transaktionswert und der Zieladresse des Assets, durchgeführt werden. Im Gegensatz zu den Signaturen mit den privaten Genehmigungsschlüsseln ist daher keine zusätzliche Überprüfung des Genehmigers mittels Smartcard und PIN eines menschlichen Genehmigers erforderlich. [0101] This means that a transaction approval request of the public asset address key PKaage according to option 601 can only be approved with the private policy approval key SKpak1, which corresponds to the public policy approval key PKpak1. The signing with the private policy approval key SKpak1 can be performed automatically by the hardware approval terminal 30 depending on predefined characteristics of the transaction request, in particular the transaction value and the destination address of the asset. In contrast to the signatures with the private approval keys, no additional verification of the approver using a human approver's smart card and PIN is required.

[0102] Beispielsweise kann das Hardware-Genehmigungsterminal 30 automatisch mit dem privaten Richtliniengenehmigungsschlüssel SKpak1unterschreiben, wenn der Transaktionswert unter einem vordefinierten Transaktionswert liegt. [0102] For example, the hardware approval terminal 30 may automatically sign with the private policy approval key SKpak1 when the transaction value is less than a predefined transaction value.

[0103] Darüber hinaus ist gemäss Genehmigungsoption 601 eine Signatur eines der privaten Genehmigungsschlüssel, die zu den öffentlichen Genehmigungsschlüsseln PKapp1oder PKapp2korrespondieren, und eine Signatur des privaten Genehmigungsschlüssels, der zu dem öffentlichen Genehmigungsschlüssel PKapp3korrespondiert, erforderlich. [0103] Furthermore, according to approval option 601, a signature of one of the private approval keys corresponding to the public approval keys PKapp1 or PKapp2 and a signature of the private approval key corresponding to the public approval key PKapp3 are required.

[0104] Die drei Genehmigungsoptionen 601, 602 und 603 umfassen jeweils ein separates Signierfenster SW1, SW2 bzw. SW3 und legen damit eine Zeitlogik fest. [0104] The three approval options 601, 602 and 603 each include a separate signing window SW1, SW2 and SW3, respectively, and thus define a time logic.

[0105] Die im Hardware-Genehmigungsterminal 30 gespeicherte Richtlinie P kann individuelle Signierkriterien oder Signierregeln für jeden der öffentlichen Richtliniengenehmigungsschlüssel angeben, in diesem Beispiel für PKpak1, PKpak2und PKpak3. [0105] The policy P stored in the hardware approval terminal 30 may specify individual signing criteria or signing rules for each of the public policy approval keys, in this example for PKpak1, PKpak2 and PKpak3.

[0106] Als Beispiel kann die Richtlinie P festlegen, dass das Hardware-Genehmigungsterminal 30 automatisch mit dem privaten Richtliniengenehmigungsschlüssel SKpak1unterschreibt, wenn der Asset-Transaktionswert der erhaltenen Transaktionsanforderung unter einem vordefinierten Betrag liegt. [0106] As an example, the policy P may specify that the hardware approval terminal 30 automatically signs with the private policy approval key SKpak1 if the asset transaction value of the received transaction request is less than a predefined amount.

[0107] Darüber hinaus kann sie festlegen, dass das Hardware-Genehmigungsterminal 30 automatisch mit dem privaten Richtliniengenehmigungsschlüssel SKpak2signiert, wenn die empfangene Transaktionsanforderung eine vordefinierte Ziel-Assetadresse umfasst. [0107] Additionally, it may specify that the hardware approval terminal 30 automatically signs with the private policy approval key SKpak2 when the received transaction request includes a predefined target asset address.

[0108] Darüber hinaus kann sie festlegen, dass das Hardware-Genehmigungsterminal 30 automatisch mit dem privaten Richtliniengenehmigungsschlüssel SKpak3signiert, wenn die empfangene Transaktionsanforderung eine andere vordefinierte Ziel-Assetadresse umfasst oder wenn der Asset-Transaktionswert der empfangenen Transaktionsanforderung innerhalb eines vordefinierten Bereichs liegt. [0108] In addition, it may specify that the hardware approval terminal 30 automatically signs with the private policy approval key SKpak3 if the received transaction request includes another predefined target asset address or if the asset transaction value of the received transaction request is within a predefined range.

[0109] FIG. 7 zeigt ein Flussdiagramm eines Verfahrens zur Einführung oder Implementierung von Richtliniengenehmigungsschlüsseln in Systeme gemäss Ausführungsformen der Erfindung. [0109] FIG. 7 shows a flowchart of a method for introducing or implementing policy approval keys in systems according to embodiments of the invention.

[0110] In einem Schritt 710 gibt der Bediener eine oder mehrere Richtlinien P in das/die Genehmigungsterminal(s) 30 ein. [0110] In a step 710, the operator enters one or more policies P into the approval terminal(s) 30.

[0111] In einem Schritt 720 erstellt das jeweilige Genehmigungsterminal 30 ein oder mehrere Richtliniengenehmigungsschlüsselpaare (SKpakx, PKpakx) und speichert die privaten Richtliniengenehmigungsschlüssel SKpakxund die Richtlinie P im jeweiligen Hardware-Genehmigungsterminal 30. [0111] In a step 720, the respective approval terminal 30 creates one or more policy approval key pairs (SKpakx, PKpakx) and stores the private policy approval keys SKpakx and the policy P in the respective hardware approval terminal 30.

[0112] Die eine oder die mehreren Richtlinien P sind mit den privaten/öffentlichen Richtliniengenehmigungsschlüssel verknüpft und können insbesondere Signierkriterien oder mit anderen Worten Signierregeln für eine automatische Signierung einer Transaktionsanforderung mit dem einen oder mehreren privaten Richtliniengenehmigungsschlüsseln festlegen. [0112] The one or more policies P are linked to the private/public policy approval keys and can in particular define signing criteria or, in other words, signing rules for an automatic signing of a transaction request with the one or more private policy approval keys.

[0113] In einem Schritt 730 exportiert der Bediener die öffentlichen Richtliniengenehmigungsschlüssel PKpakxder Richtliniengenehmigungsschlüsselpaare über das Frontend 10 in die entsprechende Genehmigungslogik AL. [0113] In a step 730, the operator exports the public policy approval keys PKpakx of the policy approval key pairs via the front end 10 into the corresponding approval logic AL.

[0114] FIG. 8a zeigt ein Verfahren zur Durchführung automatischer Signaturen mit den Richtliniengenehmigungsschlüsseln durch ein Hardware-Genehmigungsterminal 30. [0114] FIG. 8a shows a method for performing automatic signatures with the policy approval keys by a hardware approval terminal 30.

[0115] In einem Schritt 810 sendet der Backend-Server 20 eine Transaktionsanforderung mit einer Genehmigungslogik AL an das Hardware-Genehmigungsterminal 30. [0115] In a step 810, the backend server 20 sends a transaction request with an approval logic AL to the hardware approval terminal 30.

[0116] In einem Schritt 820 führt das Hardware-Genehmigungsterminal 30 ein automatisches Signatur-/Signierverfahren durch, das unter Bezugnahme auf FIG. 8b näher beschrieben wird und die Schritte 821-824 umfasst. [0116] In a step 820, the hardware authorization terminal 30 performs an automatic signature/signing process, which is described with reference to FIG. 8b is described in more detail and includes steps 821-824.

[0117] In einem Schritt 821 beginnt das automatische Signaturverfahren. [0117] The automatic signature process begins in a step 821.

[0118] In einem Schritt 822 prüft das Hardware-Terminal 30, ob in der jeweiligen Zugriffslogik AL der empfangenen Transaktionsanforderung ein öffentlicher Richtliniengenehmigungsschlüssel vorhanden ist. [0118] In a step 822, the hardware terminal 30 checks whether a public policy approval key is present in the respective access logic AL of the received transaction request.

[0119] Wenn ja, prüft das Hardware-Genehmigungsterminal 30 in einem Schritt 823, ob ein oder mehrere Signierkriterien für eine automatische Signierung gemäss der gespeicherten Richtlinie P erfüllt sind. [0119] If so, the hardware approval terminal 30 checks in a step 823 whether one or more signing criteria for an automatic signing according to the stored policy P are met.

[0120] Wenn dies der Fall ist, signiert das Hardware-Genehmigungsterminal 30 in einem Schritt 824 die Transaktionsanforderung mit dem jeweiligen privaten Richtliniengenehmigungsschlüssel SKpakx, der durch die Richtlinie P festgelegt ist. [0120] If this is the case, in a step 824, the hardware approval terminal 30 signs the transaction request with the respective private policy approval key SKpakx specified by the policy P.

[0121] In einem Schritt 830 sendet dann das Hardware-Genehmigungsterminal 30 die mit dem jeweiligen privaten Richtliniengenehmigungsschlüssel SKpakxsignierte Transaktionsanforderung an den Backend-Server 20. [0121] In a step 830, the hardware approval terminal 30 then sends the transaction request signed with the respective private policy approval key SKpakx to the backend server 20.

[0122] Ein solches Verfahren ermöglicht eine automatische Signierung durch das Hardware-Genehmigungsterminal 30 ohne Benutzerinteraktion auf der Grundlage der im Hardware-Genehmigungsterminal 30 gespeicherten Richtlinie P. Darüber hinaus können die Genehmigungsoptionen mit Hilfe der Richtliniengenehmigungsschlüssel und der entsprechenden Richtlinie flexibel konfiguriert und insbesondere mit Genehmigungsschlüsseln kombiniert werden. [0122] Such a method enables automatic signing by the hardware approval terminal 30 without user interaction based on the policy P stored in the hardware approval terminal 30. In addition, the approval options can be flexibly configured using the policy approval keys and the corresponding policy, and in particular with approval keys be combined.

[0123] Aspekte der vorliegenden Erfindung können in Form eines Systems, insbesondere eines Systems zur Durchführung kryptographischer Asset-Transaktionen, eines Verfahrens und/oder eines Computerprogrammprodukts ausgebildet sein. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder Medien) mit darauf befindlichen computerlesbaren Programmbefehlen umfassen, die einen Prozessor veranlassen, Aspekte der vorliegenden Erfindung auszuführen. Aspects of the present invention can be in the form of a system, in particular a system for carrying out cryptographic asset transactions, a method and/or a computer program product. The computer program product may include a computer-readable storage medium (or media) having thereon computer-readable program instructions that cause a processor to carry out aspects of the present invention.

[0124] Das computerlesbare Speichermedium kann ein materielles Gerät sein, das Befehle zur Verwendung durch ein Befehlsausführungsgerät aufbewahren und speichern kann. Das computerlesbare Speichermedium kann z.B. ein elektronisches Speichergerät, ein magnetisches Speichergerät, ein optisches Speichergerät, ein elektromagnetisches Speichergerät, ein Halbleiterspeichergerät oder eine geeignete Kombination der vorgenannten sein, ist aber nicht darauf beschränkt. Eine nicht erschöpfende Liste mit spezifischeren Beispielen für das computerlesbare Speichermedium umfasst das Folgende: eine tragbare Computerdiskette, eine Festplatte, einen Speicher mit wahlfreiem Zugriff (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Speicher mit wahlfreiem Zugriff (SRAM), einen tragbaren Nur-Lese-Speicher für Compact Discs (CD-ROM), eine digitale vielseitige Diskette (DVD), einen Speicherstick, eine Diskette, eine mechanisch kodierte Vorrichtung wie Lochkarten oder erhabene Strukturen in einer Rille mit darauf aufgezeichneten Befehlen und jede geeignete Kombination der vorgenannten. Ein computerlesbares Speichermedium, wie es hier verwendet wird, ist nicht als flüchtiges Signal an sich auszulegen, wie z.B. Radiowellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich über einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. Lichtimpulse, die durch ein Glasfaserkabel laufen), oder elektrische Signale, die über einen Draht übertragen werden. [0124] The computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or a suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard drive, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory ( EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile floppy disk (DVD), a memory stick, a floppy disk, a mechanically encoded one Devices such as punch cards or raised structures in a groove with commands recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium as used herein is not to be construed as a transient signal per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating over a waveguide or other transmission media (e.g. pulses of light traveling through a fiber optic cable running), or electrical signals that are transmitted over a wire.

[0125] Die hierin beschriebenen computerlesbaren Programmbefehle können von einem computerlesbaren Speichermedium oder über ein Netzwerk, z.B. das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk, auf die entsprechenden Rechen-/Prozessorgeräte heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, optische Übertragungsfasern, drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jedem Rechen-/Prozessorgerät empfängt computerlesbare Programmbefehle vom Netzwerk und leitet die computerlesbaren Programmbefehle zur Speicherung in einem computerlesbaren Speichermedium innerhalb des jeweiligen Rechen-/Prozessorgeräts weiter. [0125] The computer-readable program instructions described herein may be downloaded to the appropriate computing/processing devices from a computer-readable storage medium or over a network, e.g., the Internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.

[0126] Bei computerlesbaren Programmbefehlen zur Ausführung von Operationen der vorliegenden Erfindung kann es sich um Assemblerbefehle, Instruktionssatz-Architektur-Befehle (ISA-Befehle), Maschinenbefehle, maschinenabhängige Befehle, Mikrocode, Firmware-Befehle, zustandsetzende Daten oder entweder um Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, einschliesslich einer objektorientierten Programmiersprache wie Smalltalk, C++ o.ä., und herkömmlichen prozeduralen Programmiersprachen, wie der Programmiersprache „C“ oder ähnlichen Programmiersprachen, geschrieben sind. Die computerlesbaren Programmbefehle können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server ausgeführt werden. Im letzteren Fall kann der Remote-Computer über jede Art von Netzwerk, einschliesslich eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzwerks (WAN), mit dem Computer des Benutzers verbunden sein, oder die Verbindung kann mit einem externen Computer hergestellt werden (z.B. über das Internet mit Hilfe eines Internet Service Providers). In einigen Ausführungsformen können elektronische Schaltungen, z.B. programmierbare Logikschaltungen, feldprogrammierbare Gate-Arrays (FPGA) oder programmierbare Logik-Arrays (PLA), die computerlesbaren Programmbefehle ausführen, indem sie die Statusinformationen der computerlesbaren Programmbefehle zur Personalisierung der elektronischen Schaltung verwenden, um Aspekte der vorliegenden Erfindung auszuführen. [0126] Computer-readable program instructions for performing operations of the present invention may be assembly language instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code , written in any combination of one or more programming languages, including an object-oriented programming language such as Smalltalk, C++, or similar, and traditional procedural programming languages, such as the “C” programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (e.g. via the Internet with the help of an Internet service provider). In some embodiments, electronic circuits, such as programmable logic circuits, field programmable gate arrays (FPGA), or programmable logic arrays (PLA), may execute the computer-readable program instructions by using the status information of the computer-readable program instructions to personalize the electronic circuit to achieve aspects of the present To carry out the invention.

[0127] Aspekte der vorliegenden Erfindung werden hier unter Bezugnahme auf Flussdiagrammdarstellungen, und/oder Blockdiagramme von Verfahren, Apparaten (Systemen) und Computerprogrammprodukten entsprechend den Ausführungsformen der Erfindung beschrieben. Es wird davon ausgegangen, dass jeder Block der Flussdiagrammdarstellungen und/oder Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammdarstellungen und/oder Blockdiagrammen durch computerlesbare Programmbefehle implementiert werden kann. Aspects of the present invention are described herein with reference to flowchart illustrations, and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It is believed that each block of the flowchart representations and/or block diagrams and combinations of blocks in the flowchart representations and/or block diagrams can be implemented by computer-readable program instructions.

[0128] Diese computerlesbaren Programmbefehle können einem Prozessor eines Allzweckrechners, eines Spezialrechners oder eines anderen programmierbaren Datenverarbeitungsgeräts zur Erzeugung einer Maschine zur Verfügung gestellt werden, so dass die Befehle, die über den Prozessor des Rechners oder eines anderen programmierbaren Datenverarbeitungsgeräts ausgeführt werden, Mittel zur Implementierung der im Flussdiagramm und/oder in einem Blockdiagrammblock oder in Blöcken spezifizierten Funktionen/Aktionen schaffen. Diese computerlesbaren Programmbefehle können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, ein programmierbares Datenverarbeitungsgerät und/oder andere Vorrichtungen anweisen kann, in einer bestimmten Weise zu funktionieren, so dass das computerlesbare Speichermedium mit den darin gespeicherten Befehlen ein Erzeugnis umfasst, das Befehle enthält, die Aspekte der im Flussdiagramm und/oder in einem Blockdiagrammblock oder in Blöcken spezifizierten Funktion/Aktion implementieren. [0128] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device for generating a machine, such that the instructions executed via the processor of the computer or other programmable data processing device have means for implementation of the functions/actions specified in the flowchart and/or in a block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can instruct a computer, a programmable data processing device, and/or other devices to function in a particular manner, so that the computer-readable storage medium with the instructions stored therein comprises an article containing instructions contains aspects of the function/action specified in the flowchart and/or in a block diagram block or blocks.

[0129] Die computerlesbaren Programmbefehle können auch auf einen Computer, ein anderes programmierbares Datenverarbeitungsgerät oder eine andere Vorrichtung geladen werden, um eine Reihe von Betriebsschritten auf dem Computer, dem anderen programmierbaren Gerät oder der anderen Vorrichtung auszuführen, um einen computerimplementierten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer, dem anderen programmierbaren Gerät oder der anderen Vorrichtung ausgeführt werden, die Funktionen/Aktionen implementieren, die im Flussdiagramm und/oder in einem Blockdiagrammblock oder in Blöcken spezifiziert sind. [0129] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing device, or other device to perform a series of operational steps on the computer, other programmable device, or other device to produce a computer-implemented process, so on that the instructions executed on the computer, other programmable device or other device implement the functions/actions specified in the flowchart and/or in a block diagram block or blocks.

[0130] Das Flussdiagramm und die Blockdiagramme in den Figuren veranschaulichen die Architektur, die Funktionalität und die Funktionsweise möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten entsprechend den verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockdiagrammen ein Modul, ein Segment oder einen Teil von Befehlen darstellen, der einen oder mehrere ausführbare Befehle zur Implementierung der spezifizierten logischen Funktion(en) umfasst. In einigen alternativen Implementierungen können die im Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben auftreten. So können z.B. zwei nacheinander dargestellte Blöcke tatsächlich im wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der betreffenden Funktionalität. Es wird auch darauf hingewiesen, dass jeder Block der Blockdiagramme und/oder der Flussdiagrammdarstellung sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder der Flussdiagrammdarstellung durch auf Spezialzweck-Hardware basierende Systeme implementiert werden kann, die die angegebenen Funktionen oder Aktionen ausführen oder Kombinationen von Spezialzweck-Hardware und Computerbefehlen ausführen. The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions that includes one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions specified in the block may occur in a different order than specified in the figures. For example, two blocks presented sequentially may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. It is also noted that each block of the block diagrams and/or the flowchart representation, as well as combinations of blocks in the block diagrams and/or the flowchart representation, may be implemented by special-purpose hardware-based systems that perform the specified functions or actions or combinations of special-purpose -Hardware and computer commands.

[0131] Es werden zwar gegenwärtig bevorzugte Ausführungsformen der Erfindung gezeigt und beschrieben, aber es ist deutlich zu verstehen, dass die Erfindung nicht darauf beschränkt ist, sondern im Rahmen der folgenden Ansprüche auch anderweitig auf unterschiedliche Weise ausgeführt und praktiziert werden kann. While presently preferred embodiments of the invention are shown and described, it is to be clearly understood that the invention is not limited thereto but may be otherwise embodied and practiced in various ways within the scope of the following claims.

Claims (16)

1. System (100) zum Bereitstellen von kryptographischen Asset-Transaktionen, wobei das System (100) so ausgelegt ist, dass es mit einem Hardware-Sicherheitsmodul (40) kommunizieren kann, wobei das Hardware-Sicherheitsmodul (40) so konfiguriert ist, dass es einen privaten Schlüssel des Hardware-Sicherheitsmoduls (40) und eine Vielzahl von Asset-Adressdateien speichert, die einer kryptographischen Asset-Adresse entsprechen, wobei jede der Vielzahl von Asset-Adressdateien einen Asset-Adressschlüsselnamen, einen privaten Asset-Adressschlüssel und eine Genehmigungslogik umfasst, wobei die Genehmigungslogik eine Vielzahl von öffentlichen Genehmigungsschlüsseln umfasst; das System (100) umfassend ein Client-Gerät (10), das für die Ausführung einer Frontend-Anwendung (11) konfiguriert ist; einen Backend-Server (20), der für die Ausführung einer Backend-Anwendung (21) konfiguriert ist; und eine Vielzahl von Hardware-Genehmigungsterminals (30); wobei das System (100) dazu konfiguriert ist, einen öffentlichen Schlüssel des Hardware-Sicherheitsmoduls (40) und einen oder mehrere private Genehmigungsschlüssel von Genehmigern einer kryptographischen Asset-Transaktion durch die Vielzahl von Hardware-Genehmigungsterminals (30)zu speichern; Transaktionsanforderungen, um eine kryptographische Asset-Transaktion an den Backend-Server (20) zu signieren, durch die Frontend-Anwendung (11) auszugeben, wobei die Transaktionsanforderung Folgendes umfasst eine Quell-Assetadresse, insbesondere einen Asset-Adressschlüsselnamen; eine Ziel-Assetadresse; und einen Asset-Transaktionswert; durch den Backend-Server (20) die Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul (40) anzufordern; durch den Backend-Server (20) die Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul (40) zu empfangen; durch den Backend-Server (20) die Transaktionsanforderung und die korrespondierende Genehmigungslogik an die Hardware-Genehmigungsterminals (30) zu senden; die Transaktionsanforderung und die Genehmigungslogik auf einem Display (33) des Hardware-Genehmigungsterminals anzuzeigen; eine Bestätigung der Transaktionsanforderung von Genehmigenden, die mit dem Hardware-Genehmigungsterminal (30) verknüpft sind zu empfangen; durch die Hardware-Genehmigungsterminals (30) die Genehmigungslogik mit Hilfe des öffentlichen Schlüssels des Hardware-Sicherheitsmoduls (40) zu verifizieren; durch die Hardware-Genehmigungsterminals (30) signierte Transaktionsgenehmigungen an den Backend-Server (20) zu senden, wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen; durch den Backend-Server (20) die signierten Transaktionsgenehmigungen an das Hardware-Sicherheitsmodul (40) zur Verifizierung weiterzuleiten; durch den Backend-Server (20) die signierte kryptographische Asset-Transaktion nach Verifizierung vom Hardware-Sicherheitsmodul (40) zu empfangen; und die signierte kryptographische Asset-Transaktion durch den Backend-Server (20) an einen Blockchain-Knoten bereit zu stellen.1. System (100) for providing cryptographic asset transactions, the system (100) being designed to communicate with a hardware security module (40), the hardware security module (40) being configured such that it stores a private key of the hardware security module (40) and a plurality of asset address files corresponding to a cryptographic asset address, each of the plurality of asset address files comprising an asset address key name, an asset address private key and authorization logic , wherein the approval logic includes a plurality of public approval keys; the system (100) comprising a client device (10) configured to execute a front-end application (11); a backend server (20) configured to execute a backend application (21); and a plurality of hardware authorization terminals (30); wherein the system (100) is configured to store a public key of the hardware security module (40) and one or more private approval keys of approvers of a cryptographic asset transaction through the plurality of hardware approval terminals (30); Transaction requests to sign a cryptographic asset transaction to the backend server (20), issued by the frontend application (11), the transaction request comprising the following a source asset address, in particular an asset address key name; a target asset address; and an asset transaction value; request, through the backend server (20), the source asset address approval logic from the hardware security module (40); receive, through the backend server (20), the authorization logic of the source asset address from the hardware security module (40); send by the backend server (20) the transaction request and the corresponding approval logic to the hardware approval terminals (30); display the transaction request and approval logic on a display (33) of the hardware approval terminal; receiving an acknowledgment of the transaction request from approvers associated with the hardware approval terminal (30); through the hardware approval terminals (30) to verify the approval logic using the public key of the hardware security module (40); sending transaction approvals signed by the hardware approval terminals (30) to the backend server (20), the signed transaction approvals comprising the asset address key name and the transaction request; forwarding, through the backend server (20), the signed transaction authorizations to the hardware security module (40) for verification; receive by the backend server (20) the signed cryptographic asset transaction after verification from the hardware security module (40); and to provide the signed cryptographic asset transaction to a blockchain node through the backend server (20). 2. System nach Anspruch 1, wobei das System (100) ferner konfiguriert ist, um nach Erhalt einer Transaktionsanforderung durch die Hardware-Genehmigungsterminals (30) eine Zeitstempelanforderung an das Hardware-Sicherheitsmodul (40) zu senden; durch die Hardware-Genehmigungsterminals (30) eine signierte Transaktionsanforderung mit einem Zeitstempel zu empfangen; durch die Hardware-Genehmigungsterminals (30) die signierte Transaktionsanforderung einschliesslich des Zeitstempels zu verifizieren; wobei der Zeitstempel für jede Transaktionsanforderung ein Signierfenster für das Hardware-Sicherheitsmodul (40) auslöst.2. The system of claim 1, wherein the system (100) is further configured to upon receipt of a transaction request by the hardware approval terminals (30), sending a timestamp request to the hardware security module (40); receive, through the hardware approval terminals (30), a signed transaction request with a timestamp; verify the signed transaction request including the timestamp through the hardware approval terminals (30); wherein the timestamp for each transaction request triggers a signing window for the hardware security module (40). 3. System gemäss einem der vorhergehenden Ansprüche, bei dem die privaten Genehmigungsschlüssel mit Hilfe eines Passworts und eines Smartcard-Schlüssels verschlüsselt sind.3. System according to one of the preceding claims, in which the private authorization keys are encrypted using a password and a smart card key. 4. System gemäss einem der vorhergehenden Ansprüche, wobei das System (100) ferner dazu konfiguriert ist, durch die Frontend-Anwendung (11) eine Adresserzeugungsanforderung zur Erzeugung einer Asset-Adresse an den Backend-Server zu senden, wobei die Adresserzeugungsanforderung einen Asset-Adressschlüsselnamen, einen Asset-Typ, eine Genehmigungslogik und eine Vielzahl von öffentlichen Genehmigungsschlüsseln der Genehmigungslogik umfasst; durch den Backend-Server (20) eine Schlüsselerzeugungsanforderung an das Hardware-Sicherheitsmodul (40) zusenden, um ein asymmetrisches Schlüsselpaar zu erzeugen, das einen öffentlichen Asset-Adressschlüssel und einen privaten Asset-Adressschlüssel umfasst, wobei die Schlüsselerzeugungsanforderung den Asset-Adressschlüsselnamen, die Genehmigungslogik und die Vielzahl der öffentlichen Genehmigungsschlüssel der Genehmigungslogik umfasst; durch den Backend-Server (20) den öffentlichen Asset-Adressschlüssel des asymmetrischen Schlüsselpaares vom Hardware-Sicherheitsmodul (40) zu empfangen; durch den Backend-Server (20) den Asset-Adressschlüsselnamen, den öffentlichen Asset-Adressschlüssel oder eine Ableitung des öffentlichen Asset-Adressschlüssels als kryptographische Asset-Adresse für die Frontend-Anwendung (11) bereitzustellen.4. System according to one of the preceding claims, wherein the system (100) is further configured to send by the front-end application (11) an address generation request to the backend server for generating an asset address, the address generation request comprising an asset address key name, an asset type, an approval logic and a plurality of public approval keys of the approval logic; send through the backend server (20) a key generation request to the hardware security module (40) to generate an asymmetric key pair comprising a public asset address key and a private asset address key, the key generation request containing the asset address key name, the approval logic and the plurality of public approval keys of the approval logic; receive, by the backend server (20), the public asset address key of the asymmetric key pair from the hardware security module (40); the backend server (20) provides the asset address key name, the public asset address key or a derivative of the public asset address key as a cryptographic asset address for the frontend application (11). 5. System nach Anspruch 4, wobei das System (100) ferner so konfiguriert ist, dass es ein Asset-Adressen-Verifizierungsverfahren durchführt, wobei das Asset-Adressen-Verifizierungsverfahren umfasst Senden einer Anforderung zur Verifizierung der Asset-Adresse durch die Frontend-Anwendung (11) über den Backend-Server (20) an das Hardware-Sicherheitsmodul (40) ; Empfangen der Genehmigungslogik und der korrespondierenden öffentlichen Asset-Adressschlüssel, die mit dem privaten Schlüssel des Hardware-Sicherheitsmoduls (40) signiert sind, durch das Hardware-Genehmigungsterminal (30) vom Hardware-Sicherheitsmodul (40) über den Backend-Server (20), Durchführen einer Integritätsprüfung der empfangenen signierten Genehmigungslogik durch das Hardware-Genehmigungsterminal (30), wobei die Integritätsprüfung die Verifizierung der Signatur des Hardware-Sicherheitsmoduls (40) und die Berechnung der entsprechenden Asset-Adresse aus dem empfangenen öffentlichen Asset-Adressschlüssel umfasst; Anzeigen der vom Hardware-Genehmigungsterminal (30) berechneten Asset-Adresse und der Genehmigungslogik durch das Hardware-Genehmigungsterminal (30) auf einem Display (33) des Hardware-Genehmigungsterminals zur Überprüfung durch einen Bediener.5. The system of claim 4, wherein the system (100) is further configured to perform an asset address verification process, the asset address verification process comprising Sending a request to verify the asset address by the front-end application (11) via the back-end server (20) to the hardware security module (40); Receiving the approval logic and the corresponding public asset address keys signed with the private key of the hardware security module (40) by the hardware approval terminal (30) from the hardware security module (40) via the backend server (20), performing an integrity check of the received signed approval logic by the hardware approval terminal (30), the integrity check comprising verifying the signature of the hardware security module (40) and calculating the corresponding asset address from the received public asset address key; Displaying the asset address calculated by the hardware approval terminal (30) and the approval logic by the hardware approval terminal (30) on a display (33) of the hardware approval terminal for review by an operator. 6. System gemäss einem der vorhergehenden Ansprüche, bei dem der Backend-Server (20) dazu konfiguriert ist, eine erforderliche Anzahl von Transaktionsgenehmigungen von den Hardware-Genehmigungsterminals (30) zu sammeln; und die gesammelten Transaktionsgenehmigungen an das Hardware-Sicherheitsmodul (40) weiterzuleiten.6. System according to one of the preceding claims, in which the backend server (20) is configured to collect a required number of transaction approvals from the hardware approval terminals (30); and forward the collected transaction approvals to the hardware security module (40). 7. System gemäss einem der vorhergehend en Ansprüche, wobei das System (100) ferner so konfiguriert ist, dass es einen sicheren Kommunikationskanal, insbesondere einen SSL/TLS-Kanal, für eine sichere Kommunikation zwischen dem Backend-Server (20) und dem Frontend (10) und für eine sichere Kommunikation zwischen dem Backend-Server (20) und den Hardware-Genehmigungsterminals (30) bereitstellt.7. System according to one of the preceding claims, wherein the system (100) is further configured so that there is a secure communication channel, in particular an SSL/TLS channel, for secure communication between the backend server (20) and the frontend (10) and provides secure communication between the backend server (20) and the hardware approval terminals (30). 8. System gemäss einem der vorhergehenden Ansprüche, wobei die Vielzahl von Hardware-Genehmigungs-Terminals (30) so konfiguriert sind, dass sie einen oder mehrere private Richtliniengenehmigungsschlüssel erzeugen und speichern; eine oder mehrere Richtlinien speichern, die mit den privaten Richtliniengenehmigungsschlüssel verknüpft sind; wobei die eine oder die mehreren Richtlinien Signierungskriterien für eine automatische Signierung einer Transaktionsanforderung mit einem oder mehreren privaten Richtliniengenehmigungsschlüsseln festlegen.8. System according to one of the preceding claims, wherein the plurality of hardware approval terminals (30) are configured to generate and store one or more private policy approval keys; store one or more policies associated with the private policy approval keys; wherein the one or more policies establish signing criteria for automatically signing a transaction request with one or more private policy approval keys. 9. System nach Anspruch 8, wobei die Signierungskriterien umfassen einen oder mehrere vordefinierte Asset-Transaktionswerte einer kryptographischen Asset-Transaktion; und/oder eine oder mehrere vordefinierte Ziel-Assetadressen; und/oder einen oder mehrere vordefinierte Asset-Transaktionsbereiche einer kryptographischen Asset-Transaktion.9. The system of claim 8, wherein the signing criteria include one or more predefined asset transaction values of a cryptographic asset transaction; and or one or more predefined target asset addresses; and/or one or more predefined asset transaction areas of a cryptographic asset transaction. 10. Hardware-Genehmigungsterminal (30) für ein System (100) gemäss einem der vorhergehenden Ansprüche, wobei das Hardware-Genehmigungsterminal (30) einen Kryptoprozessor (31), einen sicheren Speicher (32) und ein Display (33) umfasst, wobei das Hardware-Genehmigungsterminal (30) dazu konfiguriert ist, einen öffentlichen Schlüssel eines Hardware-Sicherheitsmoduls (40) und einen oder mehrere private Genehmigungsschlüssel von Genehmigern einer kryptographischen Asset-Transaktion zu speichern; von einem Backend-Server (20) eine Transaktionsanforderung und eine entsprechende Genehmigungslogik zu empfangen; die Transaktionsanforderung und die Genehmigungslogik auf einem Display (33) des Hardware-Genehmigungsterminals anzuzeigen; eine Bestätigung der Transaktionsanforderung von Genehmigenden, die mit dem Hardware-Genehmigungsterminal (30) verknüpft sind zu empfangen; die Genehmigungslogik mittels des öffentlichen Schlüssels des Hardware-Sicherheitsmoduls (40) zu verifizieren; und signierte Transaktionsgenehmigungen an den Backend-Server (20) zu senden, wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen.10. Hardware approval terminal (30) for a system (100) according to one of the preceding claims, wherein the hardware approval terminal (30) comprises a cryptoprocessor (31), a secure memory (32) and a display (33), wherein the Hardware approval terminal (30) is configured to store a public key of a hardware security module (40) and one or more private approval keys of approvers of a cryptographic asset transaction; receive from a backend server (20) a transaction request and corresponding approval logic; display the transaction request and approval logic on a display (33) of the hardware approval terminal; receiving an acknowledgment of the transaction request from approvers associated with the hardware approval terminal (30); verify the authorization logic using the public key of the hardware security module (40); and to send signed transaction approvals to the backend server (20), wherein the signed transaction approvals include the asset address key name and the transaction request. 11. Hardware-Genehmigungsterminal (30) nach Anspruch 10, welches dazu konfiguriert ist einen oder mehrere private Richtliniengenehmigungsschlüssel zu erzeugen und zu speichern; und eine oder mehrere Richtlinien zu speichern, die mit den privaten Richtliniengenehmigungsschlüsseln verknüpft sind; wobei die eine oder die mehreren Richtlinien Signierungskriterien für eine automatische Signierung einer Transaktionsanforderung mit einem oder mehreren privaten Richtliniengenehmigungsschlüsseln festlegen.11. The hardware approval terminal (30) of claim 10 configured thereto generate and store one or more private policy approval keys; and store one or more policies associated with the private policy approval keys; wherein the one or more policies establish signing criteria for automatically signing a transaction request with one or more private policy approval keys. 12. Hardware-Genehmigungsterminal (30) nach Anspruch 11, wobei die Signierungskriterien umfassen einen oder mehrere vordefinierte Asset-Transaktionswerte einer kryptographischen Asset-Transaktion; und/oder eine oder mehrere vordefinierte Ziel-Assetadressen; und/oder einen oder mehrere vordefinierte Asset-Transaktionsbereiche einer kryptographischen Asset-Transaktion.12. The hardware approval terminal (30) of claim 11, wherein said signing criteria includes one or more predefined asset transaction values of a cryptographic asset transaction; and or one or more predefined target asset addresses; and/or one or more predefined asset transaction areas of a cryptographic asset transaction. 13. Backend-Server (20) für ein System (100) gemäss einem der Ansprüche 1 bis 9, wobei der Backend-Server (20) so konfiguriert ist, dass er eine Backend-Anwendung (21)ausführt, wobei die Backend-Anwendung (21) dazu konfiguriert ist von einer Frontend-Anwendung (11) eine Transaktionsanforderung zu empfangen, um eine kryptographische Asset-Transaktion zu signieren, wobei die Transaktionsanforderung Folgendes umfasst eine Quell-Assetadresse, insbesondere den Asset-Adressschlüsselnamen; eine Ziel-Assetadresse; und einen Asset-Transaktionswert; eine Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul (40) anzufordern; die Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul (40) zu empfangen; die Transaktionsanforderung und die korrespondierende Genehmigungslogik an die Hardware-Genehmigungsterminals (30) zu senden; von den Hardware-Genehmigungsterminals (30) signierte Transaktionsgenehmigungen zu empfangen, wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen; die signierten Transaktionsgenehmigungen zur Verifizierung an das Hardware-Sicherheitsmodul (40) weiterzuleiten; vom Hardware-Sicherheitsmodul (40) eine signierte kryptographische Asset-Transaktion zu empfangen; und die signierte kryptographische Asset-Transaktion einem Blockchain-Knoten zur Verfügung stellen.13. Backend server (20) for a system (100) according to one of claims 1 to 9, wherein the backend server (20) is configured to execute a backend application (21), the backend application (21) is configured for this purpose receiving a transaction request from a front-end application (11) to sign a cryptographic asset transaction, the transaction request comprising the following a source asset address, in particular the asset address key name; a target asset address; and an asset transaction value; request authorization logic of the source asset address from the hardware security module (40); receive the source asset address authorization logic from the hardware security module (40); send the transaction request and the corresponding approval logic to the hardware approval terminals (30); receive transaction approvals signed by the hardware approval terminals (30), the signed transaction approvals comprising the asset address key name and the transaction request; forward the signed transaction authorizations to the hardware security module (40) for verification; receive a signed cryptographic asset transaction from the hardware security module (40); and make the signed cryptographic asset transaction available to a blockchain node. 14. Verfahren zum Durchführen kryptographischer Asset-Transaktionen mittels eines Systems (100), das Folgendes umfasst ein Client-Gerät (10), das für die Ausführung einer Frontend-Anwendung (11) konfiguriert ist; einen Backend-Server (20), der für die Ausführung einer Backend-Anwendung (21) konfiguriert ist; und eine Vielzahl von Hardware-Genehmigungs-Terminals (30); wobei das System (100) so ausgelegt ist, dass es mit einem Hardware-Sicherheitsmodul (40) kommunizieren kann, wobei das Hardware-Sicherheitsmodul (40) so konfiguriert ist, dass es einen privaten Schlüssel des Hardware-Sicherheitsmoduls (40) und eine Vielzahl von Asset-Adressdateien speichert, die einer kryptographischen Asset-Adresse entsprechen, wobei jede der Vielzahl von Asset-Adressdateien einen Asset-Adressschlüsselnamen, einen privaten Asset-Adressschlüssel und eine Genehmigungslogik umfasst, wobei die Genehmigungslogik eine Vielzahl von öffentlichen Genehmigungsschlüsseln umfasst; wobei das Verfahren umfasst Speichern eines öffentlichen Schlüssels des Hardware-Sicherheitsmoduls (40) und eines oder mehrerer privater Genehmigungsschlüssel einer kryptographischen Asset-Transaktion durch die Vielzahl der Hardware-Genehmigungsterminals (30); Ausgabe einer Transaktionsanforderung durch die Frontend-Anwendung (11), um eine kryptographische Asset-Transaktion an den Backend-Server (20) zu signieren, wobei die Transaktionsanforderung Folgendes umfasst eine Quell-Assetadresse, insbesondere den Namen des Asset-Adressschlüssels; eine Ziel-Assetadresse; und einen Asset-Transaktionswert; Anfordern der Genehmigungslogik der Quell-Assetadresse durch den Backend-Server (20) vom Hardware-Sicherheitsmodul (40); Empfangen der Genehmigungslogik der Quell-Assetadresse durch den Backend-Server (20) vom Hardware-Sicherheitsmodul (40); Senden der Transaktionsanforderung und der korrespondierenden Genehmigungslogik durch den Backend-Server (20) an die Hardware-Genehmigungsterminals (30); Anzeigen der Transaktionsanforderung und der Genehmigungslogik auf einem Display (33) des Hardware-Genehmigungsterminals; Empfangen einer Bestätigung der Transaktionsanforderung von Genehmigenden, die mit dem Hardware-Genehmigungsterminal (30) verknüpft sind; Verifizieren der Genehmigungslogik durch die Hardware-Genehmigungsterminals (30) mit Hilfe des öffentlichen Schlüssels des Hardware-Sicherheitsmoduls (40); Senden von signierten Transaktionsgenehmigungen durch die Hardware-Genehmigungsterminals (30) an den Backend-Server (20), wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen; Weiterleiten der signierten Transaktionsgenehmigungen durch den Backend-Server (20) an das Hardware-Sicherheitsmodul (40) zur Verifizierung; Empfangen der signierten kryptographischen Asset-Transaktion durch den Backend-Server (20) vom Hardware-Sicherheitsmodul (40); und Bereitstellen der signierten kryptographischen Asset-Transaktion durch den Backend-Server (20) an einen Blockchain-Knoten.14. A method for conducting cryptographic asset transactions using a system (100) comprising the following a client device (10) configured to execute a front-end application (11); a backend server (20) configured to execute a backend application (21); and a plurality of hardware approval terminals (30); wherein the system (100) is designed to communicate with a hardware security module (40), the hardware security module (40) being configured to have a private key of the hardware security module (40) and a plurality of asset address files corresponding to a cryptographic asset address, each of the plurality of asset address files comprising an asset address key name, an asset private address key and a permission logic, the permission logic comprising a plurality of public permission keys; wherein the method includes storing a public key of the hardware security module (40) and one or more private authorization keys of a cryptographic asset transaction by the plurality of hardware authorization terminals (30); Issuing a transaction request by the front-end application (11) to sign a cryptographic asset transaction to the back-end server (20), the transaction request comprising the following a source asset address, in particular the name of the asset address key; a target asset address; and an asset transaction value; requesting by the backend server (20) from the hardware security module (40) the authorization logic of the source asset address; receiving by the backend server (20) the authorization logic of the source asset address from the hardware security module (40); sending the transaction request and the corresponding approval logic by the backend server (20) to the hardware approval terminals (30); displaying the transaction request and approval logic on a display (33) of the hardware approval terminal; receiving a confirmation of the transaction request from approvers associated with the hardware approval terminal (30); verifying the approval logic by the hardware approval terminals (30) using the public key of the hardware security module (40); sending signed transaction approvals by the hardware approval terminals (30) to the backend server (20), the signed transaction approvals comprising the asset address key name and the transaction request; Forwarding the signed transaction approvals by the backend server (20) to the hardware security module (40) for verification; receiving by the backend server (20) the signed cryptographic asset transaction from the hardware security module (40); and Providing the signed cryptographic asset transaction to a blockchain node through the backend server (20). 15. Computerprogrammprodukt zum Betreiben der Backend-Anwendung (21) eines Systems (100) zum Durchführen von kryptographischen Asset-Transaktionen gemäss irgendeinem der Ansprüche 1-9, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit darin ausgebildeten Programmbefehlen umfasst, wobei die Programmbefehle durch die Backend-Anwendung (21) eines Backend-Servers (20) ausführbar sind, um den Backend-Server (20) zu veranlassen, ein Verfahren auszuführen, das Folgendes umfasst Empfangen einer Transaktionsanforderung von einer Frontend-Anwendung (11), um eine kryptographische Asset-Transaktion zu signieren, wobei die Transaktionsanforderung Folgendes umfasst eine Quell-Assetadresse, insbesondere den Asset-Adressschlüsselnamen; eine Ziel-Assetadresse; und einen Asset-Transaktionswert; Anfordern einer Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul (40); Empfangen der Genehmigungslogik der Quell-Assetadresse vom Hardware-Sicherheitsmodul (40); Senden der Transaktionsanforderung und der korrespondierenden Genehmigungslogik an die Hardware-Genehmigungsterminals (30); Empfangen von signierten Transaktionsgenehmigungen von den Hardware-Genehmigungsterminals (30), wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen; Weiterleiten der signierten Transaktionsgenehmigungen an das Hardware-Sicherheitsmodul (40) zur Verifizierung; Empfangen einer signierten kryptographischen Asset-Transaktion vom Hardware-Sicherheitsmodul (40); und Bereitstellen der signierten kryptographischen Asset-Transaktion an einen Blockchain-Knoten.15. Computer program product for operating the backend application (21) of a system (100) for carrying out cryptographic asset transactions according to any one of claims 1-9, wherein the computer program product comprises a computer-readable storage medium with program instructions formed therein, the program instructions being transmitted through the backend -Application (21) of a backend server (20) can be executed to cause the backend server (20) to carry out a method comprising the following Receiving a transaction request from a front-end application (11) to sign a cryptographic asset transaction, the transaction request comprising the following a source asset address, in particular the asset address key name; a target asset address; and an asset transaction value; requesting authorization logic of the source asset address from the hardware security module (40); receiving the source asset address authorization logic from the hardware security module (40); sending the transaction request and the corresponding approval logic to the hardware approval terminals (30); receiving signed transaction approvals from the hardware approval terminals (30), the signed transaction approvals including the asset address key name and the transaction request; forwarding the signed transaction authorizations to the hardware security module (40) for verification; receiving a signed cryptographic asset transaction from the hardware security module (40); and Deploying the signed cryptographic asset transaction to a blockchain node. 16. Computerprogrammprodukt zum Betreiben von Hardware-Genehmigungsterminals (30) eines Systems (100) zum Durchführen von kryptographischen Asset-Transaktionen gemäss irgendeinem der Ansprüche 1-9, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit darin ausgebildeten Programmbefehlen umfasst, wobei die Programmbefehle durch die Hardware-Genehmigungsterminals (30) ausführbar sind, um die Hardware-Genehmigungsterminals (30) zu veranlassen, ein Verfahren durchzuführen, das Folgendes umfasst Speichern eines öffentlichen Schlüssels des Hardware-Sicherheitsmoduls (40) und eines oder mehrerer privater Genehmigungsschlüssel von Genehmigern einer kryptographischen Asset-Transaktion; Empfangen einer Transaktionsanforderung und der korrespondierenden Genehmigungslogik vom Backend-Server (20); Verifizieren der Genehmigungslogik mit Hilfe des öffentlichen Schlüssels des Hardware-Sicherheitsmoduls (40); Anzeigen der Transaktionsanforderung und der Genehmigungslogik auf einem Display (33) des Hardware-Genehmigungsterminals (30); Empfangen einer Bestätigung der Transaktionsanforderung von Genehmigenden, die mit dem Hardware-Genehmigungsterminal (30) verknüpft sind; und Senden signierter Transaktionsgenehmigungen an den Backend-Server (20), wobei die signierten Transaktionsgenehmigungen den Asset-Adressschlüsselnamen und die Transaktionsanforderung umfassen.16. Computer program product for operating hardware authorization terminals (30) of a system (100) for conducting cryptographic asset transactions according to any one of claims 1-9, wherein the computer program product comprises a computer-readable storage medium with program instructions formed therein, the program instructions being read by the hardware -Approval terminals (30) are executable to cause the hardware approval terminals (30) to carry out a method comprising the following storing a public key of the hardware security module (40) and one or more private approval keys of approvers of a cryptographic asset transaction; receiving a transaction request and the corresponding approval logic from the backend server (20); verifying the authorization logic using the public key of the hardware security module (40); displaying the transaction request and approval logic on a display (33) of the hardware approval terminal (30); receiving a confirmation of the transaction request from approvers associated with the hardware approval terminal (30); and Sending signed transaction approvals to the backend server (20), the signed transaction approvals including the asset address key name and the transaction request.
CH001663/2020A 2018-06-25 2018-06-25 System and method for providing cryptographic asset transactions, hardware approval terminal, backend server and computer program product. CH716505B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2018/066978 WO2020001735A1 (en) 2018-06-25 2018-06-25 Secure storage of crypto assets

Publications (1)

Publication Number Publication Date
CH716505B1 true CH716505B1 (en) 2023-12-15

Family

ID=62986043

Family Applications (1)

Application Number Title Priority Date Filing Date
CH001663/2020A CH716505B1 (en) 2018-06-25 2018-06-25 System and method for providing cryptographic asset transactions, hardware approval terminal, backend server and computer program product.

Country Status (2)

Country Link
CH (1) CH716505B1 (en)
WO (1) WO2020001735A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242485B (en) * 2018-08-13 2020-07-10 阿里巴巴集团控股有限公司 Block chain transaction method and device and electronic equipment
US11095458B2 (en) 2018-09-06 2021-08-17 Securosys SA Hardware security module that enforces signature requirements

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324787A1 (en) * 2014-05-08 2015-11-12 Sequitur Labs, Inc. Policy-Based Control and Augmentation of Cryptocurrencies and Cryptocurrency Security
US10644885B2 (en) * 2015-07-14 2020-05-05 Fmr Llc Firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems

Also Published As

Publication number Publication date
WO2020001735A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
DE112016006077B4 (en) SYSTEMS AND METHODS FOR PROVIDING A BLOCK CHAIN-BASED MULTIFACTOR IDENTITY CHECK OF PERSONS
DE60121517T2 (en) A method for generating a logon certificate from a foreign PKI system using an existing strong PKI authentication system
DE112011100182T5 (en) Transaction check for data security devices
DE602004012996T2 (en) METHOD AND DEVICE FOR AUTHENTICATING USERS AND WEBSITES
DE102019123253A1 (en) SYSTEM AND DEVICE FOR DATA CONFIDENTIALITY IN THE DISTRIBUTED LEDGER
WO2020212337A1 (en) Method for directly transmitting electronic coin data sets between terminals and a payment system
DE112021002797T5 (en) PRIVACY PRESERVING ARCHITECTURE FOR AUTHORIZED BLOCKCHAINS
EP3743844B1 (en) Blockchain-based identity system
WO2020212331A1 (en) Device for directly transmitting electronic coin data records to another device, and payment system
DE10233297A1 (en) Digital signing device for electronic document, only generates digital signature when user has input information
DE102016105062A1 (en) Sew-based authorization check for cross-unit distributed data
EP4111348A1 (en) Method for directly transmitting electronic coin datasets between terminals, payment system, protection system, and monitoring unit
DE202015009601U1 (en) System for personal identification and verification
CH716505B1 (en) System and method for providing cryptographic asset transactions, hardware approval terminal, backend server and computer program product.
DE60103515T2 (en) CRYPTOGRAPHIC PROCEDURE FOR PROTECTION AGAINST FRAUD
DE112022000906T5 (en) SEPARATION OF BLOCKCHAIN DATA
EP1477882A2 (en) Decentralized, token-based accounting system for distributed, autonomous systems
DE112021005862T5 (en) SELF-CHECKING BLOCKCHAIN
DE102020118716A1 (en) Procedure for the secure implementation of a remote signature and security system
DE112021005837T5 (en) DECENTRALIZED TRANSMISSION ENCRYPTION AND KEY GENERATION DEVICE
EP3629516B1 (en) Decentralised identity management solution
DE102021130811A1 (en) BLOCKCHAIN SELECTIVE WORLD-STATE DATABASE
EP1817752A2 (en) Method for personalising chip cards
DE112021004613T5 (en) EDITABLE BLOCKCHAIN
DE102017000167A1 (en) Anonymization of a block chain

Legal Events

Date Code Title Description
PK Correction

Free format text: REGISTERAENDERUNG SACHPRUEFUNG

PL Patent ceased