詳細な分析HTTPS原則

概要:(フルネーム:セキュア・ソケット・レイヤーの上にハイパーテキスト転送プロトコルはHTTPS )、 実際に新しいHTTPSプロトコルではありません、Googleは非常に早い有効に始まった、本来の意図は、データのセキュリティを確保することです。過去2年間、グーグル、Baiduのは、Facebookや、他のインターネットの巨人は、常にHTTPS精力的に始め、多くの国内外の大規模なインターネット企業は、インターネットの将来の発展の傾向である、サイト全体のHTTPSを有効にしています。

序文


HTTPS(フルネーム:セキュア・ソケット・レイヤーの上にハイパーテキスト転送プロトコル)は、実際に新しいHTTPSプロトコルではありません、Googleは非常に早い有効に始まった、本来の意図は、データのセキュリティを確保することです。過去2年間、グーグル、Baiduのは、Facebookや、他のインターネットの巨人は、常にHTTPS精力的に始め、多くの国内外の大規模なインターネット企業は、インターネットの将来の発展の傾向である、サイト全体のHTTPSを有効にしています。

世界中のHTTPSサイトの実装を促進するために、インターネット企業のいくつかは、自分の要求を提唱しています:

1)Googleの検索エンジンのアルゴリズムは、HTTPSサイトの使用は、検索で上位になるように調整されました。

2)危険なサイトとしてマークされたHTTPプロトコルYibaサイトを利用して、2017年にChromeブラウザを起動します。

3)2017年のすべてのアプリケーションAppleのApp Storeは、HTTPS暗号化された接続を使用しなければならないことが必要です。

4)現在の国内のホット揚げ非常に小さいマイクロチャネル・プログラムはまた、HTTPSプロトコルを使用するために必要とされます。

5)HTTPSベースにHTTP / 2プロトコルニーズの新世代をサポートします。

ように、したがって、おそらく近い将来に、ネットワーク全体HTTPS不可欠。

コンセプト


合意

1、HTTPプロトコル(ハイパーテキスト転送プロトコル、ハイパーテキスト転送プロトコル)クライアントブラウザとWebサーバ、または他のプログラムとの間のアプリケーション層の通信プロトコルです。

2、HTTPSプロトコル(セキュア・ソケット・レイヤー上のハイパーテキスト転送プロトコル)HTTP + SSL / TLSと理解することができ、SSL層、すなわち添加HTTP、HTTPSセキュリティインフラストラクチャがSSLであり、その詳細な暗号化SSL、セキュリティを必要としますHTTPデータ伝送。

図に示すように、HTTPS、HTTP多層比べSSL / TLS

SSL(セキュアソケットレイヤー、セキュアソケットレイヤー):1994 SSLプロトコルは、データ通信のための安全なサポートを提供するアプリケーション層プロトコルの様々なTCP / IPプロトコルとの間に配置され、Netscapeが開発されました。

TLS(トランスポート層セキュリティ、トランスポート層セキュリティ):その前身はSSLで、3.1から1999年にNetscape社が開発した最初のいくつかのリリース(SSL 1.0、SSL 2.0、SSL 3.0)が標準化されるようになったとIETFと改名、開発されましたそれは3つのバージョンTLS 1.0、TLS 1.1、TLS 1.2となっています。SSL3.0とTLS1.0は、セキュリティの脆弱性のため、めったにするために使用されていません。TLS 1.3の変更が比較的大きくなり、それがドラフト段階にとどまっている、現在、TLS 1.2最も広く使用されているTLS 1.1です。

暗号化アルゴリズム:

記録によると、紀元前400年、古代ギリシャ人は、交換用のパスワードを発明し、暗号は社会の発展に用途の広い範囲を持っているので、第二次世界大戦中、ドイツ軍は、「エニグマ」暗号機を有効に。

1、対称暗号化

フロー式で、同一のグループ鍵、暗号化および復号化の二種類が用いられます。

例えば:DES、AES-GCM、ChaCha20 Poly1305-のような

2、非対称暗号化

