kdnakt blog

hello there.

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

2023年5月1日~2023年5月7日に読んだ中で気になったニュースとメモ書き(TLSらじお第104回の原稿)です。

[ZTLS]

こちらのツイートから。

リンク先はこちら。

https://dl.acm.org/doi/abs/10.1145/3543507.3583516

ブログで解説も書いてくれてた。

asnokaze.hatenablog.com

要はTLS1.3の0-RTTで前回セッションから得ているセッション鍵を計算するための材料を、DNSレコードから得ることができる新しいプロトコルの提案ってことっぽい。ということは、0-RTT同様PFS(前方秘匿性)が気になるところ。
論文中では、DNS TXTレコードに載せるZ-Data中に有効期限を含めており、それを短く設定することでこの問題に対処できる、としている。0-RTTの時と同じで、PFSに近い安全性を得ようとすると結局運用が複雑になりすぎる気がする。どれくらい普及するだろうか...。
パフォーマンスのためにZ-Data中のサーバー証明書は、別途DNSのTLSAレコードで送信するあたりも気になった。Googleの打ち出しているサーバー証明書有効期限90日の方針が通ると、DNSレコードの運用がさらに大変になりそう...。

[Chromeのセキュリティインジケータ変更]

こちらのツイートから。

リンク先はこちら。

blog.chromium.org

2019年に消えたEV証明書の表示に続き、TLS関連のブラウザUIに大きな変化が。鍵アイコンがなくなり、チューンアイコンになるらしい(下記画像は上記Chromiumブログより引用)。

AndroidとかiOSのモバイルChromeのUIも変わるとのこと。Androidはデスクトップと同じ形に。iOSはそもそも鍵アイコンをタップできないので、削除するとのこと。
HTTPで接続した場合は、引き続き安全でない旨の表示がされるらしい。

ほとんどのユーザーがセキュリティインジケータを無視しているという調査結果がプロフェッショナルSSL/TLS(p.130)で紹介されていたし、Chromeの場合HTTPSがデフォルトとなっているので、あまり影響はなさそう。

[その他のニュース]

▼rustlsのFFI

こちらのツイートから。

リンク先はこちら。

github.com

先週のQ1 2023 Summary from Chrome Securityでは、Cで実装されたBoringSSLをRustで利用できるように開発中という話があった。
rustlsの場合その逆になる。BoringSSLのフォーク元のOpenSSLは時々大きめのCVEが出たりしているし、メモリ安全なRustをCで使う方が安心できる...かな?
Cで開発することないので、自分には関係ないけど...。

Qualcommチップ

こちらのツイートから。

リンク先はこちら。

www.nitrokey.com

ツイートでChineseって書いてるから、なんだ中国か...と思ったらQualcommの話だった。
こういうの、暗号化されてないから分かるけど、将来的にECH(Encrypted Client Hello)とか使われた場合、どこに何を通信しているか分からなくなるので困る。
iPhoneQualcommの製品採用してるっぽいけど大丈夫かな...。

www.macrumors.com

▼DoQ+H3

こちらのツイートから。

リンク先はこちらの論文

2022年11月にDNS over QUICについて論文を書いていた人たちの新作。DoQとHTTP/3(の0-RTT)を組み合わせると、UDPでのDNS+HTTP/3(1-RTT)を利用した場合と比べてページのロード時間が50%以上短縮されるとのこと。
論文中のFig. 1で説明されているように、QUICの接続を使い回すから速いっぽい。QUICちゃんと勉強しないとな...。

[暗認本:04古典暗号]

引き続き、ニュース以外のメインコンテンツとして『暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書』を読んでいく。
今週はセクション04をざっとまとめた。

  • およそ1970年前半以前を古典暗号、1970年台後半以降を現代暗号と呼ぶ
  • シフト暗号(シーザー暗号)
  • 換字式暗号
    • 秘密鍵:換字表
    • シフト暗号と比べてパターンが多い(約4*10^26通り)
    • シフト暗号は換字式暗号の特殊形
    • ただし、英語の場合アルファベットの出現頻度などから解読可能:秘密鍵の種類が多いだけではダメ
  • 符号化
    • 暗号化とは異なる概念:文章やデータをコンピュータで扱える形にすること
    • 例)ASCIIコードは英数記号を16進数で表記:A=0x41
    • 符号化は換字表が知られている換字式暗号のようなもの

[まとめ]

QUICとかどうやって勉強したらええんやろ...ChatGPTに聞きつつRFC読んでいくかなあ。