다자간 컴퓨팅 아키텍처 디자인

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

다자간 컴퓨팅 또는 개인 정보 보호 계산을 사용하면 비즈니스 관계의 당사자가 프라이빗 데이터를 공개하지 않고도 데이터를 공유하고, 계산을 수행하고, 상호 결과에 도달할 수 있습니다. Azure 서비스는 다자간 컴퓨팅 솔루션을 빌드하는 데 도움이 될 수 있습니다. 솔루션에는 클라우드 기반 및 온-프레미스 리소스가 포함될 수 있습니다.

다자간 컴퓨팅에는 다음과 같은 특성이 있습니다.

  • 둘 이상의 회사 또는 조직이 참여하고 있습니다.
  • 당사자는 서로 독립적입니다.
  • 당사자는 모든 데이터로 서로를 신뢰하지 않습니다.
  • 모든 당사자는 공통 컴퓨팅 및 데이터 스토리지 플랫폼에 액세스합니다.
  • 일부 프로세스는 관련된 당사자 중 일부에 대해 프라이빗이어야 합니다.

공급망은 여러 당사자가 참여하는 워크플로의 예입니다. 원료는 원점에서 제조로 흐릅니다. 제조업체의 상품은 배송 파트너를 통해 유통 허브로 이동합니다. 허브에서 상품은 소매 점포로 전송됩니다.

클립 아트 이미지로 공급망 구성원의 진행 상황을 보여 주는 다이어그램

이 프로세스에는 회사가 함께 작동합니다. 이러한 당사자에는 원자재 공급업체, 제조업체, 해운 회사, 창고 운영자, 소매점이 포함됩니다. 제품은 공급망에서 여러 번 주인이 바뀝니다. 각 당사자는 모든 단계에서 제품을 추적해야 합니다.

다자간 컴퓨팅 기술

다자간 컴퓨팅에는 당사자가 네트워크를 통해 안전하게 거래할 수 있는 다양한 기술이 포함되어 있습니다.

기밀 컴퓨팅, Azure Kubernetes Service, 가상 머신 또는 파트너 제품으로 구현되는 원장을 보여 주는 다이어그램

한 가지 옵션은 분산 원장입니다. 블록체인이 한 예입니다. 블록체인은 모든 당사자가 원장의 데이터를 신뢰하는 독립 당사자 간에 공유할 수 있는 데이터 원장입니다. 트랜잭션은 각 블록이 이전 블록에 연결되는 블록으로 수집됩니다. 일부 분산 원장은 블록을 사용하지 않습니다. 각 트랜잭션은 원장의 이전 트랜잭션에 연결할 수 있습니다.

다자간 컴퓨팅의 또 다른 가능성은 CPU 자체에서 하드웨어 보호 메모리를 사용합니다. 보안 enclave라고 하는 이러한 지역은 암호화적으로 보호됩니다. 이 방법은 서버에 대한 모든 권한을 가진 권한 있는 관리자도 해당 보안 enclave 내의 프로세스 또는 데이터를 볼 수 없다는 것을 의미합니다.

보안 enclave는 다른 enclave에 대해 원격으로 자신을 증명할 수 있는 기능을 갖기 때문에 시스템이 enclave에서 실행되는 여러 조직 네트워크를 디자인할 수 있습니다. 이 방법을 신뢰할 수 있는 실행 환경이라고 합니다.

Azure는 보안 enclave에서 블록체인 모델을 실행할 수 있는 Azure Confidential Ledger라는 관리형 서비스를 제공합니다.

마지막으로 불변성과 신뢰성을 제공하는 중앙 집중식 시스템을 선택할 수 있습니다. Azure SQL Database 원장은 관계형 데이터베이스의 다자간 컴퓨팅에 필요한 신뢰를 제공합니다. 분산된 합의가 필요하지 않고 원장의 불변성 측면만 필요할 수 있습니다.

블록체인 네트워크 모델

블록체인이 비즈니스 프로세스에 적합한지 여부를 결정하려면 다음 질문을 고려합니다.

  • 이 비즈니스 프로세스가 신뢰 경계를 넘어 있습니까?
  • 여러 당사자가 데이터를 공유하고 업데이트합니까?
  • 단일 진리의 근원을 통제하는 중개자가 있습니까?
  • 프로세스에 낮은 값의 수동 확인 단계가 포함됩니까?

