TLS/SSL とは?
TLS(Transport Layer Security)は、ネットワーク上の2者間の通信にプライバシー、データ完全性、および認証を提供する暗号プロトコルです。SSL(Secure Sockets Layer)はその廃止された前身であり、現代の「SSL」への言及はほぼ常にTLSを意味します。
別名: TLS, SSL, Transport Layer Security, Secure Sockets Layer, HTTPS
TLSはHTTPSの背後にあるプロトコルであり、インターネット上で最も広く展開されているセキュリティプロトコルです。TLSハンドシェイクはいくつかのステップで安全なチャネルを確立します。クライアントとサーバーはプロトコルバージョンと暗号スイートに合意し、サーバーは証明書を提示(PKIで検証)し、共有セッションキーを導出するためのキー交換を実行し、その後のすべての通信はこれらの対称キーで暗号化されます。現代のTLS 1.3ではこれが1回のラウンドトリップに簡略化されています。
TLSが提供するセキュリティ特性は、機密性(暗号化が盗聴を防ぐ)、完全性(メッセージ認証コードが改ざんを検出)、認証(証明書がサーバーのアイデンティティを検証し、オプションでクライアントのアイデンティティも)です。TLSがなければ、ネットワーク上のデータはトラフィックを観察できる誰でも、ISP、Wi-Fi事業者、ネットワーク管理者、中間者攻撃を行う攻撃者に見えます。
SSL(バージョン1.0から3.0)はPOODLEやBEASTなどの既知の脆弱性により廃止されました。TLS 1.0と1.1も廃止されています。TLS 1.2は広くサポートされており、TLS 1.3(2018年リリース)は現在の標準で、レガシーな暗号スイートを削除しハンドシェイクのレイテンシを削減することでセキュリティとパフォーマンスが向上しています。廃止にもかかわらず、「SSL」は口語的な用語として残っています。「SSL証明書」と「SSLターミネーション」は実際にはTLSを意味することがほとんどです。
Vaulted における TLS/SSL の使われ方
VaultedはすべてのトラフィックをHTTPS経由で提供しています。つまり、ブラウザとサーバー間のすべてのリクエストはTLSで保護されています。これにより転送中の暗号文とメタデータが暗号化され、実際のVaultedサーバーと通信していることが認証されます。ただし、TLSだけではサーバーがシークレットを読むことができる場合、シークレットを保護できません。Vaultedは、TLSの上にクライアントサイドAES-256-GCM暗号化を重ねているため、サーバーは復号できない暗号文のみを受け取ります。TLSはトランスポートチャネルを保護し、クライアントサイド暗号化はデータ自体を保護します。