すべての記事

約8分で読めます

パスキーがあっても Identity Seed が重要であり続ける理由

はい、パスキーがあっても Identity Seed は保存しておく必要があります。パスキーは利便性のためのアンロック手段にすぎません。一方、シードは CardanoWall、CLI、SDK、そしてあらゆる Label 309 ツールをまたいで機能する、持ち運び可能なアイデンティティそのものです。

はい、パスキーを追加していても、Identity Seed(アイデンティティの種)は保存しておく必要があります。

パスキーは日々のアンロック手段です。一方、Identity Seed こそがアイデンティティ「そのもの」です。シードさえ保存しておけば、同じ Label 309 アイデンティティをどこででも再構築できます。CardanoWall でも、オープンソースのコマンドラインツールでも、SDK でも、そしてこの標準を実装したほかのあらゆるソフトウェアでも同じです。シードと、保管庫を開けるすべての手段の両方を失えば、そのアイデンティティを今後使う術は完全に失われます。

これは見落としではありません。CardanoWall がご自分のアイデンティティを決して預からない、という設計の直接的な帰結です。仮にサービスが何もないところからアイデンティティを返せるとしたら、そのサービスはご自分に「成り代わる」こともできてしまうからです。

Identity Seed とは何か

Identity Seed は、単一の 32 バイトの秘密です。このひとつの値から、すべての Label 309 ツールが、アイデンティティが用いる鍵を決定論的に導出します。導出される鍵が担う役割は次のとおりです。

  • 存在証明(Proof of Existence)レコードに署名する
  • 従来型の受信アドレスで封印付きレコードを受け取る
  • 任意のポスト量子受信アドレスで封印付きレコードを受け取る
  • アイデンティティ宛てのレコードを復号する
  • 新しいアカウントへインポートする際に、そのアイデンティティを実際に保有していることを証明する

シードは、これらすべての持ち運び可能な根です。これは Cardano ウォレットのシードフレーズではありません。ADA を保有せず、資金を管理せず、決済用ウォレットでもありません。Label 309 アイデンティティの根であって、それ以外の何物でもありません。この 32 バイトからアイデンティティがどのように育っていくのかについては、アイデンティティはシードであるで詳しく解説しています。

なぜ CardanoWall はシードを隠してくれないのか

シードを完全に隠してしまうと、サービスがご自分のリカバリー権限を握ることになるからです。そして、それこそがこの設計が断固として拒むものです。

仮に CardanoWall がシード「なしで」アイデンティティをリセットまたは再作成できるとしたら、ご自分として振る舞えるほど強力な秘密を、サービス側が保持していなければなりません。その秘密があれば、サービスは管理者(カストディアン)になってしまいます。侵害され、召喚状を突きつけられ、あるいは単に閉鎖されかねない単一障害点となり、ご自分のアイデンティティもろとも失われてしまうのです。

ですから、この分離は意図的なものです。CardanoWall は暗号化された保管庫を提供でき、パスキーはその保管庫を開けられます。しかし保管庫はあくまで利便性のためのレイヤーです。シードこそが、ご自分が完全に所有するものなのです。

では、パスキーは実際に何をするのか

利便性のための保管庫を開ける、ただそれだけです。

シードを保存したあとに、パスキーを追加できます。パスキーがあれば、ブラウザは暗号化されたアイデンティティ保管庫をアンロックでき、毎回シードを貼り付ける手間がなくなります。これが、日々の作業をスムーズに保ちます。

  • レコードへの署名
  • 受信した封印付きレコードの復号
  • アイデンティティの切り替え
  • 封印メッセージの作成
  • 別のサインイン済みデバイスでのアンロック(パスキープロバイダーが同期している場合)
  • ノートパソコンを紛失したあとの復帰(パスキーが同期されている場合)

保管庫そのものが保持しているのは暗号化された暗号文であって、平文のシードではありません。しかもご自分のパスキーだけを宛先としているため、サービスはそれを読み取れません。パスキーが何をアンロックし、何をアンロックしないのかの全体像については、パスキーがアイデンティティ保管庫を守るしくみをご覧ください。

ただし注意点はスコープです。パスキーはひとつのアカウントとひとつのプラットフォーム文脈に結びついています。シードはそうではありません。

パスキーにできなくてシードにできることは何か

アイデンティティをどこへでも移せることです。シードがあれば、次のことができます。

  • 新しい CardanoWall アカウントへアイデンティティをインポートする
  • ほかの Label 309 ソフトウェアへ持ち込む
  • コマンドラインツールから利用する
  • この標準を実装したサードパーティ製ツールで利用する
  • チームのアイデンティティを意図して共有する
  • ホスト型の保管庫が利用できないときに復帰する
  • 導出された公開鍵が、想定したアイデンティティと一致することを確認する

パスキーはひとつのアカウントの保管庫をアンロックします。シードはアイデンティティそのものを再構築します。だからこそ CardanoWall は、シードを正本(カノニカル)のバックアップとして扱い、パスキーをその上に載るキャッシュとして扱うのです。

