모든 글

읽는 데 9분

수신 주소란 무엇입니까?

수신 주소는 누군가가 봉인된 Label 309 레코드를 보낼 때 사용하는 공개 주소입니다. 공유해도 안전하며, 비공개 신원 시드와 달리 시드를 절대 노출하지 않습니다.

수신 주소는 누군가가 봉인된 Label 309 레코드를 보낼 때 사용하는 공개 주소입니다.

이 주소는 사람, 기업, 자동화 시스템 누구에게나 건넬 수 있습니다. 상대는 이 주소로 봉인된 증명을 암호화하여 오직 본인만 열 수 있게 만듭니다. 반대로 이 주소만으로는 할 수 없는 일도 있습니다. 다른 봉인된 레코드를 읽거나, 본인의 신원으로 서명하거나, 신원 시드를 복구할 수는 없습니다. 수신 주소는 공개 키일 뿐, 비밀이 아닙니다.

규칙은 한 줄로 요약됩니다. 수신 주소는 공유하고, 신원 시드는 보호하십시오.

수신 주소는 무엇에 쓰입니까?

수신 주소는 봉인된 레코드를 어떻게 암호화해야 오직 본인만 복호화할 수 있는지 발신자에게 알려 줍니다.

CardanoWall에서 봉인된 레코드란 콘텐츠가 암호화된 존재 증명입니다. Cardano 블록체인은 그 레코드가 특정 블록 타임에 존재했음을 여전히 증명하고 평문의 해시를 확약하지만, 파일 자체는 암호화된 채로 온체인 바깥의 콘텐츠 주소 지정 위치에 보관됩니다.

발신자가 다른 누구도 아닌 오직 본인만 나중에 그 파일을 열 수 있게 하려면, 게시하기 전에 수신 주소 중 하나를 수신자로 추가합니다. 그러면 발신자의 소프트웨어가 파일의 암호화 키를 수신 키로 감쌉니다. 이후 본인의 클라이언트가 그 레코드를 자기 것으로 인식하여 로컬에서 복호화한 뒤 보여 줍니다.

따라서 수신 주소는 CardanoWall이 사용자를 대신해 호스팅하는 사서함이 아닙니다. 누구든 우리를 거치지 않고 콘텐츠를 봉인해 보낼 수 있게 해 주는 공개 암호화 주소입니다.

수신 주소는 비밀입니까?

아닙니다. 공유하라고 만든 것입니다.

수신 주소는 명함에 적거나, 메시지에 붙여 넣거나, 인쇄하거나, 프로필에 게시하거나, 특정 발신자 한 명에게 건넬 수 있습니다. 이 주소를 가진 사람은 누구나 본인에게 보낼 봉인된 레코드를 암호화할 수 있으며, 바로 그것이 핵심입니다.

상대가 할 수 없는 일도 그만큼 중요합니다. 수신 주소를 가진 사람은 본인에게 봉인된 레코드를 읽지 못하고, 그 주소에서 비공개 키를 도출하지 못하며, 본인의 신원으로 레코드에 서명하지도 못합니다. 이 주소는 키 쌍의 한쪽일 뿐이고, 무언가를 여는 나머지 한쪽은 사용자의 기기를 절대 떠나지 않습니다.

지켜야 할 비밀은 신원 시드이지 수신 주소가 아닙니다. (왜 시드가 모든 것의 뿌리에 있는지는 신원은 곧 시드입니다 글을 참고하십시오.)

수신 주소는 어떤 모양입니까?

Label 309는 age 암호화 생태계의 수신 주소 형식을 그대로 사용하며, 소문자 Bech32 문자열로 인코딩합니다.

클래식 수신 주소는 age1로 시작합니다.

age1...

하이브리드 포스트 양자 수신 주소는 age1pqc로 시작합니다.

age1pqc1...

실제 문자열은 위 예시보다 훨씬 깁니다. 특히 하이브리드 주소는 공개 키가 담는 자료가 훨씬 많기 때문에 더 깁니다. 접두사를 보면 소프트웨어가 어떤 종류의 수신자 키를 다루고 있는지 알 수 있습니다.

가장 중요한 시각적 구분은 대소문자입니다.

  • 공개 수신 주소는 소문자입니다. age1...age1pqc1...처럼 표기됩니다.
  • 비공개 신원 시드는 대문자 L309-SEED-1... 표시 형식을 사용합니다.

