[블록체인 보안 이야기 — 암호학]

SoulRyong Kim
Hexlant
Published in
9 min readNov 9, 2022

① 시큐어 MPC(Secure Multi-Party-Computation)

🔐키워드 : “시큐어 MPC”, “TSS(임계치 서명 방식)”

오랜만에 모인 회사 입사 동기 3명, 이들은 가장 월급을 많이 받는 사람이 소고기🥩를 사야 한다고 입을 모았지만…… 그러나 그 누구도 자신의 월급💎을 밝히고 싶지 않은데…. 누가 소고기를 사야 하지?👀❓
*등장인물 4명 : 김대리, 박대리, 최대리, 지나가는 H.

그림 : Bitfount, Hexlant.

👱‍서로 월급 공유를 안하는데 누가 소고기를 살까?
↪️H. :
김대리, 박대리, 최대리는 모두 자신의 월급 정보를 서로에게 공개하기 꺼려 하는 상황입니다. 이 상황에서 여러 방법이 있을 수 있죠. 우선 간단하게 3명 모두에게 신뢰를 받고 있는 다른 동기(①정대리)에게 각각의 월급을 알려주고 누가 소고기를 사야하는지 물어보는 방법이 있고, 아니면 3명의 월급을 이미 모두 알고 있는 제3자(②이과장)에게 누가 월급을 가장 많이 받는지만 간단하게 전화해서 물어보면 됩니다.

‘신뢰’ 기반 제3자 참여 시나리오, Reddit
  • 휴먼에러(human error)란?: 최대리, 박대리가 서로의 정보를 교환 또는 위조하여 김대리가 소고기를 사게 만든다는 악의적 공격자의 위협 가능성, 정대리가 누군가로부터 공갈/협박을 받아 사실과 다른 발언을 할 수도 있고, 사람이면 발생할 수 있는 실수 등을 의미합니다.

‍🧑🏻제3자가 악의적으로 거짓 정보를 흘리거나 내 월급정보를 실수로 공개 할 수도 있지 않은가? 이런 휴먼에러를 줄일 방법이 있을까?
↪️H. :
네. 수학적으로 입증되고 정확한 프로토콜에 따라 답을 계산한 결과값이라면 휴먼에러에 따른 리스크를 줄일 수 있습니다. 최근 재조명 받고 있는 시큐어 MPC(Multi-Party-Computation)라는 암호학적 방법을 도입하면 됩니다. 이 방법을 사용하면 제3자(정대리/이과장)를 거치지 않고도 김대리, 박대리, 최대리 중 서로의 월급 정보를 모르는 상태에서 누가 월급을 많이 받고 있는지 알 수 있기 때문에 누가 소고기를 사야 하는 지도 알 수 있습니다.

  • 시큐어 MPC란? : 다자간 연산으로 Andrew C. Yao에 의해 40여 년 전에 시작된 암호 방식의 한 분야. MPC에서는 당사자들이 서로를 신뢰하지 않고도 입력값을 비공개로 유지하는 동시에 입력값에 대한 함수 연산을 공동으로 시도하여 출력값 도출.(출처 : 바이낸스아카데미)

👱‍🧑시큐어 MPC를 어떻게 적용하는가?
↪️H :
각각의 비밀 정보(월급)를 공개하지 않으면서도 별도로 합의된 방식에 따라 결과값 계산 및 산출이 가능하도록 암호학 기술(TSS, 임계치 서명 방식)을 접목하면 됩니다. 이렇게 합의된 방식을 통해 각각 산출된 결과는 서로에 의해 검증될 수 있고, 최종적으로 알고자 했던 정보를 확인할 수도 있습니다.

  • 예를들어, 김대리(A), 박대리(B), 최대리(C) 각각 자신의 월급을 시큐어 MPC 플랫폼에 입력하면 분산 암호화 방식을 거친 후 수학적 알고리즘을 기반으로 연산된 결과값이 출력됩니다. 이렇게 서로의 월급을 공개하지 않은채 시큐어 MPC 플랫폼을 통해 원하는 결과값인 ‘월급을 가장 많이 받는 사람’을 얻을 수 있는 것이죠
  • 시큐어 MPC 플랫폼이란? 키 관리를 목적으로 하는 MPC 플랫폼은 키 쉐어(share) 생성·부분 서명· 키 순환·저장·복구·삭제 등의 기능을 수행하도록 설계된 시스템으로, 주로 로컬 디바이스에서 실행됩니다(오프체인). 키 분실 및 내부자 공격의 위험을 최소화하기 위해 M(멀티) P(파티)가 각각의 쉐어(share)를 암호화하여 생성하고 공통의 연산단계를 통해 서명하는 TSS(임계치 서명 방식)를 적용할 수 있습니다. 이를 통하여최종적으로 각 P(파티)는 협력하여 분산화된 방식으로 트랜잭션에 서명합니다.
  • TSS(Threshold Signature Scheme)란?
TSS 기술 : 온전한 개인키는 아무도 모르는 상태에서 개인키를 복원하지 않고도 디지털 서명 가능
  • 시큐어 MPC의 방법론을 도입할 때 적용 가능한 암호학 기반 서명 기술입니다. 개인키를 분산 연산해서 암호화한 값(share)들로 최종 서명(sign)을 하는 방법입니다. 따라서 서명 과정에서는 어떠한 값도 노출되지 않고 트랜잭션 서명이 가능합니다. 일반적으로 암호학에서는 해커가 쉐어(share)를 탈취해도 개인키를 알 수 없는 최대 값을 임계값(threshold)으로 칭하며, t로 표기합니다.(예: 3명 중 2명의 승인자가 참여해야 트랜잭션 서명이 되는 경우 t=2, 2 of 3)

