최근 수정 시각 : 2024-12-10 06:41:01

Signal(메신저)

Signal Private Messenger에서 넘어옴
모바일 메신저 서비스
시그널
Signal
파일:Signal-updated-Ultramarine.svg
<colbgcolor=#3D58F2><colcolor=#fff> 개발사 Signal Messenger LLC
출시 2014년 7월 29일 ([age(2014-07-29)]주년)[1]
종류 인스턴트 메신저
계정 관리 휴대전화 번호기반[숨김가능]
주소록 관리 휴대전화 번호기반[숨김가능]
배포 방법 오픈 소스 프리웨어
라이선스 GNU AGPLv3
지원 운영체제
PC Microsoft Windows[4] | macOS[5] | Linux[6]
모바일 Android[7] | iOS[8] | iPadOS[9]
파일:홈페이지 아이콘.svg | 파일:Google Play 아이콘.svg | 파일:App Store 아이콘.svg | 파일:X Corp 아이콘(블랙).svg | 파일:인스타그램 아이콘.svg | 파일:GitHub 아이콘.svg 파일:GitHub 아이콘 화이트.svg

1. 개요2. 역사3. 기능
3.1. 메시지3.2. 스티커3.3. VoIP3.4. 스토리3.5. 사용자 검색3.6. 기타
4. 보안성5. 논란 및 사건사고
5.1. 데스크톱 앱 보안 취약점 방치 사건 (해결중)
6. 한계7. 텔레그램과의 비교8. 포크 버전9. 기타10. 관련 링크

[clearfix]

1. 개요

Speak Freely
자유롭게 말하다
미국의 Signal[10]사에서 개발 및 운영 중인 오픈 소스 인터넷 모바일 메신저. 태생 자체가 암호화 통신을 통한 도감청 방지를 위해 만들어진 메신저다.

텔레그램보다 뛰어난 보안성으로 유명해졌으며 텔레그램과 마찬가지로 비영리 프로젝트로 개발되었기 때문에 상업적인 부분에서 소비자의 편의를 침해하는 일은 발생하지 않는다.

2. 역사

2010년 설립된 모바일 보안업체 위스퍼 시스템즈(Whisper Systems)는 레드폰(Redphone) 메신저 서비스를 제공하고 있었는데 2011년 11월 28일, 해당 업체를 트위터가 인수하였다. 그러나 인수 직후에 레드폰 서비스를 이용할 수 없게 되면서 서비스가 갑자기 중단된 것에 대해 일부 이용자들의 비판을 받았다.

트위터는 인수 다음 달인 2011년 12월, 텍스트시큐어(TextSecure)라는 앱을 GPLv3 라이선스하에 무료 오픈소스 소프트웨어로 발표했다. 그리고 2012년 7월, 서비스 종료되었던 레드폰도 동일한 라이선스하에 발표되었다.

위스퍼 시스템즈의 설립자 목시 말린스파이크(Moxie Marlinspike)는 이후 트위터를 떠나 2013년 1월 21일 소프트웨어 조직 오픈 위스퍼 시스템즈(Open Whisper Systems)를 설립한다. 이는 텍스트시큐어와 레드폰의 지속적인 개발을 위한 공동 창안 프로젝트였다. 그로부터 2년 10개월 뒤인 2015년 11월, 해당 프로젝트에서 텍스트시큐어와 레드폰을 병합하여 출시한 것이 바로 시그널(Signal)이다.

3. 기능

3.1. 메시지

기본적으로 시그널 사용자들이 보내는 모든 메시지에 종단간 암호화 방식을 사용하며, 수신 후에는 서버에서 대화내용이 즉시 삭제되어 서버에 저장되지 않는다. 이미지, 스티커, 동영상, 연락처, 위치, 이 모든 것에 예외는 없다. 전송되는 모든 것은 종단간 암호화되어 전송된다.
  • 사라지는 메시지
    메시지를 읽고 설정한 시간이 지나면 자동으로 메시지가 삭제되는 기능이 있다. 설정에서 모든 새로 시작하는 채팅에 적용할 수도 있고, 이미 열린 채팅에 내가 직접 설정할 수 있다.
  • 이미지를 보낼 때, 이미지에서 얼굴을 가리거나, 색칠하거나, 자르거나 하는 기능들을 이미지 전송 전에 내장 편집기로 편집할 수 있다. 동영상은 자르기만 가능하다.
  • 한 번 보기 메시지
    받는 이가 메시지를 눌러 사진을 한 번 보고 나면 그 사진은 받는 이의 기기에서 바로 삭제된다.

