단일 손상 지점을 만들지 않고 기관의 비트코인 준비금을 보호하려면 Google Cloud 다자간 계산을 사용하여 하드웨어 격리 Enclave에 서명 키를 배포하면 됩니다. 이 문서에서는 Cloud Key Management Service(Cloud KMS) 및 Cloud HSM을 다자간 계산과 비교하고, 비트코인 보관을 위한 두 보안 모델을 평가하고, 참조 토폴로지를 제시합니다.
비트코인 보관을 클라우드로 이전할 때는 두 가지 키 관리 아키텍처 중에서 선택합니다.
- 단일 키 하드웨어 보안 모듈 (HSM): Cloud KMS 및 Cloud HSM은 물리적 HSM 경계 내에서 정적 암호화 키를 관리합니다.
- 분산 임곗값 서명: 다자간 계산은 HSM 신뢰할 수 있는 루트 키로 지원되는 하드웨어 격리 신뢰할 수 있는 실행 환경 (TEE)에 키 공유를 분산합니다.
Cloud KMS 및 Cloud HSM은 엔터프라이즈 봉투 암호화 및 웹 공개 키 인프라를 지원합니다. 하지만 비트코인 개선 제안 32 (BIP32), BIP340 Schnorr 서명, 세분화된 다자간 거버넌스에 따른 계층적 결정론적 (HD) 키 파생과 같은 비트코인 보관 프리미티브를 위해 설계되지 않았습니다.
클라우드 기반 비트코인 보관의 주요 과제
다음 표에는 비트코인 보관을 위한 표준 클라우드 키 관리 서비스를 평가할 때 발생하는 세 가지 주요 과제와 다자간 계산이 각 요구사항을 해결하는 방법이 요약되어 있습니다.
| 요구사항 | Cloud KMS 및 Cloud HSM의 제한사항 | 다자간 계산이 이 요구사항을 해결하는 방법 |
|---|---|---|
| BIP32 키 파생 |
멀티 테넌트 Cloud HSM 파티션은 엔터프라이즈 엔벨롭 암호화와 같은 정적 플랫 키 관리를 위해 설계되었습니다. 공유 클라우드 환경에서 하이퍼바이저 수준 보안을 유지하기 위해 클라우드 제공업체는 커스텀 HSM 펌웨어 모듈을 허용하지 않으므로 Cloud HSM은 BIP32 파생 경로를 기본적으로 컴퓨팅할 수 없습니다. 이 제약조건으로 인해 Cloud KMS에는 플랫 키 아키텍처가 필요합니다. 애플리케이션은 개별 키 리소스를 추적하거나 암호화되지 않은 호스트 메모리에서 하위 키를 파생해야 합니다. |
다자간 계산은 DKLS23 단조 스팬 프로그램의 선형 동형을 사용하여 비강화 BIP32 파생 경로를 로컬에서 계산합니다. 각 노드는 공개 스칼라 오프셋 조정 ( 단일 키 지갑에서 상위 확장 공개 키( |
| 단일 침해 지점 |
전체 비공개 키는 단일 물리적 HSM 경계 내에 있습니다. 승인 사용자 인증 정보가 손상되거나 내부자 위협이 발생하면 전체 월렛이 노출됩니다. |
전체 비공개 키는 어느 한 위치에도 일반 텍스트로 존재하지 않습니다. 키 공유는 독립적인 컴퓨팅 노드에 수학적으로 분산됩니다. |
| 알고리즘 민첩성 (Schnorr 및 Taproot) |
물리적 HSM 하드웨어 주기가 느립니다. |
암호화 작업은 하드웨어 격리 컨피덴셜 VM 엔클레이브 내에서 실행되므로 다자간 컴퓨팅에서 물리적 HSM 경계를 수정하지 않고도 프로토콜 업데이트를 채택할 수 있습니다. |
Cloud KMS와 다자간 계산 비교
Google Cloud에서 디지털 애셋 서명 인프라를 설계할 때 분산 임곗값 모델과 비교하여 단일 키 HSM 모델을 평가할 수 있습니다.
단일 키 Cloud KMS 및 Cloud HSM 모델
Cloud KMS 배포에서 Cloud HSM은 FIPS 140-2 Level 3 인증을 받은 물리적 HSM 내에서 직접 EC_SIGN_SECP256K1_SHA256 알고리즘을 사용하는 비대칭 서명 키를 생성합니다. 다음 그림은 하위 키를 파생할 때 애플리케이션 계층이 Cloud HSM과 상호작용하는 방식을 보여줍니다.
이 아키텍처는 관리형 FIPS 140-2 레벨 3 검증을 제공하고 비트코인 네트워크에서 허용하는 낮은 S 정규화 secp256k1 타원 곡선 디지털 서명 알고리즘 (ECDSA) 서명을 생성합니다. 하지만 비트코인 보관에 두 가지 아키텍처 제한사항이 있습니다.
- 키 관리 단편화: Cloud HSM은 BIP32 파생 경로를 계산할 수 없으므로 애플리케이션이 Cloud KMS에서 수백만 개의 개별
CryptoKey리소스 ID를 추적하여 단일 루트 복구 워크플로를 삭제해야 합니다. - 메모리 노출 위험: 강화된 파생을 실행하려면 애플리케이션이 루트 시드를 호스트 메모리로 내보내야 하므로 하드웨어 보안 경계가 손상됩니다.
분산 다자간 계산 기준점 모델
다자간 계산은 DKLS23 임곗값 ECDSA 프로토콜의 강화된 확장 프로그램을 구현합니다. AMD SEV-SNP 하드웨어 암호화 엔클레이브의 Confidential Space 내에서 실행되는 독립 노드는 단일 전체 키를 생성하는 대신 수학적 키 공유를 생성하고 보유합니다. 프로토콜에 대한 자세한 내용은 DKLS23 암호화 배경을 참조하세요.
다음 그림은 다자간 계산이 독립적인 HSM 키 암호화 키로 지원되는 TEE 노드에 서명을 배포하는 방법을 보여줍니다.
이 분산 임곗값 모델은 세 가지 주요 보안 이점을 제공합니다.
- 완전한 비공개 키 없음: 단일 실제 기기, 엔클레이브 또는 운영자가 완전한 비공개 키를 보유하지 않습니다.
- 하드웨어 기반 신뢰할 수 있는 루트: 키 공유는 FIPS 140-2 Level 3 Cloud HSM 파티션 또는 Cloud External Key Manager를 통해 연결된 외부 온프레미스 HSM으로 보호되는 키 암호화 키 (KEK)를 사용하여 저장 시 암호화됩니다.
- 증명 적용 복호화: Cloud KMS는 하드웨어 증명 견적에서 노드가 확인되고 변조되지 않은 다자간 컴퓨팅 컨테이너 이미지를 실행하는 것으로 확인된 경우에만 키 공유를 엔클레이브 메모리로 래핑 해제합니다.
BIP32 및 Taproot의 암호화 메커니즘
비트코인 보관을 위한 임곗값 서명을 평가할 때 프로토콜이 노드 간 네트워크 라운드를 추가하지 않고 계층적 주소 파생 및 Taproot 조정을 지원하는지 확인합니다.
비강화 BIP32 가산 유도
BIP32는 비강화 하위 비공개 키 파생을 모듈식 스칼라 덧셈으로 정의합니다.
\[ k_{\text{child} } = (k_{\text{par} } + \text{parse}_{256}(I_L)) \bmod n \]
다자간 계산은 단조 스팬 프로그램에 기반한 선형 비밀 공유 스킴을 사용하므로 참여자 노드는 네트워크 통신 라운드 없이 로컬에서 하위 키 공유를 파생합니다. 다음 그림은 이 0라운드 로컬 파생 흐름을 보여줍니다.
BIP341 탭루트 키 조정
이 선형 속성은 기본 키 공유 배포를 수정하지 않고도 BIP341 Taproot 키 조정을 지원합니다.
\[ Q = P + t \cdot G \quad \text{where} \quad t = H_{\text{TapTweak} }(P \parallel \text{MerkleRoot}) \]
임곗값 서명 절차에 참여하기 전에 참여자 노드는 스칼라 조정 (t)을 로컬 키 공유에 직접 적용합니다. 이 기능을 사용하면 키를 다시 생성하거나 다시 공유하지 않고도 Taproot 스크립트 트리, Ordinals, Discreet Log Contracts와 상호작용할 수 있습니다.
아키텍처 비교
다음 표에서는 핵심 보관 차원에서 Cloud KMS 및 Cloud HSM을 다자간 계산과 비교합니다.
| 아키텍처 측정기준 | Cloud KMS 및 Cloud HSM | 다자간 계산 |
|---|---|---|
| 암호화 프리미티브 | secp256k1 곡선의 단일 서명 ECDSA |
Ed25519 곡선의 임곗값 ECDSA (DKLS23) 및 임곗값 Edwards 곡선 디지털 서명 알고리즘 (EdDSA)은 secp256k1 곡선의 임곗값 Schnorr로 확장 가능 |
| 하드웨어 경계 | 실물 PCIe HSM 카드 | Cloud HSM 신뢰할 수 있는 루트에 고정된 AMD SEV-SNP Confidential Space 엔클레이브 |
| BIP32 HD 지갑 지원 | 개별 Cloud KMS 키의 수동 관리 | 0라운드 로컬 가산 키 공유 조정 |
| 실물 키 보호 | FIPS 140-2 레벨 3 | 키 공유를 래핑하는 HSM 상주 KEK의 경우 FIPS 140-2 Level 3 |
| 서명 지연 시간 (p95) | 20~50ms | 분산된 리전에서 1,000ms (1초 미만) 미만 |
| 사용자 인증 정보 유출의 영향 범위 | 호출자 인증 정보 또는 Identity and Access Management(IAM) 정책이 손상된 경우 키가 완전히 노출됨 | 공격자가 독립적인 엔클레이브와 KEK의 기준점을 동시에 침해하지 않는 한 승인되지 않은 서명이 불가능함 |
| 감사 가능성 | Cloud 감사 로그 | Cloud 감사 로그 및 키 액세스 근거 하드웨어 증명 로그 |
BIP32에서 임곗값 키 관리로의 진화
사내 디지털 애셋 보관 플랫폼을 설계할 때는 개별 하드웨어 지갑을 위해 생성된 파생 표준과 기관 거버넌스를 위해 설계된 분산 키 관리를 구분해야 합니다. BIP32는 주소 추적에 널리 사용되지만 다자간 계산 (MPC) 아키텍처 내에서 보안을 위해 BIP32 파생 트리에 의존하는 것은 중복되며 운영 복잡성을 가중시킬 수 있습니다.
단일 시드 BIP32 지갑의 역사적 배경
BIP32는 임계값 암호화 및 하드웨어 엔클레이브가 널리 사용되기 전에 개별 자체 보관의 제약 조건을 중심으로 설계되었습니다.
- 루트 시드 종속 항목: 초기 비트코인 보관은 사람이 읽을 수 있는 12개 또는 24개 단어로 구성된 단일 니모닉 문구를 물리적으로 보호하는 데 의존했습니다.
- 단일 백업 복구: BIP32 HD 지갑을 사용하면 개인이 하나의 시드 문구를 백업하고 여러 계정에서 결정론적으로 주소를 파생할 수 있습니다.
- 단일 장애점: 루트 니모닉 시드는 전체 단일 장애점을 나타냅니다. 공격자가 해당 문구나 물리적 백업을 침해하면 모든 계정의 모든 파생 하위 비공개 키가 노출됩니다.
다음 그림은 단일 루트 시드가 손상되면 파생된 모든 하위 계정이 노출되는 방식을 보여줍니다.
임곗값 서명으로 루트 시드 삭제
제로 트러스트 기관 클라우드 아키텍처에서는 인간이 읽을 수 있는 루트 니모닉 시드가 필요하지 않습니다. 다자간 계산은 중앙 루트 비공개 키를 완전히 제거합니다. 어떤 단일 머신이나 백업 매체에도 완전한 비공개 키가 일반 텍스트로 존재하지 않으므로 단일 구문 주소 복구가 필요하지 않습니다. 다자간 계산은 하나의 보안 비밀에서 키 트리를 파생하는 대신 암호화 방식으로 격리된 엔클레이브에 독립적인 키 공유를 배포합니다.
다자간 계산에서 BIP32 파생 경로 비교
통합에 외부 주소 추적기 또는 회계 워크플로에 대한 BIP32 호환성이 필요한 경우 다음 표에서 두 가지 기술 구현 경로를 비교하세요.
| 구현 경로 | 암호화 메커니즘 | 보안 및 노출 프로필 | 지연 시간 및 서명 성능 |
|---|---|---|---|
| 다자간 계산을 사용하는 비강화 BIP32 |
로컬 가산 조정: 각 노드는 공개 스칼라 오프셋( |
|
|
| 다자간 계산을 사용하는 강화된 BIP32 |
비밀 공유 상위 키 자료를 통해 계산된 대화형 다자간 |
|
|
기관 수탁을 위한 권장사항
다자간 계산은 기존 시스템 및 외부 주소 추적기와의 호환성을 위해 강화되지 않은 BIP32 가산 파생을 지원합니다. 전용 기관 보관의 경우 다자간 계산에서 직접 관리되는 독립적인 임곗값 키로 전환하는 것이 좋습니다.
- 단일 루트 종속 항목 제거: 단일 루트 키에서 수학적 오프셋으로 키를 파생하는 대신 격리된 엔클레이브 내에서 독립적인 키 공유를 생성, 순환, 백업합니다.
- 알고리즘 민첩성 향상: 조정 레이어를 비트코인 관련 BIP32 파생 경로에서 분리하여 하나의 거버넌스 모델에서 스마트 계약 네트워크의
Ed25519서명 스키마와 같은 비ECDSA 서명 스키마를 채택할 수 있습니다. - 서명 복잡성 감소: 개별 기준 키를 관리하여 데이터베이스 조회를 간소화하고, 트랜잭션 요청을 간결하게 유지하며, 서명 지연 시간을 최소화합니다.