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
0
140
パスワードよもやま話
PHPカンファレンス福岡2024 アンカンファレンスルーム LT アワーに飛び込み参加した際の資料です。
shogogg
June 22, 2024
Tweet
Share
More Decks by shogogg
See All by shogogg
readonly class で作る堅牢なアプリケーション
shogogg
1
1.4k
Other Decks in Technology
See All in Technology
ログラスが面白いと思う理由をマネージャーがエモく語ってみる / 20240829 vs LT
yoshikiiida
1
520
分野に潜むツールの紹介
pojiro
1
330
株式会社M2X エンジニアチーム紹介資料
m2xsoftware
0
320
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
3
470
歴史と背景から改めて振り返るVPC
shotashiratori
2
220
ことばをそろえる / Bridging the Terminology Gap
amaotone
5
1k
【Λ(らむだ)最近のアプデ情報 / RPALT20240904
lambda
0
160
#Zenoh 完全に理解した 〜組込み純情篇〜
takasehideki
1
450
FastConnect の冗長性
ocise
0
7.1k
Estrategias de escalabilidade para projetos web
jessilyneh
1
150
Azure Cosmos DB での時系列ログの運用と改善
sansantech
PRO
0
190
20240828_EM_Fest
kzkmaeda
4
360
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
KATA
mclloyd
27
13k
What's new in Ruby 2.0
geeforr
340
31k
Done Done
chrislema
180
16k
Git: the NoSQL Database
bkeepers
PRO
425
64k
The Brand Is Dead. Long Live the Brand.
mthomps
53
37k
4 Signs Your Business is Dying
shpigford
179
21k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Writing Fast Ruby
sferik
623
60k
Automating Front-end Workflow
addyosmani
1365
200k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
27
8.9k
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 におけるベストプラクティス
ご清聴ありがとうございました