パスキー:存在しないパスワード

公開日 著者 David Carrero

パスワードにまつわる話は、どれも同じ終わり方をします。誰かがあなたの秘密をどこかに保管していて、それを失くした。

年代は関係ありません。最初は共有コンピューターの平文ファイルに入っていて、システムに印刷を頼むだけで済みました。1979年、モリスとトンプソンは、ハッシュに塩を加えて計算を重くし、盗まれたリストがそのままパスワードのリストにならないようにする方法を示しました。これは巨大な進歩でした。そのあとに来たのが、末尾に記号をひとつ付けさせる例のパスワード構成ルールです。しかし、問題のかたちはこのあいだ一ミリも動いていません。秘密があり、あなたがそれを知っていて、サーバーがそれを検証できる。だからサーバーには失うものがある

それ以来、私たちがやってきたのは、その秘密をもっと長く、もっと風変わりに、もっと塩辛く、もっと破りにくくすることだけでした。誰もその手前の問いを立てなかったのです。共有の秘密が、そもそもなかったら?

1976年 秘密は二つに割れる、という発想

1976年、ホイットフィールド・ディフィーとマーティン・ヘルマンが New Directions in Cryptography を発表しました。あまりに単純で、いっそ失礼なくらいの発想です。鍵は、交換のきかない二つの片割れに分けられる。片方は世界中にばらまく。もう片方は家から一歩も出さない。秘密鍵で署名したものは公開鍵で検証できるけれど、公開鍵では何ひとつ署名できません。

サーバーのことを思い浮かべながら、もう一度読んでください。サイトはもう、それさえあれば入れてしまうものを保管する必要がない。何も開けられないほうの半分だけで済むのです。

この発想が銀行のログイン画面に届くまで半世紀近くかかったという事実は、私たちの業界の名誉にはあまりなりません。クライアント証明書は存在したし、ちゃんと動いていました。存在しなかったのは、修士号なしで使える方法のほうです。暗号は解決済みでした。使い勝手が未解決だったのです。

2013年 珍しく、みんなが足並みをそろえる

2013年、FIDOアライアンスが誕生します。パスワードへの依存を減らすという、宣言としてはあまり控えめでない目標を掲げた業界団体でした。重要だったのは技術ではありません——それはもうあったのです——メーカーもブラウザーもサービスも同じテーブルにつき、同じプロトコルで合意したことです。お役所仕事のように聞こえますが、まさにそれが欠けていました。ひとつのブラウザーとひとつのサービスでしか動かない認証方式は、認証方式ではなく、ただの逸話です。

2019年 ブラウザーが暗号を覚える

2019年3月、WebAuthnがW3Cの勧告になりました。噛み砕いて言えば、どのウェブページからでも——標準のAPIで、プラグインもドライバーもなしに——鍵ペアを生成して署名してくれとブラウザーに頼めるようになった、ということです。

飾りを取り払った流れはこうです。登録すると、あなたの端末がそのサイト専用の新しい鍵ペアを作ります。公開鍵を送る。秘密鍵は端末自身が保管し、指紋や顔やPINで守ります。次に訪れると、サイトはランダムなチャレンジを送り、端末がそれに署名し、サイトは手元の公開鍵で署名を検証します。

ここで起きていないことに注目してください。秘密はどこにも流れていません。サーバーはあなたの秘密鍵を一度も持っていないので、失いようがない。明日データベースが丸ごと流出しても、持ち去られるのは公開鍵のリストです——電話帳を盗むのとだいたい同じこと。GPUにかけるハッシュもなければ、試すべき辞書もありません。難しいのではなく、そこには価値のあるものが何もないのです。

副作用のほうが、本体より大きい

端末が鍵ペアを作るとき、それはドメインに紐づけられます。yourbank.jp 用に保管された鍵は、yourbank.jp にしか差し出されません。ポリシーでも、警告でも、アドレスバーの赤い表示でもありません。yourbank-security.com 用の鍵は存在しない、というだけです。ブラウザーはそれを見つけられません。作られたことがないのだから。

