Projektowanie architektury przetwarzania wielopartyjowego

Azure Blob Storage
Azure Kubernetes Service (AKS)
Azure SQL Database

Obliczenia wielopartyjne lub obliczenia chroniące prywatność umożliwiają stronom w relacji biznesowej udostępnianie danych, wykonywanie obliczeń i uzyskiwanie wzajemnego wyniku bez ujawniania ich prywatnych danych. Usługi platformy Azure mogą pomóc w tworzeniu wielopartyjnego rozwiązania obliczeniowego. Rozwiązanie może obejmować zasoby oparte na chmurze i lokalne.

Przetwarzanie wielopartyjne ma następujące atrybuty:

  • Zaangażowanych jest więcej niż jedna firma lub organizacja.
  • Strony są niezależne.
  • Strony nie ufają sobie ze wszystkimi swoimi danymi.
  • Wszystkie strony uzyskują dostęp do wspólnej platformy obliczeniowej i magazynu danych.
  • Niektóre procesy muszą być prywatne dla niektórych zaangażowanych stron.

Łańcuch dostaw to przykład przepływu pracy, który obejmuje wiele stron. Surowce przepływają od punktu pochodzenia do produkcji. Towary od producenta przechodzą przez partnerów wysyłkowych do centrum dystrybucji. Z centrum towary są wysyłane do placówek detalicznych.

Diagram przedstawia postęp elementów członkowskich łańcucha dostaw jako obrazów klipartów.

Ten proces obejmuje współpracę firm. Strony te obejmują dostawcę surowców, producenta, firmy żeglugowe, operatory magazynowe i punkty sprzedaży detalicznej. Produkt zmienia ręce kilka razy w łańcuchu dostaw. Różne strony muszą śledzić produkt na wszystkich etapach.

Technologie przetwarzania wielopartyjowego

Przetwarzanie wielopartyjne obejmuje różne technologie, które umożliwiają stronom bezpieczne transakcje za pośrednictwem sieci.

Diagram przedstawia rejestry implementowane jako poufne przetwarzanie, Azure Kubernetes Service, maszyny wirtualne lub oferty partnerów.

Jedną z opcji jest rejestry rozproszone. Łańcuch bloków jest przykładem. Łańcuch bloków to rejestr danych, który może być współużytkowany między niezależnymi stronami, w których wszystkie strony ufają danym w rejestrze. Transakcje są zbierane w blokach z każdym blokiem łączącym się z poprzednim blokiem. Niektóre rozproszone rejestry nie używają bloków. Każda transakcja może być połączona z poprzednią transakcją w rejestrze.

Kolejną możliwością przetwarzania wielopartyjnego jest użycie pamięci chronionej sprzętem na samym procesorze CPU. Te regiony, nazywane bezpiecznymi enklawami, są kryptograficznie chronione. Takie podejście oznacza, że nawet uprzywilejowany administrator mający pełny dostęp do serwera nie może przyjrzeć się procesowi ani danym wewnątrz tych bezpiecznych enklaw.

Ponieważ bezpieczne enklawy mają możliwość zdalnego zaświadczywania się do innych enklaw, można zaprojektować wiele sieci organizacji, w której system działa z enklawy. Takie podejście jest nazywane zaufanym środowiskiem wykonywania.

Platforma Azure oferuje usługę zarządzaną o nazwie Rejestr poufny platformy Azure, która umożliwia uruchamianie modelu łańcucha bloków na bezpiecznych enklawach.

Na koniec możesz wybrać scentralizowany system, który oferuje niezmienność i wiarygodność. Azure SQL Rejestr bazy danych oferuje zaufanie wymagane do przetwarzania wielopartyjnego w relacyjnej bazie danych. Być może nie potrzebujesz zdecentralizowanego konsensusu, ale tylko niezmienności aspektu rejestru.

Modele sieciowe łańcucha bloków

Aby zdecydować, czy łańcuch bloków jest dobrym rozwiązaniem dla procesu biznesowego, rozważ następujące pytania:

  • Czy ten proces biznesowy przekracza granice zaufania?
  • Czy wiele stron udostępnia i aktualizuje dane?
  • Czy istnieją pośrednicy, którzy kontrolują jedno źródło prawdy?
  • Czy proces obejmuje kroki weryfikacji ręcznej o niskiej wartości?