이러한 질문에 대한 답변이 예인 경우 비즈니스 프로세스는 블록체인 기반 접근 방식에 적합한 후보입니다. 일부 답변이 아니요인 경우에도 블록체인은 여전히 ​​의미가 있을 수 있습니다. 결정하기 전에 다른 다자간 컴퓨팅 옵션을 자세히 살펴보세요.

비즈니스 요구 사항을 해결하기 위한 다양한 종류의 블록체인 네트워크가 있습니다. 한 가지 특징은 네트워크에 참여하기 위한 기준입니다. 네트워크가 모두에게 열려 있는 경우 이를 퍼블릭 블록체인 네트워크라고 합니다. 클라이언트를 다운로드하고 조인하기만 하면 됩니다. 대부분의 암호 화폐는 이러한 방식으로 작동합니다.

다른 방법은 사용 권한이 있는 블록체인 네트워크로, 조인하려면 기존 네트워크 구성원의 권한이 필요합니다. 이 모델은 알려진 조직을 다루는 기업에서 작동합니다. 예를 들어, 슈퍼스토어는 공급망 참가자를 위해 폐쇄되고 권한이 부여된 블록체인 네트워크를 가질 수 있습니다.

비즈니스 프로세스에는 블록체인이 필요하지 않은 변조 방지 또는 변조 방지 데이터만 필요할 수 있습니다. 프로세스가 중앙에서 실행되거나 모든 당사자가 데이터로 서로 신뢰하는 경우 블록체인도 필요하지 않을 수 있습니다.

Azure 다자간 컴퓨팅

이 섹션에서는 Azure 서비스를 사용하여 사용할 수 있는 다자간 컴퓨팅 옵션에 대해 설명합니다.

Azure Virtual Machines를 사용한 블록체인

Azure Virtual Machines를 사용하여 원장 소프트웨어를 실행할 수 있습니다. 필요한 만큼 가상 머신을 만들고 블록체인 네트워크에 연결합니다.

사용자 고유의 가상 머신을 배포하면 솔루션을 사용자 지정할 수 있습니다. 이 접근 방식에는 업데이트, 고가용성, 비즈니스 연속성 요구 사항과 같은 관리 오버헤드가 포함됩니다. 여러 조직 및 여러 클라우드 계정이 있을 수 있습니다. 개별 노드 연결은 복잡할 수 있습니다.

가상 머신에 대한 대부분의 블록체인 원장에 대해 Azure에서 사용할 수 있는 배포 템플릿이 있습니다.

Kubernetes의 블록체인

대부분의 블록체인 원장은 Docker 컨테이너에 배포를 지원하므로 Kubernetes를 사용하여 컨테이너를 관리할 수 있습니다. Azure에는 블록체인 노드를 배포하고 구성하는 데 사용할 수 있는 AKS(Azure Kubernetes Service)라는 관리되는 Kubernetes 제품이 있습니다.

AKS 구현에는 AKS 클러스터를 구동하는 가상 머신에 대한 관리형 서비스가 함께 제공됩니다. 그러나 조직은 여전히 AKS 클러스터와 아키텍처의 네트워킹 또는 스토리지 옵션을 관리해야 합니다.

AKS용 블록체인 원장의 대부분에 대해 Azure에서 사용할 수 있는 배포 템플릿이 있습니다.

서비스로서의 블록체인

Azure는 Azure에서 원장 소프트웨어를 실행하는 타사 서비스를 지원합니다. 서비스 공급자가 인프라를 관리합니다. 유지 관리 및 업데이트를 처리합니다. 고가용성 및 컨소시엄 관리가 서비스에 포함됩니다.

ConsenSys는 Azure에서 Quorum을 제공합니다. Quorum은 Ethereum 기반 애플리케이션을 지원하는 오픈 소스 프로토콜 계층입니다.

나중에 다른 제품이 있을 수 있습니다.

Azure Confidential Ledger

