世界を動かす技術を、日本語で。

シグナル セキュア バックアップ

概要

  • Signalが 安全なバックアップ機能 を導入
  • Androidベータ版 で先行提供、今後iOSやDesktopにも対応予定
  • エンドツーエンド暗号化 とプライバシー重視設計
  • 無料プランと 有料サブスクリプション の2種類
  • バックアップ復元には リカバリーキー が必須

Signalの安全なバックアップ機能の導入

  • これまで 端末の紛失・故障 でSignalのメッセージ履歴が消失
  • 家族写真や重要なドキュメントなど、 大切な会話の保護 が課題
  • ユーザーから最も多かった要望が バックアップ機能
  • 最新のAndroidベータ版で 安全なバックアップ 機能を試験的に提供開始
  • 今後、 iOSやDesktop にも順次対応予定

安全なバックアップ機能の基本

  • オプトイン方式 で利用可能、強制ではない
  • エンドツーエンド暗号化 によるプライバシー保護設計
  • テキストメッセージ全件と 直近45日分のメディア を無料でバックアップ
  • 45日以上のメディアや メッセージ履歴の拡張バックアップ は月額US$1.99の有料プラン
  • 無料プランは 100MiBのメッセージ保存容量、有料プランは 最大100GBの保存容量

バックアップの仕組みとプライバシー設計

  • ゼロ知識技術 により、バックアップとユーザーアカウント・支払い情報を直接紐付けしない
  • バックアップの 復元には64文字のリカバリーキー が必要
  • リカバリーキーは 端末で生成 され、Signalサーバーには保存されない
  • キー紛失時は バックアップ復元不可、Signal側での復元サポートなし
  • セキュリティを最優先とし、 二重暗号化やファイルサイズの秘匿化 も実施

バックアップの利用方法と注意点

  • Signalの設定メニュー からバックアップ機能を有効化
  • 現時点では Androidベータ版限定、今後全プラットフォーム対応予定
  • 有効化後は 毎日自動でバックアップアーカイブ を作成し、前日のものと入れ替え
  • 自分だけが復号可能、24時間以内に削除・消去設定したメッセージはバックアップに残らない
  • 他のユーザーが自分との会話をバックアップしても、 暗号化とプライバシー保護は維持

今後の展望

  • 今後は 保存先の選択 や端末間での 暗号化履歴移行 機能も計画
  • Androidベータ版での提供開始後、 パブリックリリースやiOS/デスクトップ対応 を予定
  • オープンソースの ストレージ管理ソフトウェア も公開(https://github.com/signalapp/storage-manager)

まとめ

  • Signalの安全なバックアップ は、プライバシーとセキュリティを最優先
  • リカバリーキーの厳重管理 が重要
  • 無料・有料プラン の選択肢、ニーズに応じた利用が可能
  • 今後のアップデート により、さらに柔軟なバックアップ運用が実現予定

Hackerたちの意見

これ、めっちゃいいね!ただ、テストリストアが簡単にできるといいな。特に、メインのデバイスに影響を与えずにテストリストアしたいんだ。新しいデバイスで秘密鍵を使ってリストアさせてほしい。コンピュータにSignalをインストールしても、メッセージ履歴が見れないんだよね。バックアップを使えば、コンピュータで_すべて_のメッセージ履歴が見れるのかな?大きい画面だと、たくさんのメッセージを見やすくて助かるよ。

こんにちは、Signalの開発者です。これ、ある程度できるよ!新しいデバイスで復元できるし、古いデバイスでは登録解除されるけど、データはまだ残ってる。だから、新しいデバイスで何かおかしいと思ったら、古いデバイスで再登録すれば、元の状態に戻れるよ。実際、これが私たちが自分のデータで機能をテストする方法の一つなんだ。

わあ、もしかしたら副作用として、ユーザーがAndroidとiOSの間でメッセージ履歴を失わずに移行できるようになるかも。ほんと、なんで移行プロトコルが二つのプラットフォームで全然違うの?

これは将来の機能として言及されてるね。

ほんと、なんで移行プロトコルが二つのプラットフォームで全然違うの? 競合に簡単に移行させたくないからだよ。

こんにちは、Signalの開発者です。新しいバックアップ形式は確かにクロスプラットフォームです。iPhoneでバックアップを復元することに成功しました。今は安定性を確保しているところです :) もし興味があれば、Androidの現在のローカルバックアップがクロスプラットフォームじゃない理由は、かなり前に作られたもので、Androidのsqliteデータベースを再構築するために使えるsqlite文のダンプだからです(強力でランダムなローカルキーで暗号化されている)。だから、あまりポータブルじゃないんですよ!でも、この新しいものは全てクロスプラットフォームで、近い将来にはローカルバックアップもクロスプラットフォームにする予定です。

メディアストレージにもっとクライアント側のコントロールがあったらめっちゃ便利だよね。そうすれば、スレッドをまるごと消さずにストレージの増加をうまく管理できるし。例えば、チャット全体のメディアを見たり、ファイルサイズでソートしたり、会話ごとにグループ化できたら、整理がずっと楽になると思う。

