チャットやメールに貼る前にメモを暗号化する
リカバリコード・APIキー・暗証番号。チャットログに平文で残すべきでない文章があります。ここで暗号化する手順と、守れる範囲・守れない範囲をまとめます。
このガイドで使う道具
やりたいこと
同僚にリカバリコードを送りたいが、チャットの履歴はずっと残る。ここでパスワード付きでテキストを暗号化し、base64ブロックをチャットに貼り、パスワードは電話や口頭など別の経路で伝えます。
具体例
「暗号化」を選んでリカバリコードを貼り、パスフレーズのようなパスワードを設定します(ランダムな秘密にはパスワード生成が使えます)。出力は1つのbase64ブロックです。受け取った相手は同じツールで「復号」を選び、ブロックを貼ってパスワードを入力すると元のテキストが戻ります。
- 暗号化のたびに新しいソルトとIVを使うため、同じテキストを2回暗号化しても異なるブロックになります。
- 鍵はパスワードからPBKDF2-SHA-256を20万回繰り返して導出し、暗号はAES-256-GCMです。
守れる範囲と守れない範囲
パスワードを知らない第三者がチャットを読んでも内容は守れます。ただしメッセージが送られた事実・送信者・時刻は隠せず、チャットのログには残ります。パスワードマネージャーでもありません。何も保存しないため、パスワードを忘れるとテキストは二度と戻りません。パスワードが弱ければ暗号も弱くなります。長いものを使ってください。
制限
テキストは20万文字まで。すべてブラウザ内のWebCryptoで処理し、テキストとパスワードはページの外に出ません。往復には送り側と受け側の両方がこのツール(または同等のAES-GCM/PBKDF2実装)を使う必要があります。