TLSv1.3 をサポートしたCloudFrontの動作を弊社のカフェサイトで確認してみた

TLSv1.3サポートしたAmazon CloudFront、弊社カフェサイトで試してみました。
2020.09.04

AWSチームのすずきです。

Amazon CloudFrontが TLSv1.3サポートのアナウンスがありました。

Announcement: Amazon CloudFront announces support for TLSv1.3 for viewer connections

TLSv1.3をサポートするWebブラウザで、CloudFront を利用したサイトへの接続を行い、 CloudFront が TLSバージョン1.3サポートとなった事を確認する機会がありましたので、紹介させていただきます。

ブラウザ

Google Chrome バージョン: 85.0.4183.83(Official Build)を利用しました。

SSL Labs

SSL Labsを利用してブラウザのテストを行いました。

TLSv1.3サポートする事を確認しました。

検証サイト

Developers.IO CAFE のサイトで動作を確認しました。

当サイトは、CloudFront と S3静的Webサイトホスティングを利用しています。

結果

Chromeブラウザの デベロッパーツール(開発者ツール)、「セキュリティ」タブを開きます。

「TLS 1.3、X25519、AES_128_GCM を使用して暗号化および認証されている」接続であることを確認できました。

curl

「curl」でも確認を試みました。

$ curl --version
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

SSL connection using TLSv1.3 、TLSバージョン1.3で接続された事を確認できました。

$ curl -s -v https://cafe.classmethod.jp > /dev/null
* Rebuilt URL to: https://cafe.classmethod.jp/
*   Trying 99.84.56.83...
* TCP_NODELAY set
* Connected to cafe.classmethod.jp (99.84.56.83) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Unknown (8):
{ [10 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4853 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Client hello (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS Unknown, Certificate Status (22):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256

まとめ

TLSv1.3 をサポートした CloudFront、より良いパフォーマンス、高いセキュリティで利用できる事が期待できます。

CloudFront は デフォルトで TLSv1.3 をサポート、既存の環境についても 設定変更なく利用可能です。

現行世代のWebブラウザは TLSv1.3をサポートしていますが、 利用可能な最上位の TLSバージョン(1.2、1.1、1) への自動ネゴシエーションにより、サポート外のブラウザでも CloudFront を引き続き利用する事が可能です。