메시지의 전송 상태를 나타내는 delivery indicators 기능과, 상대방이 메시지를 읽었는지 나타내는 읽은 메시지[11] 기능이 있다. "읽은 메시지"는 설정에서 비활성화할 수 있다. 내가 보낸 메시지의 오른쪽에 아래 아이콘이 뜬다.
delivery indicators
<colbgcolor=#3D58F2><colcolor=#fff>
파일:message_status_sending.png

대기 중
메시지가 전송 과정에 있음을 나타냅니다.
만약 이 표시가 오래 나타날 경우, 기기가 인터넷에 연결돼있는지 확인해주세요.
파일:시그널메시지전송완료.png

보냄
Signal service로 보내졌음을 나타냅니다.
이 아이콘이 보인다면, 당신의 폰의 연결에는 문제가 없습니다.
파일:시그널메시지받음.png

전달됨
메시지가 받는 이의 기기에 전달되었음을 나타냅니다.
파일:시그널메시지읽음.png

읽음
만약 당신과 상대방이 Read Receipts을 활성화 했다면,
상대방이 메시지를 읽었음을 나타냅니다.
  • Broadcast Media 기능
    동시에 여러 사람들과 그룹에 메시지를 보낼 수 있다. 시그널 홈에서 오른쪽 아래 카메라 버튼을 누르고, 사진이나 동영상을 촬영/녹화한 후 전송할 사람들을 선택할 수 있다.
  • 예약 메시지
    원하는 시간에 자동으로 메시지가 전송되게 할 수 있다. 다만 주의사항이 있다면 기기가 전원이 켜져있고, 인터넷에 연결되어 있어야 예약된 메시지를 예약 시간에 맞춰 전송할 수 있다. 그렇지 않다면 기기가 인터넷에 연결될 때 예약된 메시지가 전송된다.

3.2. 스티커

PC버전 시그널에서 스티커 만들기 메뉴로 들어가면, 이미지들[12]을 골라, 각 별로 설정할 이모지를 모든 이미지에 설정해야 등록할 수 있다. 이름과 제작자 이름을 넣고 나면 업로드되는데, 이후로는 스티커를 편집하거나 수정할 수 없다.

스티커는 기본적으로 몇가지가 들어있지만, 내가 원하는 스티커들, 예를 들어 디시콘이나 아카콘을 시그널로 옮길 수 있다.

스티커 업로드를 자동화 해주는 파이썬 클라이언트도 있다. #

스티커 모음 사이트도 있다. #

3.3. VoIP

Signal 메신저 사용자끼리는 음성 및 영상통화가 가능하다. 전화는 Wi-Fi 또는 모바일 데이터로 가능하며, 전화도 종단간 암호화 기술을 거친다. 당연히 통화내용이 서버에 기록되지 않는다. 통화 트래픽은 중앙 서버를 통하지 않고 P2P로 전송되므로 상대방에게 자신의 아이피가 보이게 된다. 자신의 IP 주소를 숨기기 위해 통화를 Signal 서버를 통하게 할 수 있지만 대역폭에 제한이 걸릴 수 있어 통화 품질이 낮아질 수 있다. 그룹 통화를 지원하지 않았지만 업데이트를 통해 그룹 영상 통화를 지원하도록 변경되었다. PC버전에서는 화면을 공유할 수 있다.

3.4. 스토리

스토리는 더 넓은 커뮤니케이션 환경에서 이러한 특정 기능과 다른 기능을 제공하기 위해 등장했으며, 우리 중 많은 사람들이 스토리를 서로 연결하는 방법 중 하나로 통합했습니다.
Story Time, 시그널 블로그

