今、私たちは最初にすべてのあなたに質問して、HTTPSについて学ぶために一緒に来て、なぜ、また、HTTPSを持っている必要があり、HTTPがありますか?私は急にアイデアを持って、なぜ我々はインタビュー標準答え、それに答えるために必要なのですか?なぜ我々は、いわゆる標準答え、それのいくつかを覚えておく必要があり、私たち自身のアイデアや意見を言わないのですか?技術的かどうか、それが正しいがありますか?
なぜそこにHTTPS
- 新技術の出現は、いくつかの問題を解決するために存在する必要があり、その後、問題HTTPS HTTPそれを解決?
HTTPSは、問題を解決します
- 簡単な答えは、安全でないHTTPそれかもしれません。誰もが、傍受変更または鍛造要求できるHTTPの送信時に、安全ではないHTTPとみなすことができ、明示的に伝送生まれ、自然のHTTPによるもの
- 両側HTTPの情報交換は、あること、ユーザ認証を装っされていないかもしれので、HTTPの送信時には、通信当事者の身元を検証しません。
- HTTPは、送信時に、受信機と送信者は、上記課題を解決するため、HTTPSアプリケーション生まれで、メッセージ、要約の整合性を検証しません。
HTTPSは何ですか
HTTPはそれの定義がどのようにあなたを覚えていますか?HTTPであるハイパーテキスト転送プロトコル(ハイパーテキスト転送プロトコル)プロトコル、二つの点など、テキスト、画像、音声、映像、データ間の慣習や規範ハイパーテキスト転送に特化世界にコンピュータがある場合、我々は見てHTTPSそれはどのように定義されます。
- HTTPSは、情報の安全な交換(セキュア通信)用のコンピュータ・ネットワーク上の2つのエンドシステムとの間で使用されるプロトコルは、セキュアハイパーテキスト転送は、それが基づいてワード目安全なセキュアHTTPを加えることと等価であるの略その後、我々はA HTTPSの定義は与えることができます:HTTPSをテキスト、画像、オーディオ、ビデオなどの2点間のハイパーテキストデータ伝送におけるコンピュータセキュリティの世界では、特殊な規則や規範です。
- HTTPSはHTTPプロトコルの拡張である、伝送のセキュリティを保証自体に、そして誰がそれの安全性を確保するために起こっているしないのですか?HTTPSでは、トランスポート層セキュリティ(TLS)またはセキュアソケットレイヤー(SSL)プロトコルを使用して通信を暗号化します。すなわち、HTTP + SSL(TLS)= HTTPS。
HTTPSは何をしましたか
HTTPSプロトコルは、3つの主要な指標を提供します
- 暗号化(暗号化)、HTTPS、ユーザーがサイトを閲覧しているとき、誰もが彼とウェブサイト、またはユーザの追跡との間での情報交換を監視することはできないことを聞いて盗聴者からのデータ、手段を作るために、データを暗号化することによって、活動、記録へのアクセスは、ユーザー情報を盗むために。
- データの整合性(データインテグリティ)、データ送信の過程で盗聴者によって変更されません、データは、ユーザによって送信されたものであることを確認するようにユーザに送る、サーバへの転送を完了し、サーバによって受信されるものです。
- 認証(認証)は、あなたが(顔認識と比較することができます)であることを証明、それは***仲介を防ぎ、ビルドユーザーの信頼が可能であること、互いの正体を確認するために参照します。
上記を確保するための3つの主要な指標では、ユーザーが情報を交換し、サーバーを確保することができます。まあ、HTTPSの利点は、私はHTTPSまたはHTTPを使用してサイトがそれである方法を知っているあなたが言ったことから?あなたを与える2つの図は、説明することができるはずです。
HTTPSプロトコルは、RFC文書が非常に小さく、非常に単純であるだけ短い7、新しいプロトコルの名前を指定する、デフォルトのポート番号443、他の応答モード、パケット構造、リクエストメソッド、URI、ヘッダフィールド、接続管理など、使用HTTPに完全にある新しいものではありません。
つまり、HTTP、HTTPおよびいくつかの、HTTPSなどのプロトコル名と構文、意味論上のデフォルトのポート番号(デフォルトHTTPポート80)、HTTPSプロトコル、および、以外にも、すべてを受け入れます。だから、HTTPS HTTPのセキュリティを行うにはどのようにそれを行うことはできませんか?キーは、このSは、SSL / TLSであるということです。
SSL / TLSは何ですか
理解SSL / TLS
TLSは、(トランスポート層セキュリティ)プロトコルの認証と暗号化のための2台のコンピュータ間のインターネットあるSSL(セキュア・ソケット・レイヤー)の後継です。
注:インターネットでは、多くの名前は交換可能です。
- 私たちは最も重要なステップは、顧客が安心取引で感じることができ、信頼性の高い取引環境を作成することです(たとえば、オンライン決済など)いくつかのオンラインサービスは、SSL / TLS確実に、SSL / TLSは、Xによって参照されることをすべて知っています仕事への暗号化キーにバインドされたデジタル文書情報会社のウェブサイトとエンティティの0.509証明書。
- それぞれの鍵ペア(鍵ペア)は、秘密鍵(秘密鍵)と公開鍵(公開鍵)を持っている、ユニークな秘密鍵は、通常、サーバ上に配置し、暗号化するための共通鍵で復号します情報;公開鍵が公開され、サーバとの皆の相互作用は、公開鍵で暗号化された公開鍵の情報を保持することができるだけでプライベートで復号化することができます。
どのようなことはX.509です:X.509公開鍵証明書が(個人または組織)准セキュリティへこのドキュメントの暗号化キーの標準フォーマットです。
X.509を次のようにメインのアプリケーションがあります
- 認証および暗号化WebブラウジングのためのSSL / TLSおよびHTTPS
- S / MIME電子メールプロトコルによって署名および暗号化
- コード署名:それは安全な配布とインストールプロセスにソフトウェア・アプリケーションに署名するためのデジタル証明書を使用することを意味します。
署名後、(例えばSSL.com)を使用して、よく知られたパブリック証明書によって発行された証明書は、ソフトウェアのデジタル署名に発行され、開発者は、ユーザーがソフトウェア開発者が知られており、によって公開から信頼され、インストール終了することを保証することができます改ざんや危険にさらされていません。
- 文書が署名するために使用することができ、クライアントの認証に使用することができます(参照政府によって発行された電子IDカードのhttps://www.ssl.com/article/pki-and-digital-certificates-for-government/を)
私たちは、後ほど説明します。
HTTPSはHTTPカーネルです
HTTPSは、唯一の選択肢のみSSLおよびTLSによって部分的に新しいアプリケーション層プロトコル、HTTP通信インタフェースはありません。典型的には、HTTPおよびTCPが最初に直接通信します。使用SSL HTTPSした後、それは最初SSL、あなたその後、SSL通信とTCPと通信するために進化します。言い換えれば、HTTPSは、SSL HTTPの層を着ています。(私は...サンパウロ粉末最後に宿泊したいです)
SSLは、他のアプリケーション層プロトコルを使用することができるだけでなく、HTTPはまた、SMTP(メールプロトコル)のTelnet(リモートログインプロトコル)として、使用することができるプロトコル独立しており、そのように使用することができます。
HTTPSを探索
私は、バッチも自慢したい、あなたは非常に高速なハードウェア名をやって、言いましたか?あなたはちょうど私が主を賛美し、私の主であるTLSに変更迅速牛のバッチ香港香港ので、HTTPS、血まみれの馬鹿を探求したいと思いますなぜ、なぜHTTPS TLS / SSL太ももの上に保持し、そしてません。
SSLそれはOSI 7層ネットワークモデルに第5層であり、あるセキュアソケットレイヤー、IETF(インターネット技術グループ)による1999年のSSLは、今まで、TLSは3の合計が登場していた、であるトランスポート層セキュリティ、TLSに社名変更しましたバージョン、1.1、1.2および1.3、最も広く使用されている1.2であるので、以下の議論は、TLS 1.2のバージョンに基づいています。
TLSは、2つの通信アプリケーション間のプライバシーとデータの整合性を提供するために使用されます。TLSのことで、レコードプロトコル、ハンドシェイクプロトコル、アラートのプロトコル、仕様、プロトコル、拡張プロトコルの暗号の変化を組み合わせ使用して、いくつかのサブプロトコルなど、対称暗号化、非対称暗号化、認証の、および他の多くの最先端の暗号化技術を(あなたはそれが技術であると思われる場合シンプルな、あなただけの場所で学習することはありません、どんな技術が審美的で、高速なハードウェアの人々は)ない非難を、お楽しみください。
長い時間のために、我々はそれを命名TLSを見ていないことを言って、ここでTLS TLS構造の例を見ては、(参照ですhttps://www.iana.org/assignments/tls-parameters/tls-parameters。 XHTML)
<前のスタイル= "ボックスサイズ:ボーダー・ボックス;概要:なし;マージン:0PX;パディング:0PX;ボーダー:0PX;フォントスタイル:ノーマル;フォントバリアント-リガチャ:ノーマル;フォントバリアントキャップ:ノーマル;フォントバリアント数値:継承;フォントバリアント-東アジア:継承;フォント重量:400;フォントストレッチ:継承;フォントサイズ:18px;行の高さ:継承;フォントファミリ:couriernew、宅配、等幅、垂直整列:ベースライン;色:RGB(93、93、93);文字間隔:正常;孤児:2;テキスト整列:開始;テキストインデント:0PX;テキスト変換:なし;未亡人。 2;単語間隔:0PX; -webkit-テキストストローク幅:0PX;背景色:RGB(255、255、255);テキスト装飾スタイル:初期;テキスト装飾色:初期; ">
ECDHE-ECDSA-AES256-GCM-SHA384
</ PRE>
これはどういう意味ですか?TLS暗号スイートかなり標準的なので、基本的な形式があり、私はほんの少し無知なああを見るために始めたが、実際にはルーチンがあり 、アルゴリズムダイジェスト-署名アルゴリズム- -対称暗号化アルゴリズム、鍵交換アルゴリズム 、時々 、で構成されるコード列をそこパケットモード、まさにその意味で見てみましょう
次いで、対称暗号化アルゴリズムAESとして使用する鍵交換、認証およびECDSAを使用して署名を使用ECDHEは、キーの長さは、使用されるパケットモードGCMとして256ビット、ダイジェストSHA384アルゴリズムとして使用された最後のです。
TLS対称暗号化と非対称暗号化は基本的に二つの形式。
対称暗号化
どのような暗号化、暗号化、で理解対称暗号化する前に、我々初見いくつかの概念があります:平文、暗号文、暗号化、復号化
- プレーンテキスト(平文)は、一般的に意味のある平文文字またはビットのセットと考えられ、またはメッセージが開示されている符号化のいくつかによって得ることができます。通常、平文mまたはpで表さ
- 暗号文に平文の暗号化後の暗号文(暗号文)、
- 暗号文変換処理情報に暗号化(暗号化)、生の情報(平文)
- (復号化)復号化され、回復プロセスは平文に情報を暗号化されています。
対称暗号化(対称暗号)の定義は、を意味し、同じキーに使用されている暗号化と復号化鍵。セキュリティキー限り、全体の通信プロセスは、機密性を持っています。
-
より多くのTLS暗号化は、DES、3DES、AES、ChaCha20、TDEA、フグ、RC2、RC4、RC5、IDEA、SKIPJACKなどとして、使用可能なアルゴリズムがあります。最も一般的に使用されるAES-128、AES-192、AES-256およびChaCha20です。
-
DESは、デジタルデータのための対称鍵暗号化アルゴリズムでデータ暗号化規格(データ暗号化規格)の略。56ビットのその短い鍵長にもかかわらずのための最新のアプリケーションのためのそれはあまりにも危険な作るが、それは暗号化技術の開発に大きな影響を与えています。
-
3DESをかけ、元のデータ暗号化規格(DES)暗号化アルゴリズムに由来し、それは1990年代に非常に重要になりますが、より高度なアルゴリズムの出現に、後により、3DESはもはや重要ではありません。
-
AES-128、AES-192およびAES-256はAESであり、AESは、DESアルゴリズムに代わる、高いセキュリティ強度でのAdvanced Encryption Standard(高度暗号化規格)の略で、パフォーマンスも非常に良いですが、最もあり対称暗号化アルゴリズムの広い範囲。
- Googleは別の設計であるChaCha20暗号アルゴリズム、鍵の長さは、これまで以上に人気のモバイルクライアント上に複数AES、256、純粋なソフトウェア走行性能に固定されていないが、その後はもはやので、今、ARMv8 AESハードウェアの最適化に参加しましたそれは明らかな利点を持っていますが、まだ良いアルゴリズムと考えられています。
(他の自己検索)
暗号化されたパケット
-
AESは、固定の鍵長とアルゴリズムを可能に最も人気があり、最も広く採用されているオプションは、明らかにされている間のみGCMパケットモードとAES、CAMELLIA用とARIAを用いたパケットモードの対称暗号化アルゴリズムの概念もあり、暗号化は、任意の長さの平文。
-
早いECB、CBC、CFB、OFBおよびパケットモードの他のタイプが、徐々に今基本的にありませんどのように使用するために行う、セキュリティの脆弱性を有することが判明しています。暗号化された認証機能、一般的に使用されるGCM、CCMとPoly1305に向上させながら、最新モデルは、パケットAEAD(関連するデータで認証暗号化)と呼ばれています。
-
例えばECDHE_ECDSA_AES128_GCM_SHA256ために、それは256ビットのキーを表す128ビットキー、AES256を表します。GCM認証関連データは、演算の128ビットのブロック暗号モードを有する現代の暗号化(AEAD)で表されます。
- 私たちは、その後、復号化され、すなわち暗号化は元のデータを暗号化して、パーティーを復号化するための鍵を解読しなければならない、同じキーを使用して暗号化されたパーティーのパーティーの対称暗号化と復号化、対称暗号化の上の話しましたデータは、これはすべての問題を引き起こすのでしょうか?これは、(暗号化されていると考えられる)メッセンジャーに「小さな兵隊」のようなものですが、また、ガジ、ガジの解読を取り、それは悪魔が出た道だった場合、この手紙が完全に露出することができるということです。そのため、リスクの対称暗号化。
非対称暗号化
非対称暗号(非対称暗号)は、公開鍵暗号、対称暗号化に関してとして知られる、非対称暗号化は、新規で改良された暗号化です。鍵が交換ネットワークを介して送信され、タイムリーキーは、データが公開されていない傍受されることを確認することが可能です。2つの非対称暗号鍵、公開鍵、秘密鍵がありますが、暗号化するために、公開鍵は、秘密鍵を復号化します。使用する人のための可能な公開鍵、秘密鍵は、あなただけが知っていることを。
-
テキストのみを復号化するために、秘密鍵を使用して、公開鍵暗号の使用は、同時に、秘密鍵暗号を使用した場合も、テキストを復号化するために、公開鍵を使用することができます。公開鍵ニーズがネットワークを介して送信されるので、必要性、公共の安全を持っていない、非対称暗号化鍵交換の問題を解決することができます。ウェブサイトは、インターネット上の任意のパブリック配布を非公開に、限り、あなたはライン上でパブリックで暗号化されたウェブサイトを訪問したいと、暗号文は、秘密鍵保持者で復号化することができます。何の秘密鍵がないため***そして、あなたは暗号文を解読することはできません。
-
対称アルゴリズムの設計がはるかに困難なように、共通のDH、DSA、RSA、ECCおよび非対称暗号化アルゴリズム、より(私たちは、特定の暗号化については説明しません)。
-
最も有名な、最も重要であるRSA暗号化アルゴリズム。たとえばDHE_RSA_CAMELLIA128_GCM_SHA256ため。そのセキュリティは、キーの材料として生成された2つの大きな素数の積を使用して、整数の因数分解に基づいており、秘密鍵は公開鍵から推定したいことは非常に困難です。
-
ECC(楕円曲線暗号)は楕円曲線に基づいた数学の問題の離散対数である非対称暗号化アルゴリズム、および特定のベースポイント生成公開鍵と秘密鍵を使用して曲線式である、ECDHEはECDSAため、鍵交換のために使用しましたデジタル署名。
- TLSの機密性は、対称暗号化と非対称暗号化ハイブリッド暗号を使用して達成されます。
ハイブリッド暗号化
RSA計算速度は非常に遅く、AES暗号化速度が速くなり、そしてそれは、このハイブリッドTLS暗号化を使用しています。例えばRSA、ECDHEような通信の開始、非対称アルゴリズムを使用する場合、最初の鍵交換の問題を解決します。次に乱数、その後、公開鍵暗号を使用して、対称アルゴリズムでセッションキー(セッション・キー)を生成します。反対側の秘密鍵で暗号文を解読を取得し、セッションキーを削除しました。このように、双方は対称鍵の安全な交換を実現しています。
今、私たちは、機密性を達成するために、混合モードの暗号化を使用し、データの伝送を確保することができないのですか?十分に加え、整合性の特性、機密性に基づいて認証、実際のセキュリティを実現するためではありません。整合性を達成するための主な手段は、アルゴリズムの概要である(ダイジェストアルゴリズム)
ダイジェストアルゴリズム
- それの整合性を達成するためにどのように?TLSでは、整合性を達成するための主要な手段は、アルゴリズム(ダイジェストアルゴリズム)を消化します。あなたが知っているダイジェストアルゴリズムをしていない場合は、MD5を使用して、明確にする必要があり、MD5は、メッセージダイジェストアルゴリズム5の略で、それは、パスワードのハッシュアルゴリズム(暗号化ハッシュアルゴリズム)Aに属し、MD5は、任意の長さの文字列から128ビットの文字を作成するために使用することができますChuanzhi。
- 不安MD5にもかかわらず、それはまだ使用中今日です。MD5は、最も一般的にファイルの整合性を検証するために使用されます。しかし、それはまた、SSH、SSLおよびIPSecなどの他のセキュリティプロトコルおよびアプリケーションに使用します。平文ハッシュ関数に値以上の塩によって一部のアプリケーションは、MD5アルゴリズムを強化するために適用されます。
塩とは何ですか?暗号化では、塩は、ランダムデータ、一方向関数は、追加入力データのハッシュパスワードまたはパスワードとして使用されます。ストアのパスワードを保護するための塩。例えば
方法は何ですか?このアルゴリズムでは何もキーが一方向のみの暗号化も復号化しないことができると言われて、暗号化されたデータはないオリジナルの導入に対して、復号化することができません。
私たちは、あなたが実際にアルゴリズムが圧縮アルゴリズムの特別な種類として理解消化することができ、それはデータの一握りを追加しているようだ固定長文字列に変換する任意の長さの圧縮データすることができ、ダイジェストアルゴリズムを議論するために戻って上がりますロック。
-
一般的に使用される外部の暗号化アルゴリズムに加えて、MD5、SHA-1(セキュアハッシュアルゴリズム1)は、共通の暗号化アルゴリズム、暗号化アルゴリズムもあるSHA-1が、TLSに禁止され、安全でありません。SHA-2:TLSは、現在使用SHA-1の後継のために推奨されます。
-
SHA-2は、SHA-1を基準に大幅な変更を加え、2001年に発売されたセキュアハッシュアルゴリズム2のフルネームで、SHA-2シリーズは、6つのハッシュ関数、要約(ハッシュ値)を含みます224256384、または512それぞれ:SHA-224、SHA-256、SHA-384、SHA-512。彼らは、28バイト、32バイト、48バイト、ダイジェスト64バイトを生成することができました。
-
SHA-2の保護では、データの整合性は、ファイルにコンマを変更しても、達成することができ、スペースを追加し、結果のファイルの概要は全く異なるものになりますが、SHA-2は、平文の暗号化に基づいており、セキュリティは十分ではない、それはそれが何であるかを使用すべきですか?
-
より高いセキュリティの暗号化は、フロントHMACであるかを理解するために、HMACを使用することで、あなたはMACであるかを知る必要があります。
-
MACは、それによってメッセージのデータ保全性を保護し、メッセージの内容への変更を検出するためにMAC値(また、秘密鍵を所有している)検証できるように、MACアルゴリズムおよび鍵によってメッセージから生成されたメッセージ認証コードを表します。
- HMACは、HMACを計算された値は、SHA-256など、任意の暗号ハッシュ関数で使用することができるMAC +ハッシュの組み合わせを使用しての値であるMACさらなる拡張です。
今、私たちはそこだけで一つの質問があり、それはそれを行うにはどのように認定、認定され、整合性の問題を解決しましたか?私たちは情報を盗むためにいずれかの当事者によってマスクすることができる(***人)***、サーバにデータを送信しています。これは、サーバーが送信情報を受信するために、カモフラージュにもを参照することができ、サーバに情報を送信するために、あなたになりすますことができます。それでは、どのようにこの問題を解決するには?
認証
あなた自身のユニークさにそれを確認する方法?私たちは、上記の概念を復号化するための秘密鍵を説明し、公開鍵暗号処理に登場しました。私たちは、秘密鍵の暗号化、復号化するための公開鍵にそれを移調注文することができますので、秘密鍵は、ユニークな識別することができる全て、言及した唯一のものです。秘密鍵ダイジェストアルゴリズムの使用と相まって、認証を達成するために、デジタル署名を実装することが可能です。
今までは、対称暗号化、非対称暗号化との統合利用ダイジェストアルゴリズムを、私たちは実装されている暗号化、データの認証、認証を、それを確保するためではないでしょうか?いや、ここにもあり、認定デジタル署名の問題。秘密鍵は自分自身なので、誰でも公開鍵を公開することができ、それが認定公開鍵、信頼の問題を解決するための公開鍵を公開する必要があります。
CA、CAの導入は、認証機関、認証機関の略だから、あなたは信頼発行、公開キーを解決するために、CA公認が制定されたようにする必要があります。
CAは、いくつかの上で世界を認定しましたが制定されたDV、OV、EVは3差が信頼性あるあります。DVは、アップル、GitHubのように、会社の名前が表示されますブラウザのアドレスバーにサイトの所有者(の身元を証明するために、EVが合法と厳格な検証の監査後、最高で、最低、唯一のドメインレベルの信頼性でありますウェブサイト)。機関投資家の信頼を一緒の異なるレベルの階層を形成します。
- 通常、デジタル証明書の公開鍵とペアとなる秘密鍵と証明書署名要求(CSR)を生成した志願。CSRは、公開鍵とその他の情報が含まれているエンコードされたテキストファイルである(例えば、ドメイン名、組織、電子メールアドレスなど)は、証明書に含まれます。
- CSRは、典型的には、鍵ペアを生成して終了したサーバ証明書にインストールされ、CSRに含まれる情報のタイプは、認証証明書のレベルに依存します。異なる公開鍵で、申請者の秘密鍵は安全のために、CA(または他の誰か)を表示しません。
CSRを生成した後、申請者は、CAが正しい場合は、デジタル署名して、申請者に送信するために発行した秘密鍵証明書を使用し、それが正しいか含まれている情報を確認し、CAに送信します。
概要
この記事では、HTTP TLSおよびSSL、TLSおよびSSLは、問題を解決するためにどのようなことを行うには何も、私たちはHTTPS、HTTPSはHTTP、HTTPSの問題を解決します理由に焦点を当て、?真に安全なデータ伝送を実現するには?
あなたがこの記事を気に入って、またはあなたが前方注意ああ親指の多くを願って支援する場合記事は、容易ではありません。記事は、継続的に更新されます。絶対に乾燥!!!