SSLとは何ですか?初心者向けマニュアル

SSL(Secure Sockets Layer)は暗号化を使用してデータを送信するためのプロトコルです。

SSLプロトコルは複数のレベルのセキュリティを提供します:

  • 認証と対称暗号を使用して鍵交換が行われます;
  • 対称暗号化によって機密性が維持されます;
  • 情報の整合性は認証コードによって確認されます。

SSLプロトコルは、アプリケーションからデータを転送する前にサーバーとの認証、および暗号化アルゴリズムやセッションキーの交渉に使用されます。

SSLの特徴

SSLプロトコルは指定されたユーザー間で安全な接続を提供するように設計されました。SSLは複数のレベルで動作し、接続の検証、エラー報告、暗号化データや鍵セットとの作業が行われます。

SSLは、TCP/IPプロトコルのトランスポート層およびHTTP、TELNET、FTPプロトコルを持つさまざまなプログラムの情報のセキュリティフィルタとして使用されます。

現在の所有者との適合性を確認するために、SSLはデジタル証明書を使用します。SSLは複数の種類の証明書を使用します。

  • 信頼された証明書。 これは特定の認証機関によって発行され、信頼できる仲介者として機能し、公開鍵が所有者に属することを確認します。
  • 自己署名証明書。 これはユーザーによってカスタム作成されます。信頼されたものと同様に接続保護を提供します。
  • 空の証明書。 SSL設定を確認するためのランダムデータを含みます。

SSL証明書は、パスワードやその他の機密データの安全な転送を必要とするブラウザとサイト間のHTTP接続を暗号化するために広く使用されています。

SSLの暗号化方法

SSLプロトコルは非対称暗号化と対称暗号化を使用します。

  1. 非対称暗号化では、公開鍵(証明書に示されることが最も多い)を使用してデータをエンコードし、プライベートキーを使用してデータを復号します。RSAは最も一般的な非対称暗号化アルゴリズムと見なされます。

  2. 対称暗号化は、同一の鍵を使用して行われ、送信者と受信者が保持する必要があります。この方法は、大量のデータの場合に使用され、非対称よりも高速です。例:AES、3-DES、RC4。

公開鍵暗号は、送信者と受信者の認証(デジタル証明書を使用)に使用されます。その一方で、セッションキーを作成するために高速な対称暗号化アルゴリズムが使用されます。

SSLで情報の整合性を確認するために、ハッシュ関数が使用されます。現在、SHA256は最も信頼性の高いアルゴリズムの1つとされています。

SSLの使用場所

暗号化を必要とするさまざまなアプリケーションの開発時に、SSLはSMTP、HTTP、FTPなどのさまざまなアプリケーションプロトコルの上に構築されます。かつてSSLは、常に信頼できるTCPトランスポートプロトコルの層と一緒に使用されていました。その後、SSLはUDPデータグラムとの相互作用が実装されました。

ほぼすべての人気のあるブラウザ(Chrome、Firefox、Opera、Safari)はSSL/TLSプロトコルをサポートしています。SSLは、仮想プライベートネットワーク設定(IPsecを使用するVPN)および電子メールの操作時に広く使用されています。

多くのウェブサイトはデータ暗号化を提供するためにSSLプロトコルを頻繁に使用します。これに基づいて、HTTPSプロトコルが後に作成され、支払いサービスやプログラムの安全な接続を提供します。

SSL証明書の存在は、確立された安全な接続中にブラウザのステータスバーにロックアイコンと「https」プレフィックスによって確認されます。より信頼性のある安全な接続のサインは、会社の名前がステータスバーのロックアイコンの横に緑色で書かれていることです。このようなサインは、認証機関によって所有者のウェブサイトが確認されたことを示します。

SSLの脆弱性

SSLプロトコルは、送信されるメッセージのタイプを攻撃者が知っている場合に、辞書(可能なパスワードのリストを検索すること)を使用して攻撃される可能性があります。この脆弱性に対処するには、鍵の長さを128ビットに増やすことができます。

もう1つの広く知られている攻撃タイプは、SSLハンドシェイクプロトコルでのクライアントとサーバーの接続確立時に発生する攻撃です。これは、さまざまな信頼性の低い暗号化アルゴリズムの選択を達成するために行われます。このような行為はメッセージのサムハッシュの不一致によって識別され、攻撃が検出されます。

国家レベルでは、特別なサービスがデータ処理センター(DPC)に追跡装置を設置することでSSL接続に対する攻撃が可能です。この時、外部のSSLトラフィックがDPC内部で復号化された後に傍受され、アプリケーションサーバー間で非暗号化の方式で送信されます。現在、SSLに含まれるすべてのタイプの暗号化は、データ処理センターへのアクセスが得られた場合にサーバーに鍵を保存する必要があるため、ハッキングされる可能性があります。

現在の推奨事項として、より強力なTLSプロトコルにSSLプロトコルを置き換えることが推奨されます。