安全性

只有你核准過的 Mac,才收得到任何東西。

每一步各自靠什麼保護——以及同樣清楚地,每一項防護到底在哪裡結束。

剪貼簿裡可能放著一組登入驗證碼、一份已簽好的合約,也可能只是一句還沒寫完的話,這三種東西送出去的路徑都一樣。在你把它送到另一台 Mac 之前,問一下它會去哪裡、哪些裝置收得到、事後又還會留下什麼,都是很合理的事。

Deskferry 的答案是:本機連線、由管理員核准過的裝置、加密傳輸,還有一份只留在記下它的那台 Mac 上的歷史記錄庫。下面六個段落會逐一說明每一項防護,以及它到底在哪裡結束。

你的 Mac 彼此對話,中間不會經過雲端

區域網路Wi-Fi / Ethernet

Mac A
Mac B
不經雲端中繼
內容透過本地 Wi-Fi 或乙太網路,在受信任的 Mac 之間直接傳輸。

同一張桌上的兩台 Mac。把一段文字從一台搬到另一台,不應該連帶在某個雲端服務上留下第三份副本。支援的剪貼簿內容和選取的檔案,會在彼此都連得到的區域網路上,直接在已核准的 Mac 之間傳送。

連線走的是本機 Wi-Fi 或乙太網路。分享的內容不會經過 Deskferry 開發者的伺服器,也沒有什麼 Deskferry 雲端剪貼簿可以讓裝置事後去下載。接收端的 Mac,是透過自己跟傳送端 Mac 建立的連線直接拿到內容。用協定的說法,這是點對點(P2P)的區域網路傳輸,路徑中沒有 Deskferry 的雲端轉送節點。

這在日常上帶來的好處,是少了一個要記得清理的地方。不會有雲端資料庫需要你三不五時去清空,不會有上傳的存檔要之後整理,第一次複製之前也不用先連上某個服務帳號。同一台筆電和桌機一天來回傳個二十次的時候,這個差別最明顯。

連得到彼此是一個實際的條件,不是走個形式,所以真的要有心理準備。會隔離客戶端的訪客網路,就算兩台 Mac 顯示著同樣的 Wi-Fi 名稱,連線還是會被直接擋下來。家裡和辦公室的網路也不會自動接在一起。單一 Mac 上的本機歷史記錄不受這些條件影響。

分享不靠一組共用的登入

Apple 帳號 A
Apple 帳號 B

已核准的裝置群組

Mac A
Mac B

裝置身分

無需登入 Deskferry

Apple 帳號各自獨立;分享由已核准的裝置群組成員資格授權。

公司帳號的工作 Mac,跟你自己的 Mac。很少有理由要把這兩個帳號混在一起,連接兩台機器也不該逼你這麼做。

所以配對或同步之前,沒有東西需要註冊,也不需要登入。兩台 Mac 可以各自用完全不同的 Apple 帳號。授權來自一個已核准的裝置群組,而不是共用的登入資訊:裝置身分和群組層級的授權,取代了原本要靠服務帳號才能做到的事。

在家庭或小團隊裡,這代表你邀請的是某一台特定的 Mac。沒有人要傳來傳去帳密,個人和工作的登入各自留在原地,加入一台新裝置仍然是一個真正需要有人做出的決定。

Mac App Store 的下載、購買以及相關的帳號需求,還是由 Apple 處理。Deskferry 避開的是再多開一個產品帳號,配對的兩台 Mac 也絕對不會被要求共用同一個 Apple 帳號。

每一台新 Mac 加入,都要有人做決定

  1. 管理員發出邀請
  2. 輸入六位配對碼120 秒 · 最多三次嘗試
  3. SPAKE2TLS exporter綁定至本次連線
  4. 管理員核對並核准
邀請 → 六位碼 → SPAKE2 與 TLS exporter 綁定 → 管理員核准。

在附近,說明不了這台 Mac 是不是應該收到你的東西。發現和授權被刻意分開:出現在同一個 Wi-Fi 上,不會讓一台裝置自動進入任何群組,也不會因此獲得任何權限。

配對走的是一段簡短的流程,好讓管理員能在授予成員資格之前先看一眼這台裝置:

  1. 管理員從自己的群組發出邀請,選擇 Add Mac。6 位數代碼有效期 120 秒,最多可嘗試三次驗證。
  2. 在要加入的 Mac 上,Join a Group 選取附近那個邀請並輸入代碼。加密配對交換過程使用 SPAKE2 在請求送去核准之前先驗證雙方身分,並透過 TLS exporter 把結果綁定到這條安全連線上,讓短效代碼和之後的裝置工作階段屬於同一次信任建立過程。
  3. 管理員檢查加入的 Mac 並核准它。如果代碼過期或三次嘗試都用完,就得重新發出一次邀請。