이는 age에서 빌려 온 의도적인 관례로, age에서는 비밀은 대문자로, 공개 주소는 소문자로 표시합니다. 이 페이지에서 다른 건 다 잊어도 이것만은 기억하십시오. 소문자 age1... 문자열은 공유해도 되지만, 대문자 L309-SEED-1... 문자열은 신원 전체를 통제하는 비밀입니다. 두 번째 문자열을 첫 번째 문자열 자리에 절대 붙여 넣지 마십시오.

클래식 주소와 포스트 양자 주소가 둘 다 있는 이유는 무엇입니까?

어떤 봉인된 레코드는 아주 오랫동안 비공개로 유지되어야 하는데, 바로 그 "오랫동안"이라는 지점에서 미래의 컴퓨터가 걱정거리가 되기 때문입니다.

age1... 주소는 클래식 X25519 수신 경로입니다. 간결하고, age 도구와 폭넓게 호환되며, 일상적인 용도에 잘 맞습니다.

age1pqc1... 주소는 하이브리드 포스트 양자 수신 경로입니다. X25519를 격자 기반 방식(ML-KEM-768, X-Wing이라는 쌍)과 결합합니다. 공개 키가 더 크기 때문에 길이가 길며, 그 목적은 오늘 암호문을 수집해 두었다가 나중에 양자 컴퓨터로 깨려는 미래의 공격자에 맞서 봉인된 페이로드에 더 강력한 선택지를 주는 것입니다.

그렇다고 누구든 영구적인 보안을 장담할 수 있다는 뜻은 아닙니다. 암호학은 계속 발전하며, 정직한 서비스라면 그렇지 않다고 약속하지 않습니다. 정확한 주장은 봉인된 페이로드에 대한 알고리즘 민첩성과 하이브리드 포스트 양자 선택지입니다. Label 309는 확장 가능한 레지스트리에서 알고리즘을 이름으로 참조하므로, 기존 레코드를 깨뜨리지 않고도 새 알고리즘을 추가할 수 있습니다. 일반적인 콘텐츠라면 클래식 경로로 충분합니다. 민감하거나 오래 보존할 데이터라면, 제품이 제공할 때 더 강력한 수신 모드를 우선하십시오.

누군가가 어떻게 봉인된 레코드를 보냅니까?

흐름은 짧고, 제공하는 것은 언제나 공개 쪽 절반뿐입니다.

  1. 발신자에게 수신 주소 중 하나를 건넵니다.
  2. 발신자가 봉인된 CardanoWall 레코드를 작성하고 본인의 주소를 수신자로 추가합니다.
  3. 발신자의 소프트웨어가 파일을 암호화하고 그 암호화 키를 수신 키로 감쌉니다.
  4. 암호문은 온체인 바깥의 콘텐츠 주소 지정 위치에 저장됩니다.
  5. Cardano에 Label 309 레코드가 게시되며, 평문 해시와 감싼 키를 담습니다. 파일도, 본인의 주소도 결코 담기지 않습니다.
  6. 이후 본인의 클라이언트가 자기 키를 로컬에서 그 레코드에 대조해 보며 레코드를 발견합니다.
  7. 키가 레코드를 열면 파일을 복호화할 수 있습니다.

이 과정 어디에서도 발신자가 신원 시드를 알 필요가 없고, 게이트웨이가 비공개 키를 알 필요가 없으며, 블록체인이 읽을 수 있는 "수신자" 필드를 보여 줄 필요가 없습니다. (수신 측 전 과정은 봉인된 레코드를 받는 방법 글을 참고하십시오.)

나에게 보내진 레코드를 어떻게 찾습니까?

클라이언트는 로컬에서 키를 시험해 보며 레코드를 찾습니다. 이를 시험 복호화라고 합니다.

이는 봉인된 Label 309 레코드의 가장 강력한 프라이버시 속성 중 하나입니다. 수신자와 레코드를 매핑하는 서버 측 데이터베이스가 없고, 수신자를 지목하는 온체인 필드도 없습니다. 레코드를 받기 위해 누군가가 그것을 "내 계정으로" 전달해 줄 필요가 없습니다.