シードを失ったらどうなるのか

ほかに何が手元に残っているかによります。

有効なパスキーがあり、ホスト型の保管庫がオンラインであれば、問題ありません。再認証のステップを経て、設定からアイデンティティを開き、シードを再表示できます。それを、いよいよシードを永続的にどこかへ保存する好機だととらえてください。

シードと、保管庫をアンロックするすべての要素の両方を失えば、そのアイデンティティを今後使う術は失われます。それを用いて新しいレコードに署名することはできません。アイデンティティ宛ての封印付きレコードも復号できず、これには損失後に届いたものも含まれます。そして CardanoWall の誰もそれをリセットできません。CardanoWall の誰もそれを保有していないからです。

すでに公開済みの証明は、また別の話です。検証は公開データだけに依拠するため、これらは引き続き検証可能なまま残ります。公開データとは、Cardano 上のトランザクションメタデータと、必要に応じて参照されるコンテンツのバイト列です。シードを失っても、すでに公開済みのものが「証明されていない状態」になることはありません。

シードを盗まれたらどうなるのか

そのアイデンティティは侵害されたものとみなし、置き換えてください。

シードを保有する者は誰でも、同じ秘密鍵を導出できます。ご自分のアイデンティティとして署名でき、それ宛ての封印付きレコードを過去・未来ともに復号できます。一度知られた知識を取り消す方法はありません。

対処は、同じアイデンティティの中で「シードを変更する」ことではありません。ひとつのシードはひとつのアイデンティティであり、それは恒久的です。代わりに、次のようにします。

  • 新しいアイデンティティを作成する
  • 新しいシードを保存する
  • 人々が信頼するチャネルを通じて、新しい公開鍵を公開または配布する
  • サービス内で古いアイデンティティを無効化する
  • 古い受信アドレスの利用をやめる
  • 役立つ場面では、古いレコードを置き換える(supersedes)レコードを公開する

だからこそ、シードはほかのあらゆる高価値の秘密と同じだけの注意に値します。古いアイデンティティを無効化することと削除することの違いは、必要になる前に知っておく価値があります。詳しくはアクティブ、無効化、削除をご覧ください。

シードはどこに保存すべきか

長期的な秘密の保管先として、ご自分がすでに信頼している場所です。良い選択肢には、次のようなものがあります。

  • 評判の良いパスワードマネージャー
  • オフラインの暗号化アーカイブ
  • 安全な場所に保管した印刷物
  • 企業の秘密情報管理プロセス
  • 共有チームアイデンティティ用に、オフィスの金庫へ入れた封印エンベロープ

秘密が漏れやすい場所は避けてください。

  • スマートフォンの写真ライブラリにあるスクリーンショット
  • 暗号化されていないプレーンなメモ
  • チャットメッセージ
  • メールの下書き
  • 課題トラッカーやウィキ
  • 公開ドキュメント
  • ウォレットフレーズを反射的に貼り付けてしまいかねないあらゆる場所

適切な保護レベルは、アイデンティティの価値に応じて変わります。使い捨てのテスト用アイデンティティと、報道機関の共有アイデンティティとでは、ふさわしい保管先は同じではありません。

シードはウォレットフレーズなのか

いいえ。CardanoWall は、この両者を明確に区別するために、あえて手間をかけています。

CardanoWall は、アイデンティティにウォレット式の単語リストをあえて使いません。Label 309 の Identity Seed は、暗号ウォレットのバックアップとはまったく似ていないチェックサム付きの文字列として表示されます。これは、まさに両者を混同しないためです。チェックサムは、人々が資金と結びつけて連想する単語グリッド形式を借用することなく、入力ミスや欠落を検出します。

Cardano ウォレットのフレーズを CardanoWall に貼り付けてはいけません。CardanoWall はそれを必要とせず、求めることもありません。Identity Seed は、ご自分の Label 309 アイデンティティのためのものです。それ以上でも以下でもありません。

シードはどのくらいの頻度で触るべきか

できるかぎり少なくです。健全なパターンは次のとおりです。

  1. アイデンティティを作成またはインポートする
  2. シードを保存する
  3. パスキーを追加する
  4. 日々のアンロックにはパスキーを使う
  5. アイデンティティを移行・復旧・監査するときだけ、シードを再表示または再入力する

こうすれば、毎日生の秘密を扱うことなく、シードを真に持ち運び可能なまま保てます。日々の操作ではパスキーをタップするだけで、シードは背後で安全に待機しています。

まとめ

Identity Seed はアイデンティティそのものです。パスキーは利便性のためのアンロック手段です。

アイデンティティに頼り始める「前に」、シードを保存してください。日々の作業をスムーズにするためにパスキーを使ってください。シードは信頼できないデバイスに置かず、ウォレットフレーズと決して混同しないでください。CardanoWall が日々ご自分を助けられる一方で、それでもシードの代わりにはなれないのなら、このモデルは設計どおりに正しく機能している証拠です。

さらに読む

cardanowall-guidesidentitypasskeys