這些檢查只發生在授予存取權限的那一刻。之後每次複製都不需要重新輸入代碼——後續的連線靠的是配對時建立的裝置身分驗證。第一次傳輸之前,記得在兩台 Mac 上選取同一個目前群組,並等連線就緒。

有一部分完全不靠加密:只核准你認得出來的請求。代碼和加密交換保護的是配對這個過程本身。這是不是你真正想信任的裝置,這個問題只有你自己能回答。

傳輸過程和已保留副本各自的保護

傳輸過程TLS 1.3 · mTLS

Mac A
Mac B

雙向驗證

各自的 Mac 本機

Mac A
Mac B
加密歷史macOS 鑰匙圈
TLS 1.3 保護連線;每台 Mac 分別加密自己的歷史正文,金鑰由 macOS 鑰匙圈保管。

Wi-Fi 密碼決定的是誰能連上這個網路,對你接下來送出去的內容什麼都保護不了。雙方 Mac 的身分都會被驗證,兩者之間的連線也會加密,這才是防止複製的文字、圖片和檔案在傳輸過程中被讀取的關鍵。

傳輸走的是 TLS 1.3 搭配雙向驗證(mTLS),所以雙方都要證明自己的身分,而不是單純信任這個網路。事件會被簽章,重放保護也代表一則舊的、原本有效的訊息不能被重新當成新動作接受。這條連線還帶著自己的情境:它只屬於某一個已核准的群組,不是給任何剛好在監聽的人。

已保留的歷史記錄有自己的保護。內文和附件在每台 Mac 上各自加密,金鑰存在 macOS 鑰匙圈裡。像時間和狀態這類索引資訊分開存放,所以內容被加密,不代表索引裡每一個欄位都一起被加密了。

以下這些,都不是這些機制能決定的:一個受信任的接收者拿到內容之後會怎麼處理。收到你內容的 Mac 可以無限期留著它,一台沒上鎖的 Mac 則屬於坐在它前面的任何人。挑選接收對象,以及鎖好機器本身,這些工作還是要靠你自己。

一個目前群組,對象明確、角色明確

目前群組

管理員
簽章成員名單
成員
Mac C · 撤銷後續存取權
其他群組 · 非目前群組
目前群組決定分享對象;移除成員會撤銷後續存取權,不會收回已收到的副本。

一旦超過兩台 Mac 牽涉其中,知道誰能收到複製內容,開始比傳輸速度更重要。目前群組就是這個對象——不是附近任何一台 Mac,也不是你曾經加入過的每一個群組。在底層,綁定群組的 v2 訊框讓訊息停留在原本設定的群組情境裡,簽章過的成員名單和簽章過的撤銷記錄,則記錄著誰現在還有授權。每台 Mac 在這之上,再套用自己的同步規則。

這些控管把成員資格的決定,跟日常使用分開來:

  • 成員資格由管理員管理。 核准一台新 Mac 是管理員的工作,把成員從自己擁有的群組移除也是——就算那台裝置當下正好離線。成員彼此之間無法互相移除。
  • 每台 Mac 自己控管自己的分享。 目前是哪個群組、同步有沒有暫停、這台機器可以送出哪些內容類型——這些都是各自本機的決定。重要的複製動作之前,先看一眼目前群組。
  • 個人歷史記錄就是個人的。 跟某人同屬一個群組,並不會讓對方有辦法進到你的歷史記錄庫,管理員也不例外。接收方留下的,只是它自己收到的那些你允許同步的內容的本機記錄。

家庭群組和工作群組可以並存,要分享給哪一邊由你自己挑。切換群組會改變目前的對象,但同時擁有兩個群組,不代表每一次新複製都會同時送到兩邊。

移除一位成員,撤銷的是之後透過那次配對得到的授權存取,僅止於此。它不會回頭清掉對方已經存下的檔案、貼上的內容或歷史記錄。存取控管管的是下一次複製要送給誰,管不到上一次複製後來變成什麼樣子。

本機檢查,讓支援的機密內容不會變成可讀的歷史記錄