秘密鍵は秘密にされ、開示されている公開鍵、秘密鍵、および公開鍵アルゴリズム:復号鍵と使用する暗号鍵は、として知られているのと同じではありません。非対称暗号化アルゴリズムは、その暗号化した性能が、優れた安全性を下げ、データ長を暗号化することができ、非対称暗号化アルゴリズムが制限されています。

Li_ru:RSA、DSA、ECDSA、DH、ECDHE付き

3.ハッシュアルゴリズム

通常はるかに小さいメッセージよりも短い固定長の値の任意の長さの情報を変換する、アルゴリズムは可逆的ではありません。

例えば:MD5、SHA-1、SHA-2、SHA-256、等

図4に示すように、デジタル署名

署名は、コンテンツの一部(ハッシュ値後の情報)との情報と共にの背面にあり、それは情報が変更されていないことを証明することができます。通常、ハッシュ値(すなわち署名)を暗号化し、次にハッシュ値が変更されないことを保証するために、情報と一緒に送信されます。

詳細


A、HTTPアクセス処理

次のようにEtherealの:

次のように、ハッカーに脆弱であるので、「裸」は、インターネット上のHTTPリクエストプロセスは、クライアントとサーバとの間の任意の識別プロセスなしに、すべてのデータがクリアテキストで送信、上記のように:

あなたは簡単にハッカーのポーズがサーバーとしてこの時間ならば、ハッカーによって傍受することができ、それは、クライアントが意識することなく、クライアントに情報を返すことができ、要求がクライアントから送信された見ることができ、私たちはしばしば単語「ハイジャック」を聞きます現象次のように:

以下の2つの図は、ブラウザが同じURLで記入し、左は右の応答、およびハイジャックされた後、右の応答です。

だからHTTPトランスポートが直面するリスクは以下のとおりです。

(1)盗聴はリスク:ハッカーがコミュニケーションを学ぶことができます。

(2)改ざんの危険性:ハッカーが通信の内容を変更することができます。

(3)ポーズはリスク:ハッカーは、通信に関わる他の人の身元を偽装することができます。

二、HTTPへのHTTPS進化過程

最初のステップは:これらの現象の発生を防止するために、人々は方法を考える:情報の暗号化伝送(でもハッカー傍受場合、クラックすることはできません)

示され、図対称暗号化の上、両方が同じ鍵を持っているに属する本実施形態では、情報の安全な伝送が得られるが、このアプローチの欠点は以下のとおりです。

(1)異なるクライアント、サーバの数が多いので、両側が、キーの数が多い、高いメンテナンスコストを維持する必要があります

(2)各クライアント、サーバの異なるセキュリティレベルは、鍵を容易に漏れる可能性があるため

ステップ2:対称暗号化を使用するとき以来、キーメンテナンスが非常に複雑、そして私たちは、非対称暗号化を使用するようにしてください

上記のように、コンテンツサーバの秘密鍵を使用して、国民と暗号化されたクライアントは、要求されたコンテンツを復号化し、その逆が、上記の方法にも欠点です。

(1)公開鍵は、(ハッカーが公開鍵を持っているだろう、である)であるので、最初のステップ④情報の秘密鍵暗号、ハッカーによって傍受場合、それは買収の内容を解読するための公開鍵を使用することができます

第三段階:非対称暗号化も欠陥があるので、我々は両方のそれぞれの利点を再生するには、そのかすに、その本質を2を組み合わせるための対称暗号化、非対称暗号化がします

図に示すように。

(1)は、ステップ③、クライアントは、後続の言った:(我々は対称暗号化を答える、これはこの通路の公開鍵で暗号化し、サーバーに渡された)対称暗号化アルゴリズムおよび対称鍵であります

サーバは、対称鍵と対称暗号化アルゴリズムを抽出するために、秘密鍵を復号化、情報を受信した場合(2)、サーバー:(良)対称鍵暗号化は言いました

続く2つの対称暗号化の間に(3)転送情報は、方法で使用することができます

問題が発生しました:

(1)公開鍵クライアントを入手する方法

