1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TLS認証の仕組み

1
Last updated at Posted at 2026-03-04

業務で必要になって調べたのでまとめる。

TLS認証の仕組み

TLSでは、サーバー側のみが、サーバー証明書によって「ドメインの所有権」と「通信相手の正当性」の2点を確認する。

🔧 準備フェーズ (サーバー側)

  1. サーバー側で鍵ペア (= サーバーの公開鍵 + サーバーの秘密鍵)を生成する
  2. サーバー所有者が CA に CSR (Certificate Signing Request) を提出する
    • CSR = サーバーの公開鍵 + その他の情報 + サーバーの秘密鍵によるこれらの署名
    • これにより、CA は「申請者が本当にサーバーの秘密鍵を持っている」ことを確認できる
  3. サーバー所有者はサーバーに、CAに発行してもらったサーバー証明書をインストールする
    • サーバー証明書 = サーバーの公開鍵 + その他の情報 + CAの秘密鍵による署名

🤝 通信フェーズ(TLS)

  1. 接続時にサーバーはサーバー証明書をクライアント側に提示する
  2. クライアントは、既にインストール済みの 信頼済みCAの公開鍵で、サーバー証明書の中のCAの秘密鍵による署名 を検証する。成功したら、証明書の中のサーバーの公開鍵を信頼する
    • これに含め、「その証明書が接続先のドメイン名と一致確認」や、「有効期限のチェック」なども行う
  3. ハンドシェイク中にサーバーは「これまでのハンドシェイク内容(ランダム値など)」をサーバーの秘密鍵で署名したものをクライアントに渡す
  4. クライアントは先程信頼したサーバーの公開鍵 でこれを検証する。検証に成功したら、クライアントはこのサーバーを信頼する
  5. クライアントとサーバーが鍵共有により各々共通の対称鍵を算出する。以降の通信内容はこれによる暗号化を行う

mTLS認証の仕組み

TLSでは、クライアントとサーバーのそれぞれがデジタル証明書を用いて自身の素性を証明する。

TLSでは、サーバーのみが身元証明を行なっていたが、クライアント側も同じことを行う。

  • クライアント側の準備: サーバーと同様に、鍵ペアの発行と証明書の発行を行う必要がある
  • サーバー側の検証: サーバー側にも信頼済みCAの公開鍵をインストールしておく必要がある
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?