メディアストレージにもっとクライアント側のコントロールがあったらめっちゃ便利だよね。そうすれば、スレッドをまるごと消さずにストレージの増加をうまく管理できるし。 > 例えば、チャット全体のメディアを見たり、ファイルサイズでソートしたり、会話ごとにグループ化できたら、整理がずっと楽になると思う。いいニュースがあるよ:これ、すでにあるんだ。Androidでは、設定 >> データとストレージ >> ストレージ管理 >> ストレージを確認 これで、すべてのチャットのメディア、ファイル、オーディオをストレージ使用量でソートして見ることができるよ。チャットの他の部分に影響を与えずに、個別にファイルを削除することもできるし、会話の中でも同じことができるよ。

AndroidでSignalを無料でオフラインバックアップするのは、ほぼ常に可能だったよ。アプリが電話のメモリ内のSignalフォルダにマルチGBのバックアップファイルを作成するから、それを新しい電話にコピーすればいいだけ。ファイルはパスコードで暗号化されていて、データベースを抽出することもできるよ。https://github.com/bepaald/signalbackup-tools

個人的には、そのファイルをデバイスからどこか別の場所にエクスポートするのを定期的にスケジュールして管理するのは「無料」じゃないと思う。新しいオファーは、個人的には妥当な価格だと思うよ。

現在のバックアップにはいくつか問題があるんだよね。

  1. 増分バックアップじゃない。つまり、Signalのデータベースと同じくらいの空き容量がスマホに必要で、データベースが大きいとバックアップに何時間もかかるかも(俺のは18GB)。以前は、Signalのバックアップに忙しくて、スマホが充電されてないこともあったよ。
  2. ディスクにバックアップを取った後、どうやってスマホから取り出すの?特にSyncThingがPlayストアから消えた後は(あれは実質的にAndroidアプリじゃなくて、薄いAndroidシェルの裏にある非Androidアプリだったから、最新のネイティブAPIに簡単にアップグレードできなかった)、明確な方法がないんだよね。ローカルバックアップのためのもっといい解決策があればよかったけど、現実的にはクラウドバックアップが月2ドルってすごく安いし、実用的な解決策だと思う。

投稿の中で「...」の後に重要な情報を隠すのはイライラする。普通に読む代わりに、あの小さい点を何度もクリックしないといけないからね。面倒を省いてあげるよ:

  • チャットのバックアップを選ばなくても、話している相手がバックアップを取ることができて、あなたのメッセージはその相手のバックアップに保存される。
  • メッセージストレージは100MBまで無料。
  • メディアストレージは最後の45日間が無料。
  • それ以上は月1.99ドルで、100GBのストレージが必要。
  • バックアップは1日に1回行われる。

Signalがプレミアム機能に対して課金するのを見て嬉しいよ。製品の観点から見ると、3台目のiOSデバイスなしで2台のiOSデバイスを切り替えられるのはプレミアム機能であるべきじゃないと思う。iOSのシングルSignalインスタンスのためにローカルバックアップと復元を有効にすることを検討してほしいな。

ほとんどの人がすでに支払っているiCloudやGoogleバックアップサービスの代わりに、Signalバックアップサーバーにエンドツーエンド暗号化されたバックアップファイルを保存する理由は何ですか?

@Signal開発者たちへ:バックアップの選択肢が「ローカル」(柔軟だけど一部のユースケースしか解決できない)か「Signalの特別サーバーに送る」(柔軟性がないし、多くのユーザーにとって法的に不可能かもしれない)だけになった理由は何ですか?Signalの(しばしば偏執的な)ユーザー層にとって、すでに信頼を確認しているバックアップ/同期プロバイダーを使いたいと思うのは当然だと思うんです。新しいバックアップサービスプロバイダーを信頼する必要があるのは避けたいでしょうし。今やSignalはこのアーキテクチャを持っているので、追加のバックアップ同期プロバイダーを追加するのは簡単だと思います。例えば、iOSのSignalクライアントのコードベースでは、iCloudに対して増分バックアップ同期を行うプロバイダーを実装できるはずです(メッセージ用のCloudKit + 添付ファイル用のiCloud Drive)。これにより、ユーザーは(おそらくすでに支払っている)iCloudアカウントのストレージを利用できるようになります。AndroidとGoogle Driveでも同様です(ただし、Google DriveにはCloudKitに相当するものがないので、ちょっと面倒かもしれませんが)。すべての場合において、Signalはこのデータをプロバイダーに送信する前に完全に暗号化するべきです。バックアップはユーザーにとって「読み取れる」ものでは期待されていません。しかし、Signalのサーバーに同期されたバックアップでは、ユーザーはSignalのE2Eバックアップ暗号化が完璧に機能することを信じなければならないので、他のプロバイダーに同期する方がずっと安心です。彼らはチャットデータを持っていることを特に知らないし、PEファームによる悪い買収の後に「データ会社」として自分たちを考え始める可能性もありません。

そうなるかもね? > 「私たちの今後の計画には、あなたが選んだ場所に安全なバックアップアーカイブを保存できるようにすることが含まれています。」

ちょっと思いつきで言い過ぎたかもしれないけど、なんでSignalやWhatsApp、他のコミュニケーションアプリのバックアップを取る必要があるの?今を生きて、過ぎ去るものを受け入れよう。どうせそこに隠された財宝なんてないんじゃないかな…。

バックアップみたいに、顧客に本当に価値を提供するものに関連した新しい収益源を開拓してくれるのは嬉しいね。家族や友達のために支払いが簡単にできるようになるといいな。今ある「友達に寄付」みたいな感じで。