このサイトは、ほんの入り口です

ここにあるのは、だれかが実際に調べ、考え、作ってきたことを集めたメモです。気になったら、ページの下の「参考にした情報源」から、もとの本や記事、それを生み出した人たちに、直接ふれてみてください。このメモには書ききれないおもしろさが、そこにあります。

ログインの とき、パスワードの ほかに 6けたの すうじを いれるのは なぜ?

認証アプリの6桁コードは、どこから来ているのか ── 二段階認証はパスワードに何を足すのか

二段階認証とTOTP ── 「持っているもの」を足す効果と、コードを中継されると破られる限界、パスキーという答え

分野:技術

スマホの アプリに、6けたの すうじが でて、30びょうごとに かわる ことが あります。じつは この すうじは、どこかから おくられて きたのでは ありません。スマホと サービスの がわが、べつべつに おなじ すうじを けいさんして います。

では、なぜ パスワードが ぬすまれても、はいりにくく なるのでしょう。それでも やぶられる ことが あるのは、なぜでしょう。この きじを よむと、その こたえと、パスワードを いらなく する あたらしい かんがえが わかります。

認証アプリに表示される6桁の数字は、30秒ほどで入れ替わります。この数字は、サービスから送られてきたものではありません。スマホとサービスの両方が、同じ秘密と時刻から、別々に同じ数字を計算しています。

それなのに、なぜパスワードを盗まれても入りにくくなるのか。そして、なぜコードを使っていても破られることがあるのか。3種類の「証明」の考え方から、国や研究機関の資料が示す効果と限界、パスワードをなくすパスキーまでが分かります。

認証アプリの6桁コードは、通信で届くものではない。確かめる側(サーバー)と持つ側(アプリ)が共通の秘密を持ち、時刻から同じ値をそれぞれ計算して照合する方式で、IETFのRFC 6238(TOTP)が定めている[5]。

この方式は、盗まれたパスワードに対して確かな効果を示す。しかし、フィッシング対策協議会は、ワンタイムパスワードを使うだけではフィッシング耐性があるとはいえない、と整理している[7]。効く理由と効かない条件、そして秘密を共有しないパスキーとの違いまでが分かる。

読み方を切り替えられます。画面の上にある「よみかた」のボタンで、小学校低学年むけ・小学校高学年むけ・中学生むけの3つの書き方に切り替わります。むずかしいと思ったら、いつでもやさしい方に戻ってください。選んだ読み方はブラウザが覚えているので、次に別の記事を開いたときも同じ読み方で始まります。

1. パスワードが ぬすまれたら、もう はいられて しまうの?

1. パスワードを盗まれても、扉がもう1枚あったら

1. パスワードが漏れても入れない ── 2つ目の要素という考え方

あいことばを しって いる 人は、だれでも とおれる としましょう。あいことばは、きかれて しまえば、まねされます。

そこで、もう1つ たします。その 人だけが 手に もって いる かぎです。あいことばを しって いても、かぎが なければ あきません。

ネットの ログインでも、にた かんがえが つかわれて います。IPA(アイピーエー)という くにの きかんも、ID と パスワードが つかわれても、それだけでは ログインできない ように なるので、こうかが ある と せつめいして います[1]。

ただし これは たとえ話です。ほんとうの 「かぎ」は、スマホなどの なかに ある ひみつです。

あいことばと、手に持つ鍵

「合いことばを知っている人は、誰でも通れる」という門を想像してください。合いことばは、聞かれてしまえば、そのまま使われます。そこに「本人だけが手に持つ鍵」という扉をもう1枚足すと、合いことばだけを知っている人は、2枚目で止まります。

ネットのログインで、このもう1枚を足したものが、二段階認証や多要素認証です。IPA(情報処理推進機構)は、IDとパスワードを不正に使われても、それだけではログインできないので、不正ログインの防止に効果がある、と説明しています[1]。アメリカのサイバーセキュリティ機関CISAも、パスワードを盗まれても2つ目の条件を満たせなければ入れないので、使っている人はハッキングされにくい、としています[2]。

