web-dev-qa-db-ja.com

ユーザー名なしで、パスワードのみでコンピューターにログイン

パスワードのある少数のユーザー(たとえば、2〜10人)のホームコンピューターなどのログイン画面を簡略化するアイデアがあります。

現在、一般的なホームコンピュータのログイン画面には3つのステップがあります。

  1. ユーザーを選択します。 2-10ユーザーの場合、これは多くの場合、クリックできるアイコンのセットで行われます。
  2. パスワードを入力します。
  3. [OK]をクリックするか、Enterキーを押します。

最初のステップを省略した場合はどうなりますか?次に、ログインウィンドウは、パスワード入力フィールドのカーソルで開始し、ユーザーがパスワードを入力してEnterキーを押す準備ができます。それが完了すると、その1つのパスワードがマシンに登録されているすべてのユーザーに対してチェックされ(確認する必要があるのは2〜10のみです)、一致するものがあれば、ログインは成功します。一致するものがない場合、プロセスは最初からやり直すか、「古いスタイル」画面に戻り、ユーザーはパスワードを忘れた場合(今日と同様)にアイコンをクリックできます。

2つのカテゴリのいずれかで回答を期待しています:

  1. これが試された重要な例(成功したかどうかにかかわらず)。
  2. これが悪い考えである実質的な理由。

私の提案はいくつかの仮定をしていることに注意します:

  1. 2-10ユーザー。これは、現在のアイコン駆動のログイン画面が持っているのとほとんど同じ仮定だと思います。この新しい方法では、ユーザー数が20〜30人と少し増える場合がありますが、画面上のアイコンが多いと混乱を招きます。
  2. 固有のパスワード。これは利点になることもあります。システムはパスワードの一意性を強制してスキームを機能させますが、2人のユーザーが以前に正確に同じパスワードを持っている場合、それは良いものではない可能性があります。
  3. すべてのユーザーはパスワードを持っています。そうでない場合は、古いスタイルのアイコンが、パスワードプロンプトと共に目立たないように表示される可能性があります。これで問題ありません。
51
John Zwinck

これが良い考えではない理由の1つは、一意のパスワードを適用する必要があることです。これは、最初はユーザーエクスペリエンスにとって大きな問題のようには見えませんが、セキュリティの観点から、これは重要です。理由は次のとおりです。

一意のパスワードを適用すると、ユーザーがパスワードを選択したときに、システム上の別のユーザー用に予約されている別のパスワードが誤って(または悪意を持って)発見される可能性があります。次に、ユーザーは試行したパスワードが使用されているであり、さらに悪いことに、このシステムではどのアカウントがパスワードのロックを解除するかを知る必要がないです。見つかったパスワードでログインするだけでアカウントが開きます。

可能性はごくわずかであり、これはとにかく家庭での使用のような小さなセットアップのためであるとあなたは主張するかもしれませんが、実際はシステムの欠陥がすべての悪の根源ですです。

157
kontur

パスワードのみのログインを選択すると、多くの問題が発生します。

安全保障

パスワードのみが必要な場合は、一意のパスワードを適用しない限り、ログインしていることを知る方法はありません。その場合、サインアップして共通のパスワード(「パスワード」など)を使用しようとしたところ、許可されていないことがシステムから通知された場合、基本的に他のユーザーの完全なアクセス情報が提供されていました。

パスワードを割り当てることを選択した場合、これは選択したユーザー名とパスワードの組み合わせよりも思い出すことが潜在的に難しくなります。 UXとセキュリティは不十分です。安全でない場所に書き留められる可能性が高いからです。

使いやすさ

これは、パスワードの方が簡単だからといって、パスワードのみでログインすることを支持する弱い議論がある可能性がある1つの領域です。ただし、セキュリティは不十分で、リスクは高くなります。たくさんのパスワードを入力して、それらが機能するかどうかを確認するのをやめさせるのはどうすればよいですか?あなたは携帯電話の例に従い、3回の不正な試行の後にアカウントをロックすることができますが、ユーザー名または2番目に長いパスワード(PUKコードのような)なしでそれをロック解除する方法は、そもそもユーザー名よりも覚えにくいです。

