모든 글

읽는 데 6분

공유 팀 신원: 하나의 신원, 여러 사람

팀은 신원 시드를 공유함으로써 CardanoWall 신원을 공유할 수 있습니다. 하지만 이는 보유자 모두에게 완전한 서명·복호화 권한을 넘기는 것이며, 부분적 회수나 사람별 회수는 불가능합니다.

팀은 CardanoWall 신원을 공유할 수 있습니다. 하지만 신원을 공유한다는 것은 신원 시드를 공유한다는 뜻입니다. 그보다 가벼운 형태는 존재하지 않습니다.

시드를 넘기는 것은 권한 전체를 위임하는 일입니다. 시드를 보유한 사람은 누구든 그 신원으로 레코드에 서명할 수 있고, 그 신원으로 향한 봉인된 레코드를 복호화할 수 있습니다. CardanoWall은 여러 계정에 걸친 작업 흐름을 편리하게 만들 수는 있지만, 하나의 시드를 부분적이고 회수 가능하며 사람별로 제한되는 권한으로 바꾸지는 못합니다. 암호학은 그렇게 작동하지 않습니다.

따라서 공유된 권한이 정확히 원하는 바일 때에만 공유 신원을 사용하십시오.

공유 팀 신원이란 무엇입니까?

두 명 이상의 사람 또는 두 개 이상의 계정이 함께 쓰는 하나의 Label 309 신원입니다.

Label 309 신원은 단일 32바이트 신원 시드에 뿌리를 둡니다. 그 시드를 가져오는 사람은 누구나, 어떤 계정에서든 어떤 호환 도구에서든 동일한 서명 키와 동일한 수신 키를 다시 만들어 냅니다. 시드만으로 신원이 정의되므로, 신원은 하나의 CardanoWall 계정에 묶여 있지 않습니다.

뉴스룸은 이런 방식으로 "Press Team" 신원을 운영할 수 있습니다. 선임 편집자가 신원을 생성하고 시드를 저장한 뒤, 신뢰할 수 있는 채널로 선별된 동료들에게 공유합니다. 동료들은 각자 자신의 계정으로 시드를 가져오고 자신의 패스키로 잠금을 해제합니다. 그 시점부터 그들 모두는 동일한 암호학적 신원을 보유하게 됩니다.

모든 시드 보유자는 무엇을 할 수 있습니까?

그 신원이 할 수 있는 모든 것을 할 수 있습니다. 시드는 뿌리이지, 범위가 제한된 권한이 아닙니다.

모든 보유자는 다음을 할 수 있습니다.

  • 그 신원으로 새 Label 309 레코드에 서명합니다.
  • 그 신원으로 향한 봉인된 레코드를 복호화합니다.
  • 잠금을 해제한 뒤 들어오는 봉인된 레코드를 읽습니다.
  • 시드를 다시 내보내 다른 사람에게 전달합니다.
  • 오픈소스 CLI 같은 다른 호환 도구로 신원을 가져옵니다.
  • 신원의 수신 주소를 어디에든 게시합니다.

이는 제한된 권한과 회수 버튼으로 누군가를 워크스페이스에 초대하는 것과는 다릅니다. "읽기 전용"이나 "게시는 하되 복호화는 불가" 같은 등급은 없습니다. 시드를 보유하면 신원 전체를 보유하는 것입니다.

공유 신원이 합리적인 경우는 언제입니까?

외부 세계가 한 사람이 아니라 어떤 역할을 대표하는 하나의 신원을 보아야 할 때입니다.

다음과 같은 경우가 타당합니다.

  • 뉴스룸 접수 주소
  • 법무 부서의 증거 신원
  • 보안 취약점 공개 연락처
  • 감사 위원회 신원
  • 컴플라이언스 팀 신원
  • 회사 기록물 신원
  • 소규모 프로젝트의 공유 신원

이러한 각 경우에서 외부에 노출되는 신원은 하나의 기능 또는 팀을 대표하며, 그 뒤에 여러 사람이 서 있다는 사실이 바로 핵심입니다.

공유 신원의 위험은 무엇입니까?

