mTLS 【mutual TLS】 TLS相互認証 / 相互TLS認証 / two-way TLS
概要
mTLS(mutual TLS)とは、WebサーバとWebクライアント(ブラウザなど)の間で認証と暗号化を行なうTLSの拡張仕様の一つで、サーバとクライアントが互いに相手をデジタル証明書によって認証すること。業務用システムなどで用いられることがある。TLS(Transport Layer Security)は一般に「SSL」(Secure Socket Layer)として広く知られる認証・暗号化方式の後継規格で、WebブラウザがWebサーバにアクセスする際、サーバのデジタル証明書(公開鍵証明書)によって認証(なりすました偽物でないことの確認)を行い、暗号鍵を交換して以降の通信を暗号化する。TLSを併用したHTTP通信ではURLが「https://~」となる。
mTLSはオプションとして用意されている仕様で、クライアントがサーバを認証するだけでなく、サーバもクライアントから証明書(クライアント証明書)を取り寄せて認証を行ない、名乗り出た本人であることを確かめる。互いに相手方の認証に成功すると、通常のTLSと同様に通信が暗号化される。
クライアント側にも信頼できる認証局(CA:Ceritificate Authority)が発行したX.509証明書を用意する必要があり運用が煩雑なため、ブラウザからWebサーバに接続する用途ではほとんど利用されない。Web APIを利用したクラウドサービスと外部プログラムの連携やIoTデバイスの認証など、機器やシステム間の接続・連携のために用いられることが多い。
(2022.3.3更新)