kdnakt blog

hello there.

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

2023年12月25日~2024年1月7日に読んだ中で気になったニュースとメモ書きです。社内勉強会TLSらじお第138回分。

[Cryptography & Security Newsletter #108]

こちらのツイートから。

リンク先はこちら。

www.feistyduck.com

お馴染みBulletproof TLS NewsletterあらためCryptography & Security Newsletterという名前になった模様。今回のトップニュースはTerrapin攻撃ノルウェーのCAであるBuypassのインシデントの件。Buypassの件は、手動でドメイン検証をしたのが原因っぽい。発行される証明書の0.5%未満が手動によるものだ、と言われているが...。

今回のショートニュースで、取り上げてなかったのは以下のもの。毎週のニュースでだいぶカバーできてた。

[DCV Inspector]

こちらのツイートから。

リンク先はこちら。

dcv-inspector.com

数々のCAのインシデントを検知してきた@__agwaさんの新作ツールDCV Inspector。「Start New Test」ボタンを押すとテスト用のドメインを生成してくれるので、そのドメインの証明書を対象のCAに発行依頼することで、CAによるドメイン検証時のDNSクエリやHTTPリクエストを調査できるらしい。

以下の画像はLet's Encryptによるドメイン検証の実行結果の一例。

開発の背景には、Cryptography & Security Newsletter #108で取り上げられていた、BuypassのACME処理が外部DNSゾルバを利用した件が関係していそう。外部DNSゾルバが委任された第三者機関(Delegated Third Party)なのが問題だと書かれていて、Delegated Third Partyという用語は証明書発行の要求事項を定めたBaseline Requirementsにも出てくる。が、具体的にどの条項に違反しているのかまでは読み解けなかった...。

bugzilla.mozilla.org

[TLS1.3 Extended Key Update]

こちらのツイートから。

リンク先はこちら。

www.ietf.org

新しいインターネットドラフトが出た。DH鍵交換を利用した前方秘匿性(PFS)のある鍵更新を利用できるようにする提案。産業用IoT機器などの長期間セッションが継続する環境などでは、application_traffic_secret_N(N番目のシークレット)が侵害された場合それ以降のトラフィックが盗聴される可能性があるため。

別途ドラフトとして提案中であるTLS Flags拡張をベースにしている。

datatracker.ietf.org

TLS FlagsとしてExtended_Key_Updateフラグを追加し、KeyUpdateメッセージの代わりに新しいハンドシェイクメッセージの1つであるExtendedKeyUpdateメッセージを送信してDHパラメータをやりとりして鍵更新を行う。

トラフィックシークレットは以下のようになっている。ラベル(以下ではtraffic upd 2となっている部分)の仕様がいまいちよくわかんないけど...。

sk = HKDF-Extract(0, dh-secret)

application_traffic_secret_N+1 =
    Derive-Secret(sk,"traffic upd 2",
                  application_traffic_secret_N)

 

ハイブリッド鍵交換のドラフトにも対応した仕様になっているっぽい。

datatracker.ietf.org

[その他のニュース]

▼CT in reality

こちらのツイートから。

リンク先はこちら。

educatedguesswork.org

Signed Tree HeadとかMaximum Merge DelayとかCT関連の用語の勉強になる。CTv2がRFC 9162として公開されて2年ちょっとが経ったが、ブログの筆者の知る限り誰も実装していないらしい。どうして...。RFC、たまにこう言うのがあるから困る。

ErlangでmTLSできない話

こちらのツイートから。

リンク先はこちら。

zenn.dev

TLSのバージョンごとに異なる署名アルゴリズムをもっていて、クライアントとサーバでTLSのバージョンがずれている場合に、署名アルゴリズムのチェックに失敗してクライアント証明書が送れないと言うことっぽい。デバッグ大変そう...。

▼QWAC or not QWAC

こちらのツイートから。

リンク先はこちら。

medium.com

eIDASの信頼フレームワークを解説してくれてるけど全然頭に入ってこなかった...。

▼1409次元Classic McEliece解読

こちらのツイートから。

リンク先はこちら。

ascii.jp

耐量子暗号としてのClassic McElieceは3488次元以上がNISTの標準化候補になっている模様。

▼e-commerce monitoring GmbHのインシデント

こちらのツイートから。

リンク先はこちら。

bugzilla.mozilla.org

2023年2月に、e-commerce monitoring GmbHと言う認証局?がCTの事前証明書にSCT拡張を含めて登録してしまいRFC 6962に違反したとのこと。根本原因が問われているが対応が雑な感じ。これがeIDASを定めているEuropean approachなのか?とも...。

とりあえず、問題になってるルート証明書MacBook Proのキーチェーンには入ってなかったのでヨシ。

▼HSTS対応状況2023.12

こちらのツイートから。

EUの主要銀行を抽出したところHSTS(HTTP Strict Transport Security)対応状況は100%らしい。

▼QUICのWebサイトフィンガープリンティング

こちらのツイートから。

リンク先はこちら。

https://www.sciencedirect.com/science/article/pii/S2405959523001662

パケット数やパケットサイズなどの特徴を元に、QUICのトラフィック機械学習でどのWebサイトか特定することができるらしい。ECH(Encrypted Client Hello)でSNI(Server Name Indication)を暗号化しても、プライバシーの問題は完全には解決しなそう...。

Ethernet over HTTPS

こちらのツイートから。

リンク先はこちら。

www.ietf.org

必要なのかなあ...。

▼災害時無料公衆無線LAN

こちらのツイートから。

攻撃の方法はいろいろあるけど、現実的な攻撃はHarvest now, decrypt laterくらいじゃないかしら。別に公衆無線LANに限った話じゃないし...。
ブラウザやOSのアップデートしてないケースだと危ない気もするけど、普通に新しめのスマホ使ってれば問題ないような。

この記事も読んだけど、公衆無線LANだから特に危険だってポイントはなかった気がする。

qiita.com

iPhoneアプリTLS必須要件

こちらのツイートから。

モバイルアプリのTLS通信の要件とかあるんだなー(それはそうか...)。全然知らなかった。

▼書評プロフェッショナルTLS&PKI

こちらのツイートから。

リンク先はこちら。

jovi0608.hatenablog.com

最近のTLS事情も併せて解説されていてわかりやすい。2016年とか、自分がTLSに興味持ってなかった時代のツイートやブログも引用されていて興味深い。

リアルTLSハンドシェイク演習、ちょっと面白そう。

github.com

IETFプロトコルバッジ

こちらのツイートから。

リンク先はこちら。

www.ietf.org

IETF標準(RFCとか)の開発に貢献してる場合とか、プロトコルを実装した製品やサービスのプロモーションに利用できるらしい。同人誌とかに使っていいのかは謎。

[暗認本:37 TLS]

『暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書』より、Chapter 7 TLSのセクション37をまとめた。

  • HTTPとHTTPS
    • ブラウザ上でHTML,画像などはHTTPで通信
    • 暗号化されたHTTPS(HTTP Secure / HTTP over TLS
  • SSL/TLSの歴史
    • Netscape Navigatorが開発したSSLが一般に普及
    • 現在はTLS1.2が広く利用、それ以前のバージョンはブラウザで無効化
    • TLS1.3が2018年に策定
  • TLS1.3の特長
    • 性能の向上 + 安全性の向上
  • ハンドシェイクの効率化
    • RTT回数の削減:TLS1.3ではServerHello直後から暗号化開始
    • 暗号化されたメッセージの増加(EncryptedExtensions, Certificate)
  • 暗号アルゴリズムの整備
  • 新しい鍵導出アルゴリズム
    • HKDF:HMAC-based Key Derivation Function
    • HKDF-ExtractとHKDF-Expand(Derive Secret)を繰り返し、0-RTT用の鍵、クライアント/サーバ用それぞれのハンドシェイク鍵、アプリケーションデータ用鍵などを生成
  • 型式手法formal methodによる安全性検証
    • プロトコルをモデル化し、自動検証ツールで安全性検証(ProVerifなどのツール
    • 定理証明:コンピュータと人間が対話しながら安全性証明(EasyCryptなどのツール

[まとめ]

年末から溜め込んだニュースが多くてまとめるのに一苦労。

暗号に絡めたクリスマスジョークが流れてきてたので共有。