TLSとは何ですか?平易な英語で説明されているトランスポート層セキュリティ暗号化

知り合いと内密に会話したい場合は、直接会ってプライベートな場所を見つけることができます。

ただし、インターネットを介して機密情報を送信する場合は、さらにいくつかの考慮事項があります。

TLS、またはトランスポート層セキュリティは、プロトコルを指します。「プロトコル」とは、多かれ少なかれ「この辺りで物事を行うことに同意した方法」を意味する言葉です。

TLSの「トランスポート層」の部分は、インターネットプロトコルスイートモデルでのクライアントとサーバーの相互作用など、ホスト間の通信を指します。

TLSプロトコルは、次の基本的な問題を解決しようとします。

  • あなたがあなたが誰であるかをどうやって知ることができますか?
  • あなたからのこのメッセージが改ざんされていないことをどうやって知ることができますか?
  • どうすれば安全に通信できますか?

TLSがどのように機能するかを、わかりやすい英語で説明します。多くの成功したインタラクションと同様に、それはハンドシェイクから始まります。

あなたを知ってもらう

TLSハンドシェイクの基本的なプロセスには、Webブラウザーなどのクライアントと、Webサイトをホストしているサーバーなどのサーバーが含まれ、通信の基本ルールを確立します。

それはクライアントが挨拶することから始まります。文字通り。これはClientHelloメッセージと呼ばれます。

たClientHelloメッセージは、TLSプロトコルのバージョンとサーバ伝え暗号スイートは、それがサポートします。

「暗号スイート」は豪華なホテルのアップグレードのように聞こえますが、通信を保護するために使用できる一連のアルゴリズムを指しているにすぎません。

サーバーは、同様の名前のServerHelloメッセージで、提供された選択肢から使用するプロトコルバージョンと暗号スイートを選択します。サーバーが以前のハンドシェイクの再開をサポートしている場合は、セッションIDなどの他のデータも送信される場合があります。

選択した暗号スイートに応じて、クライアントとサーバーは共有シークレットを確立するためにさらに情報を交換します。

多くの場合、このプロセスにより、交換が非対称暗号化からさまざまなレベルの複雑さを持つ対称暗号化に移行します。これらの概念を一般的なレベルで調べて、TLSにとって重要である理由を見てみましょう。

非対称の始まり

これは非対称です:

非対称暗号化は、認証を実行できる1つの方法です。あなたが自分自身を認証するとき、あなたは基本的な質問に答えます、「あなたがあなたがあなたであると言う人であるとどうやって私は知るのですか?」

非対称暗号化システムでは、認証を実現するためにキーのペアを使用します。これらのキーは非対称です。1つの鍵は公開鍵であり、ご想像のとおり、公開鍵です。もう1つは秘密鍵です。これは、ご存知のとおりです。

通常、TLSハンドシェイク中に、サーバーはデジタル証明書を介して公開鍵を提供します。TLSは、非推奨のSecure Sockets Layer(SSL)プロトコルに取って代わりますが、SSL証明書と呼ばれることもあります。

デジタル証明書は、認証局(CA)と呼ばれる信頼できるサードパーティによって提供および検証されます。これは、それ自体がまったく別の記事です。

誰でも公開鍵を使用してメッセージを暗号化できますが、そのメッセージを復号化できるのは秘密鍵だけです。

非対称暗号化のセキュリティは、秘密鍵が秘密のままであることにのみ依存しているため、非対称性があります。

片道の旅という意味でも非対称です。アリスは公開鍵で暗号化されたメッセージを送信できますが、どちらの鍵も暗号化されたメッセージをアリスに送信するのに役立ちません。

対称的な秘密

非対称暗号化は、対称暗号化よりも多くの計算リソースを必要とします。

したがって、TLSハンドシェイクが非対称交換で始まる場合、クライアントとサーバーはこの最初の通信を使用して、セッションキーと呼ばれることもある共有シークレットを確立します。この鍵は対称的です。つまり、両方の当事者が同じ共有秘密を使用し、暗号化を安全にするためにその秘密を維持する必要があります。

最初の非対称通信を使用してセッションキーを確立することにより、クライアントとサーバーは、自分だけが知っているセッションキーに依存できます。セッションの残りの部分では、両方がこの同じ共有キーを使用してメッセージを暗号化および復号化し、通信を高速化します。

安全なセッション

TLSハンドシェイクは、非対称暗号化または他の暗号スイートを使用して、共有セッションキーを確立する場合があります。セッションキーが確立されると、ハンドシェイク部分が完了し、セッションが開始されます。

セッションは、クライアントとサーバ間の暗号化通信の継続時間です。この間、メッセージはクライアントとサーバーのみが持つセッションキーを使用して暗号化および復号化されます。これにより、通信が安全になります。

交換される情報の整合性は、チェックサムを使用して維持されます。セッションキーを使用して交換されるメッセージには、メッセージ認証コード(MAC)が添付されています。これは、デバイスのMACアドレスと同じではありません。MACは、セッションキーを使用して生成および検証されます。

このため、どちらの当事者も、メッセージが受信される前に変更されたかどうかを検出できます。これにより、「あなたからのこのメッセージが改ざんされていないことをどうやって知ることができますか?」という基本的な質問が解決されます。

ネットワークの切断が原因で、またはクライアントが長時間アイドル状態になっているために、セッションが意図的に終了する可能性があります。セッションが終了したら、新しいハンドシェイクを介して、またはセッションの再開を許可するセッションIDと呼ばれる以前に確立されたシークレットを介して再確立する必要があります。

TLSとあなた

要約しましょう:

  • TLSは、安全な通信を提供するための暗号化プロトコルです。
  • 安全な接続を作成するプロセスは、ハンドシェイクから始まります。
  • ハンドシェイクは共有セッションキーを確立し、それを使用してメッセージを保護し、メッセージの整合性を提供します。
  • セッションは一時的なものであり、終了したら、再確立または再開する必要があります。

これは、通信を安全に保つのに役立つ非常に複雑な暗号化システムの表面レベルの概要にすぎません。このトピックの詳細については、暗号スイートとサポートされているさまざまなアルゴリズムを調べることをお勧めします。

TLSプロトコルは、日常生活において非常に重要な目的を果たします。それはあなたの家族へのあなたの電子メール、あなたのオンラインバンキング活動、そしてあなたがこの記事を読んでいる接続を保護するのに役立ちます。

HTTPS通信プロトコルは、TLSを使用して暗号化されます。URLバーに小さな鍵のアイコンが表示されるたびに、この記事で読んだばかりのすべての概念を直接体験しています。

これで、最後の質問に対する答えがわかりました。「どうすれば安全に通信できますか?」