サーバーがハッカー現実とではないことを確認する方法(2)

ステップ4:公開鍵を取得し、サーバーのIDを確認します

1、公開鍵を取得

(1)の答えの前に、公開鍵をダウンロードするためのアドレスを提供ので、ダウンロードするクライアント。(短所:ダウンロードは、おそらく偽であることを、クライアントが答えをダウンロードする前に、国民に行くたびが多すぎる)
(欠点クライアントへのサーバーのパブリックキーの先頭に(2)の答え:サーバーとしてハッカーのポーズ、偽)は、クライアントの公開鍵に送られます

2、木材は両方とも安全に公開鍵を取得することができますが、また、ハッカーが行うことをふりを防ぐために、という方法がそこにありますか?SSL証明書:それは究極の武器を使用する必要があります

上に示したように、ステップは②、サーバーがクライアントにSSL証明書を送信し、SSL証明書の詳細が含まれています。

(1)証明書発行機関CA

有効(2)証明書

(3)公開鍵

(4)証明書の所有者

(5)署名

.........

次のように図3に示すように、クライアントはSSLにより送信されたサーバ証明書を受信したときに、真正性の証明書は、一例として、ブラウザに検証されます。

(1)まず、ブラウザが1つのチェックによって有効期限情報のいずれかの証明書の所有者の証明書を読み出し

(2)CA、発行者CAのアラインメントによって送信されたサーバ証明書を信頼され組み込まれている証明書発行機関オペレーティングシステムでブラウザを探すには、校正証明書は、正当な機関に対して発行されます 

(3)は、そうでない場合は、ブラウザは、間違ったレポートになります信頼できないサーバ証明書から送ら示します。

(4)が見つかった場合、ブラウザは、発行者のオペレーティング・システムからCAの公開鍵を削除し、その後復号化するために、サーバから送信された署名証明書があります

(5)ブラウザがサーバハッシュ値から送信された証明書を計算するために、同じハッシュアルゴリズムを使用して、計算された署名証明書を使用して、このハッシュ値は、比較を行います

(6)比較の結果は、ポーズしない、正当な証明するサーバ証明書から送信され、一致しています

(7)このとき、ブラウザは、後続のために暗号化された公開鍵証明書を、読むことができます

4、フォームは一石二鳥、公開鍵へのアクセスの問題に対処するだけでなく、ポーズハッカーの問題を解決するためのSSL証明書によって送信されるので、HTTPS暗号化処理も形成され

だから、HTTP、HTTPSトランスポートより安全と比較

すべての情報(1)普及が暗号化され、ハッカーが盗聴することはできません。

それが改ざんされた場合(2)は、チェック機構を有し、双方は直ちに通信を見つけます。

アイデンティティの証明書(3)は、同一の偽装を防ぎます。

概要


要約すると、HTTPプロトコルに比べて、工程が複雑であるが、HTTPSプロトコルでは、手を振って、暗号化と復号化処理の多くが追加されますが、それは、データ伝送のセキュリティを保証することができます。だから、データセキュリティ、ネットワークの安定性の維持を確実にするためには、目に見えない危機のすべての種類を隠すインターネットの拡大、のこの時代に、私たちは、プロモーションの多くHTTPSをお勧めします。

HTTPS短所:

(1)高コストのSSL証明書とサーバーにデプロイ、更新メンテナンスが非常に面倒です

(2)HTTPSユーザアクセス速度(数回のハンドシェイク)を低下させます

(3)ウェブサイトの使用HTTPSした後、へのユーザーアクセスを高めるために、HTTP、HTTPSへのジャンプの方法、時間のかかる(302回のジャンプを使用しているサイトの大部分を)

(4)HTTPS CPUリソースを消費しますかかわるセキュリティ・アルゴリズム、多数のマシンを追加する必要があります(HTTPS暗号化と復号化のプロセスはアクセスが必要です)

13元記事公開 ウォン称賛78 ビューに45万+を

おすすめ

転載: blog.csdn.net/bluehawksky/article/details/100543679