【エムティーエルエス】
mTLS(相互TLS認証) とは?
💡 名刺交換しないと会話すら始まらない、超慎重な認証プロトコル
📌 このページのポイント
mTLSって普通のTLSと何が違うの?
どうしてわざわざ両方で確認する必要があるの?
マイクロサービスのように、サービス同士が通信する場面では「このリクエストは本当に正規のサービスから来たのか」を確認しないと危険なんだよ。悪意のあるサービスがなりすましてデータを盗む可能性があるからね
サービスメッシュでよく聞くけど、関係あるの?
証明書の管理って大変そうだよね?
そこが一番の課題だね。サービスが数百個あると証明書も数百枚必要になるし、有効期限の管理も大変だよ。だからSPIFFEという標準仕様を使って、証明書の自動発行・自動ローテーションを行うのが現代的なやり方なんだ
SPIFFEって初めて聞いた!どんな仕組みなの?
SPIFFEはワークロードごとに一意のIDを割り当てて、短い有効期限の証明書を自動発行する仕組みだよ。証明書の寿命を数時間〜数日に短くすることで、万が一漏洩しても被害を最小限にできるんだ。Kubernetes環境ではSPIREという実装がよく使われているよ
まとめ:ざっくりこれだけ覚えればOK!
「mTLS」って出てきたら「お互いに証明書を見せ合って本人確認するTLS」と思えればだいたいOK!
📖 おまけ:英語の意味
「mutual Transport Layer Security」 = 相互トランスポート層セキュリティ
💬 mutualは「お互いの」という意味で、双方向の認証を表しているよ。通常のTLSに「m」が付くだけで、認証の方向が片方向から双方向になるんだよ