인스타그램이나 페이스북의 스토리와 비슷한 기능이다. 모든 스토리는 24시간 후에 삭제되며, 전송 대상을 내가 설정할 수 있다. 모두에게 공유할 수 있고, 일부 사용자를 제외하고 공유하거나 일부 사용자에게만 공유할 수 있다.

스토리는 Signal 커넥션과 공유할 수 있는데, 이는 다음의 방법을 통해 신뢰하는 사용자로 선택한 사람들을 의미한다.
  • 대화 시작
  • 메시지 요청 수락
  • 내 휴대폰 연락처에 저장

이런 커넥션은 나의 이름과 사진을 볼 수 있으며, 따로 숨기지 않는 한 내 스토리의 게시물을 볼 수 있다.

또한 그룹 스토리도 있어 그룹 멤버들과 스토리를 공유할 수 있다.

3.5. 사용자 검색

다른 사용자는 전화번호를 통해 찾거나, 고유한 username을 통해 찾을 수 있다. 각 사용자는 개인별로 지정된 유저네임에 따라 QR코드를 생성하고, QR코드를 공유하여 서로의 프로필을 공유할 수 있다.

3.6. 기타

  • 앱 아이콘 변경 가능
  • 전화번호 공개 여부 설정 가능

4. 보안성

모든 텍스트 메시지, VoIP 등 상대방에게 전달되는 모든 것에 종단간 암호화 방식을 사용하며, 수신 후에는 서버에서 대화내용이 즉시 삭제되어 서버에 저장되지 않는다.[13] 에드워드 스노든이 애용하는 메신저 앱으로도 유명하다. 또한 IS에서도(...) 가장 안전(safest) 등급으로 분류했다.[14] 또한 2018년 9월 4일 기준, https://privacytools.io/[15]에서도 추천하는 보안 메신저로 등재되어있다.[16] 그만큼 보안성이 입증된 메신저라는 것을 증명해준다. 텔레그램은 일반 채팅에 한해 수사 협조가 기술적으로 가능하지만 텔레그램 측에서의 수사 비협조로 인해 수사 협조가 안 되는거에 반해, 시그널 메신저는 수사 협조 자체가 기술적으로 불가능해서 수사 협조를 애초에 해줄 수가 없다는 것도 차이점이다. 전 세계 수사 기관에서 협조 요청이 들어오더라도 계정 생성 날짜와 최근 로그인 날짜만 제공하며, 해당 공문과 답변을 아예 홈페이지에 박제해둔다.

전화번호 형태의 계정이라 전화번호만 인증되면 계정을 만들 수 있으며, 앱을 삭제하거나 폰을 초기화하면 계정이 자동으로 비활성화 되어버린다. 보안성 때문에 당연히 1인 1기기만 지원한다.[17] 주소록과 연동이 되므로, 상대방이 이 앱에 가입하면 자동으로 가입했다고 메시지가 뜬다. PC버전은 Chrome App 형태로 지원했으나, 나중에 설치형으로 나오고 나서는 Chrome 앱 지원을 중단하게 되었다.

암호화 백업이 지원되긴 한다.[18] 캡처는 기본적으로는 되게 해놨으나, 캡처를 못 하게 막는 화면 보안 기능도 있다.[19][20]

그러나 아무리 메신저의 보안기능이 뛰어나더라도 서버를 통해 키 교환이 이루어지는 방식이기 때문에 직접 만나서 QR 코드를 교환하여 인증하는 것이 아닌 이상 전적으로 Signal 서버를 신뢰하여야 하는 수밖에 없다. 이에 따른 문제점으로 전화번호를 사칭하여(아니면 서버를 해킹하여) 가입한 뒤 상대방인 척하는 등의 공격이 발생할 수 있다는 한계가 있다.

물론 이에 대한 대책으로 Signal에는 오프라인상에서 QR코드를 통해 대화 상대를 직접 대면하여 인증하는 기능이 있다. 또한 상대방의 암호키가 갑자기 바뀌면 알려주는 기능도 있다. 상대방이 기기를 변경하거나 Signal 앱을 초기화하는 등의 행동을 하지 않았는데 갑자기 암호키가 변경된다면 중간자 공격을 의심해 볼 수 있다.

