Slide 1

Slide 1 text

クラメソふくおかIT勉強会#2〜今年の冬休み、何触る?LT会〜 2025/11/27 George Yoshida 32のキーワードで学ぶ はじめての耐量⼦暗号(PQC)

Slide 2

Slide 2 text

⾃⼰紹介 2 ● 名前 : George Yoshida ● ロール : ソリューションアーキテクト ● ブログ : https://dev.classmethod.jp/author/quiver/ ● 👉 の本のレビューしました: ○ 『図解即戦⼒ 暗号と認証のしくみと理論が これ1冊でしっかりわかる教科書』 ○ 光成 滋⽣ (著) ○ 2021/09/24 ○ Amazonでも⼤⼈気!

Slide 3

Slide 3 text

5⾏でわかる耐量⼦暗号 3 ● 量⼦コンピュータは未来の技術 ● 実⽤化(CQC)は未来だが攻撃はすでに起きている(HNDL) ● この攻撃を防ぐのが耐量⼦暗号(PQC) ● PQCのエコシステムはすでに整っているし動いている ● 残るは移⾏のみ

Slide 4

Slide 4 text

⽬次 4 耐量⼦暗号とは? 01: 量⼦コンピュータとは? 02:古典 vs 量⼦ 03: Shorのアルゴリズム 04: Groverのアルゴリズム 05: CRQC / Q-Day 06: HNDL攻撃 07: 耐量⼦暗号 08: モスカの定理 09: 量⼦暗号と耐量⼦暗号は別物 10: 2035年問題 11: NIST PQC標準アルゴリズム群 12: NIST PQC安全性レベル 普及が進む耐量⼦暗号 13: 50%以上のブラウザリクエストがPQC対応 14: ハイブリッド鍵交換 15: HTTPS通信時のPQC対応前後の違い 16: PQCは鍵サイズが⼤きい 17: 鍵交換フローはRSAとML-KEMが線対称 18: ML-KEMは復号できない暗号⽂を⽣成することがある 19: クリプト‧インベントリ 耐量⼦暗号の対応状況 20: OSのPQC対応状況 21: ソフトウェアのPQC対応状況 22: AWSのPQC対応状況(抜粋) 23: PQC通信を確認(ブラウザ) 24: PQC通信を確認(パケット) 25: PQC通信を確認(SSH) 格⼦暗号の理論付け 26: 3世代の鍵交換の定式化 27: 格⼦暗号 28: SVP/CVP問題 29: LWE問題 30: 格⼦暗号を利⽤する準同型暗号 31: 初めての格⼦暗号は3名の数学者が考案 32: 量⼦コンピュータは21を素因数分解できない

Slide 5

Slide 5 text

耐量⼦暗号とは?

Slide 6

Slide 6 text

1: 量⼦コンピュータ (Quantum Computer)とは? 6 量⼦⼒学の原理を計算に応⽤したコンピュータ。古典的なコ ンピュータで解くには複雑すぎる問題を、量⼦⼒学の法則を 利⽤して解くコンピュータのこと。量⼦計算機とも。極微細 な素粒⼦の世界で⾒られる状態である重ね合わせや量⼦もつ れなどを利⽤して、従来の電⼦回路などでは不可能な超並列 的な処理を⾏うことができると考えられている。 ※ WIKIPEDIA『量⼦コンピュータ』より ※ ⾦ピカの正体は希釈冷凍法による銅製の冷却装置。

Slide 7

Slide 7 text

2: 古典 vs 量⼦ 7 ● 「量⼦」以前を「古典」と呼ぶ慣習 古典(classical) 量子(quantum) 古典力学 量子力学 古典コンピュータ 量子コンピュータ 古典暗号 耐量子暗号 古典アルゴリズム 量子アルゴリズム

Slide 8

Slide 8 text

3: Shorのアルゴリズム 8 ● 量⼦コンピュータの特性を活かしたアルゴリズム ● RSA暗号の⼟台の素因数分解問題や楕円曲線暗号の⼟台の離 散対数問題を多項式時間で解くことができる ● 量⼦コンピュータの黎明期から知られる、応⽤例の⼀つ ● 1994年にPeter Shorが発表 ● 2001年に15=3x5の素因数分解に成功

Slide 9

Slide 9 text

4: Groverのアルゴリズム 9 ● 量⼦コンピュータの特性を活かしたアルゴリズム ● 総当り探索をO(N)ではなくO(√n)で解く ● 1996年にLov Groverが発表

Slide 10

Slide 10 text

5: CRQC‧Q-Day 10 ● CRQC: Cryptographically Relevant Quantum Computer ○ RSA-2048のような古典暗号を多項式時間で解読できるス ペックを持った量⼦コンピュータ ● Q-Day: ○ CRQCの登場により、古典暗号が危殆化する⽇

