2022年12月12日~12月18日に読んだ中で気になったニュースとメモ書き(TLSらじお第85回の前半用原稿)です。
[2030年SHA-1廃止]
こちらのツイートから。
おぉ・・・ついにSHA-1が(米国政府機関で)廃止になる様です。移行期限は2030年12月31日と少し先ですが、NISTは段階的に移行していく事を推奨しています。
— キタきつね (@foxbook) 2022年12月15日
「NIST が SHA-1 暗号化アルゴリズムを廃止」https://t.co/GmYlkzHsl9
リンク先はこちら。
NISTは、SHA-1を2030年12月31日までに段階的に廃止することを推奨しているらしい。2031年以降アメリカ政府はSHA-1を利用しているモジュールを購入しない、と書かれている。
なるなる。いろんなとこにSHA1残ってるから大変だ。移行計画のSP800-131Aも改定すると。 https://t.co/JM37lCQSPF
— kjur セキュリティ IT 開発の私的情報収集用+少しつぶやき (@kjur) 2022年12月16日
TLSに関連したところでは、SHA-1は2014年ごろから証明書の署名アルゴリズムとしての利用が段階的に廃止され、2021年にはRFC 9155ではプロトコルのあらゆる箇所でのSHA-1(およびMD5)の利用が非推奨とされた(例:ServerKeyExchange)。
同じスレッド内で、@kjurさんがCRYPTRECの「暗号強度要件(アルゴリズム及び鍵長選択)に関する設定基準 」に言及していた。2022年7月に第1版が出たものらしい。
自分用に整理したCRYPTREC「暗号強度要件に関する設定基準」チョー便利で見やすすぐる
— kjur セキュリティ IT 開発の私的情報収集用+少しつぶやき (@kjur) 2022年12月16日
https://www.cryptrec.go.jp/list/cryptrec-ls-0003-2022.pdf
これによると原像計算困難性に対するセキュリティ強度に依存するHMACとして利用するSHA-1は128ビット安全性がある(RFC 9155でもそのように書かれており、非推奨となっていない)ので、日本では2040年までは問題なく使えることになっている(デジタル署名としては不可)。
NISTはどうやら完全に使うな、という方針のようなので、この発表を受けて日本の基準にも影響があるのかもしれない。
[その他のニュース]
▼QUICとPQC
こちらのツイートから。
『QUIC Protocol with Post-quantum Authentication』
— ゆき (@flano_yuki) 2022年12月13日
QUICでPQCためした論文。アブストラクトしか読めないけど、パケットロスの増加は、ハンドシェイクのサイズが増えたからなのかなhttps://t.co/stYnziP01F
リンク先はこちら。PDFで3000円以上するみたい...💸
PQCアルゴリズムのDilithium 2とFalcon 512をTLSで利用した場合、3072ビットのRSAを利用した場合よりハンドシェイク時間が短いとのこと。ただ、鍵と署名のサイズの増大や、パケットロスの発生頻度の増加はあった、とのこと。
NISTのPQCコンペ第3ラウンドではRainbowというアルゴリズムもあったようだがこいつはどうなんだろう?
▼RSA署名を正しく理解する
こちらのツイートから。
RSA署名を正しく理解するhttps://t.co/xhPThMv7cT
— herumi (@herumi) 2022年12月14日
という記事を書きました。
リンク先はこちら。
大抵の入門書に載っているこの「RSA暗号」は安全ではないので絶対に使ってはいけません。たとえば0や1の暗号文は0や1のままです。
知らんかった...。プロフェッショナルSSL/TLS読み終わりそうだし、来年こそは暗認本読んでもう少し暗号まじめに勉強しようかな。RSASSA-PSSも知らなかったし...。
▼Let's EncryptのOCSPレスポンスキャッシュ
こちらの記事から。
先日の年次レポートでも触れられていた内容とほぼ同じ。
レポートにはなかった内容として、HSMを使って、OCSPリクエストがきたときにOCSPレスポンスに署名すると同時にRedisに突っ込む、ということをやっているらしい。
▼curlでクライアント証明書
こちらのツイートから。
OAuth 2.0 の「TLS クライアント証明書を結びつけたアクセストークン」をどのように取得・発行するか、実際に試してみましょう。Authlete が提供する認可サーバー・リソースサーバーのリファレンス実装を用いた、Financial-grade API (FAPI) 対応環境構築チュートリアルです。https://t.co/8XxqYRDWYZ
— Authlete (@authlete_jp) 2022年12月13日
リンク先はこちら。
以下のようにしてcurlでクライアント証明書を利用できるらしい。なるほど。
$ curl --insecure -X POST https://as.example.com:8443/api/token \ --key client.key --cert client.crt
[まとめ]
そろそろ2022年を振り返る記事を書いてみようかしら...年末かな。