質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.32%

  • Webサイト

    1133questions

    一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

  • セキュリティー

    476questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Webアプリでログイン時のパスワードの必要性について

解決済

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 561

anonyrabbit

score 53

自動生成されるIDをパスワードの代わりにユーザに教えればそれでいいのではないかと思うのですがそれではダメなのですか。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

checkベストアンサー

+7

結論として、そのような仕様にする場合はあります。ただし、通常自動生成した文字列は、IDとは呼ばず、トークンなどと呼ぶことが多いと思います。
ただ、トークンは8文字英数字程度では、適当に生成した文字列で偶然「誰かに」あたる可能性が出てくるので、トークンとしては数十文字程度の長い文字列が用いられます。こうなると、記憶による運用は不可能ですし、一々コピペするのも面倒なので、以下のようなトークン付きのURLを発行して、アクセスするたびに用いることになります。

https://example.jp/?token=f6ecac9da6de8bfb1dbd8995140aba51d19970ff

そうなると、このURLをどうやって覚えておくかが問題になります。ブラウザのブックマーク機能を使う場合も多いと思いますが、離席中に覗かれるなど、パスワードに比べて安全性が高いわけではなくなります。
また、トークンが何らかの理由で漏洩した場合、なんらかの方法で本人確認(たとえば登録済みメールアドレスで受信できること)した後に「トークンの再生成」が必要になります。トークンがわからなくなった場合にもトークンの再生成は必要です。トークンの再生成には、パスワードリセットのやり方が参考になりますが、結局パスワード方式と実装上の手間はあまり変わらなくなります。
また、トークンは他人に見せてはいけないので、teratailやtwitterなどのように、画面表示上のユーザIDとして用いることはできません。トークンとは別に「ニックネーム」を設けてもいいのですが、そうすると、トークンよりもニックネームの方がユーザIDに近い性格をもつようになってしまいます。

このように、トークン方式は、汎用性を高めようとするとパスワード方式に比べて簡便とはいえず、その割に安全性も高いとは言えないところが難点です。

以上のような理由から、トークン方式は、一時的にアクセス権限を与えるような応用には用いられますが、teratailのように長期間ユーザ識別をおこなうような目的には向かないわけです。そのため、一般的にはパスワード方式が用いられることが多いのです。つまり、パスワード方式は、欠点はあるものの、総合的に見ると汎用性の高い優れた方法であり、そのために広く使われているのです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+7

安易なパスワードが設定されることを防ぐために、パスワードを自動で発行してそれをメールなどで送信するという方法もありだと思います。しかし、自動生成するパスワードが悪意のある人に推測されてしまった場合などを考慮して、ユーザーにパスワードを設定させて、もしユーザーが安易なパスワードを設定しようとしたらそのパスワードを設定することを拒否する、パスワードを自動で発行するとしても、ユーザーがログインしたときに初期パスワードを使っていたらパスワードの変更をうながすなどの方法をとったほうが良いと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

IDとパスワードのそれぞれの役割はセキュリティ上は明確に区別されるべきです。

以下にそれぞれの役割を当方なりの解釈を記載します。
(※Wikiとかの定義抜粋ではないので間違ってる部分はあるかもですが・・・)

 ID

システムの公式の利用者であることを認可することが主な役割です。

IDは元来上記の目的であることから、
そのIDが間違いなく最初にID登録者(または申請者)が利用していることを担保することまでは範疇外となります。

パスワード

IDの利用者が間違いなく本人であることを検証することが主な役割です。

IDが万一他の者に盗み見られたりしても、
本人しか知らないパスワードで保護されている限りは、
本人以外が正式な方法でログインするなりすまし行為を防御
することができます。


さてここでパスワードは必要かという本題に戻ります。

パスワードがない場合の問題点ですが、
パスワードの説明でも書いた通り、
ソーシャルエンジニアリングなど(一番簡単なのは、利用してる所を後ろから盗み見る)でIDを他人に知られた場合、他人によるIDの不正利用を防御する手立てがないことが大きいです。

更にいうと、
不正利用なのに正式なシステム利用者としてログインできるというおまけ付きです。
不正利用者からすれば、
なりすましがかなり簡単。勝ったな、ガハハってやつです。

そのため、一般的には利用者本人しかしらないパスワードとというおまじないを用意して、
簡単には不正利用できない仕組みを作っている訳です。

ただパスワードを用意するだけで全ての不正利用を防御できるか?、と尋ねられたら答えはNOとなります。

そこは今回の質問主旨から外れてくるので、興味があればセキュリティ対策について掘り下げて調べてみてくださいね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

個人を識別する ID は別にあり、パスワードを自動生成したものを使用してはどうかという質問と認識して回答します。認識は正しいですかね?

パスワードを自動生成して、初期パスワードとして配布するサイトがあるので、anonyrabbit さんの発想はあながち間違いとは言えないと思います。
が、主にパスワードに対しての責任を誰がもつかという観点で、パスワードはユーザが設定するように促すべきだと思います。

例えば、パスワード発行のアルゴリズムに不具合があって、発行したパスワードが推測できるとか、初期パスワードを何らかの形でユーザへ伝える必要がありますが、その手段に不手際があったとか、そういったトラブルの責任を回避するためです。

最近、自分でパスワードを覚えなくて良い仕組みが出回っているので、個人的にはランダムに配布したパスワードの方が、セキュリティ強度は高い気もしますが、責任をとることを考えると、ユーザに任せる方がサービス運用のリスクは低いと考えます。

パスワード管理方法が進化すると、anonyrabbit さんの考える方式のほうが主流になるかもしれないですね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/05 09:25

    マイナスの理由が知りたいです。質問を取り違えているという判断なのか、パスワードに対する考察に問題があるという判断なのか。
    マイナス入れた人、コメント追記していただけると幸いです。

    キャンセル

同じタグがついた質問を見る

  • Webサイト

    1133questions

    一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

  • セキュリティー

    476questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。