Loading AI tools
免費加密通訊應用程式 来自维基百科,自由的百科全书
Signal是由Signal技術基金會和Signal Messenger LLC開發的跨平台加密訊息服務。Signal經互聯網傳送一對一及群組訊息,訊息可包含圖像及影片,它還可以用來經互聯網作一對一及群組語音通話。
Signal使用標準的流動電話號碼作為識別碼,並使用端到端加密來保護與其他Signal用戶的所有通訊。這些應用程式包括一些機制,通過這些機制,用戶可以獨立驗證其聯絡人的身份和數據通道的完整性[11][12]。
所有Signal軟件都是自由及開源的。用戶端是按GPLv3授權的自由及開放原始碼軟件[7][8][9],而服器端的程式碼則按AGPLv3發佈[10]。Signal之正式版軟件通常使用了Google專營的Google Play服務(被預裝在大多數Android裝置中),但它亦被設計為可在無Google Play服務的環境中運行。Signal在Android、iOS操作系統,和Windows、macOS、Linux等桌面操作系統均有正式版的客戶端軟件[13]。
非營利組織Signal基金會於2018年2月成立, Brian Acton 提供了初期5000萬美元之初始資金[14]。自2021年1月,Signal已獲得超過1億5百萬之下載總量,並且該軟件擁有約4千萬月活躍用戶[15]。目前(2021-2-14),Signal已被安裝於超過5千萬台Android裝置上[16]。
Signal是RedPhone加密語音呼叫應用程式和TextSecure加密短訊程式的後繼產品。RedPhone和TextSecure的測試版最初由Whisper Systems於2010年5月推出[17],Whisper Systems是一家由前twitter安全研究員Moxie Marlinspike和機械人專家Stuart Anderson共同創立的創業公司[18]
Open Whisper Systems的網站於2013年1月啟動[19]。
2018年2月21日,Moxie Marlinspike 和WhatsApp聯合創始人Brian Acton宣佈成立Signal Technology Foundation,這是一個非營利組織,其使命是「支援、加速和擴大 Signal 進行私人通訊的使命可訪問且無處不在」。阿克頓以 5000 萬美元的資金創立了基金會,並在 2017 年 9 月離開 WhatsApp 的母公司 Facebook 後成為基金會的執行主席。馬林斯派克繼續擔任 Signal Messenger 的第一任行政總裁。截至 2020 年,Signal 完全依靠捐贈,作為非營利組織。
2022 年1月10日,Moxie Marlinspike 宣佈辭去 Signal Messenger 行政總裁一職。他繼續留在Signal董事會,Brian Acton自願在尋找新行政總裁期間擔任臨時行政總裁。
Signal允許用戶與iOS和Android上的其他Signal用戶進行語音和影片通話[20]。所有通話都是通過Wi-Fi或數據連接進行的(數據費除外)是免費的,包括長途電話和國際長途電話[21]。Signal還允許用戶通過Wi-Fi或數據連接向iOS,Android和桌面應用程式上的其他Signal用戶傳送文字訊息,檔案[22],語音註釋,圖片,GIF[23]和影片訊息。該應用程式還支援群組訊息傳遞。
Signal 用戶之間的所有通訊對談都會自動進行端到端加密(加密金鑰在裝置上生成和儲存,而不是在伺服器上)。[24]為了驗證通訊對方確實是他們聲稱的人,Signal 用戶可以比較金鑰指紋(或掃描二維條碼)帶外。[25]該平台採用首次使用信任機制,在通訊對方的金鑰發生變化時通知用戶。[25]
直到 2023 年,Android 用戶可以選擇將 Signal 作為預設的短訊/多媒體短訊應用程式,從而除了標準的端到端加密 Signal 訊息外,還可以傳送和接收未加密的短訊。[26] 然後,用戶可以使用相同的應用程式與沒有 Signal 的聯絡人進行通訊。[26] 截至 2022 年 10 月,由於安全和私隱問題,此功能已被棄用,並於 2023 年被移除。[27][28]
TextSecure 允許用戶設置一個密碼來加密本地訊息資料庫和用戶的加密金鑰。[29]這不會加密用戶的聯絡人資料庫或訊息時間戳。[29] Android 和 iOS 上的 Signal 應用程式可以使用手機的 PIN 碼、密碼或生物辨識進行鎖定。[30] 用戶可以定義「螢幕鎖定逾時」時間間隔,以便在手機遺失或被盜時提供額外的保護機制。[25][30]
Signal 具有定時傳送訊息的功能。[31] 此外,訊息可以附加計時器,[32]以便自動從傳送方和接收方的裝置中刪除訊息。[32] 保留訊息的時間段可以在 5 秒到 1 周之間,[32] 並且在每個接收者閱讀完他們的訊息副本後開始計時。[33] 開發人員強調,這旨在成為「所有參與者都希望自動執行最小數據清理的對話的協同運作功能,而不是接收者是對手的情況」。[32][33]
Signal 的應用程式圖示可以使用各種顏色主題進行自訂,應用程式名稱也可以自訂。[34]即將推出的功能包括隱藏劇透[35] 以及通過二維條碼添加其他用戶。[36]
預設情況下,Signal 會將用戶的聊天記錄排除在未加密的雲備份之外。[37]
Signal具有對已讀回執和鍵入指示符的支援,兩者均可禁用[38][39]。
Signal允許用戶自動模糊相片中人物的臉部,以保護其身份。[40][41][42][43]
Signal 包含一個加密貨幣錢包功能,用於儲存、傳送和接收應用內付款。[44]除了某些地區和國家/地區外,[44]該功能已於 2021 年 11 月在全球範圍內啟用。[45] 截至2022年1月[update],唯一支援的支付方式是MobileCoin。[44]
2024 年 2 月,Signal 在其測試版應用程式中添加了用戶名功能。這是一項私隱功能,允許用戶在不共用電話號碼的情況下與他人通訊。[46][47]
Signal 要求用戶提供電話號碼進行驗證,[48]從而無需用戶名或密碼,並方便聯絡人尋找(見下文)。[38] 該號碼不必與裝置 SIM 卡上的號碼相同;它也可以是 VoIP 號碼[48] 或固定電話號碼,只要用戶能夠接收驗證碼並擁有單獨的裝置來設置軟件即可。一個號碼一次只能在一個流動裝置上註冊。[49] 帳戶註冊需要 iOS 或 Android 裝置。[50][51]
這種與電話號碼的強制連接(Signal 與 WhatsApp、KakaoTalk 等共用的功能)被批評為注重私隱的用戶的一個「主要問題」,因為他們不願意透露自己的私人號碼。[38] 一種解決方法是使用輔助電話號碼。[38]選擇一個可公開更改的用戶名而不是共用自己的電話號碼是用戶廣泛要求的功能。[38][52][53]此功能已於 2024 年 2 月添加到 Signal 的測試版中。[54]
使用電話號碼作為識別碼也可能會造成安全風險,因為攻擊者可能會盜用電話號碼。[38]2022 年 8 月,至少有一名用戶遭到攻擊,攻擊方式與此類似,但攻擊是通過Signal短訊服務提供商執行的,而不是任何用戶的提供商。[55]可以通過啟用Signal的註冊鎖功能來降低這種攻擊的威脅,該功能是一種雙因素身份驗證形式,要求用戶輸入PIN碼才能在新裝置上註冊電話號碼。[56]
將Signal電腦版連結到流動裝置時,對話歷史記錄不會同步;Signal電腦版上只會顯示新訊息。[57]
2016 年 7 月,互聯網協會發佈了一項用戶研究,評估了Signal用戶檢測和阻止中間人攻擊的能力。[12] 該研究得出結論,28 名參與者中有 21 名未能正確比較公鑰指紋以驗證其他Signal用戶的身份,並且這些用戶中的大多數人認為他們已經成功了,而實際上他們失敗了。[12] 四個月後,Signal 的用戶介面進行了更新,以簡化驗證其他Signal用戶身份的過程。[58]
2023 年,法國政府正在推動採用名為Olvid的歐洲加密訊息傳遞應用程式來替代Signal和WhatsApp,作為其安全的通訊平台。[59]
Signal訊息使用Signal協定(曾稱作 TextSecure 協定)進行加密。該協定結合了雙棘輪演算法、預共用金鑰和擴充三元迪菲-赫爾曼 (X3DH) 握手。[60][61]它使用Curve25519、AES-256和HMAC-SHA256作為基元。[11] 該協定提供機密性、完整性、身份驗證、參與者一致性、目標驗證、前向保密、後向保密(又稱未來保密)、因果關係保留、訊息不可連結性、訊息否認、參與否認和非同步性。[62]它不提供匿名性保留,並且需要伺服器來中繼訊息和儲存公鑰材料。[62]
Signal協定還支援端到端加密群聊。群聊協定是成對雙棘輪和多播加密的組合。[62] 除了單對單協定提供的屬性外,群聊協定還提供發言者一致性、亂序彈性、丟棄訊息彈性、計算平等、信任平等、子群訊息傳遞,以及可收縮和可延伸的成員資格。[62]
2014 年 10 月,波鴻魯爾大學 的研究人員發表了對 Signal 協定的分析。[11]除其他發現外,他們還提出了對該協定的未知金鑰共用攻擊,但總的來說,他們發現它是安全的。[63] 2016 年 10 月,來自英國牛津大學、澳大利亞昆士蘭科技大學和加拿大麥克馬斯特大學的研究人員發表了對該協定的正式分析。[64][65] 他們得出結論,該協定在密碼學上是可靠的。[64][65] 2017 年 7 月,波鴻魯爾大學 的研究人員在對群組信使的另一項分析中發現了對 Signal 群組協定的純理論攻擊:知道群組秘密 ID 的用戶(由於以前是群組成員或從成員的裝置中竊取了它)可以成為該群組的成員。由於無法猜測群組 ID,並且此類別成員更改會顯示給其餘成員,因此在不被發現的情況下很難執行此類攻擊。[66]
截至2018年8月[update],Signal 協定已在WhatsApp、Facebook Messenger、Skype[67]和Google Allo[68]中實現,使得「全球超過 10 億人」的對話能夠進行端到端加密。[69] 在 Google Allo、Skype 和 Facebook Messenger 中,預設情況下不使用 Signal 協定加密對話;它們僅在可選模式下提供端到端加密。[37][70][67][71]
直到 2017 年 3 月,Signal 的語音通話都使用SRTP和ZRTP金鑰協商協定進行加密,該協定由菲爾·齊默爾曼開發。[72][73] 2017 年 3 月,Signal過渡到新的基於WebRTC的呼叫系統,該系統引入了進行影片通話的功能。[74]Signal的語音和影片通話功能使用Signal協定通道進行身份驗證,而不是ZRTP。[75][76][20]
為了驗證通訊方確實是他們聲稱的人,Signal 用戶可以比較金鑰指紋(或掃描二維條碼)帶外。[25]該平台採用首次使用信任機制,以便在通訊方的金鑰發生變化時通知用戶。[25]
應用程式在接收和解密訊息後,會將它們本地儲存在每個裝置上的SQLite資料庫中,該資料庫使用SQLCipher加密。[77]此資料庫的加密金鑰也儲存在本地,如果裝置已解鎖,則可以訪問該金鑰。[77][78]2020 年 12 月,Cellebrite發表了一篇博文,宣佈他們的一款產品現在可以訪問此金鑰並使用它來「解密 Signal 應用程式」。[77][79] 科技記者後來發表文章,報道了Cellebrite如何聲稱有能力「侵入 Signal 應用程式」和「破解 Signal 的加密」。[80][81]後一種解釋遭到了一些專家的反駁,[82] 以及 Signal 的代表,他們表示 Cellebrite 最初的貼文是關於訪問「他們實際擁有的已解鎖 Android 手機」上的數據,並且他們「可以打開應用程式檢視訊息」。[83][84]類似的提取工具也存在於iOS裝置和Signal電腦版上。[85][86]
Signal依賴於由Signal Messenger維護的集中式伺服器。 除了路由Signal的訊息外,伺服器還有助於發現同時也是Signal用戶註冊的聯絡人以及自動交換用戶的公鑰。 預設情況下,Signal的語音和影片通話是雙方的對等直接連接[20]。如果呼叫者不在接收者的通訊簿中,則將呼叫路由通過伺服器以隱藏用戶的IP位址[20]。
伺服器儲存註冊用戶的電話號碼、公鑰材料和推播權杖,這些都是建立呼叫和傳輸訊息所必需的。[87] 為了確定哪些聯絡人也是 Signal 用戶,用戶聯絡電話號碼的密碼雜湊會定期傳輸到伺服器。[88] 然後,伺服器會檢查這些雜湊是否與任何註冊用戶的 SHA256 雜湊匹配,並在找到任何匹配項時通知客戶端。[88] 之後,雜湊的號碼將從伺服器中丟棄。[87] 2014 年,Moxie Marlinspike 寫道,由於電話號碼的有限原像空間(所有可能雜湊輸入的集合),因此很容易計算出所有可能雜湊輸入到雜湊輸出的對映並反轉對映,並且「實用的私隱保護聯絡人發現仍然是一個未解決的問題」。[89][88] 2017 年 9 月,Signal 的開發人員宣佈,他們正在研究一種方法,使 Signal 客戶端應用程式能夠「有效且可延伸地確定其地址簿中的聯絡人是否是 Signal 用戶,而無需向 Signal 服務透露其地址簿中的聯絡人」。[90][91]
所有客戶端-伺服器通訊都受到 TLS 的保護。[73][92] Signal 的開發人員斷言,他們的伺服器不會保留有關誰在何時給誰打電話的紀錄檔。[93] 2016 年 6 月,Marlinspike 告訴《The Intercept》,「Signal 伺服器儲存的最接近元數據的資訊是每個用戶最後一次連接到伺服器的時間,並且此資訊的精度降低到天,而不是小時、分鐘和秒」。[37] 群組訊息傳遞機制的設計使伺服器無法訪問成員列表、群組標題或群組圖示。[94] 相反,群組的建立、更新、加入和離開由客戶端完成,客戶端以與傳遞一對一訊息相同的方式將成對訊息傳遞給參與者。[95][96]
Signal 的伺服器架構在 2013 年 12 月至 2016 年 2 月期間是互聯(英語:federation)的。2013 年 12 月,宣佈 Signal 使用的訊息傳遞協定已成功整合到基於 Android 的開源作業系統 CyanogenMod 中。[97][98][99] 從 CyanogenMod 11.0 開始,客戶端邏輯包含在一個名為 WhisperPush 的系統應用程式中。據 Signal 的開發人員稱,Cyanogen 團隊為 WhisperPush 客戶端執行他們自己的 Signal 訊息傳遞伺服器,該伺服器與主伺服器聯合,以便兩個客戶端可以相互交換訊息。[99] WhisperPush 原始碼在 GPLv3 許可下可用。[100] 2016 年 2 月,CyanogenMod 團隊停止了 WhisperPush,並建議其用戶切換到 Signal。[101] 2016 年 5月,Moxie Marlinspike 寫道,與 CyanogenMod 伺服器的聯合降低了用戶體驗並阻礙了開發,並且他們的伺服器可能不會再次與其他伺服器聯合。[102]
2016 年 5 月,Moxie Marlinspike 要求名為 LibreSignal 的第三方客戶端不要使用 Signal 服務或 Signal 名稱。[102] 結果,LibreSignal 專案在 2016 年 5 月 24 日發佈公告稱該專案已「放棄」。[103] LibreSignal 提供的功能隨後被 Marlinspike 整合到 Signal 中。[104]
適用於 Android、iOS 和桌面的 Signal 客戶端的完整 原始碼 在 GitHub 上以 自由軟件許可證 的形式提供。[7][8][9] 這使得有興趣的人士可以檢查代碼並幫助開發人員驗證一切是否按預期執行。它還允許進階用戶編譯他們自己的應用程式副本,並將它們與 Signal Messenger 分發的版本進行比較。2016 年 3 月,Moxie Marlinspike 寫道,除了由於缺乏 Gradle NDK 支援而未與專案構建一起編譯的一些共用庫外,Signal for Android是可重現的。[105] Signal 的伺服器是部分開源的,但由於安全原因,伺服器軟件的反垃圾郵件組件是專有的並且是閉源的。[10][106]
由於Facebook在2021年1月7日更新了WhatsApp的私隱條款[107],新的私隱協定規定(除歐盟外)WhatsApp將在2021年2月8日與Facebook共用包括但不限IP位址,手機號等用戶數據,這導致Signal的排名在不少國家的Google Play和App Store的應用排行榜急劇上升。[108][109]
Signal應對伊朗政府封殺提出了TLS代理方案,此方案在2021年2月7日被被曝出重大漏洞,會泄漏 DNS 和 API 請求[110][111],隨後其TLS代理在Github的「問題」功能被關閉,引起批評。[112][113][114]
2016 年 12 月,埃及封鎖了對 Signal 的訪問。[115] 作為回應,Signal的開發人員在其服務中添加了域名偽裝。[116] 這使得特定國家/地區的 Signal 用戶可以通過使其看起來像是在連接到不同的互聯網服務來規避審查。[116][117] 截至2022年5月[update],Signal的域名偽裝在埃及、阿聯酋、阿曼、卡塔爾、伊朗、古巴、烏茲別克斯坦和烏克蘭預設啟用。[118]
截至2018年1月[update],Signal 在伊朗被封鎖。[119][120]Signal的域名偽裝功能依賴於 Google App Engine (GAE) 服務。[120][119]這在伊朗不起作用,因為 Google 為了遵守美國制裁,封鎖了伊朗對 GAE 的訪問。[119][121]
2018 年初,Google App Engine 進行了一項內部更改,停止了所有國家/地區的域名偽裝。由於此問題,Signal進行了一項公開更改,使用 Amazon CloudFront 進行域名偽裝。但是,AWS 也宣佈他們將對其服務進行更改以防止域名偽裝。因此,Signal 表示他們將開始研究新的方法/途徑。[122][123] Signal 在 2019 年 4 月從 AWS 切換回 Google。[124]
2021 年 1 月,伊朗從應用商店中刪除了該應用程式,[125][126] 並封鎖了 Signal。[127]科技媒體TechCrunch發現,中國用戶在2021年3月15日晚上起,如不使用虛擬私人網絡 (VPN) 便無法使用Signal,[128]專門追蹤中華人民共和國網絡審查的GreatFire亦發現無法在中國境內瀏覽Signal的官方網站,可能受到防火長城的限制而無法正常使用。[129]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.