自動生成されるIDをパスワードの代わりにユーザに教えればそれでいいのではないかと思うのですがそれではダメなのですか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
結論として、そのような仕様にする場合はあります。ただし、通常自動生成した文字列は、IDとは呼ばず、トークンなどと呼ぶことが多いと思います。
ただ、トークンは8文字英数字程度では、適当に生成した文字列で偶然「誰かに」あたる可能性が出てくるので、トークンとしては数十文字程度の長い文字列が用いられます。こうなると、記憶による運用は不可能ですし、一々コピペするのも面倒なので、以下のようなトークン付きのURLを発行して、アクセスするたびに用いることになります。
https://example.jp/?token=f6ecac9da6de8bfb1dbd8995140aba51d19970ff
そうなると、このURLをどうやって覚えておくかが問題になります。ブラウザのブックマーク機能を使う場合も多いと思いますが、離席中に覗かれるなど、パスワードに比べて安全性が高いわけではなくなります。
また、トークンが何らかの理由で漏洩した場合、なんらかの方法で本人確認(たとえば登録済みメールアドレスで受信できること)した後に「トークンの再生成」が必要になります。トークンがわからなくなった場合にもトークンの再生成は必要です。トークンの再生成には、パスワードリセットのやり方が参考になりますが、結局パスワード方式と実装上の手間はあまり変わらなくなります。
また、トークンは他人に見せてはいけないので、teratailやtwitterなどのように、画面表示上のユーザIDとして用いることはできません。トークンとは別に「ニックネーム」を設けてもいいのですが、そうすると、トークンよりもニックネームの方がユーザIDに近い性格をもつようになってしまいます。
このように、トークン方式は、汎用性を高めようとするとパスワード方式に比べて簡便とはいえず、その割に安全性も高いとは言えないところが難点です。
以上のような理由から、トークン方式は、一時的にアクセス権限を与えるような応用には用いられますが、teratailのように長期間ユーザ識別をおこなうような目的には向かないわけです。そのため、一般的にはパスワード方式が用いられることが多いのです。つまり、パスワード方式は、欠点はあるものの、総合的に見ると汎用性の高い優れた方法であり、そのために広く使われているのです。
投稿2017/02/04 12:27
総合スコア11701
0
安易なパスワードが設定されることを防ぐために、パスワードを自動で発行してそれをメールなどで送信するという方法もありだと思います。しかし、自動生成するパスワードが悪意のある人に推測されてしまった場合などを考慮して、ユーザーにパスワードを設定させて、もしユーザーが安易なパスワードを設定しようとしたらそのパスワードを設定することを拒否する、パスワードを自動で発行するとしても、ユーザーがログインしたときに初期パスワードを使っていたらパスワードの変更をうながすなどの方法をとったほうが良いと思います。
投稿2017/02/04 06:35
総合スコア14731
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
IDとパスワードのそれぞれの役割はセキュリティ上は明確に区別されるべきです。
以下にそれぞれの役割を当方なりの解釈を記載します。
(※Wikiとかの定義抜粋ではないので間違ってる部分はあるかもですが・・・)
ID
システムの公式の利用者であることを認可することが主な役割です。
IDは元来上記の目的であることから、
そのIDが間違いなく最初にID登録者(または申請者)が利用していることを担保することまでは範疇外となります。
#パスワード
IDの利用者が間違いなく本人であることを検証することが主な役割です。
IDが万一他の者に盗み見られたりしても、
本人しか知らないパスワードで保護されている限りは、
本人以外が正式な方法でログインするなりすまし行為を防御することができます。
さてここでパスワードは必要かという本題に戻ります。
パスワードがない場合の問題点ですが、
パスワードの説明でも書いた通り、
ソーシャルエンジニアリングなど(一番簡単なのは、利用してる所を後ろから盗み見る)でIDを他人に知られた場合、他人によるIDの不正利用を防御する手立てがないことが大きいです。
更にいうと、
不正利用なのに正式なシステム利用者としてログインできるというおまけ付きです。
不正利用者からすれば、
なりすましがかなり簡単。勝ったな、ガハハってやつです。
そのため、一般的には利用者本人しかしらないパスワードとというおまじないを用意して、
簡単には不正利用できない仕組みを作っている訳です。
ただパスワードを用意するだけで全ての不正利用を防御できるか?、と尋ねられたら答えはNOとなります。
そこは今回の質問主旨から外れてくるので、興味があればセキュリティ対策について掘り下げて調べてみてくださいね。
投稿2017/02/04 10:03
編集2017/02/04 10:10総合スコア1636
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
個人を識別する ID は別にあり、パスワードを自動生成したものを使用してはどうかという質問と認識して回答します。認識は正しいですかね?
パスワードを自動生成して、初期パスワードとして配布するサイトがあるので、anonyrabbit さんの発想はあながち間違いとは言えないと思います。
が、主にパスワードに対しての責任を誰がもつかという観点で、パスワードはユーザが設定するように促すべきだと思います。
例えば、パスワード発行のアルゴリズムに不具合があって、発行したパスワードが推測できるとか、初期パスワードを何らかの形でユーザへ伝える必要がありますが、その手段に不手際があったとか、そういったトラブルの責任を回避するためです。
最近、自分でパスワードを覚えなくて良い仕組みが出回っているので、個人的にはランダムに配布したパスワードの方が、セキュリティ強度は高い気もしますが、責任をとることを考えると、ユーザに任せる方がサービス運用のリスクは低いと考えます。
パスワード管理方法が進化すると、anonyrabbit さんの考える方式のほうが主流になるかもしれないですね。
投稿2017/02/04 10:26
編集2017/02/04 10:29退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。