シードフレーズ生成チュートリアル: 安全な BIP-39 ニーモニックを作成する
シードフレーズは、暗号資産の運用において最も重要な情報です。これは、すべての秘密鍵・公開鍵・アドレスが導出されるマスターキーです。これを失うと資金へのアクセスを失います。漏えいすると、第三者にすべてを盗まれる可能性があります。このチュートリアルでは、SafeSeed の Seed Phrase Generator を使って、最大限のセキュリティで BIP-39 準拠のニーモニックフレーズを作成する方法を説明します。
safeseed.app/tools/seed-generator/ で BIP-39 シードフレーズを生成できます。完全にクライアントサイドで動作し、どのサーバーにも送信されません。
BIP-39 シードフレーズとは?
BIP-39 (Bitcoin Improvement Proposal 39) は、暗号学的エントロピーを一般的な英単語の列としてエンコードする標準です。256 ビットのバイナリ数をバックアップする代わりに、"abandon"、"ability"、"zoo" のような読みやすい 12 語または 24 語をバックアップします。
仕組み
- エントロピー生成: 暗号学的に安全な乱数生成器が、128 ビット(12語用)または 256 ビット(24語用)のランダム値を生成します。
- チェックサム: エントロピーの SHA-256 ハッシュからチェックサムを作ります。128 ビットエントロピーには 4 ビット、256 ビットエントロピーには 8 ビットのチェックサムが付加されます。
- 単語マッピング: エントロピー + チェックサムを 11 ビット単位に分割し、各 11 ビット値を BIP-39 単語リストの 2,048 語のいずれかに対応付けます。
- シード導出: ニーモニックフレーズは、2,048 回反復の PBKDF2-HMAC-SHA512 により 512 ビットシードへ変換されます。この工程には任意でパスフレーズを含められます。
結果として、BIP-39 を実装する任意のウォレット上で、常に同じ鍵セットを決定論的に生成する単語列が得られます。
12語 vs 24語
| Feature | 12 Words (128-bit) | 24 Words (256-bit) |
|---|---|---|
| Entropy | 128 bits | 256 bits |
| Security level | 2^128 possible combinations | 2^256 possible combinations |
| Brute force resistance | Effectively unbreakable | Effectively unbreakable |
| Ease of backup | Easier to write and store | More words to manage |
| Industry adoption | Common in mobile wallets | Standard for hardware wallets |
| Recommended for | Moderate holdings | Significant holdings, long-term storage |
12語・24語のどちらも、現在および予見可能な将来の技術では総当たり攻撃が不可能なレベルの十分な安全性を提供します。選択は主に慣習と個人の好みによるものです。多くのハードウェアウォレットは 24 語をデフォルトとし、多くのモバイルウォレットは 12 語を使用します。
ステップ別: シードフレーズを生成する
事前準備
開始前に、必要なセキュリティ水準を検討してください。
- 学習・テスト用途: インターネット接続ありのブラウザで SafeSeed を直接利用できます。
- 実資金(中程度): 不要なブラウザタブとアプリを閉じ、デバイスがマルウェアフリーであることを確認してください。
- 大きな保有額: Offline Usage Guide に従ってエアギャップ環境のコンピュータを使用してください。
Step 1: Seed Phrase Generator を開く
ブラウザで safeseed.app/tools/seed-generator/ にアクセスします。ツールは完全にブラウザ内で読み込まれます。ページ読み込み後にインターネットを切断しても動作を継続することで確認できます。
Step 2: 単語数を選択する
12語 または 24語 のニーモニックフレーズを選びます。実資金を保護するほとんどのユーザーには、Ledger や Trezor など主要ハードウェアウォレットのデフォルトに合わせられる 24 語が標準的な推奨です。
Step 3: フレーズを生成する
Generate ボタンをクリックします。ツールはブラウザの Web Crypto API(crypto.getRandomValues())を使って暗号学的に安全なランダムエントロピーを生成し、BIP-39 ニーモニックフレーズへ変換します。
Generate をクリックするたびに、新しいエントロピーから完全に新しいフレーズが生成されます。連続して生成したフレーズ同士に関連性はありません。
Step 4: フレーズを記録する
ここが最重要ステップです。シードフレーズは、長期保管に耐える物理媒体に記録する必要があります。選択肢は次のとおりです。
紙(最低限の推奨):
- 鉛筆ではなくペンを使い、酸性の低い紙またはアーカイブ用紙に書く
- はっきりと読みやすく書く
- 各単語に番号を振る(1 から 12 または 24)
- 画面と照合してすべての単語を二重確認する
- いかなるデジタル機器にも入力しない
金属(大きな保有額に推奨):
- 各単語をステンレスまたはチタン板に刻印または彫刻する
- 金属バックアップは火災・浸水・経年劣化に強い
- Cryptosteel、Billfodl、Blockplate などの製品はこの用途向け
- DIY なら、文字ポンチで刻印したステンレスワッシャーも有効
やってはいけないこと:
- フレーズのスクリーンショットや写真を撮らない
- クリップボードにコピーしない
- テキストファイル、メモアプリ、クラウドサービスに保存しない
- 自分宛てにメールしない
- パスワードマネージャーに保存しない(シードフレーズはオフラインのままにする)
Step 5: フレーズを検証する
記録後、画面と照らし合わせて 1 語ずつ読み返して検証してください。特に似た単語に注意します。
- "abandon" vs. "about"
- "letter" vs. "level"
- "right" vs. "riot"
BIP-39 単語リストは曖昧さを最小化するよう設計されており、各単語の先頭 4 文字は一意です。それでも、人手での書き写しミスはシードフレーズ喪失の最も一般的な原因です。
Step 6: (任意)パスフレーズを追加する
BIP-39 パスフレーズ(「25語目」と呼ばれることもある)は、追加のセキュリティ層になります。ニーモニックからシードを導出する際、PBKDF2 の導出にパスフレーズが含まれます。
seed = PBKDF2(mnemonic, "mnemonic" + passphrase, 2048, 512)
パスフレーズを設定する場合:
- 同じニーモニックでも、異なるパスフレーズで完全に別のウォレットが生成される
- パスフレーズなしでは、ニーモニック単体から別の(有効な)鍵セットが生成される
- もっともらしい否認性が得られる: 「空の」ウォレット(パスフレーズなし)をおとりにできる
- パスフレーズはニーモニックとは別に記憶または安全に保管する必要がある
パスフレーズに関する注意:
- 忘れたパスフレーズは永久的なアクセス喪失につながる。復旧手段はない
- パスフレーズは大文字小文字を区別し、スペースや特殊文字を含められる
- セキュリティのためシードフレーズとは別に保管しつつ、両方を復元可能にしておく
- 強力なパスフレーズは、大小英字と数字を含む 12 文字以上が目安
Step 7: 画面をクリアする
シードフレーズの安全な記録と検証が完了したら:
- ブラウザタブを閉じる
- ブラウザの最近の履歴を消去する(任意だが推奨)
- 最大限の安全性のため、ブラウザまたはコンピュータを再起動する
SafeSeed は localStorage、Cookie、またはブラウザストレージにデータを保存しませんが、セッションを消去することでブラウザメモリ内の残留データを確実に除去できます。
出力内容の理解
Seed Phrase Generator は複数の情報を表示します。
ニーモニック単語
シードフレーズを構成する 12 語または 24 語です。これらは公式の BIP-39 英語単語リスト(2,048語)から選ばれます。各単語は先頭 4 文字で一意なので、金属プレートに刻印する際は省略表記が可能です。
エントロピー(Hex)
生成された生のランダムデータを 16 進数で表示したものです。これはニーモニック単語がエンコードしている基礎ランダム値です。通常、これを別途記録する必要はありません。ニーモニック単語にエントロピーとチェックサムが完全に含まれています。
チェックサム
最後の単語の末尾部分には、エントロピーの SHA-256 ハッシュから導かれるチェックサムビットが含まれます。つまり、12語または24語の BIP-39 単語の組み合わせがすべて有効なわけではなく、チェックサムが一致するものだけが有効です。これはシードフレーズをウォレットに入力する際の基本的な誤り検出機構になります。
シード(Hex)
PBKDF2 によりニーモニックから導出される 512 ビットシードです。このシードは BIP-32 鍵導出の入力に使われます。パスフレーズを追加した場合、パスフレーズなしの版とは異なるシードになります。これも別途記録不要で、ニーモニックとパスフレーズからいつでも再導出できます。
高度なトピック
エントロピー品質
シードフレーズの安全性は、生成に使うエントロピー品質に完全に依存します。SafeSeed は crypto.getRandomValues() を使用し、これは OS の CSPRNG に支えられています。
- Linux:
/dev/urandomを利用。ハードウェア割り込み、CPU ジッタ、利用可能時は RDRAND/RDSEED でシードされる - macOS: Security フレームワーク内の Fortuna ベース CSPRNG を使用
- Windows: カーネルのエントロピープールに支えられた BCryptGenRandom を使用
現代のブラウザはこれら OS レベル CSPRNG を使って crypto.getRandomValues() を実装しているため、鍵生成に十分な品質のエントロピーが得られます。
なぜサイコロやコイン投げを使わないのか?
セキュリティ意識の高い一部ユーザーは、サイコロやコイン投げなど物理ソースからエントロピーを生成したいと考えます。この方法はソフトウェア RNG への信頼を減らせる一方で、独自のリスクがあります。
- 偏り: 物理的なサイコロやコインは完全に公平でない可能性がある
- 混合不足: 生の物理エントロピーは使用前に適切なハッシュ化が必要
- 人的ミス: 記録や変換の誤りが混入しやすい
- 時間がかかる: 256 ビットのエントロピーにはコイン 100 回投げ相当、または多数のサイコロ振りが必要
物理エントロピーを使う場合は、ツールの高度なオプション(利用可能な場合)に入力してニーモニックを導出できますが、偏りと手順ミスのリスクを十分理解してください。
マルチシグ構成
マルチシグウォレットでは、複数の独立したシードフレーズ生成が必要になる場合があります。マルチシグ構成の各署名者は、それぞれ独立に生成した自身のシードフレーズを持つべきです。SafeSeed Seed Phrase Generator を署名者ごとに別々に使用し、理想的には異なるデバイスで実行し、各シードフレーズを独立にバックアップしてください。
Shamir's Secret Sharing とシードフレーズの比較
SLIP-39 (Shamir's Secret Sharing) は BIP-39 の代替で、シードを複数シェアに分割し、一定数のシェアが揃うと復元できる方式です。SafeSeed は現在、より広く普及している BIP-39 に注力しています。Shamir's Secret Sharing が必要な場合は、SLIP-39 をネイティブ対応する Trezor などのハードウェアウォレットを検討してください。
よくあるミスと回避方法
ミス 1: 侵害されたデバイスでシードフレーズを生成する
リスク: デバイス上のマルウェアが、クリップボード監視、画面キャプチャ、キーロギングなどで生成されたシードフレーズを盗む可能性があります。
対策: 大きな保有額では Offline Usage Guide を使用してください。最低でも生成前にマルウェアスキャンを実行し、他アプリをすべて閉じてください。
ミス 2: シードフレーズをデジタル保存する
リスク: デジタルコピー(写真、テキストファイル、メール、クラウドメモ)は、ハッキング、端末盗難、クラウド侵害で漏えいし得ます。
対策: 常に物理媒体を使用する。手軽さなら紙、耐久性なら金属。デジタルコピーは作成しない。
ミス 3: 1 部しか保管しない
リスク: 火災・浸水などの災害、盗難、単純な紛失で唯一のバックアップを失う可能性があります。
対策: 地理的に分離した安全な場所に 2〜3 部を保管する。貸金庫、自宅金庫、信頼できる家族の安全な保管場所を検討してください。
ミス 4: シードフレーズをテストしない
リスク: 書き写しミスにより、必要なときバックアップが使えない可能性があります。
対策: 記録後、Address Generator を使って(オフラインで)シードフレーズからアドレスを導出し、ウォレット表示と一致するか確認する。少額テスト送金を行い、復元できることを検証してください。
ミス 5: シードフレーズを共有する
リスク: シードフレーズを知る人は誰でも、あなたの資金を完全に操作できます。
対策: サポート担当者を含め、誰にもシードフレーズを共有しない。正当なサービスがシードフレーズを要求することはありません。SafeSeed も既存シードフレーズを要求しません。ジェネレーターは新規作成のみを行います。
文脈で見るシードフレーズ強度
適切に生成された BIP-39 シードフレーズの強度を、次の数字で見てみましょう。
- 12語フレーズ: 2^128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 通り
- 24語フレーズ: 2^256 = 約 1.16 x 10^77 通り
- 観測可能宇宙の原子数: 約 10^80
地球上の全計算資源を何十億年動かしても、128 ビット空間の総当たりは物理的に不可能です。256 ビット空間はさらに巨大で、熱力学で説明される計算の物理限界(Landauer limit)に迫ります。
実際の脅威は総当たりではなく、次のとおりです。
- フレーズを生成・入力するデバイス上のマルウェア
- バックアップの物理的盗難
- ソーシャルエンジニアリング(フィッシング、偽サポート)
- 自分自身のバックアップ不備・記録ミス
SafeSeed はクライアントサイド動作とオフライン対応で脅威 #1 に対処します。脅威 #2〜#4 は利用者側の責任です。
生成後: 次のステップ
シードフレーズを安全に生成・バックアップできたら:
- アドレス導出と検証: Address Generator でアドレスを導出し、ウォレットソフトまたはハードウェアウォレットと照合する。
- ペーパーウォレットバックアップ作成: Paper Wallet Creator で特定アドレスの物理バックアップを追加する。
- 導出パスを理解する: Key Derivation Tool で、シードが各ブロックチェーンの鍵へどう対応するか確認する。
- ウォレット設定: 各ウォレットの手順に従い、シードフレーズをハードウェアウォレットまたはソフトウェアウォレットにインポートする。
- 少額でテスト: 導出アドレスへ少額の暗号資産を送金し、シードフレーズバックアップから復元できることを実地確認する。
FAQ
2人が同じシードフレーズを生成することはありますか?
理論上は可能ですが、実用上は不可能です。12語で 2^128、24語で 2^256 の組み合わせがあり、衝突確率は極めて小さく、生涯毎日宝くじに当たるより低確率です。ランダム衝突が起きる前に宇宙は熱的死を迎えるレベルです。
シードフレーズの 1 語を忘れたらどうなりますか?
欠けた語の位置が分かっていれば、試す候補は 2,048 語だけです。1語欠損を総当たりで補うツールは存在し、比較的短時間で可能です。ただし 2 語以上欠けると難易度は指数的に上がります(2語で 2,048^2 = 約 400 万通り)。だからこそ、正確な記録と検証が重要です。
SafeSeed で生成したシードフレーズを Ledger/Trezor で使えますか?
はい。BIP-39 は主要ハードウェアウォレットが実装するオープン標準です。SafeSeed で生成したシードフレーズは Ledger、Trezor、Keystone、BitBox02、Coldcard など、BIP-39 互換ウォレットで利用できます。シードフレーズは特定デバイスやメーカーに依存しません。
12語フレーズでも十分安全ですか?
はい。12語は 128 ビットエントロピーを提供し、機密政府通信保護にも使われる AES-128 と同等の安全水準です。総当たりは計算上不可能です。多くのハードウェアウォレットが 24 語をデフォルトにする理由は、12語が不足だからではなく、慣習と慎重さによるものです。
パスフレーズ(25語目)を追加すべきですか?
パスフレーズには実際のセキュリティ上の利点があります。シードフレーズが盗まれても、攻撃者はパスフレーズなしでは資金へアクセスできません。ただしリスクもあります。紛失・忘却すると資金に永久アクセス不能です。確実に記憶または安全保管できる運用計画があり、シードフレーズと同等に重要だと理解している場合のみ使ってください。
新しいシードフレーズはどのくらいの頻度で生成すべきですか?
暗号学的には定期ローテーションの必要はありません。パスワードと異なり、シードフレーズは時間で弱くなりません。新規ウォレット作成、現行フレーズ漏えい疑い、セキュリティ構成変更など、明確な理由があるときだけ新規生成してください。
シードフレーズの単語を変更・並べ替えできますか?
できません。単語順は重要で、各位置が特定のエントロピービットを表し、最後の語はチェックサムを含みます。並べ替えると無効フレーズ(チェックサム不一致)か、完全に別のウォレットになります。生成時の順序を厳密に記録・入力してください。
BIP-39 単語リストとは何で、なぜその単語なのですか?
BIP-39 英語単語リストは、(1) 先頭 4 文字の一意性、(2) 見た目が似た語の回避、(3) 綴りやすく覚えやすい一般的英単語、という基準で選ばれた 2,048 語で構成されます。日本語、韓国語、スペイン語、中国語、フランス語、イタリア語、チェコ語、ポルトガル語のリストも存在しますが、英語リストが最も広く使われています。
関連ガイド
- SafeSeed Tools Overview — SafeSeed の全ツール概要
- Address Generator Tutorial — シードフレーズから導出したアドレスを検証
- Paper Wallet Creator Tutorial — 印刷可能なバックアップを作成
- Using SafeSeed Offline — 最大保護のためのエアギャップ運用
- Seed Phrase Security Guide — 包括的なシードフレーズセキュリティ実践