コンテンツへスキップ

NFC Safe: 耐久性のあるNFCタグに暗号化されたシークレットを保存する

シードフレーズは紙の上にある。紙は劣化する。NFC Safeは、防水・耐衝撃・数十年持つエポキシコーティングNFCタグに256-bit AES暗号化を使う。クラウドなし、サーバーなし、アカウントなし。必要なのは物理タグとパスフレーズだけ。

シードフレーズは紙の上にある。

金庫に入れているかもしれない。床下に隠しているかもしれない。Redditで「本気の」暗号通貨ユーザーはそうするものだと言われて、三カ所に分けて保管しているかもしれない。でも、それはやっぱり紙だ。紙は燃える。紙は水浸しになる。紙はなくなる。

もし、バックアップが腐らず、劣化せず、見つけた人にはただの何でもないものに見えるとしたら?

それがNFC Safeのやっていること。シードフレーズ、パスワード、リカバリーコードなど、秘密にしておきたいテキストなら何でも、256-bit AES暗号化でNFCタグに書き込む。タグは自己完結している。クラウドなし。サーバーなし。アカウントなし。シークレットを読むには、物理タグとパスフレーズの両方が必要。どちらか欠けたら、タグは意味不明な文字列が入っただけの小さなプラスチック片にすぎない。

暗号化フォーマットは完全にドキュメント化されオープンされており、リファレンスのPythonデコーダーも含まれている。シークレットはアプリの存在に依存しない - NFC.coolが消えても、標準的なNFCリーダーと仕様書があればデータを復元できる。

NFC Safeを作ったのは、自分のパスフレーズを異なる場所に分散配置できる物理タグに冗長的に保存したかったからだ。一つの場所で何か起きても、別のタグが生き残る。誰かがタグを見つけても読めない。自分が思いつく中で最もシンプルな冗長シークレットストレージだ。


シークレット保存の問題点

シークレットを保存するあらゆる方法には弱点がある:

  • は燃え、水浸しになり、劣化し、なくなる

  • USBドライブは腐食するコネクタと破損するファイルシステムを持つ

  • クラウドパスワードマネージャーは、サービスがダウンしたり侵害されたり、アカウントへのアクセスを失うまでは優秀

  • ハードウェアウォレットは暗号通貨には優れているが、リカバリーコードや他のサービスのパスフレーズのような任意のテキストは保存できない

  • あなたの脳は忘れるし、シークレットを他人に簡単に渡すこともできない

理想的なバックアップは次の条件を満たすものだ:

  1. 物理的に耐久性がある - 水、衝撃、数十年の放置に耐える

  2. 暗号化されている - 見つけた人には無意味

  3. 自己完結している - サービス、アプリ、アカウントへの依存なし

  4. 冗長性がある - 複数の場所に置けるほど安価

  5. 長持ちする - 電池が切れることもディスクが劣化することもない

NFCタグはこの5つすべてを満たす。電池もなければ可動部分もない。内蔵されているNTAG216チップはメーカー保証で10年間のデータ保持とされている - 実際には通常の室温ではおそらっと遥かに長いが。エポキシコーティングタイプは防水で、衝撃に強く、踏まれたり落とされたり埋められたりしても生き残るほど頑丈だ。家事には耐えられない - 小さなプラスチック製品はどれもそうだ - でもタグを複数の場所に分散すれば、一つ一つが破壊不可能である必要はない。


NFC Safeの使い方

NFC SafeはNFC.cool ToolsのNFC Appsセクション内にある。上部のセグメントコントロールで暗号化と復号を選ぶ。

シークレットをタグに暗号化して書き込むには:

  1. NFC.cool Toolsを開き、NFC Apps > NFC Safeに移動

  2. Encryptタブが選ばれていることを確認

  3. 秘密のテキストを入力または貼り付け

  4. パスフレーズを設定 - 本当のセキュリティには長くてランダムに生成されたものを使うこと(下のセキュリティに関する注意点を参照)

  5. Encryptをタップ

  6. NFCタグをスマホにかざす - アプリが暗号化データをタグに書き込む

