2要素認証トークンのオンライン同期について

私見です。

2要素認証とは

2要素認証のメリット

2要素認証 two-factor authentication, 2FA は,オンラインアカウントのセキュリティを高めるための施策で,認証プロセスにおいて種別の異なる2つの要素を要求するものです。3つ以上の要素を要求する運用もあり,多要素認証 multi-factor authentication, MFA と総称します。

要素の種別については,一般に,Knowledge factors(知る要素,What you know――パスワード等),Possession factors(持つ要素,What you have――セキュリティトークン等),Inherent factors(備える要素,What you are――指紋等)の3つがあり,Location based factors(場所の要素,GPS 等)がここに加わることもあります。

比較的扱いやすい一方で高いセキュリティを実現できることから,パスワードに加えて時刻等を元に暗号学的に自動生成される6桁のワンタイムパスワード,RFC 6238 に基づく TOTP が多く採用されています。

2要素認証を利用することで,生のパスワードが流出したような際にも不正ログインを防ぐことができ,アカウントのセキュリティを飛躍的に高めることができます。

銀行のオンラインバンキング用には専用のハードウェアトークンが提供されますが,通常のオンラインサービスではスマートフォンのアプリの形でトークンが提供される場合がほとんどであす。これによって,複数のサービスを利用するために独立したハードウェアトークンをそれぞれ持ち歩く必要がなくなっています。

2要素認証のデメリット

一方で,2要素認証には大きなデメリットもあります。それは,特定のハードウェアに依存するため,そのハードウェアが故障した際にはログイン不能となるということです。

広く使われている実装は,銀行で使われているハードウェアトークンをそのままスマートフォン用アプリケーションで置き換えたようなものであり,まず故障や紛失の心配はしなくてよい専用のハードウェアトークンと違い,事故で使用できなくなるリスクも大いにあります。さらに,ウェブ企業は銀行とは異なり最低限の要員しか持たないため,迅速なサポートは期待できません。そもそも日本国内にサポート拠点がない場合も多くあります。

また,ログイン不能となるリスクを置いておいても,トークンアプリケーションを導入しているスマートフォンを持ち歩く必要があるため,パスワード認証のみの場合と比べるとかなり不便です。この利便性の問題のためか,ユーザ側では未だに広く普及しているとはいえず,いわゆるパスワードレス認証の開発が進んでいます(もっとも,利用者にとっても特に中小の事業者にとっても,本格的な採用はハードルが高いと言わざるをえません)。

2要素認証トークンをオンライン同期するメリット・デメリット

こうした問題への対応策となりうるのが,2要素認証トークンをオンラインで同期して複数のハードウェアで利用できるようにするというアプローチです。

AndOTP などのトークンアプリケーションのバックアップをオンラインストレージで共有することで同期が可能であるほか,アプリケーションからホスティングまでをパッケージ化した Authy のようなサービスもあります。

この場合,特定のハードウェアに依存するゆえのリスクを低減し,スマートフォンが故障ないし紛失した場合にもログイン不能とならないほか,複数のデバイスから利用できるため非常に手軽に利用できるようになります。

しかし,別のオンラインのサービスが介在するこの使い方は,本来想定されているものではありません。

2要素認証トークンをオンライン同期するのは悪いアイデアなのか?

とはいえ,セキュリティ水準は,保護対象の重大性に照らして,利便性との比較衡量で決定されるべきものでしょう。たとえば,ただのメモ置き場にオンラインバンキングと同等のセキュリティは必要ありません。

さらに,多くのサービスは,はじめから純粋な2要素認証ではありません。すなわち,往々にして,サポートデスクに連絡すれば,メールアドレスやパスワード等の登録情報だけの確認で2段階認証の停止が可能な運用となっているのです。これは,スマートフォンをハードウェアトークンの代用品とすることで生じる無理に対応するためにどうしても避けられないことと言えます。ユーザの側で注意したところで,もともと厳密な意味での2要素認証とはなっているとは限らないというわけです。

そしてなにより,2要素認証は従前の(通常は)パスワード認証に別の要素を追加するものであるから,万が一攻撃者がワンタイムパスワードにアクセスできるようになったとしても,単なるパスワード認証となるに過ぎません。長く強力で使いまわされていないパスワードと試行回数超過によるロックダウンの組み合わせは,それだけでも充分に安全です(サーバサイドに脆弱性がある場合はその限りではありませんが,2要素認証にしても必ずしも信頼できる実装になっているとは限らず,「なんちゃって2要素認証」が発覚した例は多くあります)。

結論

個人のブログや SNS,ネットショップ(クレジットカードやオンライン決済の保護・補償を併用できる)などの一般的なオンラインアカウントの保護については,2要素認証トークンをオンライン同期しても特段問題はなく,2要素認証が普及していない現状を考えれば,むしろ利用を促進するために推奨することができると考えます。

少なくともパスワードのみの運用よりは大幅に高まることは明らかであり,パスワードさえ安全に保管していれば,2要素認証トークンの管理にはそれほどナーバスになる必要はないはずです。

もっともこれは,2段階認証の安心感で満足して安易なパスワードを設定したり,パスワードを使いまわしたりすることがないことを前提としての話です。先述の通り,一般的なオンラインサービスの「2要素認証」は厳密に運用されているとは限らないため,安全なパスワードを使用することのほうがずっと重要です。

また,繰り返しになりますが,どの程度のセキュリティを確保すべきかは,保護対象に応じて利便性との兼ね合いになるため,実際の状況に基づいて個別に判断することが必要でしょう。

コメントを残す

投稿にあたり,完全な IP アドレスが保存されます(公開されません)。

コメントはスパムフィルタで処理され,承認後に公開されます。