TLS相互認証(mTLS)とは、APIのmTLSを実装する

mTLSは、クライアントとサーバーの両方が証明書を使って相手を認証することで、通信を暗号化しセキュアにする認証方式です。本文ではTLS相互認証の定義、仕組みなどの基本情報を説明した上、mTLSを利用したAPIにリクエストを送信してレスポンスを取得する方法を皆さんに紹介します。

中村 拓也

中村 拓也

23 7月 2025

TLS相互認証(mTLS)とは、APIのmTLSを実装する

mTLSは、クライアントとサーバーの両方が証明書を使って相手を認証することで、通信を暗号化しセキュアにする認証方式です。クライアントとサーバー両方の証明書の認証が完了する場合のみ、暗号化された接続が成り立ちます。mTLSを利用したAPIに接続するために、クライアント証明書を添付してリクエストを送信する必要があります。本文ではTLS相互認証の定義、仕組みなどの基本情報を説明した上、mTLSを利用したAPIにリクエストを送信してレスポンスを取得する方法を皆さんに紹介します。

mTLSとは

mTLS とは Mutual Transport Layer Security (相互トランスポート層セキュリティ)の略称で、クライアントとサーバーの両方が証明書を使って相手を認証することで、通信を暗号化しセキュアにする認証方式のことを指します。

mTLSの特徴といえば、主に次ようになります:

mTLSでは、クライアントとサーバーが相互に証明書を検証することで、なりすましなどを防ぐことができるので、機密性の高い通信を必要とするシステム等でよく利用されています。特に金融系のアプリケーションやクラウドサービスの内部通信などでの採用が進んでいます。

mTLSとTLSとの違い

よく耳にしたTLSと比べてみると、mTLSの違いは何ですか?mTLSとTLSとの相違点といえば、以下の5つの方面にまとめることができます。

認証の方向性が違う:TLSはサーバー認証のみを行い、mTLSはサーバーとクライアント両方の相互認証を行う必要があります。

証明書の必要性が違う:TLSはサーバー側の証明書のみが必要となりますが、mTLSはサーバーとクライアント両方の証明書が必要となります。

セキュリティの水準が違う:TLSはサーバー認証でMan-in-the-middle (中間者)攻撃の可能性ありますが、mTLSは相互認証プロセスにより、なりすましが難しくなります。

運用の負担が違う:TLSはサーバー証明書のみ発行・管理すればよいのですが、mTLSはクライアント証明書もちゃんと管理する必要があります。

互換性が違う:TLSはほぼ全ての環境で利用することができますが、mTLSはクライアント証明書の管理が難しい場合もあって、互換性がやや低いのです。

要するに、mTLSはTLSよりもセキュリティレベルが高い反面、運用の負担が大きく、すべてのシステムでの採用は難しい特徴があります。

mTLSの仕組み

それでは、mTLS動作のプロセスはどのようになりますか?次は、mTLSの仕組みを皆さんに紹介していきたいと思います。

  1. クライアントとサーバーはそれぞれ公開鍵証明書と秘密鍵を作成する。
  2. クライアントはサーバーの証明書を検証し、サーバーの身元を確認する。
  3. サーバーはクライアントの証明書を検証し、クライアントの身元を確認する。
  4. クライアントはサーバーの公開鍵を使って、ランダムなプリマスターキーを暗号化する。
  5. サーバーは秘密鍵を使ってプリマスターキーを復号化する。
  6. クライアントとサーバーはプリマスターキーを使ってセッションキーを生成する。
  7. セッションキーで通信内容を暗号化し、SSL/TLSを利用して秘密通信を開始する。
  8. セッションが終了すると、プリマスターキーやセッションキーは破棄される。
Mtls処理のプロセス

画像の参照元:https://dev.classmethod.jp/articles/eetann-learn-mtls/

このように、証明書による相互認証が行われた上で、セッションキーによる通信内容の暗号化が実現されます。これにより、mTLSは高いセキュリティを提供します。

mTLSを利用したAPIについて

mTLSを利用したAPIでは、相互認証を行うために、クライアント証明書をリクエストする時に添付する必要があります。その理由といえば、次のようなものがあります:

クライアント証明書を添付せずにmTLSを利用したAPIにリクエストを送信した場合、サーバーはクライアントを認証できないため、リクエストが拒否され、TLS接続自体が確立できなくなります。

mTLSを利用したAPIにリクエストを送信してレスポンスを取得する方法

それでは、mTLSを利用したAPIからレスポンスを取得したい場合は、どうしたらいいですか?次は、簡単にクライアント証明書を添付して、APIリクエストを送信してレスポンスを取得する方法を皆さんに紹介します。

button

Apidogは、非常に強力のAPI管理ツールとして、CA証明書かクライアント証明書を簡単に追加して、リクエストの送信時に相互認証を行えます。それでは、mTLSを利用したAPIにリクエストを送信したい場合は、次の操作手順を参照して、クライアント証明書をApidogに追加しましょう。

ステップ⒈Apidogを立ち上げ、mTLSを利用したAPIを開きます。

ステップ⒉設計」モードに切り替え、上部のメニューバーで「変更」タブを選択して、Requestパラメータで「設定」をクリックします。

APIの設定を変更

ステップ⒊証明書の管理」をクリックします。

①CA証明書をオンにして、PEMファイルをアップロードします。

CA証明書の管理

②「クライアント証明書を追加」をクリックして、必要な設定を終えます。

クライアント証明書を管理
button

Explore more

OpenClaw(Moltbot/Clawdbot)最新版へのアップデート方法

OpenClaw(Moltbot/Clawdbot)最新版へのアップデート方法

本記事では、OpenClaw(旧Moltbot/Clawdbot)のアップデート作業を安全に実施するための実務的な手順を整理する。更新前のインストールトポロジー確認、バージョン固定、永続データのバックアップ、ランタイム状態の記録といった準備工程に加え、リリースノートを基にしたマイグレーション影響の評価方法を解説する。さらに、プレプロダクションでのステージング検証、Docker Compose・Docker・ソース運用など構成別の更新手順、Apidogを用いたAPIコントラクト検証と回帰テストの実行による整合性維持について扱う。

12 2月 2026

macOS/Windows/LinuxへのOpenClaw (Moltbot/Clawdbot) インストール手順

macOS/Windows/LinuxへのOpenClaw (Moltbot/Clawdbot) インストール手順

本記事ではmacOS、Windows、Linux環境にOpenClaw(Moltbot/Clawdbot)をインストールするための手順を整理し、ランタイムバージョン、環境設定、サービス依存関係の管理ポイントを解説します。ネイティブセットアップとDocker Composeによる構成の違い、代表的なインストールエラーへの対応、導入後のAPI検証やApidogを用いたエンドポイントテストとドキュメント同期の方法も扱います。

11 2月 2026

GPT-5.3-Codexへのアクセス方法

GPT-5.3-Codexへのアクセス方法

GPT-5.3-Codex は、API 駆動型システムにおけるコード生成を主用途とするモデルであり、バックエンド実装やロジック構築に適した特性を持ちます。本記事では、その技術的特徴と適用範囲を整理します。

6 2月 2026

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる