狠狠撸

狠狠撸Share a Scribd company logo
HAZY DATAGRAMS
25.10.2022 OWASP SAITAMA MTG #10 TALK #1
TEXT
SESSION FLAGS
? 録画?録音?公開: OK
Image by Nico Kaiser on flickr, CC-BY 2.0
TEXT
WHO I AM
? Takahiro Yoshimura (@alterakey)
https://keybase.io/alterakey
? Monolith Works Inc.
Co-founder, CTO
Security researcher
? 明治大学サイバーセキュリティ研究所
客員研究員
TEXT
WHAT I DO
? Security research and development
? iOS/Android Apps
→Financial, Games, IoT related, etc. (>200)
→trueseeing: Non-decompiling Android Application
Vulnerability Scanner [2017]
? Windows/Mac/Web/HTML5 Apps
→POS, RAD tools etc.
? Network/Web penetration testing
→PCI-DSS etc.
? Search engine reconnaissance
(aka. Google Hacking)
? Whitebox testing
? Forensic analysis
TEXT
WHAT I DO
? CTF
? Enemy10, Sutegoma2
? METI CTFCJ 2012 Qual.: Won
? METI CTFCJ 2012: 3rd
? DEF CON 21 CTF: 6th
? DEF CON 22 OpenCTF: 4th
? 発表?講演など
DEF CON 25 Demo Labs (2017)
DEF CON 27 AI Village (2019)
CODE BLUE (2017, 2019)
CYDEF (2020) etc.
Image by Wiyre Media on flickr, CC-BY 2.0
Noise Protocol Framework
TEXT
WHAT IS NOISE?
? 暗号プロトコルを作るためのフレームワーク
? 暗号プロトコル (n.):
平文チャネルにおいて、秘匿性?完全性が保証
された通信チャネルの構築を目指すプロトコル
(e.g. TLS, IPsec, etc.)
TEXT
WHAT IS NOISE?
? 構成要素をブロック化
? s, e, ss, se, es, ee, pskを組み合わせて設計
? s: 長期鍵の公開鍵送付
e: 一時鍵の生成?公開鍵送付
ss/se/es/ee: Dif
fi
e-Hellman合意形成
psk: Pre-shared key適用
Image by Eric Haines on flickr, CC-BY 2.0
TEXT
WHAT IS NOISE?
? ネゴシエーション機構は提供しない(cf. TLS)
? 暗号系を限定(cf. TLS)
? DH: Curve25519/Curve448
? AEAD: ChaCha20-Poly1305/AES-GCM
? Hash: SHA256/512/BLAKE2s/BLAKE2d
Image by plenty.r. on flickr, CC-BY-SA 2.0
TEXT
WHAT IS NOISE?
? フレキシブルだが堅固な実装が得られる
? 先進的な特徴を持つプロトコル設計にも対応
? 0-RTT
? Post-quantum resistance (i.e. PSK) etc.
Image by Chris Elt on flickr, CC-BY-NC-ND 2.0
TEXT
WHAT IS NOISE?
? 採用例
? WireGuard
? WhatsApp
? Lightning Network
? I2P etc, etc..
Image by Patras Gagilas on flickr, CC-BY-SA 2.0
TEXT
SECURITY POSTURE
? これらは安全なのか…?
? 公式には24パターン提示している
xy; x: 送信側, y: 受信側として, 長期鍵を…
N: 持たない, K: 既知,
I: 即時送信, X: 随時送信 (identity hiding)
e.g. NN, IK, etc.
? IK(psk2): WireGuard
? IK/XX: WhatsApp
Image by Joel Penner on flickr, CC-BY 2.0
TEXT
SECURITY POSTURE
? 自作のものは…?
? ドキュメント7.3項に基準4点 → これに従っていれば…
https://noiseprotocol.org/noise.html#handshake-
pattern-validity
? 送付回数、ECDH合意回数規制: シンプルな設計
? 暗号化に先立ったECDH合意強制:
?ECDH鍵の再利用規制
?一時鍵によるForward-secrecy, key-compromise
impersonation resistanceの強制
TEXT
FORMAL VERIFICATION
? Noise Explorer [Kobeissi18]
? HandshakeについてProVerifモデル生成
Go/Rustによる安全な実装生成
? 公式+派生: 全57パターンに対応
? 任意パターンについても対応
? 攻撃シナリオ: active/passive両対応
ただ… 膨大なルール量
TEXT
FORMAL VERIFICATION
? ProVerif: INRIA制作の暗号プロトコル検証ツール
? Dolev-Yaoモデルにおける系の特徴を証明
? Secrecy (秘匿性)
? Authenticity (真正性)
? Strong secrecy (強い秘匿性; 状態変化の秘匿)
etc.
TEXT
FORMAL VERIFICATION
? ProVerif: INRIA制作の暗号プロトコル検証ツール
? 立証できない場合反証(i.e. 攻撃手段)を示す
…が、正しく理解するのは大変
? 証明を時々間違うが安全側に倒してある
→実行不能な攻撃を立案してくる場合がある
→特異度が高い設計
? 今回Dockerにまとめた
https://gist.github.com/alterakey/
9af9b6184ffce873f4d1e2eb0ac226c7
TEXT
FORMAL VERIFICATION
? Dolev-Yaoモデル
? 暗号系は完全 → CryptoVerif..
? トラフィックは盗聴改竄偽造可能
(i.e. “attacker carries message.”)
? メッセージ内容は無制限
? 無制限の多対多通信
? 無制限の多重セッション
Image by Charlie Nguyen on flickr, CC-BY 2.0
TEXT
FORMAL VERIFICATION
? Dolev-Yaoモデル
? 計算論的モデルよりは不完全
? 代数的手法を使えるのでより扱いやすい
? プロトコルを破るのには適している
(NB. 逆に完全性の検証には向いていない)
Image by Charlie Nguyen on flickr, CC-BY 2.0
TEXT
SECURITY POSTURE
? これらは安全なのか…?
? 公式には24パターン提示している
xy; x: 送信側, y: 受信側として, 長期鍵を…
N: 持たない, K: 既知,
I: 即時送信, X: 随時送信 (identity hiding)
e.g. NN, IK, etc.
? IK(psk2): WireGuard
? IK/XX: WhatsApp
Image by Joel Penner on flickr, CC-BY 2.0
TEXT
CASE STUDY: NEVER-AND-NEVER
? NN: 送信者も受信者も長期鍵を持たない…?
? NN:
-> e
<- e, ee
->
? 送信側が一時鍵を作って送る
受信側も一時鍵を作って送り、DH合意を形成
Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
TEXT
CASE STUDY: NEVER-AND-NEVER
? NN: 送信者も受信者も長期鍵を持たない
? Anonymous DH
? Passive
Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
Hazy Datagrams
TEXT
CASE STUDY: NEVER-AND-NEVER
? NN: 送信者も受信者も長期鍵を持たない
? Anonymous DH
? Active
Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
Hazy Datagrams
TEXT
CASE STUDY: NEVER-AND-NEVER
? NN: 送信者も受信者も長期鍵を持たない
? Anonymous DH
Passive: secrecyのみ (forward secrecy込み)
Active: 何の保護も提供しない(!)
? Noiseを使っているからと言って自動的に安全に
なるわけではない例
Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
TEXT
CASE STUDY: IMMEDIATE-TO-KNOWN
? IKpsk2: WireGuardの場合
? Passive
? Msg A: forward secrecyはなくはない
Msg B..D: 問題なし
TEXT
CASE STUDY: IMMEDIATE-TO-KNOWN
? IKpsk2: WireGuardの場合
? Active
? Msg A: forward secrecyはなくはない
Msg B: forward secrecyはまあ弱いかな
Msg C..D: 問題なし
TEXT
CASE STUDY: IMMEDIATE-TO-KNOWN
? IKpsk2: WireGuardの場合
? Passive/Activeで経過が違うが…
? Handshake全体を見る限りは安全
? 秘匿性: キーは漏れない、また一時キーが割れ
た場合でもそれ以前の通信内容は解読できない
? 真正性: もともと長期キーがcompromiseされ
ていない限りは問題がない
Image by pfly on flickr, CC-BY-SA 2.0
TEXT
TAKEAWAYS
? Noiseは暗号プロトコルフレームワーク
? 構成要素を厳選?ブロック化?パターン化
→新規に追加もできるが…
? 単純?高速?安全なプロトコル設計に寄与
→先進的特性を持つプロトコル設計にも対応
(0-RTT, post-quantum resistanceなど)
? 証明可能性を開いたとも言える…
Image by Daisuke Matsumura on flickr, CC-BY-NC 2.0
TEXT
TAKEAWAYS
? Noise Explorer: Kobeissiらによる設計?モデリン
グ系 [Kobeissi18]
? 公式57パターンのみならず任意設計に対しても
ProVerifモデルを生成可能
? ProVerif: INRIA制作の暗号プロトコル検証ツール
攻撃的ネットワーク(Dolev-Yaoモデル)下にお
いて系の持つ安全性を代数的に証明
? 証明可能な安全性がかなりaccessibleになった
TEXT
TAKEAWAYS
? Noiseを使用しているからといって全てが安全な
わけではない
? 例: NN (= anonymous DHと等価)
? 自作する場合:
ドキュメント7.3項のガイドラインに従う他に、
できる限り証明を行う
Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
TEXT
REFERENCES
? Noise: https://noiseprotocol.org/
? Noise Explorer: https://noiseexplorer.com/
? ProVerif: https://bblanche.gitlabpages.inria.fr/proverif/
? Docker
fi
le: https://gist.github.com/alterakey/
9af9b6184ffce873f4d1e2eb0ac226c7
FIN.

