世界を動かす技術を、日本語で。

IPアドレス証明書の発行準備をする

概要

Let's Encryptが IPアドレスSAN証明書 発行の準備を進行中。 現時点では shortlivedプロファイル (有効期間6日)のみで提供予定。 当面は 許可リスト(allowlist)限定 運用を継続。 一般公開や 許可リスト申請 の受付は未定。 テスト用証明書と サンプルサイト も公開済み。

Let's EncryptのIPアドレスSAN証明書発行準備状況

  • Let's Encryptが IPアドレスSAN(Subject Alternative Name) を含む証明書の発行準備を進行
  • shortlivedプロファイル のみで対応、証明書の有効期間は 6日間
  • 発行対象は 許可リスト登録済みの利用者 に限定
  • 一般公開前の段階であり、 スケジュールや申請受付は未定
  • テスト用証明書( abadcafe.txt)と、サンプルサイト( https://[2602:ff3a:1:abad:c0f:fee:abad:cafe]/)を公開
  • 利用者に対し、 バグや不具合報告 を呼びかけ
  • Firefoxにおける IPアドレスSAN表示の不具合 (BZ #1973855)を確認
    • ブラウザ側の対応状況も今後の課題

shortlivedプロファイルの特徴

  • 有効期間が6日間 と極めて短い
  • セキュリティ強化 や証明書管理の簡素化を目的
  • 利用には 許可リスト登録 が必須
  • 通常の証明書発行とは異なる 運用フロー となる

今後の展望と注意点

  • 一般公開までの作業 が複数残存
  • 許可リスト申請受付の開始時期は未定
  • サンプルサイトや証明書を利用した 検証・フィードバック の重要性
  • ブラウザやクライアント側の IPアドレスSAN対応状況 の継続的な確認

まとめ

  • Let's Encryptは IPアドレスSAN証明書の発行 に向けて着実に進展
  • 現状は 限定的なテスト段階 であり、一般利用には今しばらく時間を要する見込み
  • 利用希望者や開発者は 今後の発表や進捗情報 に注目

Hackerたちの意見

面白いね。XMPPのフェデレーションがこんな証明書でうまくいくのかな。

ホストにIPだけを使ってる公開XMPPサーバーってあるの?聞いたことないけど、内部ではそういうのがあるかもしれないね。

技術的にはどうなるか分かるけど、具体的な使い道は何なんだろう?

主に趣味でやってる人たちや、プロジェクトにホスト名を結びつけたくない一回限りのケースが多いんじゃないかな。

"オポチュニスティック" DoTLSをauthdnsサーバーに向けるのは面白いかもね。authdnsサーバーのパブリックIPに合ったSANを含む証明書でDoTLSポートをリッスンしてるかもしれないし。(今はauthdnsサーバーのホスト名でできるけど、1つのパブリックauthdns IPに対して色んな名前があるから、これでより明確に結びつけられるかも。)

インフラにDNSエントリーがない機器が結構あると思うから、これは仕事で活用できそう。

一般的ではないけど、バニティIPのケースはあるよ。https://1.1.1.1の証明書は、IPとドメイン名one.one.one.oneの両方に対して署名されてる。

DNSが大規模に再設計されている間に有効な証明書を持っていたいこともあるよね。例えば、ダッシュボードを使えるようにしたり、DNSの問題で古い自動化が失敗しないように三重に確認したり。場合によっては、DNSが全く必要ないこともある。シンプルさやDNSの伝播からの独立を重視するなら、テスト環境でCockpitをすぐに公開できるよね。ここでは想像力だけが制限だね。

他にも良いユースケースを持ったレスポンスがたくさんあるけど、NTSについては見なかったな。NTSを使いたいけどIP証明書が取れないなら、信頼できる時間を得るためにDNSが必要になるよね。DNSがダウンしていると、時間を取得できない。DNSSECの一般的な問題は、間違った時間を持つことで、検証失敗を引き起こすことだよ。DNSSECが強制されていて間違った時間を持っていると、NTSがDNSに依存している場合、回復する方法がなくて運が悪いことになる。証明書の一部としてIPを持つことで、DNSの要件なしに信頼できる時間を得られるから、壊れたDNSSECの強制を修正できるんだ。

ESNI/ECHだけでも大きな話だね。暗号化されたサーバー名インディケーション(ESNI)に対する主な反論の一つは、Cloudflareのような巨大なHTTPSプロキシサービスにしか効果がないってことだった。IP証明書のアイデアが提案されたけど、夢物語として却下されたんだ。IPアドレス証明書があれば、今やすべてのサーバーがESNIに参加できるようになるから、巨人だけじゃなくなる。もしクライアントがすべてのウェブサーバーがIP証明書を持っていると仮定して、すべての接続でESNIを使おうとするようになれば、インターネット全体のプライバシーにとって大きな恩恵になるかもしれないね。

ローカルや開発環境での作業には便利かもね。my-dev-env.staging.service.comとか設定しなくてもHTTPSをテストできるし。

一つの使い道は、ホスト名を使わずにDoT(TLS経由のDNS)サーバーに直接接続することだね。OpenSSLを使ってIPアドレスにTLS接続をすると、IP SANを検証して、そこにないと失敗するよ。

Hacker Newsで議論の続きを見る