제퍼넷 로고

2부: Ledger Recover의 창세기 – 안전한 공유 분배 | 원장

시간

에 대한 블로그 시리즈의 두 번째 부분에 다시 오신 것을 환영합니다. 원장 복구의 제네시스! 우리의 목표는 시드 복구 서비스를 구축할 때 직면하는 많은 기술적 장애물과 Ledger Recover가 안전한 설계 및 인프라로 이를 해결하는 방법을 탐구하는 것입니다.

. 이전 부분, Secret Recovery Phrase를 분할하여 백업하는 방법과 Ledger Recover가 이를 사용하여 수행하는 방법을 조사했습니다. Pedersen 검증 가능한 비밀 공유.

이제 세 개의 공유가 있으므로 다음 질문은 다음과 같습니다. 백업 공급자에게 어떻게 안전하게 배포할 수 있습니까? 실제로 악의적인 당사자가 전송하는 동안 모든 공유를 가로채면 처음부터 시드를 분할하려는 목적을 무효화합니다. 사이버 보안에서는 이를 중간자 공격, 공격자가 귀하와 수신자 사이에 서서 통신을 변조하여 비밀을 밝히려고 합니다.

Ledger Recover를 사용하면 보안 배포 메커니즘을 통해 시드 전송이 수행됩니다. 그것은 우리가 철저히 설명할 몇 가지 암호화 도구와 수학적 개념에 의존합니다.

당면한 문제를 보다 자세히 설명하는 것으로 시작하겠습니다. 그런 다음 Ledger Recover가 백업 공급자에게 시드 공유를 안전하게 배포하는 데 활용하는 몇 가지 암호화 도구와 수학적 개념을 소개합니다.

Courier-In-The-Middle: 실제 사례

악의적인 중개자로부터 자신을 보호하는 가장 확실한 방법은 중개자를 전혀 갖지 않는 것입니다. 친구의 집으로 직접 걸어가거나 공유를 배달하기 위해 폐쇄된 동일한 장소에 친구들을 모을 수 있습니다. 그러나 당신이 함께 배치되지 않고 장거리 지인에게 주식을 보내고 싶다면 이것은 훨씬 더 어려워집니다.

우리가 통신하는 네트워크(예: 우편 서비스)가 본질적으로 신뢰할 수 없다고 가정할 때 도청자가 우리의 비밀 공유를 절대 엿볼 수 없도록 보장할 수 있는 방법은 무엇입니까?

잘 알려진 XNUMX명의 암호화 페르소나인 앨리스와 밥, 그리고 악명 높은 이브를 소개할 시간입니다. Alice는 Bob과 공유하고 싶은 비밀이 있으며 신뢰할 수 없는 택배인 Eve를 통해 보낼 수밖에 없습니다. 암호화 단어로, Alice와 Bob은 비밀을 안전하게 교환하기 위해 서로 안전한 통신 채널을 구축하기를 원합니다.

Alice와 Bob이 할 수 있는 작업은 다음과 같습니다.

  • Alice는 자신의 비밀을 상자에 넣고 개인 자물쇠로 잠근 다음 Bob에게 보냅니다.
  • Bob은 상자를 받으면 다음과 같이 덧붙입니다. 자신의 자물쇠를 다시 보냅니다.
  • 앨리스는 이제 자물쇠를 상자에서 마지막으로 보내기 전에 열쇠를 사용하여 상자에서 꺼낼 수 있습니다.
  • 프로세스를 완료하기 위해 Bob은 키를 사용하여 자물쇠를 제거하고 마침내 Alice의 비밀을 검색합니다.

교환 내내 Eve가 상자를 손에 들고 있을 때마다 Alice의 자물쇠나 Bob의 자물쇠 또는 둘 다에 의해 항상 보호되었습니다.