Recommended

Provable Security2
Provable Security2
Satoshi Hada
?
Provable Security1
Provable Security1
Satoshi Hada
?
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告
Kuniyasu Suzaki
?
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
trmr
?
Provable Security3
Provable Security3
Satoshi Hada
?
Wartime Pigeons
Wartime Pigeons
Takahiro Yoshimura
?
暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
?
CRYPT+YOU, UNDERSTAND TODAY!
CRYPT+YOU, UNDERSTAND TODAY!
inaz2
?
范囲証明つき準同型暗号とその対话的プロトコル
范囲証明つき準同型暗号とその対话的プロトコル
MITSUNARI Shigeo
?
Looking back 2022
Looking back 2022
Takahiro Yoshimura
?
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Kuniyasu Suzaki
?
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
?
Fill In The Blank
Fill In The Blank
Takahiro Yoshimura
?
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01
Ruo Ando
?
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
CODE BLUE
?
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
?
Beijing Report 2022
Beijing Report 2022
Takahiro Yoshimura
?
シ?ョークRFC [RFC-1437]
シ?ョークRFC [RFC-1437]
nemumu
?
Synchronized Aggregate Signatures and Computational Assumptions
Synchronized Aggregate Signatures and Computational Assumptions
MASAYUKITEZUKA1
?
平成21年度 秋期 肠蝉 午前ⅱ
平成21年度 秋期 肠蝉 午前ⅱ
Yuki Hirano
?
CTF(Capture the Flag)って何?
CTF(Capture the Flag)って何?
Kenji Aiko
?
デジタル?フォレンジックの最新动向(2024年4月27日情洛会総会特别讲演スライド)
デジタル?フォレンジックの最新动向(2024年4月27日情洛会総会特别讲演スライド)
UEHARA, Tetsutaro
?
Professional SSL/TLS Reading Chapter 6
Professional SSL/TLS Reading Chapter 6
Shogo Hayashi
?
Mazekoze2
Mazekoze2
ume doblock
?
肠丑补迟骋笔罢の惊くへ?き対话能力.辫诲蹿
肠丑补迟骋笔罢の惊くへ?き対话能力.辫诲蹿
YamashitaKatsushi
?
ブロックチェーン系プロジェクトで着目される暗号技术
ブロックチェーン系プロジェクトで着目される暗号技术
MITSUNARI Shigeo
?
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
Masahiro Sakai
?
Looking Back 2023
Looking Back 2023
Takahiro Yoshimura
?
Ticket To The Dark World
Ticket To The Dark World
Takahiro Yoshimura
?

