TEE가 MPC를 망가뜨리게 두지 마세요
단일 키 없이 공동 서명을 허용하는 다자간 컴퓨팅(MPC) 방식인 임계값 서명 방식은 향상된 보안을 위해 신뢰 실행 환경(TEE) 내에서 점점 더 많이 사용되고 있습니다. MPC는 신뢰를 여러 당사자에게 분산시키는 반면, TEE는 하드웨어에 신뢰를 근거합니다. 그러나 신뢰할 수 없는 호스트를 고려하지 않고 TEE에서 MPC를 실행하면, 악의적인 호스트가 파일 시스템 상태를 롤백하여 개인 키 공유가 노출되는 것과 같은 취약점이 발생할 수 있습니다.TEE를 프로토콜 대체재가 아닌 심층 방어 계층으로 취급하면 이 조합은 유익합니다. 이 접근 방식은 MPC 배포에서 TEE 증명의 역할, 일반적인 감사 함정, 그리고 MPC ID에 대한 강력한 증명 바인딩과 같은 모범 사례를 강조합니다. MPC의 보안은 참여자의 행동에 달려 있으며, 반정직(정직하지만 호기심이 많은) 및 악의적인 보안과 같은 모델이 있습니다. TEE 증명은 포괄적이라면 반정직 프로토콜을 특정 공격에 대한 악의적인 보안 보증을 제공하도록 향상시킬 수 있습니다.TEE는 기밀성, 무결성 및 증명을 제공합니다. 분산 시스템에 중요한 증명은 TEE에서 실행되는 코드의 원격 검증을 허용합니다. 이 과정에는 TEE가 상태의 암호화 해시를 서명하여 "인용"을 형성하고, 원격 당사자가 이를 검증하는 과정이 포함됩니다. 검증에는 인용 서명, 인증서 체인 확인, 그리고 종종 재현 가능한 빌드 및 바이너리 투명성 로그를 통해 알려진 양호한 값에 대한 측정값 유효성 검사가 필요합니다.주요 과제는 신뢰 모델 충돌에서 발생합니다. MPC는 신뢰를 분산시키는 반면, TEE는 하드웨어 제조업체에 신뢰를 집중시킵니다. TEE는 또한 게스트 코드를 신뢰하면서 호스트를 신뢰할 수 없는 것으로 간주하는 전통적인 보안을 뒤집어 롤백 공격과 같은 새로운 공격 표면을 도입합니다. TEE는 증명을 통해 프로토콜 준수를 보장함으로써 모호한 인코딩, 오작동하는 참여자, 누락된 매개변수 및 누락된 입력 유효성 검사와 같은 문제를 완화할 수 있지만 완벽한 보안을 보장하지는 않습니다.실제 TEE 구현에는 취약점이 있으며, 증명 과정은 불완전하거나 잘못 검증될 수 있습니다. 일반적인 함정은 중요한 구성 요소가 제외되어 탐지되지 않은 수정이 허용되는 불완전한 증명 측정입니다. 또 다른 문제는 인용 서명이나 인증서 체인을 확인하지 않는 것과 같이 누락된 검증 단계로, 이는 보안 모델을 손상시킵니다. 이러한 문제는 TEE와 MPC를 결합할 때 엄격한 구현 및 검증 관행의 필요성을 강조합니다.