5. 논란 및 사건사고

5.1. 데스크톱 앱 보안 취약점 방치 사건 (해결중)

2024년 7월, X에 올라온 한 게시글에 의하면 macOS에 시그널을 설치해 사용하는 건 안전하지 않다는 주장이 제기되었다. 이 연구에서 첫번째 세션(iPhone), 두번째 세션(macOS), 세번째 세션(가상머신에서 동작하는 macOS)이 있고 공격자는 두번째 세션(macOS)의 시그널 데이터 복사본을 세번째 세션(가상머신에서 동작하는 macOS)에 복사해 배치했다. 이후 세번째 세션에서 앱을 설치하니 모든 채팅 기록과 함께 세션이 시작되고 복원되었다고 한다. 이를 통해, 실질적으로 세 가지의 세션이 살아있고 유효하지만, 시그널에서는 두 가지 세션만 유효하게 표시되는 문제가 있었다. 고도로 정교한 공격자가 이것을 악용한다면 피해자의 채팅 기록을 읽고 메시지를 보낼 수 있기에 백도어가 가능하다는 주장이다.[21]

사실 해당 버그는 2018년도부터 데스크톱 앱에 발견되었던 보안 취약점이었으며, 몇몇 IT 유저들로부터 보안 취약점이 언급되었지만 그동안 방치되었다. 해당 보안 취약점은 데스크톱 앱에서 메세지 내용을 평문으로 저장해서 다른 기게에 복사가 가능한 것이다.

해당 내용은 Github에도 언급되었다. # 참고로, 해당 트윗에는 macOS만 언급되었지만, 사실 macOS 버전뿐만 아니라 데스크탑 버전 자체의 문제이다.

이전에도 일론 머스크가 해당 보안 취약점에 대해 간접적으로 언급한 사례도 있어, Signal 측에서 해당 보안 취약점을 너무 과소평가한 것 아니냐는 의혹도 나오고 있다.

일론 머스크의 트윗과 앞서 설명한 X의 게시글에 올라온 트윗으로 인해 2018년부터 지금까지 방치되었던 데스크탑 앱 보안 취약점을 개선하겠다고 밝혔다. #, ## 현재 데스크톱 앱 베타버전에서 적용되었다. GitHub 공식 답변

6. 한계

일부 내용은 종단간 암호화에 대한 착각과 겹칠 수도 있다. 사실 이 내용은 Signal 메신저의 한계가 아닌, 종단간 암호화의 기술적 한계이기도 하다.

Signal은 메신저를 쓰기 위해서 전화번호를 요구하므로 익명이 아니다. 그러므로 Signal은 '대화 내용이 종단간 암호화(E2EE)되어 있으면 그걸로 충분하고 내가 누구인지 숨길 필요는 없는 상황'에서는 적합하지만, '대화 내용의 종단간 암호화는 물론 내가 누구인지도 숨겨야 하는 상황'에서는 적합하지 않다. 다시 말해서 익명성이 필요한 상황에서는 Signal이 적합하지 않다.[22]

종단간 암호화는 내가 어떤 내용을 주고 받았는지를 숨기는 거지, 누구와 대화했는지는 숨겨주지 않는다. 예를 들어, A가 조주빈과 아청물을 공유했다고 가정하자. 이때 경찰은 패킷을 뜯어서 A가 조주빈과 무엇을 주고 받았는지는 알 수 없어도, 조주빈과 대화했다는 사실만은 알아낼 수 있다.

종단간 암호화는 대화의 내용은 숨겨주지만 대화의 메타데이터(상대방과 얼마나 자주 대화하는지 등)는 숨겨주지 않는다.

중간자 공격 또한 조심해야 한다. QR코드를 통해 상대방을 인증하고 대화 중 키가 바뀌는지 주의해야 한다.