More Related Content

Similar to Hazy Datagrams (20)

范囲証明つき準同型暗号とその対话的プロトコル
范囲証明つき準同型暗号とその対话的プロトコル
MITSUNARI Shigeo
?
Looking back 2022
Looking back 2022
Takahiro Yoshimura
?
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Kuniyasu Suzaki
?
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
?
Fill In The Blank
Fill In The Blank
Takahiro Yoshimura
?
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01
Ruo Ando
?
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
CODE BLUE
?
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
?
Beijing Report 2022
Beijing Report 2022
Takahiro Yoshimura
?
シ?ョークRFC [RFC-1437]
シ?ョークRFC [RFC-1437]
nemumu
?
Synchronized Aggregate Signatures and Computational Assumptions
Synchronized Aggregate Signatures and Computational Assumptions
MASAYUKITEZUKA1
?
平成21年度 秋期 肠蝉 午前ⅱ
平成21年度 秋期 肠蝉 午前ⅱ
Yuki Hirano
?
CTF(Capture the Flag)って何?
CTF(Capture the Flag)って何?
Kenji Aiko
?
デジタル?フォレンジックの最新动向(2024年4月27日情洛会総会特别讲演スライド)
デジタル?フォレンジックの最新动向(2024年4月27日情洛会総会特别讲演スライド)
UEHARA, Tetsutaro
?
Professional SSL/TLS Reading Chapter 6
Professional SSL/TLS Reading Chapter 6
Shogo Hayashi
?
Mazekoze2
Mazekoze2
ume doblock
?
肠丑补迟骋笔罢の惊くへ?き対话能力.辫诲蹿
肠丑补迟骋笔罢の惊くへ?き対话能力.辫诲蹿
YamashitaKatsushi
?
ブロックチェーン系プロジェクトで着目される暗号技术
ブロックチェーン系プロジェクトで着目される暗号技术
MITSUNARI Shigeo
?
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
Masahiro Sakai
?
范囲証明つき準同型暗号とその対话的プロトコル
范囲証明つき準同型暗号とその対话的プロトコル
MITSUNARI Shigeo
?
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)
Kuniyasu Suzaki
?
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
?
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01
Ruo Ando
?
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
CODE BLUE
?
シ?ョークRFC [RFC-1437]
シ?ョークRFC [RFC-1437]
nemumu
?
Synchronized Aggregate Signatures and Computational Assumptions
Synchronized Aggregate Signatures and Computational Assumptions
MASAYUKITEZUKA1
?
平成21年度 秋期 肠蝉 午前ⅱ
平成21年度 秋期 肠蝉 午前ⅱ
Yuki Hirano
?
CTF(Capture the Flag)って何?
CTF(Capture the Flag)って何?
Kenji Aiko
?
デジタル?フォレンジックの最新动向(2024年4月27日情洛会総会特别讲演スライド)
デジタル?フォレンジックの最新动向(2024年4月27日情洛会総会特别讲演スライド)
UEHARA, Tetsutaro
?
Professional SSL/TLS Reading Chapter 6
Professional SSL/TLS Reading Chapter 6
Shogo Hayashi
?
肠丑补迟骋笔罢の惊くへ?き対话能力.辫诲蹿
肠丑补迟骋笔罢の惊くへ?き対话能力.辫诲蹿
YamashitaKatsushi
?
ブロックチェーン系プロジェクトで着目される暗号技术
ブロックチェーン系プロジェクトで着目される暗号技术
MITSUNARI Shigeo
?
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
Masahiro Sakai
?

