メール・パスワード不要の登録と認証

パスワードのセキュリティ上の問題と使い勝手の悪さはよく知られています。パスワードは「知っているもの」であるため、忘れやすく、その発生頻度も高いです。そのため、パスワードのリセット用バックアップとしてメールが広く利用されています。

しかし、メールにも多くの問題があります。パスワードと同様に、人々は多くのサービスで同じメールアドレスを再利用する傾向があり、そのサービスからメールアドレスが漏洩した場合、プライバシーリスクが生じます。また、個人情報を入力せずにメールアドレスを取得することは、ますます困難になっています。スパム対策(おそらくはユーザーへの広告ターゲティングを容易にするためにも)として、無料メールサービスは通常、特定の個人と簡単に紐付けられる電話番号の入力を義務付けています。有料メールサービスでは電話番号が不要な場合もありますが、個人情報なしで有料サービスを利用するのは難しく、また有料メールサービスの契約に依存することは、経済状況の変化に対して脆弱です。さらに、現在ではメールサーバーを自分で信頼性高くホストすることも困難です。プライバシーの問題に加え、多くのサービスで同じメールアカウントを再利用することによる集中化は、そのメールアカウントが侵害された場合に他の多くのアカウントも同時に侵害されるというセキュリティリスクを生み出します。

現在、サービスに登録したり認証したりするために、パスワードもメールも必要ありません。Discourse はすでに FIDO と TOTP をサポートしていますが、登録と認証には依然としてパスワードとメールアドレスが必要です。Discourse が FIDO と TOTP を優先し、パスワードとメールアドレスをオプション化できれば素晴らしいでしょう。

FIDO を用いたワンファクタ認証は非常に便利ですが、パスワードのみで登録しメールを登録しない場合と同様に、単一の FIDO トークンの紛失や破損に脆弱です。これを解決するため、ユーザーには登録時に少なくとも 2 つの認証要素(FIDO、TOTP、パスワードの任意の組み合わせ)の提供を義務付けることを提案します。メールもパスワードも使わない認証を希望するユーザーは、YubiKey のような 2 つの FIDO ローミング認証器を登録するだけで済みます。また、アカウントへのアクセスを失わないよう、ユーザーには最低限の 2 つ以上の認証要素の登録を推奨する(特に管理者に対しては義務付ける)べきです。

近年、Windows Hello、Apple Touch ID & Face ID、Android などのデバイスに FIDO プラットフォーム認証器が組み込まれることが増えているため、YubiKey などの専門的なローミング認証器ハードウェアを持たない非技術的なユーザーでも、このメール不要の登録システムを利用可能になります。ユーザーは FIDO プラットフォーム認証器とパスワードを組み合わせて登録できます。このような設定であれば、FIDO プラットフォーム認証器によるワンファクタ認証もシームレスに機能します。しかし、新しいデバイスでの認証において、そのデバイスに FIDO プラットフォーム認証器が用意されていない場合、使い勝手の問題が生じます。また、新しいデバイスのセットアップにパスワードのみを頼ることは安全ではありません。これを解決するため、Matrix が新しいクライアントを認証する際のワークフローに似た仕組みを提案します。ユーザーは、新しいデバイスでそのデバイスの FIDO プラットフォーム認証器(新しい要素)と、既に登録済みのパスワード(既存の要素)を使ってログインを試みます。これにより実際にログインはしませんが、アカウント内で新しい FIDO 認証器の承認をリクエストする状態になります。その後、新しいデバイスの UI は、既に登録済みのデバイスにログインして新しいデバイスを承認するようユーザーを案内します。FIDO プラットフォーム認証器がモバイルデバイスに組み込まれていることを活用すれば、専門的なローミング認証器ハードウェアを必要とせず、また公共のキオスクのような任意のデバイスを利用する能力を犠牲にすることなく、実用的で安全な認証が可能になります。

私は昨日 YubiKey を受け取った後、この匿名登録・認証システムを思いつきました。これを実装しているシステムは存じ上げません。Discourse のような成熟しており、すでに広く展開されている Web アプリケーションが、インターネット利用にメールやその他の個人識別情報の必要性をなくす未来を先導することを心から願っています。

「いいね!」 3

おそらくその通りでしょう。しかし、あなたが提案するシステムでログインしようとする人が、パスワードマネージャーの存在を知らないとは考えにくいです。私は約10年間パスワードマネージャーを使い、複数のFIDOキーを持ち、Google Authenticatorも利用しています。そのため、あなたが提案していることが何を意味するのか、正直よくわかりません。

