암호화된 그룹에서 누군가를 제거하면 그 사람이 향후 보호된 메시지에 필요한 비밀 정보를 더 이상 받지 못해야 합니다. 남아 있는 송신자가 이전 멤버가 이미 아는 키 자료를 계속 사용한다면 멤버 목록만 바꿔서는 이를 달성할 수 없습니다.
불안정한 네트워크 전체에서 전환이 순간적으로 이루어지는 것도 아닙니다. 안전한 그룹 설계는 메시지가 어떤 멤버십 상태에 속하는지, 송신자가 제거를 처리하기 전에 어떻게 행동하는지 정의해야 합니다.
과거 메시지와 미래 메시지는 다른 문제입니다
이전 멤버는 권한이 있었을 때 받은 메시지, 파일, 키를 보관할 수 있습니다. 제거한다고 그 사람이 기록을 잊게 하거나 스크린샷을 지울 수는 없습니다.
달성 가능한 목표는 제거가 적용된 뒤의 새로운 암호학적 상태에서 그 사람을 제외하는 것입니다. 마찬가지로 누군가를 추가하면 과거 기록에 대한 접근권을 받는지라는 별도 질문이 생깁니다. 제품과 프로토콜은 전방향 비밀성 같은 용어를 서로 다른 맥락에서 사용하므로, 모호한 명칭보다 의도한 접근 규칙을 평이하게 설명하는 편이 더 명확할 때가 많습니다.
송신자 키 그룹에 새로운 상태가 필요한 이유
송신자 키 설계에서 각 참여자는 허용된 수신자들과 공유하는 체인으로 일반 그룹 메시지를 암호화할 수 있습니다. 이렇게 하면 전송할 때마다 전체 내용을 수신자별로 따로 암호화하지 않아도 됩니다.
제거된 뒤에도 이전 멤버는 기존 체인을 갖고 있을 수 있습니다. 따라서 남은 송신자에게는 제외된 멤버에게 배포되지 않는 대체 상태가 필요하고, 클라이언트에는 이를 사용할 때 합의된 멤버십 맥락이 필요합니다. 교체는 관련 송신자와 기기를 모두 포함해야 합니다. 서버 측 플래그 하나를 바꾸는 것으로는 충분하지 않습니다.
정확한 프로토콜이 중요합니다. RFC 9420에 명시된 MLS는 남은 멤버에게 새로운 엔트로피를 제공하는 커밋된 에포크 변경으로 제거를 처리합니다. 이는 정의된 상태 전환의 예이지 Livara가 MLS를 구현한다는 주장이 아닙니다.
Livara가 LGS1에 대해 문서화한 내용
Livara의 보안 페이지는 송신자마다 서명된 송신자 체인 하나를 두고, 송신자 키를 쌍별 LVR1 세션으로 배포한다고 설명합니다. 멤버십이 변경될 때 새로운 송신자 키를 만들고 배포한다고 명시합니다.
이는 공개된 키 갱신 설계에 관한 주장을 뒷받침합니다. 하지만 측정된 “즉시 철회” 시간을 확립하거나 모든 경쟁 상태, 오프라인 기기 시나리오, 재시도가 올바르게 처리됨을 입증하지는 않습니다. 이를 위해서는 구현 분석과 테스트가 필요합니다.
서버 측 멤버십 통제와 암호학적 제외도 역할이 다릅니다. 서비스는 전달이나 접근을 거부할 수 있으며, 암호화는 제외된 상대가 나중 암호문의 사본을 갖고 있어도 새로운 비밀 정보 없이는 열지 못하게 해야 합니다.
유용한 제거 테스트 계획
승인된 테스트 그룹에서 민감하지 않은 메시지로 다음 시나리오를 확인하세요.
| 시나리오 | 해결해야 할 질문 |
|---|---|
| 모두 온라인일 때 멤버 제거 | 새 멤버십 상태의 첫 메시지는 어느 것인가? |
| 남아 있는 송신자가 오프라인 | 다시 보내기 전에 멤버십과 키를 갱신해야 하는가? |
| 제거된 멤버가 나중에 재접속 | 새 송신자 키 배포를 받을 수 있는가, 아니면 과거에 허용된 내용만 받는가? |
| 여러 멤버가 동시에 변경 | 남은 모든 기기가 같은 상태로 수렴하는가? |
| 이전 메시지를 재시도 | 새 콘텐츠로 잘못 표시하지 않고 원래 에포크를 유지하는가? |
UI만 보는 테스트는 눈에 보이는 동작을 확인할 수 있지만, 그 자체로 암호학적 제외를 증명할 수 없습니다. 엄밀한 평가는 제외된 테스트 기기가 어떤 키와 암호문을 얻을 수 있는지 살펴봐야 합니다.
관리자가 기억해야 할 사항
불필요한 참여자를 제거하고 남은 멤버십을 검토하며, 앱이 변경을 처리할 때까지 새로운 민감한 자료를 보내지 마세요. 현재 참여자가 의도적으로 내용을 전달한다면 그룹 키 갱신으로 그 공개를 막을 수 없습니다.
고도로 민감한 용도라면 제공업체에 제거의 정확한 의미, 기기 철회 동작, 테스트 증거를 요청하세요. 중요한 약속은 미래 메시지에 대해 잘 정의된 경계이지, 제거 버튼이 과거의 모든 사본을 파괴한다는 근거 없는 주장이 아닙니다.