ユーザー名とパスワードは、現代のコンピューティングの最もユビキタスな機能の1つであり、人々は(正しく)両方が存在することを期待するようになりました。システムに1つしかない場合、両方を探している人々を混乱させる可能性が非常に高くなります。

概要

ログインにパスワードのみを使用しても、メリットはほとんどなく、多くの問題が発生します。正直なところ、これが受け入れ可能な解決策である単一のユースケースを見ることができません。

ログイン用のパスワードの代替が必要な場合は、 認証用のパスワードの代替 を参照してください。ただし、認証する相手を知る必要があるため、ユーザー名を暗示または指定する必要があります。

TL; DR:これを行わないでください。ずっと


編集:ポイントをより詳細に説明し、コメントからの情報を含むメジャーアップデート。

41
JohnGB

パスワードを提供するだけでは問題が生じる可能性がある理由は、システム管理にあります。パスワードのみを提供することにより、管理者がアカウントのハンドルを取得することが困難になります。したがって、各アカウントにアカウント番号がある場合でも、管理者はそれをユーザーに簡単に関連付けることができません。

例えば.

  1. ユーザー:「アカウントに問題があります」
  2. 管理者:「わかりました。あなたのアカウントは何ですか?」

ユーザーはそれにどのように応答しますか。

これに対するもう1つの理由は、アカウント復旧のコンテキストにあります。悪意のあるユーザーがパスワードを推測し、その悪意のあるユーザーがパスワードを変更した場合はどうしますか。ユーザーがパスワードを忘れた場合も同様の問題が発生します。

22
user1974300

面白いアイデア、その部分を分析してみましょう。