ただし、これはたとえ話です。本当の「鍵」は金属ではなく、スマホや指紋などで確かめる別の種類の証明です。その種類が何通りあるのかが、次の問いです。

パスワードが漏れた場合に、それだけでアカウントに入れない状態を作れるか。IPAは、IDとパスワードを不正に使われても、それだけではログインできないので、多要素認証は不正ログインの防止に効果があるとしている[1]。CISAも、パスワードが盗まれても第2の要素を満たせなければ入れず、MFAを使う利用者は、ハッキングされにくいという立場だ[2]。

この効果は、パスワードという1つの手がかりが破られても、別の手がかりが残るという構造から出てくる。ただし、2つ目の手がかりが同じ種類(たとえば2つ目の秘密の質問)だと、この構造は弱まる。「何をもって別の手がかりと呼ぶのか」が、次章で整理する論点になる。

2. ひみつの しつもんを ふやすのと、なにが ちがうの?

2. 3種類の証明と、「二段階」「二要素」のちがい

2. 認証の3要素と、二段階認証・多要素認証の区別

ほんにんだと しめす やりかたは、3しゅるいに わけられます。

1つめは、「しって いる もの」。パスワードなどです。2つめは、「もって いる もの」。スマホなどです。3つめは、「じぶん じしん」。ゆびの もようや かおなどです[1]。

そうむしょうの こども むけの ページでは、おなじ しゅるいを くりかえす ものも 「2だんかいにんしょう」と よぶ ことが ある と かいて あります。ひみつの しつもんを ふやす、などです。ちがう しゅるいを くみあわせる ほうが、あんぜんさが たかまる と されて います[3]。

だから この きじでは、パスワードに「もって いる もの」を たす はなしを します。

知っているもの・持っているもの・自分自身

IPAの整理では、本人確認の材料は3種類です。パスワードのように「知っているもの」、スマホのように「持っているもの」、指紋や顔のように「自分自身」の特徴です。このうち2つ以上を組み合わせるのが多要素認証です[1]。アメリカのNISTも、多要素認証を、2つの異なる要素を持ち、管理していることの証明と定義しています[4]。

「二段階」と「二要素」は同じとは限らない

総務省の子ども向けページは、2段階認証を、IDとパスワードのあとにもう一度認証が必要になる仕組みと説明しています。そこでは、秘密の質問のように同じ種類をくり返す場合も含まれます。一方、多要素認証は、種類の異なる要素を組み合わせるもので、こちらのほうがセキュリティが高まる、と区別しています[3]。

題名は「二段階認証」ですが、この記事の主役は、パスワードに「持っているもの」を足す形です。持っているものの代表が、認証アプリの6桁コードです。

認証の要素は、IPAの整理では記憶情報(知っているもの)、所持情報(持っているもの)、生体情報(自分自身)の3種類で、うち2つ以上を使うのが多要素認証だ[1]。CISAも、know/have/areの3分類で同じ考え方を示す[2]。NIST SP 800-63B-4は、多要素認証を、2つの異なる認証要素の所持と管理の証明と定義する[4]。

では、「二段階認証」と「多要素認証」は同じか。総務省の子ども向け資料は、前者をIDとパスワードの後に再度認証が必要になる仕組み(同じ種類の繰り返しを含む)、後者を異なる種類の要素の組み合わせとし、後者のほうが高まると述べる[3]。資料によって呼び分けが揺れるため、本稿は題名で一般に通じる「二段階認証」を使い、本文では「種類が異なるか」を基準に書く。

所持情報の例として総務省が挙げるのが、専用の認証アプリにだけ表示される、ランダムな数字の列だ[3]。その数字がどう作られるのかを、次章で見る。

3. 6けたの すうじは、どう つくられて いるの?

3. 6桁のコードは、送られるのではなく計算される

3. TOTP ── 共通の秘密と時刻から、両側が別々にコードを計算する

6けたの すうじは、サービスから おくられて きたと おもいがちです。でも、にんしょう アプリの ばあいは ちがいます。

