SSL通信のhttpsへPOSTする場合、
セッション確立前なので、
暗号化されていないと思っていたので、
私がログインページなどを作る場合、
httpsのページに一旦アクセスさせてから、
そこにログインフォームを作っていました。
しかし、知人の話によると、httpsへPOSTされるデータは、
どこからとも関係なく、すでに暗号化されているので、大丈夫といわれました。
SSLにおいてHandshake(SSLのセッション確立)が完了した後のクライアント(ブラウザ)と
サーバ(Webサーバ)間の電文はすべて暗号化されると認識していたのですが、
違ったのでしょうか?
http://www.hatena.ne.jp/1095416919#
暗号化されていない、httpのページから、 SSL通信のhttpsへPOSTする場合、 セッション確立前なので、 暗号化されていないと思っていたので、 私がログインページなどを作る.. - 人力検索はてな
サーバーとクライアントとの間は、HTTP・HTTPS共に常時繋がっているわけではありません。
クライアントからサーバーに対してリクエスト(GETやPOST)を送り、初めて接続されます。
で、サーバーからクライアントに対してリクエストに対する返事(HTMLデータの受け渡しやエラーを返す等)が終わればそれで切断されます。
つまり、リアルタイムに通信しているわけではないので、「暗号化なし」で表示させたフォームから「暗号化あり」の領域にPOSTしても、「暗号化あり」で表示させたフォームから「暗号あり」の領域にPOSTしても、どちらも暗号化されていることになります。
SSLのセッションが確立されるのは、リクエストを送ったときです。
で、終われば切れます。
多くのサイトでフォームの時点でSSLのページを使用しているのは、見に来たユーザーに対して暗号化していることを知らせて安心させるためです。(Keijiroさんのように考えて、フォームもSSLで表示させないといけないと思っている場合もあると思いますが)
なるほど!
すご〜くよく分かりました。
ありがとうございます!
> 見に来たユーザーに対して暗号化していること
> を知らせて安心させるためです。(
ネット銀行系などが、httpsのフォームを使っていたので、
間違いないと思っていたのですが、
私の考え方が違っていたんですね ><;;