Jeśli odpowiedzi na te pytania są tak, proces biznesowy jest dobrym kandydatem do podejścia opartego na łańcuchu bloków. Nawet jeśli niektóre odpowiedzi nie są, łańcuch bloków może nadal mieć sens. Przed podjęciem decyzji przyjrzyj się innym wielopartjowym opcjom przetwarzania.

Istnieją różne rodzaje sieci łańcucha bloków do zaspokojenia potrzeb biznesowych. Jedną z cech jest kryteria udziału w sieci. Jeśli sieć jest otwarta dla wszystkich, jest nazywana publiczną siecią łańcucha bloków. Wystarczy pobrać klienta i dołączyć. Większość kryptowalut działa w ten sposób.

Alternatywą jest sieć łańcucha bloków z uprawnieniami, w której wymagane jest uprawnienie od istniejących członków sieci do przyłączenia. Ten model działa w przypadku przedsiębiorstw, które zajmują się znanymi organizacjami. Na przykład superstore może chcieć mieć zamkniętą i z uprawnieniami sieć łańcucha bloków dla uczestników łańcucha dostaw.

Proces biznesowy może wymagać tylko danych dowodowych na naruszenia lub manipulacji, które nie wymagają łańcucha bloków. Jeśli proces może działać centralnie lub wszystkie strony ufają sobie nawzajem przy użyciu danych, łańcuch bloków również może być niepotrzebny.

Przetwarzanie wielopartyjne platformy Azure

W tej sekcji opisano wielopartyjne opcje przetwarzania dostępne przy użyciu usług platformy Azure.

Łańcuch bloków za pomocą usługi Azure Virtual Machines

Oprogramowanie rejestru można uruchamiać przy użyciu usługi Azure Virtual Machines. Utwórz dowolną liczbę maszyn wirtualnych i połącz je w sieci łańcucha bloków.

Wdrożenie własnych maszyn wirtualnych umożliwia dostosowanie rozwiązania. Takie podejście obejmuje nakłady pracy związane z zarządzaniem, takie jak aktualizacje, wysoka dostępność i wymagania dotyczące ciągłości działania. Być może masz wiele organizacji i wiele kont w chmurze. Łączenie poszczególnych węzłów może być skomplikowane.

Na platformie Azure są dostępne szablony wdrażania dla większości rejestrów łańcucha bloków dla maszyn wirtualnych.

Łańcuch bloków na platformie Kubernetes

Ponieważ większość rejestrów bloków obsługuje wdrażanie w kontenerach platformy Docker, można zarządzać kontenerami przy użyciu platformy Kubernetes. Platforma Azure oferuje zarządzaną ofertę Kubernetes o nazwie Azure Kubernetes Service (AKS), której można użyć do wdrażania i konfigurowania węzłów łańcucha bloków.

Implementacje usługi AKS są dostarczane z usługą zarządzaną dla maszyn wirtualnych, które zasilają klaster usługi AKS. Organizacja musi jednak nadal zarządzać klastrami usługi AKS i wszelkimi opcjami sieci lub magazynu w architekturze.

Na platformie Azure są dostępne szablony wdrażania dla większości rejestrów łańcucha bloków dla usługi AKS.

Łańcuch bloków jako usługa

Platforma Azure obsługuje usługi innych firm, które uruchamiają oprogramowanie rejestru na platformie Azure. Dostawca usług zarządza infrastrukturą. Obsługują konserwację i aktualizacje. Wysoka dostępność i zarządzanie konsorcjum są uwzględnione w usłudze.

ConsenSys oferuje kworum na platformie Azure. Kworum to warstwa protokołu open source, która obsługuje aplikacje oparte na platformie Ethereum.

W przyszłości mogą istnieć inne oferty.

Azure Confidential Ledger

Rejestr poufny platformy Azure to zarządzana usługa oparta na strukturze poufnego konsorcjum. Implementuje ona dostępną sieć łańcucha bloków węzłów w ramach poufnego przetwarzania na platformie Azure. Poufne rejestry opierają się na istniejącym szyfrowaniu.

  • Istniejące szyfrowanie
    • Dane magazynowane. Szyfruj nieaktywne dane przechowywane w magazynie obiektów blob lub bazie danych.
    • Dane przesyłane. Szyfruj dane przepływające między sieciami publicznymi lub prywatnymi.
  • Poufne przetwarzanie
    • Dane używane. Szyfruj dane używane w pamięci i podczas obliczeń.

