[Android] Signal


Signal Logo 來源

Signal - 暢所欲言。

一款強制端到端加密,以手機號作為識別碼的非匿名即時通訊。

開發者:Signal Foundation | 官方網站 | 原始碼
客戶端 GPLv3, 服務端 AGPLv3 | 服務條款與隱私政策


簡介

你用過蘋果裝置嗎?

如果用過,你應該熟悉蘋果的 iMessage. 或者如果你沒聽說過 iMessage, 你應該注意到了,在給同樣使用蘋果裝置的朋友發簡訊時,能使用一些有趣的功能。

不過 noarch 要介紹的不是 iMessage, 而是想與 iMessage 競爭,並且使用體驗可以和 iMessage 很像的 Signal.

與 iMessage 不同的是,Signal 不需要一臺蘋果裝置,並且端到端加密

除此之外,它的客戶端和服務端都完全自由,沒有廣告和追蹤器,最重要的是 - 它永久免費,並且全靠捐款運作。

手機號即是帳號

如果你在手機流行之前用過 QQ, 那麼你應該對“交換 QQ 號”這件事印象深刻。在那時,QQ 只是一個獨立的網上身份,在技術上不與你的任何其他身份相關聯。

雖然 QQ 現在註冊需要實名手機號,但它的背後工作原理依然需要一個獨立的 QQ 號。noarch 認為這是大多數中國人對“即時通訊”概念的認識。

如果你是 noarch 上述的“大多數”,在使用 Signal 前,你需要完全拋棄以前對即時通訊的認識。

Signal 致力於提供一個像簡訊一樣的使用體驗,這也意味著你的手機號是唯一識別碼:除非你專門遮蔽,否則任何知道你手機號的人都可給你發訊息;你也無法在更換手機號時遷移你的帳號。

威脅模型

noarch 在最上方的一覽中提到了 Signal 目前不提供匿名功能,任何與你聊天的人將能看到你的手機號。

這也註定了 Signal 無法被當作 Telegram 或 Matrix 等更加匿名的即時通訊使用 - 在中國,你需要更多的是匿名性;而 Signal 完全沒有提供匿名性。看到你的中國手機號意味著能直接看到你的真實身份:警察可以直接通過手機號查出你的戶籍,而其他人則可以通過賄賂警察或使用洩露的資料庫達到此效果。

所以,為什麼還使用 Signal 呢?

  • 首先,雖然 Signal 不匿名,但你依然可以用它和已經認識且非常親密的人通訊。

    • 家人,以及現實中的朋友已經知道你的真實身份,所以你也不需要在線上為他們隱藏你的身份。
  • 其次,如果你不在中國大陸或其它限制匿名上網的國家,那麼 Signal 不匿名這點應該對你沒啥影響。

    • 這是因為你的手機號實名性不強 - 敵人通過你的手機號找出你真實身份將沒有那麼容易。
  • 最後,Signal 的易用性無法比擬。

    • noarch 認為 Signal 的設計目標是取代傳統簡訊,沒有複雜功能,這使得它非常簡單易用。
    • 包括以手機號識別身份這點,Signal 的諸多操作邏輯都與傳統短彩信一樣。

Signal 與 Google 服務

noarch 注意到了 Signal 的 Android 版依賴 Google 服務框架進行推送通知。

Signal 在其開發初期需要 Google 服務框架才能執行。這是因為嚴格上 Android 應用需要 Google 框架來推送通知,及時送達訊息。沒有了 Google 服務框架提供的推送通知服務,Signal 需要長期保持後臺執行並維持一個 WebSocket 開放以推送訊息,而 Android 是禁止這麼做的。

從2017年2月起,Signal 不再要求 Google 服務框架才能啟動;在此之後,如果你沒有 Google 服務框架,Signal 會向你傳送通知,告訴你如果沒有 Google 服務框架 Signal 可能會被殺死後臺而無法及時接收訊息。

關於 Google 服務框架及其替代,請看這裡

準備好了嗎?

除了上述弊端,Signal 在 noarch 看來是目前最容易上手的端到端加密通訊工具。

瞭解了上面的弊端和威脅模型,並將其牢記在心後,你就可以和 noarch 一起開始使用 Signal 了!

安裝

Signal 和其它 Android 應用的安裝沒啥區別:Signal 官方提供了兩個渠道,其中一個是 Google Play, 另一個則是直接通過 apk 安裝。

如果你有 Google Play, 你可以直接去那裡安裝,然後跳到下一步;下面 noarch 將假設你沒有 Google Play, 並且使用 apk 安裝。

首先,在瀏覽器內開啟 Signal 的 apk 下載頁 https://signal.org/android/apk/.

滑動到下方,你可以看到 Danger Zone 以及一個 "Download" 按鈕。