あらかじめ、スマホと サービスが、おなじ ひみつを もって おきます。そして じかんを もとに、それぞれが おなじ すうじを けいさんします。30びょうを ひとくぎりに して けいさんする アプリが おおいです[5]。

6けたは 000000から 999999まで、100まん とおりあります。1にちは 86400びょうなので、30びょうごとなら 1にちに 2880かい かわる けいさんです。

たとえるなら、はなれた ふたりが おなじ ひみつの ひょうを もち、とけいを みて おなじ ところを よむ ようなものです。ただし ほんとうは、ひょうでは なく けいさんで すうじを だして います。

同じ秘密と同じ時計から、同じ数字が出る

認証アプリのコードの仕組みはTOTPと呼ばれ、2011年にIETFのRFC 6238として定められました。もとになったHOTP(RFC 4226)は「回数」を数えて値を出す仕組みで、TOTPはその回数を「時刻から出した値」に置き換えたものです[5]。

確かめる側と持つ側は、あらかじめ同じ秘密を共有しています。ログインのとき、それぞれが時刻から同じコードを計算し、一致するかを照合します。コードそのものは、通信で運ばれるのではなく、両側で別々に作られます[5]。なお、電話のSMSで届くコードは、サービス側が作って送る方式なので、これとは別物です。

30秒は、安全と使いやすさの釣り合い

時間の刻みは、30秒が推奨の既定値です(多くの認証アプリは、30秒を区切りにコードを計算します)。刻みが短いと入力できる時間が短くなり、長いと盗まれたコードを使える時間が延びます。その釣り合いで選ばれた値だと、RFCは説明しています[5]。6桁は000000から999999の100万通り、30秒なら1日に2880回入れ替わります(86400秒÷30秒の計算)。これは筆者が計算した値で、RFCにある数字ではありません。

認証アプリのコードはどこから来るのか。RFC 6238(2011年5月)のTOTPは、HOTP(RFC 4226)の「回数カウンタ」を「時刻から出した値」に置き換えたものだ。確かめる側(verifier)と持つ側(prover)が同じ秘密、または同じ秘密を作れる知識を共有し、それぞれが時刻から同じコードを計算して照合する[5]。コードは通信で送られてくるのではなく、両側で別々に作られる。

この前提には、2つの含みがある。1つは、秘密を最初に共有する段階(登録)が要ること。もう1つは、両側の時計がほぼ合っていることだ。RFCは時間の刻みの既定値として30秒を推奨し、安全さと使いやすさのバランスで選ばれた値だと説明する[5]。刻みを短くすれば入力できる時間が減り、長くすれば、盗み見られたコードが使える時間が延びる。この釣り合いが、30秒に表れている。

6桁なら取りうる値は100万通りで、30秒刻みなら1日に86400÷30=2880回入れ替わる(筆者の計算)。SMSで届くコードは、サービス側が作って送る別の方式だ。計算に使う鍵付きハッシュ(HMAC)の詳細は、RFC本文に譲る。

4. にだんかいにんしょうは、どれくらい ふせげるの?

4. どれくらい攻撃を防げるのか ── Googleの研究の数字

4. 阻止率の数字を読む ── Googleの研究(2019年)と、数字の限界

Google(グーグル)の けんきゅうが あります。2019ねんに、だいがくと いっしょに はっぴょうしました[6]。

けんきゅうでは、スマホの でんわばんごうに おくる SMS の コードで、じどうで うごく わるい プログラムを 100%、ふせぎました。にせの サイトで パスワードを ぬすむ ひろい てぐちは 96%、ねらいうちの こうげきは 76% ふせぎました[6]。

スマホに でる 「はい」を おす ほうほうでは、100%、99%、90% でした[6]。

この すうじは「ふせげた わりあい」です。ぜんぶ ふせげる と いう やくそくでは ありません。

電話番号に届くコードの数字

Googleは、NYUとUCSDと共同で、アカウントの乗っ取りを防ぐ効果を調べ、2019年5月に公表しました。回復用の電話番号に届くSMSコードは、自動化されたボットの攻撃を100%、大量のフィッシングを96%、標的型の攻撃を76%阻止した、と報告されています[6]。

