7

「s」は「Secure」の略であり、ユーザーはhttpのみを使用するWebサイトに重要な情報を入力しないでください。しかし、私はこれら2つのプロトコルが私のプログラミングにどのような影響を与えるのかを本当に知りたいです。

  • 一部のWebサイトはどのようにして「https」を取得し、一部は取得しません(または、この機能をオンまたはオフにする方法についてはわかりません)。どこかに登録しなければならないということですか?

  • httpでの通信は暗号化されていませんが、httpsで暗号化が行われる可能性があると思いましたが、これは正しいですか?

  • そして、暗号化(もしあれば)プロセスはブラウザによって行われるので、結果として、私のサーバー側のコードは「http」または「https」とは何の関係もありません、それは正しいですか?

  • ユーザーにhttpsのみを使用するように強制する方法はありますか?

4

2 に答える 2

8
  • HTTPS プロトコルを使用する Web サイトは、信頼できるサード パーティ (または「認証機関」) によって発行された証明書を使用します。この証明書には公開鍵が含まれています (参照:公開鍵インフラストラクチャ)。公開鍵は秘密鍵と対になっており、秘密鍵で暗号化された情報は公開鍵でしか復号化できません。これは、サーバーが秘密鍵の所有者であることを確認するために使用されます (したがって、認証局によって認証されたエンティティです)。HTTPS プロトコルを使用するには、証明書を生成するか購入する必要があります。さまざまな理由から、証明書を生成するよりも購入する方が一般的です。

  • HTTPS 通信は暗号化されます。証明書に関連付けられたキーは暗号化を行いません。代わりに、ブラウザーとサーバーは Diffie-Hellman Exchange などのスキームを使用して、通信の暗号化に使用されるキーを作成します。公開鍵を持っている人なら誰でも、秘密鍵で暗号化されたものを復号化できるため、これは重要です。

  • ブラウザから送信された情報は、ブラウザによって暗号化され、サーバーによって復号化されます。Web サーバー ソフトウェアが情報を解読します。受信した情報は、標準の HTTP トラフィックと同じように見えます。

  • はい、HTTPS を強制できます。これは、サーバー ソフトウェア ( HTTPS をチェックするRewriteRuleApache などRewriteCond) を介して行うか、特定のヘッダーの送信を伴う HSTS を介して行うことができます。HSTS をサポートするブラウザーで HSTS ヘッダーを送信すると、ブラウザーは自動的に HTTP から HTTPS にリダイレクトします ( HTTP Strict Transport Securityを参照)。

于 2013-02-16T17:18:19.253 に答える
4

HTTPS を有効にするには、Web サーバーに SSL 証明書をインストールする必要があります。これにより、クライアント ブラウザとサーバー間で暗号化された接続が確立され、すべての HTTP トラフィックが暗号化されます。この証明書は、信頼できる機関によって発行されます。テスト目的で証明書を生成することもできますが、クライアント ブラウザーが Web サイトに移動すると、この証明書が信頼できる機関によって発行されたものではないことを示す警告が表示されます。

すべての HTTP 要求を対応する HTTPS エンドポイントに自動的にリダイレクトするように Web サーバーを構成することで、強制的に HTTPS を使用することができます。

ルックアップできますSSL/TLS

于 2013-02-16T17:16:54.950 に答える