이것은 훌륭한 시작이지만 이 시나리오에서 해결해야 할 몇 가지 문제가 남아 있습니다.

  • 상호 인증: 앨리스와 밥은 각각의 자물쇠가 진정으로 상대방에게서 온 것인지 확인할 수 있는 완벽한 방법이 필요합니다. 그렇지 않으면 Eve는 그것을 자신의 상자와 자물쇠로 바꾸고 Alice나 Bob을 속여 자신이 상대방이라고 믿게 만들 수 있습니다.
  • 순방향 비밀성: Eve가 잠긴 상자를 훔치고 나중에 Alice나 Bob의 열쇠를 훔쳤다면 원래 비밀을 복구할 수 있습니다. 대신 우리는 장기 키의 향후 유출이 이전에 도난당한 패킷을 손상시키지 않도록 하기를 원합니다.
  • 프라이버시 보호: 이 시나리오에서 Alice와 Bob의 주소는 배달원에게 공개됩니다. 이 프로세스의 디지털 등가물에서 우리는 수신자에 대해 아무 것도 공개하지 않는 프로토콜을 원합니다.
디지털 메시지 보안

디지털 보안에서는 보안 채널 둘 사이에 데이터를 전송하는 방법입니다. 인증 된 데이터와 같은 당사자 기밀 유지보전 보장됩니다. 보안 채널을 사용하면 공격자가 통신을 도청하거나 변조할 수 없습니다.

백업 및 복원을 위한 Ledger Recover의 프로토콜은 보안 채널 프로토콜, 또는 SCP. 대칭 및 비대칭 암호화, 인증서 및 디지털 서명과 같은 최신 암호화 도구 상자의 여러 도구를 사용합니다.
다음 섹션에서는 이러한 모든 개념에 대한 빠른 입문서를 제공하여 Ledger Recover에서 사용되는 전체 보안 체계를 이해할 수 있도록 합니다.

대칭 암호화: 강력하지만 제한된 도구

두 당사자 간에 교환되는 데이터의 기밀성을 보장하기 위해 일반적으로 데이터는 동일한 비밀 키로 암호화되고 해독됩니다.
이 프로세스를 대칭 암호화, 보안 채널의 속성 중 하나 이상을 보장하기 위해 단일 비밀 키를 포함하는 프리미티브에 대한 연구입니다.

통신을 보호하는 강력한 도구인 대칭 암호화에는 몇 가지 분명한 한계가 있습니다. Alice가 여러 암호화된 메시지를 Bob과 교환하려고 한다고 가정합니다. 그녀는 메시지 전송을 시작하기 전에 먼저 비밀 키를 선택한 다음 Bob과 공유합니다.
물론 이제 문제는 다음과 같습니다. Alice는 어떻게 비밀 키를 Bob과 안전하게 공유합니까? 누군가 키를 손에 넣으면 Alice와 Bob의 통신은 더 이상 기밀이 아닙니다.
Alice는 Bob을 직접 만나 그에게 열쇠를 줄 수 있지만, 이 경우 귀를 기울이지 않고 토론을 하는 것이 어떻습니까?

디지털 통신의 경우 대칭 키를 공유하고 보호된 데이터 교환을 시작하는 안전한 방법이 필요합니다. 현대 암호학의 두 거물, 휫필드 디피마틴 헬먼.

비대칭 암호화: 사적인 부분 숨기기
Diffie-Hellman 키 계약

공개 키 암호화를 사용하여 Diffie와 Hellman은 통신 보안에 대한 새로운 접근 방식을 제시했습니다. 그들은 암호화 및 암호 해독을 위한 두 개의 개별 키로 프로토콜을 정의했습니다. 두 개의 키는 일반적으로 호출됩니다. 공개 및 개인 키, 데이터를 암호화/암호 해독하고 서명/확인하는 데 사용할 수 있는 쌍을 형성합니다.

공개 및 개인 키
공개 키 암호화는 대부분의 디지털 보안의 기초입니다. 웹에서 귀하를 보호하는 데 사용되며 모든 퍼블릭 블록체인에서 코인과 토큰의 소유권을 증명하는 방법이기도 합니다.

Ledger Academy에서 이 주제에 대해 자세히 알아보세요.!

우리에게 정말로 매력적인 것은 Diffie와 Hellman이 공개 키 암호화를 사용하여 대칭 키를 배포하도록 제안한 방법입니다. 로 알려진 그들의 방법 Diffie-Hellman 키 교환, 궁극적으로 공유 비밀에 동의하기 위해 두 당사자 간의 앞뒤 교환으로 구성됩니다. 제대로 수행된 경우 도청자는 엿들은 정보에서 동일한 공유 비밀을 계산할 수 없습니다.

