Slide 1

Slide 1 text

理想のパスワードは? Security.any #02 セキュリティあの頃はLT 2025.01.23 松浪 亮

Slide 2

Slide 2 text

| © 2025 Levtech Co., Ltd. 2 レバテック開発部 DevOps推進グループ 認証基盤チーム 松浪 亮 RYO MATSUNAMI レバテックでは主に認証基盤(レバテックID)の開発に従事。 どうすればDevSecOpsを組織に浸透させられるか日々悩み中。 プライベートでは2人の子育てに従事。 あと、Vue.jp Japan User Group で Vue Fes の運営のお手伝いなんかも時々。

Slide 3

Slide 3 text

| © 2025 Levtech Co., Ltd. 3 こんなサイトに出会ったことはありませんか? ● 定期的&強制的にパスワードの変更を求められる ● パスワードに大文字+小文字+数字+記号すべて含めないといけない ● 「秘密の質問」を登録する必要がある ● 「パスワードのヒント」を登録できる いきなり質問です

Slide 4

Slide 4 text

| © 2025 Levtech Co., Ltd. 4 こんなサイトに出会ったことはありませんか? ● 定期的&強制的にパスワードの変更を求められる ● パスワードに大文字+小文字+数字+記号すべて含めないといけない ● 「秘密の質問」を登録する必要がある ● 「パスワードのヒント」を登録できる いきなり質問です 現在において、これらはすべて非推奨 !!

Slide 5

Slide 5 text

| © 2025 Levtech Co., Ltd. 5 2024/08に公開されたアメリカ国立標準技術研究所(NIST)の新しいガイ ドラインでも、「してはならないこと」として明記されている。 新しいガイドライン(草案)では? ※ 実際は2017年頃から既に非推奨として明記されている 出典: NIST

Slide 6

Slide 6 text

今日お伝えしたいこと

Slide 7

Slide 7 text

今日話したいこと パスワードに複雑な実装は必要ない

Slide 8

Slide 8 text

| © 2025 Levtech Co., Ltd. 8 新常識 01 記号や数字の混在を強制させてはならない 新常識 02 ヒントを用意してはならない 新常識 03 パスワードを実装する際の新常識 定期的にパスワードの変更を求めてはならない

Slide 9

Slide 9 text

| © 2025 Levtech Co., Ltd. 9 ● 以前は定期的にパスワードを変更することは推奨されていたが、現 在は非推奨となっている ● 理由は「パスワードの単純化」「パスワードのワンパターン化」を 招く恐れがあるから ○ つまり、変更しても覚えていられるパスワードを設定してしまいがち ● ただし、パスワードの流出やアカウントの乗っ取りを検知した場 合、強制的にでもパスワードを変更した方がよい 新常識1 定期的にパスワードの変更を求めてはならない

Slide 10

Slide 10 text

| © 2025 Levtech Co., Ltd. 10 ● 以前は記号や数字の混在は推奨されていたが、現在は非推奨となっ ている ● 理由はユーザが「予測可能な覚えやすいパスワード」を設定する可 能性が高まるから ○ 例:Password1?、P@ssword1 ● 仮に複雑なパスワードを設定しても、ユーザは覚えていられないた め「安全でないどこかに保存する」という行動を取ってしまう ○ 例:付箋に書く、テキストファイルに残す、ブラウザに保存する 新常識2 記号や数字の混在を強制させてはならない

Slide 11

Slide 11 text

| © 2025 Levtech Co., Ltd. 11 ● 以前は秘密の質問やパスワードのヒントがWindowsのログインに搭 載されていた ○ パスワードを失念しても秘密の質問に回答すれば、パスワードを再設定できたり した 新常識3 ヒントを用意してはならない

Slide 12

Slide 12 text

| © 2025 Levtech Co., Ltd. 12 ● 秘密の質問やパスワードのヒントも現在は非推奨となっている ● 理由は「不正にログインされる」リスクが高まるから ● 秘密の質問もパスワードのヒントもユーザ自身で任意の内容を設定 可能である(でなければならない) ○ 本当に他人には推測できない質問の答えを登録するのか、本当にヒントに留まる 内容を登録するのかシステム側では制御できない ○ 例:秘密の質問 親の旧姓は?→「鈴木」 ○ 例:パスワードのヒント 「パスワードのaをアットマーク」 新常識3 ヒントを用意してはならない

Slide 13

Slide 13 text