少なくとも数人の企業顧客がそれを望まない限り、そのようなシステムが実装される可能性は低いでしょう。認証システムに詳しい人でも、少なくとも50時間ほどの作業が必要で、適切な仕様書があればその倍の時間がかかるはずです。以前、Keybaseとの統合を試みたことがあり、それはあなたが望む機能の一部を実現できる可能性がありましたが、あまり進展しませんでした。

しかし、それは興味深いアイデアですね。もしかすると、私が思っているよりも簡単かもしれません。

「いいね!」 1

FIDO プラットフォーム認証子が組み込まれた最近のデバイスを持っている人なら、誰でも簡単にこれを利用できます。数年後には、ほぼ誰でも利用できるようになるでしょう。

タイトルで述べたとおりです:メールをオプションにすることです。パスワードもオプションにできれば素晴らしいですね。

実装には相当な労力がかかることは確かだと思います。最も難しい部分は、UX デザインを非常に明確にすることだと考えます。Discourse には、FIDO と TOTP をサポートする 2FA の機能として、すでに必要な構成要素が備わっています。

「いいね!」 1

これを実現するための小さな第一歩として、FIDO と TOTP の登録用 UI を登録画面に追加し、初回ログイン後の設定画面で追加の手順を踏む必要をなくすことができます。その後、UI デザインをさらに改善し、メールアドレスとパスワードの入力をオプションにすることも検討できます。

「いいね!」 1

パスワードに関する彼のさまざまなブログ投稿を踏まえ、@codinghorror の見解が気になります。

「いいね!」 3

E-mail はオプションにすべきです。E-mail はますます信頼性がなくなり、大手 E-mail プロバイダーの寡占により不可能になりつつあります。

今、突然 gmail が私のドメイン名をブロックしています。

  • 長年、すべての E-mail セキュリティ (SPF、DKIM、DMARC など) を完璧に設定した後でも
  • 完璧とはどういう意味ですか?すべての E-mail セキュリティテストおよびレポートツールは「100% OK」と表示されており、
  • ドメイン名は長年スパムリスト (spamhouse など) に入っていませんでした。

しかし、gmail に連絡できるのですか?もちろん…

Sender Contact Form - Gmail Help を引用

提供された情報を使用して、スパムおよび不正行為の検出システムを調査および改善します。残念ながら、調査中または調査後に、その結果に関する詳細を提供することはできません。

したがって、回答は「ええ、調べましたが、修正しませんでした。問題はあなたの側にあるのですが、スパムの例を共有していただけず、問題が何であるかを教えていただけません」のようになる可能性が高いです。それは、そもそも問題があった場合ですが。

とにかく、その連絡フォームを使用しました。返信に 2 週間かかると、フォームの最後に記載されていました。これは E-mail を事実上信頼できなくし、扱いにくくします。

これは私の経験だけではありません。

他の多くの人々も同様の経験についてブログを書いています。

これらのごまかしは、E-mail サーバーのセルフホスティングに関するすべての技術的な困難に加えて発生します。

E-mail をオプションにしていただけませんか?

  • E-mail アドレスでサインアップする場合: パスワードの復旧が可能になります。
  • E-mail アドレスなしでサインアップする場合: パスワードの復旧は不可能になります。
  • サイト管理者が許可する場合 (オプション設定)、ユーザーに警告しますが、E-mail アドレスなしでのサインアップを許可します。
  • ユーザー名 + パスワードのみ。

同様のトピック:

「いいね!」 1

簡単な解決策は、Discourse Connect を使用して別の認証システムを利用することです。

メールを使わないシステムを作成することの難しさについての私の以前の見積もりは、大きく外れていました。それらのメールには not-email.invalid ホスト名を持つ別の識別子を使用すれば、実現可能でしょう。Sign-In with Ethereum プラグイン は、Ethereum の使用をユーザーに求めるのであれば、お望みのことを達成できるかもしれませんが、同様のものが機能する可能性もあります。本人確認の方法は必要です。

ユーザー名とパスワードだけで本人確認をする方法が必要です。

ユーザー名とパスワードのみ。

では、インターネット上の誰でも(またはボットでも)あなたのフォーラムに来て、ユーザー名とパスワードを適当に決めるだけで無限にアカウントを作成できるということですか?

はい。

