Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
パスワードよもやま話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shogogg
June 22, 2024
Technology
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
パスワードよもやま話
PHPカンファレンス福岡2024 アンカンファレンスルーム LT アワーに飛び込み参加した際の資料です。
shogogg
June 22, 2024
More Decks by shogogg
See All by shogogg
パーサーコンビネーターの実装を通じて学ぶ宣言的プログラミングの魅力 #phpcon_ehime / phpcon-ehime-2026
shogogg
1
30
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
1k
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
870
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
310
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
390
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
1.5k
AI 時代だからこそ抑えたい「価値のある」PHP ユニットテストを書く技術 #phpconfuk / phpcon-fukuoka-2025
shogogg
1
1.2k
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
890
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
6
2.4k
Other Decks in Technology
See All in Technology
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
310
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
6
2.1k
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
140
Deep Data Security 機能解説
oracle4engineer
PRO
2
640
IR Today: Theory, Practice, and Agents
dtunkelang
0
330
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
190
DAMOS - The Smart Cruise Control for RAM
ennael
PRO
1
110
おそらく日本で唯一のDevRelインターン生として
husengs7
0
150
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
560
私の推しは「聞いてから進む」AIです -AI-DLCに一人でアプリを作らせた話
yama3133
1
160
Claude起点の仕様駆動開発
tanakaseiya
0
310
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
140
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
300
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
How to build a perfect <img>
jonoalderson
1
6.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
Agile that works and the tools we love
rasmusluckow
331
22k
Statistics for Hackers
jakevdp
799
230k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Embracing the Ebb and Flow
colly
88
5.2k
The Limits of Empathy - UXLibs8
cassininazir
1
700
Navigating Team Friction
lara
192
16k
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 におけるベストプラクティス
ご清聴ありがとうございました