💭
SSL/TLS・SSH
はじめに
インターネットでの通信を保護する技術に SSL/TLS と SSH がある。どちらも通信データを暗号化することで盗聴や改ざんを防ぎ、安全に情報をやり取りできるようにするものだが、用途や仕組みに違いがある。初心者向けに、それぞれの概要と特徴を分かりやすくまとめる。
SSL/TLS とは
役割
- Web サイトやメールサーバなど、クライアントとサーバ間の通信を暗号化する技術
- 本来の SSL は古い規格で、現在は TLS が後継となっている
- インターネット上を流れるデータを保護し、中間者攻撃や盗聴のリスクを低減する
仕組みの概要
- クライアントとサーバが「ハンドシェイク」と呼ばれる手順で通信(TCP)を開始する
- 共通鍵暗号や公開鍵暗号など複数の手法を組み合わせ、通信内容とサーバの正当性(正しいサーバにつながっているか)を保証する
- ウェブブラウザの URL が「https://」で始まるサイトは、この SSL/TLS によって暗号化されている
- ポート番号は通常 443 番を使用する
主な用途
- ウェブサイトのログイン情報やクレジットカード情報などの個人情報を保護
- メール送信や FTP など他の通信プロトコルでも、オプションや専用ポートを使うことで TLS による暗号化が可能
- 証明書(SSL サーバ証明書)を用いてサーバの正当性を証明することが一般的
SSH とは
役割
- リモートサーバへの安全なログインやコマンド実行、ファイル転送などを行う際に使われるプロトコル
- Telnet や FTP など、従来は平文でパスワードやデータをやり取りしていた通信を暗号化し、盗聴やなりすましを防ぐ
仕組みの概要
- クライアントとサーバが鍵交換を行い、暗号化されたチャネルを確立する
- パスワード認証や公開鍵認証など、複数の認証方式がサポートされる
- ポート番号は通常 22 番を使用する
主な用途
- 遠隔地にある Linux サーバへの接続
- SSH 経由で安全にファイルを送受信する SCP や SFTP
- SSH トンネリングでローカルマシンから外部サービスへの安全な経路を確保
SSL/TLS と SSH の違い
比較項目 | SSL/TLS | SSH |
---|---|---|
用途 | 主に Web サイトなどのクライアント–サーバ間の通信を暗号化する | リモートシェル、サーバ管理、ファイル転送などを安全に実行する |
ポート | HTTPS の場合は 443 番、その他の TLS 対応サービスは用途により異なる | 通常 22 番ポート |
認証 | サーバ証明書によるサーバ認証(クライアント証明書による認証も可能) | パスワード認証や公開鍵認証(秘密鍵と公開鍵のペア)が中心 |
仕組み | SSL/TLS ハンドシェイクで共通鍵を交換し、対話型の通信を暗号化 | 鍵交換により暗号化チャネルを確立、リモート操作用の安全な対話型通信 |
主な用途 | Web ページのログインフォームや決済情報の保護、メール通信の暗号化など | システム管理やリモートサーバへのログイン、SCP や SFTP によるファイル転送 |
まとめ
SSL/TLS は主にウェブなどのクライアントとサーバ間の通信を暗号化し、データの盗聴や改ざんを防ぐために使われる。SSH はリモートサーバへの安全な接続や操作に特化したプロトコルで、サーバ管理者や開発者がよく利用する。両方とも暗号化を通じて安全性を高める技術だが、使われる場面やプロトコルが異なるため、用途に応じて使い分ける必要がある。色々話したが以下のように頭の中に入れておけばとりあえず良いだろう。
SSL/TLS
は、ウェブサイトの保護をする「技術」
SSH
は、 ネットワークに接続された機器へ安全に遠隔操作を行うための通信手段(プロトコル)」
Discussion