kdnakt blog

hello there.

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

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

[Chrome HTTPSファーストモードの実態]

こちらのツイートから。

リンク先はこちら。

blog.ichikaway.com

HTTPSファーストモードの存在は知っていたけど、具体的な実装は知らなかったので勉強になった。307はTemporary Redirectを意味するステータスコードらしい。
オリジンのWebサーバに307のレスポンスが残らないのは調査大変そう...。

[Bulletproof TLS Newsletter #106]

こちらのツイートから。

リンク先はこちら。

www.feistyduck.com

トップニュースはEncrypted Client Helloについて。ChromeFirefox、OpenSSLがECHのサポートを進めている。ほかにも、Cloudflareがサポートを発表したものの何故か延期されたらしい。

その他のニュースでは以下の通り。

 

[その他のニュース]

▼電気通信における「通信の秘密」

こちらのツイートから。

リンク先はこちら。

nukalumix.hateblo.jp

内容だけじゃなくて、通信したことも秘密の範囲に含まれるのか...知らなかった。でも電気通信事業者が通信記録をもとに料金計算するのは業務上の正当な行為なのでセーフ、と。

IPネットワークのルーティングがそもそも通信の秘密を侵害しているって認識はなかったな...。

▼電子情報通信学会誌Vol.106 No.11

こちらのツイートから。

リンク先はこちら。

www.journal.ieice.org

そういえば耐量子暗号のコンペでデジタル署名のFALCONも勝ち残ってたけど、FIPSのドラフトが出てなかった。NISTの発表によると追加のドラフトが出る予定らしい。

▼Open Quantum Safe Demo

こちらのリンクから。

github.com

耐量子暗号のデモを集めたGitHubリポジトリ。リンク先はChromiumのパッチで、2023年10月14日にX509Certificate::kPublicKeyTypeDilithiumやX509Certificate::kPublicKeyTypeFalconといった分岐の処理が追加されている。旧来の署名アルゴリズムと耐量子暗号の署名アルゴリズムを組み合わせた、複合(コンポジット)証明書やハイブリッド証明書に対応したブラウザはまだ登場していなかった気がするが、このパッチで利用できるようになるのだろうか....?

▼TurboTLSのドラフト

こちらのツイートから。

リンク先はこちら。

www.ietf.org

2023年2月に取り上げた論文がインターネットドラフトになったらしい。

[暗認本:29 署名]

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

  • 紙の署名とデジタル署名
    • デジタルデータは筆跡や実印と違って簡単にコピー可能
    • 電子データの作成や同意を保証するデジタル署名(単に署名とも)
    • データと署名がセット
      • 能動的に署名したとみなす=否認防止
      • 署名検証=データの完全性確認
  • 署名のモデル
    • 鍵生成+署名+検証の3段階
    • 鍵生成:署名鍵と検証鍵を作成、検証鍵を公開
    • 署名:データmと署名鍵から署名を作成し、署名とデータを渡す
    • 検証:検証鍵を用いてデータと署名を検証
    • データのサイズによらず署名のサイズは一定
    • 暗号化ではないので、署名からデータを復元できない
  • 署名の安全性
    • MAC同様、署名とデータをたくさん集めても偽の署名を作れないことが重要
      • 存在的偽造困難性EUF(Existentially UnForgeable)
  • MACと署名
    • MACは署名鍵=検証鍵を秘密にする
      • 否認防止の機能がない
      • MACより高速に処理可能
    • 署名の場合は署名鍵と検証鍵が異なり、検証鍵を公開可能
      • 否認防止の機能がある
    • 署名はPublic Key Cryptographyに含まれるがPublic Key Encryptionではない(どちらも公開鍵暗号と訳しうる)
  • ECDSA
    • 有限体上のDH鍵共有から楕円曲線を用いたECDH鍵共有への移行が進んでいる
    • 署名も同じ:ECDSA、EdDSA
    • 楕円曲線上の点P、原点OについてqP=Oとする
      • qは256ビット,384ビットの素数
    • 整数sを秘密鍵(署名鍵)とし、S=sPを公開鍵(検証鍵)とする
    • データmに対し整数kをランダムに選び、kPのX座標をrとする
    • 署名σ=(r, (SHA-256(m)+sr)/k) = (r, t)とする
    • R=(SHA-256(m) * P + rS)/tのX座標がrと等しければ検証完了
  • 公開鍵認証
    • SSHなどで利用される方式
      • 検証鍵をサーバに登録
      • サーバ接続時にDH鍵共有等で生成した予測できない値に署名してサーバに送信
      • サーバは検証鍵で検証
    • 予測できない値を使うのはリプレイ攻撃防止
  • FIDO
    • 多要素認証を使いやすくするための規格
    • FIDO2ではWebAuthnの標準化が進行中
      • WebAuthnを利用するサーバをRP (Relying Party)と呼ぶ
      • 認証器(スマホやUSBトークン)に署名鍵、RPサーバに検証鍵を登録
      • 認証時にはサーバから送られた乱数に署名して送信、検証

[まとめ]

技術書典15用の原稿が未完成です。ピンチ...。

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

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

この続きはcodocで購入