| © 2025 Levtech Co., Ltd. 13 要件 01 スペースやUnicodeの文字も許容する 要件 02 ブロックリストに載っているパスワードを許容しない 要件 03 パスワードを実装するにはどうすればよい? 最低でも8文字以上、最長で64文字以下

Slide 14

Slide 14 text

| © 2025 Levtech Co., Ltd. 14 NISTはガイドライン上でパスワードの長さについて、 SHALL require passwords to be a minimum of eight characters in length and SHOULD require passwords to be a minimum of 15 characters in length. SHOULD permit a maximum password length of at least 64 characters. ● 最低でも8文字 ● 可能なら最低を15文字 ● 最長は64文字 要件1 最低でも8文字以上、最長で64文字以下

Slide 15

Slide 15 text

| © 2025 Levtech Co., Ltd. 15 NISTはガイドライン上で文字コードについて、 SHOULD accept all printing ASCII characters and the space character in passwords. SHOULD accept Unicode characters in passwords. ● ASCIIの他にUnicodeの文字列やスペースもパスワードとして許容してよ いとしている ○ ASCII:アルファベットや数字、記号などを収録した文字コードの一つ。文字を7ビットの値 (0~127)で表し、128文字が収録されている ○ Unicode:文字コードの国際的な標準規格の一つ。世界中の様々な言語の文字を収録して通 し番号を割り当てたもの ● つまり、ガイドライン上では日本語のパスワードもOK 要件2 スペースやUnicodeの文字も許容する

Slide 16

Slide 16 text

| © 2025 Levtech Co., Ltd. 16 NISTはガイドライン上で登録可能なパスワードついて、 If the chosen password is found on the blocklist, verifier SHALL require the subscriber to select a different secret. ● ブロックリストとは「推測しやすいパスワード」「固有名詞」な ど、パスワードとして許容しない文字列の一覧のこと ○ 例: 「password」「qwertyuiop」「12345678」 要件3 ブロックリストに載っているパスワードを許容しない

Slide 17

Slide 17 text

| © 2025 Levtech Co., Ltd. 17 ● ブロックリストは開発者自身で用意する必要がある ○ GitHubでSecListとして公開されているので、それを利用するのもアリ 要件3 ブロックリストに載っているパスワードを許容しない 出典: SecList

Slide 18

Slide 18 text

| © 2025 Levtech Co., Ltd. 18 セキュリティを取るか?ユーザビリティを取るか? ● 例えば、NISTのガイドラインに従ってパスワードに15文字以上を要 求すると、ユーザは使いづらいと感じてしまう可能性がある ○ 結果として、ユーザの定着率や獲得に悪影響を及ぼす ○ つまり、セキュリティ的に強度を高くしたからといって、ユーザにとって使いや すいかどうかは別の話...

Slide 19

Slide 19 text

| © 2025 Levtech Co., Ltd. 19 ● パスワードの長さや文字の種類よりも、他の対策を複数取ることが大事 ○ ログイン試行回数に制限をかける ○ 普段と異なるUserAgentだったら本人確認を求める ○ WAFでレートベースのルールを設定する ○ 二段階認証・二要素認証を導入する、など ● サービスの性質によってはログイン状態を長く維持するのもアリ ○ ニュースやエンタメ系サービスなら数ヶ月 ○ 逆にネットバンキングは数分〜数時間にした方がよい ● どこまで許容するかは組織で話し合って決めよう セキュリティもユーザビリティも確保したいなら(案)

Slide 20

Slide 20 text

| © 2025 Levtech Co., Ltd. 20 まとめ ● パスワードは、 ○ 定期的に変更を求めてはならない ○ 記号や数字の混在を強制してはならない ○ ヒントを用意してはならない ● 推奨されるパスワードは、 ○ 最低でも8文字以上、可能なら15文字以上、最長で64文字以下とする ○ スペースやUnicodeの文字も許容する ○ ブロックリストに載っているパスワードを許容しない

Slide 21

Slide 21 text

宣伝

Slide 22

Slide 22 text

開発職向け会社紹介資料 プロダクトや開発組織についてご紹介しています。 https://speakerdeck.com/leverages/levtech-hui-she-shao-jie-zi-liao-enzi niazhi-xiang-ke レバテック開発部テックブログ 日々の開発におけるリアルをお届けしています! https://zenn.dev/p/levtech カジュアル面談フォーム 気軽にご応募ください!いろんなお話しましょう! https://hrmos.co/pages/leverages/jobs/A_c_00071

Slide 23

Slide 23 text

ご清聴ありがとうございました。