More from Takahiro Yoshimura (20)

Looking Back 2023
Looking Back 2023
Takahiro Yoshimura
?
Ticket To The Dark World
Ticket To The Dark World
Takahiro Yoshimura
?
Securing Supply Chains
Securing Supply Chains
Takahiro Yoshimura
?
Looking Back: CIS on Managed K8S
Looking Back: CIS on Managed K8S
Takahiro Yoshimura
?
Asynchronicity
Asynchronicity
Takahiro Yoshimura
?
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Takahiro Yoshimura
?
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Takahiro Yoshimura
?
Outsmarting Smartphone Apps
Outsmarting Smartphone Apps
Takahiro Yoshimura
?
Drawing Dataflow On Dalvik Bytecodes
Drawing Dataflow On Dalvik Bytecodes
Takahiro Yoshimura
?
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Takahiro Yoshimura
?
10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)
Takahiro Yoshimura
?
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Takahiro Yoshimura
?
Android Wear: Good Parts
Android Wear: Good Parts
Takahiro Yoshimura
?
DEFCON21×S2 REPORT
DEFCON21×S2 REPORT
Takahiro Yoshimura
?
伝授の巻について #スクエアフリーセミナー #yochiand
伝授の巻について #スクエアフリーセミナー #yochiand
Takahiro Yoshimura
?
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
Takahiro Yoshimura
?
あげフォト開発ノート #antama_ws
あげフォト開発ノート #antama_ws
Takahiro Yoshimura
?
アプリを弄ってみる #3 #antama_ws
アプリを弄ってみる #3 #antama_ws
Takahiro Yoshimura
?
アプリを弄ってみる #2 #antama_ws
アプリを弄ってみる #2 #antama_ws
Takahiro Yoshimura
?
Drawing Dataflow On Dalvik Bytecodes
Drawing Dataflow On Dalvik Bytecodes
Takahiro Yoshimura
?
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Takahiro Yoshimura
?
10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)
Takahiro Yoshimura
?
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Takahiro Yoshimura
?
伝授の巻について #スクエアフリーセミナー #yochiand
伝授の巻について #スクエアフリーセミナー #yochiand
Takahiro Yoshimura
?
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
Takahiro Yoshimura
?
あげフォト開発ノート #antama_ws
あげフォト開発ノート #antama_ws
Takahiro Yoshimura
?
アプリを弄ってみる #3 #antama_ws
アプリを弄ってみる #3 #antama_ws
Takahiro Yoshimura
?
アプリを弄ってみる #2 #antama_ws
アプリを弄ってみる #2 #antama_ws
Takahiro Yoshimura
?

