kdnakt blog

hello there.

今週気になったTLS関連のニュース

先週に続き、2022年3月21日~3月27日に読んだ中で気になったニュースとメモ書き(TLSらじお第50回の前半用原稿)です。

 

 

[SSL/TLS証明書の有効期限]

いまだにSSL証明書、と呼んでしまう...それは良いとして、本題の有効期限。

Scott Helme氏の以下のツイートより。

 

GoogleAppleの規定をベースに、次の証明書有効期限が180日になるのではないか、との推測。

証明書の有効期限は、業界団体のCA/B Forumが発行しているBaseline Requirements*1で規定されている。Baseline Requirementsは頻繁に更新されており、2020年8月のバージョン1.7.1では証明書の有効期限を398日以内にすることと定められた。

過去の推移をBaseline Requirementsの記載を元にまとめると以下のようになる*2

  • 2015年3月31日以前:60ヶ月以内
  • 2015年4月1日:39ヶ月以内(一部例外あり*3
  • 2016年6月30日:39ヶ月以内(例外なし)
  • 2018年3月1日:825日以内
  • 2020年9月1日:398日以内

 

今は1年に1回の更新作業だから手作業でもなんとかなる気がするが、6ヶ月とか3ヶ月とかになる未来があるとすれば、certbotとかAWS ACMで自動更新に対応しないと大変そう。

 

[DNSTLSHTTPS, TLSAレコード]

DNSだからHTTPSとは直接関係ないかな?と思ったけど、設定値にalpn(Application-Layer Protocol Negotiation)*4とかech(Encrypted ClientHello)とかがあって、接続パラメータをDNSレベルでやりとりできるらしい。すごい。

eng-blog.iij.ad.jp

 

こんなツイートも。

DANEというのはDNS-Based Authentication of Named Entitiesの略らしい。HTTPじゃなくてSMTP関係の仕組みらしい*5

qiita.com

 

[Go 1.18とOCSP署名方式]

こちらのツイートより。

 

OCSPレスポンスはRFC 2560で定められている通り、CAまたはその代理人の鍵で署名されている。OCSPレスポンスへの署名方式としてBaseline Requirementsで2022年6月1日以降はSHA-1を禁止する、とされた。ただ、OCSPと同じく証明書の失効情報を提供するCRLもSHA-1で署名されるが、こちらは禁止されていないらしい*6

 

2022年3月15日にリリースされたGo 1.18では、誤ってSHA-1による署名全般が利用不可となってしまった結果IstioKubernetesで影響があったらしく、Go 1.18.1で修正見込みとのこと。

 

[その他のニュース]

AWSプライベートCAのアップデート

名前制約はまあわかるとして、拡張子ってなんだ?と思ったら、TLSらじお第47回でチェックしたBulletproof TLS Newsletter #86のトップニュースになっていた、EUのQualified Website Authentication Certificates (QWACs)で利用される適格証明書拡張子というのがあるらしい。

aws.amazon.com

 

Bulletproof TLS Newsletter #86の文中でも、また、そこで引用されていたHelme氏の以下のブログでも、QWACsの有効性は疑問視されているのに、AWSあたりはこういうのにちゃんとついていこうとするんだな...。

scotthelme.co.uk

 

IETF 113 Vienna

こちらのツイートより。

 

ウィーンにて、RFCの標準化を進めているIETFのミーティングが開かれているらしい。TLSもまだまだ変わりそう。

www.ietf.org

 

▼BoringSSL

こちらのツイートより。

 

GoogleがOpenSSLをフォークして、プロトタイプ的に耐量子暗号を組み込んでいるらしい。

github.com

 

▼Java18リリース

こちらのツイートより。

cacertsストアのフォーマットが標準的でないJKSから、標準的なPKCS12に変更になったり、いくつかのルート証明書が削除されたりしたらしい。

seanjmullan.org

 

▼SSLPulseの更新状況

こちらのツイートより。

 

SSL Pulseは以下のサイトのこと。『プロフェッショナルSSL/TLS』の原著者であるIvan Ristić氏のプロジェクトである。

Qualys SSL Labs - SSL Pulse

 

SSL ほぼ毎月のSSL/TLS利用状況に関する調査結果が公開されているが、月毎にしか閲覧できないためkjurさんがデータの推移を閲覧できるようにしてくれている。最近だと、2021年11月にTLS1.0/TLS1.1の利用率がグッと減ったのが分かりやすかった。

kjur.github.io

 

[まとめ]

まとめのフリをした雑なコメント。

 

やっぱりDNSとかSMTPとか、周辺のプロトコルも勉強しないとダメかしら...なんもわからん...。

EUのQWACsの話はともかく、証明書の有効期限の話は仕事に直結しそうなので行方が気になる。IETFの議論とか耐量子暗号の話が仕事に影響するのって何年後だろうか...。

そういえばJavaは自分のメイン言語の一つなのに、Java 18の新機能とか何も知らないや。反省。

*1:2022年3月末現在のBaseline Requirements最新バージョンは2022年1月26日に発行されたバージョン1.8.2。

*2:この辺の話は以下の記事に詳しい。

ssl.sakura.ad.jp

*3:Baseline Requirements 1.2.3の記載によれば、既に利用されていて、置き換えが難しい場合などは、60ヶ月までの有効期限が許可された。

*4:これについては昨年末にALPACA攻撃に関する記事を書いた。

kdnakt.hatenablog.com

*5:すっかり忘れていたけど、プロフェッショナルSSL/TLSでも80ページでちらっと触れられていた。

*6:CRLの署名といえば、2021年にはLet's Encryptの古いルート証明書によるCRLへの署名が話題となった。

kdnakt.hatenablog.com