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
280
パスワードよもやま話
PHPカンファレンス福岡2024 アンカンファレンスルーム LT アワーに飛び込み参加した際の資料です。
shogogg
June 22, 2024
Tweet
Share
More Decks by shogogg
See All by shogogg
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
2.1k
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
540
readonly class で作る堅牢なアプリケーション
shogogg
2
1.8k
Other Decks in Technology
See All in Technology
更新系と状態
uhyo
8
2.2k
kernelvm-brain-net
raspython3
0
390
Winning at PHP in Production in 2025
beberlei
1
270
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
590
2025-04-14 Data & Analytics 井戸端会議 Multi tenant log platform with Iceberg
kamijin_fanta
1
180
AIと共に乗り越える、 入社後2ヶ月の苦労と学習の軌跡
sai_kaneko
1
200
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
63k
DjangoCon Europe 2025 Keynote - Django for Data Science
wsvincent
0
500
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
290
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
610
Serverlessだからこそコードと設計にはこだわろう
kenichirokimura
2
520
Microsoft Fabric vs Databricks vs (Snowflake) -若手エンジニアがそれぞれの強みと違いを比較してみた- "A Young Engineer's Comparison of Their Strengths and Differences"
reireireijinjin6
1
140
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Building Adaptive Systems
keathley
41
2.5k
Code Reviewing Like a Champion
maltzj
523
40k
BBQ
matthewcrist
88
9.6k
Visualization
eitanlees
146
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Building Applications with DynamoDB
mza
94
6.4k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
590
Measuring & Analyzing Core Web Vitals
bluesmoon
7
420
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 におけるベストプラクティス
ご清聴ありがとうございました