Slide 11

Slide 11 text

6: Harvest Now, Decrypt Later(HNDL)攻撃 11 ● PQC移⾏のコンテキストで頻出するキーワード ● 今(Now) ○ 古典暗号で暗号化されているデータを収集(harvest=収穫) ● 未来(Later) ○ Q-Day到来後、量⼦コンピュータ(CRQC)で古典暗号データ を解読

Slide 12

Slide 12 text

7: 耐量⼦暗号 (PQC;Post-Quantum Cryptography) 12 ● HNDL攻撃を防ぐ、量⼦コンピュータ(CRQC)でも解読困難な 古典コンピュータで動く暗号⽅式の総称 ● 量⼦技術そのものではない ● 複数の暗号⽅式 ○ 格⼦暗号 ○ 符号暗号 ○ など

Slide 13

Slide 13 text

8: モスカの定理(Mosca’s Theorem) 13 ● 賞味期限(X) + 移⾏期間(Y) > Q-Day(Z) を満たすとHNDL攻撃が成功 ● X:賞味期限の例 ○ 0年:ワンタイムパスワード ○ 50年:国家機密 ● Y:PQC移⾏期間の例 ○ 0年:AESのパラメーター変更 ○ 10年:鍵交換のPQC化 ※ Michele Mosca “Cybersecurity in an era with quantum computers: will we be ready?”, 2015.

Slide 14

Slide 14 text

9: 量⼦暗号≠耐量⼦暗号 14 ● 量⼦暗号と耐量⼦暗号は⽂字は似ているが別物 ● 量⼦暗号は⼀般に量⼦技術を使った量⼦鍵配送(Quantum Key Distribution;QKD)を指し、専⽤ハードウェアを使った鍵 交換⽅式 ● 例:BB84プロトコル

Slide 15

Slide 15 text

10: 2035年問題 15 ● NIST IR 8547(2024年11⽉公開) ○ ⽶国国⽴標準技術研究所(NIST)による耐量⼦暗号への移⾏レポート ○ Transition to Post-Quantum Cryptography Standards ○ ⽶国連邦政府システムは2035年までにPQCへ移⾏すべし ● CNSA 2.0(2022年9⽉公開) ○ アメリカ国家安全保障局(NSA)による暗号アルゴリズムスイート ○ ⽶国国家安全保障システム(NSS)は2035年までにPQC移⾏すべし ○ NSA expects the transition to QR algorithms for NSS to be complete by 2035 in line with NSM-10.

Slide 16

Slide 16 text

11: NIST PQC標準アルゴリズム群 16 ● NISTがPQCの公募を2016年開始、2024年決定 ● ML系(モジュール格⼦)がメイン、残りはバックアップ 用途 規格 名称 旧称 数学的基盤 鍵交換 FIPS 203 ML-KEM CRYSTALS-Kyber モジュール格子 署名 FIPS 204 ML-DSA CRYSTALS-Dilithium モジュール格子 署名 FIPS 205 SLH-DSA SPHINCS+ ハッシュ関数 署名 FIPS 206(ドラフト) FN-DSA Falcon NTRU格子 鍵交換 FIPS化予定 HQC HQC 符号理論 ※ CRYPTREC 暗号技術ガイドライン (耐量⼦計算機暗号)2024年度版

Slide 17

Slide 17 text

12: NIST PQC安全性レベル 17 ※ NIST recommends using ML-KEM-768 as the default parameter set, as it provides a large security margin at a reasonable performance cost. In cases where this is impractical or even higher security is required, other parameter sets may be used. (NIST FIPS 203) ※ 鍵交換系のみ ● NISTは安全性をレベル1から5まで設定 ● X25519(L1)からML-KEM-768(L3)への移⾏が進⾏中 レベル 基準 (計算量) 耐量子暗号 古典暗号 Level 1 AES-128 ML-KEM-512 X25519 (現在の標準) Level 3(推奨) AES-192 ML-KEM-768 (PQC時代の標準) P-384 Level 5(政府・金融 ) AES-256 ML-KEM-1024 P-521

Slide 18

Slide 18 text

普及が進む耐量⼦暗号

Slide 19

Slide 19 text

13: 50%以上のブラウザリクエストがPQC鍵交換 19 ● 鍵交換(ハイブリッド) ○ 2024年03⽉:全TLS 1.3通信の2% ○ 2025年10⽉:⼈間のリクエストの50%以上 ● 署名 ○ 2025年10⽉:確認できず ※ Cloudflare : State of the post-quantum Internet in@2025/10/28 ※ Cloudflare : State of the post-quantum Internet in@2024/03/05

