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

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

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

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Q&A

解決済

5回答

1121閲覧

データベースにパスワードをそのまま保存してもいいのか

Quad

総合スコア18

セキュリティー

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

0グッド

0クリップ

投稿2019/04/28 04:15

ユーザーをユーザーの名前+パスワードで管理しようと考えています。
データベースにユーザーの名前とパスワードを保存し、それを使ってログインするのはセキュリティ上駄目なことなのでしょうか。
作ろうとしているサービスはお金に関連することは全くなく、不正ログインをするメリットもなく、不正ログインされても特に困ることもないのですが、それでも単純にデータベースにパスワードを保存することは絶対にやってはいけないのでしょうか。

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

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

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

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

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

guest

回答5

0

だめです。

そもそもその程度のサイトであれば、パスワード不要にしましょう。

多くの人は、同じIDとパスワードを使い回しています(そうするなと、注意されていますが)ので、
あなたのサイトから流出したIDとパスワードで、別の重要なサイトにログインされて損失が出た場合、原因があなたのサイトからの流出だと判明すれば、「通常行うべき防御策を行っていなかった」ということで、過失があったと言うことで責任を問われ、損害賠償を求められてもおかしくありません。
「通常行うべき防御策」をきちんとやっていれば、少なくとも過失は無いです。

投稿2019/04/28 04:25

otn

総合スコア84555

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

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

Quad

2019/04/28 04:26

ありがとうございます。
guest

0

ベストアンサー

作ろうとしているサービスはお金に関連することは全くなく、不正ログインをするメリットもなく、不正ログインされても特に困ることもないのですが、それでも単純にデータベースにパスワードを保存することは絶対にやってはいけないのでしょうか。

そのとおり、絶対にやってはいけないことだと思います。

質問者さんの作るサイトはともかく、ユーザーが ID とパスワードを使い回していて、漏洩すると重大な問題を引き起こすことになるかもしれないということも考えるべきだと思います。

パスワードを DB に保存するなら、全ての情報が漏洩しても簡単には解読できないように、ハッシュ、ストレッチング等の手段をきちんと組み込んだ方がよさそうです。

【追伸】

参考になりそうな記事を紹介しておきます。

本当は怖いパスワードの話 (1/4)
https://www.atmarkit.co.jp/ait/articles/1110/06/news154.html

投稿2019/04/28 04:23

編集2019/04/28 04:34
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Quad

2019/04/28 04:25

ありがとうございます。 聞いていなかったら本気でやるところでした。
退会済みユーザー

退会済みユーザー

2019/04/28 04:35

参考になりそうな記事の URL を上の質問欄に追記しておきましたので、読んでいただければと思います。
guest

0

それでも単純にデータベースにパスワードを保存することは絶対にやってはいけないのでしょうか。

「他のサービスにログインさせるためのパスワードを預かる」などの場合(これも、できればやらないほうがいいでしょう)を除けば、自分のサイトで認証を行うためのパスワードは、生の値を記憶させる必要がないものです。

PHPの標準関数にあるpassword_hash/password_verifyの組のように、パスワードを不可逆にハッシュ化しても認証は可能です。

一方で、生のパスワードを格納していると、流出したときのリスクがあります。自サイトには「不正ログインされても特に困ることもない」のかもしれませんが、パスワードの使い回しがまかり通っている以上、流出したパスワードで他のサイトに入られて被害が出る、という事態も考えられます(適切にハッシュ化していれば、そこから元のパスワードを復元するには、辞書攻撃できる場合を除いてパスワード1つあたりに相応な計算量が必要になります)。必要もないのにそのようなリスクを抱え込むだけの合理的な理由はないでしょう。

投稿2019/04/28 04:24

maisumakun

総合スコア145184

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

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

Quad

2019/04/28 04:26

ありがとうございます。
guest

0

世の中にそんなシステムは結構あるのじゃないかとは思いますが、
すべきではないでしょう。

お金に関する事が無くても、そのシステムを利用している方々の情報流出リスクがあります。そういう情報は、単独で意味無くても、他の情報と組合せる事で、意味を持つ場合が、多々あります。少なくとも、パスワード管理されていると利用者に意識されている事は、保護されいているシステムとの認識も持たれます。
責任を持って管理するならば、絶対におこなってはいけないでしょう。

最低限でも暗号化ですね。どこまでするかはリスク管理ですが、
鍵の掛かっている自転車と鍵の掛かっていない自転車のどちらが盗まれやすいかです。 また、捨てような自転車でも泥棒の足に使われる事があります。
(昔、本当に使われた、、、近くの駅にあった。)

投稿2019/04/28 04:31

pepperleaf

総合スコア6383

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

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

Quad

2019/04/28 04:33

ありがとうございます。
guest

0

  • パスワードの安全な保存方法

https://www.deep-rain.com/web/security-web/1035

...
Twitter社がパスワードを平文でログに吐いていたという話は記憶に新しく、内部での漏洩とはいえ重大な事件として話題になりました。
...
共通のパスワードを利用しているユーザーもいるはずです。
そうなると、平文のパスワードとユーザーIDとして扱われやすいメールアドレスなどが見える状態にあるのは非常に好ましくありません。
...
たとえ内部での漏洩であったとしても、内部の人員が絶対的に信頼できるような状況でなければ大きな問題となります。
...
Webサービスやその他のアプリケーションでは、情報が漏洩したときに最もダメージが少ない手段を採択して運用していくことが唯一の解となるのです。
...

内部のシステム管理者でさえも、お客様のパスワードがわからないようにしておくことが重要です。

  • パスワード保存方法の過去と現在そして未来

http://kengos.jp/2015/09/13/password.html

  • Djangoはパスワードをどうやって保存しているのか

https://medium.com/creditengine-tech/django%E3%81%AF%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E3%81%A9%E3%81%86%E3%82%84%E3%81%A3%E3%81%A6%E4%BF%9D%E5%AD%98%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B-64a4b38904ff

暗号化をする場合、自分でアフトリズムをつくったりせず、信頼性が高ツールを利用すべきです。

投稿2019/04/28 10:16

編集2019/04/28 10:17
katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問