2018年8月に公式リリースされたTLS 1.3へは既に準拠されているでしょうか?ビジネスにおいてWebサイトが非常に重要な役割を担っている今日、多くのユーザーはWebサイトセキュリティに対して敏感であり、そのニーズの応えることがユーザーに安心感と信用を生みます。
本稿では、このTLS 1.3の概要と前バージョンとなるTLS 1.2との違い、それと今後企業が取るべき戦略についてご紹介します。
そもそもTLSとは何か?
「TLS 1.3」と聞いてピンと来る方は、情報セキュリティ関係者かWebサイト運営担当者のいずれかでしょう。これらに従事していない場合、「TLS 1.3」と聞いてもそれが何か分からないという方が多いかと思いますので、まずはTLSが何かについて解説します。
TLS (Transport Layer Security)とはインターネットなどのコンピューターネットワークにおいて、コンピューター同士が安全にデータのやり取りをするための暗号化通信プロトコルです。ちなみに「プロトコル(Protocol)」とは特定の団体によって標準化された手順のことを指します。つまり、インターネット上で安全にデータ通信を行うために、世界的に標準化された暗号化技術の規則のようなものです。
TLSは聞き慣れなくとも「SSL」なら知っているという方が多いのではないでしょうか?SSLとは「Secure Socket Layer」といって、Webブラウザを開発していたNetscape社が1990年代に開発した暗号化通信プロトコルです。主にインターネット上のオンラインサービスや決済通信の秘密保護を行うための技術として開発され、次第にセキュリティのために多くのWebサイトで実装することが当たり前になっていきました。
WebサイトのURL先頭に「http://」という文字列があることは誰もが知っているかと思いますが、SSLに対応しているWebサイトおよびWebページではURL先頭に「https://」という文字列があります。これがSSLに対応している証拠であり、そのWebサイトおよびWebページはSSLによって情報が保護されていることになります。(SSL対応してないWebサイトは、今ではほとんど見かけません)
つまり、TLSならびにSSLは、いずれも個人情報やクレジットカード情報などの重要なデータの通信を暗号化して、サーバーとエンドポイントデバイス(PCなど)間での通信を安全に行なうための仕組みです。
話をTLSの解説に戻すと、TLSはインターネット技術の標準策定組織であるIETF(The Internet Engineering Task Force)が標準化した暗号化通信プロトコルです。SSLをベースに改良を重ねたものであり、いわばSSLの後継プロトコルにあたります。つまりTLSとは「SSLの進化版」であり、TLS 1.3はTLS1.0のリリースから数えて3つめのバージョンということです。
SSLはバージョン3.0まで更新されてきましたが、現在ではほとんど使用されていません。SSL Labs によると、主要サーバーの暗号化通信プロトコルサポート状況の観測データではTLS 1.2の利用が大方を占める94.5%なのに対し、SSL3.0はわずか8.5%にとどまっています。ちなみにTLS 1.3のサポートは10.7%であり、リリースから徐々にですがサポート率が上昇しています。(2019年2月現在)
TLS 1.3はTLS 1.2から何が変わったのか?
TLS 1.3はTLSの最新バージョンとして、TLS 1.2からセキュリティとスピードの向上が約束された暗号化通信プロトコルです。具体的に何が変わったのか、そのポイントを解説します。
- Point 1. 対称暗号アルゴリズムでは、全ての古いアルゴリズムは取り除かれ、TLS 1.3で残っているアルゴリズムはすべて、AEAD(Authenticated Encryption with Associated Data) で認証された暗号化を使用している
- Point 2. ゼロRTT(0-RTT)モードが追加され、一部のセキュリティ特性を犠牲にすることで一部のアプリケーションデータの接続設定では往復回数を削減できるようになった
- Point 3. ServerHello以後のすべてのハンドシェークメッセージは暗号化される
- Point 4. HMACベースのExtract-and-Expand Key Derivation Function(HKDF)をプリミティブとして使用して、鍵導出関数を再設計された
- Point 5. ハンドシェイク状態遷移は、より一貫性があり余分なメッセージを取り除くよう再構成された
- Point 6. ECCは基本仕様に入り、複数の新しい署名アルゴリズムが含まれています。楕円曲線のポイント・フォーマット・ネゴシエーションは、各楕円曲線の単一ポイント・フォーマットを使用することで削除された
- Point 7. 圧縮、カスタムDHEグループ、およびDSAが削除されました。RSAパディングでPSSが使用されるようになった
- Point 8. TLS 1.2のバージョンネゴシエーション検証メカニズムは、拡張機能のバージョンリストを使用して廃止された
- Point 9. セッション再開については、サーバー側の状態の有無にかかわらず旧バージョンTLSのPSKベースの暗号スイートから、1つの新しいPSK交換方式に統一された
出典:インターネットドラフト
企業がTLS 1.3で新しい戦略を組むべき理由
セキュリティへの姿勢がビジネスに大きな影響を与えることは、すでに多くの経営者が理解していることです。その中でWebサイトおよびWebサービスの暗号化通信プロトコルは最も基本的な戦略であり、現行としてTLS 1.2に準拠している企業は多いでしょう。そうした企業が、今後TLS 1.3で新しい戦略を組むべき3つの理由があります。
理由1. 危殆化(きたいか)暗号を排除して新しい暗号へ移行する
TLSには都度新しい暗号技術が採用されているのですが、暗号技術開発と攻撃の歴史は常にいたちごっこであり、過去に安全だった暗号を漫然と使い続けることはセキュリティを維持することには繋がりません。TLSにおいては最新の技術動向を見極めながら、古くなった暗号を見直すなどの取り組みが必要です。
TLS 1.3で使用する共通鍵暗号はサイバー攻撃リスクの少ない、認証付き暗号であるAEAD(Authenticated Encryption with Associated Data)を暗号スイートの標準としています。さらにEdDSA(Edwards-curve Digital Signature Algorithm)という署名方式が追加されたことで、暗号化通信プロトコルの安全性が飛躍的に拡大しています。
理由2. 秘匿性の徹底
TLS 1.3では鍵の共有に使用するアルゴリズムはDHEおよびECDHEに限定されています。これにより、ある時点の鍵ペアの秘密鍵が漏えいしたとしても、過去のセッションで通信した暗号文は解読することができない仕様になっています。
理由3. 効率的かつ安全なハンドシェイク
ハンドシェイクとは、情報通信において2点間の通信路を確立した後に、本格的な通信を行う前にパラメータを取り決めるなどの事前のやり取りを自動的に行う技術のことです。TLS 1.3ではこのハンドシェイクが大きく改善され、アプリケーションデータの暗号化通信を開始するまでにハンドシェイクでやり取りするメッセージの往復回数(RTT:Round Trip Time)が、TLS 1.2に比べてより少ない回数で暗号化通信を開始できるようになっています。
このように、TLS 1.3はTLS 1.2からの改善点が非常に多く、実質的なTLS2.0ともいわれています。また、TLS 1.3ではハンドシェイクの所要時間が大幅に改善されておりWebパフォーマンスの向上によるエクスペリエンスの向上とサイトSEO効果にも期待できます。
Webサイトセキュリティを向上し、ユーザーからの安心感と信用を生むためにもTLS 1.3への準拠を早期段階で検討していきましょう。
NVCが取り扱っている、Array NetworksはTLS1.3に今後対応予定です。よりセキュアなアプリケーションデリバリとSSL VPNアクセスを実現するために、ぜひご検討ください。