Azure Confidential Ledger는 기밀 컨소시엄 프레임워크를 기반으로 하는 관리형 서비스입니다. Azure 기밀 컴퓨팅 내에서 노드의 권한 있는 블록체인 네트워크를 구현합니다. 기밀 원장은 기존 암호화를 기반으로 합니다.

  • 기존 암호화
    • 미사용 데이터 Blob 스토리지 또는 데이터베이스에 저장되는 경우 비활성 데이터를 암호화합니다.
    • 전송 중 데이터 공용 네트워크 또는 개인 네트워크 간에 흐르는 데이터를 암호화합니다.
  • 기밀 컴퓨팅
    • 사용 중인 데이터 메모리 및 계산 중에 사용 중인 데이터를 암호화합니다.

기밀 컴퓨팅을 사용하면 주 메모리에서 데이터를 암호화할 수 있습니다. 기밀 컴퓨팅을 사용하면 입력 데이터를 다른 당사자에게 공개하지 않고도 여러 원본의 데이터를 처리할 수 있습니다. 이러한 유형의 보안 계산은 자금 세탁 탐지, 사기 감지, 의료 데이터의 보안 분석과 같은 모든 단계에서 데이터 보호가 필수인 다자간 컴퓨팅 시나리오를 지원합니다.

Confidential Ledger에 저장된 데이터는 변경할 수 없으며 추가 전용 원장에 변조 방지가 가능합니다. 원장도 독립적으로 확인할 수 있습니다. Confidential Ledger는 탈중앙화 블록체인 네트워크에 보안 enclave를 사용하며 최소한의 신뢰할 수 있는 컴퓨팅 기반이 필요합니다.

Azure SQL Database 원장

Azure SQL Database 원장을 사용하면 참가자가 블록체인 네트워크의 네트워크 합의 없이 중앙 집중식 데이터의 데이터 무결성을 확인할 수 있습니다. 일부 중앙 집중식 솔루션의 경우 신뢰가 중요하지만 분산형 인프라는 필요하지 않습니다. 이 방법은 이러한 인프라의 복잡성 및 성능 영향을 방지합니다.

데이터베이스 원장 아키텍처를 보여 주는 다이어그램

참고

Azure SQL Database 원장은 현재 공개 미리 보기로 제공됩니다.

원장은 데이터베이스에 대한 변조 증거 기능을 제공합니다. 이러한 기능을 사용하면 데이터가 변조되지 않았음을 암호화하여 확인할 수 있습니다.

원장은 데이터베이스, 시스템, 클라우드 관리자를 포함하여 공격자 또는 높은 권한을 가진 사용자로부터 데이터를 보호하는 데 도움이 됩니다. 기록 데이터가 보존됩니다. 데이터베이스에서 행을 업데이트하면 행의 이전 값이 기록 테이블에서 유지됩니다. 이렇게 하면 애플리케이션을 변경하지 않고도 보호가 제공됩니다.

원장은 Azure SQL Database 기능입니다. 기존 Azure SQL Database에서 사용하도록 설정할 수 있습니다.

옵션 비교

Confidential Ledger 및 Azure SQL Database 원장

이 표에서는 Confidential Ledger와 Azure SQL Database 원장을 비교합니다.

SQL Database 원장 Confidential Ledger
변조 증거가 필요한 중앙 집중식 시스템 Yes
데이터가 변조 방지가 필요한 탈중앙화 시스템
변조로부터 관계형 데이터 보호 Yes
변조로부터 비정형 데이터 보호
블록체인의 체인 데이터의 오프체인 저장소 보호 Yes
블록체인에서 참조되는 파일에 대한 오프체인 저장소 보호
관계형 데이터를 쿼리할 수 있음 Yes
구조화되지 않은 저장된 데이터를 쿼리할 수 있음

Confidential Ledger 및 Azure Blob Storage

Azure Blob Storage의 변경이 불가능한 스토리지 기능을 사용하면 기록된 데이터를 읽을 수 있지만 변경되지 않습니다. 이 표에서는 해당 기술을 Confidential Ledger와 비교합니다.

Confidential Ledger 변경 불가능한 스토리지
기밀 하드웨어 enclave Yes
추가 전용 데이터 무결성 Yes 예, 간격으로 제한됨
사용 중인 데이터 암호화 Yes
블록체인 원장 증명 Yes

다자간 컴퓨팅 결정

이 다이어그램은 Azure 서비스를 사용한 다자간 컴퓨팅 옵션을 요약합니다.

다자간 컴퓨팅 옵션을 선택하기 위한 결정을 요약하는 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

다음 단계