端末に出る確認の画面(プロンプト)では、同じ3つの攻撃に対して100%、99%、90%でした。物理的なセキュリティキーだけを使っていた利用者は、調査の期間中、標的型フィッシングの被害がゼロだった、とも書かれています[6]。

数字の読み方

これらは「その攻撃のうち、阻止できた割合」です。パスワードだけの守りと比べた数字ではありません。また、一つの会社の、その調査での結果です。

効果は数字でどう示されているか。Googleの研究(NYU・UCSDと共同、2019年5月公表)では、回復用電話番号へのSMSコードが、自動化ボットを100%、大量フィッシングを96%、標的型攻撃を76%阻止した。端末上のプロンプトは、それぞれ100%、99%、90%だった。さらに、セキュリティキーのみを使う利用者は、調査中に標的型フィッシングの被害がゼロだった[6]。

読み方には注意が要る。これは攻撃を受けたうちの阻止率であり、パスワードだけの守りとの比較ではない。SMSコードの阻止率は、ボットの100%から、大量フィッシングの96%、標的型の76%へと、攻撃が人を狙うほど下がっている。この差の理由まではこの資料からは言えないが、人が入力する値と、人をだます攻撃との関係が、次章の論点になる。

IPAも、多要素認証が不正ログインの防止に効果があるとしつつ、パスキーも対策として紹介している[1]。効果の数字は1社の調査で、国や時期、対象の利用者が変われば同じとは限らない。

5. コードを ぬすまれたら、どうなるの?

5. コードごと偽サイトに渡してしまったら

5. リアルタイムフィッシング ── ワンタイムパスワードの限界

にせの サイトに、パスワードと 6けたの すうじを いれて しまう ことが あります。すると、わるい 人は その すうじを、すぐ ほんものの サイトで つかえる ことが あります。

フィッシング たいさく きょうぎかいは、こういう 「リアルタイム フィッシング」で ひがいが でた ため、ワンタイム パスワードを つかうだけでは あんしんと いえなく なった、と 2026ねんどの ガイドラインに かいて います[7]。

ながの けんけいも、しょうけんの こうざの のっとりが ふえ、パスワードは フィッシングで ぬすまれた ものが おおい、と ちゅういして います[8]。

パスワードや すうじを いれる まえに、サイトの なまえを おうちの 人と たしかめます。

30秒あれば、使えてしまうことがある

コードが30秒で変わっても、安心とは言い切れません。フィッシング対策協議会の2026年度のガイドラインは、利用者に届いたワンタイムパスワードを攻撃者が盗んで使う「リアルタイムフィッシング」で被害が出たため、ワンタイムパスワードを使うだけでは、フィッシング耐性があるとはいえなくなった、としています[7]。

NISTも、人が手で入力するタイプのOTPや、電話回線で届くSMS・音声のコードを、フィッシング耐性があるものとはみなしません。SMSと音声のコードは「制限付き(restricted)」の手段に分類されます[4]。ただし、これは「SMSを使うな」という意味ではありません。使える場面が限られる、という位置づけです。

日本の例

長野県警の注意喚起(2025年4月)は、証券会社の口座が乗っ取られる被害が急増し、使われたIDとパスワードは主にフィッシングで盗まれたとして、指紋や顔、ワンタイムパスワードなどによる多要素認証の導入を呼びかけています[8]。多要素認証は大事な守りです。ただ、「どこに入力するか」という入口の問題は、別に残ります。

コードを持っていても破られるのはなぜか。フィッシング対策協議会のガイドライン2026年度版は、利用者に届くワンタイムパスワードを攻撃者が盗んで使うリアルタイムフィッシングで被害が出たため、ワンタイムパスワードを使うのみではフィッシング耐性があるとはいえなくなったとする[7]。コードが30秒で変わっても、偽のサイトに入力した直後に使われれば、有効期間内に収まってしまう。

