パスワードは消えていない
去年、インターネット上で大手テック企業がパスワードをなくすために力を合わせていると主張するニュース記事が流れていました。一部のスタートアップは、パスワードが時代遅れで旧式であると宣言しました。
序章
去年、インターネット上で典型的なテック企業である [Apple、Google、Microsoftがパスワードを撲滅するために力を合わせている](https://www.techradar.com/news/the- 知識パスワードデイを取り消したい場合の世界最大のテック会社)と主張するニュース記事が流れていました。いくつかのスタートアップは、パスワードが時代遅れで旧式だとすら宣言しました。数ヶ月間、アイデンティティ管理の分野を掘り下げていった私は、これらの主張の妥当性と実際性に疑問を持つようになりました。
パスワードが何をするのか?
一見すると答えは明らかに思えます:パスワードはサインインと身元確認のために使用されます。しかし、パスワードが本当に誰であるかを確認することはできないという事実を考慮に入れると、私は異なる視点を持っています:
- ユーザーがメールとパスワードを使用してウェブサイトにサインインすると、その認証情報の背後にいる実際の人物をウェブサイトが確認する方法はありません。それは人間であっても猫であっても可能です。
- 正しいPINを持っていれば、だれでもiPhoneをロック解除できます。
実際には、パスワードの目的は、ユーザーアカウント、デバイス、ドアへのアクセスなど、何かの所有権を匿名で証明することです。
現在の「パスワードキラー」
前述の企業はさまざまな"パスワード キラー"を提案しました。多くは、認証時にユーザーが複雑な静的なパスワードを覚える必要をなくす、より安全な代替手段を主張しています。しかし、それらの代替策の大部分は、完全にパスワードを削除するための実用的なものではありません。
FIDO認証
FIDO (Fast Identity Online)認証は、公式ドキュメンテーションで説明されているように、登録とログインに公開鍵暗号技術を利用します(これはFIDO2の仕様 の核心部分である WebAuthnに注目する価値があります)。表面的には、そのプロセスは魅力的に見えます:
シンプルでしょう?残念ながら、道筋には大きな障壁があります:互換性です。伝統的な"識別子とパスワード"の組み合わせと比較して、FIDO認証には以下が必要です:
- ウェブサイトやアプリがFIDOをサポートする。
- ブラウザやオペレーティングシステムがFIDOをサポートする。
- ユーザーデバイスにユーザーフレンドリーな検証メカニズムが存在する。
これらの要件を満たすことができない場合、FIDO認証は利用できず、他の方法にフォールバックする必要があります。
さらに、すべての条件が満たされたとしても、デバイスにどのような"ユーザーフレンドリーな検証メカニズム"が適しているでしょうか?現在では、指紋や顔認識のような生体認証方法が主に用いられ、フォールバックオプションとしてPINコード、つまりパスワードが伴われることが多いです。結果的に、私たちは出発点に戻ります。
技術的には、それは"パスワードキラー"ではなく、パスワードによって保護されたより安全でユーザーフレンドリーな認証または検証プロセスです。
ワンタイムパスワード
名前に「パスワード」が含まれているにもかかわらず、ワンタイムパスワード(OTP)は伝統的なパスワードではありません,なぜならそれらは動的だからです。OTPには2つの人気の種類があります:
- 時間ベースのワンタイムパスワード(TOTP): 現在の時間を一意性の源としてアルゴリズムで生成します。これはマルチファクター認証(MFA)や2FAで一般的に使用されています。
- SMS/Emailワンタイムパスワード: サーバー上でランダムアルゴリズムを使用して生成します。一部の国では、主要なサインイン手段として広く採用されています。
TOTPは名前で広く認識されていないかもしれません。例えば、あるウェブサイトがあなたにMFAの設定を促し、Google AuthenticatorやDuoのようなアプリを使用してQRコードをスキャンするように指示したとき、おそらくTOTPを使用しているでしょう。また、ウェブサイトが長い「リカバリーコード」を表示し、それは一度だけ表示されるので保存しておくようにアドバイスすることにも気付いたかもしれません。一部のウェブサイトでは、ユーザーにそれを紙に印刷することを勧めています。本質的に、このリカバリーコードは長いパスワードのように機能します。
SMS/EmailのOTPについては、それらは高価だったり信頼性が低かったりすることがあります:
- SMSやメール送信者をゼロから設立するには設定が必要です。
- メール送信者は、配信率を改善するために、良好な「評判」を確立する必要があります。そうでなければ、送信者はスパムフラグを立てられる可能性があります。
- 各国には独自の携帯電話ネットワークオペレーターがあり、SMSの配信時間が不確定で、かつSMSの送信には莫大な費用がかかることもあります。特にスタートアップにとっては。
生体認証
"生体認証"という言葉は、オンラインでの認証に生体認証手段のみを使用することを指します。実際には、他の方法と比べて根本的な違いがあります:生体認証は、"何かの所有を証明する"という元のタスクを、"あなたが誰であることを証明する"というタスクにシフトします。プライバシー上の懸念から、生体認証手段は主にローカル認証に使用されます。
パスワードは完全ではない
我々が見てきたように、「パスワードキラー」は基本的にパスワードを隠したり、フォールバックオプションとしてパスワードを使用したりしています。ここでは、私たちの議論に基づいてパスワードの利点をまとめてみましょう:
- 格差と互換性:パスワードはさまざまなシステムで使用でき、広範なユーザーにアクセス可能です。
- コスト効果と多用途性:パスワードベースの認証は、他の方法よ りも一般的にコスト効果が高く、様々なシナリオに適応できます。
- 匿名性とプライバシー:パスワードは匿名の使用を可能にし、ユーザープライバシーを保護します。
しかし、コインには二面性があります。パスワードにはその利点がある一方で、それだけで認証に依存すると著しい脆弱性が生じます。それらはエンドユーザー管理するのに厄介で、ウェブサイトの所有者が適切なセキュリティ手続きを守らなければ、パスワードは簡単に危険にさらされてしまいます。危険なセキュリティ手続きには以下のようなものがありますが、これらに限定されません:
- 弱いまたは漏洩したパスワードを許可する。
- 接続のためのHTTPSの強制を守らない。
- 不安全なハッシュアルゴリズムを使用する。
- OAuthやOpenID Connect(OIDC)などの戦闘試験済みの規格を厳密に守らない。
- データベースを公開する。
結論
私が先に述べた認証方法のどれも悪く見える意図はありません。逆に、私がLogtoを構築する過程で、これらの素晴らしい認証方法とそれらを背後で支えている人々に対して深い敬意をもつようになりました。
それでも、100%のセキュリティを達成することは不可能な目標です。我々が目指せるのは、攻撃の可能性を減らすことです。一つの効果的なアプローチは、現在のデバイスや環境に基づいたワンタイムパスワードとパスワードベースの認証を組み合わせることで、これは確認の追加層を提供し、広く採用されています。さまざまな認証手法の強みを利用することにより、我々はより強固な保護を提供する層状のアプローチを作り出すことができます。
結論として、パスワードが本当になくなっていないときに"パスワードキラー"というバズワードに集中するよりも、セキュリティとユーザーエクスペリエンスのバランスを重視することがより価値があるでしょう。これには、さまざまな認証方法の強みと限界を理解し、ユーザーデータのセキュリティとシームレスなユーザーエクスペリエンスの両方を確保するように実装することが含まれます。