與從 Google Play 安裝應用不同,直接從 Signal 官網下載 apk 雖然經過 HTTPS 傳輸,但沒有簽名驗證;這也是 Signal 不建議你直接安裝 apk 的原因。

noarch 在此為了簡潔,不驗證 Signal apk 簽名。如果你覺得基礎設施攻擊是你的威脅之一,你可以選擇從 Google Play 安裝或手動驗證簽名。

更多關於簽名驗證的知識,請看這篇來自 Qubes OS 的文章

Signal APK 下載按鈕

點選 "Download", 瀏覽器提示你下載或直接開始下載 Signal apk. 下載完成之後安裝:

Signal APK 安裝

如果你的裝置提示“出於安全考慮,已禁止您的裝置安裝來自此來源的未知應用”,請點選“設定”並允許來自你瀏覽器的未知來源應用安裝。

請在允許未知來源之前確認要安裝的應用是否的確是你要的!在 noarch 的例子裡,請確認來源是 Bromite(瀏覽器),並且要安裝的應用是 Signal.

未知來源安裝請求 允許來自瀏覽器的應用安裝

等待片刻,安裝完成後“開啟”。

Signal APK 安裝完成

註冊帳號

你現在進入了 Signal 的歡迎頁:

Signal 歡迎頁

點選“繼續”,Signal 會向你請求 通訊錄許可權。

Signal 不會以任何形式上傳你的通訊錄,但會使用它在本地識別聯絡人;允許 Signal 讀取通訊錄與否,取決於你要不要將 Signal 替代裝置自帶簡訊應用。

noarch 在本章裡不將 Signal 替換裝置自帶簡訊應用,因此 noarch 點選“稍後再說”拒絕了 Signal 的通訊錄請求。

Signal 請求通訊錄許可權

現在 Signal 需要你的手機號以註冊帳號。noarch 在這裡使用的是虛擬手機號,但你也可以使用真實手機號。

如果你使用真實的 +86 手機號,請絕對只和最親密的人使用 Signal.

Signal 請求手機號

下一步,Signal 會向你傳送一條簡訊驗證碼。

如果你收不到簡訊驗證碼,你可以等一段時間,然後向 Signal 請求電話驗證碼。

Signal 簡訊驗證 Signal 簡訊驗證完成

驗證完成後,就是填寫個人資訊的時間了。必填項只有“名字”,但你也可以選個頭像和“姓氏”。

noarch 注意到眾多中國使用者在牆內及時通訊使用假名,卻在牆外使用真名;這和例如 Signal 的牆外及時通訊在輸入框內指示“名字”和“姓氏”不無關係。

儘管 Signal 叫你這麼填,但你依然可以只填寫一個假名。noarch 也建議你使用牆內從未使用過的假名,並且不用自己的臉做頭像。

Signal 填寫個人資訊

配置 Signal 的最後一步是設一個 PIN. 它用來加密 Signal 的本地儲存,防止裝置落入竊賊或警察手中時 Signal 訊息被輕易讀取。

絕對不要忘記這個 PIN! 如果你忘了它,所有歷史訊息將無法找回。

Signal PIN 設定

如果你:

  • 獲取了裝置 root 許可權
  • 被迫使用華為,或任何具有 /data 訪問後門的裝置
  • 大概率會被取證工具檢查裝置

請“建立字母數字 PIN”,並結合密碼管理器生成的強密碼使用 Signal. 這能更有效防止儲存在本地的 Signal 訊息被暴力破解。

建立完 PIN, 點選“下一步”,一個全新的聊天體驗在等著你。

Signal 主介面

額外配置

Signal 主要為傳統的簡訊使用習慣而設計,然而這些設計可能不符合你的使用習慣。

因此,noarch 總結了一些你可以在進入 Signal 後進行的隱私和使用習慣配置:

不將 Signal 設定為預設簡訊應用

關掉主介面“設定為預設簡訊應用”橫幅即可。

禁用 PIN 碼提醒

Signal 會定期提醒你輸入 PIN 碼以防你忘記。

如果你使用了密碼管理器 + 混合密碼,“提醒”你輸入密碼就完全沒意義了;因此你可以將 PIN 提醒關掉。

從主介面開始,進入 -> 設定 -> 隱私,在底部取消選擇 "PIN 提醒",再確認一次 PIN 就可以關掉這個提醒。

Signal 禁用 PIN 提醒

其它隱私設定

在 Signal -> 設定 -> 隱私 裡,還有一些選項你可能想要修改:

  • 鎖屏:開

    類似諸多“應用鎖”,用於在手機解鎖時都鎖定 Signal

  • 隱身鍵盤:開

    禁用鍵盤“雲輸入”以及自動學習,類似密碼輸入模式

  • 總是轉發通話:開

    防止在通話時洩露真實 IP 地址

  • 已讀回執:關

    關閉後,對方的訊息只會在你回訊息時被標記為“已讀”,類似大多數中國即時通訊

  • 註冊鎖定:開

    如果你的裝置被沒收或被盜,開啟這個選項可以給你更多時間通知朋友“不要再往該帳號發訊息”

