Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SHA-1ハッシュ値の衝突
Search
Akira Miyata(seraph)
April 23, 2017
Technology
1
1.1k
SHA-1ハッシュ値の衝突
第32回まっちゃ139でのLT講演資料です。
http://www.matcha139.jp/workshop/32thworkshop
Akira Miyata(seraph)
April 23, 2017
Tweet
Share
More Decks by Akira Miyata(seraph)
See All by Akira Miyata(seraph)
関西のセキュリティ業界を盛り上げていこう!
seraph
0
380
攻撃者グループ名をつけてみよう!
seraph
1
1.9k
OSINTによる標的型攻撃に関する情報収集
seraph
1
1.1k
Collecting information of targeted attacks by OSINT
seraph
0
170
Let's name an APT group name!
seraph
0
150
Other Decks in Technology
See All in Technology
Text-to-SQLの評価データセットを作って最新LLMモデルの性能評価をしてみた
gotalab555
3
770
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
200
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
130
「伝える」を加速させるCursor術
naomix
0
610
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
160
基調講演: 生成AIを活用したアプリケーションの開発手法とは?
asei
1
120
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
110
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
430
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
130
産業機械をElixirで制御する
kikuyuta
0
160
Create a Rails8 responsive app with Gemini and RubyLLM
palladius
0
110
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.6k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Designing for humans not robots
tammielis
253
25k
Building Adaptive Systems
keathley
43
2.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Facilitating Awesome Meetings
lara
54
6.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Side Projects
sachag
454
42k
For a Future-Friendly Web
brad_frost
179
9.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
130
Transcript
SHA-1ハッシュ値の衝突 2017/4/23 第32回まっちゃ139勉強会 seraph(@Seraph39)
今⽇のお話 § 定型PDFを使えば、誰でも衝突PDFを作成可能 § 影響は限定的
ハッシュ値 § SHA-1(Secure Hash Algorithm) § 1bitでも異なれば異なる値 ファイルA ハッシュ関数 ファイルB SHA-1なら 160bit
SHAttered attack § SHA-1の衝突を意図的に起こしたもの
SHAttered attack § 内容:PDFとJPGの機能を⽤いた衝突 § 発表:2017年2⽉23⽇ § 実現:GoogleとオランダCWI Institute § ⽅法:⼤規模な演算で発⾒(1CPU = 6,500年) § 公開:⽣成コード(発表から90⽇後,
5⽉24⽇)
衝突PDF(shattered-1.pdf)
衝突PDF(shattered-2.pdf)
ハッシュ値(MD5)の⽐較 異なるハッシュ値
ハッシュ値(SHA-1)の⽐較 同⼀ハッシュ値
バイナリの⽐較 ここだけ異なる
ヘッダ 同じ ヘッダ PDFの構造 Near-collision Pair FF FE • •(コメント)
Skip Skip 違う Near-collision Pair FF FE ▲ ▲(コメント) shattered-1.pdf shattered-2.pdf
JPEGの簡単な構造 § FF D8:JPEGデータの開始 § FF FE • •:コメントサイズ § 2バイト(••) ー 2
§ FF D9:JPEGデータの終了
PDFの構造 Near-collision Pair FF FE • •(コメント) Skip Skip 違う
Near-collision Pair FF FE ▲ ▲(コメント) ヘッダ 同じ shattered-1.pdf shattered-2.pdf 先頭320バイトのハッシュ値が同⼀ 先頭320バイトのハッシュ値が同⼀ ヘッダ
先頭320バイトの⽐較 この部分が同⼀ハッシュ値
先頭320バイトの⽐較(SHA-1) shattered-1.pdf shattered-2.pdf ハッシュ値が同⼀
ヘッダ 同じ ヘッダ 衝突PDFの作成 Near-collision Pair FF FE • •(コメント)
Skip Skip 違う Near-collision Pair FF FE ▲ ▲(コメント) test1.pdf test2.pdf ひみつの画像 ひみつの画像
ハッシュ値(MD5)の⽐較 異なるハッシュ値
ハッシュ値(SHA-1)の⽐較 同⼀ハッシュ値
作成PDF(test1.pdf) ひみつの画像
作成PDF(test2.pdf)
バイナリの⽐較 ここだけ異なる
SHA-1衝突の実現による電⼦署名 への影響と対策 § JNSA 電⼦署名WG § http://www.jnsa.org/notice/2017/170302.html § 影響 § 新たに⽣成する電⼦署名 § 「全ての⽂書について攻撃が可能となるわけではありません。」 §
過去に⽣成された電⼦署名 § 「既に⽣成されている電⼦署名については今すぐに影響が出ることはないと考えます。」 § 対策 § ⻑期署名 § タイムスタンプの追加
まとめ § 定型PDFを使えば、誰でも衝突PDFを作成可能 § 影響は限定的
参考資料 § SHATTERD § https://shattered.io/ § Google Security Blog § https://security.googleblog.com/2017/02/ announcing-first-sha1-collision.html § GoogleのSHA-1の話 § https://www.slideshare.net/herumi/googlesha1
ありがとうございました!!