[〜#〜]編集[〜#〜]:私は、kontourが述べた理由(一意のパスワードを強制すると、新しい登録者への既存のパスワード)。

n要素認証

他の人が言及したように、セキュリティの傾向は、認証に必要な要素を増やすです。 「あなたが持っているものとあなたが知っているもの」(ユーザー名+タイムトークンのような、以下を参照)を要求することは、現在のやり方です。

ただし、今日がすでに使用されている単一要素認証の例はたくさんあります。

  1. 私の家の鍵。
  2. 私のオフィスへのドアコード。
  3. 私のアラームコード。
  4. 多くの生体認証データベースの認証メカニズム(顔スキャナーの指紋など、を置き換える-補足するのではなく、ユーザー名とパスワードの組み合わせ) 。
  5. クレジットカード(少額の取引用)ですら。確かに、これは少し異なるパラダイムです。潜在的なダメージのフットプリントがかなり小さいため、許可されています。それでも、注目に値します。

これらが機能する理由は、他の誰かが同じトークン(顔、指紋、物理キーまたは数値キーなど)を持っているという統計的可能性が、私と同じ許容できるほど小さいことです。

ユーザーが事前定義されたユーザーリストから選択されるホームコンピューター環境では、実際には追加のセキュリティは追加されないことに注意してください。攻撃者はユーザー名の完全なリストを既に持っています。そして、実際には、あいまいさによって得られるセキュリティは通常、取るに足らないものです。

このため、Windows指紋リーダー認証メカニズムのデフォルトの動作では、指をスワイプするだけです。これにより、印刷が登録されているすべてのユーザーが認証されます。

トークンの複製

認証トークンは、ホームデポでの物理的なキーカットであるかどうかに関係なく、duplicated、または RSA SecurID タイムトークン(デバイスを盗むことによって/- 誰かに読んでもらうためのソーシャルエンジニアリング )。

私が思い出せる限り、現在、その攻撃ベクトルを強化する方法は、認証要素の増加のみです。

13
msanford

これは2000年にJef Raskinによって提案され、Amazonによって少なくとも2年間実装されました。それは良い考えであり、それよりも安全です。

ユーザー名とパスワードほど安全ではない理由は、ユーザー名が推測可能であるためです。それはあなたの電子メールアドレス、またはあなたの名、またはあなたの名のイニシャルとあなたの姓です、またはそれは他のサイトで使用するのと同じハンドルです。ユーザー名とパスワードのcombinationのみが有効なログインです。これは、実際には、1つの長い文字列として「usernamepassword」であるログインを実行でき、同じくらい安全であることを意味します。 Raskinは、OPが主張していることについて、その場合はパスワードだけでよいと主張しました。

The Humane Interfaceのセクション6.4.3のタイトルは「Simplified Sign-ons」で、これについて詳しく説明しています。 (このコメントに返信する人は、私の要約ではなく、ラスキンの説明と議論全体に応答する必要があります。)

Amazonは、2009年末から2010年初めにかけて、「PayPhrase」チェックアウトシステムとして展開しました。 PayPhraseは、チェックアウトを迅速化するために、請求方法と配送先住所に添付された、グローバルに一意の長い文字列でした。また、注文を確認するためにPIN(入力時に非表示の数字)を入力する必要がありました。PayPhraseは、意図的かどうかにかかわらず、Raskinの「簡略化されたサインオン」の実装であり、セキュリティが強化されていますマスクされたPIN=顧客の一意のフレーズのショルダーサーフィンを防ぐためです。これは、唯一の認証メカニズムとしての可視フレーズの弱点を理解したものです。

PayPhraseは1年前に段階的に廃止されましたが、セキュリティは理由として挙げられていませんでした。

6
Vitorio

「パスワード」の一部(最初の1文字または2文字など)を一意にする必要がある場合は、このようなシステムを適切に機能させることができます。好ましくは、その部分は、問題のユーザーアカウントに永久に一意にバインドされる必要があります。たとえば、26を超えるアカウントを決して持たない場合、ユーザー#1のパスワードは「a」で始まり、ユーザー#2のパスワードは「b」で始まることを要求できます。これは、次のようになることを意味します。 4文字のパスワード「magic」は実際には1文字のアカウントID「m」と4文字のパスワード「agic」になりますが、ユーザーは、 2つの部分を順番に。

このアプローチはユーザーには完全に透過的ではありませんが(アカウントIDの最初の文字が何である必要があるかをユーザーに通知されるため)、2を入力する代わりに1つの「Word」を入力するのに便利です。さらに、最初の文字以外のパスコードを自由に変更できるようにします。このアプローチを使用すると、各パスコードの有効強度は、アカウントIDとして使用される文字の数だけ減少しますが、多くの場合、それは問題を引き起こしません。さらに、ユーザー#11のお気に入りのパスワードが「fnord」の場合、この特定のシステムのパスワードとして「kfnord」を使用することもできます。この場合、ログインするために入力する文字数は1文字よりも多くなります。 「本当の」パスワードに含まれる文字の数は増えますが、その余分な文字を入力すると、他の方法でユーザー名を入力する必要がなくなります。

3
supercat

重要な問題は、これには安全でないパスワードの保存やかなり長いログイン時間が必要になることです。パスワードの保存は、パスワードのソルトハッシュである必要があります。ユーザー名を知らなければ、すべてのユーザーに対してパスワードを試さない限り、パスワードが有効かどうかを判断することはできません。少数のユーザーですべてのユーザーに対して試行するのに、それほど長くはかからないかもしれませんが、特に、明確に定義されたパスワードハッシュを実行するには時間がかかるため、ログインプロセスに必要な時間よりも長くかかります。簡単に総当たりすることはできません。

別の方法としては、別のユーザーが説明した最初の数文字を使用するなど、識別子をパスワードに埋め込む方法を見つけることですが、ユーザーがパスワードを取得する必要があるため、何が得られるかという疑問が生じます。完全に選択することはできません(パスワードの先頭に「ユーザー名」が付けられていることはおそらく明らかです)。その時点で、おそらくユーザーにユーザー名を選択させるだけのほうがいいでしょう。両方を1行で入力してもあまり効果はありません。

重要なのは、シークレットはオフライン攻撃に耐性があり、チェックに時間がかかるため、セキュリティの観点から常に識別子とシークレットが必要であることです。ユーザーにわかりやすくするために識別子を暗示する方法はたくさんありますが、それらの多くには独自の欠点もあります。正確なユースケースにもよりますが。

3
AJ Henderson

username+passwordの組み合わせに関しては、これは大きな問題にはなりません。最初のページでは、提案されたアイデアにほぼ等しいすべてのユーザー名がウィンドウに表示されるためです。

5文字の100^5個の異なるパスワードが考えられます。パスワードが一意で5文字で構成されている場合、攻撃者は各試行で検証される可能性が10 out of 100^5ですが、提案されたアイデアでは、ユーザーごとに10ユーザーのネットワークでは1 out of 100^5があります。ほぼ同じ確率。

したがって、最大の問題はユーザー名とパスワードの組み合わせではなく、より大きな問題はKonturと言われます

2
smttsp

基本的に、キーボードを使用してパスワードを入力するという事実を除いて、概念に欠陥はありません。主な問題は、人間がパスワードを入力することであり、人間は物事を自分にとって簡単にする傾向があることです。キーサインインでうまくいきます。キーは、キーボードのパスワードサインインが作成するセキュリティ上の欠陥を克服します。

他のすべてのユーザーのパスワードを確認する必要があるという点では、これを行う必要はありません。単純な一意のハッシュは、ユーザーの代わりにキーの一部から作成できます。ルックアップテーブルはこのハッシュを見つけ、残りのキーを使用してシステムに入ります。このようにして、ハッシュがすでにテーブルにある場合、既存のユーザーのキーをあきらめることなく禁止することができます。

1
cxx6xxc

これが私の2セントです。

パスワードのみでログインするログイン資格情報を使用することは、(他の誰かが言ったように)秘密のユーザー名を持っているようなものです。そうは言っても、ユーザー名を使用したくない場合は、セキュリティを犠牲にすることなくパスワードのみのログインを使用する方法があります。ユーザーがパスワードを入力する前にユーザーのIDを認証する指紋スキャナーを使用できます。または、同じことを行う顔認識をインストールすることもできます。確かに、顔認識技術はまだ初期段階ですが、ユーザー名の代わりになります。

使用している認証方法に関係なく、使用しているテクノロジーを完全に理解していないと、ユーザー名なしのログインシステムでシステム管理の問題が発生する可能性があることに注意してください。あなたが直面する可能性のある影響についての質問はすでに詳細になっています。

1
Miss M

あなたのアイデア(または多分あなたが私が視覚化するのを助けることができる)の問題のみです

-ユーザーはどのように自分を選択してパスワードを入力しますか?

本当に単純化したい場合は、

-Lenovoの顔認識やToshibaの指紋認識などの生体認証ベースの認証を使用します

-特定の方法でドットを結合してログインする3X3マト​​リックス(ハンドヘルドデバイスで使用)

-独自のキーの組み合わせ(両手を使用できると想定して最大6つのキー、両手で同時に3本の指)

0
ripu1581

どのようなサイズのシステムでも、パスワードを推測できる可能性はシステムに登録されている人が使用しているが非常に高いためです。

OK「password」はパスワードとして禁止されているかもしれませんが、「pa $$ Word」ですか?または「pa $$ w0rd」?またはそれらのいくつかのケースバリアント?通常の辞書の単語をパスワードとして使用している人の数(「パスワードの強度」の要件を満たすために、1つの大文字と番号が追加されている場合があります)。特定の既知のログインに対するパスワードとして、辞書の単語(いくつかの大文字と数字を追加)を自動的に試行する攻撃は、多くの場合効果的です。システムのすべてのユーザーに対してこれらの推測を​​本質的に同時に試すことができる場合、成功する可能性は...まあ、事実上1です!

これは、攻撃者がシステムに誰かとしてログオンできる可能性が事実上あることを意味します。したがって、セキュリティを完全に放棄して、だれでも自分の情報にアクセスして変更できるようにすることもできます。これにより、ほぼ確実にユーザー数が減ります。

0
DJClayworth

一部の人々は、ファイルを別々に保つために複数のアカウントを持っていますが、同じパスワードを使用します(セキュリティ上の弱点ですが、1つの良いパスワードは複数の弱いパスワードよりも優れていると言います)。それはそのようなシステムで故障するでしょう。

パスワードは疑似ユーザー名で拡張できますが、それは目的を損なうようです。

0
owenfi

単純化するために、少数のユーザーがこれを実行できなかった理由はわかりません。

ただし、欠点は次のとおりです。

  • ユーザーはパスワードを作成できません。システムまたはシステム管理者は一意のパスワードを生成する必要があります。ユーザーがこれを行うと、衝突する可能性があります。したがって、システム管理者の場合、メンテナンスの問題が発生する可能性があります。たとえば、ユーザーがパスワードを忘れた、または変更したい場合、管理者がパスワードを変更する必要があります。ただし、ユーザー数が少ない場合は、それほど大きな問題ではありません。

  • システム管理者は誰でもログインできるようになります。一般的なユーザー名とパスワードの組み合わせの場合、ユーザー管理者はシステムのすべてのユーザーを知っています。ユーザー名は秘密でも不明でもありません。誰もがお互いのユーザー名をほとんど理解することができます。ネイバーのユーザー名はマスクされていないため、ログインすると気付く場合もあります。それは秘密ではありません。ただし、パスワードは異なります。誰もが自分の小さな秘密、つまりパスワードを持っています。誰もが独自のシークレット(パスワード)を持っているため、管理者は他のユーザーとしてログインできません。したがって、パスワードを使用するだけで、管理者はすべての秘密を知っているか、秘密がなくなります。したがって、管理者は誰にでもなりすますことができます。これが大した問題ではない場合(管理者が神である場合)、あなたが提案するように簡略化できます。ほとんどのシステムでは、これはisが重要です。

したがって、通常、システムログインにはユーザー名とパスワードが使用されます。これは、各ユーザーが自分だけが知っている情報(秘密)を提供できるようにするためです。

パスワードを使用するだけで、ペアレンタルコントロール付きのデバイスの例を挙げます。ペアレンタルコントロールはパスワードのみを使用し、ユーザー名は関与しません。たとえば、小さなジョニーが、ママとパパのクレジットカードの購入に、ゲームSwagでワンクリックの支払いを使用して500ドルを費やすことは望ましくありません。その場合、親だけが秘密のパスワードを知っているので、ユーザー名の入力は重要ではなく、冗長でもありません。

0
Jon Raynor

クリックとデータ入力をパスワードとボタンのみに制限することが目的の場合は、ファミリータイプのログインを設定します。不明なパスワードのアカウントを確認するようなもので、一連の質問に答えてもらいます。質問は、ログインごとにランダムにユーザーに提示されます。彼らがしなければならないすべては彼らの答えを提供することです(彼らはいくつかのパスワード/フレーズを覚えなければならないので悪いですが、良い質問は役に立ちます)

重複した回答を管理するために、ランダムな質問選択アルゴリズムは、家族が正しい回答を提供できなかった質問を除外できます。

もう1つの選択肢は、各名前の横にパスワードボックスとログインボタンがあるすべてのユーザーをリストすることです。親/管理者はこれをオプションとして設定できます。

0
JeffO