SSL/TLS について調べてた時にまとめてたやつ
CREATED: 2024 / 03 / 02 Sat
UPDATED: 2024 / 03 / 03 Sun
SSL/TLS 対応
1. SSL/TLS 対応を行う組織および個人が秘密鍵と公開鍵のペアを作成する。
2. 秘密鍵を用いてCSR(Certificate Signing Request) を作成する。
1. CSR の作成時にはハッシュアルゴリズムを指定して秘密鍵で署名を行う。
1. ハッシュアルゴリズムとしては一般的に SHA-2 が利用されている様子。*1
2. この時の署名アルゴリズムは Certificate の Signature Algorithm として表示される。
3. おそらく生成されたハッシュ値は Certificate の Signature Value となる。
4. これを用いてこの証明書自体のすり替えが行われていないかをサーバー側で検証することができる。
5. ただし、秘密鍵自体が盗まれてしまうと攻撃者に有効な証明書を作成されてしまい、すり替えが行われてしまう可能性がある。
2. CSR には公開鍵と申請を行う組織および個人の情報を記載する必要がある。
1. Certificate の Subject にこの証明書の所有者が記録される。
3. CSR を CA へ送信する。
1. CSR を受け取った CA はその正当性を検証してから CA を自身の秘密鍵で署名する。
1. 署名した CA は Certificate の Issuer に記録される。
2. CSR の正当性の検証の方法は3種類存在する。
1. DV(Domain Validation)
1. ドメインの正当性(申請者がドメインを管理しているかどうか)を検証するが、その申請者個人や組織についての検証は行わない。
2. OV(Organization Validation)
1. ドメインの正当性に含め、申請者個人や組織の検証を行う。
3. EV(Extended Validation)
1. OV よりさらに詳細な情報の検証を行う。
4. CA が CSR に署名を行い CRT を作成する。
1. CRT は所有者に送信され、所有者はそれをサーバーに設定する。
参考になった資料
とほほの人なんでも知ってるな、、、 とほほのOpenSSL入門
このコンフルのページの説明は良かった。 事前準備 ~ 証明書の申請から取得まで