當你 將 Signal 變成你的形狀 後,就來找一個朋友換到 Signal 聊天吧!

邀請第一個朋友上 Signal

現在,你可以把本章節轉發給你的朋友,讓他們也開始使用 Signal 了。當他們也開始使用 Signal, 下面 noarch 將教你如何開始一個聊天。

noarch 前面提到了 Signal 的操作邏輯和簡訊類似;這點從開始聊天時就能體驗到。

例如,如果你要和一個人開始聊天,你只需要輸入它們的手機號,然後傳送訊息即可;對方在收到你第一條訊息後可以選擇是否遮蔽你,但全程沒有獨立的“好友驗證”過程。

要找一個朋友開始聊天,在主介面點選右下角的 ,你會進入像簡訊一樣的“選擇收件人”介面。

Signal 在這裡又會向你請求通訊錄許可權;noarch 在這裡選擇拒絕。

Signal 再次請求聯絡人許可權
Signal 選擇收件人

如果你沒有允許 Signal 讀取聯絡人,你需要輸入對方的完整手機號。在你輸入的同時,輸入框下方的列表中會出現“新訊息至...”,點選它即可進入聊天介面。

如果對方的手機號不屬於美國或加拿大,你還需要手動加上區號,例如 +86 17727378899

Signal 聊天介面,未開始聊天

現在這個聊天介面是灰色的,代表你們以前沒有用 Signal 通訊過;當你發出第一條訊息,它會變成彩色。在 noarch 的例子裡,當我發出第一條訊息,聊天介面變成了粉色 (yay!)

Signal 聊天介面

作為一個模仿簡訊體驗的即時通訊,你發出的第一條訊息就是“好友請求”。對方在收到你的第一條訊息之後,可以像其它及時通訊的好友請求一樣允許,忽略(刪除)和拒絕(拉黑):

Signal “好友請求”

在對方點選“接受”之後,你們就可以像其它及時通訊一樣聊天了!

如果你在理解圖示上有困難,下面是 Signal 聊天介面各種圖示的解釋:

Signal 聊天介面解釋

發語音

在 Signal 聊天介面,按住 可以發語音。

Signal 傳送語音

如果你口誤了,可以原地向左滑動取消語音錄製;

如果你想錄一首鋼琴曲,原地上劃可以鎖定語音錄製狀態,然後把手機放到鋼琴上即可,不用一直按著錄製鍵;

錄完之後,鬆手即可傳送;或者如果你在鎖定模式,點選 來發送。

傳送媒體檔案

Signal 作為一個及時通訊,同樣可以傳送視訊和圖片。

你可以點選訊息框右側的 來開啟媒體選擇選單:

第一次開啟時,Signal 會請求儲存許可權;點選“給予許可權”並在彈出的許可權請求中允許即可。

Signal 媒體選擇器

點選你要傳送的媒體(可以是圖片、GIF 或是視訊),會根據對應媒體格式進入編輯器。

在圖片編輯器裡,你可以給剪裁圖片、加文字、寫寫畫畫、打碼甚至貼上貼紙;在視訊編輯器裡你可以粗略地剪輯視訊。

Signal 圖片編輯器

剪輯完成後點選右下角的 來發送。

Signal 圖片訊息

多選媒體

點選 號調出的圖片選擇器只能選擇一張圖片併發送。如果你要一次性發一堆照片,剛才的方法就很麻煩。

還好 Signal 提供了照片多選功能。

號圖片選擇器中點選“相簿”,你會進入一個資料夾檢視:

你也可以點選圖片編輯器下方圖片列表最右側的 號進入資料夾檢視。

Signal 媒體選擇,資料夾檢視

進入你要傳送的圖片所在資料夾(或是直接進入“全部媒體”),然後點選對應圖片來選擇。

Signal 多選媒體

選中的圖片會以一個帶數字的圓圈表示,數字代表圖片傳送順序。

選擇完之後,點選 就能進入你熟悉的圖片編輯器;在圖片編輯器裡點相同位置的 就可以一次性發送多個媒體。

發原圖(或檔案)

Signal 傳送原圖不會去除圖片中可能敏感的 EXIF 資訊。不知道這麼做的風險可能使你洩露自己的地理位置、裝置型號,還有更多資訊。

Signal 預設壓縮傳送的圖片,並會去除圖片中可能洩露隱私的 EXIF 資訊。

但有時候你需要傳送原圖,以保證傳送圖片的質量。

Signal 沒有專門的“發原圖”功能,但你可以將圖片以“檔案”形式傳送,這樣 Signal 就不會以任何形式處理圖片。