NIST SP 800-63B-4は、認証の仕組みが、偽の確認者に秘密や有効な出力を渡してしまうのを防ぐ能力を、フィッシング耐性と定義する。人が手で入力するOTPや、PSTN(電話回線)経由のSMS・音声のコードは、これを満たさず、SMS・音声は「restricted」に分類される[4]。位置づけは禁止ではなく制限であり、使える場面が絞られるということだ。

日本でも、長野県警の注意喚起(令和7年4月)は、証券口座の不正アクセスが急増し、IDとパスワードは主にフィッシングで盗まれたとして、多要素認証の導入を呼びかけた[8]。つまり、二つ目の要素を足す価値は変わらない一方で、「人が入力する値」は、偽サイトを通じて、攻撃者の側に渡る道が残る。では、入力させない方式はあるのか。

6. パスワードを いれなくても、よく なるの?

6. パスキーは、渡す秘密そのものをなくす

6. パスキー ── 秘密を共有せず、ドメインに結びつけて確かめる

パスキーという あたらしい やりかたが あります。パスワードの かわりに、スマホの ロックを かいじょ する ときと おなじ そうさで、ログインします。たとえば ゆびの もようや、あんしょうばんごうです[9]。

この しくみでは、サービスと ひとが おなじ ひみつを もちません。しかも、ひみつは サイトの なまえ(ドメイン)と むすびついて います。だから にせの サイトには、ほんものと むすびついた ひみつを おくりません[7]。

ただし これは しくみの はなしです。じっさいに つかう ときは、おうちの 人と いっしょに、せっていを かくにん しましょう。

共有する秘密がない

FIDOアライアンスが標準を作っているパスキーは、公開鍵暗号を使い、サービスと利用者が同じ秘密を共有しません。ログインは、端末のロックを解除するときと同じ操作(生体認証、PIN、パターンなど)で承認します[9]。

偽のサイトには、渡せるものがない

フィッシング対策協議会は、パスキーでは秘密情報がドメイン名と結びついているので、偽のドメインに、本物と結びついた秘密を送ることがない、と説明しています[7]。人が入力する数字や文字が無いので、「コードごと渡してしまう」場面が作りにくくなります。

パスキーにも条件はある

NISTは、複数の端末に同期されるパスキーは、秘密鍵を書き出せる必要があるので、最も高い水準(AAL3)では使えない、としています[4]。パスキーが危険という話ではなく、同期型のパスキーでは、最高水準で求められる条件と、同期の便利さが両立しない、という整理です。

人が入力する値が弱点なら、入力させなければよい。パスキーはFIDO標準に基づく認証情報で、公開鍵暗号を使い、共有する秘密がない。ログインは、端末のロック解除と同じ操作(生体、PIN、パターン)で承認する[9]。

耐性の理由は、フィッシング対策協議会が説明している。秘密情報がドメイン名と紐づくため、フィッシングドメインに、正規ドメインと紐づいた秘密情報を送信することがない[7]。TOTPでは、最後に正しい値を打つのは人間で、人間は偽サイトを見分け損ねることがある。パスキーでは、ドメインの照合が端末と仕組みの側で行われる。この点が、TOTPとの設計上の違いだ。

限界も、資料にある。NIST SP 800-63B-4は、複数端末に同期されるパスキー(syncable authenticator)は秘密鍵を書き出せる必要があるため、書き出せない鍵を求める最高水準AAL3では認められないとする[4]。これは、パスキーが危険だという意味ではない。同期型では、便利さ(複数の端末で使える)と、最高水準の条件が、同時には満たせないという整理だ。

7. おうちで ためして みよう

7. 「ログインで足されているもの」を観察する

7. 出口 ── どの要素が、どの攻撃に効くかを読み分ける

おうちの 人に たのんで、スマホで ログインする ところを みせて もらいましょう。さわるのは、おとなの 人です。

パスワードの ほかに、なにが ひつようか みて みます。スマホの 画めんに でる すうじ、ゆびの もよう、かおの にんしき。それは「しって いる もの」「もって いる もの」「じぶん じしん」の どれでしょう。

おうちの 人が みせて いいと した 画めんで、すうじが 30びょうくらいで かわるなら、どれくらいで かわるか、おうちの 人と いっしょに とけいで はかって みましょう。パスワードや すうじは、ひとに みせないように します。

