• 締切済み

非SSLページからSSLページへの遷移時の暗号化

cyanberryの回答

  • cyanberry
  • ベストアンサー率50% (117/230)
回答No.1

入力フォームはSSLページでなければいけません。 SSLの暗号化のやり取りは簡単に説明するとに以下のような感じになります クライアント:SSLの接続要求(httpsでリクエストする) ↓ サーバ:サーバ証明書を返す ↓ クライアント:サーバ証明書を検証し問題なければ共通鍵を生成しサーバの公開鍵で暗号化した上サーバに渡す ↓ サーバ:受け取った共通鍵を秘密鍵で復号する ↓ 以降サーバ・クライアント双方で、共通鍵で暗号化・復号を行いながら通信する 上記のとおりクライアントからのSSL接続要求を行った後に初めて暗号化通信を行う準備が整うので、入力フォームが表示される段階でSSLページになっていないと意味がありません。 もし、入力フォームが非SSLページの場合、最初の「クライアント:SSLの接続要求」の段階ではデータは暗号化されないので、入力フォームの内容が平文のままサーバまでの道程を流れていってしまいます。 もしそういったことを考慮して、「リクエスト先がhttpsの場合は、最初にSSLの接続要求のみのリクエストを投げて、それが完了してから本来送ろうとしていたリクエストを投げる」なんて気の利いたブラウザがあるのであれば入力フォームは非SSLで良いのでしょうが、今のところ私はそんなブラウザは知らないですし、それはそれで別な問題が起きると思いますので無い方が良いです。

touchme
質問者

お礼

ご回答ありがとうございます! ブラウザがどのような挙動をするのかが私の 最大の謎でした。 ネットで調べても本を調べてもその部分に触れられて いないからです。 ご回答からは、SSLページにいる状態でなければ、 ブラウザはサーバーからの返答に対してSSLのハンドシェークをしてくれないという理解をしました。 書かれているフローは私の認識とも一致するのですが、 まだ疑問なのが、私はそのフローは毎回リロードするたびに 1から繰り返されるものだと思っています。 その認識で合っていますか? それから、 >もし、入力フォームが非SSLページの場合、最初の「クライアント:SSLの接続要求」の段階ではデータは暗号化されないので、入力フォームの内容が平文のまま・・・ という部分ですが、最初の「クライアント:SSLの接続要求」の段階では暗号化されている必要は無いと思っています。ここはハンドシェークだけであってまだ入力フォームのデータは含まれていないはずだと思っているからです。これは間違っていますか? よろしくお願いします。

