ATProto 아이덴티티 소유권 및 PDS 키 관리 위험

ATProto 아이덴티티 소유권 및 PDS 키 관리 위험

PDS 운영자는 사용자 아이덴티티에 대한 완전한 통제권을 가짐

현재 AT Protocol (ATProto) 아키텍처에서는 개인 데이터 서버(PDS) 운영자가 호스팅하는 모든 사용자의 서명 키와 회전 키를 모두 보유합니다. PDS가 사용자의 레포지토리(게시물, 좋아요, 팔로우 등)에 대한 모든 커밋에 서명하기 때문에, 운영자는 정당한 활동과 암호학적으로 구분할 수 없는 방식으로 사용자를 가장할 수 있습니다.

이 통제는 단일 애플리케이션에 국한되지 않습니다. ATProto가 Bluesky, Tangled, Grain, Leaflet 등 여러 앱의 기반으로 설계되었기 때문에, 하나의 손상된 PDS 운영자는 생태계 전반의 모든 애플리케이션에서 사용자를 가장할 수 있습니다. 이는 악의적인 운영자나 영장으로 명령받은 국가 행위자가 유효한 암호 서명을 사용해 선동적인 콘텐츠를 게시하거나, 레포지토리에 무단 접근을 부여하거나, 사기성 블로그 포스트를 발행하는 등 심각한 보안 취약점을 초래합니다.

전체 아이덴티티 삭제 위험

위장 외에도 회전 키를 보유함으로써 PDS 운영자는 사용자를 자신의 아이덴티티에서 차단할 수 있습니다. 전통적인 플랫폼 차단은 단일 서비스에만 영향을 미치지만(예: X에서 차단당해도 GitHub 계정은 영향을 받지 않음), PDS 운영자는 회전 키를 변경하거나 분산 식별자(DID)를 다른 PDS로 지정함으로써 사용자의 ATProto 기반 모든 애플리케이션과의 상호작용을 영구적으로 차단할 수 있습니다.

데이터 이동성 vs. 키 주권

데이터 이동성과 아이덴티티 주권은 중요한 차이가 있습니다. ATProto는 사용자가 레포지토리 호스팅 제공자(PDS)를 다른 서버로 옮길 수 있게 하여 ActivityPub과 같은 다른 프로토콜에서 흔히 발생하는 데이터 이동성 문제를 해결하지만, 기본적으로 키 주권을 제공하지는 않습니다.

대부분의 사용자는 키 관리가 복잡하기 때문에 편의성을 위해 주권을 포기합니다. 그러나 현재 기본 설정은 전체 시스템의 보안이 PDS 운영자에 대한 신뢰에 달려 있음을 의미합니다. 운영자가 손상되면 해당 PDS에 호스팅된 모든 계정이 통합된 모든 애플리케이션에 노출됩니다.

완화 전략 및 제안된 변경 사항

사용자는 PDS 키보다 높은 우선순위를 갖는 자체 제어 회전 키를 구현함으로써 이러한 위험을 완화할 수 있습니다. 이를 통해 사용자는 서명 키를 회전하고 현재 운영자가 악의적일 경우 DID를 새로운 PDS로 이동할 수 있습니다. 그러나 이는 기본 구성에 포함되지 않으며 표준 클라이언트 온보딩 흐름에도 통합되어 있지 않습니다.

ATProto의 보안 태세를 개선하기 위해 다음과 같은 변경을 권장합니다:

  • 기본 회전 키 등록: 백업 회전 키 등록을 계정 생성 과정의 표준 부분으로 만들기.
  • 클라이언트 측 통합: 키 관리 도구를 API 수준 기능이 아닌 클라이언트에 직접 내장하기.
  • 감사 가능성: 사용자가 PDS가 자신을 대신해 서명한 내용을 명확하고 투명하게 감사할 수 있는 방법 제공.
  • 문서화: 프로토콜 문서에 PDS가 사용자 키를 보유함에 따른 함의를 명시적으로 기술하기.

커뮤니티 관점 및 반론

이러한 위험에 대한 기술적 논의는 절대적인 주권을 중시하는 입장과 사용성을 위한 위험 감수를 받아들이는 입장 사이의 갈등을 드러냅니다.

현재 모델에 대한 주장

일부 기여자는 이 신뢰 모델이 웹 전반의 운영 방식과 일치한다고 주장합니다. 그들은 사용자가 이미 GitHub이나 Google과 같은 중앙화된 엔터티에 아이덴티티를 맡기고 있으며, PDS 운영자가 악의적으로 행동할 위험이 제3자 계정 탈취 위험보다 낮다고 지적합니다. 또한, 사용자가 자체 "우버키"를 관리하도록 강제하면 키를 분실하거나 백업하지 않을 경우 영구적인 계정 손실이 발생할 수 있다고 주장합니다.

자체 호스팅에 대한 주장

여러 커뮤니티 구성원은 고위험 사용자(언론인, 정치인, 오픈소스 유지보수자 등)를 위해 자체 호스팅을 통해 위험을 해결할 수 있다고 강조합니다. PDS는 라즈베리 파이와 같은 저비용 하드웨어나 Docker와 SQLite를 이용한 작은 VM에서도 실행될 수 있기 때문에, 높은 보안을 요구하는 사용자는 직접 키를 관리하면 됩니다.

대체 아이덴티티 모델

일부 비평가는 ATProto의 DID 사양 접근이 미흡하다고 지적하며, 마스터 서명 아이덴티티와 제한된 CRUD 권한을 가진 하위 DID 간의 계층적 관계가 더 안전한 아키텍처가 될 수 있다고 제안합니다. 또 다른 의견은 Farcaster가 이더리움 블록체인 상의 스마트 계약을 활용해 아이덴티티 복구와 관리를 구현한 것이 현재 ATProto의 키 회전 시스템보다 더 견고하다고 주장합니다.

요약: AT Protocol (ATProto)은 현재 중요한 서명 및 회전 키를 개인 데이터 서버(PDS) 운영자에게 위임하고 있어, 운영자가 전체 생태계 전반에 걸쳐 사용자를 가장할 수 있는 시스템적 위험을 초래합니다.

제목: ATProto 아이덴티티 소유권 및 PDS 키 관리 위험

Sources