/11分で読めます

強力なパスワードとは?Password Security完全ガイド

多くの場合、passwordはprivate dataと攻撃者の間にある唯一の壁です。強力で一意なpassword、password manager、2FAを組み合わせることで、account takeoverのriskを大きく下げられます。

Passwordが重要な理由

Passwordは、email、banking、social media、cloud storage、developer tools、多くのbusiness systemで今も主要なauthentication methodです。

passwordが漏れると、identity theft、financial loss、privacy violation、account lockout、business data exposureにつながる可能性があります。

最大のriskは使い回しです。1つのsiteがbreachされ、同じpasswordを別serviceでも使っていると、攻撃者はそのcredentialsを多数のserviceで試します。

強力なPasswordの条件

強力なpasswordには、実用上4つの性質があります。

性質なぜ重要か
Length文字数が増えるほど、推測候補は指数関数的に増える16文字以上を目安にする
Variety大文字、小文字、数字、symbolsはsearch spaceを広げるKx9#mP2$vR7@nQ4
Randomnessdictionary word、pattern、name、personal detailを避ける自作よりgenerated passwordがよい
Uniquenessaccountごとに別passwordを使うと連鎖breachを防げるpasswordを使い回さない

最も重要なルール

Passwordを使い回さないでください。Credential stuffingは、1つのbreachで漏れたemail/passwordの組み合わせを、攻撃者が別serviceで試すことで成立します。

Password Entropy

Entropyはpasswordの予測しにくさをbitsで表します。entropyが高いほど、攻撃者に必要な作業量が増えます。

Entropy = L x log2(R)

Where:
  L = password length
  R = size of the character pool

Examples:
  8 chars, lowercase only (26):      8 x log2(26)  ~= 38 bits
  8 chars, mixed + numbers (62):     8 x log2(62)  ~= 48 bits
  8 chars, all printable types (95): 8 x log2(95)  ~= 53 bits
  16 chars, all printable types:    16 x log2(95)  ~= 105 bits
  20 chars, all printable types:    20 x log2(95)  ~= 131 bits
Entropy強度実用上の評価
< 28 bits非常に弱いすぐにcrackされます。使わないでください。
28-35 bits弱い一般的なattackに負ける可能性があります。
36-59 bits普通低価値のaccountに限って検討できる程度です。
60-127 bits強いほとんどのaccountに適しています。
128+ bits非常に強い既知のtechnologyではbrute-forceは現実的ではありません。

Lengthは多くの人が思う以上に重要です。短いpasswordに文字種を1つ足すより、lengthを伸ばすほうが強度は大きく上がります。

PasswordがCrackされる仕組み

攻撃者は複数のstrategyを使い、多くの場合それらを組み合わせます。

Brute force

考えられるすべての組み合わせを試します。長いrandom passwordには遅いですが、短いpasswordには有効です。

Dictionary attacks

よくあるpassword、漏洩password、word、name、breach dataset由来のpatternを試します。

Rule-based attacks

capitalization、number、year、symbol substitutionなど、人がよく行う変更を自動で適用します。

Credential stuffing

既に漏れたcredentialsを多くのwebsiteで試します。password reuseが危険な理由です。

Phishing

fake login pageへpasswordを入力させます。強いpasswordでも、この方法では盗まれることがあります。

Approximate brute-force time at 10 billion guesses/second:

  6 chars, lowercase:           seconds
  8 chars, lowercase:           minutes
  8 chars, mixed case + digits: hours
  8 chars, all types:           days to weeks
  12 chars, all types:          thousands of years
  16 chars, all types:          far beyond practical reach

These estimates assume offline attacks against fast hashes.
Slow password hashing such as bcrypt or Argon2 changes the economics.
Common passwords attackers try first:

  123456        password       qwerty
  123456789     12345678       111111
  iloveyou      admin          welcome
  monkey        dragon         master
  letmein       abc123         football
Base word: "password"

Attackers automatically try variations:
  Password
  PASSWORD
  password1
  password123
  p@ssword
  p@ssw0rd
  Password1!
  password2026
  drowssap

LengthとComplexity

人が作るpasswordでは、多くの場合lengthがcomplexityに勝ります。

短いpasswordのP@ssw0rd!は複雑に見えますが、common wordと予測しやすいsubstitutionに基づいています。

長いrandom passwordやrandom passphraseは、候補数がはるかに多く、推測がずっと難しくなります。

accountにはgenerated passwordを使いましょう。覚える必要があるpassword、たとえばpassword managerのmaster passwordにはlong passphraseを使います。

よくあるPasswordの失敗

次の失敗はpasswordをcrackされやすくします。

失敗弱い理由
Predictable substitutionsp@$$w0rdcracking toolsはこうしたpatternを自動で試します
Keyboard patternsqwerty, 1qaz2wsxattack dictionariesに含まれています
Personal informationalice1990, pet namespublic informationから推測されやすいです
Appending numberspassword1, secure123rule-based variationで最初に試されるものの1つです
Year suffixesSummer2026!season + year + symbolは非常によくあるpatternです
Password reuse同じpasswordをどこでも使う1つのbreachで多くのaccountsが危険になります