関連するQ&A

  • SSLから非SSLへの遷移

    SSLのwebページに個人情報が表示されており、そこから非SSLのページに遷移したとすると、情報は保護されない(盗み見られる恐れがある)のでしょうか? とても心配です…。

  • SSL暗号化通信

    このページの入力項目は すべて、SSL暗号化通信によって保護されますって 書いてあれば、ウイルスとかに感染してても(してないと思うけど)個人情報を入力しても大丈夫ですか? 個人情報を盗まれないですか?

  • SSLについて

    ユーザの入力した内容をDBに登録するというページを作成したいのですが、入力項目が個人情報のため、SSLによる暗号化通信を行いたいと思っています。 そこで質問なのですが、SSLでないサイトAにある入力フォームから、SSLサイトBのCGIでDB登録の処理を行う場合、暗号化は有効になっているのでしょうか? それとも、入力フォームのあるサイトもSSLにしないとだめでしょうか? 基本的な質問でお恥ずかしいのですが、ご存知の方教えてください。 よろしくお願いいたします。

    • 締切済み
    • CGI
  • SSLでの暗号化は必須でしょうか?

    ネットショップをひらく計画をしています。 ショッピングカートを導入して注文を受けるしくみを作っています。 (つまり自前で製作) 大手などのネットショップは個人情報を入力時、ほとんどがSSLによるデータの暗号化を行うページとなっております。 しかし当方のネットショップは、決済方法にクレジットカード払いはないので、注文者が入力するのは住所や名前、電話番号などになります。 それでも、SSLでの暗号化というものは信頼や安心度という点から、導入するにこしたことはないかと思うのですが、購入者側の心理もやはり同じようなものでしょうか? (別に住所や電話番号が重要度の低い情報だと言ってるわけではありませんが) また、万全を期すためクレジット決済のない場合でもページを暗号化するべきとなると、今度はメールで注文を受けるということもセキュリティの面からできなくなるかと思います(しかしショッピングカートが使用できないブラウザを使用してる人もいるので、メールでの注文を受けることも必要なのです) 質問内容は、 1.クレジット決済がなくてもSSLでの暗号化ページは必要か? 2.SSLを使用してページを作っているのに、メールで受注可能とするのはおかしいですか?

  • SSL通信のURL暗号化について

    お世話になっています。 SSLの暗号化について質問させてください。 こういったことに、あまり詳しくないので的外れな質問であればご指摘をお願いします。 ブラウザからURLを直接指定し、ページへ遷移する場合そのURLが暗号化されているのか平文なのかを知りたいです。 例えば、 https://hoge.hoge.jp/login?id=AAAAA&pass=BBBBB というURLでアクセスした場合、そのURLを第3者に傍受され、クエリストリングである id=AAAAA pass=BBBBB という情報を読み取られてしまうことはあるのでしょうか? SSLでフォームデータを送信するようなセキュリティが確保されているかを知りたいです。 ご回答よろしくお願いします。

  • SSLが有効なページ

    SSLが有効なページ SSLを使ってサイトを作製しようとしています。 初歩的な質問なのですが、非SSLのページ http://www.domein.co.jp/a.htmlにフォームがあって、 https://www.domein.co.jp/b.phpへPOSTする場合はSSL通信ではないと考えていいのでしょうか? SSL通信にするにはhttps://www.domein.co.jp/a.htmlとしなければならないのでしょうか? あるいは別のドメイン https://www.domein2.co.jp/a.htmlから https://www.domein.co.jp/b.phpへPOSTすることは可能でしょうか? 可能だとしたらこれはSSL通信でしょうか?

  • SSLの暗号化について

    ミルです。 SSLの暗号化の仕組みについて易しく教えていただきたいです。 SSLのWebページで情報を送信すると、どんなしくみで 送信側と受信側で鍵をやりとりするってことなんでしょうか? 本を読んでもよくわかんなくって。

  • SSLはどのページからスタートさせるか?

    ウェブサイトの暗号化技術SSLについての質問です。 ウェブサイトなどで、SSLを導入する場合、どのページからSSLのアドレス(httpsから始まるやつですね)にしたほうがいいのか、教えて下さい。 私の感覚としては、フォームを送る際に暗号化されていればいい、と思うので、例えば、IDとパスワードを入れるフォームがあるログインページでは、まだhttpでよくて、そのフォームが送る先からがhttpsなのかな、、と。 けれど、ほとんどのネット上のサービスで、ログインページからアドレスがhttpsになっているのを見ます。(このOKWaveでもログイン画面でもうhttpsになっていますよね。) 実際、ログインフォームの画面もhttpsにしておかないと、問題があるのでしょうか? 以上、よろしくお願いします。

  • SSLは、他サイトへのPOSTでも暗号化されますか?

    http://aaa.com/ のページで以下を submit した場合、data (あいうえお) は暗号化されて https://bbb.com/ へPOSTされるのでしょうか? <form method="post" action="https://bbb.com/"> <input type="text" name="data" value="あいうえお"> <input type="submit" value="送信"> </form> * aaa.com はSSLサーバ証明書を未取得 * bbb.com はSSLサーバ証明書を取得済 よろしくお願いします。

  • SSLの原理?

    「SSLのフォームに入力された情報は自動的に暗号化されて送信される」という説明がよくあるのですが、ユーザから送られた内容がSSLサーバ内で暗号化されるのではないのでしょうか?サーバで暗号化されるのであれば、サーバへ到達するまでは暗号化されないのでしょうか?もしくはユーザが送信する時点で暗号化されるのしくみということなのでしょうか?つまり、SSLサーバは「解読機」ということになるのかな?また、「SSLサーバはWebサーバのすぐ隣にないと意味がない」という見解を何かで読んだのですが、これはつまり「WebサーバとSSLサーバの間のやり取りは暗号化されない」ということでしょうか?私がWebページを作っているクライアントに説明を求められています。よろしくお願いします。