フロントエンドエンジニアが TLS を学んでよかったこと

2023-01-01

はじめに

年の瀬になって、TLS 1.3 を学習 を振り返って学習してよかったことは何かな、と思ったのでちょっとまとめてみました。

シンプルで拡張性の高いやり方を知れた

TLS は長い年月をかけ、世界中で使われてきたプロトコルです。
その設計や仕様、そして背景を知ることで、エンジニアとしての考え方が高まった気がしています。

例えば、ディフィー・ヘルマン系の鍵交換方式を使うことで、PFS の実現と同時に RTT を減らすという一挙両得な方法を知ることができました。
一方、TLS バージョンを偽装しないと、ミドルウェアが不審な通信と判断され遮断されるケースがあるなど、現実には予期しない障害が起きることもしれました。

エンジニアとしての手段が増えた

現代においてTLSは必要不可欠な要素なので、その詳細を知ることで改善の手段を手に入れたと思いました。
例えば TLS 1.3 は通常 1-RTT でコネクションを確立することができるので、TLS 1.2 の 2-RTT に比べて絶対的に有利になることがわかりました。
これは、プロトコルの本質的な違いなので覆すことは原則できません。
TLS のバージョンによってパフォーマンスが違うということが分かっただけでも、前進したと感じています。