製品プロフィール

mTLS(相互 TLS)

証明書ベース

サーバだけでなくクライアントも証明書で身元を示す相互認証。改ざん・なりすましに強く、ゼロトラストやサービス間通信で使われる。詳しくは TLS も参照。

3つの要点
TL;DR
  1. クライアントも証明書で身元を示す相互認証。
  2. ネットワーク層で透過的に効き改ざんに強い。
  3. 一般ユーザー向けには証明書運用が重すぎる。

基本情報

仕様と立ち位置

製品・技術の概要mTLS(相互 TLS)サーバだけでなくクライアントも証明書で身元を示す相互認証。改ざん・なりすましに強く、ゼロトラストやサービス間通信で使われる。詳しくは TLS も参照。
種別
証明書ベース
目的
相互認証
トークン/形式
クライアント証明書
最大の強み
双方向で強力な認証ネットワーク層で透過的に効く
代表的な用途
サービス間マイクロサービス)通信ゼロトラスト / IoT・高信頼が要る経路

選定ガイド

選定ポイント

採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。

採用に向く条件

選ぶ理由

  1. 双方向で強力な認証
  2. ネットワーク層で透過的に効く
  3. サービスメッシュ/ゼロトラストに好適

事前に確認する条件

考慮すべき点

  1. 証明書の発行・更新・失効の運用が重い
  2. 一般ユーザー向けには不向き
  3. 設定が複雑

詳しい解説

もっと詳しく

どんな仕組みか

mTLS(相互 TLS)は、通信する双方が証明書を提示し合って互いに認証する仕組みです。通常の TLS(HTTPS)ではサーバーだけが証明書を出しますが、mTLS ではクライアントも証明書を提示します。

これにより「サーバーが本物か」だけでなく「クライアントが本物か」も確かめられ、双方向で相手を信頼できる強固な接続になります。

横にスクロール

証明書発行基盤がクライアントとサーバーへ短命証明書を発行し、TLS 1.3の接続確立中に双方が信頼連鎖、有効期間、用途、名前、失効状態と秘密鍵の所有を検証し、証明書IDをサービスIDへ写像してからアプリケーション側で操作を認可する流れ
mTLSでは、証明書の提示だけでなくCertificateVerifyの署名で対応する秘密鍵の所有を確かめます。双方が信頼アンカー、証明書チェーン、期限、用途、名前、失効状態を検証し、サーバーは証明書IDをサービスIDへ写像します。運用では短命証明書を自動更新し、新旧CAの信頼を重複させて移行後に旧資格を失効します。

どう動くのか

TLS のハンドシェイクの中で、サーバー証明書の検証に加えてクライアント証明書の検証が行われます。

  • サーバーは自分の証明書を提示する(通常の TLS と同じ)
  • サーバーが CertificateRequest でクライアントにも証明書を要求する
  • クライアントが証明書を提示し、対応する秘密鍵で署名(所有証明)する
  • サーバーは、その証明書が信頼できる CA で署名され、失効していないかを検証する

双方の証明書が正当だと確認できて初めて、暗号化された通信が確立します。秘密鍵は端末外に出ないため、証明書の提示は「鍵の所有」の証明になり、パスワードのような共有秘密より盗まれにくいのが本質的な強みです。

他の方式との違い

トークンやパスワードによる認証が「アプリケーション層で誰かを確かめる」のに対し、mTLS は接続そのものの層(トランスポート層)で相手を認証します。

観点mTLSAPI キー / JWT
認証の層接続確立時(トランスポート)リクエスト(アプリ層)
資格情報証明書+秘密鍵(端末外に出ない)共有文字列/トークン
なりすまし耐性高い(鍵の所有が必要)漏洩で悪用されうる
主対象サービス間(機械)アプリ・ユーザー
運用負荷重い(証明書ライフサイクル)軽い

人のログインよりも、機械間(サービス間)の通信を強く保護したい場面に向いています。

使いどころ・注意点

サービス間通信や、境界を信用せず常に検証するゼロトラスト環境で採用されます。サービスメッシュ(Istio 等)は、サイドカー間の通信を mTLS で自動的に暗号化・相互認証する代表例です。

証明書ライフサイクルの自動化が前提

mTLS の運用負荷は重く、証明書の発行・配布・更新・失効を継続的に回す必要があります。手作業では有効期限切れによる障害を招きがちなため、多数のサービスに展開する場合は、短命証明書を自動発行・自動ローテーションする PKI 基盤(SPIFFE/SPIRE、cert-manager、サービスメッシュ)の整備が前提になります。失効の反映(CRL/OCSP)や、CA の秘密鍵保護も重要です。

総じて mTLS は、証明書と秘密鍵に基づいて接続時点で双方を強く認証する方式で、ゼロトラストやサービス間通信の保護に有効な一方、証明書ライフサイクルの自動化が実運用の鍵となります。

実装・運用の視点

mTLS(相互 TLS)を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

サービス間(マイクロサービス)通信

比較で見る軸

種別: 証明書ベース / 目的: 相互認証 / トークン/形式: クライアント証明書

導入後に効く点

ネットワーク層で透過的に効く

先に潰すリスク

証明書の発行・更新・失効の運用が重い

数字・仕様の読み方
種別
証明書ベース
目的
相互認証
トークン/形式
クライアント証明書

判断チェックリスト

  • 自社の用途が「サービス間(マイクロサービス)通信 / ゼロトラスト」に近いか確認する。
  • 強みである「双方向で強力な認証」が本当に評価軸になるか確認する。
  • 注意点の「証明書の発行・更新・失効の運用が重い」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

サービス間(マイクロサービス)通信ゼロトラストIoT・高信頼が要る経路

向いている用途

こんな用途に向く

サービス間(マイクロサービス)通信ゼロトラストIoT・高信頼が要る経路
公式サイト