공유 비밀 생성 k

TL;DR은 위의 다이어그램에서 Eve가 수학적으로 비밀을 알아낼 수 없다는 것입니다. k는 Alice와 Bob의 모든 통신에 액세스할 수 있지만. 이 공유 비밀이 도청자로부터 안전한 이유를 이해하려면 약간의 그룹 이론을 파헤쳐야 합니다. 

Diffie-Hellman 키 교환의 보안은 순환 그룹에 대한 이산 로그 문제의 복잡성에 의존합니다. 순환 그룹은 단일 요소에 의해 생성된 그룹입니다.
간단히 말해서 Alice와 Bob은 공유 비밀에 동의하기 위해 다음 단계를 실행합니다. k:

  1. Alice와 Bob은 순환 그룹에 동의합니다. G 질서의 n 요소에 의해 생성 g
  2. 앨리스는 무작위로 숫자를 뽑습니다. 0 < a < n 그리고 보낸다 pa = 지a ∈ 지 밥에게
  3. Bob은 무작위로 숫자를 뽑습니다. 0 < b < n 그리고 보낸다 pb = 지b ∈ 지 앨리스에게
  4. Alice는 공유 비밀을 계산합니다. 케이 =(피b )a ∈ 지
  5. Bob은 공유 비밀을 계산합니다. 케이 =(피a )b ∈ 지

프로토콜의 보안은 찾기의 경도에 따라 달라집니다. k = gab 주어진 g, ga, gb. 이것은 계산 Diffie-Hellman 가정 (CDH). CDH가 해결하기 어렵다는 가설은 이산 로그 문제 해결하기 어렵습니다.

이 체계에서 공유 비밀은 도청으로부터 안전하지만 교환되는 데이터의 출처에 대한 보장은 없습니다. 안전한 상호 작용을 위해 Alice와 Bob은 어떻게든 서로의 신원을 증명해야 합니다.

상호 인증 및 디지털 서명

자필 서명은 일반적으로 문서의 내용을 확인하고 수락하는 데 사용됩니다. 서명자만이 서명을 생성할 수 있지만 서명이 어떻게 생겼는지 "아는" 사람은 문서가 올바른 사람에 의해 서명되었는지 확인할 수 있습니다.

유사한 속성을 가지고 있지만 디지털 서명은 비대칭 암호화를 활용하여 추가적인 강력한 보증을 제공합니다.

  • 정품: 지정된 공개 키에 해당하는 개인 키로 메시지가 서명되었음을 누구나 확인할 수 있습니다.
  • 부인 방지: 서명자는 메시지에 서명하고 보낸 것을 부인할 수 없습니다.
  • 진실성: 전송 중에 메시지가 변경되지 않았습니다.

지금, 만큼 우리는 공개 키를 알고 신뢰합니다. 특파원의 디지털 서명을 확인하여 모든 메시지의 진위를 확인할 수 있습니다.
그러나 대부분의 실제 사례에서 우리는 통신원을 자세히 알지 못하거나 보안상의 이유로 개인/공용 키 쌍을 정기적으로 변경해야 할 수 있습니다. 이를 위해서는 다음과 같은 추가 검증 및 신뢰 계층이 필요합니다. 인증서, 엔터티 및 해당 공개 키에 대한 설명이 포함되어 있습니다.

각 인증서는 상위 공개 키로 서명됩니다. 우리가 항상 신뢰하는 루트 인증 기관(또는 루트 CA)을 가짐으로써 연속적인 디지털 서명을 사용하여 신뢰 체인을 만들 수 있습니다.

타원 곡선: 차세대 공개 키 암호화

타원 곡선 암호화(ECC)는 암호화 응용 프로그램(예: 암호화 또는 서명 체계)에 타원 곡선을 사용하는 공개 키 암호화의 하위 영역입니다. 
현재 이해되고 있는 수학을 기반으로 ECC는 다음과 같은 이전의 공개 키 암호화 시스템보다 훨씬 더 안전한 기반을 제공합니다. RSA.

