Submit Search
Upload
暗認本読書会7
•
0 likes
•
2,511 views
MITSUNARI Shigeo
Follow
https://anninbon.connpass.com/event/230098/
Read less
Read more
Technology
Report
Share
Report
Share
1 of 31
Download Now
Download to read offline
Recommended
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
MITSUNARI Shigeo
楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり
MITSUNARI Shigeo
暗認本読書会10
暗認本読書会10
MITSUNARI Shigeo
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
暗認本読書会4
暗認本読書会4
MITSUNARI Shigeo
暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
暗認本読書会6
暗認本読書会6
MITSUNARI Shigeo
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
More Related Content
What's hot
楕円曲線と暗号
楕円曲線と暗号
MITSUNARI Shigeo
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
MITSUNARI Shigeo
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
京大 マイコンクラブ
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
Kenjiro Kubota
新しい暗号技術
新しい暗号技術
MITSUNARI Shigeo
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
暗認本読書会12
暗認本読書会12
MITSUNARI Shigeo
暗認本読書会5
暗認本読書会5
MITSUNARI Shigeo
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについて
ts21
暗号技術入門
暗号技術入門
MITSUNARI Shigeo
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
MITSUNARI Shigeo
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
KiyotomoHiroyasu
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
Tetsuyuki Oishi
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
What's hot
(20)
楕円曲線と暗号
楕円曲線と暗号
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
新しい暗号技術
新しい暗号技術
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
暗認本読書会12
暗認本読書会12
暗認本読書会5
暗認本読書会5
分散システムについて語らせてくれ
分散システムについて語らせてくれ
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについて
暗号技術入門
暗号技術入門
トランザクションの設計と進化
トランザクションの設計と進化
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
DockerコンテナでGitを使う
DockerコンテナでGitを使う
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
Similar to 暗認本読書会7
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
Nicholas Lin
Hitcon badge 2018
Hitcon badge 2018
Alan Lee
Bit coin
Bit coin
Paramesh Devarasetty
Bitcoin, the Blockchain, and Open Source
Bitcoin, the Blockchain, and Open Source
All Things Open
Introduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologies
Paweł Wacławczyk
HifnCrypto101
HifnCrypto101
Jim Faith
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Krzysztof Kotowicz
Fun With SHA2 Certificates
Fun With SHA2 Certificates
Gabriella Davis
Cryptanalysis in the Time of Ransomware
Cryptanalysis in the Time of Ransomware
Mark Mager
Chapter 2.pptx
Chapter 2.pptx
AvinashChoure2
Lecture2_598PV.pptx
Lecture2_598PV.pptx
RayyanAlmajeedy
Blockchain
Blockchain
Abhinand Valasseri
Blockchain Fundamentals
Blockchain Fundamentals
Bruno Lowagie
Cryptography: zero knowledge proof and multi party computation, OW2online, Ju...
Cryptography: zero knowledge proof and multi party computation, OW2online, Ju...
OW2
Crypography in c#
Crypography in c#
Manu Cohen-Yashar
Data Security Essentials - JavaOne 2013
Data Security Essentials - JavaOne 2013
javagroup2006
CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management
Sam Bowne
Blockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchains
Brett Colbert
Introduction to Blockchain with an Ethereuem Hands-on
Introduction to Blockchain with an Ethereuem Hands-on
Johann Romefort
Understanding hd wallets design and implementation
Understanding hd wallets design and implementation
ArcBlock
Similar to 暗認本読書会7
(20)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
Hitcon badge 2018
Hitcon badge 2018
Bit coin
Bit coin
Bitcoin, the Blockchain, and Open Source
Bitcoin, the Blockchain, and Open Source
Introduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologies
HifnCrypto101
HifnCrypto101
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Biting into the forbidden fruit. Lessons from trusting Javascript crypto.
Fun With SHA2 Certificates
Fun With SHA2 Certificates
Cryptanalysis in the Time of Ransomware
Cryptanalysis in the Time of Ransomware
Chapter 2.pptx
Chapter 2.pptx
Lecture2_598PV.pptx
Lecture2_598PV.pptx
Blockchain
Blockchain
Blockchain Fundamentals
Blockchain Fundamentals
Cryptography: zero knowledge proof and multi party computation, OW2online, Ju...
Cryptography: zero knowledge proof and multi party computation, OW2online, Ju...
Crypography in c#
Crypography in c#
Data Security Essentials - JavaOne 2013
Data Security Essentials - JavaOne 2013
CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management
Blockchain 101 - public, tokenized blockchains
Blockchain 101 - public, tokenized blockchains
Introduction to Blockchain with an Ethereuem Hands-on
Introduction to Blockchain with an Ethereuem Hands-on
Understanding hd wallets design and implementation
Understanding hd wallets design and implementation
More from MITSUNARI Shigeo
暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
暗認本読書会11
暗認本読書会11
MITSUNARI Shigeo
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
暗認本読書会8
暗認本読書会8
MITSUNARI Shigeo
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
BLS署名の実装とその応用
BLS署名の実装とその応用
MITSUNARI Shigeo
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
MITSUNARI Shigeo
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
ゆるバグ
ゆるバグ
MITSUNARI Shigeo
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
MITSUNARI Shigeo
集約署名
集約署名
MITSUNARI Shigeo
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
MITSUNARI Shigeo
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
MITSUNARI Shigeo
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
MITSUNARI Shigeo
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
MITSUNARI Shigeo
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
MITSUNARI Shigeo
More from MITSUNARI Shigeo
(20)
暗認本読書会13 advanced
暗認本読書会13 advanced
暗認本読書会11
暗認本読書会11
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
暗認本読書会8
暗認本読書会8
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
私とOSSの25年
私とOSSの25年
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
HPC Phys-20201203
HPC Phys-20201203
BLS署名の実装とその応用
BLS署名の実装とその応用
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
ゆるバグ
ゆるバグ
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
集約署名
集約署名
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
Recently uploaded
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
YounusS2
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
SANGHEE SHIN
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Daniel Santiago Silva Capera
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
GDSC PJATK
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
Martin Humpolec
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
Adam Moalla
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
Bachir Benyammi
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Will Schroeder
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
bruanjhuli
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
Udaiappa Ramachandran
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
David Newbury
Nanopower In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
Pedro Manuel
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
Eric D. Schabell
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
SkyPlanner
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
DianaGray10
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Mahmoud Rabie
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
Seth Reyes
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UbiTrack UK
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
D Cloud Solutions
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
Recently uploaded
(20)
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
Nanopower In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
暗認本読書会7
1.
暗認本読書会7 SHA-2/SHA-3, MAC, 署名,
ECDSA, FIDO サイドチャネル攻撃 2021/11/11 https://anninbon.connpass.com/ 光成滋生
2.
• ハッシュ値のサイズ :
224, 256, 384, 512 • SHA-256がよく使われている • SHA-224/SHA-256 ; 32bit • SHA-384/SHA-512 ; 64bit • SHA-256 • 512bitのブロックに分割 SHA-2 2 / 31
3.
• S :
32bit整数8個 • Sを初期値IVから出発してブロック𝐵𝑖を𝑓で変換する • 𝑓を圧縮関数という • マークル・ダンガードMD(Merkle–Damgård)構成 SHA-256の内部状態S 3 / 31
4.
• 512bitのブロックを32bit整数16個に分割 • 各種ビット演算を組み合わせて32ibt整数64個𝑊に増やす •
𝑊と内部状態𝑆から新たな内部状態𝑆′を出力する • SHA-512 • 内部状態 : 64bit整数8個 • 繰り返し回数は80回(32bitあたり80/2=40<64) SHA-256の圧縮関数𝑓の概要 4 / 31
5.
• SHA-2に変わる新しいハッシュ関数(Keccak) • MD構成ではなくスポンジ構造(=吸収+搾取) •
分割とパディング • 内部状態Sは1600bit • SHA-3-256は1088(= 1600 − 256 × 2)bitのブロックに分割 SHA-3 5 / 31
6.
• 内部状態のうち𝑟 =
1088bitをブロックと排他的論理和 • 置換関数𝑓 吸収フェーズ 6 / 31
7.
• 内部状態の先頭256bitを取り出すだけ 搾取フェーズ 7 /
31
8.
• 理想のハッシュ関数の安全性 • ハッシュ値のサイズで決まる •
256bitなら衝突困難性に関して128bitセキュリティ • SHA(2)-256もSHA-3-256もほぼ同じ安全性 • SHA-2-256とSHA-3-256の比較 • SHA-2は伸長攻撃を受ける・SHA-3は受けない • ℎ = 𝐻(𝑠||𝑚), 𝑠 : 秘密, 𝑚 : メッセージに対して ℎ′ = 𝐻(𝑠 𝑚 𝑚′′)となる(𝑚′′, ℎ′)を𝑠を知らずに計算可能 • MD構成なハッシュ関数共通の性質 • 内部状態がSHA-2は256bit, SHA-3は1600bit • SHA-2の方が速い・小メモリ 安全性 8 / 31
9.
• SHA-1のハッシュ値は160bit • 80bitセキュリティ
/ 2005年の攻撃方法で63bitまで低下 • 2017年CWIとGoogleのチーム • 中身が異なるのにSHA-1の値が同じ2個のPDFを作成 • 6500年分のCPUと110年分のGPU • 2020年GaëtanとThomas • 900個のNVIDIA GeForce GTX 1060で2カ月 ; 4万5千ドル SHA-1の攻撃(衝突させた) 9 / 31
10.
• 衝突困難性を破る • 何でもよいからℎ
𝑋 = ℎ(𝑋′ )となる異なる𝑋, 𝑋′を見つける • 見つけた𝑋や𝑋′が「たまたまPDF」であることはありえない • 衝突した2個のPDF • 違いは422435byte中のたった62byteだけ • 疑問 • どうやってそのようなファイルを探したのか • なぜ異なる画像が表示されているのか 衝突した2個のPDF 10 / 31
11.
• Merkle–Damgård構成 • 入力データをブロックに分割して内部状態を圧縮関数𝑓で更新 •
途中で内部状態が衝突(同じになる)とそれ以降が同じなら ずっと同じ内部状態 SHA-1の構造 11 / 31
12.
• 同じ内部状態𝑆0に異なるブロック𝐵0, 𝐵0′を与える •
少しだけ異なる内部状態になる • そのあと別のブロック𝐵1, 𝐵1′を与えて内部状態を衝突させる • そのようなブロックのペアを効率よく探す研究と計算資源 衝突困難性を破る部分 12 / 31
13.
• 2個のJPEG画像X, Yを用意する •
「もし先頭から192byte目が(𝐵0, 𝐵1)ならX, そうでなければYを表示する」PDF1を作成する • PDF1のブロックを(𝐵0 ′ , 𝐵1 ′ )に置き換えたPDF2はYを表示する • 置き換えたブロック以外は同じなのでSHA-1が一致する • 「もし~なら~を表示するPDF」 • JPEGのコメント機能を利用(PDF1と2で異なるコメント区間) PDFに2個のJPEGを埋め込む方法 13 / 31
14.
• MAC(Message Authentication
Code) • データの完全性(変わっていないこと)を保証する仕組み • MACのアルゴリズム • 秘密鍵sとデータmからMAC値t(固定長)を生成する • tからもとのデータは復元できない(「暗号化」ではない) メッセージ認証符号 14 / 31
15.
• MAC利用時のデータmはそのまま送る • 通信を盗聴すればデータは見える •
秘匿性が必要ならデータmを暗号化しなければならない • 逆に • データが暗号化されているからといって改竄されていない とは限らない • 秘匿性と完全性の両立→認証付き暗号 完全性と秘匿性 暗号技術\性質 秘匿性 完全性 共通鍵暗号 ある 無い MAC 無い ある 15 / 31
16.
• 盗聴した攻撃者は偽データとそのMAC値の組を作れて はいけない MACの安全性 16 /
31
17.
• HMAC(Hash-based MAC) •
ハッシュ関数を使って構成する • CMAC(Cipher-based MAC) • ブロック暗号を使って構成する • 他いろいろ • HMAC-SHA-256 ; 秘密鍵s, データm 『暗認本』p.163 MACの構成法 17 / 31
18.
• 紙の署名はコピーされにくいことが前提 • デジタルデータはコピーが容易 •
データ(契約書など)と署名の強固な結びつきが必要 • 完全性 • データが少しでも異なると偽物と判定 • 否認防止 • 署名が正しければその署名を作成したのは本人 署名 18 / 31
19.
• アリス :
署名者, ボブ : 正当性確認 • 鍵生成 : 署名鍵𝑠と検証鍵𝑆を作成, 𝑠は秘密, 𝑆は公開 • 署名 : アリスはデータ𝑚と署名鍵𝑠から署名𝜎を作成 • 検証 : ボブはデータ𝑚と検証鍵𝑆と署名𝜎を元に受理 or 拒否 • 署名𝜎のサイズは一定 • 署名𝜎を作ることを「暗号化」とは言わない • 署名𝜎からデータ𝑚は「復号」できない 署名のアルゴリズム 19 / 31
20.
• 攻撃者が𝑚に対する署名を偽造できてはいけない • 攻撃者は𝑚以外のデータに対する署名を入手できると想定 •
存在的偽造困難性 署名の安全性 20 / 31
21.
• 共通鍵暗号と公開鍵暗号の違い • MACと署名の鍵の扱い •
否認防止 • MACに否認防止機能は無い : アリスとボブの両方作成可能 • 署名 : 正しい署名はアリスしか作れない • 署名の方がMACより多機能 • ただしMACの方が署名より高速 MACと署名 方式\鍵 暗号化に使う鍵 復号に使う鍵 共通鍵暗号 秘密 秘密(暗号と復号で同じ鍵) 公開鍵暗号 公開 秘密(暗号と復号で違う鍵) 方式\鍵 署名に使う鍵 検証に使う鍵 MAC 秘密 秘密(署名と検証で同じ鍵) 署名 秘密 公開(署名と検証で違う鍵) 21 / 31
22.
• 「公開鍵暗号」といえば • PKE
(Public Key Encryption) • 公開鍵を用いた暗号方式 : 秘匿性のために利用 • PKC (Public Key Cryptography) • PKE, DH鍵共有, 署名など公開鍵を扱う暗号技術全般 暗号技術の分類 22 / 31
23.
• 楕円曲線を用いた署名方式の一種 • ECDSA
∈ PKC but ECDSA ∉ PKE (公開鍵暗号)! • 楕円曲線とその点𝑃を固定 • 鍵生成 : 乱数𝑠を選び𝑆 = 𝑠𝑃とする. 𝑠 : 署名鍵, 𝑆 : 検証鍵 • 注意 • 「秘密鍵𝑠で暗号化」していない • 「ハッシュ値を復号して一致を確認」もしていない ECDSA 23 / 31
24.
• 署名の検証鍵(公開鍵)を用いて本人確認する方法 • 鍵生成
: アリスは署名鍵𝑠と検証鍵𝑆のペアを生成 • 検証鍵𝑆をサーバに登録(一度だけ) • SSH初回時に検証鍵を自動登録するとMITMの可能性 • 認証 : DH鍵共有などを元に予測できない𝑣を生成 • リプレイ攻撃などへの防御 • 𝑣に署名して𝜎をサーバに送り検証してもらう 公開鍵認証 24 / 31
25.
• 多要素認証を統一的に扱う規格 • 認証器 •
指紋・虹彩・静脈・顔などの認証機能 • 認証用に用いる署名鍵の生成・署名機能 • FIDOアライアンスが認定したことを示すattestation • 信頼できる機関(FIDOサーバ)の検証鍵で検証 • WebAuthn (Web Authentication) • ブラウザで利用しやすい形の標準化 • 登場人物 • クライアントアプリ • 認証器 • WebAuthnを利用するサーバRP (Relying Party) • FIDOサーバ FIDO 25 / 31
26.
• WebAuthnの登録 FIDOの認証器による署名の検証鍵の登録 26 /
31
27.
• Webサービスにログインするとき • サーバが生成したチャレンジに署名 •
登録と認証共に通信経路に秘密情報は流れない 認証 27 / 31
28.
• 暗号技術を使う装置の動作状況を観察して攻撃する • 電流・時間・音声・電磁波などを利用 •
様々な手法が日々提案されている • いたちごっこ • ここでは少しだけ例を紹介 • 電力解析攻撃 • 署名・認証などを処理するデバイス • ICカード, FIDO2の認証器, USB型セキュリティトークンなど • FIPS PUB 140-2 and 3 • デバイスの耐タンパー性に関する安全要件 • 攻撃されていることを検知して停止・消去など サイドチャネル攻撃 28 / 31
29.
• 秘密鍵𝑠と楕円曲線の点𝑃から𝑠𝑃を計算する場面 • デバイスが計算中の電力消費量を計測して秘密鍵𝑠を推測 楕円曲線と電力解析攻撃 29
/ 31
30.
• A Side
Journey to Titan, 2021 • https://ninjalab.io/a-side-journey-to-titan/ • 以下の画像は上記論文より引用 • 装置を分解してチップを抜き出し解析装置に接続 • その状態で何度も署名・検証させる • サイドチャネル攻撃を想定した実装だけれども波形から 機械学習を用いて分析 GoogleのTitanセキュリティキー 30 / 31
31.
• コンピュータのメモリ • 電源を切っても数秒は内容を保持している特性 •
メモリを一気に冷却するとその保持期間を延ばせる • ノイズを含んだ状態から秘密鍵を復元する研究 • F-Secureの攻撃 2018 • BitLockerで暗号化されたノートPC • スリープ状態のPCのふたを開けてメモリを冷却 • BIOSで保護されていない部分を変更して メモリをクリアさせないようにする • 攻撃用USBメモリを差してリブートして秘密情報を探索 コードルド・ブート攻撃 31 / 31
Download Now