先週に続き、2022年6月13日~6月19日に読んだ中で気になったニュースとメモ書き(TLSらじお第61回の前半用原稿)です。
[Hertzbleed攻撃]
こちらのツイートから。
We found a way to mount *remote timing* attacks on *constant-time* cryptographic code running on modern x86 processors. How is that possible? With #hertzbleed! Here is how it works (with @YingchenWang96).https://t.co/SRUgBRQpu2
— Riccardo Paccagnella (@ricpacca) 2022年6月14日
リンク先のサイトはこちら。
日本語でも紹介されていた。
CPUの消費電力を観察することで処理データを推測することができ、耐量子暗号アルゴリズムとしてNISTの標準化プロセスで検討中のアルゴリズムSIKEが実際に攻撃されたようだ。
SIKEはAWS Key Management Service (AWS KMS)のAPIへのアクセス時に、ハイブリッド耐量子暗号(TLS 1.2)の鍵交換アルゴリズムとしてサポートされており、AWS SDK for Java2.x経由で利用できる。
SIKEはNIST標準化プロセス第3ラウンドでもファイナリストからは外れているし、上記AWSの記事でも他のアルゴリズムと比べて桁違いに遅い。今回の件でどうなってしまうのだろうか...。
今回の件について、AWSから特にまだアナウンスはなさそうだ。今後に期待。
[RSA鍵交換等の非推奨化案]
こちらのツイートから。
Deprecating Obsolete Key Exchange Methods in TLShttps://t.co/07WzlLENMW
— ゆき (@flano_yuki) 2022年6月15日
WG Draft、RSA鍵交換 deprecateされるのか#yuki_id
ドラフトはこちら。
ポイントは以下の3点。
RSAに限らず、弱い鍵交換アルゴリズムを制限しようという話らしい。
前方秘匿性のないRSA鍵交換および静的なDH鍵交換については、『プロフェッショナルSSL/TLS』でも危険性が指摘されている。
有限体上のDH鍵交換(Ephemeral Finite Field Diffie Hellman、FFDHE)は知らなかったが楕円曲線上のDH鍵交換とは別に、そういうのがあるらしい。2020年9月に公開されたRaccoon攻撃の問題があるとのこと。
[HyStart++]
こちらのツイートから。
HyStart++: Modified Slow Start for TCPhttps://t.co/fp6yq4AC48
— ゆき (@flano_yuki) 2022年6月17日
draft 05#yuki_id
ドラフトはこちら。現在第5版。
TLSのパフォーマンスに影響するTCPの輻輳制御によるスロースタート問題を解決するための方法として、HyStart(Hybrid Startの略)というのが元々2011年に提案された。それをさらに改良したのが今回のHyStart++で、2020年ごろから提案されている様子。
CloudflareのQUICライブラリquicheでサポートされているらしい。QUICはUDPなのになぜ...と思ったが、TCPと似た問題を抱えているらしいことだけはなんとなく読み取れた。
[その他のニュース]
▼バナナ乱数生成器
こちらのツイートから。
"バナナによる乱数生成器" という言葉・アイデアの強さが凄いw
— iwashi / Yoshimasa Iwase (@iwashi86) 2022年6月12日
・バナナにはカリウムが含まれる
・自然界のカリウムには放射性物質がわずかに含まれる
・放射性崩壊が起きるので乱数に使うhttps://t.co/wFZxI4Oj8U
リンク先の記事はこちら。
バナナで乱数生成できるってのがまず面白いし、entとかdieharderとか乱数生成器の質をテストするツールがあるということを知れたのも良かった。
いくつかのテストが通らなくて修正中らしいけど、それにしてもすごい。
▼OpenSSL 3.0.4/1.1.1p
こちらのツイートから。
OpenSSL versions 3.0.4, 1.1.1p will be published Tuesday 21st June 2022 1300-1700 UTC.
— Mark J Cox (@iamamoose) 2022年6月14日
These are security-fix releases. The highest severity issue fixed in these releases is MODERATE.https://t.co/0uTJ044fN2
リンク先はこちら。
6/21(ということはおそらく日本時間では6/22(水))にOpenSSLの最新バージョンが出る模様。MODERATE(中程度)の脆弱性が修正されたらしい。
詳細は現時点では公開されていない。コミット履歴を見たがよく分からず...。
▼QUICとLinuxカーネル
こちらのツイートから。
QUICは(Linux界では)どのレイヤーで実装されていく流れになるんだろうか。Linuxカーネルに実装されるのか、各アプリが頑張るのか、あるいはその中間としてミドルウェア的な(OpenSSLみたいな)ライブラリになるのか…
— Kanatoko (@kinyuka) 2022年6月16日
確かに、ChromeとかがQUICを実装してはいるものの、他のアプリケーションがQUICを使おうと思うとデファクトスタンダートと呼べるようなものはないのかも。
quic-goとか先日取り上げたs2n-quic(Rust)とか、言語ごとの実装は色々ありそうだけど。
▼SSL Pulseアップデート(2022.06)
こちらのツイートから。
SSL Pulse Trends 2022年6月分のアップデートを反映しました。https://t.co/xk2sjKLwD8#sslpulse
— kjur セキュリティ IT 開発の私的情報収集用+少しつぶやき (@kjur) 2022年6月16日
本家は6月15日にアップデートされたよう。やればデキる子
SSL Pulseはこちら。
SSL Pulse Trendsはこちら。目立った変化はなさそう?
▼redbean
こちらのツイートから。
redbean - 単一バイナリのwebサーバ。Windows, Linux, macOS上で *同一のバイナリ (1.9MB)* が動く。redbean 2.0からは LuaとSQLiteを内蔵し、動作中のサーバをREPLで制御可能になった。zlib圧縮+TLSもサポート。おもちゃではなく、毎秒100万リクエストを処理可能。https://t.co/QJgEXcAqnl
— 新山祐介 (Yusuke Shinyama) (@mootastic) 2022年6月17日
公式サイトはこちら。
TLS1.3はまだサポートしていない模様。
▼Messaging Layer Security (MLS) Protocolドラフト
こちらのツイートから。
『The Messaging Layer Security (MLS) Protocol』がWG Last Callだあhttps://t.co/nDgS1fHrdI
— ゆき (@flano_yuki) 2022年6月17日
ドラフトはこちら。
メッセージアプリなどでのE2E暗号化のためのプロトコルとのこと。TLSと違う点は、メッセージのやり取りが1対多になり、同じ鍵を共有する必要がある点。
ちゃんと読むと面白そうだけど時間が取れず...。
▼楕円曲線暗号解説
こちらのツイートから。
今更ながらECDSAについて、実装を交えながらブログ書きました!楕円曲線暗号の仕組みについても書いてあるので興味ある方は是非読んでほしいです!
— Kyosuke Tsubaki (@mikr29028944) 2022年6月17日
ECDSA署名の数学的理解とCloud KMSによる実装 - Gaudiy Tech Blog https://t.co/MT4PqYBqhH
リンク先の記事はこちら。
楕円曲線暗号の公開鍵と秘密鍵の関係をイメージできた気がする。
実際には、こちらのアニメーションを見ると楕円曲線上の点を加算したりしていて、もっと複雑なのがわかる。
[まとめ]
*1:作者はTLSプロトコルをバイト毎に解説するサイトなども公開してくれているが、類似のドメイン名が悪用され始めたため、ドメインをhttps://xargs.org/に変更するとツイートしている。