クリップボードにはログインコードも、署名済みの契約書も、書きかけの一文も入ります。しかも三者ともまったく同じ経路をたどります。それを別の Mac へ送る前に、どこへ行くのか、どのデバイスが受け取れるのか、送った後に何が手元に残るのかを確かめておくのは当然のことです。
Deskferry の答えは、ローカル接続、管理者が承認したデバイス、暗号化された通信、そして記録した Mac に留まる履歴ライブラリです。以下の 6 つのセクションで、それぞれの保護と、その保護が終わる場所を説明します。
Mac 同士が話すのであって、間にクラウドを挟まない
ローカルネットワークWi-Fi / Ethernet
同じ机の上にある 2 台の Mac。段落 1 つを片方からもう片方へ動かすのに、どこかのクラウドサービスに控えを残す必要はないはずです。対応するクリップボードのコンテンツと選択したファイルは、互いに届くローカルネットワーク上で、承認済みの Mac の間を直接移動します。
接続はローカルの Wi-Fi または Ethernet 上で行われます。共有されたコンテンツが Deskferry 開発者のサーバーを通ることはなく、デバイスが後から取りに行くような Deskferry のクラウドクリップボードも存在しません。受け取る側の Mac は、送信側の Mac との自前の接続を通じてコンテンツを得ます。プロトコルの用語で言えば、Deskferry のクラウド中継を挟まない P2P(ピアツーピア)の LAN 転送です。
これが日々もたらすのは、片づける場所が 1 つ減るということです。いちいち消し忘れを気にするクラウドライブラリも、あとで整理するアップロード済みアーカイブも、最初のコピーの前につなぐサービスアカウントも要りません。同じノート Mac とデスク Mac が 1 日に 20 回もやり取りする場面で、いちばん効いてきます。
到達性は形式的な条件ではなく、実際に足をすくわれることがあります。クライアントを分離するゲストネットワークでは、両方の Mac に同じ Wi-Fi 名が表示されていても接続は成立しません。自宅とオフィスをつなぐ橋渡しもありません。1 台の Mac だけで使うローカル履歴は、これらの影響を一切受けません。
1 つの共有ログインに頼らない共有
承認済みデバイスグループ
デバイスの識別情報
Deskferryへのログイン不要
会社のアカウントで使う仕事用 Mac と、自分のアカウントで使う個人用 Mac。この 2 つを統合するもっともな理由はめったになく、2 台をつなぐためにそれを強いられるべきでもありません。
だからペアリングや同期の前に、登録や サインインの手順はありません。2 台の Mac はまったく別の Apple Account のままで構いません。権限は承認済みのデバイスグループから来るのであって、共有ログインではありません。サービスアカウントが本来担う役割は、デバイス識別とグループ単位の権限が代わりに果たします。
家庭や小さなチームで言えば、招待するのは特定の 1 台の Mac だということです。誰かが資格情報を回し合うこともなく、個人用と仕事用のサインインはそれぞれの場所に留まり、デバイスを追加するかどうかは誰かが実際に判断すべき決定であり続けます。
Mac App Store でのダウンロード、購入、それに付随するアカウントの要件は、引き続き Apple が扱います。Deskferry が避けているのは、もう 1 つ別の製品アカウントを持つことで、ペアリングした Mac 同士に 1 つの Apple Account を共有させることは決してありません。
新しい Mac が加わるのは、誰かが判断したときだけ
- 管理者が招待
- 6桁コードを入力120秒間有効・試行は最大3回
- SPAKE2TLS exporterこの接続に紐付け
- 管理者が確認して承認
近くにあるからといって、その Mac にあなたの作業を渡してよいことにはなりません。発見と許可はわざと切り離されています。同じ Wi-Fi に現れただけでは、どのグループにも入らず、何の権利も得られません。
ペアリングは短い一連の手順として進み、管理者はメンバーとして承認する前にそのデバイスを確認できます。
- 管理者は自分のグループから
Add Macで招待を開始します。6 桁のコードは 120 秒有効で、認証の試行は 3 回まで許されます。 - 参加する側の Mac では、
Join a Groupでその近くの招待を選び、コードを入力します。暗号化されたペアリングのやり取りは SPAKE2 を使って承認前に双方を検証し、その結果を TLS エクスポーターによって安全な接続に結びつけます。これにより短命なコードと、その後のデバイスセッションが同じ信頼確立に属することになります。 - 管理者は参加してきた Mac を確認し、承認します。コードが期限切れになるか 3 回の試行を使い切った場合は、招待をやり直す必要があります。
これらの確認は、アクセスが許可される瞬間だけのものです。コピーのたびにコードを打ち直す必要はなく、以降の接続はペアリングで確立したデバイス識別を検証するだけです。最初の転送の前に、両方の Mac で同じ現在のグループを選び、接続が整うのを待ってください。
この中に暗号技術ではない部分が 1 つだけあります。見覚えのある要求だけを承認する、という判断です。コードと暗号化されたやり取りはペアリングの過程を守りますが、これが本当に信頼したい相手かどうかは、あなたにしか答えられません。
転送そのものと、保存したコピーの保護
転送中TLS 1.3 · mTLS
相互認証
各Macのローカル領域
Wi-Fi のパスワードが決めるのは、誰がネットワークに入れるかだけです。その先で送るコンテンツについては何も守ってくれません。両方の Mac はお互いの身元を検証し合い、間の接続は暗号化されます。これがコピーしたテキストや画像、ファイルを通信途中で読み取られないようにしています。
通信には相互認証(mTLS)付きの TLS 1.3 が使われ、それぞれの側がネットワークを信用する代わりに自分の身元を証明します。イベントには署名が付き、リプレイ防止によって、古いが有効なメッセージが新しい操作として再度受け入れられることはありません。接続はその文脈も運びます。属するのは 1 つの承認済みグループであって、たまたま聞いている誰でもよいわけではありません。
保存された履歴には独自の保護があります。本文と添付ファイルは各 Mac 上で暗号化され、鍵は macOS のキーチェーンが保持します。時刻やステータスといった索引情報は別に保存されるので、コンテンツを暗号化しているからといって、索引のすべてのフィールドが暗号化されているわけではありません。
ここから先は、どれも決めてくれないことです。信頼した受信者がその後どう扱うか。あなたのコンテンツを受け取った Mac は、それを無期限に保持できますし、ロックされていない Mac は、そこに座った誰のものにもなります。誰に渡すかを選ぶことと、その機械自体をロックしておくことは、最後まであなた自身の仕事です。
対象と役割が定義された、現在のグループ
現在のグループ
Mac が 3 台以上になってくると、誰が受け取れるコピーなのかを把握することが、届く速さよりも重要になってきます。現在のグループが対象範囲であり、近くにあるすべての Mac でも、これまで参加したすべてのグループでもありません。内部では、グループに紐づいた v2 フレームがメッセージを意図したグループの文脈内に留め、署名済みのメンバーリストと署名済みの失効記録が、誰がまだ権限を持っているかを記録します。そのうえで各 Mac が自分自身の同期ポリシーを適用します。
権限は、メンバーシップの判断と日々の利用とを分けて設計されています。
- メンバーシップは管理者が管理する。 新しい Mac の承認は管理者の仕事で、自分が持つグループからメンバーを外すこと(そのとき相手がオフラインでも)も管理者の仕事です。メンバー同士がお互いを外すことはできません。
- 共有の判断は各 Mac 自身が握る。 どのグループが現在のグループか、同期は一時停止しているか、この機械がどのコンテンツ種類を送ってよいか――どれもローカルの決定です。重要なコピーの前は、グループを一目確認してください。
- 個人の履歴は個人のものであり続ける。 誰かと同じグループにいても、相手があなたの履歴ライブラリに入り込む経路はできません。それは管理者であっても同じです。受け取った側が持つのは、自分が同期を許可したものについての、あくまで自分自身のローカル記録です。
自宅用のグループと仕事用のグループを並べて持つこともでき、共有する前にどちらか選びます。切り替えれば有効な対象範囲は変わりますが、両方持っているからといって新しいコピーが両方に届くわけではありません。
メンバーを外すと、そのペアリングを通じた今後の承認済みアクセスが失効し、そこで終わります。相手の Mac がすでに保存したファイルやペーストしたコンテンツ、履歴まで遡って及ぶことはありません。アクセス制御が支配するのは次のコピーの受信先であって、過去のコピーがどうなったかではありません。
対応する機微情報を、読める履歴から締め出すローカルチェック
- コピーした内容
- 対応形式に一致した場合
- 機密内容のプレースホルダー本文・名前・サムネイルは保存しない
対応形式のみを検出します。見逃す場合もあります。
履歴からの除外 ≠ 同期のブロック
パスワードをペーストして、そのまま忘れてしまう。それは数週間スクロールし続けることになる一覧の 1 項目になります。対応する機微フォーマットのローカルチェックがあるのは、そうしたコピーの一部を、最初から読める履歴にしないためです。
対象になるのは、明示的なフィールドを持つ認証情報、いくつかの秘密鍵フォーマット、対応するリカバリーフレーズで、ランダムに見える文字列を一律に秘密扱いするのではなく、構造による照合です。判定は決定的で、フォーマット自身の構造、NFKD 正規化、フォーマットにチェックサムが定義されていればそれも使います。対応するのは BIP39・SLIP39 のフレーズ、BIP32・BIP38・WIF の秘密鍵、PEM や OpenSSH のコンテナです。チェックはあなたの Mac 上で行われ、クリップボードの内容が検査のためにアップロードされることはありません。
対応フォーマットに一致すると、そのイベント全体が機微情報のプレースホルダーとして保存されます。読める本文や添付ファイル名、サムネイルはその項目には残らないので、あとで開いても秘密そのものを取り出すことはできません。
ここが実際に見落とされがちな区別です。履歴から締め出すことと、ネットワークに出さないことは、別々の設定です。機微コンテンツの同期は既定でオンになっており、各 Mac はそれぞれ独立して自分の設定を適用します。個人的な内容を現在のグループにまったく届けたくないなら、コピーする前にその設定をオフにするか、同期を一時停止してください。履歴の中にプレースホルダーがあるからといって、何も送られなかった証拠にはなりません。
よくある質問
よくある質問への回答
同じ Wi-Fi にいる別の Mac が私のクリップボードを読めますか?
同じネットワークにいるだけでは、その Mac は何のメンバーにもなりません。コンテンツが届くのは承認済みのグループメンバーシップを持ち、認証済みの接続を経たデバイスだけで、誰も承認していない Mac には何も待っていません。つまり、あなたを守っているのはネットワークの設定ではなく、どのデバイスを、どの人を招待するかという判断です。
2 台の Mac は同じ Apple Account である必要がありますか?
いいえ。それこそがポイントです。ペアリングと同期は承認済みのグループの上で動くので、2 台の Mac は別々の Apple Account にサインインしたままで構いません。App Store でのダウンロードや購入は Apple が別途扱い、そこには Deskferry のアカウントは一切登場しません。
ペアリングのコードが期限切れになったり、ペアリングが失敗したりしたらどうなりますか?
最初からやり直すだけで、10 秒ほどで済みます。6 桁のコードは 120 秒有効で、認証の試行は 3 回まで。どちらかを使い切ったら、管理者が新しい招待を発行し、参加してきた Mac を確認して承認し直します。初回ペアリングの両側の手順を参照してください。
Deskferry はインターネット経由で自宅からオフィスの Mac にアクセスできますか?
できません。2 台の Mac は互いに届くローカルの Wi-Fi か Ethernet のネットワークが必要で、2 つの拠点をつなぐ開発者の中継サービスもありません。ネットワークがまったくない状態でも動き続けるのは、1 台の Mac の中だけで完結するローカル履歴です。
グループに参加すると、既存の履歴が見えてしまいますか?
いいえ。あなたの履歴ライブラリはあなたの Mac に留まり、グループにはそれを照会したり検索したりする手段がありません。行き来するのは、あなたが同期を許可した新しいコピーだけで、受け取った側の各 Mac は自分が受け取ったものについて自前のローカル記録を持つだけです。
Mac を外すと、その Mac がすでに受け取ったファイルは消えますか?
消えませんし、消しようもありません。外すことで失効するのは今後の承認済みアクセスで、向こうにすでに保存されたファイルやペーストされたコンテンツ、履歴はそのまま残ります。判断すべきなのは、転送の瞬間だけでなく、その後もその相手にコンテンツを託せるかどうかです。
ガイド
次に読みたいガイド
Deskferry
次の一歩は、シンプルに。
別の Mac で続きを進める。ファイルを渡す。前にコピーした内容を見つける。
macOS 14 以降 · 履歴は 1 台で利用可能 · 同期には相互に到達可能な LAN が必要