Slide 20

Slide 20 text

14: ハイブリッド鍵交換(X25519MLKEM768) 20 ● モチベーション ○ PQC鍵交換を導⼊したい ○ 脆弱性のリスクを軽減したい ● ハイブリッド鍵交換 ○ 古典暗号(X25519)とPQC(ML-KEM 768)それぞれの秘密鍵か ら最終的な秘密鍵を導出 ※ Post-quantum hybrid ECDHE-MLKEM Key Agreement for TLSv1.3 ※ https://bughunters.google.com/blog/5266882047639552/why-hybrid-deployments-are-key-to-secure-pqc-migration

Slide 21

Slide 21 text

15: HTTPS通信時のPQC対応前後の違い 21 コンポーネント 移行前 現状 移行後 鍵交換 ECDHE ECDHE+ML-KEM のハイブリッド ML-KEM サーバー証明書 (署名) ECDSA ECDSA ML-DSA 共通鍵暗号 AES-128 AES-128 AES-256

Slide 22

Slide 22 text

16: PQCは鍵サイズが⼤きい(公開鍵の例) 22 アルゴリズム 公開鍵(バイト) X25519 32 ML-KEM768(L3) 1184 X25519MLKEM768 1216(=32+1184) ML-KEM1024(L5) 1568 Wireshark : MTU(1500バイト)の閾値を超え、X25519MLKEM768 のClient HelloでTCPセグメンテーション発⽣

Slide 23

Slide 23 text

17: 鍵交換フローはRSAとML-KEMが線対称 23 ※ フローを単純化しNotebookLM作成 ※ KEMのカプセル化= RSAの「共通鍵を公開鍵で暗号化」に相当する操作

Slide 24

Slide 24 text

18:ML-KEMは復号できない暗号⽂を⽣成することがある 24 4.1.1. Decapsulation failure With ML-KEM, there is a tiny probability of decapsulation failure. That is, even if Alice and Bob perform their roles honestly and the public key and ciphertext are transmitted correctly, there is a tiny probability that Alice and Bob will not derive the same shared key. However, even though that is a theoretical possibility, practically speaking this will never happen. For all three parameter sets, the probability is so low that most likely an actual decapsulation failure because of this will never be seen for any ML-KEM exchange anywhere (not only for your protocol, but over all protocols that use ML-KEM). Hence, the advice we give is to ignore the possibility. ※ https://datatracker.ietf.org/doc/draft-sfluhrer-cfrg-ml-kem-security-considerations/ ※ KEMのカプセル化= RSAの「共通鍵を公開鍵で暗号化」に相当する操作 気にすんな

Slide 25

Slide 25 text

19: クリプト‧インベントリ 25 ● PQC移⾏計画は暗号⽅式の利⽤状況の把握 ○ システム‧管理⽅法‧パラメータなど ● CBOM(Cryptography Bill of Materials) ○ SBOMの暗号資産版 ○ CycloneDXなどが対応 ※ https://security.googlecloudcommunity.com/ciso-blog-77/from-inventory-to-agility-a-ciso-s-guide-to-robust-key-management-3969 ※ https://cyclonedx.org/capabilities/cbom/

Slide 26

Slide 26 text

耐量⼦暗号の対応状況

Slide 27

Slide 27 text

20: OSのPQC対応状況(主要OSは対応済み) 27 ● 2025/05 : RHEL 10 ● 2025/09 : iOS / iPadOS / macOS 26 ※Safariも ● 2025/11 : Windows Server 2025 / Windows 11

Slide 28

Slide 28 text

21: ソフトウェアのPQC対応状況(主要ブラウザは対応済み) 28 ● 2022/04 : OpenSSH 9.0 ※ NTRU(sntrup) ● 2023/09 : Signal ● 2024/03 : Apple iMessage @ 17.4 ※ PQ3 ● 2024/03 : Desktop Chrome ● 2024/09 : OpenSSH 9.9 ● 2024/11 : Android Chrome ● 2025/04 : OpenSSL 3.5 ● 2025/09 : Safari @ 26 ※ デフォルトでの有効化

Slide 29

Slide 29 text

22: AWSのPQC対応状況(抜粋) 29 ● 2022/03 : AWS KMS/ACM(※ CRYSTALS-Kyber) …(中略) ● 2025/04 : AWS KMS/ACM/Secrets Manager ● 2025/06 : AWS KMS(※ ML-DSA) ● 2025/09 : CloudFront ● 2025/11 : AWS Private CA(※ ML-DSA) ● 2025/11 : AWS ALB/NLB ● 2025/11 : AWS S3エンドポイント ● 2025/11 : AWS payments Cryptograpy ※ 記載のないものはML-KEMのハイブリッド鍵

