暗号資産の鍵とバックアップ
仮想通貨の秘密鍵とは?公開鍵・シードフレーズの違いと復元の仕組み
秘密鍵は、暗号資産の取引などに必要なデジタル署名を作るための非公開データだ。対応する公開鍵で署名を検証できるため、秘密鍵そのものを相手へ渡さずに取引を進められる。
シードフレーズは、対応するウォレットで鍵を作り直すための復元情報。端末のパスワードとは役割が違う。端末をなくしても復元できる場合がある一方、漏れたフレーズを使って復元しても、第三者のアクセスは取り除けない。
ここでは主に、復元フレーズを使う一般的な自己管理ウォレットを説明する。取引所の口座、複数の承認者を持つウォレット、外部アカウントでログインする方式などは、管理・復旧の条件が異なる。
秘密鍵・公開鍵・アドレス・シードフレーズの違い
まずは「何をする情報か」で整理しよう。受取先として伝えるアドレスと、資産を動かすための鍵は別のものだ。ウォレットに表示される残高も、端末の中にコインが入っているという意味ではない。資産の状態はブロックチェーン上に記録され、ウォレットはその確認や鍵を使った操作を助ける。
| 情報 | 主な役割 | 人に伝えてよいか |
|---|---|---|
| 秘密鍵 Private key | 取引やメッセージの署名を作る | 秘密にする。使える人が署名できる |
| 公開鍵 Public key | 対応する秘密鍵で作られた署名を検証する | 秘密にする前提の情報ではない。ただし通常の受取りで求められるのはアドレス |
| アドレス | 暗号資産を受け取る宛先などに使う | 受取相手へ伝えられる。公開台帳では残高や取引と結び付くため、むやみに公開しない |
| シードフレーズ リカバリーフレーズ/SRP | そこから派生する複数の鍵を再作成するための復元情報 | 秘密にする。復元範囲は方式・設定による |
| 端末のパスワード・PIN | アプリや機器のロック解除、保存された鍵の保護など | 秘密にする。通常、これだけで別端末に鍵を復元できるわけではない |
| 追加パスフレーズ BIP39の任意設定 | 復元フレーズと組み合わせ、別の鍵の組を導く | 秘密にする。使用した場合は同じパスフレーズも復元に必要 |
アドレスの作り方や表記はネットワーク・アドレス形式によって異なる。「すべてのアドレスが公開鍵そのもの」とは考えない方がよい。例えばEthereumの通常の外部所有アカウント(EOA)では、秘密鍵から得た公開鍵を使ってアドレスを導く。
取引所のログインパスワードを忘れた場合は別の手続き
取引所に預けている暗号資産は、通常、取引所側が鍵を管理する。利用者がログインできなくなった場合は、その取引所の本人確認・アカウント復旧手続きが確認先になる。自分のシードフレーズを探す話と混同しないようにしたい。管理を任せる方式と自己管理の違いは、ウォレットの種類とカストディの違いで整理している。
秘密鍵を相手へ渡さずに送金できるのは、署名を検証できるから
一般的な自己管理ウォレットから送金するときは、送付先や数量などの取引内容に対して署名を作る。相手に秘密鍵を見せて許可を得るのではなく、ネットワークが署名を検証する仕組みだ。
- 1. 内容を確認するウォレットで送付先・数量・手数料などを確かめる
- 2. 秘密鍵で署名する鍵を扱うアプリや機器が署名を作る。秘密鍵自体は取引に添付しない
- 3. ネットワークが検証する署名付き取引が送られ、署名と、そのほかの取引の成立条件が検証される
署名が示すのは、対応する鍵を使ってその内容に署名したことだ。操作した人の実名や、詐欺に誘導されていないことまで証明するものではない。秘密鍵が漏れれば、第三者も有効な署名を作れてしまう。署名が正しくても、残高や手数料などの条件を満たさず、取引が成立しない場合もある。
Bitcoinの取引の技術資料と、Ethereumのトランザクションの説明に基づく概略。複数の署名やプログラムの条件で資産を管理する仕組みもあり、「暗号資産はすべて1本の秘密鍵だけで動く」わけではない。台帳の記録と検証についてはブロックチェーンの仕組みも参照。
シードフレーズで戻せるのは、その復元情報から作られる鍵
復元フレーズ型のウォレットでは、一つの復元情報をもとに複数の鍵やアカウントを作れる。対応する方式と設定をそろえると同じ鍵を再作成できるため、スマートフォンが故障しても、別の端末から元の資産へアクセスできる場合がある。
復元は、ブロックチェーン上の資産をコピーする操作ではない
復元情報 + 必要な設定
↓
元と同じ鍵・アドレスを再作成
↓
元の資産へアクセス
元の端末にも鍵が残っていれば、両方から同じ資産を扱える。別の端末で復元しただけでは、元の端末の鍵は消えない。
代表的なBIP39仕様では、フレーズをもとに「シード」というデータを作り、そこから鍵を導く。対応する語数は12・15・18・21・24語だ。ただし、すべてのウォレットがBIP39とは限らず、語数だけで互換性を判断できない。自分で単語を選んで復元フレーズを作る方法でもない。
「同じアプリに見えていたアカウント」が全部戻るとは限らない
例えばMetaMaskのSRP方式では、そのフレーズから作られたアカウントと、別の秘密鍵をインポートしたアカウントを分けて考える。外部から入れた秘密鍵は、元のフレーズからは再作成されない。ハードウェアウォレットを接続していた場合も、その機器側の鍵の管理・バックアップが別にある。
製品独自の同期・バックアップ機能が何を戻すかは、フレーズ自体の復元範囲とは別の話だ。利用方式に合ったMetaMask公式のアカウント復元・再表示の案内を確認したい。GoogleやAppleなどのアカウントでログインする方式では、パスワードの役割や復旧条件も異なるため、本記事のSRP方式の説明をそのまま当てはめない。
追加パスフレーズは、いつものパスワードとは違う
BIP39の追加パスフレーズは任意の文字列で、「25番目の単語」と呼ばれることがあっても、1語に限られない。設定していた場合は、復元フレーズに加えて同じパスフレーズが必要だ。
異なるパスフレーズを入れると、別の鍵の組が作られる。入力ミスが単なるエラーにならず、残高のない別のウォレットを開くこともある。忘れたパスフレーズを、サービスのパスワード再設定のように変更して元の資産へ戻ることはできない。仕組みを理解しないまま追加設定を増やさないことも大切だ。
同じフレーズで復元してよいかは、漏洩の有無で変わる
ここでは、通常のSRP方式で、正しい復元情報と必要な設定がそろっている例を考える。同じ「新しいスマートフォンを使う」場面でも、元の端末が壊れた場合と、復元情報を他人に渡した場合とでは判断が変わる。
端末が故障した。情報の漏洩には心当たりがない
公式の対応ウォレットで同じ復元情報を使い、元の鍵へのアクセスを戻すことを検討する。復元そのものは資産の送金ではない。
鍵を再現できる復元情報が他人に渡った
同じフレーズで復元しても、相手も同じ鍵を使える。漏洩した鍵から独立した新しい鍵を用意し、残っている資産の移動を含む対応が必要になる。
後者は、フレーズに加えて必要な追加パスフレーズがあるならそれも含め、署名できる鍵を第三者が再現できる情報が漏れた例だ。漏洩した時点で必ず全額が盗まれたとは限らないが、残高があることを安全の証拠にはできない。
| 操作 | 変わるもの | 漏洩した鍵を使えなくするか |
|---|---|---|
| 同じフレーズで別端末に復元 | 鍵を使う端末が増える | しない。元の鍵は同じ |
| 端末・アプリのパスワード変更 | その端末内のロックや保存データの保護 | しない。すでに知られた秘密鍵は変わらない |
| 同じフレーズの中でアカウント追加 | 同じ復元情報から別の鍵・アドレスを作る | しない。フレーズを持つ相手も、その鍵を導ける |
| 独立した新しい復元情報でウォレット作成 | 元のフレーズから導かれない鍵を作る | 古い鍵自体は残る。資産は自動で移らず、必要な移動を別途行う |
漏洩後の具体的な手順は、端末が侵害されているか、資産が残っているかなどでも変わる。疑わしい端末で新しい鍵を作ったり、移動を急いで手数料用の資金を足したりせず、秘密情報を漏らした場合の初動と相談先を確認したい。MetaMaskの不正送付・漏洩時の公式案内も、新しい復元情報への移行と、古いフレーズに関連するアカウントの利用停止を案内している。自動で資産を抜き取られる疑いがある場合は、手数料目的でも追加入金しない。移動の成功は保証されない。
なお、不審なサイトとの接続解除、トークンの利用承認の取消、鍵の漏洩への対応は別のものだ。接続解除だけで承認は消えず、承認を取り消しても漏れた鍵は変わらない。MetaMaskの承認取消に関する公式説明でも、この違いを確認できる。
なくしたものより、何が手元に残っているかを確認する
「秘密鍵をなくした」と感じても、端末のロックを解除できるのか、正しい復元情報があるのかで確認先が変わる。下の表は一般的なSRP方式の整理だ。いま使えるウォレットがある場合は、復元手段を確認する前に削除・初期化しない。
| 状況 | まず確認すること | 条件が変わったら |
|---|---|---|
| 端末がない・壊れた 復元情報はある | 方式・追加パスフレーズ・対応ウォレットを確認し、公式の復元案内へ | 端末紛失や盗難で情報も漏れた可能性があれば、上の漏洩時の分岐も確認 |
| メモをなくした ウォレットは開ける | 削除せず、公式機能でバックアップの再表示・確認が可能か調べる | メモを誰かが見たおそれがあれば、単に同じ内容を書き直すだけで済ませない |
| パスワードを忘れた 正しい復元情報はある | その製品の復元・パスワード再設定条件を確認する | 別にインポートした鍵や独自バックアップの有無も、初期化前に確認 |
| 端末も、必要な復元情報もない | 他の正当なバックアップ・製品固有の復旧手段が残っているか確認する | それらもなければ、一般の単独鍵方式では元の鍵を再作成できない |
| 復元したのに残高が見えない | 元のアドレスと同じか、ネットワーク・アカウント・トークン表示を確認する | アドレスが違えば、別フレーズ・追加パスフレーズ・鍵の導出方法・外部インポートを公式案内で照合 |
メモをなくした場合の例として、MetaMaskは、ウォレットのロックが解除されていてパスワードも分かる場合のシードフレーズの再表示方法を案内している。利用方式と条件を確認し、表示した内容を他人へ送らずに保管する。
公開アドレスだけから、秘密鍵や復元フレーズを再発行する仕組みではない。「復元を代行する」と持ちかけられても、秘密鍵やフレーズを送らないこと。取引所口座や別の復旧方式を使うウォレットは、そのサービスの正規窓口で確認する。
また、鍵の復元は送金の取消ではない。誤った宛先への送金や、すでに第三者へ移された資産が、ウォレットの復元で自動的に戻るわけではない。
バックアップは、他人に渡さず自分が使える状態を保つ
復元フレーズは「覚えておく言葉」より、鍵を再作成できる重要情報として扱いたい。紙や金属などへの記録はオフライン保管の選択肢だが、盗み見・紛失・火災や水濡れへの備えも必要になる。製品独自の暗号化バックアップを使う場合は、必要なログイン情報、復元範囲、利用できなくなる条件まで確認する。
- 利用している方式を確かめる。
復元フレーズ型か、外部ログイン型か。追加パスフレーズや、別に取り込んだ鍵があるかを整理する。実際の秘密情報を問い合わせ本文へ書く必要はない。 - 製品が定める方法でバックアップを確認する。
復元の練習のために、使えている端末を先に消さない。公式のバックアップ確認機能があれば、その説明に従う。 - 入力先を自分で確かめる。
サポート担当者、DM、フォームへ秘密情報を渡さない。正規アプリや機器では復元・バックアップ確認に入力する場面があるため、突然表示されたリンクから進まず、公式手順と画面を照合する。 - 将来自分以外が手続きする場合も考える。
資産の存在や確認先を伝える準備と、秘密情報そのものの保護を分ける。具体的な手続きは暗号資産の相続と生前準備へ。
例えばTrezorには、保存したバックアップが機器のウォレットと一致するかを確かめるTrezor Safe 3のバックアップ確認機能がある。入力方法は機種・操作で異なるので、ハードウェア用のフレーズを一般のWebフォームや別のソフトウェアウォレットへ安易に入力しない。機器選びと導入の確認点はハードウェアウォレットの比較と使い方で扱っている。
復元情報が残っているかと、第三者に知られていないかは、別々に確認する。自分が使えるだけでは足りず、他人も同じ鍵を使える状態を避けることが鍵管理の基本になる。