대신 클라이언트는 공개 레코드 피드에서 봉인된 레코드를 읽고, 각 레코드마다 수신 키를 감싼 키 슬롯에 조용히 대조해 봅니다. 어떤 레코드에 내 키로 열 수 있는 슬롯이 들어 있으면 그 레코드가 받은편지함에 나타납니다. 그렇지 않으면 클라이언트는 아무것도 알아내지 못하고 다음으로 넘어갑니다.

그래서 받은편지함 모델은 "서버가 이 레코드를 나에게 전달해 주었다"보다 "내 소프트웨어가 이 레코드를 열 수 있다"에 가깝습니다. 인식은 내 기기에서 내 키로 일어나며, 어떤 레코드가 내 것인지를 관찰자에게 결코 드러내지 않습니다.

발신자는 그 주소가 정말 내 것인지 압니까?

본인에게서 직접 받았거나, 이미 신뢰하는 출처에서 얻은 경우에만 그렇습니다.

수신 주소 자체는 그저 공개 키 문자열일 뿐입니다. 그것은 현실 세계의 신원을 증명하지 않습니다. 웹사이트, 프로필, 인쇄된 명함, 메시지에서 주소를 복사했다면, 그 주소가 정말로 본인이 생각하는 사람이나 조직의 것인지는 여전히 스스로 판단해야 합니다.

민감한 사안이라면, 의존하기 전에 수신 주소를 대역 외 경로로 확인하십시오. 통화로 키의 지문을 소리 내어 읽어 맞춰 보거나, 직접 만나 확인하거나, 그 조직이 분명히 관리하는 페이지를 점검하거나, 본인이 관리하는 주소록에서 조회하는 방법이 있습니다. 키 옆에 적힌 이름은 그것을 적은 사람의 주장일 뿐이며, 암호학적 보증이 아닙니다. 같은 표시 이름을 쓰는 두 사람도 서로 다른 키 바이트를 만들어 냅니다.

보증할 수 없는 채널에 누군가가 올렸다는 이유만으로 매우 민감한 봉인 파일을 그 주소로 보내지 마십시오. 짝을 이루는 안내서인 파일을 봉인하기 전에 수신자를 확인하십시오가 이 단계를 자세히 다룹니다.

수신 주소를 여러 개 둘 수 있습니까?

가능합니다. 두 가지 방식이 있습니다.

각 Label 309 신원은 자신의 수신 키에서 도출된 수신 주소를 노출합니다. 클래식 age1... 주소와, 선택적으로 하이브리드 age1pqc1... 주소입니다. 또한 한 사람이나 한 기업이 여러 신원을 보유할 수 있으며, 각 신원은 저마다의 시드와 저마다의 주소를 가집니다.

이를 통해 맥락을 깔끔하게 분리할 수 있습니다. 예를 들면 다음과 같습니다.

  • 개인 레코드와 업무 레코드;
  • 법적 증거 접수;
  • 기자의 비밀 제보 창구;
  • CI/CD 자동화;
  • 파트너 전용 채널.

분리해 두면 작업 흐름이 서로 뒤섞이지 않고, 운영 보안을 따지기도 쉬워집니다. 한 신원을 폐기해도 나머지 신원은 영향을 받지 않습니다.

신원을 바꾸면 어떻게 됩니까?

신원 시드는 곧 신원 그 자체입니다. 새 신원을 만들면 새 시드와 새 수신 주소가 생기며, 하나의 신원 뒤에서 시드를 제자리에서 "교체"하는 방식은 없습니다.

이는 지난 우편물에 중요한 의미가 있습니다. 이전 신원에 봉인된 레코드는 여전히 그 신원의 시드와 수신 키로만 열 수 있습니다. 새 신원이 예전 신원에 봉인된 레코드를 복호화하는 능력을 물려받지는 않습니다.

그래서 신원 수명 주기를 이해해 둘 가치가 있습니다. 어떤 신원으로 서명하거나 게시하기에 더는 안전하지 않다면, 그 신원을 비활성화할 수 있습니다. 그러면 새로운 서명과 게시에는 더 이상 쓸 수 없지만, 볼트에 그대로 남아 봉인된 콘텐츠는 계속 복호화할 수 있습니다. 비활성화 이전에 받은 레코드와 이후에 도착하는 레코드 모두 마찬가지입니다. 반대로 신원을 삭제하고 그 시드의 백업을 하나도 남기지 않으면, 그 신원에 봉인된 콘텐츠는 읽을 수 없게 됩니다. 시드가 그것을 열 수 있는 유일한 수단이었기 때문입니다. 그래도 게시된 증명은 변함없이 검증됩니다. 시드를 잃는다고 타임스탬프가 무효가 되지는 않습니다. 다만 그 신원에 봉인된 것을 복호화하는 능력은 잃게 됩니다.

