- ファイルを暗号化し、復旧キーを複数の友人に分割して保管できるオフラインツールで、Shamir の秘密分散アルゴリズムを使用
- たとえば 5 人の友人にキーの断片を分け、3 人が協力すれば復旧可能、ただし 1 人だけではアクセス不可
- 各友人は
recover.html ファイルを含むスタンドアロンバンドルを受け取り、インターネットなしでブラウザ上から復旧を実行可能
- オープンソース(Apache-2.0)として公開されており、サーバーやアカウントシステムなしでローカルでのみ実行
- 個人データ保護と信頼の分散を同時に実現できるシンプルで自立した復旧方式を提供
ReMemory 概要
- ReMemory は、ファイルを暗号化した後、復号キーを複数の信頼できる友人に分割して渡すオフラインツール
- Shamir’s Secret Sharing を使ってキーを複数の断片に分け、一定数以上の断片が集まれば復旧可能
- 例として 5 人に断片を分け、3 人が協力すれば元のファイルを復旧可能
- 各友人は
recover.html を含むバンドルを受け取り、ブラウザでオフラインのまま復旧手順を実行
- インターネット接続やサーバーへのアクセスは不要で、Web サイトが消えても復旧可能
仕組み
- ファイルを暗号化した後、生成されたキーを複数の share に分割して友人たちに配布
- Encrypt → Split key → Distribute の順に進行
- 復旧時は Combine shares → Decrypt → File recovered の手順で元のファイルを復元
- 異なる組み合わせの友人たちが一定人数以上集まれば復旧可能(例: 5 人中 3 人)
特徴と限界
- 特徴
- ブラウザで動作するオフラインツール
- 復旧キーを友人同士で分割して保管可能
- **オープンソース(Apache-2.0)**として公開
- Web サイトなしでも復旧できる自己完結型の構造
- 限界
- サービスや会社という形態ではない
- アカウントシステムやクラウド製品ではない
- データを外部に保存しない
- 単体でバックアップソリューションの役割は果たさない
使い方
- デモバンドル をダウンロードすると 3 つのサンプルバンドルを確認可能
- 例:
bundle-alice/recover.html をブラウザで開き、Bob と Carol の README.txt ファイルをドラッグして追加
- しきい値(3 人)が満たされると自動で復号が進行
- 実際に使う前に、デモを通じて友人たちが復旧手順を体験可能
信頼と検証
- GitHub で全コードを公開しており、誰でも確認可能
- 独自のセキュリティ監査文書を通じて暗号化方式の選定理由を説明
- すべての処理はローカルブラウザ内で実行され、ファイルが外部へ送信されることはない
- 実際の秘密ファイルを使う前に、デモバンドルで動作確認することを推奨
- 暗号化には age ツールを使用し、現代的で信頼されている暗号化方式を採用
開発背景
- 個人が事故に遭ったとき、信頼できる友人たちが重要なファイルにアクセスできるようにするために制作
- 単一の人物やサービスにすべての権限を任せないための目的
- 既存にシンプルで独立して復旧可能なツールがなかったため自ら開発
- 他の人にも有用である可能性があるため公開共有
1件のコメント
Hacker Newsのコメント
未来の自分を他人のように扱うべきだと思う
その他人のために文章を書いておけば、未来の自分は感謝するはず
人は覚えていられると思いがちだが、実際には忘れる
あまり自分を追い込まず、未来の自分のためにシンプルな非電子的な記録方法を勧めたい
家族や友人が気づけるように簡単な合言葉を入れておくのもよい。たとえば家族だけが知っている言葉、子どものころに飼っていたペットの名前、曽祖父の話に出てくるミドルネームのようなものだ
義母と代母が頻繁に物忘れするようになり始めたとき、私は家のあちこちにValet Bowlを置き、ペン付きの小さなノートを使ってもらった
忘れたらノートを見て、鍵をなくしたらボウルを確認するようにした
結局のところ、「覚えようとするな、手に覚えさせろ」という訓練をしている
面白いのは、ボウルは作らなかったのにそのコメントは覚えていること。今は車のキーがどこにあるのかわからない。ボウルを作るべきだった
おかげで未来の自分はいつも過去の自分に感謝している。現在の自分も幸せだ
7人中5人というのは、たとえば交通事故のような状況では同時に2人以上と一緒にいてはいけない、という意味だ
単純な記憶喪失だけでなく、昏睡状態や長期入院のような状況も考慮すべきだ
信頼できる第三者が請求書やクラウド料金のようなものを処理できるよう、アクセス権を整えておくのが実用的だ
私は秘密の管理者パスワードを耐火・防水金庫に入れた紙の日誌に書いている
場所は私とパートナーだけが知っている
それ以外のパスワードはすべてパスワードマネージャーに保存している
家が全焼するほどの火災なら、金庫の内部温度も十分に上がって中身が燃えてしまうことがある
銀行の貸金庫のほうがはるかに安全な代替手段だ。銀行は家より燃えにくいから
これは記憶喪失よりも死亡時のアクセス問題に備えるためだ
信頼が低い関係なら、弁護士を仲介役にすることもできる
こういうアイデアが注目されるのはうれしい
以前、同じHashiCorpライブラリで似たものを作ったが、完成度不足で公開できなかった
passcruxプロジェクトをもう一度手直しするつもりだ
私の目標はパスワードマネージャーのマスターパスワード保全で、友人たちに分割バックアップを預ける構成だった
Shamir分割は簡単だったが、部分的なデータ損失の補正のために誤り訂正機能を追加したい
記憶喪失に備えるなら、次の状況も考えるべきだ
だから私は、単に物理的セキュリティに依存するのが最善だと思う
家の書類のように平文で書いておき、それが何で、なぜ必要で、どうアクセスするのかを明記すべきだ
記憶喪失への備えは相続計画とは違うが、生体認証は活用できる
それでも両方を統合して一度に備えるほうがよいと思う
うちの家族は、私がどこに置いたか知っている**「赤いノート」**を知っている
そこには私のデジタル資産へのアクセス方法が詳しく書いてある
みんながやるように、モニターにパスワードの付箋を貼ればいい
友人が以前こういうものを作っていた
keybearer紹介ページ / GitHubリポジトリ
14年前にこれを実装していたなんてすごい
私はリカバリーアプリと非技術者向けPDF説明書をZIPに一緒に入れる形で作った
復旧体験をできるだけなめらかにしようとした試みだった
あなたのバージョンは、私が見た中で唯一ちゃんと動く例だ。尊敬する
こういうシステムを機能させるには友人が必要だ