Bearbeiten

Architekturentwurf für Mehrparteien-Computing

Azure Blob Storage
Azure Kubernetes Service (AKS)
Azure SQL-Datenbank

Computing für mehrere Parteien oder eine den Datenschutz wahrende Berechnung ermöglicht es Parteien in einer Geschäftsbeziehung, Daten gemeinsam zu nutzen, Berechnungen durchzuführen und zu einem gemeinsamen Ergebnis zu kommen, ohne ihre privaten Daten preiszugeben. Azure-Dienste können Sie beim Erstellen einer Computinglösung für mehrere Parteien unterstützen. Die Lösung kann cloudbasierte und lokale Ressourcen enthalten.

Computing für mehrere Parteien weist die folgenden Attribute auf:

  • Es ist mehr als ein Unternehmen oder eine Organisation beteiligt.
  • Die Beteiligten sind unabhängig.
  • Die Beteiligten vertrauen sich gegenseitig nicht alle ihre Daten an.
  • Alle Beteiligten greifen auf eine gemeinsame Computing- und Datenspeicherplattform zu.
  • Einige Prozesse müssen für einige Beteiligte privat sein.

Eine Lieferkette ist ein Beispiel für einen Workflow, an dem mehrere Parteien beteiligt sind. Die Rohstoffe fließen vom Ursprungsort bis zur Fertigung. Die Waren wechseln vom Hersteller über Versandpartner zu einem Vertriebszentrum. Von diesem Vertriebszentrum aus werden die Waren an die Einzelhandelsgeschäfte geliefert.

Das Diagramm zeigt eine Abfolge von Mitgliedern einer Lieferkette als ClipArt-Bilder.

Bei diesem Prozess arbeiten Unternehmen zusammen. Zu diesen Parteien gehören der Rohstofflieferant, der Hersteller, die Spediteure, die Lagerbetreiber und die Einzelhandelsgeschäfte. Das Produkt wechselt während der Lieferkette mehrmals den Besitzer. Verschiedene Parteien müssen das Produkt in allen Phasen nachverfolgen.

Technologien für das Computing für mehrere Parteien

Das Computing für mehrere Parteien umfasst verschiedene Technologien, mit denen Parteien sichere Transaktionen über ein Netzwerk durchführen können.

Das Diagramm zeigt, dass die Ledger als vertrauliches Computing, Azure Kubernetes Service, virtuelle Computer oder Partnerangebote implementiert werden.

Eine Option sind Distributed Ledger. Blockchain ist ein Beispiel. Blockchain ist ein Datenledger, der zwischen unabhängigen Parteien freigegeben werden kann, wobei alle Parteien den Daten im Ledger vertrauen. Die Transaktionen werden in Blöcken gesammelt, wobei jeder Block mit dem vorherigen Block verknüpft ist. Einige Distributed Ledger verwenden keine Blöcke. Jede Transaktion kann mit der vorherigen Transaktion im Ledger verknüpft werden.

Eine weitere Möglichkeit für das Computing mit mehreren Parteien verwendet einen hardwaregeschützten Speicher auf der CPU selbst. Diese Regionen, die sogenannten Secure Enclaves, sind kryptografisch geschützt. Dieser Ansatz bedeutet, dass selbst ein berechtigter Administrator, der Vollzugriff auf den Server hat, keinen Einblick in den Prozess oder die Daten innerhalb dieser Secure Enclaves nehmen kann.

Da Secure Enclaves die Möglichkeit haben, sich remote bei anderen Enclaves zu bestätigen, können Sie ein Netzwerk für mehrere Organisationen entwerfen, in dem das System von den Enclaves aus ausgeführt wird. Dieser Ansatz wird als vertrauenswürdige Ausführungsumgebung bezeichnet.

Azure bietet einen verwalteten Dienst namens Azure Confidential Ledger, mit dem Sie ein Blockchainmodell für Secure Enclaves ausführen können.

Schließlich können Sie ein zentralisiertes System auswählen, das Unveränderlichkeit und Vertrauenswürdigkeit bietet. Azure SQL-Datenbank-Ledger bietet die Vertrauensstellung, die für Computing für mehrere Parteien in einer relationalen Datenbank benötigt wird. Möglicherweise benötigen Sie keinen dezentralisierten Konsens, sondern nur den Unveränderlichkeitsaspekt des Ledgers.

Blockchain-Netzwerkmodelle

Berücksichtigen Sie die folgenden Fragen, um zu entscheiden, ob Blockchain für einen Geschäftsprozess geeignet ist:

  • Überschreitet dieser Geschäftsprozess die Grenzen einer Vertrauensstellung?
  • Werden die Daten von mehreren Parteien freigegeben und aktualisiert?
  • Gibt es zwischengeschaltete Stellen, die die Single Source of Truth kontrollieren?
  • Umfasst der Prozess geringwertige manuelle Überprüfungsschritte?

