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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shogogg
June 22, 2024
Technology
1
370
パスワードよもやま話
PHPカンファレンス福岡2024 アンカンファレンスルーム LT アワーに飛び込み参加した際の資料です。
shogogg
June 22, 2024
Tweet
Share
More Decks by shogogg
See All by shogogg
AI 時代だからこそ抑えたい「価値のある」PHP ユニットテストを書く技術 #phpconfuk / phpcon-fukuoka-2025
shogogg
1
750
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
520
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
6
1.8k
PHPer のための プロポーザル駆動アウトプット入門 #phpcon_niigata / PHP Conference Niigata 2025
shogogg
1
560
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
2.9k
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
950
readonly class で作る堅牢なアプリケーション
shogogg
2
2.3k
Other Decks in Technology
See All in Technology
ソフトとハード両方いけるデータ人材の育て方
waiwai2111
1
560
人はいかにして 確率的な挙動を 受け入れていくのか
vaaaaanquish
4
2.4k
Security Hub と出会ってから 1年半が過ぎました
rch850
0
180
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
17
6.5k
Zephyr RTOS の発表をOpen Source Summit Japan 2025で行った件
iotengineer22
0
230
書籍執筆での生成AIの活用
sat
PRO
1
190
コミュニティが持つ「学びと成長の場」としての作用 / RSGT2026
ama_ch
2
460
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
42
20k
Proxmoxで作る自宅クラウド入門
koinunopochi
0
180
一番人に近いコードレビューア CodeRabbit
kinopeee
0
110
DEVCON 14 Report at AAMSX RU65: V9968, MSX0tab5, MSXDIY etc
mcd500
0
180
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
290
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
130
Git: the NoSQL Database
bkeepers
PRO
432
66k
Music & Morning Musume
bryan
47
7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Designing Experiences People Love
moore
143
24k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
160
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
Between Models and Reality
mayunak
1
170
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
56
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 におけるベストプラクティス
ご清聴ありがとうございました