동일한 보안 수준에서 ECC는 다른 비대칭 암호화 시스템에 비해 키 길이가 더 짧기 때문에 리소스가 제한된 임베디드 시스템에 적합합니다.
더 알고 싶다면, 이 문서 타원 곡선을 더 잘 이해하는 데 도움이 될 수 있습니다.

타원 곡선의 차수
요소의 순서 g Diffie-Hellman 키 교환의 중요한 매개변수입니다. 그룹이 타원 곡선인 경우 해당 요소는 점이고 순서는 초기 값에서 루프를 돌기 전에 자체에 추가할 수 있는 횟수입니다.
이 덧셈은 실수에 대한 일반적인 합계와 관련이 없지만 유사한 가산성 속성을 가집니다.

타원 곡선을 봅시다 이: y2 =x3 + 2 배 + 3 들판 위에 𝔽97 예로서. 이산 함수로서 아래 그림의 점으로 표시됩니다. 점에 집중하겠습니다. 피 =(3, 6) 그리고 모든 배수.

우리는 5 이후에 그것을 봅니다.P, 우리는 처음으로 돌아가 이전과 같은 지점에 도달했습니다. 스칼라의 값에 상관없이 P 를 곱하면 항상 5개의 초기 포인트 중 하나에 도달합니다.
따라서 순서는 P 는 5이고 이것이 생성하는 하위 그룹에는 정확히 5개의 점이 포함됩니다. 그러나 암호화 응용 프로그램의 경우 순서가 5보다 훨씬 커서 임의성이 증가합니다.

모두 매시: 인증이 포함된 ECDH

이제 훌륭한 키 교환 프로토콜을 만드는 데 필요한 모든 도구가 있습니다.  타원 곡선 Diffie-Hellman(ECDH).

ECDH는 타원 곡선 암호화를 사용하여 키 쌍과 공유 비밀을 생성함으로써 위에서 설명한 Diffie-Hellman 키 교환을 구현하는 표준화된 암호화 체계입니다.

인증된 ECDH 키 교환

타원 곡선과 생성 지점을 선택하여 시작합니다. 그런 다음 두 당사자는 신뢰할 수 있는 인증서를 교환하여 각자의 공개 키의 진위를 확인할 수 있습니다. 일단 인증되면 다음과 같이 계산되는 공유 비밀 k를 생성할 수 있습니다.

케이 = 디A . 디B . G
dA: 앨리스의 개인키
dB: Bob의 개인 키
G: EC 포인트

달성하기 위해 전진 비밀 속성에서 Alice와 Bob의 키 쌍은 임시적이어야 합니다. 즉, 즉석에서 생성되어 프로토콜의 단일 실행에 사용됩니다. ECDHE(Elliptic Curve Diffie-Hellman Ephemeral)에 대해 이야기합니다. 이 시나리오에서 임시 키는 디바이스의 정적 키와 HSM 모두에 의해 서명되어 키의 강력한 인증을 가능하게 합니다. 향후 정적 키에 대한 무단 액세스가 발생하더라도 임시 키로 보호되는 교환에 대한 암호 해독 기능을 부여하지 않습니다.

또한 보안 채널 내에서 장치의 정적 키를 숨겨 프로토콜을 눈에 띄게 개선했습니다. 이 예방 조치는 공격자가 장치의 정적 인증서에 대한 가시성을 확보하는 것을 방지하여 백업/복원 작업 중에 사용되는 고유 식별자의 유출로 이어질 수 있습니다.

원장 복구로 돌아가기: 씨앗의 여정

자, 잠시 멈출 시간입니다.

우리는 보안과 수학에 관련된 많은 주제를 다루었으며 그 결과는 안전하지 않은 네트워크를 통해 안전하게 통신할 수 있는 프로토콜입니다. 지금까지 본 내용을 요약하자면 다음과 같습니다.

두 엔터티는 독특한 비밀 덕분에 ECDHE를 사용하는 Diffie-Hellman 키 계약 프로토콜의 구현입니다. 임시 키 순방향 비밀성을 보호하기 위해. 각 엔터티는 다음을 수행할 수 있습니다. 진위를 확인하다 그들의 특파원 이니셜 덕분에 인증서 확인.