在聊天介面 號選單點選 檔案,你會被帶到熟悉的 Android 檔案選擇器。

如果你安裝了多個檔案管理器,Android 會問你要使用哪個。

Android 檔案選擇器

在檔案管理器裡選擇你要傳送的檔案(只能選擇一個),然後點選“選擇”回到 Signal 聊天介面。

Android 檔案選擇器,選中檔案

在聊天介面下方,你會看到剛才選中的檔案,讓你確認即將傳送的檔案;確認無誤後即可傳送。

Signal 傳送檔案

有趣的是,儘管 Signal 不提供方便的無損圖片傳送,你卻能預覽傳送出去和收到的無損圖片。

Signal 原圖已傳送

群聊

如果你要把一家人都拉進 Signal, 那麼群聊則是你的首選。雖然 Signal 群聊在社交功能上不及一些其它社交為主的即時通訊,但作為只與緊密朋友聯絡的工具,Signal 群聊做得也不錯。

建立群聊和開始新對話的入口一致,都是主介面右下角的 號。不同的是,在進入新建對話介面後你點選“ 新建群組”:

Signal 新建群組

然後選擇,或是挨個新增想要拉到群裡的人,按 繼續然後輸入群資訊:

Signal 新建群組 輸入資訊

最後“建立”就建立了一個新群。

Signal 群組聊天介面

@ 重要通知

像很多其它即時通訊一樣,Signal 沒有專門的 @ 按鈕;

如果你要 @ 一個人,直接用鍵盤輸入 @, Signal 就會彈出一個搜尋選單。

Signal 群組 @ 搜尋

繼續輸入你要 @ 的使用者名稱,找到目標,點選就可以將特別通知新增到訊息裡。

Signal 群組 @

到此,noarch 已經介紹了 Signal 的所有核心功能和你一定要進行的隱私設定,剩下的功能你可以自己探索!

附加功能

如果你懶得自己探索所有 Signal 的好玩功能,那麼 noarch 在這裡列出一些給你吧。

“回覆”訊息

在一個訊息身上向右滑動可以“回覆”。它在群裡尤其有用,“回覆”一個訊息和 @ 一樣可以特別提醒一個人。

Signal 回覆訊息

除了充當 @ 的功能之外,“回覆”還可以幫你和朋友緊貼話題,避免出現誤解。

端到端加密通話

還記得 noarch 在章節開頭叫你設定的“總是轉發通話”嗎?沒錯,你可以用 Signal 打電話。

除了不消耗通話分鐘數以外,Signal 在其網路電話中也使用了端到端加密,意味著你的通話幾乎不可能被竊聽

在聊天介面點選 打電話,你會被帶到通話介面。

Signal 的通話介面長這樣:

Signal 通話中

在聊天介面點選 則可以直接打視訊電話,不過你可以隨意在視訊和語音電話之間切換。

除此之外,Signal 還可以打群電話;打群電話的操作流程和私聊電話相似。不過,因為 Signal 的群通話不會通知成員,在開始群通話之前你需要事先通知群成員。

閱後即焚

請不要依賴 Signal 閱後即焚功能說出可能會後悔的話。雖然訊息本身閱後即焚,但聊天另一方可以通過其它方式記錄訊息。

得益於端到端加密,Signal 的訊息可以定時自毀。

點選聊天介面右上角的 ,然後選擇“閱後即焚”;或者點選對方頭像進入個人資訊頁,那裡也有“閱後即焚”選項。

Signal 會彈出一個定時器,你可以在這設定訊息在閱讀後多久自動消失。

Signal 閱後即焚定時器

設定定時器後,對方頭像下方的狀態會顯示閱後即焚定時器。如果你這時發一條訊息,它會在定時器過後消失。

Signal 閱後即焚狀態

你可以重複上述步驟,進入閱後即焚定時器,將其設定為“關閉”來回到“正常”模式。

驗證安全碼

如果你看過 privacy.noarch“公鑰加密簡介”章節,你看到這應該一直有一個疑惑:“作為一個端到端加密聊天工具,為什麼 Signal 不需要驗證公鑰指紋?”

答案是,你其實可以手動驗證公鑰指紋。

在聊天介面點選對方頭像檢視對方個人資訊,然後滑動到底部,“檢視安全碼”。

Signal 驗證安全碼

熟悉的公鑰驗證步驟來了:你現在可以和對方面對面驗證安全碼,或是用一個不同方式與對方核對安全碼。

總結

上面 noarch 介紹了 Signal 的常見用法。現在,即使你不太會用其它及時通訊,也應該對 Signal 的操作比較熟悉了。

光看無用,現在去把自己的三次元朋友拉到 Signal 上吧!

記住,與你加密通訊的人越多,你的隱私在巨集觀上就越安全。