私は現在、https 接続を許可しない無料のホストを使用しています。私のサイトは機密コンテンツやプライベート コンテンツをホストしていないため、有料ホスティングにアップグレードする必要はありません。しかし、私のサイトはパスワードを扱っており、多くのユーザーが異なるサイトで同じパスワードを使用しているため、これらのパスワードの処理に適切な量のセキュリティ/暗号化を適用したいと考えています.
Secure login: public key encryption in PHP and Javascriptから、パスワードがネットワーク経由で送信されるときにパスワードを保護するために公開/秘密暗号化を使用する際の最大の問題は、攻撃者がクライアントに送信された公開鍵を変更できることです。 、暗号化されたパスワードを傍受し、攻撃者の秘密鍵で復号化し、サイトの公開鍵で暗号化してからサイトに送信します。つまり、そもそも暗号化のポイント全体を無効にします.
もちろん、暗号化は暗号化しないよりはましですが、HTTPS 対応のホスティングを購入せずにできる限りのことをしたいと思います。それが私の質問です。
仲介者がサイトの公開鍵の代わりに自分の公開鍵を置き換えるのを防ぐ (または単に検出してユーザーに警告する) 信頼できる方法はありますか? または、サーバーから送信された公開鍵が実際にサーバーの公開鍵であることを確認する方法はありますか? これを確認する方法がない場合、SSL/TLS はどのように機能し、どのようにキーを確認しますか (SSL が公開/秘密キーを使用しない場合は申し訳ありませんが、私はそれについてかなり限定的な理解しか持っていません)。
フォームデータを暗号化するだけでは TLS/SSL を使用する場合に比べて非常に脆弱な方法であり、暗号化を破ろうと決心している人々がそれを行うことを止めることはできないことを私はすでに理解しています.コメントのみ (ただし、HTTPS を許可する無料のホスティング プロバイダーを知っている場合は、それらについて教えていただければ幸いです)