2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

セキュリティごった煮一人完走チャレンジAdvent Calendar 2024

Day 18

サーバ証明書のアンチパターンをまとめてみる

Last updated at Posted at 2024-12-18

これは何?

証明書のアンチパターンについてまとめてみた。


証明書エラーが出る系

  • 証明書の有効期限切れ: Expires Onが過去の日付になっている。
    image.png

  • 自己署名された証明書: SubjectのCNとIssureのCNが同一の組織でないことを確認する。
    image.png
    image.png


アルゴリズムが脆弱系

署名のアルゴリズム

Federal Information Processing Standard (FIPS) 180-4, the Secure Hash Standard
(SHS) [FIPS 180-4], specifies seven approved hash algorithms: SHA-1, SHA-224, SHA-
256, SHA-384, SHA-512, SHA-512/224 and SHA-512/256
Recommendation for Applications Using Approved Hash Algorithmsより

SHA256以上を使っておけば良さそう。

Certificate Signature Algorithmを確認可能。
image.png

公開鍵のアルゴリズム

For asymmetric encryption, use elliptical curve cryptography (ECC) with a secure curve such as Curve25519 as a preferred algorithm. If ECC is not available and RSA must be used, then ensure that the key is at least 2048 bits.
OWASP Cryptographic Storage Cheat Sheetより

ECC系(楕円曲線暗号)を使うか,RSAの鍵長2048 bit以上のものが推奨される。

Subject Public Key Algorithmをで確認可能。
image.png


サーバ証明書の種類

CA/Browser Forum Baseline Requirementsにより3つの基準が決められている。

  • DV(Domain Validation): ドメイン所有権の確認のみ。
  • OV(Organization Validation): ドメイン所有権に加え、ドメインを運営する組織について確認する。
  • EV(Extended Validation): OVの要件に加え、追加の厳格な組織検証が必要。

企業ならOVかEVを使うべきみたいな風潮はあるきはしているが,最近のgoogleはDV証明書を使っていたりするのでDV証明書を使うことを一概に否定するのも違うと思っている(せっかくなのでこの記事には書いておいたが)。

この方の記事にいろいろ書いてあったので貼っておく。

※DV証明書はSubjectにCNしかないので見分けられる。
image.png

image.png


CNを使った検証

上記の記事にCN(Common Name)を使った検証が禁止されるまでの経緯がまとまっているので詳しくはこちら。

RFC9110でCNを使った禁止になった。

A reference identity of type CN-ID MUST NOT be used by clients. As noted in Section 6.2.1 of [RFC6125], a reference identity of type CN-ID might be used by older clients.

これにより,RFC2818に記載のあるSAN値を使った検証の使用が推奨からランクアップし,現在はSAN値を使った検証が必要である。

If a subjectAltName extension of type dNSName is present, that MUST be used as the identity. Otherwise, the (most specific) Common Name field in the Subject field of the certificate MUST be used. Although the use of the Common Name is existing practice, it is deprecated and Certification Authorities are encouraged to use the dNSName instead.

Matching is performed using the matching rules specified by [RFC2459]. If more than one identity of a given type is present in the certificate (e.g., more than one dNSName name, a match in any one of the set is considered acceptable.)
Names may contain the wildcard character * which is considered to match any single domain name component or component fragment. E.g., .a.com matches foo.a.com but not bar.foo.a.com. f.com matches foo.com but not bar.com.
RFC2818

以下はSAN値の例だが,SANには複数のドメインを登録できる拡張機能であり,一つでも一致していれば証明書エラーにはならない。

image.png

SANについて詳しくはこちらのQiitaを参照。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?