결론부터
- 1일반 대화 키는 기기와 서버에, 비밀 대화 키는 두 기기에만.
- 2두 기기가 디피-헬먼으로 키를 만들고 그림·이모지로 확인한다.
- 3메시지 100개나 일주일이 지나면 새 키로 바꾸고 옛 키는 지운다.
키가 어디에 있느냐가 차이
| 대화 | 암호를 푸는 키가 있는 곳 | 결과 |
|---|---|---|
| 일반(클라우드) 대화 | 내 기기와 텔레그램 서버 | 서버에 저장돼 어느 기기에서든 이어 본다 |
| 비밀 대화 | 나와 상대의 기기 두 대에만 | 서버는 내용을 풀 수 없다 · 만든 기기에서만 보인다 |
비밀 대화도 서버를 거쳐 전달되지만, 서버는 잠긴 상자를 옮기기만 합니다. 이 차이를 사용자 눈높이로 보려면 비밀 대화와 텔레그램 암호화를 봅니다.
두 기기가 키를 만드는 법
- 내 기기가 비밀 대화를 요청하며 키 교환 재료(디피-헬먼 공개 값)를 서버를 통해 보냅니다.
- 상대 기기가 받아들이며 자기 재료를 보냅니다.
- 두 기기가 각자 같은 공유 키를 계산합니다. 서버는 재료만 옮겼기 때문에 키를 알 수 없습니다. 이 방식은 서버와의 인증 키를 만드는 원리와 같습니다(인증 키 만들기).
- 두 사람은 키에서 만든 그림·이모지를 비교해, 중간에 누가 끼어들지 않았는지 확인할 수 있습니다.
대화 중에 키를 바꾼다
한 키를 오래 쓰면, 나중에 그 키가 새었을 때 지난 메시지까지 풀릴 위험이 커집니다. 그래서 공식 앱은 한 키로 메시지를 100개 넘게 주고받았거나 일주일 넘게 썼으면 새 키로 바꾸고 옛 키는 지웁니다(완전 순방향 비밀성). 직접 만든 앱도 비밀 대화를 지원한다면 같은 규칙을 지켜야 합니다.
비밀 대화만의 특징
- 기기에 묶인다 — 계정이 아니라 그 기기의 세션에 묶이므로, 다른 기기에서는 보이지 않습니다.
- 순서 번호로 끼워 넣기·되풀이를 막는다 — 두 기기가 서로 보낸 메시지 순번을 따로 세어, 빠지거나 다시 보낸 메시지를 알아챕니다.
- 파일은 파일마다 다른 일회용 키 — 사진·파일은 대화 키와 별개인 무작위 키로 암호화해 올리고, 그 키만 대화로 보냅니다.
- 자동 삭제 타이머 — 읽은 뒤 정해진 시간이 지나면 양쪽 기기에서 지워지게 할 수 있습니다.
직접 구현할 때 지켜야 할 검사는 클라이언트 보안 지침, 프로토콜 전체 그림은 MTProto 한눈에에 있습니다.
자주 묻는 질문
텔레그램 비밀 대화는 서버가 내용을 볼 수 있나요?
없습니다. 키가 두 기기에만 있고 서버는 암호화된 내용을 옮기기만 합니다.
비밀 대화가 다른 기기에서 안 보여요.
비밀 대화는 계정이 아니라 만든 기기에 묶이기 때문입니다.
비밀 대화 키는 바뀌나요?
공식 앱은 한 키로 메시지 100개를 넘게 주고받았거나 일주일을 넘게 썼으면 새 키로 바꿉니다.
비밀 대화도 화면 캡처를 막을 수 있나요?
암호화는 서버와 경로를 막을 뿐, 상대 기기에서 찍거나 보는 것까지 막지는 못합니다.
참고한 공식 문서
요약
한눈에 정리
- 1키 위치
두 기기에만.
- 2만들기
디피-헬먼 · 그림 비교.
- 3바꾸기
100개 · 일주일.
최종 수정 2026-10-06