NFC Safeの暗号化・復号ワークフロー: シークレットとパスフレーズを入力し、タグをスキャンして暗号化。復号モードに切り替え、パスフレーズを入力し、タグをスキャンしてシークレットを表示

タグを復号してシークレットを読むには:

  1. NFC.cool Toolsを開き、NFC Apps > NFC Safeに移動

  2. Decryptタブに切り替え

  3. パスフレーズを入力

  4. Decryptをタップ

  5. タグをスマホにかざす

  6. シークレットが画面に表示される

内部では、NFC SafeはAES-256-GCM暗号化を使用し、パスフレーズからPBKDF2(HMAC-SHA-256、100,000反復、16バイトランダムソルト)で鍵を導出している。データはカスタムNDEFレコードフォーマット(urn:nfc:ext:crypto)を使ってタグに保存される。このフォーマットは完全にドキュメント化されオープンなので、NFC.coolが15年後に消えても、標準的なNFCリーダーと30行のPythonスクリプトでデータを復元できる。

NDEFタイプについての注意:urn:nfc:ext:cryptoはタグに暗号化データが含まれていることを明らかにする。何が暗号化されているかは分からないが、執念深い攻撃者にとっては攻撃価値のあるタグだと示してしまう。セキュリティはパスフレーズの強度に依存し、フォーマットの秘匿性には依存しない。


冗長性の戦略

ここが面白いところだ。NTAG216タグはコーヒー一杯と同じくらいの値段だ。エポキシコーティングタイプをいくつか買って、同じシークレットを複数のタグに暗号化し、分散配置できる:

  • 自宅の机の引き出しに一つ

  • オフィスに一つ

  • 家族の家に一つ

  • 貸金庫に一つ

  • いつもの隠し場所に一つ

パスフレーズなしでは、タグだけでは何の意味もない。誰かがオフィスに忍び込んで小さなプラスチックの円盤を見つけたとしても?読めない。それがNFCタグだと知り、NFC.cool Toolsを使うと知り、あなたのパスフレーズを知る必要がある。物理タグとパスフレーズは二つの別々の要素で、二つの別々の場所にある。

これはハードウェアウォレットのシードフレーズバックアップと同じ原則だが、任意のシークレットに適用でき、100ドル以上のハードウェアは不要だ。


なぜUSBやSDカードではなくNFCか

NFCタグにはシークレット保存ならではの利点がある:

  • コネクタなし - 腐食、曲がり、破損するものがない。USBドライブには物理コネクタがある。SDカードには接点がある。NFCタグはコイルとチップがエポキシに封入されているだけ。

  • 電池なし - パッシブNFCタグはリーダー機器の電磁場で駆動する。引き出しの中で死ぬことはない。

  • ファイルシステムなし - 破損するものがない。データはチップのメモリページに直接書き込まれる。

  • ドライバ不要 - どのスマホでもNFCを読める。ケーブルもアダプタもドライバインストールも不要。

  • 小さくて安い - NTAG216タグは硬貨ほどの大きさで、まとめ買いすれば1ドル未満。どこにでも置ける。

  • 耐久性 - エポキシコーティングタイプは水、衝撃、紫外線に強い。無敵ではない - 火には溶ける - が、硬貨ほどの大きさのものとしては驚くほど頑丈だ。

主な制限は記憶容量だ。NTAG216は888バイトのユーザーメモリを持つ。暗号化のオーバーヘッドとNDEFフォーマットを除くと、パスフレーズの長さに応じて約500-700バイトの平文が保存できる。シードフレーズ(通常24語、約200バイト)や長いパスワード、数個のリカバリーコードには十分だ。パスワードデータベース全体には足りない - それにはパスワードマネージャーを使い、マスターパスワードをNFCタグに保存しよう。