在本機檢查
  1. 複製的內容
  2. 符合支援的格式
  3. 敏感佔位不保留正文、名稱或縮圖

僅辨識支援的格式,可能漏判。

不留可讀歷史 ≠ 阻止同步

命中支援的格式後,只保留無法還原機密內容的佔位。敏感辨識與同步設定相互獨立。

你貼了一組密碼,然後就忘了這件事。它現在成了一份清單裡的一筆記錄,接下來幾週你會不斷捲過它。針對支援格式的本機檢查存在的理由,就是讓其中一部分複製內容,一開始就不會變成可以打開來看的歷史記錄。

這套規則涵蓋帶有明確欄位的憑證、特定私鑰格式,以及支援的復原短語,判斷方式是看格式本身的結構,而不是把每一串看起來隨機的字元都當成機密。辨識過程是確定性的:依據格式自身的結構、NFKD 正規化以及格式定義的檢查碼來判斷,包括支援的 BIP39、SLIP39 復原短語,BIP32、BIP38 和 WIF 私鑰,以及 PEM 或 OpenSSH 容器格式。這項檢查在你的 Mac 上執行,剪貼簿內容不會被上傳去做檢測。

一旦符合支援的格式,整個事件就會以敏感內容佔位符的形式儲存。它的可讀內文、附件名稱和縮圖都不會留在這筆記錄裡,所以之後也無法打開它把機密內容找回來。

接下來這個區別,才是真正最容易讓人搞混的地方:不進歷史記錄,跟不上網路,是兩個完全不同的設定。敏感內容同步預設是開啟的,而且每台 Mac 各自套用自己的設定。如果私密內容完全不該送到目前群組,就在複製之前關掉那個開關,或先暫停同步。歷史記錄裡出現一個佔位符,不代表什麼都沒有送出去。

常見問題

常見問題解答

同一個 Wi-Fi 上的其他 Mac 能讀到我的剪貼簿嗎?

在你的網路上,不代表就是任何東西的成員。內容只會送到已核准、屬於群組成員的裝置,而且走的是經過驗證的連線,沒人核准過的 Mac 什麼都收不到。也就是說,真正保護你的不是某個網路設定,而是你邀請了哪些裝置、哪些人。

兩台 Mac 一定要用同一個 Apple 帳號嗎?

不用,而這正是重點所在。配對和同步依靠的是已核准的群組,所以兩台 Mac 可以各自登入不同的 Apple 帳號、一直維持這樣。App Store 的下載和購買由 Apple 另外處理,整個過程中沒有任何 Deskferry 帳號。

配對代碼過期或配對失敗了怎麼辦?

重新開始就好,大概十秒鐘。6 位數代碼有效期 120 秒,最多可嘗試三次;不論哪個先用完,都由管理員發出新的邀請,再檢查、核准加入的 Mac。看首次配對雙方各自要做的事。

Deskferry 能透過網路從家裡連到我辦公室的 Mac 嗎?

不行。兩台 Mac 需要一個彼此連得到的本機 Wi-Fi 或乙太網路,也沒有開發者的轉送節點能幫忙串接兩個不同地點。完全不需要網路也能運作的,是單一 Mac 上的本機歷史記錄。

加入一個群組會不會讓我原本的歷史記錄被看光?

不會。你的歷史記錄庫留在你的 Mac 上,群組沒有辦法查詢或搜尋它。能被傳出去的,只有你允許同步的新複製內容,接收端的每台 Mac 也只會保留自己收到的那部分本機記錄。

移除一台 Mac 會刪掉它已經收到的檔案嗎?

不會,也沒有任何機制做得到這件事。移除撤銷的是之後的授權存取;已經存在對方那邊的檔案、貼上的內容和歷史記錄都會原封不動留在那裡。所以真正該考慮的,是事後你信不信得過那個接收者,而不只是傳輸當下。

敏感內容偵測能擋住所有密碼被傳出去嗎?

不能,原因有兩個。它只涵蓋支援的格式,而且管控的是可讀的歷史記錄,不是傳輸本身。敏感內容同步預設是開啟的,所以如果有東西絕對不能離開這台 Mac,複製之前先關掉那個開關或暫停同步。參見隱私權控管和首次配對。

指南

延伸閱讀

Deskferry

下一步,就這麼簡單。

換一台 Mac 繼續工作、傳送檔案,或找回先前複製的內容。

macOS 14+ · 單台 Mac 可用歷史記錄 · 同步需要相互可達的區域網路