kdnakt blog

hello there.

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

2023年7月3日~2023年7月9日に読んだ中で気になったニュースとメモ書き(TLSらじお*1第113回の原稿)です。
全文を公開している投銭スタイルです。

[マイナンバーカードと認証局]

こちらのツイートから。

リンク先はこちら。

news.yahoo.co.jp

ハードウェアの世界は大変だな...と思ったけど、こんなツイートも。

耐量子アルゴリズムに対応した鍵の証明書を発行するってことは確かに認証局も対応してくれないとダメか...。そして、そこで認証局が対応するアルゴリズムが、TLS通信で利用される証明書でも使われるので、TLSにも影響しうる、と。

CyberTrustはサンプルのPQC証明書を提供しているらしい。来年のNISTの標準化が終わったらサンプルじゃなくて本物が提供される感じだろうか。

www.cybertrust.co.jp

鍵町のばして安全性確保する可能性もなくはない。

[EV証明書の見分け方]

こちらのツイートから。

知らなかった...。確かにFirefoxで証明書を見ると、証明書ポリシーのところにExtended Validationの文字が。画像はhttps://jp.globalsign.com/の証明書。さすがに認証局の証明書はEV証明書らしい。

Chromeで見るとこんな感じ。OID 2.23.140.1.1の文字はあるが、その説明は全くない。

中間証明書を見れば、EV証明書を発行する認証局になっていることがわかるので、多少知識のある人間なら区別できないこともないが...。

[その他のニュース]

▼耐量子署名アルゴリズムFAEST

こちらのツイートから。

リンク先はこちら。

faest.info

AESをベースにしたデジタル署名らしい。論文によるとNIST PQCで候補に上がっているSPHINCS+と比べると、署名サイズは小さい。また、署名検証は遅いものの、署名速度はかなり速いとのこと。
NISTのPQCコンペのラウンド4に提出されているとの噂。

ACMEクライアント構成の自動検出

こちらのツイートから。

また新しいインターネットドラフトが。リンク先はこちら。

www.ietf.org

DNSのCAAレコードに、discoveryとpriorityのパラメータを追加し、ACMEクライアントの設定に利用しようという話らしい。ACME使ってないのでそのペインポイントがよくわからないけど...。

▼TweetDeckの証明書エラー

こちらのツイートから。

最近Twitter色々壊れていってると噂だけど証明書もミスってたらしい。
今は2022年10月発行の証明書に戻っているので、どういうミスだったのかは確認できず...。

GitHub Actionsの証明書改善

こちらのツイートから。

リンク先はこちら。

github.com

先週取り上げた問題が改善したらしい。AWSのIAMチームが、GitHubへの接続に証明書のハッシュではなく通常のトラストストアを利用するようにしたとのこと。

▼証明書署名リクエストに証明書を使う

こちらのツイートから。

何やら新しいインターネットドラフトが。

www.ietf.org

アーキテクチャのところを見ると、CSR(証明書署名リクエスト)に追加情報を埋め込むような感じになるっぽい。証明書の秘密鍵を保護するためのハードウェアのセキュリティ機能の存在を保証するため、と書かれているがいまいちピンとこない...。

[暗認本:12 ストリーム暗号]

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

  • ワンタイムパッドとストリーム暗号
    • ワンタイムパッドのように真の乱数を使うのは大変
    • シードを秘密鍵として共有し、疑似乱数を生成して使うのがストリーム暗号
  • 計算量的安全性
    • ストリーム暗号はワンタイムパッドより弱い
    • 疑似乱数生成器には生成できない値が存在するため
    • 鍵長が128ビットなら計算量的に安全とされる
  • ストリーム暗号の歴史
    • 1987年にRivestが設計したRC4が有名
      • 2000年ごろから攻撃が見つかる
      • 2013年平文解読攻撃が提案されTLSで利用禁止
    • 2008年にBernsteinがChaCha20を開発
      • モバイル環境などではAESより高速
  • ナンス(ノンス)
    • 擬似乱数生成器は同じシードには同じ乱数列を出力
    • 秘密鍵と一緒にナンスを利用することで、同じ平文を異なる暗号文にできる
    • 同じ秘密鍵に同じナンスを2回使ってはいけない
  • ChaCha20
    • 256ビットに秘密鍵k+96ビットのナンスnから512ビットずつの疑似乱数を作る
    • 初期状態:c(128ビットの初期定数)+k+b(32ビットのカウンタ)+nを32ビットずつ4x4に並べる
 0  1  2  3
 4  5  6  7
 8  9 10 11
12 13 14 15
    • 初期状態にQuarterRound(1/4ラウンド関数)を繰り返し、元の初期状態と加算して乱数を出力
      • QR(a,b,c,d):32ビット整数の加算、排他的論理和、ビット左回転(rotLeft)の単純な処理のため高速
      • QR(0, 4, 8, 12)、QR(1, 5, 9, 13)、...のように1/4ずつ縦→斜め→縦→斜め...と合計80回処理する
    • bを1, 2, 3...とカウントアップして乱数1, 2, 3...を出力する

[まとめ]

今週もインターネットドラフトが盛りだくさん...。

※以降に文章はありません。投銭スタイルです。

*1:TLSらじおは社内勉強会です。このブログを読み上げつつ弊社サービスの実情を語ったりします。

この続きはcodocで購入