카카오톡 다중 테넌트 네이티브 서비스의 보안 모델, 신뢰 한계 및 알려진 위험에 대한 투명성 고지 문서입니다.
BETTER_AUTH_SECRET 보관자 포함)는 웹 세션을 위조하거나 제어 평면을 조작할 수 있습니다. 이에 대한 기술적 방어로 공개 소스 코드, 재현 가능한 빌드, 두 바이너리 해시 표시를 제공합니다.
kakaotalk-provision-helper) 범위:
root 헬퍼 데몬은 호스트 root 권한으로 실행되며 컨테이너 생성/삭제, systemd-creds 관리, 소켓(/run/kakaotalk-provision/provision.sock) 기반 프로비저닝 명령만을 처리합니다.
c6903a5b3be1a1cd80e1a0a1dc6fbf9e51f8f434d46ed5f1b338f614123275e8c6903a5b3be1a1cd80e1a0a1dc6fbf9e51f8f434d46ed5f1b338f614123275e8)
/health 엔드포인트에서 SHA-256을 조회하여 표시합니다.
재현 빌드 검사: 소스 코드로부터 동일한 바이너리 및 소스 해시를 재현하려면 아래 검사 스크립트를 실행합니다.
scripts/repro-check.sh
하드웨어 TPM(Trusted Platform Module 2.0)이 없는 호스트의 경우, master.key 파일 기반으로 credential이 보호됩니다. 따라서 호스트 디스크의 물리적 탈취 시 키 유출 위험이 존재합니다.
데이터베이스는 외부 제3자 클라우드인 Neon(AWS 리전)에 저장됩니다. 행 수준 보안(RLS) 및 AES-256-GCM 컬럼 레벨 암호화로 보호되지만, 데이터 저장 위치는 외부 인프라에 위치합니다.
테넌트별 DEK(Data Encryption Key)가 분실 또는 손상될 경우 암호화된 메시지 본문은 영구히 복구할 수 없습니다. 카카오 서버의 메시지 보존 기간이 만료된 이후에는 재동기화로도 메시지를 다시 복원할 수 없습니다.
테넌트 삭제 시 발급되는 삭제 영수증(shred_receipt: seq, hash)과 audit_anchors 해시 체인은 키 파기 및 롤 삭제가 영구 불변의 감사 로그 체인에 기록되었음을 증명합니다.
휴대폰 카카오톡 앱의 설정 > 개인/보안 > 기기 연결 관리 메뉴에서 언제든지 등록된 런타임 기기를 즉시 원격으로 연결 해제할 수 있습니다.
동일한 호스트 및 공용 IP 환경에서 다수의 카카오톡 계정을 동시에 운용할 경우 카카오 측의 비정상 로그인 및 다계정 탐지 정책에 의해 계정 이용이 제한될 수 있습니다.
message_tokens 검색 테이블은 결정적 HMAC-SHA256 해시 태그를 사용하므로, 동일한 단어는 동일한 해시를 갖게 되어 빈도 분석을 통한 정보 누출 한계가 존재합니다.
웹훅 기능이 활성화된 경우, 복호화된 카카오톡 메시지 평문 본문이 사용자가 지정한 외부 HTTPS 엔드포인트로 전송되므로 웹훅 수신 서버의 보안 관리가 필요합니다.
PostgreSQL advisory lock의 키 공간은 데이터베이스 전역이므로, 탈취된 다른 테넌트 런타임이 다른 테넌트의 advisory lock ID를 선점하여 기동을 방해(DoS)할 수 있는 가용성 위험이 존재합니다 (데이터 접근은 불가).
Neon 클라우드 환경에서는 pgaudit 확장을 preload할 수 없는 제약(S-20 blocker)으로 인해, "운영자 DB 특권 세션 발생 여부" 표시는 blocked 상태입니다.