이 메신저는 통신의 도감청에 대응하기 위한 메신저이다. 그래서 휴대폰에 저장된 대화 내용을 디지털 포렌식으로 복원하거나 악성코드를 통해 기기를 해킹해서 대화 내용을 빼돌리는 것은 막아주지 않는다. 그래서 자신이 사용중인 기기의 안드로이드, iOS운영체제의 보안 업데이트를 최신으로 유지하고 기기 잠금을 복잡한 비밀번호로 설정하고, 사라지는 메시지를 활성화하는 것이 좋다. PC클라이언트를 사용하는 경우에는 윈도우, macOS의 보안 업데이트를 설치하고 의심스러운 사이트나 소프트웨어는 사용하지 말고 BitLocker FileVault, VeraCrypt등의 암호화 프로그램을 사용해 컴퓨터 전체를 암호화하는 것이 좋다.[23]

7. 텔레그램과의 비교

<rowcolor=white> 시그널 텔레그램
<colcolor=white> 종단간 암호화 <colbgcolor=white,#1f1f1f> O <colbgcolor=white,#1f1f1f> △[24]
이용 프로토콜 Signal Protocol MTProto
수집하는 개인정보 전화번호 전화번호, IP 주소, 연락처
백업 방법 로컬 파일 클라우드
메시지 자동 삭제 어디에서나 가능 비밀 대화에서만 가능
상태 표시 여부 X O[25]
전화번호 숨기기 O[26] O
제3자 데이터 제공 여부 X 사실상 X[27]

시그널과 텔레그램은 보안성이 좋다는 공통점이 있다. 그 보안성의 내용은 메신저 별로 다르지만, 보안성이 좋다는 사실은 변하지 않는다. 하지만 내용물은 기대와 다른 점도 있긴 하다.

우선, 텔레그램은 보안과 편의중에서는 편의에 조금 더 기울여져있다. 모든 메시지가 클라우드에 저장된다는 점은 어디서나 내 메시지 기록들을 돌아볼 수 있다는 것이지만, 반대로 얘기하면 서버가 털렸을 때 내 메시지들이 다 털릴 수 있다는 이야기이기도 하다.[28]

시그널 7.0.0 업데이트로 전화번호 대신 사용자 이름을 표시할 수 있다. 사용자 이름은 @example[29].12[30] 형식으로 이루어져 있다. 설정 후 바꾸는 데 제한은 없다. 사용자 이름을 설정하면 기본적으로 전화번호는 상대방에게 표시되지 않고, 상대방이 나를 전화번호로 추가했거나 내 전화번호를 가지고 있을 때만 표시된다.

모든 메시지/파일/스토리/음성▪︎영상통화에 종단간 암호화가 적용되어 서버가 털리더라도 메시지의 원문을 알아낼 수 없다. 또한 자동으로 메시지를 삭제하는 기능이 있어 기기의 저장공간을 관리하기 쉬우며, 메시지의 흔적을 지울 수 있다.[31] 그리고 시그널은 자체적으로 사진을 편집하는 기능이 있어, 사진을 보낼 때 수정해서 보낼 수도 있다.

8. 포크 버전

  • Molly
    Signal의 보안 강화 버전이다. 앱 데이터베이스를 사용자가 지정한 암호로 암호화하며, RAM에 저장돼있던 민감한 정보들을 안전하게 소거시킨다. 기본 Signal과는 다르게 프록시를 Signal 전용 프록시를 지원하는 것이 아니라 SOCKS, Tor via Orbot을 통한 프록시를 지원한다.
    Molly-FOSS 버전은 완전히 구글의 코드를 사용하지 않는 버전이다. 일반 Molly는 FCM과 웹소켓을 병행하여 사용하지만, FOSS 버전은 웹소켓만 사용한다.

9. 기타

10. 관련 링크



