TLS(Transport Layer Security) - 暗号化全般

暗号化全般 | IT用語集

この用語をシェア

TLSとは

TLS(Transport Layer Security)は、インターネット上でデータを暗号化して安全に通信するためのプロトコルです。1999年にIETF(Internet Engineering Task Force)によって標準化され、それ以前のSSL(Secure Sockets Layer)の後継として開発されました。

TLSは、Webブラウザとサーバー間の通信(HTTPS)、メールの送受信(SMTPS、IMAPS)、VPN接続など、インターネット上のあらゆるセキュアな通信で使用されています。現在の最新バージョンはTLS 1.3(2018年標準化)で、パフォーマンスとセキュリティが大幅に向上しています。

TLSの仕組み

TLSは、通信を開始する前に「ハンドシェイク」と呼ばれるプロセスを実行します。このプロセスで、クライアントとサーバーは以下の処理を行います:

  1. 暗号スイートの合意:使用する暗号アルゴリズムを決定
  2. サーバー認証:サーバーの証明書を検証
  3. 鍵交換:セッション鍵を安全に共有
  4. 暗号化通信開始:共有された鍵でデータを暗号化

AIエンジニアとしての実体験

AIエンジニアとして、TLSの設定は日常的な作業です。特に機械学習モデルをAPIとして公開する際、TLSの適切な設定は必須となります。

あるプロジェクトでは、オンプレミスでLLM推論サーバーを構築し、外部からのAPIアクセスを許可する必要がありました。このとき、Let's Encryptで取得した証明書を使用してTLS 1.3を設定しました。Nginxの設定例:

server {
    listen 443 ssl http2;
    server_name api.example.com;
    
    ssl_certificate /etc/letsencrypt/live/api.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/api.example.com/privkey.pem;
    
    # TLS 1.3のみを許可(セキュリティ重視)
    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers off;
    
    location / {
        proxy_pass http://localhost:8000;
    }
}

TLS 1.2 vs TLS 1.3

TLS 1.3は、TLS 1.2と比較して以下の改善があります:

項目 TLS 1.2 TLS 1.3
ハンドシェイク往復 2往復 1往復(0-RTTも可能)
旧暗号スイート サポート 削除(RC4、3DESなど)
Perfect Forward Secrecy オプション 必須

最新動向(2026年)

TLS 1.2の非推奨化

主要なブラウザベンダーは、TLS 1.0/1.1のサポートを既に終了しており、TLS 1.2についても段階的な非推奨化が進んでいます。新規システムではTLS 1.3のみをサポートすることが推奨されます。

ポスト量子TLS

量子コンピュータの発展に備え、TLSへのポスト量子暗号アルゴリズムの統合が進んでいます。GoogleやCloudflareは、実験的にハイブリッド鍵交換(従来の楕円曲線 + ポスト量子)をテストしています。

トラブル事例と対策

⚠️ 証明書の期限切れ

症状:突然HTTPSアクセスができなくなる

対策:証明書の自動更新を設定し、監視システムで期限を監視する。certbotのcronジョブを確認。

⚠️ Mixed Content警告

症状:HTTPSページでHTTPリソースを読み込み、ブラウザが警告

対策:すべてのリソースをHTTPSで配信するか、相対URLを使用する。

権威あるリソース

関連用語

📝 関連ブログ記事

【2026年最新】OpenSSLの深刻な問題とは?

TLS実装の基盤であるOpenSSLの最新動向について解説しています。

よくある質問(FAQ)

Q. TLS(Transport Layer Security)とは何ですか?

TLS(Transport Layer Security)はネットワーク通信を暗号化・認証するプロトコルです。旧来のSSLプロトコルの後継で、HTTPS・SMTPS・IMAPS・FTPSなど多くのセキュアプロトコルの基盤です。現在はTLS 1.2(最低限)とTLS 1.3(推奨)が使用されており、TLS 1.0・1.1は廃止されています。

Q. TLS 1.2とTLS 1.3の違いは何ですか?

TLS 1.3(2018年)はTLS 1.2(2008年)と比べて:①ハンドシェイクが1-RTTに短縮(TLS 1.2は2-RTT)②0-RTT再接続をサポート(ただしリプレイ攻撃リスクあり)③弱い暗号スイートを削除④Perfect Forward Secrecyが必須⑤ハンドシェイクが暗号化されプライバシー向上しています。パフォーマンスとセキュリティの両面でTLS 1.3が優れています。

Q. NginxでTLS 1.3を設定するにはどうすればよいですか?

nginx.confで ssl_protocols TLSv1.2 TLSv1.3; と設定します。TLS 1.3はOpenSSL 1.1.1以降で対応しています。ssl_ciphers設定でTLS 1.3の暗号スイートは別途管理されるため、TLS 1.2用の暗号スイートの設定とは独立しています。SSL Labsのテスト(ssllabs.com/ssltest)でA+評価が得られることを確認してください。

TLS設定のご相談

TLSに関するご質問や、セキュアな通信基盤構築のご相談など、お気軽にお問い合わせください。