귀속이 공유되고, 노출 또한 공유됩니다.

여러 사람이 같은 신원으로 서명할 수 있다면, 외부 검증기는 언제나 하나의 Ed25519 공개 키만 봅니다. 어느 사람이 시드를 사용했는지는 체인에 기록되지 않습니다. 그것이 팀이 정확히 원하는 바일 수도 있고, 상황에 따라서는 실제 책임성 문제가 될 수도 있습니다.

나머지 위험도 같은 뿌리에서 비롯됩니다.

  • 어느 한 구성원이 고의로든 실수로든 시드를 유출할 수 있습니다.
  • 손상된 기기 하나가 신원 전체를 손상시킬 수 있습니다.
  • 한때 구성원이었던 사람이 팀을 떠난 뒤에도 사본을 보관할 수 있습니다.
  • 그 신원으로 보낸 모든 봉인된 레코드를 모든 시드 보유자가 읽을 수 있습니다.
  • 키 교체 수단이 없습니다. 키를 바꾼다는 것은 새 신원으로 옮긴다는 뜻입니다.

공유된 권한도 잘 작동하지만, 이를 뒷받침할 운영상의 규율이 필요합니다.

CardanoWall은 여러 계정에 걸쳐 이를 어떻게 처리합니까?

각 계정은 공유 신원의 자체 암호화된 사본을 보관합니다.

두 사람을 Alice와 Bob이라고 하고, 둘 다 같은 시드를 가져온다고 합시다. 그러면 각 계정은 자체 계정-신원 연결과 자체 암호화된 볼트를 갖습니다. Alice의 패스키는 Alice의 볼트를 열고, Bob의 패스키는 Bob의 볼트를 엽니다. 동일한 암호학적 신원이 두 계정에 그저 나타날 뿐, 둘 사이에 공유되는 서버 측 상태는 없습니다.

기존 신원을 연결하려면, 가져오는 측은 자신이 실제로 시드를 보유하고 있음을 증명해야 합니다. 단지 공개 키를 안다는 것만으로는 부족합니다. 공개 키는 누구나 프로필이나 체인에서 읽을 수 있기 때문입니다. 연결이 생성되기 전에, 계정은 시드에서 파생된 키로 일회성 서버 챌린지에 서명합니다. 이로써 공개 키만 아는 사람이 신원을 연결하는 것을 막으면서도, 진짜 시드 보유자는 연결할 수 있게 합니다.

표시 레이블은 각 계정에 비공개로 유지됩니다. Alice는 신원에 "Press Team"이라는 레이블을 붙일 수 있고, Bob은 "Intake"라고 붙일 수 있습니다. 이러한 레이블은 각 계정의 암호화된 볼트 안에 있을 뿐 공개 신원에는 절대 들어가지 않으므로, 어느 계정도 다른 계정의 레이블을 볼 수 없고 데이터베이스 침해가 일어나도 어느 것도 드러나지 않습니다.

청구도 계정별로 유지됩니다. Alice가 자신의 계정에서 게시하면 Alice의 계정이 지불합니다. 공유 잔액은 없습니다. 어차피 시드를 가진 사람이라면 누구나 게시할 수 있는 이상, 암호학적으로 강제할 수 있는 잔액이란 존재할 수 없기 때문입니다.

공유 신원을 한 사람에게서 회수할 수 있습니까?

암호학적으로는 불가능합니다. 그 사람이 이미 시드를 알아 버린 뒤라면 더더욱 그렇습니다.

CardanoWall은 계정의 볼트에서 신원을 제거하거나, 패스키를 제거하거나, 특정 계정에서 신원을 비활성화할 수 있습니다. 이것들은 실재하는 서비스 계층의 제어 수단이며, 직접 통제하는 계정에서는 의미가 있습니다.

하지만 이 가운데 어느 것도, 이미 누군가의 비밀번호 관리자, 출력물, 기억, 백업, 데스크톱 도구, 또는 두 번째 계정 안에 자리 잡은 시드 사본에는 닿지 못합니다. 32바이트에 대한 지식은 되돌릴 수 없습니다.

