kdnakt blog

hello there.

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

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

[TELNET over SSL/TLS (TCP Port 992)]

こちらのツイートから。

Firefoxでアクセスすると読めた。

TLS1.3が使われている。

おみくじbotもいるっぽい。

注記3「公告においてTelnet方式を利用する必要がある具体的理由の申出書」とか、補足の数々が勉強になった。

補足6もインターネットの監視について触れられていて勉強になった。

ちゃんとIANAで予約されたTELNETSのポート番号らしい。世界初。

窓の杜でも記事になってた。

forest.watch.impress.co.jp

[Bulletproof TLS and PKI翻訳予定]

こちらのツイートから。

確かにHPには、原書第2版(Bulletproof TLS and PKI)の翻訳は2023年秋予定と書かれている。

プロフェッショナルSSL/TLS – 技術書出版と販売のラムダノート

英語版は読んだけど、紙の日本語版も欲しいので楽しみ!

[その他のニュース]

▼OpenSSHのデフォルトアルゴリズム変更

こちらのツイートから。

リンク先はこちら。

github.com

ssh-keygenコマンドで、-tオプションでアルゴリズムを指定しない場合のデフォルトがRSAからEd25519に変更になるとのこと。TLSと直接は関係ないけど、RSAがちょっとずつ使われなくなっていっている気配。

次のOpenSSHのリリースは年内にあるだろうか。

www.openssh.com

▼BoringSSLのHandshake hints

こちらのツイートから。

リンク先はこちら。

boringssl.googlesource.com

なんかそういう機能があるらしい。うまく署名を予測できるとRPC呼び出しをスキップできる機能らしいけど何もわからん...。パフォーマンスが向上する系?

commondatastorage.googleapis.com

セミナー・シンポジウム情報

こちらのツイートから。

リンク先はこちら。予定がちょっと合わないので、公開される資料待ち。

www.imes.boj.or.jp

こんなツイートも。

リンク先はこちら。TLS嘘発見器...どういう話なのか気になる。

www.iwsec.org

▼Certainly構築の裏側

RSSで見つけたこちらの記事から。

www.fastly.com

our systems are designed to be self-destructing and ephemeralってのが凄そう。ストレージも頻繁に削除されるとのこと。毎日違うインスタンスってこと?

ルート証明書に署名する際の自動化とか、無線ネットワークハードウェアを削除された専用マシンの話とかも気になる。

▼CTの歴史

こちらのツイートから。

CTの歴史が1枚にまとまってて良さげ。

Ryan Hurst氏は最近CT関連の発表もされた様子。FirefoxはCTログ必須にしていないが全体の3%程度のシェアなのでエコシステム全体としてはセキュアだろう、とのこと。

Binary Transparencyの方は全然知らなかったけど、サプライチェーン周りの安全性に関わる話っぽい。なるほど。

▼CAAレコードのチェック順序

こちらのツイートから。

リンク先はこちら。

letsencrypt.org

CAAレコードのチェック順序について触れられている。対象ドメインに最も近いCAAレコードが尊重されるとのこと。意識したことなかったけど、確かにそういう挙動じゃないと困りそう。

RFC8659にも確かにそう書いてあった。

datatracker.ietf.org

▼FastlyのTLS脆弱性

こちらのツイートから。

FastlyのTLSセッションを復号できるバグがあったらしい。TLSセッションチケット関連とのこと。修正がデプロイされたらしいので、詳細が公開されるのを待ちますか...。

[暗認本:21 RSA暗号]

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

  • RSA暗号の具体例
    • ベキ乗の余りの性質を利用した暗号
    • n=187, e=3とする(このペアが公開鍵)
    • f(x, y , n) = x^y mod nという関数を考える
      • 平文mを0からn-1まで計算する
      • f(0, e, n) = 0^3 mod 187 = 0
      • 0→0, 1→1, 2→8, 3→27→, 4→64, 5→125, 6→29, 7→156, ..., 186→186
    • d=107とする(秘密鍵):復号はf(c, d, n)
      • f(27, d, n) = 27^107 mod 187 = 3
  • RSA暗号の作り方
    • 二つの素数pとqからn = p * qとする
    • 整数eを選ぶ:65537とすることが多い
    • e * d mod (p-1)(q-1)が1となる整数dを探す
    • dが秘密鍵、nとeのペアが公開鍵
    • Enc(m) = f(m, e, n) = m^e mod n
    • Dec(c) = f(c, d, n) = c^d mod n
    • 暗号化と復号の関数が同じfで表される
    • フェルマーの小定理
      • pを素数、aをpの倍数でない整数とすると、a^(p-1) ≡ 1 (mod p)
      • m^(p-1)≡1、m^(q-1)≡1である
      • m^(p-1)(q-1)-1は、(m^(p-1))^(q-1)-1なので、p*qで割り切れる
      • よってm^(p-1)(q-1)≡1 (mod p*q)
      • 両辺にmをかけてm^((p-1)(q-1)+1)≡m (mod p*q)
      • e*d=((p-1)(q-1)+1)とすると(m^e)^d≡m (mod n)
        • Dec(Enc(m)) = m
  • RSA暗号の安全性
    • RSA仮定:n=p*qが600桁以上なら元の平文を求められない
    • nの素因数分解ができれば話は別:大きなnを選ぶ必要
    • 落とし戸付き一方向性関数trapdoor function
      • 秘密鍵を知っている人だけ逆向きの計算ができる
    • RSAは強秘匿性を持たない:同じ平文は同じ暗号文になる
    • 広く使われているRSAPKCS#1 v1.5方式
      • パディングオラクル攻撃が知られている
    • CRYPTRECの電子政府推奨暗号リストではRSA-OAEPを推奨

[まとめ]

暗号はCPUっていうか電気食うしね...。

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

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

この続きはcodocで購入