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
パスワードよもやま話
Search
shogogg
June 22, 2024
Technology
1
310
パスワードよもやま話
PHPカンファレンス福岡2024 アンカンファレンスルーム LT アワーに飛び込み参加した際の資料です。
shogogg
June 22, 2024
Tweet
Share
More Decks by shogogg
See All by shogogg
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
6
1.2k
PHPer のための プロポーザル駆動アウトプット入門 #phpcon_niigata / PHP Conference Niigata 2025
shogogg
1
420
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
2.4k
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
660
readonly class で作る堅牢なアプリケーション
shogogg
2
2k
Other Decks in Technology
See All in Technology
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
1.8k
AI関数が早くなったので試してみよう
kumakura
0
120
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
190
AWS re:Inforce 2025 re:Cap Update Pickup & AWS Control Tower の運用における考慮ポイント
htan
1
210
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
900
【CEDEC2025】現場を理解して実現!ゲーム開発を効率化するWebサービスの開発と、利用促進のための継続的な改善
cygames
PRO
0
720
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
160
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
100
Mambaで物体検出 完全に理解した
shirarei24
2
210
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
120
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
190
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
120
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Java REST API Framework Comparison - PWX 2021
mraible
32
8.8k
Designing for humans not robots
tammielis
253
25k
Speed Design
sergeychernyshev
32
1.1k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Embracing the Ebb and Flow
colly
86
4.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
パスワードよもやま話 PHP Conference Fukuoka 2024 #phpconfuk Jun. 22 2024 Shogo
Kawase / @shogogg
パスワード、正しく扱えていますか?
河瀨 翔吾 / shogogg ユースタイルラボラトリー(株)ソフトウェア開発部テックリード シンアジャイルコミュニティ運営 好きな⾔葉 型安全 / アジャイル
好きなアイドル ももいろクローバーZ shogogg shogogg ⾃⼰紹介
パスワードの漏洩は怖い
• パスワードなしでの認証を可能にする「パスキー」技 術にはわなが潜んでいる、YubiKeyなどのハードウェ ア認証デバイスを利⽤している場合は注意 - GIGAZINE • パスワード不要の認証技術「パスキー」はパスワード よりもエクスペリエンスが悪いという批判 -
GIGAZINE パスキーには期待しているけど……
まだしばらくパスワードは必要
• 平⽂保存は当然NG。ハッシュ化して保管しよう。 • ハッシュ化の際にはソルトやペッパー、ストレッチン グなどを使って解読に掛かるコストを増やそう。 パスワードをDBに保存するときは……
• md5, sha1:パスワード向けではない。 • crypt:古のアルゴリズム。8⽂字制限あり。論外。 • bcrypt:今となっては古い。採⽤したくない。 • PBKDF2:⽶国標準に準拠する必要がある場合に。 •
Argon2:⽐較的新しいアルゴリズム。オススメ。 パスワードをハッシュ化するアルゴリズム達
• 最低⽂字数はセキュリティの観点から、ユーザーを守 るために重要。 • 逆に最⼤⽂字数の設定があるサイトを⾒つけたら要注 意。 最低⽂字数と最⼤⽂字数
• パスワードを平⽂で保存するため、データベースのカ ラムに収める必要がある場合。 • パスワードを bcrypt でハッシュ化するため、bcrypt が受け付ける最⼤⽂字数である72⽂字以内にする必要 がある場合。 •
⾮常に⻑いパスワード⼊⼒による DoS 攻撃を防ぐた め。 最⼤⽂字数が必要な場合とは?
• パスワードの定期的な変更をユーザーに強制するのは アンチパターンである、というのがエラい⼈達の最新 の⾒解。 • ⽶国国⽴標準技術研究所(NIST)が2017年にガイド ラインに「サービスを提供する側がパスワードの定期 的な変更を要求すべきではない」と明記、2018年には ⽇本の総務省もそれに続いている。 定期的な変更は必要?
• password_hash 関数を PASSWORD_ARGON2ID アル ゴリズムを指定してハッシュ化しよう。 • ⼊⼒されたパスワードの検証は password_verify 関
数で。 • 不安な場合は上記に加えてペッパー対応を。 PHP におけるベストプラクティス
ご清聴ありがとうございました