👱‍🧑왜 TSS 서명 방식을 사용해야 하는지?
첫째도 보안,둘째도 보안,셋째도 보안(나만 알고 싶은 내 월급 정보..)
↪️H : (①보안성 강화)
기존의 SSSS 방식과 달리 단일 장애 지점(SPOF)을 제거하여 보안성을 강화할 수 있기 때문입니다. 3명이 협력하여 하나의 개인키를 쉐어(share) 형태로 분산 생성하면, 3명의 동기들 중 어느 누구도 온전한 개인키를 알지 못하므로 외부의 제3자와 내부자로부터의 위험 요소를 제거할 수 있습니다. 최종 서명 이후에도 개인키는 물론 다른 동기의 쉐어(share) 정보조차 알지 못할 정도로 철저하게 보안이 유지됩니다. (결과를 조작하려면 다른 동기의 정보를 동시에 모두 알아야 합니다.)

SSS 방식에서는 분할된 share1과 share2가 합쳐지는 지점이 공격대상
  • 단일 장애 지점(SPOF, Single Point Of Failure)이란? 어느 한 부분이나 요소가 공격받을 경우 시스템 전체의 가용성, 보안성 등에 문제가 생길 수 있는 지점입니다. 아래그림에서 SSS(Shamir Secret Sharing)방식에서는 해커가 공격하여 자산 탈취를 할 수 있는 지점(share1과 share2가 합쳐지는 지점)이 존재합니다.
  • (② 속도 개선) 오프체인에서 더 빠르게 서명 후 블록체인에 트랜잭션을 보내면 블록체인의 속도에 영향을 적게 받습니다.
  • (③비용 개선) 오프체인에서 계산된 서명에는 네트워크 수수료가 발생하지 않습니다. 기존 멀티시그의 온체인 서명 방식은 트랜잭션 서명 시 매번 수수료가 발생합니다.
  • (④프라이버시) 오프체인 서명은 공개된 시장에서 볼 수 없습니다. 이렇게 하면 잠재적인 위험요소로부터 민감한 서명 체계와 정보 등이 노출되는 것을 방지할 수 있습니다.
  • (⑤호환성) TSS를 적용한 시큐어MPC 기술은 다수의 블록체인이 도입한 표준화된 암호화 서명 알고리즘(ECDSA)을 사용할 수 있어 특정 블록체인 네트워크에만 귀속되지 않습니다.
  • (⑥유연성) 오프체인에서의 분산 서명을 활용하면 규제를 준수할 수 있도록 복잡한 거버넌스 체계도 구성할 수 있습니다.

‍🧑🏻👱‍🧑시큐어 MPC와, TSS라는 암호학 기술이 믿을만 한가?
↪️H :
휴먼 에러를 최소화하고 역사가 깊은 수학적 알고리즘을 통해 수 많은 연구자들에게 검증된 ‘암호학’의 집합체라고 할 수 있습니다. 시큐어 MPC의 방법론을 도입할 때 머클트리, 동형암호, 탭루트 등 고도화된 암호학 기술들이 적용될 수 있으며, 이 기술들도 마찬가지로 40년 이상 많은 연구자들을 거치며 깊게 탐구된 기술들입니다. 고도의 기술 조합으로 탄생한 시큐어 MPC에서는 블록체인 위에서 트랜잭션의 서명이나 데이터 분석 등 다양한 종류의 함수를 처리할 수 있는 등 여러 방면에서 응용이 가능합니다.

  • 최근 TSS(Threshold Signature Scheme)를 적용한 시큐어 MPC를 통해 보안성을 강화한 가상자산 지갑 및 커스터디 서비스가 차세대 블록체인 기술로 각광받고 있습니다. 바이낸스 CEO는 “저는 TSS(임계값 서명 체계)가 지갑과 보관 서비스의 판도를 바꿀 것이라고 믿습니다.”라고 했습니다.
  • 또한, 기존의 암호학에서 발전한 기법들이 급격하게 실생활에 적용되고 있고, 특히 MPC 기술을 암호화폐 보안을 위해 개인 키 관리에 활용하는 움직임이 활발히 진행 중입니다.(글로벌 상용화 기업 : META, Sepior, ZenGo OffChain Labs, Acronis, Cosmian, Unbound Tech, Amis 등)

내 월급 정보는 안전하게 지키면서, 나보다 월급을 많이 받는 동기에게 소고기를 사게 할 수 있다는 것은 좋지만.. 암호학, 수학은 너무 어렵다..
↪️H :
그렇습니다. 매우 어렵죠.. 하지만 암호학적 방법론 적용이 가능하고, 원천적으로 비밀정보를 탈취하거나 조작할 수 없는 보안기술을 보유한 검증된 시큐어 MPC 솔루션을 활용한다면 블록체인 기반 Web3.0 세계에서 보다 수준 높은 보안을 유지한 채 목표(소고기)를 이룰 수 있을 것입니다.

자료 : Hexlant.

#시큐어MPC #멀티시그 #TSS #SSSS #ECDSA #암호학

텔레그램 : https://t.me/cryptohitch/96
참고 사이트 :
https://en.wikipedia.org/wiki/Secure_multi-party_computation
https://academy.binance.com/ko/articles/threshold-signatures-explained
https://sunfish-platform-documentation.readthedocs.io/en/latest/smc.html
https://privacytech.fb.com/multi-party-computation/
https://www.mk.co.kr/news/economy/view/2019/06/401889/
https://www.qredo.com/blog/what-are-threshold-signatures
https://medium.com/zengo/
https://iiis.tsinghua.edu.cn/yao/
https://wiki.mpcalliance.org/
https://sepior.com/
https://octet.im/

--

--