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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

2回答

1394閲覧

パスワードと個人情報の扱いについて教えてください。

chapp

総合スコア233

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

5クリップ

投稿2020/02/29 14:23

編集2020/02/29 15:29

お世話になります。
MySQLとPHPとの組み合わせで色々なサイトを作っていますが、表題にあるパスワードを個人情報の扱いについて教えてください。

と申しますのも、これまで個人情報とパスワードを同じテーブルに入れていました。

例えばこんな感じ。

user_TABLE
no id password mail name address

以前、どこかの大手サイトでパスワードが暗号化されず保存されていたことがニュース等で取り上げられていたことを思い出し、暗号化の見直しを行っていたところです。

ここで質問させてください。

上記のようなテーブルだと、データが漏洩したらパスワードを暗号化したところで、全く意味がないと思ったのですが、どう思われますか?

また、パスワードと個人情報を別のテーブルに別けると暗号化するメリットは出てくるものの、パスワードが漏洩したら、個人情報のテーブルも漏洩しそうですが、どうなのでしょうか?(要はパスワードのテーブルだけでなく他の多くのテーブルも被害に遭うのでは?という不安があっての質問です)

これまで上記のようなテーブルで構築してきたわけですが、パスワードと個人情報を別のテーブルにする場合、

auth_TABLE
no password

user_TABEL
no auth_no mail name address

といった別け方くらいしか思いつかないのですが(auth_TABELのnoとuser_TABELのauth_noが積紐付く)、不適切と思われましたら、こちらも併せてご指摘いただければと考えております。

お忙しい中恐縮ですが、アドバイスのほど宜しくお願いいたします。

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

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

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

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

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

m.ts10806

2020/02/29 20:29

「セキュリティ」タグをつけておいてください。MySQLやPHPに限った問題ではありません。
guest

回答2

0

ベストアンサー

多分以下の質問が参考になるかと。
暗号化すべき情報とは?

事実上、パスワードをハッシュ値として保存することと、個人情報の暗号化は全く別のレイヤーで語られるべき内容です。

また、直接の回答にはなりませんが、DB で機密情報を取り扱う際の設計として、以下の記事も参考になると思います。
Amazon RDS で機密データを保護するためのベストプラクティスの適用
Amazon RDS リソースの暗号化

投稿2020/02/29 21:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

chapp

2020/03/01 02:13

te2jiさん 貴重なアドバイスをありがとうございます。 またご紹介いただいた質疑のやりとり、大変興味深いものでした。ありがとうございます。 te2jiさんが質問されているのですね。質の濃い内容とは言えte2jiさんは、いつもアドバイスする側の人だと思っていたので、少し意外でしたが、勉強意欲のある人だと感じ頭が下がる思いです。 話が脱線しましたが、貴重なアドバイスをありがとうございました。 リンクを読み直し、理解を深めないと思います。 m.ts10806さんの回答含め、とても勉強になりました。
guest

0

データが漏洩したら

リスク分散を、という考え方は良いですが、そもそも漏洩させない仕組みをアプリケーション側で構築すべきかと思います。
DBはあくまでデータ保管庫です。
取り扱うアプリケーション側に問題があればどんな形に分けても同じです。
IPA:安全なウェブサイトの作り方

投稿2020/02/29 20:28

m.ts10806

総合スコア80765

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

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

chapp

2020/03/01 02:05

m.ts10806さん 貴重なアドバイスをありがとうございます。 「そもそも漏洩させない仕組みを」 「DBはあくまでデータ保管庫」 「問題があればどんな形に分けても同じ」 仰る通りですね。 リンクの紹介もありがとうございます。 熟読し、理解を深めたいと思います。 アプリケーションの設計も含め、見直したいと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問