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

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

新規登録して質問してみよう
ただいま回答率
85.48%
セキュリティー

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

Webサイト

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

Q&A

解決済

4回答

1242閲覧

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

anonyrabbit

総合スコア78

セキュリティー

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

Webサイト

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

0グッド

1クリップ

投稿2017/02/04 06:04

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

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

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

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

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

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

投稿2017/02/04 12:27

ockeghem

総合スコア11701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2017/02/04 06:35

s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

ID

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

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

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

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


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

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

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

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

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

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

投稿2017/02/04 10:03

編集2017/02/04 10:10
Panzer_vor

総合スコア1636

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

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

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

投稿2017/02/04 10:26

編集2017/02/04 10:29
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/02/05 00:25

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問