Slide 30

Slide 30 text

23: PQC通信を確認(ブラウザ) 30 ● https://pq.cloudflareresearch.com/ にアクセス ● Chrome: ○ Developer Tools→Privacy and security→Connection

Slide 31

Slide 31 text

24: PQC通信を確認(パケット) 31 ● tcpdump $ sudo tcpdump -w pqc.pcap host example.com >/dev/null 2>&1 ● Wireshark TLS 1.3ハンドシェイクを確認 ※ https://www.akamai.com/blog/security/post-quantum-cryptography-implementation-considerations-tls

Slide 32

Slide 32 text

25: PQC通信を確認(SSH) 32 ● github.comは2025/09からPQC対応(※) $ ssh -v [email protected] exit 2>&1 | grep 'kex: algo' debug1: kex: algorithm: sntrup761x25519-sha512 ● 対応プロトコル確認 ○ サーバー : $ nmap --script ssh2-enum-algos -p 22 example.com ○ クライアント : $ ssh -Q kex ● 10.1(2025/10)から非PQC通信を警告 ** WARNING: connection is not using a post-quantum key exchange algorithm. ** This session may be vulnerable to "store now, decrypt later" attacks. ** The server may need to be upgraded. See https://openssh.com/pq.html ※ https://github.blog/engineering/platform-security/post-quantum-security-for-ssh-access-on-github/ ※ https://www.openssh.org/pq.html

Slide 33

Slide 33 text

格⼦暗号の理論付け

Slide 34

Slide 34 text

26: 3世代の鍵交換の定式化 34 暗号方式 安全性の根拠 中心となる式 RSA暗号 整数の素因数分解 楕円曲線暗号 楕円曲線上の離散対数 問題(DLP) 格子暗号 (ML-KEM) MLWE/SVP/CVP問題

Slide 35

Slide 35 text

27: 格⼦暗号 35 ● 格⼦(2次元だと図のような平⾏四辺形)を利⽤した暗号⽅式 ● 格⼦暗号はModule LatticeやNTRUなど複数のアプローチ ● 格⼦問題は⾼次元の基底からなる格⼦構造の最適化問題 ※ Silverman et.al “An Introduction to Lattices, Lattice Reduction, and Lattice-Based Cryptography” https://www.ias.edu/sites/default/files/Silverman_PCMI_Note_DistributionVersion_220705.pdf

Slide 36

Slide 36 text

28: SVP/CVP問題 36 ● 格⼦暗号の安全性の根拠 ※ 図の引⽤元 https://en.wikipedia.org/wiki/Lattice_problem SVP : 基点から最も近い 別の格⼦点を探す CVP : 任意点から最も近い 格⼦点を探す

Slide 37

Slide 37 text

29: LWE(Learning With Errors)問題 37 ● ML-KEM/DSAの安全性の根拠 ● 「ノイズを含んだ連⽴⼀次⽅程式を解く」問題 ● ノイズ(e)のおかげで解くことが困難になり、Shor耐性もある ● SVP/CVPがMLWE(モジュール版LWE)の安全性を保証 ※ https://en.wikipedia.org/wiki/Learning_with_errors

Slide 38

Slide 38 text

30: 格⼦暗号を利⽤する準同型暗号 38 ● 準同型暗号:データを暗号化したまま処理 ● 秘密計算:データを秘匿化したまま処理する総称 ● 準同型暗号にも格⼦暗号が利⽤される ● 詳細は下記を参照 ○ 光成 滋⽣ 著 ○ 『図解即戦⼒ 暗号と認証のしくみと理論がこ れ1冊でしっかりわかる教科書』 ○ Chapter 9「⾼機能な暗号技術」

Slide 39

Slide 39 text

31: 初めての格⼦暗号は3名の数学者が考案 39 ※ “Joseph H. Silverman”はあの「シルバーマン」

Slide 40

Slide 40 text

32: 現在の量⼦コンピュータは21を素因数分解できない 40 https://algassert.com/post/2500 ⽇本語解説動画 https://www.youtube.com/watch?v=T0MMi0jiKR8

Slide 41

Slide 41 text

まとめ

Slide 42

Slide 42 text

5⾏でわかる耐量⼦暗号 42 ● 量⼦コンピュータは未来の技術 ● 実⽤化(CRQC)は未来だが攻撃はすでに起きている(HNDL) ● この攻撃を防ぐのが耐量⼦暗号(PQC) ● PQCのエコシステムはすでに整っているし動いている ● 残るは移⾏のみ

Slide 43

Slide 43 text

No content