様々なWebアプリケーションでの経験から、スパムボットはGmailなどのEメールアドレスを作成することにあまり問題はありません。私のサイトでも、一時的な使い捨てEメールアドレスを除外していません。また、Eメールアドレスなし(または有効でないEメールアドレス)でサインアップできるフォーラムソフトウェア/フォーラムもいくつかありますが、それも問題を引き起こしたことはありませんでした。そのため、Eメールアドレスはボット/DoS攻撃アカウントの洪水を防ぐための障壁とはあまり考えていません。

しかし、あなたの懸念は理解できます。ユーザーがEメールアドレスなしでサインアップできるようにすると、多くのフォローアップ問題につながる可能性があります。もし、とんでもない数のフォーラムアカウントが作成されるような、大規模なボット攻撃やDoS攻撃が発生したらどうなるでしょうか?

その場合、スパム対策が必要になります。しかし、これらはEメールが任意であるフォーラムインスタンスと、Eメールが必須であるインスタンスに特化したものではありません。

なぜなら、スパマーは現在、作成済みまたはハッキングされた多くのEメールアドレスにアクセスできるからです。また、一時的なEメールプロバイダーを使用したり、ドメイン名を購入/盗んで、スパム目的のフォーラム設定用に独自のEメールサーバーをセットアップしたりすることもできます。

Eメールを使用するユーザーと使用しないユーザーの両方から、同じような質問が生じるでしょう。この議論のために、理論的な質問です。

  • X日以降に作成され、X分未満しかログインしておらず、投稿が0件のアカウントをすべて表示するにはどうすればよいですか?おそらくボットアカウントでしょう。これらをすべて見つけて削除したいです。
  • サインアップを承認する前に、カスタム質問/パズル/キャプチャなどを追加するにはどうすればよいですか?
  • 管理パネルに、管理者が大量登録スパムに対応できる新規サインアップの承認/非承認を簡単に行えるボタンを追加することは可能でしょうか?

Googleはこの問題に対して、QRコードとBluetoothを使用した興味深いソリューションを考案したようです。

「いいね!」 1

関連記事: Users logging with SSO, without email address

「いいね!」 1

パスキーが普及し、多くのサービスでパスワードを作成する必要のないパスワードレスサインアップが提供されています。パスワードを持つこと自体が、パスキーのセキュリティ上の利点を損ないます。同様に、メールをリカバリ方法として使用することは、すべてのアカウントのセキュリティがメールアカウントのセキュリティに依存することを意味します。パスワード/メールを要求することは、ユーザーのセキュリティとプライバシーにとって悪影響であり、新しいメールアカウントの作成がいかに簡単であるかは言うまでもありません。経験上、メール要件はボットがフォーラムにスパムを送信するのをまったく止められないと言えます。サービスが歴史的にメールを要求してきた主な理由の1つは、パスワードを忘れた場合にアカウントをリカバリできるようにするためですが、パスキーはパスワードマネージャーに保存され、デバイス間で同期されます。アカウントに複数のパスキーを追加することもでき、パスワードを忘れるという問題をほぼ解消できます。パスワードレスサインアップを実装しているサイトの例をいくつか紹介します。

https://app.uninbox.com/ このサイトは特に優れていると思います。メールを必要としないからです。
https://www.kayak.com/

「いいね!」 1

80歳の方にもわかるように説明してください。

Targetではパスキーのみ(メール/パスワードオプションあり)で登録できますが、DiscourseではメールまたはSSO経由のメールを使用する必要があります。Kayak(ちなみに、そのドメイン名は本当に嫌いです :smirking_face:)はGoogle SSOのみを使用しており、Discourseにはすでにその機能があります。

したがって、Targetが使用しているようなオプションがここにあるのか、という疑問が残ります。Kayakのオプションはすでに存在しますが(Googleユーザーのみに登録を限定したくはありませんが、それは私個人の意見です)。

TargetのユーザーがiPhoneからAndroidに変更した場合、どうなりますか?

Kayakは、メールアドレスを入力するとパスキーでサインアップできます。残念ながら、メールアドレスは依然として必要です。

パスキーはパスワードマネージャーに同期されるため、利用可能になります。また、アカウントに複数のパスキーを追加できるため、新しい電話で新しいパスキーを作成することもできます。現在、パスキーをエクスポート可能にする作業が行われており、パスワードマネージャー間での移行がより容易になります。

「いいね!」 1