<SSLの目的とするところ>
SSLとは通信プロトコルの一種で、ウェブサーバ側にVeriSignなどの事業者から購入したサーバ証明書を設定すると、ユーザとウェブサーバ間でSSL通信が可能となります。ユーザにとってのメリットは、次のようなものです。
1.ユーザが申し込みフォームのページにアクセスした際、サーバ側に設定されたサーバ証明書を確認できます。サーバ証明書を確認できるというのは、サーバ証明書にはサーバのドメイン名やウェブサイトの運営者の情報が入っているため、目的のウェブサイトであることを確認できます。これで、ユーザはアクセスしたサイトがフィッシングサイトのように成りすまされたサイトかどうか判断することが可能になります。
2.ユーザが申し込みフォームのページにアクセスした際、そのページの内容やユーザの入力送信情報が全て暗号化されます。これで、ユーザは安心して入力情報を送信することが可能になります。
※ただしユーザが1の確認をした上で目的のサイトにアクセスしている場合に限ります。もしユーザが成りすましサイトにアクセスしていたら、入力情報の送信データが暗号化されていたとしても個人情報などはそのまま成りすましサイト運営者に盗まれてしまいます。
というようにユーザを保護するために導入するのがSSLです。よくウェブサイト運営者側を守るためにSSLを導入するという発想をしがちですが、実際にSSLで守られるのはユーザ側です。飲食店で食中毒を発生させないよう衛生に注意を払うのと同じ考え方です。サーバ証明書は、発行している事業者によっていろいろな種類がありますから、ユーザを守るという観点でどのサーバ証明書にするか決めましょう。
<SSLの適用範囲>
・ユーザとサーバ間が保護されます。
・PHPより手前のセッションレイヤのレベルで保護されます。つまり必ずSSLの処理がされた後にPHPの処理がされます。ただし、SSLとPHPは全く別の処理ですので、お互いに意識する必要はありません(依存関係はありません)。
<メールはSSL範疇外>
「内容的にはフォームに入力したものをメールで受け取る」とありますが、メールはSSLの範疇外ですので保護されません。PHPからインターネット経由でメールを受信する場合は、そのメールは保護されない状態でインターネットを流れるわけですから、ユーザの個人情報が漏洩する可能性があります。
※インターネットを経由せずLAN内に閉じてメール受信する場合などは安全とは言い切れないものの、第三者に情報漏えいすることはないと思われます。
<PHPで個人情報を受け付けた後の対策>
・メールをS/MIMEというメッセージフォーマットで暗号化する方法がありますが、そういうアプリケーションを開発する必要があります(かなり大変だと思います)。
・PHPで個人情報を暗号化してメール送信する方法がありますが、PHPに詳しくないので具体的な方法はわかりません。ただし受信する側で暗号化データを復号するためのツールを別途用意する必要があります。
・他に容易な方法があればよいのですが、思いつきません。
というわけで中途半端な解説になってしまい申し訳ありません。
補足
回答ありがとうございます。 本当に個人情報うんぬんと言われるのなら、何か対策をしなければなりません。とありますが、具体的にはどのような手法があるのでしょうか? 一般的にSSLのページでは、管理者はどのように情報を受け取るのでしょうか?