Wenn diese Fragen mit Ja beantwortet werden können, ist der Geschäftsprozess ein guter Kandidat für einen Blockchain-basierten Ansatz. Selbst wenn einige Antworten Nein lauten, ist Blockchain möglicherweise trotzdem sinnvoll. Schauen Sie sich die anderen Optionen für das Computing für mehrere Parteien genau an, bevor Sie sich entscheiden.

Es gibt verschiedene Arten von Blockchainnetzwerken, die Ihren Geschäftsanforderungen entsprechen. Ein Merkmal sind die Kriterien für die Teilnahme an dem Netzwerk. Wenn das Netzwerk für alle offen ist, wird es als öffentliches Blockchainnetzwerk bezeichnet. Sie laden einfach den Client herunter und treten bei. Die meisten Kryptowährungen funktionieren auf diese Weise.

Eine Alternative ist ein berechtigungsbasiertes Blockchainnetzwerk, bei dem die Berechtigung der bestehenden Mitglieder des Netzwerks erforderlich ist, um diesem beitreten zu können. Dieses Modell eignet sich für Unternehmen, die mit bekannten Organisationen zusammenarbeiten. So möchte ein Supermarkt vielleicht ein geschlossenes und berechtigungsbasiertes Blockchainnetzwerk für die Teilnehmer seiner Lieferkette verwenden.

Ein Geschäftsprozess könnte nur manipulationssichere oder fälschungssichere Daten erfordern, wofür keine Blockchain erforderlich wäre. Wenn Ihr Prozess zentral ausgeführt werden kann oder alle Beteiligten sich gegenseitig mit den Daten vertrauen, ist die Blockchain möglicherweise ebenfalls überflüssig.

Azure-Computing für mehrere Parteien

In diesem Abschnitt werden die Optionen für das Computing für mehrere Parteien beschrieben, die mithilfe von Azure-Diensten verfügbar sind.

Blockchain mit Azure Virtual Machines

Sie können die Ledger-Software mithilfe von Azure Virtual Machines ausführen. Erstellen Sie so viele virtuelle Computer, wie Sie benötigen, und verbinden Sie sie in einem Blockchainnetzwerk.

Durch die Bereitstellung Ihrer eigenen virtuellen Computer können Sie Ihre Lösung anpassen. Dieser Ansatz umfasst auch den Verwaltungsaufwand, z. B. für Updates, Hochverfügbarkeit und Anforderungen an die Geschäftskontinuität. Sie können über mehrere Organisationen und mehrere Cloudkonten verfügen. Das Herstellen der Verbindungen zwischen den einzelnen Knoten kann kompliziert sein.

Für die meisten Blockchain-Ledger gibt es in Azure Bereitstellungsvorlagen für virtuelle Computer.

Blockchain in Kubernetes

Da die meisten Blockchain-Ledger die Bereitstellung in Docker-Containern unterstützen, können Sie Kubernetes zur Verwaltung der Container verwenden. Azure verfügt über ein verwaltetes Kubernetes-Angebot namens Azure Kubernetes Service (AKS), das Sie zur Bereitstellung und Konfiguration Ihrer Blockchainknoten verwenden können.

AKS-Implementierungen verfügen über einen verwalteten Dienst für die virtuellen Computer, mit denen der AKS-Cluster betrieben wird. Ihre Organisation muss jedoch weiterhin Ihre AKS-Cluster und alle Netzwerk- oder Speicheroptionen in Ihrer Architektur verwalten.

Für die meisten Blockchain-Ledger für AKS gibt es in Azure Bereitstellungsvorlagen.

Blockchain-as-a-Service

Azure unterstützt Dienste von Drittanbietern, die Ledger-Software in Azure ausführen. Der Dienstanbieter verwaltet die Infrastruktur. Sie übernehmen die Wartung und Updates. Hochverfügbarkeit und Konsortiumsverwaltung sind im Dienst enthalten.

ConsenSys bietet Quorum in Azure. Quorum ist eine Open-Source-Protokollebene, die Ethereum-basierte Anwendungen unterstützt.

In Zukunft gibt es möglicherweise noch weitere Angebote.

Azure Confidential Ledger

Azure Confidential Ledger ist ein verwalteter Dienst, der auf dem Confidential Consortium Framework basiert. Es implementiert ein berechtigungsbasiertes Blockchainnetzwerk von Knoten innerhalb von Azure Confidential Computing. Confidential Ledger baut auf der vorhandenen Verschlüsselung auf.

  • Vorhandene Verschlüsselung
    • Ruhende Daten Verschlüsseln Sie inaktive Daten, wenn sie in Blob Storage oder einer Datenbank gespeichert werden.
    • Daten während der Übertragung Verschlüsseln Sie Daten, die zwischen öffentlichen oder privaten Netzwerken fließen.
  • Confidential Computing
    • Verwendete Daten Verschlüsseln Sie Daten, die gerade verwendet werden, im Arbeitsspeicher und während der Berechnung.