수신 주소는 공개되어 있지만, 계속 수신하고 복호화하게 해 주는 것은 시드입니다.

수신 주소로 레코드에 서명할 수 있습니까?

아닙니다. 수신 주소는 암호화 전용입니다.

Label 309 키 모델에서는 32바이트 시드 하나가 서로 다른 작업을 위한 여러 키를 결정론적으로 도출합니다. 레코드에 서명하는 Ed25519 키, 그리고 봉인된 콘텐츠를 수신하는 X25519 키(및 선택적으로 X-Wing 키)입니다. 서명 키는 레코드를 보증하고, 수신 키는 봉인된 레코드를 엽니다. 둘은 같은 시드에서 나오지만 역할을 결코 맞바꾸지 않습니다.

이 분리는 시드 모델이 편리한 이유 중 하나입니다. 백업 하나로 신원 전체를 복원하면서도, 도출된 각 키는 명확하고 고정된 목적을 유지합니다. 덧붙이면, Label 309에서 서명은 언제나 선택 사항입니다. 봉인된 레코드는 작성자 서명을 담을 수도 있고 전혀 담지 않을 수도 있습니다.

관찰자는 블록체인에서 무엇을 알 수 있습니까?

누구나 Cardano의 공개 Label 309 레코드를 읽을 수 있습니다. 봉인된 레코드의 경우 관찰자는 그것이 봉인되었다는 사실, 게시된 블록 타임, 공개 평문 해시, 암호화 봉투 필드, 그리고 수신자 키 슬롯의 개수를 볼 수 있습니다.

관찰자가 볼 수 없어야 하는 것도 그만큼 분명합니다. 평문도, 본인을 수신자로 지목하는 읽을 수 있는 필드도, 비공개 키도 볼 수 없습니다. 수신 주소는 비공개 키를 결코 드러내지 않습니다.

다만 봉인된 레코드는 완전한 익명성 시스템이 아니며, 그렇게 말하는 것이 정직합니다. 슬롯 개수 자체는 "수신자가 몇 명인지"를 드러낼 뿐, "누구인지"는 결코 드러내지 않습니다. 그리고 레코드 바깥의 요인들, 즉 게시 시점, 결제 흐름, 네트워크 메타데이터, 게이트웨이 활동, 브라우저 동작, 흔한 운영상의 실수는 암호학이 결코 건드리지 않는 정보를 여전히 흘릴 수 있습니다. 수신 주소는 수신자 발견을 로컬에 두고 암호화하지만, 모든 외부 흔적을 지워 주지는 않습니다.

어떤 주소를 공유해야 합니까?

받고 싶은 봉인된 레코드의 종류에 맞는 수신 주소를 공유하십시오.

일상적이거나 호환성을 최대로 확보하려는 용도라면 보통 클래식 age1... 주소입니다. 민감하고 오래 보존할 데이터라면, 제공되는 경우 하이브리드 age1pqc1... 주소를 우선하고, 감싸기의 세부 처리는 제품에 맡기십시오.

그리고 절대로 어겨선 안 되는 한 가지가 있습니다. L309-SEED-1... 신원 시드를 수신 주소로 절대 공유하지 마십시오. 그것은 수신 주소가 아닙니다. 서명, 복호화 등 신원의 모든 것을 통제하는 비밀입니다. 게시하는 것은 소문자 age1... 문자열이고, 지키는 것은 대문자 시드입니다.

요약

수신 주소는 공개되어 있습니다. 신원 시드는 비공개입니다.

봉인된 레코드를 받고 싶을 때 사람들에게 수신 주소를 건네십시오. 데이터가 민감할 때는 그 주소를 대역 외 경로로 확인하십시오. 시드는 백업하고 보호해 두십시오. 시드야말로 호환되는 모든 소프트웨어, 즉 웹사이트, 명령줄 도구, 데스크톱 앱이 본인의 서명 키와 복호화 키를 복원하게 해 주는 단 하나의 아티팩트이기 때문입니다.

더 읽을거리

identitysealed-poelabel-309