これでフィッシングは死にます。減るのではなく、仕掛けそのものが消える。フィッシングという商売は丸ごと、あなたが間違ったサイトに自分のパスワードを打ち込めるという一点の上に立っていました。私たちは何年ものあいだ、それを利用者教育と啓発キャンペーンで直そうとしてきた。あれは全部、症状の手当てです。あなたの目は似たURLに騙される。あなたのスマホは騙されません。読んでいないからです。文字列を比較しているだけです。

ついでに使い回しも巻き添えで消えます。もうひとつの大罪だったやつです。サイトごとに鍵ペアがある。使い回そうにも、使い回すものがありません。

2022年 御三家が和平に署名する

2022年5月、アップル、グーグル、マイクロソフトが共同で発表しました。自社のプラットフォームとブラウザーで、FIDO認証情報——つまりパスキー——のサポートを拡大する、と。

これがこの話を、技術メモから「母親にも説明できるもの」に変えました。それまでWebAuthnといえば、ほぼ必ずUSBの物理キーのことでした。素晴らしい代物です、三人くらいには。パスキーは、すでにあなたが手に持っているスマホの中に住んでいて、顔で開きます。

直らないもの

ここからが小さい字の部分です。業界はこの先何年か、これが存在しないふりをして過ごすでしょうから。

復旧は相変わらず柔らかい急所です。 穴はなくなっていません。移動しただけです。端末をなくしたら、誰かが「これは本人だ」と判断しなければならず、その判断はたいていメールかSMSか、コールセンターの人間との会話でくだされます。その人間は、以前とまったく同じ標的です。正面玄関は鉄壁にしたけれど、裏口は昔のままそこにあります。

同期はエコシステムに縛りつけます。 パスキーが快適なのは、プラットフォームが端末間で複製してくれるからです。それは、あなたの鍵が特定の一社のキーホルダーに住んでいる、と言い換えることもできます。そこから出るのは不可能ではないけれど、ボタンひとつでもありません。覚えるという問題を、所属するという問題に取り替えたのです。

そしてスマホをなくしても入れる必要はまだあります。 実務上それが意味するのは、パスワードを廃止したサイトなどほとんどない、ということです。「ログインでお困りですか?」の裏に隠しただけ。そのリンクがある限り、パスワードは存在し、昔と変わらず出来が悪い。鎖が切れるのは、あなたが提供する一番エレガントな方法ではなく、あなたが受け入れる一番弱い方法のところです。

そのあいだ、何をするか

パスキーが使えるところでは有効にしてください。始めるのは、落ちたときに一番痛いところから——メール、銀行、ほかのサービスにログインするために使っているアカウント。手間まで減るセキュリティ改善は、そう多くありません。

そして自分をごまかさないこと。B案としてであれ、あなたはこの先何年もパスワードを持ち続けます。長く、サイトごとに違うものにして、パスワード管理ツールに入れておく。頭の中から出てこないものが欲しければ生成ツールを、いま使っているものが少しは持ちこたえるか知りたければチェッカーを使ってください。

門番の古い問い——「お前は味方か?」——に、ようやく別の答えが用意されました。何十年ものあいだ、私たちは聞き取られうる合言葉を口にして答えてきました。いまは、あなたの端末にしか作れない署名で答えます。合言葉が存在するに至らないまま。言葉を変えるのではなく、問いのほうを変えたのは、これが初めてです。


出典:W. Diffie and M. Hellman, “New Directions in Cryptography”, IEEE Transactions on Information Theory, 1976 · R. Morris and K. Thompson, “Password Security: A Case History”, Communications of the ACM, 1979 · FIDO Alliance(2013年設立)· “Web Authentication: An API for accessing Public Key Credentials”, W3C勧告、2019年3月 · アップル、グーグル、マイクロソフトによるパスキー対応の共同発表、2022年5月。

← ブログに戻る