Poufne przetwarzanie umożliwia szyfrowanie danych w pamięci głównej. Poufne przetwarzanie umożliwia przetwarzanie danych z wielu źródeł bez ujawniania danych wejściowych innym stronom. Ten typ bezpiecznego obliczeń obsługuje wielopartyjne scenariusze obliczeniowe, w których ochrona danych jest obowiązkowa w każdym kroku, takich jak wykrywanie prania pieniędzy, wykrywanie oszustw i bezpieczna analiza danych opieki zdrowotnej.

Dane przechowywane w rejestrze poufnym są niezmienne i niezmienialne w rejestrze tylko do dołączania. Rejestr jest również niezależnie weryfikowalny. Rejestr poufny używa bezpiecznych enklaw dla zdecentralizowanej sieci łańcucha bloków i wymaga minimalnej zaufanej bazy obliczeniowej.

rejestr bazy danych Azure SQL

Azure SQL Rejestr bazy danych umożliwia uczestnikom weryfikowanie integralności danych centralnie wewnętrznych danych bez konsensusu sieciowego sieci łańcucha bloków. W przypadku niektórych scentralizowanych rozwiązań zaufanie jest ważne, ale zdecentralizowana infrastruktura nie jest konieczna. Takie podejście pozwala uniknąć złożoności i wpływu takiej infrastruktury na wydajność.

Diagram przedstawia architekturę rejestru bazy danych.

Uwaga

rejestr usługi Azure SQL Database jest obecnie w publicznej wersji zapoznawczej.

Rejestr zapewnia możliwości manipulowania bazą danych. Te możliwości pozwalają kryptograficznie potwierdzić, że dane nie zostały naruszone.

Rejestr pomaga chronić dane przed wszelkimi osobami atakującym lub użytkownikiem z wysokim poziomem uprawnień, w tym administratorami bazy danych, systemu i chmury. Dane historyczne są zachowywane. Jeśli wiersz jest aktualizowany w bazie danych, jego poprzednia wartość jest przechowywana w tabeli historii. Zapewnia to ochronę bez żadnych zmian aplikacji.

Rejestr jest funkcją usługi Azure SQL Database. Można ją włączyć w dowolnej istniejącej bazie danych Azure SQL.

Porównywanie opcji

Rejestr poufny i rejestr bazy danych Azure SQL

Ta tabela porównuje rejestr poufny z rejestrem bazy danych Azure SQL.

rejestr SQL Database Rejestr poufny
Scentralizowany system, który wymaga dowodów naruszenia Tak Nie
Zdecentralizowany system, który wymaga sprawdzania naruszenia danych Nie Tak
Chroni dane relacyjne przed manipulowaniem Tak Nie
Chroni dane nieustrukturyzowane przed manipulowaniem Nie Tak
Zabezpieczanie poza łańcuchem magazynów danych łańcucha w łańcuchu bloków Tak Nie
Zabezpieczanie magazynu poza łańcuchem dla plików, do których odwołuje się łańcuch bloków Nie Tak
Dane relacyjne można wykonywać względem zapytań Tak Nie
Nieustrukturyzowane przechowywane dane można wykonywać względem zapytań Nie Tak

Rejestr poufny i Azure Blob Storage

Niezmienna funkcja magazynu Azure Blob Storage gwarantuje, że dane zapisane w nim mogą być odczytywane, ale nigdy nie zmieniane. Ta tabela porównuje tę technologię z rejestrem poufnym.

Rejestr poufny Niezmienny magazyn
Poufne enklawy sprzętu Tak Nie
Integralność danych tylko do dołączania Tak Tak, ograniczone do interwałów
Szyfrowanie danych w użyciu Tak Nie
Dowód rejestru łańcucha bloków Tak Nie

Decyzja o przetwarzaniu wielopartyjna

Ten diagram zawiera podsumowanie opcji przetwarzania wieloczęściowego za pomocą usług platformy Azure.

Diagram podsumowuje decyzje dotyczące wybierania opcji przetwarzania wielopartyjnego.

Pobierz plik programu Visio z tą architekturą.

Następne kroki