Passphraseという考え方

Passphraseは、複数のrandom wordsで作るpasswordです。長く、強く、random symbolsより覚えやすくできます。

wordsはrandomに選ぶ必要があります。favorite quoteやpersonal phraseのような意味のある文は、無関係なrandom wordsより推測されやすいです。

Diceware-style methodのように、diceでword listから単語を選ぶ方法は、人間のbiasを避けてpassphraseを作る手段の1つです。

Random password:
  Kx9#mP2$vR7@

Passphrase:
  mango-telescope-river-blanket

Both can be strong, but the passphrase is easier to remember.
The words must be chosen randomly, not as a meaningful sentence.

Password Managers

多くの人は多数のonline accountsを持っています。accountごとに一意なrandom passwordを覚えるのは、password managerなしでは現実的ではありません。

Password managerはrandom passwordを生成し、encrypted vaultに保存し、login formへ入力し、devices間でsyncし、使い回しや漏洩passwordを警告できます。

覚える必要があるのは、強いmaster passwordまたはpassphraseだけです。残りはすべて一意でrandomにできます。

Password managerは安全?

信頼できるpassword managerは、passwordを使い回したりnotesに保存したりするより、はるかに安全です。強いmaster passwordを使い、2FAを有効にし、recovery optionsを安全に保ちましょう。

Two-Factor Authentication

Two-factor authenticationはpassword以外の2つ目の証明を追加します。攻撃者がpasswordを盗んでも、2FAがloginを止められる場合があります。

2FA MethodSecurity Levelメモ
Hardware security key (FIDO2/WebAuthn)最高phishing-resistantな物理key
Authenticator app (TOTP)高いappが生成するtime-based codes
Push notification高い便利ですがapproval fatigueに注意が必要
SMS codes中程度ないよりは良いですがSIM swappingに弱いです

email、banking、cloud storage、social media、そして他accountのresetに使えるaccountでは2FAを有効にしましょう。

Passwordはどのように保存されるか

責任あるwebsiteは、実際のpasswordを保存しません。代わりにone-way hashを保存します。

Your password:
  "MySecureP@ss123"

Responsible sites store a password hash, not the password:
  bcrypt hash: $2b$12$LJ3m4ks9Hyl3pGSwKhMzpeOJvOS.gRqkL8IKHhC8mRxQfOz7v8MXi

Good password hashing is:
  One-way: cannot reverse the hash back to the password
  Salted: identical passwords produce different hashes
  Slow: each guess costs time and compute
  Tunable: work factor can increase as hardware improves
AlgorithmStatusメモ
Argon2推奨memory-hardでpassword hashing向けに設計されています
bcrypt良いconfigurable costを持つ長年のindustry standardです
scrypt良いmemory-hardで、一部systemで今も使われています
PBKDF2許容強いparametersなら安全に使えます
MD5 / SHA-1破綻速すぎるためpassword storageには不適切です

Best Practices Checklist

  • Password managerを使うことで、一意なpasswordを生成・保存します。
  • 長いpasswordを使う。generated passwordではできれば16文字以上にします。
  • Passwordを使い回さない。accountごとに別passwordを使います。
  • 2FAを有効にする。できればauthenticator appsやhardware keysを使います。
  • Email accountを守る。emailはpassword resetを支配するためです。
  • Personal informationを避ける。name、birthday、address、pet nameなどは使いません。
  • Phishingに注意する。credentialsを入力する前にURLを確認します。
  • 必要なときにpasswordを変更する。breach後などが該当し、単なるcalendar scheduleだけで変える必要はありません。
  • Breach alertsを使う。password managerや信頼できるbreach-checking serviceの警告を活用します。

強力なPasswordをすぐに生成

無料のPassword Generatorを使って、length、character types、optionsを調整しながら、browser内で強力なrandom passwordを作成できます。

Password Generatorを試す

参考資料

  1. Grassi, P.A., et al. (2017). NIST Special Publication 800-63B - Digital Identity Guidelines: Authentication and Lifecycle Management. https://pages.nist.gov/800-63-3/sp800-63b.html
  2. Verizon. Data Breach Investigations Report (DBIR). https://www.verizon.com/business/resources/reports/dbir/
  3. Bonneau, J., et al. (2012). The Quest to Replace Passwords. IEEE Symposium on Security and Privacy. https://www.cl.cam.ac.uk/~jcb82/doc/B12-IEEESP-quest_to_replace_passwords.pdf
  4. OWASP. Password Storage Cheat Sheet. https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
  5. Biryukov, A., Dinu, D., & Khovratovich, D. (2016). Argon2: the memory-hard function for password hashing and other applications. https://www.password-hashing.net/argon2-specs.pdf