Confidential Computing ermöglicht die Verschlüsselung von Daten im Hauptspeicher. Confidential Computing ermöglicht die Verarbeitung von Daten aus mehreren Quellen, ohne die Eingabedaten für andere Parteien offenzulegen. Diese Art von sicherer Berechnung unterstützt Computingszenarien mit mehreren Parteien, bei denen der Datenschutz in jedem Schritt zwingend erforderlich ist, z. B. bei der Erkennung von Geldwäsche, Betrug und der sicheren Analyse von Daten im Gesundheitswesen.

Die im Confidential Ledger gespeicherten Daten sind unveränderlich und im Ledger, der nur Anfügevorgänge unterstützt, manipulationssicher. Der Ledger ist auch unabhängig überprüfbar. Confidential Ledger verwendet Secure Enclaves für ein dezentralisiertes Blockchainnetzwerk und erfordert eine minimale vertrauenswürdige Computingbasis.

Azure SQL-Datenbank-Ledger

Azure SQL-Datenbank-Ledger ermöglicht es den Teilnehmern, die Datenintegrität zentral vernetzter Daten ohne den Netzwerkkonsens eines Blockchainnetzwerks zu überprüfen. Für einige zentralisierte Lösungen ist die Vertrauensstellung wichtig, aber eine dezentralisierte Infrastruktur ist nicht notwendig. Dieser Ansatz vermeidet Auswirkungen auf Komplexität und Leistung einer solchen Infrastruktur.

Das Diagramm zeigt die Architektur des Datenbank-Ledgers.

Hinweis

Der Azure SQL-Datenbank-Ledger ist zurzeit als Public Preview (Öffentliche Vorschau) verfügbar.

Ledger bietet Manipulationsbeweisfunktionen für Ihre Datenbank. Mit diesen Funktionen können Sie kryptografisch nachweisen, dass Ihre Daten nicht manipuliert wurden.

Ledger hilft beim Schutz von Daten vor Angreifern oder Benutzern mit umfangreichen Berechtigungen, einschließlich Datenbank-, System- und Cloudadministratoren. Verlaufsdaten werden beibehalten. Bei der Aktualisierung einer Zeile in der Datenbank wird der vorherige Wert in einer Verlaufstabelle verwaltet. Dies bietet Schutz ohne jegliche Änderung der Anwendung.

Ledger ist ein Feature von Azure SQL-Datenbank. Es kann in jeder bestehenden Azure SQL-Datenbank aktiviert werden.

Vergleichen von Optionen

Confidential Ledger und Azure SQL-Datenbank-Ledger

In dieser Tabelle wird Confidential Ledger mit Azure SQL-Datenbank-Ledger verglichen.

SQL-Datenbank-Ledger Confidential Ledger
Zentralisiertes System, das Manipulationsbeweise erfordert Ja Nein
Dezentralisiertes System, das manipulationssichere Daten erfordert Nein Ja
Schützt relationale Daten vor Manipulationen Ja Nein
Schützt unstrukturierte Daten vor Manipulationen Nein Ja
Sicherer Off-Chain-Speicher von Kettendaten in einer Blockchain Ja Nein
Sicherer Off-Chain-Speicher für Dateien, auf die in einer Blockchain verwiesen wird Nein Ja
Relationale Daten können abgefragt werden Ja Nein
Unstrukturierte gespeicherte Daten können abgefragt werden Nein Ja

Confidential Ledger und Azure Blob Storage

Das Feature des unveränderlichen Speichers von Azure Blob Storage stellt sicher, dass Daten, die in den Speicher geschrieben werden, zwar gelesen, aber nicht verändert werden können. In dieser Tabelle wird diese Technologie mit Confidential Ledger verglichen.

Confidential Ledger Unveränderlicher Speicher
Vertrauliche Hardware Enclaves Ja Nein
Datenintegrität durch ausschließliches Anfügen Ja Ja, auf Intervalle beschränkt
Verschlüsselung von verwendeten Daten Ja Nein
Blockchain Ledger-Nachweis Ja Nein

Entscheidung für Computing für mehrere Parteien

Dieses Diagramm fasst die Optionen für das Computing für mehrere Parteien mit Azure-Diensten zusammen.

Das Diagramm fasst die Entscheidungen für die Wahl einer Option für das Computing mit mehreren Parteien zusammen.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Nächste Schritte