[1] https://signal.org/blog/signal/ [숨김가능] 7.0.0 업데이트로 전화번호를 숨기고 사용자 이름을 표시할 수 있다. 자세한 내용은 후술 [숨김가능] [4] 64비트 10, 11 지원 [5] 10.13 이상 [6] APT를 지원하는 64비트 배포판( 우분투, 데비안 등) [7] Android 5.0 이상 [8] 15.0 이상 [9] 15.0 이상 [10] 이전 이름은 Open Whisper Systems. [11] Read Receipts [12] 지원하는 확장자는 JPG, PNG, APNG, WebP가 있다. [13] 텔레그램 등은 기본 채팅 모드에서는 종단간 암호화 사용하지 않고, 대화내용도 서버에 저장된다. WhatsApp도 모든 대화에서 종단간 암호화를 사용한다. [14] 참고로, 텔레그램은 safest보다 한 단계 낮은 안전(safe) 등급을 받았다. [15] http://www.privacy2zbidut4m4jyj3ksdqidzkw3uoip2vhvhbvwxbqux5xy5obyd.onion/ [16] 참고로 privacytools.io는 텔레그램의 MTProto 프로토콜에 대한 신뢰성 문제 및 서버에 남아있는 메시지들의 관리에 대한 신뢰성 문제로 텔레그램은 피해야 될 목록으로 분류되어 있는 상태이다. [17] 단, Windows, Mac버전이나 태블릿 버전 같은 경우는 카카오톡 PC버전처럼 따로 QR코드 인증하면 사용 가능하다. 카카오톡처럼 컴퓨터 한 개, 태블릿 한 개만 되는 것도 아니고 휴대전화가 아닌 이상 여러 기기에 설치 할 수 있다. [18] 30-digit의 passphrase를 입력해야 복호화가 가능하며, 시그널 앱을 새로 깔아야지만 복호화 기능을 이용할 수 있다. [19] 단, iOS는 캡처 방지 프로파일이 설치 안 되어 있을 시 캡처 방지 기능 사용 불가. [20] 상대의 캡처 방지를 강제하진 못한다. [21] 그러나, 두 번째 세션을 복제한 거라면 두 번째 세션을 만료시킬 경우 더는 유효하지 않을 가능성이 있다. [22] 예를 들어 부모님이나 친구들과 대화할 때 쓸 메신저를 고른다고 가정하자. 이때는 이미 서로가 누구인지 알고 있으므로 익명성을 고려하는 것이 의미가 없다. 그러므로 부모님이나 친구들과의 대화 내용이 종단간 암호화(E2EE)로 보호되어 있는지만 고려하면 된다. 따라서 이런 상황에서는 Signal이 적합하다. [23] Mac의 경우 비밀번호를 설정하면 자동으로 내장 저장장치(USB, 외장하드 등 제외)의 데이터가 암호화되지만, 윈도우는 비트락커를 켜지 않는 이상 데이터가 암호화되지 않으며, 또 비트락커 자체가 TPM에만 의존하기에 보안적 결점이 있어서 추천하기 어렵다. [24] 비밀 대화에서 활성화 [25] 범위, 내용 변경 가능 [26] 7.0.0 업데이트로 전화번호 표시 여부 선택 가능. [27] 왜 사실상 X나면, 종단간 암호화가 적용되지 않는 일반 대화에서는 이론상 제3자한데 정보를 제공하는게 정책상으로 불가능한거는 아니다. 자세한 내용은 해당 사이트 참고. [28] 예외가 있다면 비밀 대화. 종단간 암호화로 서버가 털려도 알 수 없다. [29] 영문, 숫자, 점, 그리고 밑줄을 사용할 수 있다 [30] 랜덤한 숫자 2개 [31] 물론 말했다시피 포렌식으로 복구해내면 답이 없다. [32] 원래도 웹소켓을 사용할 수 있지만, FCM이 사용 불가할 때만 웹소켓을 사용한다. FOSS 버전에서는 FCM은 아예 삭제되고 알림은 웹소켓으로만 처리한다. [33] 메인 화면에 있는 펜 버튼을 누른 후에 하면 된다. 방법은 모바일 크롬 인터넷을 손가락으로 위에서 아래로 내려서 페이지를 새로고침하는 방식하고 똑같다. [34] 또한 정치권, 정부 쪽에서도 텔레그램의 수사 비협조 방침에 일단 대외적으로는 부정적인 입장을 취하고 있는 것도 한몫하고 있다. 반면에 Signal은 수사 협조 요청 자체가 기술적으로 불가능해서 딱히 정치권이나 정부에서도 관심을 보이고 있지 않다.