家の人にお願いして、スマホでのログインの様子を見せてもらってください。操作するのは大人の人です。パスワードのほかに、何が求められているでしょうか。画面に出る数字、指紋、顔の認識。それぞれ、「知っているもの」「持っているもの」「自分自身」のどれにあたるかを考えます。

6桁の数字が表示される画面があれば、数字がどれくらいの間隔で入れ替わるかを、時計で測ってみましょう。30秒前後で変わるかどうかは観察できます。間隔だけでは、方式までは分かりません。パスワードや6桁の数字は、人に見せないようにしてください。

観察のあとで、「この数字を打つのは、どこの画面か」を、家の人と話してみてください。偽サイトの話に戻ってきます。

3種類の要素のうち、どれがどの攻撃に効くのか。盗まれたパスワードには「持っているもの」が効く。しかし、人が入力するコードは、リアルタイムフィッシングでは役に立ちにくい。入力しない方式(パスキー)は、ドメインとの結びつきで守る。この整理を、自分が使うサービスに当てはめて読み分けるとよい。

資料としては、RFC 6238(IETF)が、コードの作り方と30秒の理由を短く書いている[5]。Googleの研究は、阻止率の数字の定義が丁寧に書かれている[6]。フィッシング対策協議会のガイドラインは、リアルタイムフィッシングとパスキーの説明が日本語で読める[7]。

読むときは、「SMSの阻止率の数字と、認証アプリのコードは、どう届き、どこに入力するのか」を軸に、3つを読み比べるとよい。

しらべた もとの じょうほう

参考にした情報源

参考にした情報源と、その使い方

出典について:IPA、CISA、総務省、NIST、IETF(RFC)、Googleのセキュリティブログ、フィッシング対策協議会、長野県警察、FIDOアライアンスの資料を使った。何に使ったかは、それぞれの項目の最後に書いている。

  1. IPA「不正ログインによる被害が増加中」(2025年)。https://www.ipa.go.jp/security/anshin/attention/2025/mgdayori20250828.html (認証の3種類、多要素認証の効果、パスキーの紹介について)
  2. CISA「Secure Our World: Turn on MFA」。https://www.cisa.gov/MFA (know/have/areの3分類と、ハッキングされにくくなることについて)
  3. 総務省「情報通信白書 for Kids 2段階認証や多要素認証」。https://www.soumu.go.jp/hakusho-kids/safety/prepare/security/security_03.html (2段階認証と多要素認証の区別について)
  4. NIST SP 800-63B-4「Digital Identity Guidelines」。https://pages.nist.gov/800-63-4/sp800-63b.html (多要素認証の定義、SMSの位置づけ、同期パスキーとAAL3について)
  5. IETF「RFC 6238 TOTP: Time-Based One-Time Password Algorithm」(2011年)。https://datatracker.ietf.org/doc/html/rfc6238 (コードの作り方、秘密の共有、30秒の既定値について)
  6. Google Security Blog「New research: How effective is basic account hygiene at preventing hijacking」(2019年)。https://security.googleblog.com/2019/05/new-research-how-effective-is-basic.html (攻撃の阻止率の数字について)
  7. フィッシング対策協議会「フィッシング対策ガイドライン2026年度版」。https://www.antiphishing.jp/report/guideline/antiphishing_guideline2026.html (リアルタイムフィッシングと、パスキーがドメインに結びつくことについて)
  8. 長野県警察「サイバー便り 第5号」(令和7年4月18日)。https://www.pref.nagano.lg.jp/police/anshin/cyber/documents/r7cyberdayori5.pdf (証券口座の不正アクセスと多要素認証の呼びかけについて)
  9. FIDO Alliance「Passkeys」。https://fidoalliance.org/passkeys/ (パスキーの仕組みと承認の操作について)

なおした ところ

更新履歴

更新履歴(改版の記録)

  •  初版を公開。

このサイトでは、公開した記事の本文は原則として書き直しません。誤りが見つかったときや、内容が古くなったときだけ手を入れ、その理由をこの欄に残します。