Ledger Recover의 경우 Secure Channel Protocol을 활용한 XNUMX개의 보안 채널을 구축했습니다. 이러한 채널은 HSM(하드웨어 보안 모듈)이 장착된 각 백업 공급자 및 오케스트레이터에 장치를 연결합니다.

각 액터는 신뢰 체인의 루트 역할을 하는 원장 인증서로 서명된 개인 인증서를 보유합니다. 사용자의 장치가 먼저 Orchestrator에 백업 수행 의도를 전송하면 인증된 ECDHE를 시작합니다. 이들 아래 mTLS 세션에서 오케스트레이터는 나중에 시드 복원을 수행할 때 유효성 검사를 위해 요청될 사용자 ID와 함께 향후 보안 채널을 사용자의 특정 백업 요청에 연결할 정보를 전송합니다.

HSM으로 비밀 보호
피하려고 노력하는 만큼 서버에 비밀을 저장하고 처리해야 하는 경우가 있습니다. 서버를 보호하고 해당 액세스는 사소한 작업이 아니므로 이는 위험할 수 있습니다. 이러한 위험을 완화하기 위해 보안 사용을 중시하는 기업 및 산업 하드웨어 보안 모듈. 암호화 키를 보호하고 암호화 처리를 제공하는 특수 하드웨어입니다. 이 블로그 시리즈의 뒷부분에서 HSM에 대해 자세히 설명하겠습니다.

전체 작업의 가장 중요한 부분을 최종적으로 수행할 모든 준비가 완료되었습니다. 사용자 시드의 세 공유를 전송합니다.

다시 한 번 새로운 보안 채널을 생성하지만 이번에는 사용자의 Ledger 장치와 백업 공급자의 HSM 사이에 있습니다. 직접. 시드 공유는 엔드투엔드 암호화 채널을 통해 최종 저장 위치로 전송되며 올바른 목적지에 도달하고 있음을 보장합니다. 일부 1 유용하다).
사용자의 장치는 백업 공급자의 HSM을 하나씩 인증하고 백업 공급자는 이 특정 백업 요청을 시작한 고유한 공식 원장 장치와 교환하고 있음을 알고 있습니다.
사용자의 장치와 백업 공급자의 HSM 외에는 상호 인증된 보안 채널의 대칭 키로 암호화된 시드 공유를 볼 수 없습니다. Orchestrator도 마찬가지입니다.

안전하게 수신… 저장?

이 부분에서는 몇 가지 새로운 개념을 소개했으며 그 중 일부는 상당히 기술적인 것입니다. 이러한 각 개념은 교환의 기밀성과 무결성을 보장하는 안전한 전송을 설정하는 데 필요합니다. 네트워크의 안전과 관계없이 우리는 이제 변조되거나 가로챌 수 있다는 두려움 없이 비밀 공유를 보낼 수 있습니다.. 그것은 꽤 업그레이드입니다!

전체 프로세스는 각 백업 공급자가 소유한 Ledger 하드웨어 장치 및 HSM의 형태로 건전한 암호화 및 보안 하드웨어로 뒷받침됩니다.

이제 시드 공유를 복구할 때입니다! 우리가 해야 할 일은 백업 공급자에게 인프라에 저장하고 있는 공유를 다시 보내달라고 요청하는 것뿐입니다…

하지만 잠깐만요. 이 매우 민감한 데이터를 정확히 어떻게 저장하고 있을까요? 우리에게 가장 안전한 통신 채널이 있다면 아무 소용이 없을 것입니다. 하지만 우리의 백업 제공업체는 공유를 일반 텍스트로 유지하고 도난을 간청하고 있었습니다.

따라서 회복에 대해 이야기하기 전에 – 우리는 거기에 도달할 것이라고 약속합니다! –, 우리는 유휴 상태의 시드 공유의 보안에 대해 논의하기 위해 3부에서 빠르게 우회해야 합니다. 계속 지켜봐!

spot_img

최신 인텔리전스

spot_img