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

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

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

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

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

Q&A

解決済

4回答

4769閲覧

メールアドレスの暗号化は必要でしょうか?

shingo.nick

総合スコア8

セキュリティー

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

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

3グッド

3クリップ

投稿2023/01/27 07:45

よくある形態のWebメディアを開発しており、
キャンペーンやメルマガの配信にメールアドレスを収集しております。
※メールアドレスで会員登録しています

データベースに保存する際、メールアドレスを暗号化するのは一般的なのでしょうか?
上司から「メールアドレスは個人情報だから暗号化して保存しないと」と言われたのですが、
これまで上場企業のシステムなど複数携わったことがありますが、
会員登録時にメールアドレスを暗号化して保存しているシステムに出会ったことがありません。

「暗号化しないよりはした方がいい」というのは分かりますが、
複合化や検索時のデメリットを考えると「本当に暗号化する必要性はあるのだろうか?」と思ってしまいます。

私のセキュリティ感覚に問題があるのか、今回がレアケースなのか、
皆さんのご経験などを踏まえてご教授頂けますと幸いです。

glyzinieh, Sayappi, ikedas👍を押しています

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

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

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

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

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

yuma.inaura

2023/01/27 07:47

今までそういうシステムは見たことないです
Zuishin

2023/01/27 08:32

メールアドレスが個人情報にあたらないケースも多くありますが、個人情報にあたるメールアドレスは収集していないと確認できないのであれば個人情報として扱うのが適当であろうと思います。 個人情報は「用途外の使用をしない」「他者に漏らさない」「安全に取り扱う」ことが求められており、「どこまでが安全か」という範囲は取り扱う人に任されています。 つまり暗号化しなくても安全なのであれば暗号化する必要はありません。 しかし、仮に漏洩した場合、それでは安全ではなかったということになります。 その責任を取るのは誰でしょう? 上司がせよというのであれば、言う通りにすることによって責任のすべてを丸投げすることができます。 暗号化に工数つまり費用がかかるのであれば、その責任を取るのも上司の役目です。
shingo.nick

2023/01/27 13:26

>yuma.inaura ご回答ありがとうございます。 見たことない方がいて安心いたしました。 >Zuishin ご回答ありがとうございます。 暗号化の工数とセキュリティリスクを天秤にかけて上司と交渉したいと思います。
guest

回答4

0

ベストアンサー

メールアドレスはそれ単体では個人情報には当たらないケースが多いと思います。
同一メールアドレスは不可としても、1人で複数持つことも可能ですし、メールアドレスだけで個人の特定は難しいからです(@以前が明らかに名前っぽいというのはあり得ますが、基本「他の何かと組み合わせることで個人情報となる情報」という認識)

まぁ上司の言い分や業務の都合もあるでしょうし、きちんとヒアリングした上で「そういう要件」として対応するのもありなんじゃないでしょうか。

投稿2023/01/27 08:08

m.ts10806

総合スコア80705

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

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

shingo.nick

2023/01/27 13:33

ご回答ありがとうございます。 「メールアドレスを暗号化するのは常識」という意見がなかったので少し安心しました。 今回はそういう案件として調整したいと思います。 >ただ、この手のものは近々新設される機能「意見交換」にすべきでしょうね。 >https://blog.teratail.com/entry/release-discussion 失礼致しました、こちらでの投稿は不適切でした。 ご指摘ありがとうございました。
m.ts10806

2023/01/28 03:33

暗号化してるプロジェクトに入ったことはありますが、メールアドレス検索はなかったですね。プロジェクトの方針なんでしょう(元々できあがったシステムなどは触ることはない領域)
guest

0

実務的には、メールアドレスを暗号化するケースはほとんどないと思います。
たとえば、Backlogなどのサービスを提供しているヌーラボ社はセキュリティホワイトペーパーを公開していますが、以下のように記載しています。メールアドレスは暗号化していないことになりますね。

・データベースに保管される、利用者の各種情報 (氏名、メールアドレス等) は、暗号化されませんが、適切なアクセス権のもとで保管されます。
・パスワードは、不可逆暗号化 (ハッシュ化) された状態で保管されます。
https://nulab.com/app/assets/pdf/NulabInc_Security_WhitePaper_latest.pdf より引用

どうしても「暗号化」したい場合、「暗号化したことにする」ソリューションとして以下が用いられます。

  • データベースの透過的暗号化(TDE)
  • ハードディスク暗号化

これらはアプリケーション的には容易に実装できますが、その代わり、効果はそれほど見込めません。このあたりの事情については以下の動画にて解説しています。

データベース暗号化の方式と目的
Club MySQL #5 ~SQLデータベースのセキュリティ

現実問題として、質問者さんも書かれているように、メールアドレスは検索キーになるものであるので暗号化は難しいです。
ということで、実務的にはメールアドレスは暗号化しないか、透過的暗号化でお茶を濁す場合が多いかと思います。

投稿2023/01/27 14:08

ockeghem

総合スコア11697

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

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

shingo.nick

2023/01/30 07:57

事例や詳細な内容を教えて頂きありがとうございます。 動画もとても参考になりました。 実務的な面を踏まえるとメールアドレスの暗号化は辛い場面がございますので、その点踏まえて上司と調整したいと思います。
guest

0

データベースに保存する際、メールアドレスを暗号化するのは一般的なのでしょうか?

国内は分かりませんが、米国系のC向けのサービスで会員数がとても多いサービスは一部暗号化する流れになっていると感じます。

データベースのメールアドレスを暗号化する大きなメリットとして、SQLインジェクション等でデータベースのデータを全てぶっこ抜かれた場合の損害を軽減できる可能性が高まります。

DynamoDBやFirestore, マイクロサービス化されたアプリのデータベース(=アプリケーションがインターネットに直接露出していないもの)のメールアドレスはソフトウェア上では平文で保管することもリスクとして許容されることがあります。(交渉した経験あり)
これらはSQLインジェクション等で一気に1000万件のデータを抜かれる危険性が相対的に低いためです。
もちろん全くないわけではありませんが、1000万件のメールアドレス大量流出を1~10万件程度に被害が抑えられる可能性が高くなります。

ハッシュ化されたメールアドレス値を別途持つだけでは平文と比べて検索性が低くなる(例: お客様から「昔のメールアドレスでログインできない」のようなお問い合わせがあった時に前方一致やドメインでの検索ができない)ので、機能設計する際に追加で考慮したりステークホルダーと事前にできないことの合意しておくことが増えます。
そして暗号化の強度によっては一斉大量配信する際に瞬発的にかかる復号負荷や速度がネックになる可能性があります。

サービスのユーザー規模によっては全く割に合わないと思いますので、サービスが拡大するまでは個人情報漏洩保険 + WAFや脆弱診断等を多層に組み合わせる方が現実的な選択になるかと思います。

[参考]
メールアドレスは含まれていないようですが、個人情報を暗号化したRealworld exampleになります

(アメリカGSA庁傘下の下部組織?の18F Ruby実装は app/services/encryption とかにあります)

投稿2023/01/31 16:28

evalphobia

総合スコア16

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

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

0

SNSでメールアドレスを暗号化しているものあります。いまはどうだか、バージョンアップしているので

投稿2023/01/31 00:09

YA-METAL

総合スコア42

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

関連した質問