NFC Safeタグに保存するもの

実用的なユースケース:

  • 暗号通貨のシードフレーズ - 最も分かりやすい例。12語または24語、タグに余裕で収まる

  • パスワードマネージャーのマスターパスワード - 1Password、Bitwarden、KeePassのマスターキー

  • 二要素認証のリカバリーコード - Google、Apple、その他のサービスが提供するバックアップコード

  • 暗号化キー - PGP秘密鍵、SSH鍵、VeraCryptパスフレーズ

  • 緊急連絡先情報 - 暗号化された親族の詳細、医療情報、保険番号

  • デッドマンスイッチ - 探し方を知っていて、かつあなたから渡されたパスフレーズを持っている人にだけ見つけてほしいシークレット


必要なもの

  1. エポキシコーティングNTAG216タグ - 216タイプ(888バイト)が最も多くの容量を提供。エポキシコーティングで防水・耐久性あり。Amazon US | Amazon Europe(アフィリエイトリンク)

  2. NFC.cool Tools iPhone版(Android版は近日公開)

  3. 強力でランダムに生成されたパスフレーズ - 下のセキュリティに関する注意点を参照


セキュリティに関する注意点

正直に話しておくべきこと:

  • パスフレーズがすべて。 256-bit AESは事実上破解不可能。あなたの6文字のパスワードはそうではない。アプリは20文字以上を推奨するが、長さだけではセキュリティにならない - エントロピーが重要だ。correcthorsebatterystapleは28文字だがエントロピーは約44ビットしかない。20文字のランダム生成文字列(大文字小文字、数字、記号混在)は約120ビット。NFC Safeはブルートフォースを遅くするために100,000反復のPBKDF2を使うが、これはスピードバンプであって壁ではない。本当のセキュリティにはランダム生成パスフレーズを使おう。

  • NFCの通信距離は短い。 NFCは約4cmで動作する。部屋の向こうからタグをスキャンできる人はいない。でも、タグへの物理的アクセスと適切なアプリを持つ人がいれば、復号を試みることはできる。強力なパスフレーズがあれば問題ない。

  • リモートワイプなし。 タグを紛失してもリモートで消去できない。これはバグではなく仕様だ - タグにはネットワーク接続がない。特定のタグが漏洩したのが心配なら、物理的に破壊しよう。ハサミでほとんどのタグは切れる。金属用ばさみならすべてのタグを切れる。

  • パスフレーズの回復。 ない。パスフレーズを忘れたら、データは消える。これは設計によるもの - バックドアがないということは、他の誰かのためのバックドアもないということだ。パスフレーズはタグとは別の場所に書き留めるか、覚えられるパターンを使おう。


より大きな視点

NFCタグは重要なものの保存メディアになりつつある。EUデジタル製品パスポートはQRコードやRFIDと並んでNFCをデータキャリアの一つとして認めている。Philipsは歯ブラシの替えヘッドに組み込んで交換サイクルを追跡している。ホテルはルームキーに使っている。安く、丈夫で、ポケットに入っているデバイスで誰でも読める。

NFC Safeはその耐久性に暗号化を加える。結果は、紙より長持ちし、見つけた人には読めず、コーヒー一杯より安いバックアップだ。一つのタグがすべてに耐える必要はない - それが冗長性の役目だ。

サブスクリプションなし、クラウド依存なし。ベンダーロックインもない - 暗号化フォーマットは完全にドキュメント化されており、リファレンスのPythonデコーダーも付いている。あなたのシークレットは、私たちのサーバーやアプリや会社が存在することに依存しない。

時に最高のテクノロジーは、背景に溶け込んで何十年もただ動き続けるものだ。床下に埋められた、あなたのシークレットが入ったNFCタグ - 必要な日が来るのを待ちながら。


生き残るものにシークレットを保存する準備はできた?iPhone用NFC.cool Toolsをダウンロードして、今すぐNFC Safeを試そう。Android版は近日公開