著者:主張--
個人ホームページ:主張する -- 個人ホームページ
著者は今後もネットワーク知識やPythonの基礎知識を更新していきますので、よろしくお願いします
目次
序文
毎日インターネットをサーフィンするとき、何かを検索するとき、URL に違いがあることに気づきませんか? この記事では、HTTP と HTTPS の違いについて説明します。
1.HTTPとは何ですか?
HTTP は「HyperText Transfer Protocol」の略で、翻訳するとハイパーテキスト転送プロトコルとなり、分散型、協調型、ハイパーメディア情報システムのためのアプリケーション層プロトコルです。簡単に言えば、これはHTML ページを発行および受信するためのプロトコルであり、 Web ブラウザーと Web サーバー間で情報を転送するために使用されます。
HTTP はデフォルトでTCP プロトコルのポート 80 で動作し、ユーザーが http:// で始まる Web サイトにアクセスするのは標準の HTTP サービスです。
HTTP通信はシンプルさと柔軟性という特徴がありますが、平文通信を使用するため、リクエストやレスポンスが通信相手を確認せず、データの完全性が保護できず、通信内容が盗まれやすいというデメリットがあります。 。
2.HTTPSとは何ですか?
HTTPS は「Hypertext Transfer Protocol Secure」の略称で、翻訳すると「ハイパーテキスト転送プロトコルセキュア」となります。これは、コンピュータ ネットワーク上で安全な通信を行うためのトランスポート プロトコルです。HTTPS は HTTP 経由で通信しますが、パケットの暗号化には SSL/TLS を利用します。HTTPS 開発の主な目的は、Web サーバーに ID 認証を提供し、交換されるデータのプライバシーと完全性を保護することです。
3. HTTPS の仕組み
上記の HTTPS の説明を読めば、HTTPS が情報を暗号化して重要な情報が第三者に取得されることを防ぐことができることを誰もが知っているため、多くの銀行の Web サイトや電子メール、その他のセキュリティレベルの高いサービスが HTTPS プロトコルを使用することになります。
1. クライアントが HTTPS リクエストを開始します
これは簡単に理解できます。つまり、ユーザーがブラウザに https URL を入力し、サーバーのポート 443 に接続します。
2. サーバー構成
HTTPS プロトコルを使用するサーバーには、自分で作成するか、組織に適用できる一連のデジタル証明書が必要です。
違い:独自に発行された証明書は、アクセスを続行する前にクライアントによって検証される必要がありますが、信頼できる会社によって適用された証明書はプロンプト ページをポップアップ表示しません。
この証明書のセットは、実際には公開鍵 と 秘密鍵 のペアです。公開鍵と秘密鍵を理解していない場合は、それを鍵と錠前と考えることができますが、この証明書を持っているのは世界であなただけです。この鍵をロックできます 頭を他の人に渡し、他の人はこのロックを使用して重要なものをロックし、それからあなたに送ることができます この鍵を持っているのはあなただけなので、このロックでロックされたものを見ることができるのはあなただけです。
3. 送信証明書
この証明書は実際には公開鍵ですが、証明書の発行局や有効期限など多くの情報が含まれています。
4. クライアントは証明書を解析します。
作業のこの部分はクライアントの TLS によって行われます。まず、公開キーが有効かどうか (権限、有効期限など) が検証されます。例外が見つかった場合は、警告ボックスがポップアップ表示され、問題があることを示します。証明書に問題があります。
証明書に問題がない場合は、ランダムな値を生成し、そのランダムな値を証明書で暗号化します。前述したように、ランダムな値をロックでロックします。これにより、キーがない限り、ロックされた値は取得できなくなります。見たコンテンツ。
5. 暗号化された情報を送信する
この部分は、証明書で暗号化されたランダム値を送信します。その目的は、サーバーにこのランダム値を取得させることです。将来的には、クライアントとサーバー間の通信は、このランダム値を通じて暗号化および復号化できるようになります。
6. サーバーは情報を復号化します
秘密キーを使用して復号化した後、サーバーはクライアントから送信されたランダムな値 (秘密キー) を取得し、この値を使用してコンテンツを対称的に暗号化します。
対称暗号化:情報と秘密キーは、何らかのアルゴリズムを通じて混合されます。
このように、秘密キーが分からない限りコンテンツを取得することはできず、クライアントとサーバーの両方が秘密キーを知っているため、暗号化アルゴリズムが十分に高度で秘密キーが十分に複雑である限り、データは取得できます。十分に安全です。
7. 暗号化された情報の送信
この部分の情報はサービスセグメントの秘密鍵で暗号化された情報であり、クライアント上で復元できます。
8. クライアントは情報を復号化します
クライアントは、サービスセグメントから送信された情報を事前に生成した秘密鍵を使用して復号化し、復号化されたコンテンツを取得しますが、途中で第三者がデータを監視しても、何もすることができません。
4 番目、HTTP と HTTPS の違い
1. セキュリティ
HTTP と HTTPS は 2 つの異なるプロトコルであり、それらの主な違いはセキュリティです。HTTP プロトコルは、いかなる形式のデータ暗号化も行わずにコンテンツを平文で送信するため、攻撃者が情報を傍受するのは簡単です。
HTTPS は、TCP と HTTP ネットワーク層の間に SSL/TLS セキュリティ プロトコルを追加し、メッセージの暗号化された送信を可能にし、データ セキュリティを確保します。
2. 異なるポート番号
HTTP と HTTPS はまったく異なる接続方法を使用し、使用するポートも異なります。HTTP は 80、HTTPS は 443 です。
3. 証明書
HTTPS では証明書を申請する必要がありますが、HTTP では証明書を申請する必要がなく、証明書の申請にはいくらかの手数料がかかります。