Recently uploaded (7)

勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
色について.pptx .
色について.pptx .
iPride Co., Ltd.
?
やってみた!OpenAI Function Calling 入門 .
やってみた!OpenAI Function Calling 入門 .
iPride Co., Ltd.
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
やってみた!OpenAI Function Calling 入門 .
やってみた!OpenAI Function Calling 入門 .
iPride Co., Ltd.
?

Hazy Datagrams

  • 1. HAZY DATAGRAMS 25.10.2022 OWASP SAITAMA MTG #10 TALK #1
  • 2. TEXT SESSION FLAGS ? 録画?録音?公開: OK Image by Nico Kaiser on flickr, CC-BY 2.0
  • 3. TEXT WHO I AM ? Takahiro Yoshimura (@alterakey) https://keybase.io/alterakey ? Monolith Works Inc. Co-founder, CTO Security researcher ? 明治大学サイバーセキュリティ研究所 客員研究員
  • 4. TEXT WHAT I DO ? Security research and development ? iOS/Android Apps →Financial, Games, IoT related, etc. (>200) →trueseeing: Non-decompiling Android Application Vulnerability Scanner [2017] ? Windows/Mac/Web/HTML5 Apps →POS, RAD tools etc. ? Network/Web penetration testing →PCI-DSS etc. ? Search engine reconnaissance (aka. Google Hacking) ? Whitebox testing ? Forensic analysis
  • 5. TEXT WHAT I DO ? CTF ? Enemy10, Sutegoma2 ? METI CTFCJ 2012 Qual.: Won ? METI CTFCJ 2012: 3rd ? DEF CON 21 CTF: 6th ? DEF CON 22 OpenCTF: 4th ? 発表?講演など DEF CON 25 Demo Labs (2017) DEF CON 27 AI Village (2019) CODE BLUE (2017, 2019) CYDEF (2020) etc. Image by Wiyre Media on flickr, CC-BY 2.0
  • 7. TEXT WHAT IS NOISE? ? 暗号プロトコルを作るためのフレームワーク ? 暗号プロトコル (n.): 平文チャネルにおいて、秘匿性?完全性が保証 された通信チャネルの構築を目指すプロトコル (e.g. TLS, IPsec, etc.)
  • 8. TEXT WHAT IS NOISE? ? 構成要素をブロック化 ? s, e, ss, se, es, ee, pskを組み合わせて設計 ? s: 長期鍵の公開鍵送付 e: 一時鍵の生成?公開鍵送付 ss/se/es/ee: Dif fi e-Hellman合意形成 psk: Pre-shared key適用 Image by Eric Haines on flickr, CC-BY 2.0
  • 9. TEXT WHAT IS NOISE? ? ネゴシエーション機構は提供しない(cf. TLS) ? 暗号系を限定(cf. TLS) ? DH: Curve25519/Curve448 ? AEAD: ChaCha20-Poly1305/AES-GCM ? Hash: SHA256/512/BLAKE2s/BLAKE2d Image by plenty.r. on flickr, CC-BY-SA 2.0
  • 10. TEXT WHAT IS NOISE? ? フレキシブルだが堅固な実装が得られる ? 先進的な特徴を持つプロトコル設計にも対応 ? 0-RTT ? Post-quantum resistance (i.e. PSK) etc. Image by Chris Elt on flickr, CC-BY-NC-ND 2.0
  • 11. TEXT WHAT IS NOISE? ? 採用例 ? WireGuard ? WhatsApp ? Lightning Network ? I2P etc, etc.. Image by Patras Gagilas on flickr, CC-BY-SA 2.0
  • 12. TEXT SECURITY POSTURE ? これらは安全なのか…? ? 公式には24パターン提示している xy; x: 送信側, y: 受信側として, 長期鍵を… N: 持たない, K: 既知, I: 即時送信, X: 随時送信 (identity hiding) e.g. NN, IK, etc. ? IK(psk2): WireGuard ? IK/XX: WhatsApp Image by Joel Penner on flickr, CC-BY 2.0
  • 13. TEXT SECURITY POSTURE ? 自作のものは…? ? ドキュメント7.3項に基準4点 → これに従っていれば… https://noiseprotocol.org/noise.html#handshake- pattern-validity ? 送付回数、ECDH合意回数規制: シンプルな設計 ? 暗号化に先立ったECDH合意強制: ?ECDH鍵の再利用規制 ?一時鍵によるForward-secrecy, key-compromise impersonation resistanceの強制
  • 14. TEXT FORMAL VERIFICATION ? Noise Explorer [Kobeissi18] ? HandshakeについてProVerifモデル生成 Go/Rustによる安全な実装生成 ? 公式+派生: 全57パターンに対応 ? 任意パターンについても対応 ? 攻撃シナリオ: active/passive両対応 ただ… 膨大なルール量
  • 15. TEXT FORMAL VERIFICATION ? ProVerif: INRIA制作の暗号プロトコル検証ツール ? Dolev-Yaoモデルにおける系の特徴を証明 ? Secrecy (秘匿性) ? Authenticity (真正性) ? Strong secrecy (強い秘匿性; 状態変化の秘匿) etc.
  • 16. TEXT FORMAL VERIFICATION ? ProVerif: INRIA制作の暗号プロトコル検証ツール ? 立証できない場合反証(i.e. 攻撃手段)を示す …が、正しく理解するのは大変 ? 証明を時々間違うが安全側に倒してある →実行不能な攻撃を立案してくる場合がある →特異度が高い設計 ? 今回Dockerにまとめた https://gist.github.com/alterakey/ 9af9b6184ffce873f4d1e2eb0ac226c7
  • 17. TEXT FORMAL VERIFICATION ? Dolev-Yaoモデル ? 暗号系は完全 → CryptoVerif.. ? トラフィックは盗聴改竄偽造可能 (i.e. “attacker carries message.”) ? メッセージ内容は無制限 ? 無制限の多対多通信 ? 無制限の多重セッション Image by Charlie Nguyen on flickr, CC-BY 2.0
  • 18. TEXT FORMAL VERIFICATION ? Dolev-Yaoモデル ? 計算論的モデルよりは不完全 ? 代数的手法を使えるのでより扱いやすい ? プロトコルを破るのには適している (NB. 逆に完全性の検証には向いていない) Image by Charlie Nguyen on flickr, CC-BY 2.0
  • 19. TEXT SECURITY POSTURE ? これらは安全なのか…? ? 公式には24パターン提示している xy; x: 送信側, y: 受信側として, 長期鍵を… N: 持たない, K: 既知, I: 即時送信, X: 随時送信 (identity hiding) e.g. NN, IK, etc. ? IK(psk2): WireGuard ? IK/XX: WhatsApp Image by Joel Penner on flickr, CC-BY 2.0
  • 20. TEXT CASE STUDY: NEVER-AND-NEVER ? NN: 送信者も受信者も長期鍵を持たない…? ? NN: -> e <- e, ee -> ? 送信側が一時鍵を作って送る 受信側も一時鍵を作って送り、DH合意を形成 Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
  • 21. TEXT CASE STUDY: NEVER-AND-NEVER ? NN: 送信者も受信者も長期鍵を持たない ? Anonymous DH ? Passive Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
  • 23. TEXT CASE STUDY: NEVER-AND-NEVER ? NN: 送信者も受信者も長期鍵を持たない ? Anonymous DH ? Active Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
  • 25. TEXT CASE STUDY: NEVER-AND-NEVER ? NN: 送信者も受信者も長期鍵を持たない ? Anonymous DH Passive: secrecyのみ (forward secrecy込み) Active: 何の保護も提供しない(!) ? Noiseを使っているからと言って自動的に安全に なるわけではない例 Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
  • 26. TEXT CASE STUDY: IMMEDIATE-TO-KNOWN ? IKpsk2: WireGuardの場合 ? Passive ? Msg A: forward secrecyはなくはない Msg B..D: 問題なし
  • 27. TEXT CASE STUDY: IMMEDIATE-TO-KNOWN ? IKpsk2: WireGuardの場合 ? Active ? Msg A: forward secrecyはなくはない Msg B: forward secrecyはまあ弱いかな Msg C..D: 問題なし
  • 28. TEXT CASE STUDY: IMMEDIATE-TO-KNOWN ? IKpsk2: WireGuardの場合 ? Passive/Activeで経過が違うが… ? Handshake全体を見る限りは安全 ? 秘匿性: キーは漏れない、また一時キーが割れ た場合でもそれ以前の通信内容は解読できない ? 真正性: もともと長期キーがcompromiseされ ていない限りは問題がない Image by pfly on flickr, CC-BY-SA 2.0
  • 29. TEXT TAKEAWAYS ? Noiseは暗号プロトコルフレームワーク ? 構成要素を厳選?ブロック化?パターン化 →新規に追加もできるが… ? 単純?高速?安全なプロトコル設計に寄与 →先進的特性を持つプロトコル設計にも対応 (0-RTT, post-quantum resistanceなど) ? 証明可能性を開いたとも言える… Image by Daisuke Matsumura on flickr, CC-BY-NC 2.0
  • 30. TEXT TAKEAWAYS ? Noise Explorer: Kobeissiらによる設計?モデリン グ系 [Kobeissi18] ? 公式57パターンのみならず任意設計に対しても ProVerifモデルを生成可能 ? ProVerif: INRIA制作の暗号プロトコル検証ツール 攻撃的ネットワーク(Dolev-Yaoモデル)下にお いて系の持つ安全性を代数的に証明 ? 証明可能な安全性がかなりaccessibleになった
  • 31. TEXT TAKEAWAYS ? Noiseを使用しているからといって全てが安全な わけではない ? 例: NN (= anonymous DHと等価) ? 自作する場合: ドキュメント7.3項のガイドラインに従う他に、 できる限り証明を行う Image by SonnyandSandy on flickr, CC-BY-NC-ND 2.0
  • 32. TEXT REFERENCES ? Noise: https://noiseprotocol.org/ ? Noise Explorer: https://noiseexplorer.com/ ? ProVerif: https://bblanche.gitlabpages.inria.fr/proverif/ ? Docker fi le: https://gist.github.com/alterakey/ 9af9b6184ffce873f4d1e2eb0ac226c7
  • 33. FIN.