따라서 시드를 보유했던 사람이 더 이상 권한을 가져서는 안 된다면, 정직한 선택은 새 신원을 생성하고 옛 신원을 폐기하는 것입니다. 옛 시드를 다시 비밀로 만들 수 있는 척하는 것이 아닙니다.

공유 신원을 위한 좋은 절차는 무엇입니까?

시드는 본래 높은 가치를 지닌 공유 비밀입니다. 그에 걸맞게 다루십시오.

누군가 시드를 공유하기 전에 팀은 다음을 합의해야 합니다.

  • 누가 시드를 보유해도 되는지
  • 시드를 어떻게 전달하는지(대면, 또는 종단 간 암호화)
  • 권위 있는 백업 사본이 어디에 보관되는지
  • 누가 신원을 계정에 추가해도 되는지
  • 어떤 패스키가 각 계정의 볼트를 여는지
  • 누가 그 신원으로 게시해도 되는지
  • 누군가 떠날 때 어떻게 하는지
  • 신원을 언제 교체해야 하는지
  • 새 공개 키를 어디에 공지하는지

사고나 인력 변동이 압박 속에서 결정을 강요하기 전에, 이 내용을 미리 적어 두십시오.

팀이 하나의 공유 신원을 모든 일에 사용해야 합니까?

대개는 그렇지 않습니다.

신원을 분리하면 작업 흐름이 깔끔해지고 피해가 봉쇄됩니다. 회사는 보안 취약점 공개에 하나의 신원을, 법적 증거에 또 다른 신원을, 공개 릴리스에 또 다른 신원을, 내부 감사에 또 다른 신원을 운영할 수 있습니다.

이러한 분리는 피해 범위를 제한합니다. 한 신원이 손상되더라도 나머지가 자동으로 그 손상을 물려받지는 않습니다. 또한 주소록화이트리스트 모드를 더 쉽게 파악할 수 있게 합니다. 각 신원이 분명하고 좁은 목적을 갖기 때문입니다.

팀 구성이 바뀔 때는 어떻게 합니까?

새 신원을 생성하십시오. 옛 시드에 대한 지식은 회수할 수 없으므로, 깔끔하게 끊어내는 것이 유일한 진짜 해법입니다.

공유 신원이 손상되었거나, 이전 보유자가 접근 권한을 잃어야 할 때의 절차는 다음과 같습니다.

  1. 새 신원을 생성하고 그 새 시드를 저장합니다.
  2. 새 시드를 여전히 보유해야 할 구성원에게만 공유합니다.
  3. 공개 프로필, 수신 주소, 연락처를 새 키로 갱신합니다.
  4. 직접 통제하는 계정에서 옛 신원을 비활성화합니다.
  5. 옛 수신 주소 사용을 중단합니다.
  6. 선택적으로, 새 신원으로 옛 신원을 대체하는 레코드를 게시합니다.

옛 키로 이미 향한 봉인된 레코드는, 옛 시드를 한 번이라도 보유했던 모든 사람이 계속 읽을 수 있습니다. 여러분이 내보내려는 바로 그 사람까지 말입니다. 이는 장기 공개 키로 암호화하는 데서 비롯되는 성질이지, 패치로 고칠 수 있는 버그가 아닙니다. 이를 전제로 계획하십시오. 옛 시드의 공유를 없던 일로 되돌릴 수 있는 척하지 마십시오.

짧게 요약하면

공유 팀 신원은 강력하면서도 무딥니다.

이는 팀이 여러 계정과 기기에 걸쳐 하나의 공개 Label 309 신원을 운영하게 해 줍니다. 하지만 시드를 가진 사람은 누구나 완전한 서명·복호화 권한을 가지며, 그 권한은 부분적으로 부여되거나 조용히 회수될 수 없습니다.

공유된 권한이 진정으로 필요한 역할에는 공유 신원을 사용하십시오. 책임성, 분리, 교체가 더 중요한 경우에는 언제나 별도의 신원을 사용하십시오.

더 읽을거리

cardanowall-guidesidentityteams