皆様こんにちは。
メールの処理でよく、
①フォームへ個人情報を入力
②確認画面⇒入力内容をmb_send_mailにて送信
③管理者がメーラーでお問い合わせ内容を確認
という処理を見ますが、
少し前までは「SSLが導入されていない場合、改ざんしほうだい」という認識でした。
しかしよく考えてみると、SSL導入されたサイトでも、サーバー側にPOSTされるまでは安心ですが、その後phpでmb_send_mailでユーザーにメールが届くまでの内容は、容易に傍受されてしまうのではないでしょうか?
上記が正しい場合、phpの機能で、平文以外で送信する方法がありましたらご教授くださいm(__)m
初歩的な質問ですみませんm(__)m
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
質問の内容は一般的な、よくある話だとは思いますが、
少し前までは「SSLが導入されていない場合、改ざんしほうだい」という認識でした。
これも常識的な話ですが、「改ざんしほうだい」というのもややバランスを欠いた認識であるように思います。「なら、あなたは、できるのですか」と質問したい気分です。
mb_send_mailでユーザーにメールが届くまでの内容は、容易に傍受されてしまうのではないでしょうか?
これも、何をもって「容易に傍受」と言うか次第です。
通常のメールは意外に機密情報が飛び交っています。平文メールで個人の連絡先を送付することは普通にあります。
また、GoogleやFacebook、Amazon等のメジャーサービスのパスワードリセットはメールで行います。メールが「容易に傍受」できるのであれば、それはとんでもない話です。にも関わらず「メールでパスワードリセットしても良い」と認識されているのは、「メールには盗聴のリスクはあるが、そんなに簡単に盗聴できるわけでもない」という認識だからだと思います。
メールが平文通信だから盗聴できるというのはよく聞く話ですが、最近は「メールは平文通信」というのも常識ではなくなりつつあります。端末からメールサーバーへの通信はTLSで行うことが一般的になりつつありますし、メールサーバー(MTA)間もTLS化しようという動きがあり、こちらはGoogleが音頭を取ってやっています。メールの相手が想定できるのであれば、通信路上の盗聴をかなり防ぐことができるようになっています。とはいえ、不特定とのメールであれば、そこまでの想定はおきにくいかもしれませんね。
一方、メールの送信がバケツリレー方式であるために、メールが中継される経路のメールサーバー(MTA)管理者が悪意を持てば、メールの盗聴は比較的容易です。したがって、メールサーバー管理者の悪意をどこまで想定するという問題があります。
一方、前述のように、平文メールでけっこうな機密情報が飛び交っているという現状もあります。これは、先に述べたように、「メールは盗聴のリスクはあるが、現実には盗聴されるケースは少ない」ということで、運用上リスクを許容していることになります。
このような背景を踏まえ、問い合わせの内容等から、リスクを分析して、暗号化の必要があるかどうかを決めることになります。問い合わせがメールでも行っているようなものであれば、ウェブフォームからのメールを暗号化するまでもないという判断もありえます。
私はセキュリティの会社を経営しているので、お客様が望めば問い合わせを暗号化できるようにPGP公開鍵を問い合わせフォームからダウンロードできるようにしています。しかし、そのPGP鍵を使って暗号化メールで問い合わせが来たケースは1件もありません。PGP暗号化はめんどうくさいですからね。
これは、お客様から弊社へのメールなので、PGPの公開鍵を公開して、復号鍵は弊社内に保存しているわけで運用はまだ容易ですが、一方、お客様に送付するメールの場合は、PGP鍵をお客さまに用意して頂く必要があります。業務のやりとりをPGP暗号メールで行うケースは、皆無ではありませんが、極めて稀なケースです。
いろいろ書きましたが、
- メールの暗号化にはS/MIMEやPGPなどがあるが、基本的に鍵はメールの受取側に用意していただくべきものである
- 原則を曲げて暗号鍵を送付元が用意したとしても、その鍵を安全に届ける手段が難しい
という問題があります。
なので、現実的な妥協点としては、以下が考えられます。
- メールでは「問い合わせを受け付けました」という旨のみを連絡し、問い合わせ内容(秘密情報)はメールには書かない
- 問い合わせフォームに「問い合わせ内容はメールにて折返し連絡するので、メール送信ができない内容があれば別の手段で問い合わせてください」などを注意書きをする
あるいは、ユーザー登録をしてもらって、内容はTLS暗号化したウェブサービスでやりとりする案も考えられますが、こうなるとウェブフォームの範疇を超えてしまいますね。
投稿2018/10/16 09:20
総合スコア11701
0
その後phpでmb_send_mailでユーザーにメールが届くまでの内容は、容易に傍受されてしまうのではないでしょうか?
電子メールとは、そういうものです。俗に「バケツリレー」と呼ばれるように、どこにあるのかも知らないサーバを経由して送信されうるものですので、正しく届くか、改ざんされないかなど、何も保証されません。
phpの機能で、平文以外で送信する方法がありましたらご教授くださいm(__)m
S/MIMEなど、メール上で暗号化を実現する規格もありますが、相手が鍵を用意しなければならない以上、一般的な用途には向きません。
投稿2018/10/16 05:35
総合スコア145121
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。