<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Passwords · Brennenstuhl on Security</title><link>https://www.janbrennenstuhl.eu/topics/passwords/</link><description>Password policies that people can follow, systems that do not punish password managers, and the attacks on reused credentials.</description><language>en-GB</language><copyright>Original writing CC BY 4.0, Jan Brennenstuhl</copyright><atom:link href="https://www.janbrennenstuhl.eu/topics/passwords/index.xml" rel="self" type="application/rss+xml"/><item><title>What should a password policy require?</title><link>https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/</guid><pubDate>Tue, 13 Oct 2026 00:00:00 +0200</pubDate><description>&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; Under NIST SP 800-63B-4, a password used on its own must have at least 15 characters, or 8 when it is one factor of multi-factor authentication, and systems should accept at least 64. Composition rules, forced periodic changes, hints and security questions are out; a blocklist of common and breached passwords is in.&lt;/p&gt;&lt;h2 id="key-findings"&gt;Key findings &lt;a class="heading-anchor" href="#key-findings" aria-label="Link to section: Key findings"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;figure class="finding" id="f-nist-min-length-15"&gt;
&lt;blockquote&gt;&lt;p&gt;NIST SP 800-63B-4 requires passwords used as the only authentication factor to be at least 15 characters long, and at least 8 when the password is used only as part of multi-factor authentication.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://pages.nist.gov/800-63-4/sp800-63b/authenticators/" class="ext"&gt;&lt;cite&gt;NIST SP 800-63B-4, Section 3.1.1.2&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-nist-min-length-15" title="#f-nist-min-length-15"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="NIST SP 800-63B-4 requires passwords used as the only authentication factor to be at least 15 characters long, and at least 8 when the password is used only as part of multi-factor authentication." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/#f-nist-min-length-15" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/f-nist-min-length-15.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-nist-no-composition-no-rotation"&gt;
&lt;blockquote&gt;&lt;p&gt;Verifiers shall not impose composition rules such as mixing character types, and shall not require periodic password changes, but shall force a change when there is evidence of compromise.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://pages.nist.gov/800-63-4/sp800-63b/authenticators/" class="ext"&gt;&lt;cite&gt;NIST SP 800-63B-4, Section 3.1.1.2&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-nist-no-composition-no-rotation" title="#f-nist-no-composition-no-rotation"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Verifiers shall not impose composition rules such as mixing character types, and shall not require periodic password changes, but shall force a change when there is evidence of compromise." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/#f-nist-no-composition-no-rotation" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/f-nist-no-composition-no-rotation.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-nist-blocklist-with-reason"&gt;
&lt;blockquote&gt;&lt;p&gt;A new password shall be compared in full against a blocklist of commonly used, expected or compromised passwords, and a rejected user shall be told why.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://pages.nist.gov/800-63-4/sp800-63b/authenticators/" class="ext"&gt;&lt;cite&gt;NIST SP 800-63B-4, Section 3.1.1.2&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-nist-blocklist-with-reason" title="#f-nist-blocklist-with-reason"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="A new password shall be compared in full against a blocklist of commonly used, expected or compromised passwords, and a rejected user shall be told why." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/#f-nist-blocklist-with-reason" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/f-nist-blocklist-with-reason.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-nist-password-managers"&gt;
&lt;blockquote&gt;&lt;p&gt;Verifiers shall allow password managers and autofill, should permit paste, and should accept passwords of at least 64 characters.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://pages.nist.gov/800-63-4/sp800-63b/authenticators/" class="ext"&gt;&lt;cite&gt;NIST SP 800-63B-4, Section 3.1.1.2&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-nist-password-managers" title="#f-nist-password-managers"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Verifiers shall allow password managers and autofill, should permit paste, and should accept passwords of at least 64 characters." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/#f-nist-password-managers" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-policy-requirements/f-nist-password-managers.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="evidence"&gt;Evidence &lt;a class="heading-anchor" href="#evidence" aria-label="Link to section: Evidence"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="table-scroll studies" tabindex="0" role="region" aria-label="Sources"&gt;&lt;table&gt;
&lt;caption&gt;Sources&lt;/caption&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th scope="col"&gt;Study&lt;/th&gt;&lt;th scope="col"&gt;Year&lt;/th&gt;&lt;th scope="col"&gt;Sample&lt;/th&gt;&lt;th scope="col"&gt;Method&lt;/th&gt;&lt;th scope="col"&gt;Finding&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://pages.nist.gov/800-63-4/sp800-63b/authenticators/" class="ext"&gt;NIST SP 800-63B-4: Digital Identity Guidelines, Authentication and Authenticator Management&lt;/a&gt;&lt;span class="org"&gt;NIST&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2025&lt;/td&gt;&lt;td&gt;n/a&lt;/td&gt;&lt;td&gt;Standard&lt;/td&gt;&lt;td&gt;Section 3.1.1.2 sets the password verifier requirements summarized here.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://pages.nist.gov/800-63-4/sp800-63b/passwords/" class="ext"&gt;SP 800-63B-4 Appendix A: Strength of Passwords&lt;/a&gt;&lt;span class="org"&gt;NIST&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2025&lt;/td&gt;&lt;td&gt;n/a&lt;/td&gt;&lt;td&gt;Informative appendix&lt;/td&gt;&lt;td&gt;Explains why length and blocklists matter more than composition rules.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h2 id="what-to-do"&gt;What to do &lt;a class="heading-anchor" href="#what-to-do" aria-label="Link to section: What to do"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="for-engineers"&gt;For engineers &lt;a class="heading-anchor" href="#for-engineers" aria-label="Link to section: For engineers"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Set the minimum by how the password is used: 15 characters where it is the only factor, 8 only where a second factor is always required.&lt;/li&gt;
&lt;li&gt;Accept long passwords and verify them in full; the essay on &lt;a href="https://www.janbrennenstuhl.eu/long-password-support/"&gt;long password support&lt;/a&gt; covers hashing limits and denial-of-service concerns.&lt;/li&gt;
&lt;li&gt;Replace composition rules with a blocklist check against breached and common passwords. The field-guide entry on &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/"&gt;stolen credentials&lt;/a&gt; covers privacy-preserving breach checks.&lt;/li&gt;
&lt;li&gt;Make forms work with password managers: the right &lt;code&gt;autocomplete&lt;/code&gt; values and no paste blocking. See &lt;a href="https://www.janbrennenstuhl.eu/password-manager-friendly/"&gt;password-manager friendly login forms&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="for-product-and-ux"&gt;For product and UX &lt;a class="heading-anchor" href="#for-product-and-ux" aria-label="Link to section: For product and UX"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Explain a rejection in plain words (&amp;ldquo;this password appears in known breaches&amp;rdquo;) instead of listing rules after the fact. NIST requires a reason.&lt;/li&gt;
&lt;li&gt;Drop scheduled password expiry. Forced changes are for evidence of compromise, which makes them rarer and easier to explain.&lt;/li&gt;
&lt;li&gt;My &lt;a href="https://www.janbrennenstuhl.eu/password-policy/"&gt;2023 password policy essay&lt;/a&gt; recommended at least 12 characters. For passwords used on their own, the final SP 800-63B-4 now sets 15.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="check-your-policy"&gt;Check your policy &lt;a class="heading-anchor" href="#check-your-policy" aria-label="Link to section: Check your policy"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;section class="explainer" data-explainer="password-policy" aria-labelledby="ex-password-policy"&gt;
&lt;h3 id="ex-password-policy"&gt;Compare a policy with SP 800-63B-4&lt;/h3&gt;
&lt;div class="explainer-static"&gt;&lt;p&gt;The checker on this page compares the settings of a password policy with the requirements below. Without JavaScript, use the list as a checklist. &amp;ldquo;Shall&amp;rdquo; is a requirement, &amp;ldquo;should&amp;rdquo; a recommendation.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shall:&lt;/strong&gt; at least 15 characters for single-factor passwords; at least 8 if the password is only one factor of MFA.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Should:&lt;/strong&gt; accept at least 64 characters, all printing ASCII characters, the space character and Unicode; count each Unicode code point as one character.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall not:&lt;/strong&gt; impose composition rules, such as requiring digits, symbols or mixed case.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall not:&lt;/strong&gt; require periodic password changes. &lt;strong&gt;Shall:&lt;/strong&gt; force a change when there is evidence of compromise.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall not:&lt;/strong&gt; offer password hints to unauthenticated users, or prompt for security questions when a password is chosen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall:&lt;/strong&gt; verify the whole password, never a truncated or partial one.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall:&lt;/strong&gt; check new passwords against a blocklist, and tell the user why a password was rejected.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall:&lt;/strong&gt; rate-limit failed authentication attempts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall:&lt;/strong&gt; allow password managers and autofill. &lt;strong&gt;Should:&lt;/strong&gt; allow paste and offer to show the password.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shall:&lt;/strong&gt; store passwords salted and hashed with a suitable password hashing scheme, with a salt of at least 32 bits.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="explainer-app" hidden&gt;&lt;/div&gt;
&lt;/section&gt;
&lt;h2 id="related"&gt;Related &lt;a class="heading-anchor" href="#related" aria-label="Link to section: Related"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/"&gt;Do password strength meters work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/"&gt;How common is password reuse?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/max-password-length/"&gt;Max password length: a secure password guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Password Attack Guide: What is Password Spraying?</title><link>https://www.janbrennenstuhl.eu/password-spraying/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/password-spraying/</guid><pubDate>Thu, 11 May 2023 00:00:00 +0200</pubDate><description>&lt;h2 id="introduction-to-password-attacks"&gt;Introduction to Password Attacks &lt;a class="heading-anchor" href="#introduction-to-password-attacks" aria-label="Link to section: Introduction to Password Attacks"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Cybercriminals continuously seek new ways to gain account access and exploit security flaws as technology progresses. Password spraying is one such practice that, in recent years, has become popular among hackers looking to gain unauthorized access to accounts and sensitive information. But what exactly is password spraying, how does it work, and what can you do to prevent it? Let’s get started.&lt;/p&gt;
&lt;h3 id="what-is-password-spraying"&gt;What is Password Spraying? &lt;a class="heading-anchor" href="#what-is-password-spraying" aria-label="Link to section: What is Password Spraying?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Password spraying is a well-defined (&lt;a href="https://attack.mitre.org/techniques/T1110/003/" title="Brute Force: Password Spraying (MITRE)" class="ext"&gt;T1110.003&lt;/a&gt;) password attack in which hackers test several commonly utilized passwords to gain access to several user accounts. Malicious actors frequently prepare spraying attacks with reconnaissance and discovery techniques to learn more about the targeted account base. Often online services leak information in their sign-up or password reset processes. Password spraying then concentrates on trying common passwords across many known accounts.&lt;/p&gt;
&lt;h3 id="the-motivation-behind-password-spraying-attacks"&gt;The motivation behind password spraying attacks &lt;a class="heading-anchor" href="#the-motivation-behind-password-spraying-attacks" aria-label="Link to section: The motivation behind password spraying attacks"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As the cyber threat landscape evolves, threat actors&amp;rsquo; focus shifts from assaulting computer networks to stealing user identities. Because of the increasing sophistication of software in detecting malware programs and vulnerabilities, attackers have been forced to adapt, resulting in a greater emphasis on identity-based attacks.&lt;/p&gt;
&lt;p&gt;Many organizations invest considerably in securing user accounts by establishing complicated password policies and restricting access to resources from secure networks. While these precautions are vital best practices, they are frequently insufficient in the face of a compromised trusted user account.&lt;/p&gt;
&lt;h2 id="how-password-spraying-works"&gt;How Password Spraying Works &lt;a class="heading-anchor" href="#how-password-spraying-works" aria-label="Link to section: How Password Spraying Works"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Understanding a typical password spray attack is critical to protect against and investigate it. Password spray attacks are brute-force attacks that use an exhaustive list of usernames and link them with popular passwords to guess the proper combination for as many passwords and users as possible.&lt;/p&gt;
&lt;p&gt;Advanced password spraying involves techniques that rely on people using variations of common passwords and often follow three key characteristics: multiple account targeting, common passwords and wordlists, and other dictionary attacks while flying low and slow under the radar.&lt;/p&gt;
&lt;h3 id="targeting-multiple-accounts"&gt;Targeting Multiple Accounts &lt;a class="heading-anchor" href="#targeting-multiple-accounts" aria-label="Link to section: Targeting Multiple Accounts"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In a password-spraying attack, attackers target many accounts instead of focusing on one password or a single account. They avoid activating security measures such as account lockout policies or active blocking by spreading their efforts over numerous accounts.&lt;/p&gt;
&lt;h3 id="common-passwords--dictionary-attack"&gt;Common Passwords &amp;amp; Dictionary Attack &lt;a class="heading-anchor" href="#common-passwords--dictionary-attack" aria-label="Link to section: Common Passwords &amp;amp; Dictionary Attack"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Attackers employ lists of common passwords or customized dictionaries, pre-compiled lists of words, phrases, and character combinations likely to be used as passwords. These lists are frequently based on leaked password databases, increasing the likelihood that an attacker would find a match. The password top lists by OWASP are likely the most popular sources for common passwords.&lt;/p&gt;
&lt;h3 id="the-use-of-bots--automation-in-password-spraying"&gt;The Use of Bots &amp;amp; Automation in Password Spraying &lt;a class="heading-anchor" href="#the-use-of-bots--automation-in-password-spraying" aria-label="Link to section: The Use of Bots &amp;amp; Automation in Password Spraying"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A determined malicious actor has to be patient. The most sophisticated password sprays will employ multiple IP addresses and not uncommonly involve botnets to simultaneously assault various accounts with a limited number of selected password guesses. Numerous password-spraying tools exist that help even less techy threat actors to automate brute-force attacks and password-spraying for multiple targets, protocols, and use cases. Due to their highly distributed and low frequent (&amp;ldquo;dripping&amp;rdquo;) characteristics, these credential-based attacks are hard to distinguish from natural authentication attempts and often remain undetected.&lt;/p&gt;
&lt;h3 id="password-spraying-vs-brute-force-attack"&gt;Password Spraying vs Brute-Force Attack &lt;a class="heading-anchor" href="#password-spraying-vs-brute-force-attack" aria-label="Link to section: Password Spraying vs Brute-Force Attack"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Password spraying is a type of brute-force attack. Both seek to guess passwords and identify matching user credentials; the primary distinction is how they do it. Traditional brute-force attacks target a single account and attempt all potential password combinations. This can take time and may result in account lockouts or security alerts. Password spraying, on the other hand, distributes the risk by targeting several accounts with fewer password attempts, making it harder to detect and more likely to succeed, especially given that many &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/" title="5 Alarming Password Reuse Studies"&gt;regular users reuse commonly used passwords&lt;/a&gt; across multiple sites. A password-spraying attack is a brute-force attack on steroids.&lt;/p&gt;
&lt;h3 id="password-spraying-vs-credential-stuffing"&gt;Password Spraying vs Credential Stuffing &lt;a class="heading-anchor" href="#password-spraying-vs-credential-stuffing" aria-label="Link to section: Password Spraying vs Credential Stuffing"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Password spraying and credential stuffing are two different credential-based attacks used by attackers to exploit password vulnerabilities. &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/" title="Research on Credential Stuffing &amp;amp; Compromised Credentials"&gt;Credential stuffing is a technique&lt;/a&gt; in which an attacker obtains a list of leaked credential pairs (username and password) from a prior data breach and attempts to use the same credentials against several accounts hoping to gain access to a valid account. Credential stuffing takes advantage of a list of known credential combinations, and many end-users reuse the same password across many accounts, which is more effective than password spraying. The dark web is full of more or less reliable stolen credentials.&lt;/p&gt;
&lt;h3 id="password-spraying-vs-dictionary-attack"&gt;Password Spraying vs Dictionary Attack &lt;a class="heading-anchor" href="#password-spraying-vs-dictionary-attack" aria-label="Link to section: Password Spraying vs Dictionary Attack"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A dictionary attack is a brute force attack in which an attacker generates a password list by combining various words and phrases from a dictionary, hence the name &amp;ldquo;dictionary&amp;rdquo; brute force attack. While dictionary attacks and password spraying target passwords, their goals and methods differ. Dictionary attacks seek to exhaust all possible password combinations, whereas a password spraying attack aims to discover a common password used by numerous users. In both cases, attackers are hunting for easy-to-guess or regularly used passwords.&lt;/p&gt;
&lt;h2 id="real-world-examples-of-password-spraying"&gt;Real-World Examples of Password Spraying &lt;a class="heading-anchor" href="#real-world-examples-of-password-spraying" aria-label="Link to section: Real-World Examples of Password Spraying"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Password spraying attacks never stop. The following three real-world examples of security incidents caused by password spraying attacks are just the tip of the iceberg:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Office 365 Attack&lt;/strong&gt; – In 2021, Microsoft observed a spike in password-spraying assaults against &lt;a href="https://www.zdnet.com/article/microsoft-warns-over-password-attacks-against-250-office-365-customers/" title="Microsoft warns over password attacks against these Office 365 customers" class="ext"&gt;250 Office 365 customers in the US and Israeli defense technology&lt;/a&gt; sectors. According to Microsoft, the credential-based attacks targeted critical infrastructure businesses in the Persian Gulf and were conducted by a group known as DEV-0343.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parliament of the United Kingdom Attack&lt;/strong&gt; – In June 2017, a password-spraying attack targeted the email accounts of members of the UK Parliament, resulting in remote access being blocked for MPs as a precaution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Citrix Systems Attack&lt;/strong&gt; – Between 2018 and 2019, hackers accessed Citrix systems and sensitive data over five months. The FBI alerted Citrix to the breach in March 2019 and stated that a password-spraying attack was the likely cause.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="how-a-password-spraying-attack-affects-your-customers"&gt;How a Password Spraying Attack Affects Your Customers &lt;a class="heading-anchor" href="#how-a-password-spraying-attack-affects-your-customers" aria-label="Link to section: How a Password Spraying Attack Affects Your Customers"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Understanding password spraying risks and compromised security costs heavily depends on local threat scenarios, business contexts, and risk appetite. The most severe consequence of password spraying is often a loss of consumer trust. When a website or email account is compromised, there is no way to protect the customer&amp;rsquo;s personal information or sensitive data without extra passwordless security measures.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Data Breaches &amp;amp; Identity Theft&lt;/strong&gt; – Password spraying attacks allow fraudsters to gain unauthorized access to sensitive consumer data such as personal information, financial information, intellectual property, and login credentials. This information can be used to commit identity theft or resell on the dark web, placing your clients at risk of financial loss and long-term damage to e.g. their credit ratings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Loss of Trust&lt;/strong&gt; – Customers provide businesses their personal information, expecting to be kept safe and secure. A compromised account caused by a password spraying attack can cause users to lose trust in your brand, resulting in decreased customer loyalty and potential loss of business.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disrupted Services&lt;/strong&gt; – Credential-based attacks might cause your services to be unavailable, inconveniencing customers that rely on them. Downtime caused by an attack and active countermeasures might make it difficult for your consumers to access their accounts, make purchases, or use your services, leading to irritation and dissatisfaction.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Financial Impact&lt;/strong&gt; – If an attack is successful, customers may experience economic consequences due to unlawful transactions, fraudulent charges, or the cost of mitigating the effects of identity theft. These financial obligations can diminish the perceived value of your products or services, driving away customers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privacy Concerns&lt;/strong&gt; – When customers discover that their personal information has been exposed due to a password spraying attack, they may become more concerned about their overall privacy and be less willing to share information with a business in the future.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="detecting-password-spraying-attacks"&gt;Detecting password spraying attacks  &lt;a class="heading-anchor" href="#detecting-password-spraying-attacks" aria-label="Link to section: Detecting password spraying attacks "&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The most critical exercise to enable effective password spray defense is to monitor and respond to suspicious activity by leveraging tools for detecting password spraying.&lt;/p&gt;
&lt;h3 id="sudden-spike-in-failed-login-attempts"&gt;Sudden Spike in Failed Login Attempts &lt;a class="heading-anchor" href="#sudden-spike-in-failed-login-attempts" aria-label="Link to section: Sudden Spike in Failed Login Attempts"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Examine account authentication attempts regularly and automatically to spot any failed logins or suspicious patterns. A high ratio of failed login attempts for different accounts in a short period could indicate an ongoing password-spraying attack.&lt;/p&gt;
&lt;h3 id="unusual-account-activity"&gt;Unusual Account Activity &lt;a class="heading-anchor" href="#unusual-account-activity" aria-label="Link to section: Unusual Account Activity"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Organizations vulnerable to spraying and other credential-based attacks should create user profiles for their accounts and overarching population profiles for their whole account base to discover login abnormalities. User profiles can assist in signaling suspected account activity coming from unexpected IP addresses, utilizing unique user agent identifiers, or other criteria by scoring the originality of an authentication attempt based on prior interaction data. If a user has previously successfully authenticated from a German IP using an iOS user agent, authentications for the same account from an Android smartphone in India should be noticed, considered malicious traffic, and (ideally) trigger additional authentication steps.&lt;/p&gt;
&lt;p&gt;Population profiles are comparable but have a broader scope because they consider metadata such as location profiles, network profiles, and device information used throughout the customer base. If an organization&amp;rsquo;s business plan, for example, restricts service offers to specific users or regions, login attempts from other locations may result in a higher risk score. A company that only operates in Europe will most certainly flag sign-ins from China, resulting in additional actions or limited privileges.&lt;/p&gt;
&lt;h2 id="password-spraying-prevention"&gt;Password spraying prevention &lt;a class="heading-anchor" href="#password-spraying-prevention" aria-label="Link to section: Password spraying prevention"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are plenty of password spraying defense techniques and best practices available. The most effective threat mitigation is the abandonment of password-based authentication systems (knowledge factor) in favor of passwordless mechanisms. Because this is not currently practicable for many organizations, defense with multiple layers and &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/reinforced-authentication/" title="Reinforced Authentication: Studies Redefine Account Security"&gt;reinforced authentication approaches&lt;/a&gt; is required.&lt;/p&gt;
&lt;h3 id="ip-blocking--geo-blocking"&gt;IP-Blocking &amp;amp; Geo-Blocking &lt;a class="heading-anchor" href="#ip-blocking--geo-blocking" aria-label="Link to section: IP-Blocking &amp;amp; Geo-Blocking"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When preventing password spraying or distributed denial of service (DDoS), the ultimate last resort is to hard block individual IPs, entire CIDR ranges, ASNs, or regions. Of course, this will have a significant business impact and will only temporarily alleviate the pressure.&lt;/p&gt;
&lt;h3 id="bot-management"&gt;Bot Management &lt;a class="heading-anchor" href="#bot-management" aria-label="Link to section: Bot Management"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Because password spraying attacks frequently use automation tooling and large-scale botnets, automated bot recognition and management are critical for password spraying prevention. Because bot detection can not produce binary conclusions or sharp deny decisions, intermediary challenges, and further authentication steps are required.&lt;/p&gt;
&lt;h3 id="intermediary-challenges"&gt;Intermediary Challenges &lt;a class="heading-anchor" href="#intermediary-challenges" aria-label="Link to section: Intermediary Challenges"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;There are at least two types of intermediary challenges: interactive challenges, such as CAPTCHAs, which require users to solve a puzzle to prove human interaction, and non-interactive challenges, such as proof-of-work-based mechanisms, which need a suspicious user agent to solve cryptographic exercises, significantly slowing automated efforts and raising operational costs for large-scale attacks.&lt;/p&gt;
&lt;h3 id="strong-password-policies-and-best-practices"&gt;Strong Password Policies and Best Practices &lt;a class="heading-anchor" href="#strong-password-policies-and-best-practices" aria-label="Link to section: Strong Password Policies and Best Practices"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Implementing a firm password policy that encourages complex passwords and prohibits using regularly used passwords and compromised credentials does not necessarily prevent spray attacks. Bad actors will still attempt them, but it renders them virtually ineffective. I recently wrote about &lt;a href="https://www.janbrennenstuhl.eu/password-policy/" title="Learn how to create a secure and user-friendly password policy"&gt;how to create a strong password policy that is user-friendly and effective&lt;/a&gt;, which you should read!&lt;/p&gt;
&lt;h3 id="passwordless-authentication"&gt;Passwordless Authentication &lt;a class="heading-anchor" href="#passwordless-authentication" aria-label="Link to section: Passwordless Authentication"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Passwordless authentication is a modern paradigm shift away from knowledge factors (passwords) and toward possession (like Passkeys) or inherence factors (biometrics). Passwordless login is the most effective password-spraying attack prevention because the primary target is removed. I recently described &lt;a href="https://www.janbrennenstuhl.eu/passwordless-authentication/" title="Unlocking the Secrets of Passwordless Authentication"&gt;why passwordless sign-in is regarded as the future of cybersecurity&lt;/a&gt;; take a look!&lt;/p&gt;
&lt;h3 id="enable-multi-factor-authentication-mfa"&gt;Enable Multi-factor Authentication (MFA) &lt;a class="heading-anchor" href="#enable-multi-factor-authentication-mfa" aria-label="Link to section: Enable Multi-factor Authentication (MFA)"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Two-factor authentication (2FA) and MFA incorporate at least two separate authentication concepts, with the passwordless access component always included. Regular password-based logins are frequently complemented by one-time passwords (OTP) produced in a separate authenticator app or device. Enable MFA to prevent password spraying attacks – many federated authentication providers support 2FA enforcement!&lt;/p&gt;
&lt;h2 id="the-ongoing-battle-against-password-attacks"&gt;The Ongoing Battle Against Password Attacks &lt;a class="heading-anchor" href="#the-ongoing-battle-against-password-attacks" aria-label="Link to section: The Ongoing Battle Against Password Attacks"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Password spraying attacks are only one example of how the cybersecurity landscape keeps evolving. As attackers create new strategies, companies and individuals must remain aware and proactive in their security procedures. Brute-force attacks, such as password spraying, can be considerably reduced by setting strong username and password guidelines, establishing multi-factor authentication, and cultivating a security-conscious culture.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions-faqs"&gt;Frequently Asked Questions (FAQs) &lt;a class="heading-anchor" href="#frequently-asked-questions-faqs" aria-label="Link to section: Frequently Asked Questions (FAQs)"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="can-password-spraying-be-easily-detected"&gt;Can password spraying be easily detected? &lt;a class="heading-anchor" href="#can-password-spraying-be-easily-detected" aria-label="Link to section: Can password spraying be easily detected?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Because of their low and slow nature, it might be challenging to detect password-spraying attacks. However, organizations can detect and prevent password-spraying attacks with the correct tools and monitoring.&lt;/p&gt;
&lt;h3 id="how-can-i-protect-my-personal-accounts-from-password-spraying-attacks"&gt;How can I protect my personal accounts from password-spraying attacks? &lt;a class="heading-anchor" href="#how-can-i-protect-my-personal-accounts-from-password-spraying-attacks" aria-label="Link to section: How can I protect my personal accounts from password-spraying attacks?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To protect your personal accounts from password-spraying attacks, use unique passwords, avoid obvious passwords, enable 2FA, monitor attempts to gain access to your accounts regularly, use password managers, be aware of phishing emails, and keep your security measures up to date.&lt;/p&gt;
&lt;h3 id="are-there-any-tools-available-to-help-detect-and-prevent-password-spraying"&gt;Are there any tools available to help detect and prevent password spraying? &lt;a class="heading-anchor" href="#are-there-any-tools-available-to-help-detect-and-prevent-password-spraying" aria-label="Link to section: Are there any tools available to help detect and prevent password spraying?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Numerous technologies are available to detect and prevent password spraying attacks, like Security Information and Event Management (SIEM) systems, User and Entity Behavior Analytics (UEBA) tools, or dedicated edge protection services. Organizations should employ a combination of these tools and solutions to safeguard their networks and user accounts.&lt;/p&gt;
&lt;h3 id="what-should-i-do-if-i-suspect-password-spraying-compromised-my-account"&gt;What should I do if I suspect password spraying compromised my account? &lt;a class="heading-anchor" href="#what-should-i-do-if-i-suspect-password-spraying-compromised-my-account" aria-label="Link to section: What should I do if I suspect password spraying compromised my account?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;If you suspect your account has been hacked by a password-spraying attack, act quickly to protect your account and personal information. Change your password, apply two-factor authentication, notify the service provider, monitor your potentially compromised accounts, and update your security measures if you see any strange behavior.&lt;/p&gt;
&lt;h3 id="is-it-possible-to-prevent-a-password-spraying-attack"&gt;Is it Possible to Prevent a Password Spraying Attack? &lt;a class="heading-anchor" href="#is-it-possible-to-prevent-a-password-spraying-attack" aria-label="Link to section: Is it Possible to Prevent a Password Spraying Attack?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;While 100% protection against brute-force attacks like credential stuffing or password spray attacks is difficult to ensure, implementing strong password policies, utilizing two-factor authentication, monitoring for suspicious activity, and training users and staff can considerably lower the likelihood of successful attacks.&lt;/p&gt;</description></item><item><title>Passwordless: Critical Notes on FIDO2 Passkeys</title><link>https://www.janbrennenstuhl.eu/fido-passkeys/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/fido-passkeys/</guid><pubDate>Mon, 08 May 2023 00:00:00 +0200</pubDate><description>&lt;p&gt;Passkeys are currently on everyone’s lips, thanks to recent announcements to enable Passkeys for authentication on Google accounts. And, while the passwordless hype train did not stop in front of my desk either, there are some problems surrounding the imminent password killer, disregarded mainly by the relatively uncritical media coverage. In this essay, I&amp;rsquo;ll consider some of the biggest concerns.&lt;/p&gt;
&lt;p&gt;I briefly mentioned Passkeys in my recent piece about &lt;a href="https://www.janbrennenstuhl.eu/passwordless-authentication/" title="Passwordless Authentication: The Future of Cybersecurity"&gt;passwordless authentication&lt;/a&gt;, so I&amp;rsquo;ll keep this introduction brief. Let&amp;rsquo;s get started!&lt;/p&gt;
&lt;h2 id="introduction-to-fido2--passkeys"&gt;Introduction to FIDO2 &amp;amp; Passkeys &lt;a class="heading-anchor" href="#introduction-to-fido2--passkeys" aria-label="Link to section: Introduction to FIDO2 &amp;amp; Passkeys"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The FIDO Alliance developed FIDO2 as an open standard that enables secure and user-friendly passwordless authentication. One of FIDO2&amp;rsquo;s key goals is to provide passwordless authentication, removing the need for users to remember and manage multiple passwords. &lt;a href="https://fidoalliance.org/members/" class="ext"&gt;Members of the FIDO Alliance&lt;/a&gt; include the whole Big Tech ecosystem, from 1Password through Amazon, Apple, Google, Meta, and Microsoft, as well as Yahoo and Yubico.&lt;/p&gt;
&lt;h3 id="phishing-resistant-passwordless-authentication"&gt;Phishing-resistant Passwordless Authentication &lt;a class="heading-anchor" href="#phishing-resistant-passwordless-authentication" aria-label="Link to section: Phishing-resistant Passwordless Authentication"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://media.fidoalliance.org/wp-content/uploads/2022/03/How-FIDO-Addresses-a-Full-Range-of-Use-Cases-March24.pdf" class="ext"&gt;The FIDO master plan&lt;/a&gt; is to turn every mobile phone into a phishing-resistant, roaming authenticator by augmenting the FIDO WebAuthn specs with a protocol that uses Bluetooth to communicate between the FIDO authenticator (a mobile phone) and the device from which a user is attempting to authenticate. Specialized security keys (hardware tokens like YubiKeys) will be rendered obsolete.&lt;/p&gt;
&lt;p&gt;The term &lt;em&gt;&amp;ldquo;Passkeys&amp;rdquo;&lt;/em&gt; refers to the credentials used in this authentication procedure based on cryptographic concepts. Passkeys for FIDO2 allow users to authenticate themselves without entering a &lt;a href="https://www.janbrennenstuhl.eu/max-password-length/" title="Password Length Recommendation: The Ultimate Guide to Strong Passwords"&gt;long password&lt;/a&gt;, lowering the risk of password-related security breaches.&lt;/p&gt;
&lt;h3 id="public-key-cryptography"&gt;Public-Key Cryptography &lt;a class="heading-anchor" href="#public-key-cryptography" aria-label="Link to section: Public-Key Cryptography"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Unlike many other passwordless login approaches, FIDO2 Passkeys provide a robust authentication mechanism immune to phishing attacks, man-in-the-middle, and replay attacks. This is accomplished through public-key cryptography, a cryptographic technique that employs two keys: a public key and a private key.&lt;/p&gt;
&lt;p&gt;Data is encrypted using the public key and decrypted using the private key. In FIDO2 authentication, the private key is securely maintained on the user’s device, while the public key is registered with the online service. The Passkeys protocol defines proof of possession challenges that allow holders of a public key to verify whether the authenticating actor owns the corresponding private key (possession factor). This is a more secure solution than traditional password-based authentication methods (knowledge factor) in most end-user use cases.&lt;/p&gt;
&lt;p&gt;Even if your favorite e-commerce site or platform is compromised, malicious actors will only have access to the public component of your key pair, which they will find absolutely useless.&lt;/p&gt;
&lt;h3 id="biometrics"&gt;Biometrics &lt;a class="heading-anchor" href="#biometrics" aria-label="Link to section: Biometrics"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Now that the most essential authentication proof is stored on a mobile device, FIDO experts anticipate that Big Tech companies will protect access to the private keys as they protect screen lock, with biometric authentication incorporated into the user’s personal device OS. Using Face ID, Touch ID, or any other equivalent facial recognition or fingerprint scanning technology on a Microsoft or Android device to gain access to the valuable private key material, which is then used to sign in with a relying party, effectively results in a multi-factor authentication (MFA) process, combining an inherence factor and a possession factor.&lt;/p&gt;
&lt;h2 id="passkeys-controversies"&gt;Passkeys Controversies &lt;a class="heading-anchor" href="#passkeys-controversies" aria-label="Link to section: Passkeys Controversies"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="possession--biometrics-over-knowledge"&gt;Possession &amp;amp; Biometrics over Knowledge &lt;a class="heading-anchor" href="#possession--biometrics-over-knowledge" aria-label="Link to section: Possession &amp;amp; Biometrics over Knowledge"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The most crucial conceptual objective of Passkeys is to shift the broad consumer market away from knowledge-based authentication systems and toward possession-based authentication systems. Although this is undoubtedly a quantum leap forward in account security, far-reaching repercussions may still need to be fully recognized.&lt;/p&gt;
&lt;p&gt;For example, something only you know cannot be taken away as quickly as something physical that you own. A secret in someone&amp;rsquo;s head cannot be found anyplace else and can only be gained from that individual. Of course, there&amp;rsquo;s blackmailing, &lt;em&gt;&amp;ldquo;rubber-hose cryptanalysis,&amp;rdquo;&lt;/em&gt; and other methods, but these appear to take much more effort than merely having access to an unlocked cellphone.&lt;/p&gt;
&lt;p&gt;Losing that knowledge component makes you more vulnerable to police seizures of electronics and keys, for example. Forcing someone to give up a password is considered a violation of the Fifth Amendment to the United States Constitution by courts in the United States. However, forcing someone to unlock biometrically secured devices is entirely legal. A similar situation might exist in other jurisdictions as well.&lt;/p&gt;
&lt;p&gt;While the combination of possession- and inherence factors that FIDO Passkeys promise provides a significant convenience advantage over password-based authentication methods, they appear less effective against close-proximity, physical attacks.&lt;/p&gt;
&lt;h3 id="device-lock-in"&gt;Device Lock-in &lt;a class="heading-anchor" href="#device-lock-in" aria-label="Link to section: Device Lock-in"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Possession-based systems, in general, rely on tangible items that can be misplaced, stolen, or damaged, potentially locking users out of their accounts.&lt;/p&gt;
&lt;p&gt;The FIDO Alliance anticipates that FIDO authenticator providers, particularly influential organizations who embed FIDO authenticators within their operating systems, will make the Passkeys consumer market usable by overcoming the difficulty of making FIDO credentials multi-device available.&lt;/p&gt;
&lt;p&gt;Of course, for all of this to function, you&amp;rsquo;ll need a reliable, modern computer or phone. This means owning a current iPhone, Pixel, or computer that supports Windows Hello, Apple Touch ID, or other biometrics. You also need multiple devices because you are only safe against single device failure if you have a backup device.&lt;/p&gt;
&lt;p&gt;Passkeys are likely to be risky to use, if not utterly inaccessible to the poor, underprivileged, or anyone who does not own or operate their own devices.&lt;/p&gt;
&lt;h3 id="vendor-lock-in"&gt;Vendor Lock-in &lt;a class="heading-anchor" href="#vendor-lock-in" aria-label="Link to section: Vendor Lock-in"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Vendor lock-in shouldn&amp;rsquo;t be necessary by design, but it may be in reality. Even the FIDO Alliance does not guarantee interoperability when syncing the cryptographic keys of FIDO credentials between devices from different vendors. This is where the additional cross-device authentication Bluetooth protocol comes into play because FIDO believes that users will always have another (backup?) device nearby with all the necessary Passkeys.&lt;/p&gt;
&lt;p&gt;This is at least a partial vendor lock-in and disregards the reality of life for many individuals outside of Silicon Valley.&lt;/p&gt;
&lt;h3 id="proprietary-only"&gt;Proprietary-only &lt;a class="heading-anchor" href="#proprietary-only" aria-label="Link to section: Proprietary-only"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The FIDO Passkey standard deliberately excludes any explicit vendor agnosticism. Implementations still heavily rely on proprietary software embedded into Apple, Google, Microsoft, and others&amp;rsquo; devices and solutions. The general strategy results in Big Tech creating and overseeing the key storage. There are no OSS implementations for creating and exchanging keys yet.&lt;/p&gt;
&lt;p&gt;As a result, the Passkey concept pushes data ownership one step closer to the Big Tech industry. Taking another vital element of informational self-determination out of the hands of end users by favoring possession- and biometric-based authentication factors over something that is actually available solely to the user is an intentional feature of Passkey rather than a flaw.&lt;/p&gt;
&lt;h3 id="100-trust-in-big-tech"&gt;100% Trust in Big Tech &lt;a class="heading-anchor" href="#100-trust-in-big-tech" aria-label="Link to section: 100% Trust in Big Tech"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Although FIDO specifies &lt;a href="https://fidoalliance.org/fido-authentication/privacy-principles/" class="ext"&gt;privacy principles&lt;/a&gt; that must be followed in designing and implementing FIDO authenticators, clients, and servers, it is still determined how strictly these guiding principles will be enforced and by whom.&lt;/p&gt;
&lt;p&gt;The fact that Passkeys is strengthening the need to trust massive tech corporations, whose business model frequently entails selling data and information, is critical. Having FIDO credentials, which basically log end-users into every service they use while vowing not to do evil with them, necessitates some level of trust by the users.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion &lt;a class="heading-anchor" href="#conclusion" aria-label="Link to section: Conclusion"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;FIDO2 Passkeys provide a passwordless authentication solution that is secure, user-friendly, and scalable. Unlike passwords, they provide increased protection against common threats and a better user experience for those who can afford it by utilizing public-key cryptography. While there are compelling reasons to join the password-killer bandwagon, and I honestly believe that Passkeys will solve many problems for the general &amp;ldquo;my password is password&amp;rdquo; end-user market, there is an undercurrent.&lt;/p&gt;
&lt;p&gt;Despite being a multi-national tech industry association, some people see the FIDO Alliance and their Passkeys as another large Silicon Valley solution that doesn&amp;rsquo;t care about all their users. Potential downsides, such as device dependence, compatibility, and interoperability difficulties, contribute to this debate and should be considered when advocating for FIDO2 Passkeys.&lt;/p&gt;
&lt;p&gt;Given the widespread support and work that Big Tech is putting towards modern passwordless authentication, I am confident that adoption rates will skyrocket soon. And some security-conscious individuals will continue to place their stack of unique, complex passwords in a credible password manager with 2FA as a second line of defense rather than a select handful of Big Tech gatekeeping providers.&lt;/p&gt;
&lt;p&gt;I advise everyone else to &lt;strong&gt;wait until passkeys gain broader support&lt;/strong&gt; and for the ecosystem to mature before going all-in! Only switch to Passkey-only authentication once you know how it works, &lt;a href="https://www.elliotali.com/passkeys/" title="An easy introduction to Passkeys" class="ext"&gt;how to set it up&lt;/a&gt;, and how to back it up.&lt;/p&gt;
&lt;h2 id="faqs"&gt;FAQs &lt;a class="heading-anchor" href="#faqs" aria-label="Link to section: FAQs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="what-is-fido2"&gt;What is FIDO2? &lt;a class="heading-anchor" href="#what-is-fido2" aria-label="Link to section: What is FIDO2?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The FIDO Alliance created FIDO2, an open standard to enable secure and user-friendly passwordless authentication using public-key cryptography.&lt;/p&gt;
&lt;h3 id="how-do-fido2-passkeys-work"&gt;How do FIDO2 Passkeys work? &lt;a class="heading-anchor" href="#how-do-fido2-passkeys-work" aria-label="Link to section: How do FIDO2 Passkeys work?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Upon registration, FIDO2 Passkeys produce a one-of-a-kind public-private key pair on the user&amp;rsquo;s device. The public key is supplied to the web service, while the private key is kept protected on the device. During authentication, the machine uses its private key to satisfy a cryptographic challenge given by the service, and the service verifies the signature using the stored public key.&lt;/p&gt;
&lt;h3 id="what-are-the-benefits-of-fido2-passkeys"&gt;What are the benefits of FIDO2 Passkeys? &lt;a class="heading-anchor" href="#what-are-the-benefits-of-fido2-passkeys" aria-label="Link to section: What are the benefits of FIDO2 Passkeys?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;FIDO2 Passkeys improve security, user experience, and scalability across various devices, platforms, and services.&lt;/p&gt;
&lt;h3 id="what-are-the-potential-drawbacks-of-fido2-passkeys"&gt;What are the potential drawbacks of FIDO2 Passkeys? &lt;a class="heading-anchor" href="#what-are-the-potential-drawbacks-of-fido2-passkeys" aria-label="Link to section: What are the potential drawbacks of FIDO2 Passkeys?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Device dependence, which could result in users losing access to their accounts if their device is lost or broken, and compatibility difficulties, as not all online services offer FIDO2 authentication yet, are potential downsides of FIDO2 Passkeys. Switching from knowledge to possession factors has its own set of issues.&lt;/p&gt;
&lt;h3 id="can-i-use-fido2-passkeys-on-multiple-devices"&gt;Can I use FIDO2 Passkeys on multiple devices? &lt;a class="heading-anchor" href="#can-i-use-fido2-passkeys-on-multiple-devices" aria-label="Link to section: Can I use FIDO2 Passkeys on multiple devices?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Yes, FIDO2 Passkeys can be used on numerous devices as long as they support FIDO2 authentication and the online service supports multiple device registrations.&lt;/p&gt;</description></item><item><title>Long Password Support for Safer Login Systems</title><link>https://www.janbrennenstuhl.eu/long-password-support/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/long-password-support/</guid><pubDate>Sat, 06 May 2023 00:00:00 +0200</pubDate><description>&lt;p&gt;Strong passwords are necessary for securing user accounts and protecting sensitive data. As a frequent user of authentication systems and principal engineer for a single sign-on solution, I appreciate the necessity of delivering seamless user experience while emphasizing security. In this article, I&amp;rsquo;ll go over the advantages of long passwords, the obstacles for service providers of supporting them, and how to effectively implement them in your login system.&lt;/p&gt;
&lt;h2 id="the-importance-of-password-security"&gt;The Importance of Password Security &lt;a class="heading-anchor" href="#the-importance-of-password-security" aria-label="Link to section: The Importance of Password Security"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="the-rise-of-long-passwords"&gt;The Rise of Long Passwords &lt;a class="heading-anchor" href="#the-rise-of-long-passwords" aria-label="Link to section: The Rise of Long Passwords"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Passwords serve as the first line of defense in securing user accounts. Longer passwords provide a higher degree of complexity and entropy, making it exponentially more challenging for hackers to crack them. Allowing users and especially their password manager to go wild when creating a unique password for your login system helps to keep their online accounts safe from unauthorized access. Not restricting passwords to an artificially fixed length ensures that your users&amp;rsquo; accounts remain more secure.&lt;/p&gt;
&lt;p&gt;In a world where data breaches and identity theft are all too common, supporting creation of secure passwords is not just a luxury, but an essential measure to protect the digital lives and assets of users worldwide. The necessity of supporting strong passwords cannot be overstated in an era where cyber threats are rapidly evolving and becoming increasingly sophisticated. By implementing maximum length support, businesses and developers demonstrate their commitment to safeguarding user data, fostering trust, and promoting customer loyalty.&lt;/p&gt;
&lt;h2 id="password-maximum-length-limitations"&gt;Password Maximum Length Limitations &lt;a class="heading-anchor" href="#password-maximum-length-limitations" aria-label="Link to section: Password Maximum Length Limitations"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="common-password-max-length-limits"&gt;Common Password Max Length Limits &lt;a class="heading-anchor" href="#common-password-max-length-limits" aria-label="Link to section: Common Password Max Length Limits"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Password max length limits have long been a source of contention, as they frequently place unnecessary constraints on users, knowingly undermining the overall security of their accounts. Many systems have historically imposed an arbitrary maximum length, such as 6, 8, 12, or 16 characters, under the erroneous assumption that shorter passwords are easier to remember and manage.&lt;/p&gt;
&lt;p&gt;These restrictions however, only limit users&amp;rsquo; ability to form strong, secure passwords, rendering them more vulnerable to brute force attacks and other hacking attempts. It is overdue for developers and businesses to abandon these antiquated methods and embrace the need for lengthier password limits, allowing users to better control their digital security and secure their precious data.&lt;/p&gt;
&lt;h3 id="maximum-password-length-why-do-length-limits-exist"&gt;Maximum Password Length: Why do Length Limits Exist? &lt;a class="heading-anchor" href="#maximum-password-length-why-do-length-limits-exist" aria-label="Link to section: Maximum Password Length: Why do Length Limits Exist?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Length restrictions occur mostly as a result of historical and technological constraints, as well as erroneous worries about usability. Because storage and processing resources were rather limited in the early days of computers, developers implemented password length constraints to conserve resources and assure optimal system operation. However, as technology and our understanding of cybersecurity have grown, it has become increasingly evident that these length constraints are ineffective and dangerous. In today&amp;rsquo;s digital landscape, we must reconsider the justification for these length constraints and favor &lt;a href="https://www.janbrennenstuhl.eu/topics/application-security/" title="Protecting Web Applications: Cyber Attacks &amp;amp; Account Security"&gt;robust security measures&lt;/a&gt; above outmoded norms.&lt;/p&gt;
&lt;h3 id="the-consequences-of-short-password-limits"&gt;The Consequences of Short Password Limits &lt;a class="heading-anchor" href="#the-consequences-of-short-password-limits" aria-label="Link to section: The Consequences of Short Password Limits"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Short password constraints can have far-reaching and negative repercussions, as they essentially compromise the security and integrity of users&amp;rsquo; digital accounts. Systems unwittingly encourage users to choose weak, readily guessable passwords by enforcing an artificial upper limit, making them attractive targets for cybercriminals. When using short passwords, dictionary attacks, and other common hacking techniques become substantially more effective, increasing the likelihood of unauthorized access, data breach, and identity theft. The consequences of these security flaws can be disastrous for both individuals and businesses, resulting in financial losses, reputational damage, and erosion of user trust. Finally, by adhering to obsolete short password constraints, we are maintaining a cybersecurity culture of complacency and putting our digital lives at risk.&lt;/p&gt;
&lt;h2 id="the-benefits-of-long-passwords"&gt;The Benefits of Long Passwords &lt;a class="heading-anchor" href="#the-benefits-of-long-passwords" aria-label="Link to section: The Benefits of Long Passwords"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="secure-password-enhanced-security-through-entropy"&gt;Secure Password: Enhanced Security Through Entropy &lt;a class="heading-anchor" href="#secure-password-enhanced-security-through-entropy" aria-label="Link to section: Secure Password: Enhanced Security Through Entropy"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Password entropy assesses a password&amp;rsquo;s randomness and predictability, taking into account the length of the password, its character set, and overall complexity. We build stronger, more secure passwords that are significantly more resistant to hacking attempts by boosting password entropy. High-entropy passwords are less vulnerable to a brute force attack, dictionary attacks, and other typical cybercriminal techniques, creating a formidable barrier to illegal access. As a cornerstone of cybersecurity, we must prioritize the &lt;a href="https://www.janbrennenstuhl.eu/max-password-length/" title="Strong Passwords: Password Length Recommendation"&gt;fight for low password predictability&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="resistance-to-brute-force-attacks"&gt;Resistance to Brute-force Attacks &lt;a class="heading-anchor" href="#resistance-to-brute-force-attacks" aria-label="Link to section: Resistance to Brute-force Attacks"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Brute-force resistance is an essential aspect of maintaining strong digital security. A classical brute-force attack by cybercriminals attempts to guess a user&amp;rsquo;s password methodically through trial and error, relying on brute computational power. Credential stuffing and &lt;a href="https://www.janbrennenstuhl.eu/password-spraying/" title="What is Password Spraying, How It Works &amp;amp; How to Prevent It"&gt;password spraying&lt;/a&gt; are two more modern manifestations, that leverage de-hashed credentials from historic data breaches or statistical information on common passwords.&lt;/p&gt;
&lt;p&gt;Long, unique passwords are the best security against such assaults since they exponentially increase the number of possible combinations, making it substantially more time-consuming and resource-intensive for attackers to succeed. We develop a powerful line of defense that deters hackers and protects our precious data by embracing password best practices and encouraging users to always use different passwords everywhere.&lt;/p&gt;
&lt;h3 id="encouraging-the-use-of-password-managers"&gt;Encouraging the Use of Password Managers &lt;a class="heading-anchor" href="#encouraging-the-use-of-password-managers" aria-label="Link to section: Encouraging the Use of Password Managers"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Encouraging the use of a password manager is an important step towards boosting digital security and promoting good password usage. A password vault not only securely stores and manages users&amp;rsquo; credentials, but also helps to generate long and unique passwords for each account. They relieve users of the burden of creating and remembering high-entropy passwords while dramatically minimizing the risk of illicit access and data breaches.&lt;/p&gt;
&lt;p&gt;A good password manager also makes the user experience less stressful, reducing the temptation to reuse weak passwords or utilize insecure storing methods. We must &lt;a href="https://www.janbrennenstuhl.eu/password-manager-friendly/" title="How to make your Login Forms Password-Manager-Friendly"&gt;advocate for using a password manager&lt;/a&gt; and recognize the importance they play in safeguarding our digital lives, one secure password at a time. Users should avoid using one master password across various services.&lt;/p&gt;
&lt;h2 id="how-to-support-long-passwords-in-your-login-system"&gt;How to Support Long Passwords in Your Login System &lt;a class="heading-anchor" href="#how-to-support-long-passwords-in-your-login-system" aria-label="Link to section: How to Support Long Passwords in Your Login System"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Supporting long passwords can present some technical challenges depending on the technologies you already use, particularly when it comes to storage needs and processing times for hashing passwords.&lt;/p&gt;
&lt;h3 id="updating-your-database-and-storage"&gt;Updating Your Database and Storage &lt;a class="heading-anchor" href="#updating-your-database-and-storage" aria-label="Link to section: Updating Your Database and Storage"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="adapting-to-longer-password-storage"&gt;Adapting to Longer Password Storage &lt;a class="heading-anchor" href="#adapting-to-longer-password-storage" aria-label="Link to section: Adapting to Longer Password Storage"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;The first step in supporting long passwords is to allow for a greater number of characters in your credentials database. This can be as simple as updating the password length constraints in your code and database schema.&lt;/p&gt;
&lt;p&gt;State-of-the-art hashing algorithms, such as &lt;strong&gt;Argon2id&lt;/strong&gt;, &lt;strong&gt;scrypt&lt;/strong&gt; and &lt;strong&gt;bcrypt&lt;/strong&gt;, generate encoded hash outputs of variable sizes, ranging from 128 to 512 bits or more, depending on the algorithm and setup settings.&lt;/p&gt;
&lt;h4 id="the-importance-of-secure-hashing"&gt;The Importance of Secure Hashing &lt;a class="heading-anchor" href="#the-importance-of-secure-hashing" aria-label="Link to section: The Importance of Secure Hashing"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;It is crucial to store passwords in a way that prevents an attacker from obtaining them even if the application or database itself is compromised or breached. To securely store long passwords, use a strong hashing algorithm such as &lt;strong&gt;Argon2&lt;/strong&gt; or &lt;strong&gt;scrypt&lt;/strong&gt;. These algorithms have been designed to accommodate greater password lengths, but also they are slow and resource-intensive, making offline brute-force attempts more difficult.&lt;/p&gt;
&lt;p&gt;According to the &lt;a href="https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html" title="OWASP Password Storage Cheat Sheet" class="ext"&gt;Open Worldwide Application Security Project (OWASP)&lt;/a&gt;, you should make sure to use &lt;strong&gt;Argon2id&lt;/strong&gt; with a minimum configuration of 19 MiB of memory, an iteration count of 2, and 1 degree of parallelism or scrypt with a minimum CPU/ memory cost parameter of (2^17), a minimum block size of 8 (1024 bytes), and a parallelization parameter of 1.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bcrypt&lt;/strong&gt;, another extensively used hashing method, &lt;a href="https://security.stackexchange.com/questions/39849/does-bcrypt-have-a-maximum-password-length/39851#39851" class="ext"&gt;has technical constraints&lt;/a&gt; that limit passwords to 72 bytes, which is likely insufficient if you wish to allow your users to utilize long unicode passwords.&lt;/p&gt;
&lt;h4 id="transitioning-existing-user-data"&gt;Transitioning Existing User Data &lt;a class="heading-anchor" href="#transitioning-existing-user-data" aria-label="Link to section: Transitioning Existing User Data"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Transitioning existing password hashes to a newer, more secure hashing algorithm is an important part of maintaining a strong security posture. As earlier hashing methods become more vulnerable to attacks, it is critical to migrate to modern and resilient algorithms like &lt;strong&gt;Argon2&lt;/strong&gt;. One successful method for achieving this change is to adopt a gradual, seamless process that causes minimal disturbance to users. Using a dual-hash technique, computers can store both the old and new hashes at the same time during the transition period.&lt;/p&gt;
&lt;p&gt;When users log in, their passwords are checked against the legacy hash, and if they pass, the new hashing algorithm is applied to same password, and kept alongside the old password hash. As more people log in, the system gradually transitions to the new, more secure hashing mechanism. This technique not only improves security but also indicates a dedication to safeguarding users&amp;rsquo; data.&lt;/p&gt;
&lt;h3 id="implementing-front-end-changes"&gt;Implementing Front-end Changes &lt;a class="heading-anchor" href="#implementing-front-end-changes" aria-label="Link to section: Implementing Front-end Changes"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="adapting-user-interface-elements"&gt;Adapting User Interface Elements &lt;a class="heading-anchor" href="#adapting-user-interface-elements" aria-label="Link to section: Adapting User Interface Elements"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;To enable increased password max length, designers and developers must prioritize user-friendliness and intuitiveness when accommodating longer passwords within the interface. This involves at least expanding password fields.&lt;/p&gt;
&lt;p&gt;If you intend to expand the maximum password length and plan to allow the longest password to have 100 characters, each password field in your sign-up and sign-in experiences should accept at least 101 characters. If a user or their password generator provides a 120-character password, your form can actually notify the user that they have entered too many characters and should input fewer. Otherwise, systems may truncate passwords by accident, which must be avoided!&lt;/p&gt;
&lt;h4 id="enabling-client-side-input-validation"&gt;Enabling Client-side Input Validation &lt;a class="heading-anchor" href="#enabling-client-side-input-validation" aria-label="Link to section: Enabling Client-side Input Validation"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Client-side password validation is a convenience feature that assists users in creating strong passwords by providing instant feedback (and a security warning in some cases) on the password&amp;rsquo;s compliance with the password strength policy. Furthermore, this proactive approach reduces server load, as fewer invalid password attempts are sent to the server for processing.&lt;/p&gt;
&lt;h4 id="encouraging-strong-password-practices"&gt;Encouraging Strong Password Practices &lt;a class="heading-anchor" href="#encouraging-strong-password-practices" aria-label="Link to section: Encouraging Strong Password Practices"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Include &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/" title="5 Studies on Password Strength Meters"&gt;a good password strength meter&lt;/a&gt; into your login form that gives users real-time feedback as they create their passwords. Especially in combination with a user-friendly password strength policy, visual indicators can be used to encourages users to create long, complicated passwords and educates them on the necessity of &lt;a href="https://www.janbrennenstuhl.eu/topics/passwords/" title="Modern Password Security &amp;amp; Secure Passwords"&gt;strong password security&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="password-manager-support"&gt;Password Manager Support &lt;a class="heading-anchor" href="#password-manager-support" aria-label="Link to section: Password Manager Support"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Users can use password managers to create and maintain multiple passwords of maximum lengths without having to remember them. By integrating &lt;a href="https://www.janbrennenstuhl.eu/password-manager-friendly/" title="How to Become Password-Manager friendly"&gt;password manager support&lt;/a&gt; into your login system, you improve the user experience by enabling seamless autofill capabilities and decreasing the pressure on users to memorize randomly generated credentials.&lt;/p&gt;
&lt;h3 id="back-end-considerations"&gt;Back-end Considerations &lt;a class="heading-anchor" href="#back-end-considerations" aria-label="Link to section: Back-end Considerations"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="implementing-server-side-password-validation"&gt;Implementing Server-side Password Validation &lt;a class="heading-anchor" href="#implementing-server-side-password-validation" aria-label="Link to section: Implementing Server-side Password Validation"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Enabling backend-side password input validation is crucial for maintaining a secure and reliable login system since it acts as a last line of defense against incorrect or malicious input. While client-side validation provides rapid feedback and improves user experience, it can also expose systems to security vulnerabilities because it can be bypassed or manipulated by determined attackers. Backend validation guarantees that password inputs comply with defined security policies and requirements, effectively blocking any unauthorized or non-compliant attempts that may have slipped through client-side checks. Businesses and developers establish a multi-layered approach to password security by including both client-side and backend-side validation based on the same rules.&lt;/p&gt;
&lt;h4 id="ensuring-backward-compatibility"&gt;Ensuring Backward Compatibility &lt;a class="heading-anchor" href="#ensuring-backward-compatibility" aria-label="Link to section: Ensuring Backward Compatibility"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Backward compatibility is critical when adjusting password length limits for businesses and developers looking to improve their login systems without impacting user experience. As systems evolve to support longer, more secure passwords, it is critical to preserve compatibility with old user credentials while avoiding unnecessary friction for users. One useful method is to provide a grace period during which users can continue to use their current passwords while being gently reminded to update them to match the new, stricter requirements. This can be accomplished via in-app notifications, email reminders, or the password reset process.&lt;/p&gt;
&lt;h4 id="long-password-denial-of-service"&gt;Long Password Denial of Service &lt;a class="heading-anchor" href="#long-password-denial-of-service" aria-label="Link to section: Long Password Denial of Service"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Password max length constraints can be quite problematic, and there are numerous complaints about overly short password limits all over the internet. Maximum password lengths, on the other hand, are also a wonderful thing to have. Denial of service (DoS) attacks on password hashing for example is a real security risk: By sending a overly long password of e.g. 1.000.000 characters it&amp;rsquo;s possible to cause severe CPU and memory exhaustion, consequentially resulting in a denial of service attack on the server.&lt;/p&gt;
&lt;p&gt;An explicit maximum password length helps furthermore with testing all of your password input fields as well as middleware and with assuring consistency throughout distributed system landscapes. Every &lt;a href="https://www.janbrennenstuhl.eu/password-policy/" title="Designing a Strong &amp;amp; Usable Password Policy"&gt;strong password strength policy&lt;/a&gt; should include an explicit maximum length!&lt;/p&gt;
&lt;h4 id="testing--monitoring-your-updated-system"&gt;Testing &amp;amp; Monitoring Your Updated System &lt;a class="heading-anchor" href="#testing--monitoring-your-updated-system" aria-label="Link to section: Testing &amp;amp; Monitoring Your Updated System"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;After adjusting password length limits, testing and monitoring a login system is an essential component of ensuring a smooth transition and maintaining optimal security standards. As businesses and developers adjust their systems to allow longer, more complicated passwords, it is critical to do extensive testing to evaluate the modified system&amp;rsquo;s performance, usability, and security. Unit tests, integration tests, and stress tests are all performed to detect potential vulnerabilities, bottlenecks, and opportunities for improvement. Once the system is in place, continual monitoring is required to detect and address any unanticipated issues, track user adoption of the new minimum password length regulations, and assure the security measures&amp;rsquo; ongoing efficacy.&lt;/p&gt;
&lt;h2 id="best-practices-for-long-password-support"&gt;Best Practices for Long Password Support &lt;a class="heading-anchor" href="#best-practices-for-long-password-support" aria-label="Link to section: Best Practices for Long Password Support"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="adopting-a-balanced-password-policy"&gt;Adopting a Balanced Password Policy &lt;a class="heading-anchor" href="#adopting-a-balanced-password-policy" aria-label="Link to section: Adopting a Balanced Password Policy"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A well-balanced password policy encourages users to compose strong, unique passwords by establishing adequate minimum length, complexity, and character diversity criteria that are not unduly restrictive or difficult. This includes criteria such as minimum length and max password length, &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/" title="Credential Stuffing &amp;amp; Compromised Credentials"&gt;screening for compromised credentials&lt;/a&gt;, and refusing commonly used passwords. Businesses and developers can encourage the use of secure credentials while reducing user frustration and the temptation to use weak, readily guessable passwords by creating an environment in which users can easily adhere to password best practices. Finally, in an increasingly security-conscious digital environment, a balanced password strategy is critical for preserving sensitive information and promoting user confidence.&lt;/p&gt;
&lt;h3 id="regularly-reviewing--updating-security-measures"&gt;Regularly Reviewing &amp;amp; Updating Security Measures &lt;a class="heading-anchor" href="#regularly-reviewing--updating-security-measures" aria-label="Link to section: Regularly Reviewing &amp;amp; Updating Security Measures"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In the constantly evolving field of digital security, where new threats and vulnerabilities arise on a regular basis, assessing and updating security measures is a must. Periodic audits and reviews of existing security measures, such as password policies, hashing algorithms, and encryption techniques, ensure that the login system is up-to-date and resilient to attacks. Businesses can fine-tune their security approach by incorporating input from these evaluations, resolving any flaws and capitalizing on possibilities for improvement.&lt;/p&gt;
&lt;h3 id="staying-informed-about-new-threats--trends"&gt;Staying Informed About New Threats &amp;amp; Trends &lt;a class="heading-anchor" href="#staying-informed-about-new-threats--trends" aria-label="Link to section: Staying Informed About New Threats &amp;amp; Trends"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Proactive monitoring of the most recent security trends, research, and best practices enables businesses and developers to stay ahead of potential threats and maintain a strong security posture. While account take-overs through credential stuffing or password spraying are considered a modern security epidemic, also authentication practices are currently transitioning into a new era:&lt;/p&gt;
&lt;p&gt;One common trend is to balance security and friction by leveraging passwordless &lt;a href="https://www.janbrennenstuhl.eu/step-up-authentication/" title="Enhancing Security: A Guide to Step-Up Authentication"&gt;step-up authentication&lt;/a&gt; concepts.Another fresh approach are Passkeys that are based on FIDO standards and allow probably &lt;a href="https://www.janbrennenstuhl.eu/passwordless-authentication/" title="The Future of Passwordless Authentication"&gt;the most secure passwordless sign-in&lt;/a&gt; experience that ever existed. After Apple started supporting passkeys natively, also Google recently introduced passkeys for Google Accounts and said &lt;a href="https://security.googleblog.com/2023/05/so-long-passwords-thanks-for-all-phish.html" title="Creating passkeys on your Google Account" class="ext"&gt;&lt;em&gt;&amp;ldquo;So long passwords, thanks for all the phish&amp;rdquo;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Make sure to stay informed about offensive threats as well as defensive trends and ensure that you follow industry best practices!&lt;/p&gt;
&lt;h2 id="summary"&gt;Summary &lt;a class="heading-anchor" href="#summary" aria-label="Link to section: Summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Secure password support in your login system is a critical step in securing user accounts and protecting sensitive data. Allowing for larger password lengths, employing a secure hashing algorithm, utilizing password managers, and including password strength validators all help users establish strong, secure passwords. Furthermore, testing and optimization, as well as user education, play an essential role in maintaining a strong login system. To provide a seamless and safe user experience, remember to strike a balance between security and usability.&lt;/p&gt;
&lt;h2 id="frequently-asked-questions-faqs"&gt;Frequently Asked Questions (FAQs) &lt;a class="heading-anchor" href="#frequently-asked-questions-faqs" aria-label="Link to section: Frequently Asked Questions (FAQs)"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What is the ideal password length?&lt;/strong&gt; – The ideal password length is a point of discussion among security experts, however there is universal agreement that longer passwords provide a higher level of protection. To provide proper security, a password should be at least 12-16 characters long. It is crucial to note that as computational power grows, the optimum password length may need to be altered in the future to keep up with evolving threats.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How do I manage long passwords without forgetting them?&lt;/strong&gt; – Using a password manager is one of the most reliable and handy options. You can also use mnemonic techniques to construct memorable yet strong passwords. For example, you can create a passphrase by mixing the initial letter of each word of a memorable statement with numbers and unique characters. It is critical to avoid using the same password for several accounts!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Are there any drawbacks to using long passwords?&lt;/strong&gt; – Despite theoretical difficulties in terms of memorability and user-friendliness, the advantages of employing long passwords in terms of improved password security exceed the drawbacks. Backwards compatibility and processing time challenges are no longer viable issues for modern systems.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is there any security risk in not setting a maximum password length?&lt;/strong&gt; – An attacker could submit a non-reasonable amount of random characters to the login system if there is no maximum limit, resulting in increased processing time and resource consumption during hashing. Repeated attempts with exceptionally long passwords can result in a DoS attack, which overloads the server and reduces its availability to genuine users.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Max Password Length: A Secure Password Guide</title><link>https://www.janbrennenstuhl.eu/max-password-length/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/max-password-length/</guid><pubDate>Thu, 04 May 2023 00:00:00 +0200</pubDate><description>&lt;p&gt;Today, digital security is more important than ever. With cyber threats on the rise, having strong, unique passwords is critical for protecting your accounts and data. Common sense among security researchers is, that longer passwords are more crucial than complicated ones. In this article, I&amp;rsquo;ll go into detail about the max password length recommendation, how it affects your digital security, and how to generate the most secure passwords available.&lt;/p&gt;
&lt;h2 id="password-length-recommendations"&gt;Password Length Recommendations &lt;a class="heading-anchor" href="#password-length-recommendations" aria-label="Link to section: Password Length Recommendations"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="a-look-into-password-length"&gt;A Look into Password Length &lt;a class="heading-anchor" href="#a-look-into-password-length" aria-label="Link to section: A Look into Password Length"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Before we look at password guidelines and how to choose the right length, let&amp;rsquo;s go over why length is important. Longer passwords are generally more secure since they increase the number of possible combinations that a brute-force attack would have to try. To put it another way, the longer the password, the more time and effort it takes hackers to crack it.&lt;/p&gt;
&lt;h3 id="the-nist-guidelines"&gt;The NIST Guidelines &lt;a class="heading-anchor" href="#the-nist-guidelines" aria-label="Link to section: The NIST Guidelines"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The National Institute of Standards and Technology (NIST) released their latest &lt;a href="https://pages.nist.gov/800-63-3/sp800-63b.html" title="NIST Digital Identity Guidelines – Authentication and Lifecycle Management" class="ext"&gt;password security standards&lt;/a&gt; as part of the digital identity guidelines in 2017. The NIST password guidelines recommend a minimum password length of 8 characters, but no maximum length is specified. Instead, NIST advises users to establish long, complex passwords that are easy to remember but difficult to guess for others. The European Union Agency for Cybersecurity (ENISA), the European NIST-counterpart, mentions in their report on Security Hygiene from 2020 that user generated passwords should at least have 12 characters.&lt;/p&gt;
&lt;h3 id="why-no-max-length"&gt;Why No Max Length? &lt;a class="heading-anchor" href="#why-no-max-length" aria-label="Link to section: Why No Max Length?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;NIST does not advocate for a maximum password length because they believe it is more essential to focus on the complexity requirements and uniqueness of passwords. A longer password is generally considered more secure than a short one, independent of its characters, numbers, and symbols composition and whether it fulfils arbitrary password complexity requirements.&lt;/p&gt;
&lt;h3 id="so-whats-the-ideal-length"&gt;So, What&amp;rsquo;s the Ideal Length? &lt;a class="heading-anchor" href="#so-whats-the-ideal-length" aria-label="Link to section: So, What’s the Ideal Length?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;While NIST does not specify a maximum secret length, most cybersecurity experts agree that a unique password of 12 to 16 characters is sufficient for most common use-cases today. This length strikes a good balance between security and memorability. However, this is not intended to prevent service providers from allowing users to choose longer secrets – rather the opposite! According to OWASP, &lt;a href="https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html" class="ext"&gt;a common maximum length is 64 characters&lt;/a&gt; due to limitations in certain hashing algorithms. Imposing characters on users is actually considered bad practice.&lt;/p&gt;
&lt;h2 id="creating-strong-passwords"&gt;Creating Strong Passwords &lt;a class="heading-anchor" href="#creating-strong-passwords" aria-label="Link to section: Creating Strong Passwords"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="complex-passwords--the-importance-of-unpredictability"&gt;Complex Passwords &amp;amp; the Importance of Unpredictability &lt;a class="heading-anchor" href="#complex-passwords--the-importance-of-unpredictability" aria-label="Link to section: Complex Passwords &amp;amp; the Importance of Unpredictability"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When it comes to creating a secure password, unpredictability is key. Avoid utilizing information that is easily guessed, such as names, dates, or common words and common passwords. &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/" title="5 Alarming Password Reuse Studies"&gt;Do not reuse passwords&lt;/a&gt;, but use a unique combination of lower- and uppercase characters, numerals, and special characters. Avoid sequential characters and use machine generated passwords! Make them longer!&lt;/p&gt;
&lt;h3 id="passphrases-a-password-manager-alternative"&gt;Passphrases: A Password Manager Alternative &lt;a class="heading-anchor" href="#passphrases-a-password-manager-alternative" aria-label="Link to section: Passphrases: A Password Manager Alternative"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;For people without any password managers at hand, it is hard to remember complex passwords. Passphrases are a good alternative to conventional passwords. They are composed of a series of random words, making them easier to remember but more difficult to crack, especially when combined with special characters to protect against dictionary attacks. For example, &amp;ldquo;Butterfly_machine/skyscraper_twilight&amp;rdquo; is a unique password that satisfies the password length recommendation. Always keep in mind however, that &lt;a href="https://www.troyhunt.com/only-secure-password-is-one-you-cant/" title="Troy Hunt: The only secure password is the one you can’t remember" class="ext"&gt;the only secure password&lt;/a&gt; is the one you can’t remember.&lt;/p&gt;
&lt;h3 id="use-a-password-manager"&gt;Use a Password Manager &lt;a class="heading-anchor" href="#use-a-password-manager" aria-label="Link to section: Use a Password Manager"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Password managers are useful applications that can assist you in creating and storing complicated, one-of-a-kind passwords for all of your user accounts. They can create passwords that comply with strong password security recommendations and securely store them so you don&amp;rsquo;t have to remember them. My personal recommendation for password creation and secure storage is 1Password, but there are many useful alternatives out there!&lt;/p&gt;
&lt;h2 id="common-password-pitfalls"&gt;Common Password Pitfalls &lt;a class="heading-anchor" href="#common-password-pitfalls" aria-label="Link to section: Common Password Pitfalls"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="short-passwords"&gt;Short Passwords &lt;a class="heading-anchor" href="#short-passwords" aria-label="Link to section: Short Passwords"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;User created passwords are often too short. Many online platforms and services still apply &lt;a href="https://www.janbrennenstuhl.eu/password-policy/" title="How to Design a Strong &amp;amp; Usable Password Policy"&gt;password policies&lt;/a&gt; that are decades behind modern threat vectors, with outdated minimum password length requirements and composition rules. Often companies shy away from introducing any kind of additional friction in their sign-up or authentication process, enabling malicious actors to be successful with only few password attempts. Always make sure to use a complex password to minimize security risks.&lt;/p&gt;
&lt;h3 id="reusing-passwords"&gt;Reusing Passwords &lt;a class="heading-anchor" href="#reusing-passwords" aria-label="Link to section: Reusing Passwords"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;One of the most common mistakes people practice with their passwords is to reuse passwords across several accounts. If a hacker cracks, guesses or brute-forces one password, they may be able &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/account-takeover/" title="Defend against account takeovers &amp;amp; account hijacking attacks"&gt;to gain access to multiple accounts&lt;/a&gt; if the same password is employed by the user. Ensuring passwords are different for each account is key!&lt;/p&gt;
&lt;h3 id="writing-passwords-down"&gt;Writing Passwords Down &lt;a class="heading-anchor" href="#writing-passwords-down" aria-label="Link to section: Writing Passwords Down"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Writing down your passwords might seem to poses a significant security risk. If someone finds the written passwords, they can easily gain unauthorized access to your accounts. However, these security risks surely depend on your private threat model. For most common endusers, writing passwords down into a physical password vault is actually a great idea if it leads to more unique and long passwords being used. In any case, consider using a password management tool instead!&lt;/p&gt;
&lt;h3 id="ignoring-two-factor-authentication"&gt;Ignoring Two-Factor Authentication &lt;a class="heading-anchor" href="#ignoring-two-factor-authentication" aria-label="Link to section: Ignoring Two-Factor Authentication"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Multi-factor authentication (2FA) protects your accounts by adding an extra layer of security using &lt;a href="https://www.janbrennenstuhl.eu/fido-passkeys/" title="Critical Notes on Passkeys"&gt;passwordless authentication&lt;/a&gt; approaches. Even if someone guesses your most commonly used passwords, they&amp;rsquo;ll need to also get access to your 2FA method (such as a text message or an authentication app) to log in. Enable 2FA whenever it is available!&lt;/p&gt;
&lt;h2 id="faqs"&gt;FAQs &lt;a class="heading-anchor" href="#faqs" aria-label="Link to section: FAQs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="what-is-the-max-password-length-recommendation"&gt;What is the Max Password Length Recommendation? &lt;a class="heading-anchor" href="#what-is-the-max-password-length-recommendation" aria-label="Link to section: What is the Max Password Length Recommendation?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The max length recommendation refers to the best length for maximum security. Neither the NIST guidelines nor security researchers specify a maximum length – for good reason! A longish password is generally considered more secure. Most cybersecurity and password policy experts recommend to use secrets of at least 12 to 16 characters for the best balance of security and memorability. Arbitrarily short limitations of below 64 characters should not be imposed on users!&lt;/p&gt;
&lt;h3 id="how-does-password-length-affect-security--brute-force-attacks"&gt;How does Password Length affect Security &amp;amp; Brute-Force Attacks? &lt;a class="heading-anchor" href="#how-does-password-length-affect-security--brute-force-attacks" aria-label="Link to section: How does Password Length affect Security &amp;amp; Brute-Force Attacks?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The number of characters is important for passwords because it increases the number of possible combinations that an attacker must try in brute-force attacks. Every character added also increases time and effort required for password cracking (the recovery of hashed passwords with brute force). An 8-character password will take anywhere from a few minutes to a couple of hours to crack while a 16-character password will take a cracker years, which renders even offline attacks non-sustainable. A long password is also harder to guess.&lt;/p&gt;
&lt;h3 id="what-is-a-passphrase--how-is-it-different-from-a-password"&gt;What is a Passphrase &amp;amp; How is it different from a Password? &lt;a class="heading-anchor" href="#what-is-a-passphrase--how-is-it-different-from-a-password" aria-label="Link to section: What is a Passphrase &amp;amp; How is it different from a Password?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A passphrase is a string of random dictionary words that is used to create a safe password. Passphrases are typically longer and hence are considered more secure than regular, weak passwords, as well as easier to remember. They are a useful approach to create lengthy passwords and offer a higher level of security. Better use a secure password generator!&lt;/p&gt;
&lt;h3 id="why-should-i-avoid-reusing-passwords"&gt;Why should I avoid Reusing Passwords? &lt;a class="heading-anchor" href="#why-should-i-avoid-reusing-passwords" aria-label="Link to section: Why should I avoid Reusing Passwords?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Reusing passwords across multiple accounts is a dangerous practice because a &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/" title="Credential Stuffing &amp;amp; Compromised Credentials"&gt;single data breach&lt;/a&gt; can put all your other accounts at risk. If a malicious actor manages to crack one password, they can potentially access multiple accounts with the same password. It&amp;rsquo;s essential to use unique passwords for each account to protect your digital identity.&lt;/p&gt;
&lt;h3 id="what-is-a-password-manager-and-how-can-it-help-me"&gt;What is a password manager, and how can it help me? &lt;a class="heading-anchor" href="#what-is-a-password-manager-and-how-can-it-help-me" aria-label="Link to section: What is a password manager, and how can it help me?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.janbrennenstuhl.eu/password-manager-friendly/" title="Effortless Login: Make Your Login Forms Password-Manager Friendly!"&gt;A password manager&lt;/a&gt; is an app that allows you to create, save, and manage complex, unique passwords for all of your accounts. It can create passwords that adhere to best practices for password complexity and store passwords securely so you don&amp;rsquo;t have to remember them.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion &lt;a class="heading-anchor" href="#conclusion" aria-label="Link to section: Conclusion"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Finally, length is a critical attribute of password strength. You may dramatically improve the security of your accounts and data by creating strong passwords that are at least between 12 and 16 characters long, use a combination of character classes, numbers, and special characters, and avoid typical password problems. Don&amp;rsquo;t forget to think about utilizing passphrases or a secure password generator to make the procedure even easier and more secure.&lt;/p&gt;
&lt;h2 id="additional-tips-for-strengthening-your-password-security"&gt;Additional Tips for Strengthening Your Password Security &lt;a class="heading-anchor" href="#additional-tips-for-strengthening-your-password-security" aria-label="Link to section: Additional Tips for Strengthening Your Password Security"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Now that we&amp;rsquo;ve covered the minimal and maximal password lengths and the necessity of creating secure passwords, let&amp;rsquo;s look at some extra ideas that help you boost your password security even further.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No Need to Regularly Update Your Passwords&lt;/strong&gt; – There is no need to change a strong password. There is no need for automatic password expiration. Changing your passwords every three to six months adds no security benefit and will not increase password protection. If you use complex passwords frequent password changes are simply unnecessary.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Be Cautious with Password Recovery Questions&lt;/strong&gt; – Password recovery questions might be a vulnerability in your account security because they frequently incorporate personal information that hackers can easily find. Don&amp;rsquo;t use any kind of recovery or security questions. If you have to, complain and if there is no way around it, choose questions with answers that aren&amp;rsquo;t readily available online or easily guessed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Monitor Your Accounts for Suspicious Activity&lt;/strong&gt; – Check your accounts on a regular basis for any signs of unauthorized access or questionable behavior. If you discover anything out of the ordinary, change your password immediately and notify the service provider and proper authorities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Educate Yourself on Phishing Scams&lt;/strong&gt; – Cybercriminals use phishing scams to lure you into disclosing sensitive information such as your passwords or personal information. Never click on strange links or download attachments from unfamiliar sources, and be wary of unsolicited emails, messages, or phone calls requesting your password or personal information.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use a VPN When on Public Wi-Fi&lt;/strong&gt; – Using public Wi-Fi networks puts your data at risk of being compromised by hackers and other bad actors. When connecting to public Wi-Fi networks, use a Virtual Private Network (VPN) to protect your data and account security. A proper VPN adds an additional layer of encryption and ensures the privacy and security of your online activity.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Do password strength meters work?</title><link>https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/</guid><pubDate>Wed, 03 May 2023 00:00:00 +0200</pubDate><description>&lt;p&gt;&lt;em&gt;Latest change (2026-10-13): Rewritten as a field-guide entry: question title, short answer, key findings and evidence table. Study summaries kept. Corrected the summary of the meter experiment and the zxcvbn guess count (10^5, not 105).&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; Meters work under the right conditions. In one study they produced stronger passwords when people changed passwords on important accounts, and made no observable difference for an unimportant one. Many deployed meters also label weak passwords as strong, so a useful meter has to estimate how guessable a password really is.&lt;/p&gt;&lt;h2 id="key-findings"&gt;Key findings &lt;a class="heading-anchor" href="#key-findings" aria-label="Link to section: Key findings"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;figure class="finding" id="f-meter-important-accounts"&gt;
&lt;blockquote&gt;&lt;p&gt;Password meters produced significantly stronger passwords when people had to change their real passwords on important accounts.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/chi13b.pdf" class="ext"&gt;&lt;cite&gt;Egelman et al., Does My Password Go up to Eleven? (CHI 2013)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-meter-important-accounts" title="#f-meter-important-accounts"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Password meters produced significantly stronger passwords when people had to change their real passwords on important accounts." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/#f-meter-important-accounts" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/f-meter-important-accounts.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-meter-unimportant-no-effect"&gt;
&lt;blockquote&gt;&lt;p&gt;When people created a password for an unimportant account, meters made no observable difference because they reused weak passwords from similar low-risk accounts.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/chi13b.pdf" class="ext"&gt;&lt;cite&gt;Egelman et al., Does My Password Go up to Eleven? (CHI 2013)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-meter-unimportant-no-effect" title="#f-meter-unimportant-no-effect"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="When people created a password for an unimportant account, meters made no observable difference because they reused weak passwords from similar low-risk accounts." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/#f-meter-unimportant-no-effect" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/f-meter-unimportant-no-effect.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-meter-inconsistent-labels"&gt;
&lt;blockquote&gt;&lt;p&gt;Password meters at popular web services gave highly inconsistent ratings for the same password and labeled many weak passwords as strong or even very strong.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://xavier2dc.fr/papers/password-meters-ndss2014.pdf" class="ext"&gt;&lt;cite&gt;de Carné de Carnavalet and Mannan, From Very Weak to Very Strong: Analyzing Password-Strength Meters (NDSS 2014)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-meter-inconsistent-labels" title="#f-meter-inconsistent-labels"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Password meters at popular web services gave highly inconsistent ratings for the same password and labeled many weak passwords as strong or even very strong." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/#f-meter-inconsistent-labels" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/f-meter-inconsistent-labels.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-meter-zxcvbn-1-5mb"&gt;
&lt;blockquote&gt;&lt;p&gt;A strength estimator with 1.5 MB of compressed data can accurately estimate the best-known guessing attacks up to 10^5 guesses.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_wheeler.pdf" class="ext"&gt;&lt;cite&gt;Wheeler, zxcvbn: Low-Budget Password Strength Estimation (USENIX Security 2016)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-meter-zxcvbn-1-5mb" title="#f-meter-zxcvbn-1-5mb"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="A strength estimator with 1.5 MB of compressed data can accurately estimate the best-known guessing attacks up to 10^5 guesses." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/#f-meter-zxcvbn-1-5mb" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/f-meter-zxcvbn-1-5mb.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-meter-policy-strength-length"&gt;
&lt;blockquote&gt;&lt;p&gt;Researchers recommend combining minimum-strength and minimum-length password requirements for high-value accounts, and found that adding blocklists provides no further gains.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://dl.acm.org/doi/pdf/10.1145/3372297.3417882" class="ext"&gt;&lt;cite&gt;Tan et al., Practical Recommendations for Stronger, More Usable Passwords (CCS 2020)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-meter-policy-strength-length" title="#f-meter-policy-strength-length"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Researchers recommend combining minimum-strength and minimum-length password requirements for high-value accounts, and found that adding blocklists provides no further gains." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/#f-meter-policy-strength-length" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/f-meter-policy-strength-length.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="evidence"&gt;Evidence &lt;a class="heading-anchor" href="#evidence" aria-label="Link to section: Evidence"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="table-scroll studies" tabindex="0" role="region" aria-label="Password strength meter studies"&gt;&lt;table&gt;
&lt;caption&gt;Password strength meter studies&lt;/caption&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th scope="col"&gt;Study&lt;/th&gt;&lt;th scope="col"&gt;Year&lt;/th&gt;&lt;th scope="col"&gt;Sample&lt;/th&gt;&lt;th scope="col"&gt;Method&lt;/th&gt;&lt;th scope="col"&gt;Finding&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/chi13b.pdf" class="ext"&gt;Does My Password Go up to Eleven? The Impact of Password Meters on Password Selection&lt;/a&gt;&lt;span class="org"&gt;UC Berkeley, University of British Columbia, Microsoft Research&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2013&lt;/td&gt;&lt;td&gt;47 lab participants; 541 field participants&lt;/td&gt;&lt;td&gt;Laboratory experiment with real password changes, field experiment&lt;/td&gt;&lt;td&gt;Meters helped on important accounts and made no observable difference on an unimportant one.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://xavier2dc.fr/papers/password-meters-ndss2014.pdf" class="ext"&gt;From Very Weak to Very Strong: Analyzing Password-Strength Meters&lt;/a&gt;&lt;span class="org"&gt;Concordia University&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2014&lt;/td&gt;&lt;td&gt;13 meters from 11 web services; nearly 4 million passwords&lt;/td&gt;&lt;td&gt;Black-box testing with password dictionaries&lt;/td&gt;&lt;td&gt;Meters disagree with each other and rate many weak passwords as strong.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_wheeler.pdf" class="ext"&gt;zxcvbn: Low-Budget Password Strength Estimation&lt;/a&gt;&lt;span class="org"&gt;Dropbox&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2016&lt;/td&gt;&lt;td&gt;Leaked password sets&lt;/td&gt;&lt;td&gt;Comparison against 4 modern guessing attacks&lt;/td&gt;&lt;td&gt;1.5 MB is enough to estimate guessing attacks accurately up to 10^5 guesses.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_melicher.pdf" class="ext"&gt;Fast, Lean, and Accurate: Modeling Password Guessability Using Neural Networks&lt;/a&gt;&lt;span class="org"&gt;Carnegie Mellon University&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2016&lt;/td&gt;&lt;td&gt;n/a&lt;/td&gt;&lt;td&gt;Neural network guessing models, client-side JavaScript implementation&lt;/td&gt;&lt;td&gt;Neural networks often guess passwords better than earlier models and compress to hundreds of kilobytes.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3372297.3417882" class="ext"&gt;Practical Recommendations for Stronger, More Usable Passwords&lt;/a&gt;&lt;span class="org"&gt;Carnegie Mellon University&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2020&lt;/td&gt;&lt;td&gt;n/a&lt;/td&gt;&lt;td&gt;2 online experiments&lt;/td&gt;&lt;td&gt;Combine minimum-strength and minimum-length requirements; blocklists add no further gains.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h2 id="what-to-do"&gt;What to do &lt;a class="heading-anchor" href="#what-to-do" aria-label="Link to section: What to do"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="for-engineers"&gt;For engineers &lt;a class="heading-anchor" href="#for-engineers" aria-label="Link to section: For engineers"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Estimate strength from guessability, using a model such as zxcvbn or a neural network, and stop counting character classes. Wheeler calls counts of lower- and uppercase letters, digits and symbols &amp;ldquo;a conclusively burdensome and ineffective security practice&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;For high-value accounts, combine a minimum length with a minimum-strength check. Tan et al. found that character-class requirements may provide very little improvement against expert attackers &amp;ldquo;and may even reduce effective security&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Allow long passwords and passphrases so the strength check has something to reward. See &lt;a href="https://www.janbrennenstuhl.eu/max-password-length/"&gt;password length&lt;/a&gt; and &lt;a href="https://www.janbrennenstuhl.eu/long-password-support/"&gt;long password support&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="for-product-and-ux"&gt;For product and UX &lt;a class="heading-anchor" href="#for-product-and-ux" aria-label="Link to section: For product and UX"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Never show &amp;ldquo;strong&amp;rdquo; for a weak password. de Carné de Carnavalet and Mannan conclude that meters &amp;ldquo;should avoid providing misleading strength outcomes, especially for weak passwords&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Give advice people can act on, not only a coloured bar. Melicher et al. name &amp;ldquo;giving user-interpretable advice to improve passwords during password creation&amp;rdquo; as the remaining challenge.&lt;/li&gt;
&lt;li&gt;Put effort into meters where they matter: password changes on important accounts. On throwaway sign-ups, a meter won&amp;rsquo;t stop people from reusing a weak password. My &lt;a href="https://www.janbrennenstuhl.eu/password-policy/"&gt;password policy guide&lt;/a&gt; covers the rest of the policy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-studies-in-detail"&gt;The studies in detail &lt;a class="heading-anchor" href="#the-studies-in-detail" aria-label="Link to section: The studies in detail"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="impact-of-password-meters-on-password-selection"&gt;Impact of Password Meters on Password Selection &lt;a class="heading-anchor" href="#impact-of-password-meters-on-password-selection" aria-label="Link to section: Impact of Password Meters on Password Selection"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Researchers from UC Berkeley, the University of British Columbia and Microsoft Research performed &amp;ldquo;a laboratory experiment to examine whether [password] meters influenced users&amp;rsquo; password selections when they were forced to change their real passwords&amp;rdquo;. The 47 participants didn&amp;rsquo;t know that their passwords were the subject of the study, and the meters yielded significantly stronger passwords.&lt;/p&gt;
&lt;p&gt;A follow-up field experiment with 541 participants tested a different scenario: creating a password for an unimportant account. There the meters made no observable difference, as participants simply reused weak passwords from similar low-risk accounts. The authors conclude that meters help &amp;ldquo;when users are forced to change existing passwords on &amp;lsquo;important&amp;rsquo; accounts&amp;rdquo; and that individual meter design decisions likely have a marginal impact.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/chi13b.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="analyzing-password-strength-meters"&gt;Analyzing Password-Strength Meters &lt;a class="heading-anchor" href="#analyzing-password-strength-meters" aria-label="Link to section: Analyzing Password-Strength Meters"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Researchers from Concordia University tested 13 password meters from 11 popular web services, including Google, Yahoo! and PayPal, with nearly 4 million passwords from password dictionaries. They found highly inconsistent ratings for the same password across meters and many weak passwords labeled as strong or very strong. The study is from 2014, but I still see most of these problems on live sites. The authors argue that meter design deserves real expertise and research, and that, at least, &amp;ldquo;the current meters should avoid providing misleading strength outcomes, especially for weak passwords.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://xavier2dc.fr/papers/password-meters-ndss2014.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="low-budget-password-strength-estimation"&gt;Low-Budget Password Strength Estimation &lt;a class="heading-anchor" href="#low-budget-password-strength-estimation" aria-label="Link to section: Low-Budget Password Strength Estimation"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In this reference paper for the zxcvbn strength estimator from Dropbox, Daniel Lowe Wheeler shows that 1.5 MB of compressed storage is enough to accurately estimate the best-known guessing attacks up to 10^5 guesses. With 245 kB and 29 kB, zxcvbn covers 10^4 and 10^3 guesses respectively. The paper compares the estimator against 4 modern guessing attacks and presents it as a better replacement for composition requirements.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_wheeler.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="modeling-password-guessability-using-neural-networks"&gt;Modeling Password Guessability Using Neural Networks &lt;a class="heading-anchor" href="#modeling-password-guessability-using-neural-networks" aria-label="Link to section: Modeling Password Guessability Using Neural Networks"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In 2016, researchers from Carnegie Mellon University showed that artificial neural networks can often guess passwords more effectively than probabilistic context-free grammars and Markov models. The networks can be compressed to as little as hundreds of kilobytes without substantially worsening guessing effectiveness. With this result, the authors built the first principled client-side model of password guessing in JavaScript.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;While we measured client-side strength metrics based on guessing effectiveness, a remaining challenge is giving user-interpretable advice to improve passwords during password creation.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_melicher.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="practical-recommendations-for-stronger-more-usable-passwords"&gt;Practical Recommendations for Stronger, More Usable Passwords &lt;a class="heading-anchor" href="#practical-recommendations-for-stronger-more-usable-passwords" aria-label="Link to section: Practical Recommendations for Stronger, More Usable Passwords"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In their 2020 study, Carnegie Mellon University researchers ran 2 online experiments and formulated &amp;ldquo;concrete recommendations for policy configurations that produce a good balance of security and usability&amp;rdquo;. They give clear guidance on composition requirements, blocklists, and minimum-strength requirements driven by neural-network strength estimates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;We recommend a 1c12+NN10 minimum-strength policy for organizations that wish to protect high-value accounts without a substantial negative usability impact.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In plain terms, the recommended policy requires at least 12 characters and a password that passes the neural-network strength check. I consider this paper one of the most comprehensive and influential collections of best practices for password policies.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3372297.3417882" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="related"&gt;Related &lt;a class="heading-anchor" href="#related" aria-label="Link to section: Related"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/"&gt;How common is password reuse?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/"&gt;How do you protect accounts from stolen credentials?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/password-manager-friendly/"&gt;Password-manager-friendly login forms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How common is password reuse?</title><link>https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/</guid><pubDate>Thu, 27 Apr 2023 00:00:00 +0200</pubDate><description>&lt;p&gt;&lt;em&gt;Latest change (2026-10-13): Rewritten as a field-guide entry: question title, short answer, key findings and evidence table. Study summaries kept. Added sample sizes and numbers from the papers&amp;rsquo; own text and corrected the affiliations for The Tangled Web of Password Reuse.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; Password reuse is very common. One study estimates that 43-51% of users reuse the same password across sites, and an in situ study found exact or partial reuse in about 60% of unique passwords. An attacker who holds a user&amp;rsquo;s password from one site can guess that user&amp;rsquo;s password elsewhere far more easily.&lt;/p&gt;&lt;h2 id="key-findings"&gt;Key findings &lt;a class="heading-anchor" href="#key-findings" aria-label="Link to section: Key findings"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;figure class="finding" id="f-pw-reuse-43-51pct"&gt;
&lt;blockquote&gt;&lt;p&gt;An estimated 43-51% of users reuse the same password across multiple sites.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.ndss-symposium.org/wp-content/uploads/2017/09/06_1_1.pdf" class="ext"&gt;&lt;cite&gt;Das et al., The Tangled Web of Password Reuse (NDSS 2014)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-pw-reuse-43-51pct" title="#f-pw-reuse-43-51pct"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="An estimated 43-51% of users reuse the same password across multiple sites." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/#f-pw-reuse-43-51pct" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/f-pw-reuse-43-51pct.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-pw-reuse-cross-site-guessing"&gt;
&lt;blockquote&gt;&lt;p&gt;With a user&amp;rsquo;s password from another site, a cross-site guessing algorithm guessed 30% of transformed passwords within 100 attempts, compared with 14% for a standard guessing algorithm.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.ndss-symposium.org/wp-content/uploads/2017/09/06_1_1.pdf" class="ext"&gt;&lt;cite&gt;Das et al., The Tangled Web of Password Reuse (NDSS 2014)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-pw-reuse-cross-site-guessing" title="#f-pw-reuse-cross-site-guessing"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="With a user&amp;rsquo;s password from another site, a cross-site guessing algorithm guessed 30% of transformed passwords within 100 attempts, compared with 14% for a standard guessing algorithm." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/#f-pw-reuse-cross-site-guessing" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/f-pw-reuse-cross-site-guessing.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-pw-reuse-partial-60pct"&gt;
&lt;blockquote&gt;&lt;p&gt;When researchers observed 154 people&amp;rsquo;s real logins for an average of 147 days, about 60% of their unique passwords were exactly or partially reused.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://dl.acm.org/doi/pdf/10.1145/3133956.3133973" class="ext"&gt;&lt;cite&gt;Pearman et al., Let&amp;#39;s Go in for a Closer Look: Observing Passwords in Their Natural Habitat (CCS 2017)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-pw-reuse-partial-60pct" title="#f-pw-reuse-partial-60pct"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="When researchers observed 154 people&amp;rsquo;s real logins for an average of 147 days, about 60% of their unique passwords were exactly or partially reused." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/#f-pw-reuse-partial-60pct" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/f-pw-reuse-partial-60pct.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-pw-reuse-frequent-entry"&gt;
&lt;blockquote&gt;&lt;p&gt;People reuse each password on 1.7-3.4 websites, and they mostly reuse the complex passwords they have to enter frequently.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.usenix.org/system/files/conference/soups2016/soups2016-paper-wash.pdf" class="ext"&gt;&lt;cite&gt;Wash et al., Understanding Password Choices (SOUPS 2016)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-pw-reuse-frequent-entry" title="#f-pw-reuse-frequent-entry"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="People reuse each password on 1.7-3.4 websites, and they mostly reuse the complex passwords they have to enter frequently." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/#f-pw-reuse-frequent-entry" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/f-pw-reuse-frequent-entry.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-pw-reuse-notifications-third"&gt;
&lt;blockquote&gt;&lt;p&gt;Fewer than a third of people shown a typical password-reuse notification said they intended to change any passwords.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://dl.acm.org/doi/pdf/10.1145/3243734.3243767" class="ext"&gt;&lt;cite&gt;Golla et al., Designing Password-Reuse Notifications (CCS 2018)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-pw-reuse-notifications-third" title="#f-pw-reuse-notifications-third"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Fewer than a third of people shown a typical password-reuse notification said they intended to change any passwords." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/#f-pw-reuse-notifications-third" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/f-pw-reuse-notifications-third.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="evidence"&gt;Evidence &lt;a class="heading-anchor" href="#evidence" aria-label="Link to section: Evidence"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="table-scroll studies" tabindex="0" role="region" aria-label="Password reuse studies"&gt;&lt;table&gt;
&lt;caption&gt;Password reuse studies&lt;/caption&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th scope="col"&gt;Study&lt;/th&gt;&lt;th scope="col"&gt;Year&lt;/th&gt;&lt;th scope="col"&gt;Sample&lt;/th&gt;&lt;th scope="col"&gt;Method&lt;/th&gt;&lt;th scope="col"&gt;Finding&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3133956.3133973" class="ext"&gt;Let&amp;#39;s Go in for a Closer Look: Observing Passwords in Their Natural Habitat&lt;/a&gt;&lt;span class="org"&gt;Carnegie Mellon University, ICSI, Google&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2017&lt;/td&gt;&lt;td&gt;154 participants, 147 days on average&lt;/td&gt;&lt;td&gt;In situ measurement on participants&amp;#39; computers&lt;/td&gt;&lt;td&gt;About 60% of unique passwords were exactly or partially reused.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://www.ndss-symposium.org/wp-content/uploads/2017/09/06_1_1.pdf" class="ext"&gt;The Tangled Web of Password Reuse&lt;/a&gt;&lt;span class="org"&gt;University of Illinois, Princeton, Indiana University&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2014&lt;/td&gt;&lt;td&gt;Several hundred thousand leaked passwords from 11 sites; 224 survey responses&lt;/td&gt;&lt;td&gt;Leak analysis, survey, guessing experiment&lt;/td&gt;&lt;td&gt;Estimated 43-51% of users reuse the same password across sites.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://www.usenix.org/system/files/conference/soups2016/soups2016-paper-wash.pdf" class="ext"&gt;Understanding Password Choices: How Frequently Entered Passwords are Re-used Across Websites&lt;/a&gt;&lt;span class="org"&gt;Michigan State University, Macalester College&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2016&lt;/td&gt;&lt;td&gt;134 participants over 6 weeks&lt;/td&gt;&lt;td&gt;Survey combined with measured online behaviour&lt;/td&gt;&lt;td&gt;Each password is reused on 1.7-3.4 websites, mostly the frequently entered ones.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2006/11/www2007.pdf" class="ext"&gt;A Large-Scale Study of Web Password Habits&lt;/a&gt;&lt;span class="org"&gt;Microsoft Research&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2007&lt;/td&gt;&lt;td&gt;Over half a million users, 3 months&lt;/td&gt;&lt;td&gt;Client-side measurement&lt;/td&gt;&lt;td&gt;The average user had 6.5 passwords, each shared across 3.9 sites.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3243734.3243767" class="ext"&gt;Designing Password-Reuse Notifications&lt;/a&gt;&lt;/th&gt;&lt;td&gt;2018&lt;/td&gt;&lt;td&gt;180 and 588 respondents&lt;/td&gt;&lt;td&gt;2 online user studies of notification designs&lt;/td&gt;&lt;td&gt;Fewer than a third of respondents in study 1 intended to change any password.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h2 id="what-to-do"&gt;What to do &lt;a class="heading-anchor" href="#what-to-do" aria-label="Link to section: What to do"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="for-engineers"&gt;For engineers &lt;a class="heading-anchor" href="#for-engineers" aria-label="Link to section: For engineers"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Assume that some of your users&amp;rsquo; passwords are already in another site&amp;rsquo;s breach. Check passwords against breach data at sign-up, password change and login. The &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/"&gt;compromised credentials entry&lt;/a&gt; covers protocols that do this without sending the password to a third party.&lt;/li&gt;
&lt;li&gt;Treat a correct password as one signal among several. Das et al. show that a leaked password from another site gives an online attacker a large head start, so rate limits alone aren&amp;rsquo;t enough. See &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/reinforced-authentication/"&gt;reinforced authentication&lt;/a&gt; and &lt;a href="https://www.janbrennenstuhl.eu/step-up-authentication/"&gt;step-up authentication&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Make unique passwords cheap for users: allow paste, long passwords and autofill so a password manager works. I wrote about this in &lt;a href="https://www.janbrennenstuhl.eu/password-manager-friendly/"&gt;password-manager-friendly login forms&lt;/a&gt; and &lt;a href="https://www.janbrennenstuhl.eu/long-password-support/"&gt;long password support&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Where you can, offer a factor that can&amp;rsquo;t be reused at all, such as passkeys. See my &lt;a href="https://www.janbrennenstuhl.eu/fido-passkeys/"&gt;critical notes on passkeys&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="for-product-and-ux"&gt;For product and UX &lt;a class="heading-anchor" href="#for-product-and-ux" aria-label="Link to section: For product and UX"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Composition rules can backfire. Wash et al. found that people memorize a strong password for a site they log into often and then reuse it elsewhere. Read &lt;a href="https://www.janbrennenstuhl.eu/password-policy/"&gt;password policy&lt;/a&gt; before adding another character-class rule.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t rely on a notification alone. Golla et al. conclude that &amp;ldquo;notifications alone appear insufficient in solving password reuse&amp;rdquo;. Pair the message with a forced reset and a clear next step, such as using a password manager.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-studies-in-detail"&gt;The studies in detail &lt;a class="heading-anchor" href="#the-studies-in-detail" aria-label="Link to section: The studies in detail"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="observing-passwords-in-their-natural-habitat"&gt;Observing Passwords in Their Natural Habitat &lt;a class="heading-anchor" href="#observing-passwords-in-their-natural-habitat" aria-label="Link to section: Observing Passwords in Their Natural Habitat"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Researchers from Carnegie Mellon University, the International Computer Science Institute and Google instrumented the computers of 154 participants for an average of 147 days each. They wanted to analyze &amp;ldquo;password characteristics and behaviors across the full range of participants&amp;rsquo; web-based accounts&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Among other things, the data showed &amp;ldquo;that the use of symbols and digits in passwords predicts increased likelihood of reuse, while increased password strength predicts decreased likelihood of reuse; that password reuse is more prevalent than previously believed, especially when partial reuse is taken into account&amp;rdquo;. Of 1,578 unique passwords, 32% were exactly reused and about 60% showed some form of reuse.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3133956.3133973" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="the-tangled-web-of-password-reuse"&gt;The Tangled Web of Password Reuse &lt;a class="heading-anchor" href="#the-tangled-web-of-password-reuse" aria-label="Link to section: The Tangled Web of Password Reuse"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This 2014 study by researchers from the University of Illinois, Princeton and Indiana University used several hundred thousand leaked passwords from 11 websites and a user survey with 224 responses. The authors estimate that &amp;ldquo;43-51% of users reuse the same password across multiple sites&amp;rdquo;. They also identified &amp;ldquo;a few simple tricks users often employ to transform a basic password between sites&amp;rdquo; and built the first cross-site password-guessing algorithm.&lt;/p&gt;
&lt;p&gt;That algorithm guessed 30% of transformed passwords within 100 attempts, compared with 14% without knowledge of the other site&amp;rsquo;s password. A leaked password helps the attacker even when the user changed it slightly for the next site.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.ndss-symposium.org/wp-content/uploads/2017/09/06_1_1.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="understanding-password-choices-how-frequently-entered-passwords-are-re-used-across-websites"&gt;Understanding Password Choices: How Frequently Entered Passwords are Re-used Across Websites &lt;a class="heading-anchor" href="#understanding-password-choices-how-frequently-entered-passwords-are-re-used-across-websites" aria-label="Link to section: Understanding Password Choices: How Frequently Entered Passwords are Re-used Across Websites"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Researchers from Michigan State University and Macalester College combined survey answers with the measured online behavior of 134 participants over 6 weeks. They found &amp;ldquo;that people do tend to re-use each password on 1.7–3.4 different websites&amp;rdquo; and that &amp;ldquo;they reuse passwords that are more complex, and mostly they tend to re-use passwords that they have to enter frequently&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The most interesting observation is how accounts depend on each other, which shows the trouble with arbitrary password composition requirements:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;[…] if users must memorize a strong password on a website where they have to enter it frequently, they then re-use it elsewhere. This results in stronger passwords on more websites. This practice puts users at greater risk of cross-site password guessing attacks […]&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://www.usenix.org/system/files/conference/soups2016/soups2016-paper-wash.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="a-large-scale-study-of-web-password-habits"&gt;A Large-Scale Study of Web Password Habits &lt;a class="heading-anchor" href="#a-large-scale-study-of-web-password-habits" aria-label="Link to section: A Large-Scale Study of Web Password Habits"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Microsoft researchers measured the password use and reuse of over half a million users over 3 months in 2007, using a client component on users&amp;rsquo; machines. It was the first large-scale study of its kind. The average user had 6.5 passwords, each shared across 3.9 different sites, and about 25 accounts that required a password. The authors write that the results &amp;ldquo;particularly confirm the conventional wisdom about the large number and poor quality of user passwords. In addition passwords are re-used and forgotten a great deal.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2006/11/www2007.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="designing-password-reuse-notifications"&gt;Designing Password-Reuse Notifications &lt;a class="heading-anchor" href="#designing-password-reuse-notifications" aria-label="Link to section: Designing Password-Reuse Notifications"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When companies find stolen credentials and notice password reuse, they may require a password reset and notify affected users. Researchers from Germany and the USA ran 2 user studies in 2018 to learn how people react to such notifications. In the first, 180 respondents each saw 1 of 6 notifications that real companies had used, and fewer than a third reported an intention to change any passwords. In the second, 588 respondents saw 1 of 15 variations of a model notification. The authors discuss &amp;ldquo;best practices for password-reuse notifications and how notifications alone appear insufficient in solving password reuse&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3243734.3243767" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="related"&gt;Related &lt;a class="heading-anchor" href="#related" aria-label="Link to section: Related"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/"&gt;How do you protect accounts from stolen credentials?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-strength-meter/"&gt;Do password strength meters work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/password-spraying/"&gt;Password spraying&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/max-password-length/"&gt;How long a password should be allowed to be&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How to Design a Strong &amp; Usable Password Policy</title><link>https://www.janbrennenstuhl.eu/password-policy/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/password-policy/</guid><pubDate>Wed, 26 Apr 2023 00:00:00 +0200</pubDate><description>&lt;h2 id="importance-of-password-policy-best-practices"&gt;Importance of Password Policy Best Practices &lt;a class="heading-anchor" href="#importance-of-password-policy-best-practices" aria-label="Link to section: Importance of Password Policy Best Practices"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In today’s digital landscape, both password management and security are more important than ever before. With data breaches and cyberattacks on the rise, it’s crucial that organisations implement strong password policies to protect against credential stuffing, password spaying and related password attacks. However, designing a secure password policy that is both effective and user-friendly can be a challenging task. A password policy that is too complex or difficult to follow introduces friction that will lead to user frustration, while a policy that is too lax can put the organisation and its user accounts at risk.&lt;/p&gt;
&lt;p&gt;In this article, I’ll explore the key components of a strong password policy based on state-of-the-art research and provide practical tips for striking a balance between security and usability. Whether you’re a security professional looking to establish a company password policy and guidelines in your organisation, or a web developer who wants to create the ultimate user authentication experience without sacrificing security, this article is for you. So let’s dive in and discover how to design a password policy that’s user-friendly and effective.&lt;/p&gt;
&lt;h2 id="key-components-of-a-modern-password-policy"&gt;Key Components of a Modern Password Policy &lt;a class="heading-anchor" href="#key-components-of-a-modern-password-policy" aria-label="Link to section: Key Components of a Modern Password Policy"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Contrary to common believe and uncountable terribly bad examples of sites leveraging the &lt;a href="https://dumbpasswordrules.com" title="A compilation of sites with dumb password rules" class="ext"&gt;dumbest password composition policies&lt;/a&gt; in the open wild, security researchers are pretty clear on the key components of a password policy. These ingredients are essential to your password hygiene to be both effective in protecting against unauthorized access and usable for your users:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Minimum-strength&lt;/strong&gt; – First and foremost, your password policy should include minimum-strength requirements. This means that passwords must meet certain criteria in order to be considered strong enough to use.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Minimum-length&lt;/strong&gt; – The most important characteristic of a strong password is its length. A minimum password length should be long enough to provide a sufficient level of security. Every password policy should enforce strict minimum-length requirements while keeping usability in mind. Longer passwords are more secure passwords.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blocklist&lt;/strong&gt; – Lastly, a blocklist requirement should be included to prevent users from using easily guessable, weak passwords such as &lt;code&gt;password123&lt;/code&gt;, &lt;code&gt;12345678&lt;/code&gt; or other common passwords. A blocklist can also be used to prevent users from using passwords that showed up in data breaches, which will help to increase the overall security of your password policy even more.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By combining minimum-strength, minimum-length, and blocklist password requirements together, you can create a password policy that strikes the perfect balance between usability and security. Your users will be able to easily remember their passwords, while also feeling confident that their accounts are secure from unauthorized access. Secure passwords are difficult to guess, and hence much less susceptible to credential stuffing, dictionary attacks or brute force attacks.&lt;/p&gt;
&lt;p&gt;&lt;figure class="figure"&gt;&lt;picture&gt;&lt;source type="image/avif" srcset="https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_f4bd7403673c8365.avif 480w, https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_30a70947236573c0.avif 960w, https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_d26449d46fda1ece.avif 1440w, https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_61ba08444f3e5af9.avif 1536w" sizes="(min-width: 760px) 720px, calc(100vw - 2.5rem)"&gt;&lt;img src="https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_b23fb08c91768f32.webp" srcset="https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_e72150a6acc2133d.webp 480w, https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_1658fd059eeffc8e.webp 960w, https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_6d3de5ad5d6c139e.webp 1440w, https://www.janbrennenstuhl.eu/password-policy/dumb-password-rules_hu_b23fb08c91768f32.webp 1536w" sizes="(min-width: 760px) 720px, calc(100vw - 2.5rem)" width="1536" height="768" alt="Dumb Password Rules" loading="lazy" decoding="async"&gt;&lt;/picture&gt;&lt;figcaption&gt;A compilation of 292 sites with dumb password rules.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="why-arbitrary-password-policies-are-bad"&gt;Why Arbitrary Password Policies are Bad &lt;a class="heading-anchor" href="#why-arbitrary-password-policies-are-bad" aria-label="Link to section: Why Arbitrary Password Policies are Bad"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Arbitrary password complexity and composition policies are a common “feature” of many password policies, and they can actually do more harm than good. These complexity requirements often require users to create passwords that meet certain arbitrary requirements, such as including certain character classes like the number of uppercase letters, lowercase letters, numbers, and special characters. However, &lt;a href="https://dl.acm.org/doi/pdf/10.1145/3372297.3417882" title="Practical Recommendations for Stronger, More Usable
Passwords" class="ext"&gt;research has shown&lt;/a&gt; that these policies are no security silver bullet and can actually lead to weaker passwords and increased frustration for users:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Our experimental results provide the first concrete evidence that character-class requirements should be avoided not only because users tend to find them annoying, but also because they don’t provide substantial bene!t against attackers using state-of-the-art password-cracking tools.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="stop-password-complexity-requirements"&gt;Stop Password Complexity Requirements! &lt;a class="heading-anchor" href="#stop-password-complexity-requirements" aria-label="Link to section: Stop Password Complexity Requirements!"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To illustrate this point, consider the case of a large e-commerce organisation that implemented an arbitrary password composition policy requiring passwords to include at least one uppercase letter, one lowercase letter, one number, and one special character. After implementing this policy, they found that many users were using passwords like &lt;code&gt;P@ssword1&lt;/code&gt;, &lt;code&gt;Qwerty1!&lt;/code&gt;, and &lt;code&gt;W3lcome!&lt;/code&gt;. These passwords were easy to guess and provided little protection against attacks.&lt;/p&gt;
&lt;p&gt;Instead of relying on character classes and strict composition policies, it is better to focus on creating strong passwords that are easy for users to come up with and to remember. This core recommendation is also already standardised in the &lt;a href="https://pages.nist.gov/800-63-3/sp800-63b.html" title="NIST Digital Identity Guidelines on Authentication and Lifecycle Management" class="ext"&gt;NIST password guidelines&lt;/a&gt; within their digital identity guidelines and can be achieved by using techniques like passphrases. Passphrases typically result in longer phrases that are easy to remember but difficult for attackers to guess. By focusing on usability and secure password creation techniques, you can create a password policy that is both effective and user-friendly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sophisticated composition policies should only be leveraged when directly interacting with password managers&lt;/strong&gt; – I recently wrote about &lt;a href="https://www.janbrennenstuhl.eu/password-manager-friendly/" title="Improving password security: Become Password-Manager friendly!"&gt;How to make your login and sign-up processes password manager friendly!&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="best-practices-for-implementing-a-password-security-policy"&gt;Best Practices for Implementing a Password Security Policy &lt;a class="heading-anchor" href="#best-practices-for-implementing-a-password-security-policy" aria-label="Link to section: Best Practices for Implementing a Password Security Policy"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Now that you understand the key components of a strong and user-friendly password policy, as well as reason for why difficult passwords are not the holy grail, it&amp;rsquo;s important to consider implementation practises. How can you balance security with usability when implementing a password policy? In this section, I&amp;rsquo;ll discuss password strength best practices that will help you with implementing a state-of-the-art password policy that is backed by research. By following these guidelines, you can ensure that your users will create strong passwords without frustration due to arbitrary numbers and special characters enforcement.&lt;/p&gt;
&lt;h3 id="minimum-password-length"&gt;Minimum Password Length &lt;a class="heading-anchor" href="#minimum-password-length" aria-label="Link to section: Minimum Password Length"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;What is the optimal password length for maximum security? Well, as usual the answer depends on your threat model. For organisations protecting high-value accounts without a substantial negative usability impact appetite, research suggests that a well-defined password strength policy should include a composition rule of &lt;code&gt;1c12+NN10&lt;/code&gt;. This fancy formula transformed into plain-text English basically translates to &lt;em&gt;&amp;ldquo;a password including at least one character class (&lt;code&gt;1C&lt;/code&gt;) of at least 12 characters length (&lt;code&gt;12&lt;/code&gt;) and not guessable by a neural-network based password cracker in under 10 billion tries (&lt;code&gt;NN10&lt;/code&gt;)&amp;rdquo;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So from an academic perspective, 12 characters long passwords should be good enough for the majority of services if you can ensure that common crackers would need more than 10 billion tries to guess successfully the same password. However, eight characters seems to still be the more widespread minimum length requirement out there.&lt;/p&gt;
&lt;p&gt;How to calculate the guessability of a password will be covered in the next section when I&amp;rsquo;ll describe, how you can implement a low-budget password strength estimation.&lt;/p&gt;
&lt;h3 id="minimum-password-strength"&gt;Minimum Password Strength &lt;a class="heading-anchor" href="#minimum-password-strength" aria-label="Link to section: Minimum Password Strength"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;As you already learned, password policy best practices suggest to grant composition-freedom to the user and to rather focus on estimating how many guesses a neural-network based password cracker would need to find a match. Of course, not everyone of us always has a private neural-network at hand, but there are &lt;a href="https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_wheeler.pdf" title="Low-Budget Password Strength Estimation" class="ext"&gt;budget-friendly alternatives&lt;/a&gt;. The potentially most popular strength estimator inspired by password crackers is &lt;a href="https://github.com/dropbox/zxcvbn" title="Dropbox zxcvbn on Github" class="ext"&gt;zxcvbn by Dropbox&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Through pattern matching and conservative estimation, it recognizes and weighs 30k common passwords, common names and surnames according to US census data, popular English words from Wikipedia and US television and movies, and other common patterns like dates, repeats (aaa), sequences (abcd), keyboard patterns (qwertyuiop), and l33t speak.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Most importantly and among other useful characteristics, zxcvbn spits out rather accurate estimates on &lt;em&gt;&amp;ldquo;guesses needed to crack the password&amp;rdquo;&lt;/em&gt;. Libraries exist for pretty much every programming language and most of them can be extended with custom dictionaries and keyboard layouts.&lt;/p&gt;
&lt;h3 id="password-blocklists"&gt;Password Blocklists &lt;a class="heading-anchor" href="#password-blocklists" aria-label="Link to section: Password Blocklists"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;While common passwords definitely should be banned, other weak or stolen passwords also deserve your attention. Many regular users reuse default passwords across services, as these &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/" title="5 Alarming Password Reuse Studies"&gt;5 alarming password reuse studies show&lt;/a&gt;. Credential stuffing attacks using compromised credentials can be considered &lt;em&gt;&amp;ldquo;epidemic&amp;rdquo;&lt;/em&gt; and are currently one of the largest threats for user passwords and accounts.&lt;/p&gt;
&lt;p&gt;My recommendation is to perform server-side leaked password checks against a large set of leaked passwords like the &lt;a href="https://haveibeenpwned.com/Passwords" class="ext"&gt;Have I Been Pwned password list&lt;/a&gt;. As this list of breached passwords also includes all commonly used secrets and simple passwords, your password blocklist requirement should be fulfilled. Alternatively and likely with a little less friction for your users attached, you can deny compromised credential pairs (email+secret) by checking for example against the &lt;a href="https://www.politie.nl/onderwerpen/no-more-leaks.html" class="ext"&gt;No More Leaks data set&lt;/a&gt; provided by Dutch authorities. Here you would likely want to incorporate an additional common passwords blocklist, leveraging some fuzzy matching.&lt;/p&gt;
&lt;p&gt;Additionally, you definitely want to check for and deny passwords that match the corresponding username.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion &lt;a class="heading-anchor" href="#conclusion" aria-label="Link to section: Conclusion"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Striking a balance between friction and security for account security is possible – even without a sophisticated security awareness training. Moving intellectual workload away from the user and following password security approaches that truly result in measurable defense improvement while offering frictionless experiences to regular users, is the quintessence of the password policy best practices I shared in this article.&lt;/p&gt;
&lt;p&gt;As security always depends on your local security risks assessment and threat model while acceptable usability trade-offs pretty much depend on your audience, consider the following quick recap list of &lt;em&gt;&amp;ldquo;dos and don&amp;rsquo;ts&amp;rdquo;&lt;/em&gt; as general guidance, not as hard requirements:&lt;/p&gt;
&lt;h3 id="10-dos--donts-for-an-effective-password-strength-policy"&gt;10 Dos &amp;amp; Donts For An Effective Password Strength Policy &lt;a class="heading-anchor" href="#10-dos--donts-for-an-effective-password-strength-policy" aria-label="Link to section: 10 Dos &amp;amp; Donts For An Effective Password Strength Policy"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Do apply a minimal length requirement of at least 12 characters.&lt;/li&gt;
&lt;li&gt;Do apply a minimal strength requirement based on guessability indicators.&lt;/li&gt;
&lt;li&gt;Do apply active blocklisting either based on breached data or using fuzzy matching common passwords.&lt;/li&gt;
&lt;li&gt;Do prevent users from using credentials pairs were username equals secret.&lt;/li&gt;
&lt;li&gt;Do allow unicode characters. Character set, character types and classes should be up to the users.&lt;/li&gt;
&lt;li&gt;Do consider disallowing the use of known to be compromised credential pairs.&lt;/li&gt;
&lt;li&gt;Do become password manager friendly. Encouraging users to leverage secret generators is very valuable.&lt;/li&gt;
&lt;li&gt;Do provide multi factor authentication means.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t enforce a maximum length requirement, there is better ways to handle DoS.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t apply composition rules and avoid enforcing specific character classes.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t check for minimum password age or enforce users to regularly change passwords.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As usual, feel free to &lt;a href="https://infosec.exchange/@jbspeakr" class="ext"&gt;drop me message on Mastodon&lt;/a&gt; if you have any suggestions, feedback or comments!&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="frequently-asked-questions-faq"&gt;Frequently Asked Questions (FAQ) &lt;a class="heading-anchor" href="#frequently-asked-questions-faq" aria-label="Link to section: Frequently Asked Questions (FAQ)"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="do-password-meters-discourage-users-from-using-complex-passwords"&gt;Do password meters discourage users from using complex passwords? &lt;a class="heading-anchor" href="#do-password-meters-discourage-users-from-using-complex-passwords" aria-label="Link to section: Do password meters discourage users from using complex passwords?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Password meters are visual strength indicators that can help users create strong passwords by providing feedback on the strength of their previous password choices. However, some users may feel discouraged by these meters, especially if they perceive them as too strict or limiting. In some cases, this can lead to users choosing simpler and less secure passwords in order to avoid the frustration of dealing with a password meter.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/chi13b.pdf" class="ext"&gt;Research suggests&lt;/a&gt;, that these meters only make a difference &lt;em&gt;&amp;ldquo;when users are forced to change existing passwords&amp;rdquo;&lt;/em&gt;. Pure visual indicators seem to have no significant effect.&lt;/p&gt;
&lt;h3 id="should-password-meters-take-into-account-the-likelihood-of-a-password-being-guessed-by-an-attacker"&gt;Should password meters take into account the likelihood of a password being guessed by an attacker? &lt;a class="heading-anchor" href="#should-password-meters-take-into-account-the-likelihood-of-a-password-being-guessed-by-an-attacker" aria-label="Link to section: Should password meters take into account the likelihood of a password being guessed by an attacker?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Yes, your password strength policy should definitely take into consideration how easy it is for malicious actors to guess passwords. How guessable a password is can get directly linked to it overall strength. The actual character composition should not be restricted.&lt;/p&gt;
&lt;h3 id="should-i-use-a-blacklist-of-commonly-used-passwords-to-prevent-users-from-using-weak-passwords"&gt;Should I use a blacklist of commonly used passwords to prevent users from using weak passwords? &lt;a class="heading-anchor" href="#should-i-use-a-blacklist-of-commonly-used-passwords-to-prevent-users-from-using-weak-passwords" aria-label="Link to section: Should I use a blacklist of commonly used passwords to prevent users from using weak passwords?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Yes, using a blacklist is a good practice to prevent users from using commonly used, formerly breached and reused passwords and hence easy to guess passwords. It is important to note that relying solely on a blacklist is not enough to create a strong password policy. Other best practices such as setting a password length requirement, and implementing multi-factor authentication should also be considered. By using a combination of these measures, you can ensure that your users are creating strong and secure passwords.&lt;/p&gt;
&lt;h3 id="should-i-use-a-password-manager-to-create-and-store-strong-passwords"&gt;Should I use a password manager to create and store strong passwords? &lt;a class="heading-anchor" href="#should-i-use-a-password-manager-to-create-and-store-strong-passwords" aria-label="Link to section: Should I use a password manager to create and store strong passwords?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Yes, and you should educate your users about the benefits of password management tooling. Creating passwords using a password management tool is a highly recommended practice to ensure better security of your online accounts. A password management system can generate long, complex, and unique passwords for each account, reducing the risk of guessing or cracking. Additionally, they can securely store your passwords and automatically fill them in when you visit a website or app, making it easier for you to use a unique and complex password without the need to remember them.&lt;/p&gt;
&lt;h3 id="is-it-safe-to-use-the-same-password-for-multiple-accounts"&gt;Is it safe to use the same password for multiple accounts? &lt;a class="heading-anchor" href="#is-it-safe-to-use-the-same-password-for-multiple-accounts" aria-label="Link to section: Is it safe to use the same password for multiple accounts?"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In short, no, it is not safe to reuse passwords (and especially credential pairs) across various services. Doing so can lead to disastrous consequences, as it drastically increases your personal account security risk. A security breach on one service can compromise all of your accounts with same passwords. For example, if you use the same password for your email, social media, and e-commerce accounts, a successful data exfiltration on a social media platform will allow malicious actors to also gain access to your other accounts.&lt;/p&gt;</description></item><item><title>How to: Password-Manager Friendly Login Forms</title><link>https://www.janbrennenstuhl.eu/password-manager-friendly/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/password-manager-friendly/</guid><pubDate>Sun, 23 Apr 2023 00:00:00 +0200</pubDate><description>&lt;p&gt;Do you ever get tired of manually typing in your login credentials every time you need to access an online account? Luckily, there is a solution: password managers. These handy tools can automatically generate and store strong passwords, but they&amp;rsquo;re only truly useful if login forms are password-manager friendly. In this article, I explore how you can make your login forms more compatible with password managers to improve the user experience and enhance security. So, let&amp;rsquo;s dive in and unlock the key to effortless login!&lt;/p&gt;
&lt;h2 id="what-is-a-password-manager"&gt;What is a password manager? &lt;a class="heading-anchor" href="#what-is-a-password-manager" aria-label="Link to section: What is a password manager?"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A password manager (PWM) is powerful a software application designed to help users store and manage their login credentials and other sensitive information securely. It typically works by generating strong, unique passwords for each of the user&amp;rsquo;s online accounts and storing them in an encrypted database. The user only needs to remember a single master password or use other authentication methods such as biometrics to access the PWM, and it can automatically fill in the login details for the user when they visit your website or application. This can help users avoid the pitfalls of weak, reused, or easily guessed passwords, and enhance the overall security of their digital identities.&lt;/p&gt;
&lt;p&gt;If you want my recommendation for one of the best password managers, I&amp;rsquo;ve always used &lt;a href="https://1password.com" class="ext"&gt;1Password&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="understanding-the-limitations-of-traditional-login-forms"&gt;Understanding the limitations of traditional login forms &lt;a class="heading-anchor" href="#understanding-the-limitations-of-traditional-login-forms" aria-label="Link to section: Understanding the limitations of traditional login forms"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The internet seems to be full of sites that do things that are very unfriendly to users of a PWM. Common mistakes include disabling copy-pasting (or autofill) features or enforcing &lt;a href="https://dumbpasswordrules.com/sites/" class="ext"&gt;dumb password composition policies&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Just imagine you&amp;rsquo;re in a hurry to purchase that limited pair of sneakers online and need to create an account to complete the transaction. You type in your email address and password, only to realize that the site&amp;rsquo;s password requirements are arbitrarily strict and your usual password composition strategy doesn&amp;rsquo;t meet them. Frustrated, you spend precious minutes creating a new password that you know you&amp;rsquo;ll probably forget later.&lt;/p&gt;
&lt;p&gt;With modern password manager support, your login form could have easily supported a users PWM with generating a strong, unique, suitable password in seconds and saved it for future use. As identity providers and login form maintainers we must make using a password manager on our sites as easy as possible!&lt;/p&gt;
&lt;h2 id="best-practices-for-designing-password-manager-friendly-login-forms"&gt;Best practices for designing password-manager friendly login forms &lt;a class="heading-anchor" href="#best-practices-for-designing-password-manager-friendly-login-forms" aria-label="Link to section: Best practices for designing password-manager friendly login forms"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Form element improvements&lt;/strong&gt; – To improve the ease of use of password managers on your site make sure that you help browsers and tooling to autofill the password for the correct input field. Although some browsers can find the correct input heuristically even if the login form is not optimized for this purpose, web developers should correctly annotate HTML &lt;code&gt;input&lt;/code&gt; elements using the &lt;code&gt;autocomplete&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;For example, the account creation form should indicate that it&amp;rsquo;s expecting a new password and that the password generator should create a new password for this input:&lt;/p&gt;
&lt;figure class="code" data-lang="html"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" aria-label="Code (html)" class="chroma"&gt;&lt;code data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;password&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;autocomplete&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;new-password&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;new-password&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;In context of user authentication, the login form should explicitly indicate that it&amp;rsquo;s expecting the email address and the current password for the user:&lt;/p&gt;
&lt;figure class="code" data-lang="html"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" aria-label="Code (html)" class="chroma"&gt;&lt;code data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;email&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;autocomplete&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;email&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;email&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;password&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;autocomplete&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;current-password&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;current-password&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;Strong password policies&lt;/strong&gt; – Balancing effortless login with improved password security means that arbitrary password composition policies are rightfully considered counter-productive and even harmful nowadays. Researchers and security experts suggest that the single most important characteristic of a password is its length.&lt;/p&gt;
&lt;p&gt;Password length requirements can directly be added to the password &lt;code&gt;input&lt;/code&gt; element using the &lt;code&gt;pattern&lt;/code&gt; attribute:&lt;/p&gt;
&lt;figure class="code" data-lang="html"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" aria-label="Code (html)" class="chroma"&gt;&lt;code data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;password&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;pattern&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;.{12,70}&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;autocomplete&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;new-password&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;new-password&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;This length requirement pattern will tell password managers to generate and autofill a new random password of at least 12 characters. While for many manually typing users without an automated password generator this is still achievable, it means to somewhat mis out on the great capabilities of password managers.&lt;/p&gt;
&lt;p&gt;Luckily there is a way to have your login form tell 1Password, or other tools generating passwords for you, to apply &lt;a href="https://www.janbrennenstuhl.eu/password-policy/" title="How to create a strong password policy"&gt;a way more elaborate password policy&lt;/a&gt; using the &lt;code&gt;passwordrules&lt;/code&gt; attribute on the &lt;code&gt;input&lt;/code&gt;:&lt;/p&gt;
&lt;figure class="code" data-lang="html"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" aria-label="Code (html)" class="chroma"&gt;&lt;code data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;password&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;passwordrules&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;minlength: 52; maxlength: 70; required: lower; required: upper; required: digit; required: [-];&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;Password managers like 1Password, will now auto-generate a complex password of at least 52 character length and including a good mixture of character classes.&lt;/p&gt;
&lt;p&gt;Although the &lt;code&gt;passwordrules&lt;/code&gt; attribute &lt;a href="https://github.com/whatwg/html/issues/3518" class="ext"&gt;is still a proposal&lt;/a&gt;, 1Password recommends to &lt;a href="https://developer.1password.com/docs/web/compatible-website-design/#provide-password-requirements" class="ext"&gt;provide these password requirements&lt;/a&gt;.&lt;/p&gt;
&lt;details class="details" open&gt;&lt;summary&gt;&lt;strong&gt;A Well-Known URL for Changing Passwords&lt;/strong&gt;&lt;/summary&gt;&lt;p&gt;Password managers can warn users about &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/" title="How to check for compromised credentials?!"&gt;breached credentials&lt;/a&gt;, but the lack of account security industry standards results in a lot of friction when asking users to change password. The &lt;a href="https://w3c.github.io/webappsec-change-password-url/" class="ext"&gt;change password URL standard by W3C&lt;/a&gt; solves that problem by defining a well-known URL that sites and service provider can use to make their change password forms discoverable by automated tools: &lt;code&gt;/.well-known/change-password&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If you use the 1Password browser extension like I am, that leads to a really nice experience. Your users will be happy!&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id="improving-accessibility-with-password-manager-friendly-login-forms"&gt;Improving accessibility with password-manager friendly login forms &lt;a class="heading-anchor" href="#improving-accessibility-with-password-manager-friendly-login-forms" aria-label="Link to section: Improving accessibility with password-manager friendly login forms"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Applying modern password security best practices on your sites and making your account creation and authentication forms more password manager friendly is possible and will result in effortless login experiences for your users. Automated login and form-filling features will have huge time-saving benefits for users with password managers.&lt;/p&gt;
&lt;p&gt;Actively supporting PWMs in authentication processes will resolve your users from friction by leveraging more automation. Users will gladly benefit from simplified password management across multiple accounts and platforms.&lt;/p&gt;
&lt;h2 id="increasing-security-with-password-manager-friendly-login-forms"&gt;Increasing security with password-manager friendly login forms &lt;a class="heading-anchor" href="#increasing-security-with-password-manager-friendly-login-forms" aria-label="Link to section: Increasing security with password-manager friendly login forms"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Becoming password-manager friendly will directly result in more super strong passwords being used by your customers. Moving the responsibility of generating strong, complex passwords from the users to their password managers enables identity providers and account security experts to truly leverage the advantages of complex password composition policies and length requirements.&lt;/p&gt;
&lt;p&gt;Helping password managers to better help your users means increasing protection against common threats not only for your users but also for your service or site. Improved overall security is a direct consequence.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion &lt;a class="heading-anchor" href="#conclusion" aria-label="Link to section: Conclusion"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;While we wait for the emerging technologies and techniques like &lt;a href="https://www.janbrennenstuhl.eu/passwordless-authentication/" title="Passwordless Authentication – The Future of Login"&gt;passwordless authentication&lt;/a&gt; and &lt;a href="https://www.janbrennenstuhl.eu/fido-passkeys/" title="Critical Notes on Passkeys"&gt;FIDO Passkeys&lt;/a&gt; to become commodities and eventually resolve us from simple password schemes, we can and should make passwords easier to use. Getting rid of outdated and frustration-prone password policies while investing on making login forms more password manager friendly is a must for identity providers and web developers maintaining authentication experiences.&lt;/p&gt;
&lt;p&gt;With modern form element improvements like &lt;code&gt;autocomplete&lt;/code&gt;, &lt;code&gt;pattern&lt;/code&gt; and &lt;code&gt;passwordrules&lt;/code&gt; attributes, your sign-in process will become best friends with many password managers out in the wild!&lt;/p&gt;
&lt;p&gt;Feel free to &lt;a href="https://infosec.exchange/@jbspeakr" class="ext"&gt;drop me message on Mastodon&lt;/a&gt; if you have any suggestions or comments!&lt;/p&gt;</description></item><item><title>How do you protect accounts from stolen credentials?</title><link>https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/</link><guid isPermaLink="true">https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/</guid><pubDate>Fri, 21 Apr 2023 00:00:00 +0200</pubDate><description>&lt;p&gt;&lt;em&gt;Latest change (2026-10-13): Rewritten as a field-guide entry: question title, short answer, key findings and evidence table. Study summaries kept. Replaced the broken link to the password breach alerting paper with the USENIX copy.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; Check usernames and passwords against breach data with a privacy-preserving protocol, and add risk signals such as known devices and locations to the login decision. Breached credentials show up in about 1.5% of logins on the web, and in one study 7-25% of exposed passwords matched the victim&amp;rsquo;s Google account.&lt;/p&gt;&lt;h2 id="key-findings"&gt;Key findings &lt;a class="heading-anchor" href="#key-findings" aria-label="Link to section: Key findings"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;figure class="finding" id="f-cred-breached-logins-1-5pct"&gt;
&lt;blockquote&gt;&lt;p&gt;Telemetry from nearly 670,000 users and 21 million logins showed that 1.5% of logins on the web involve breached credentials.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.usenix.org/system/files/sec19-thomas.pdf" class="ext"&gt;&lt;cite&gt;Thomas et al., Protecting accounts from credential stuffing with password breach alerting (USENIX Security 2019)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-cred-breached-logins-1-5pct" title="#f-cred-breached-logins-1-5pct"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Telemetry from nearly 670,000 users and 21 million logins showed that 1.5% of logins on the web involve breached credentials." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/#f-cred-breached-logins-1-5pct" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/f-cred-breached-logins-1-5pct.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-cred-alert-26pct-new-password"&gt;
&lt;blockquote&gt;&lt;p&gt;26% of breach warnings shown at login led users to switch to a new password at least as strong as the original.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://www.usenix.org/system/files/sec19-thomas.pdf" class="ext"&gt;&lt;cite&gt;Thomas et al., Protecting accounts from credential stuffing with password breach alerting (USENIX Security 2019)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-cred-alert-26pct-new-password" title="#f-cred-alert-26pct-new-password"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="26% of breach warnings shown at login led users to switch to a new password at least as strong as the original." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/#f-cred-alert-26pct-new-password" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/f-cred-alert-26pct-new-password.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-cred-google-match-7-25pct"&gt;
&lt;blockquote&gt;&lt;p&gt;Between 7% and 25% of passwords exposed through breaches, phishing kits and keyloggers matched the victim&amp;rsquo;s Google account.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://dl.acm.org/doi/pdf/10.1145/3133956.3134067" class="ext"&gt;&lt;cite&gt;Thomas et al., Data Breaches, Phishing, or Malware? (CCS 2017)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-cred-google-match-7-25pct" title="#f-cred-google-match-7-25pct"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="Between 7% and 25% of passwords exposed through breaches, phishing kits and keyloggers matched the victim&amp;rsquo;s Google account." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/#f-cred-google-match-7-25pct" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/f-cred-google-match-7-25pct.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="finding" id="f-cred-hash-prefix-12x"&gt;
&lt;blockquote&gt;&lt;p&gt;In some contexts, the hash prefixes that common breach-checking services receive make remote guessing attacks 12 times more effective.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;span class="finding-source"&gt;Source: &lt;a href="https://rist.tech.cornell.edu/papers/c3.pdf" class="ext"&gt;&lt;cite&gt;Li et al., Protocols for Checking Compromised Credentials (CCS 2019)&lt;/cite&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="finding-tools"&gt;&lt;a class="finding-id" href="#f-cred-hash-prefix-12x" title="#f-cred-hash-prefix-12x"&gt;Link&lt;span class="sr-only"&gt; to this finding&lt;/span&gt;&lt;/a&gt;&lt;button type="button" class="text-button" data-quote="In some contexts, the hash prefixes that common breach-checking services receive make remote guessing attacks 12 times more effective." data-quote-url="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/#f-cred-hash-prefix-12x" hidden&gt;Copy quote&lt;/button&gt;&lt;a class="finding-card" href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/credential-stuffing/f-cred-hash-prefix-12x.png" download&gt;Save as image&lt;span class="sr-only"&gt; (PNG, 1200 by 630 pixels)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="evidence"&gt;Evidence &lt;a class="heading-anchor" href="#evidence" aria-label="Link to section: Evidence"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="table-scroll studies" tabindex="0" role="region" aria-label="Compromised credential studies"&gt;&lt;table&gt;
&lt;caption&gt;Compromised credential studies&lt;/caption&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th scope="col"&gt;Study&lt;/th&gt;&lt;th scope="col"&gt;Year&lt;/th&gt;&lt;th scope="col"&gt;Sample&lt;/th&gt;&lt;th scope="col"&gt;Method&lt;/th&gt;&lt;th scope="col"&gt;Finding&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://rist.tech.cornell.edu/papers/c3.pdf" class="ext"&gt;Protocols for Checking Compromised Credentials&lt;/a&gt;&lt;span class="org"&gt;Cornell Tech, Cloudflare&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2019&lt;/td&gt;&lt;td&gt;Existing C3 services (HaveIBeenPwned, Google Password Checkup)&lt;/td&gt;&lt;td&gt;Formal analysis, leakage simulation, protocol design&lt;/td&gt;&lt;td&gt;Hash-prefix leakage can make guessing 12 times more effective; 2 stronger protocols remain practical.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://www.usenix.org/system/files/sec19-thomas.pdf" class="ext"&gt;Protecting accounts from credential stuffing with password breach alerting&lt;/a&gt;&lt;span class="org"&gt;Google, Stanford&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2019&lt;/td&gt;&lt;td&gt;Over 4 billion breached credentials; nearly 670,000 users and 21 million logins&lt;/td&gt;&lt;td&gt;Protocol design, Chrome extension telemetry&lt;/td&gt;&lt;td&gt;1.5% of logins involve breached credentials; 26% of warnings led to a new password.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th scope="row"&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3133956.3134067" class="ext"&gt;Data Breaches, Phishing, or Malware? Understanding the Risks of Stolen Credentials&lt;/a&gt;&lt;span class="org"&gt;Google, UC Berkeley, ICSI&lt;/span&gt;&lt;/th&gt;&lt;td&gt;2017&lt;/td&gt;&lt;td&gt;1.9 billion breached credentials, 12.4 million phishing and 788,000 keylogger victims&lt;/td&gt;&lt;td&gt;Longitudinal measurement, March 2016 to March 2017&lt;/td&gt;&lt;td&gt;7-25% of exposed passwords matched the victim&amp;rsquo;s Google account.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h2 id="what-to-do"&gt;What to do &lt;a class="heading-anchor" href="#what-to-do" aria-label="Link to section: What to do"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="for-engineers"&gt;For engineers &lt;a class="heading-anchor" href="#for-engineers" aria-label="Link to section: For engineers"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Check credentials against breach data at sign-up, password change and login. Use a protocol that never sends the password or its full hash to the checking service. Thomas et al. combine &amp;ldquo;computationally expensive hashing, k-anonymity, and private set intersection&amp;rdquo;; Li et al. show how much a plain hash prefix can leak.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t decide a login on the password alone. Thomas et al. (2017) show that risk signals such as a user&amp;rsquo;s historical geolocations and device profiles reduce the hijacking risk from stolen passwords. The &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/reinforced-authentication/"&gt;reinforced authentication entry&lt;/a&gt; collects studies on login risk scoring.&lt;/li&gt;
&lt;li&gt;Watch for stuffing and spraying patterns across accounts, not only per account. See &lt;a href="https://www.janbrennenstuhl.eu/password-spraying/"&gt;password spraying&lt;/a&gt; and &lt;a href="https://www.janbrennenstuhl.eu/honeytoken/"&gt;honeytokens&lt;/a&gt; for detection ideas.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="for-product-and-ux"&gt;For product and UX &lt;a class="heading-anchor" href="#for-product-and-ux" aria-label="Link to section: For product and UX"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Tell users when their credentials appear in a breach, and make the next step a single action. In the Google study, 26% of warnings led to a new password that was at least as strong.&lt;/li&gt;
&lt;li&gt;Expect most users not to act on a warning alone. The &lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/"&gt;password reuse entry&lt;/a&gt; covers what makes a notification work and where notifications fall short.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-studies-in-detail"&gt;The studies in detail &lt;a class="heading-anchor" href="#the-studies-in-detail" aria-label="Link to section: The studies in detail"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="protocols-for-checking-compromised-credentials"&gt;Protocols for Checking Compromised Credentials &lt;a class="heading-anchor" href="#protocols-for-checking-compromised-credentials" aria-label="Link to section: Protocols for Checking Compromised Credentials"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&amp;ldquo;To prevent credential stuffing attacks, industry best practice now proactively checks if user credentials are present in known data breaches.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;For this paper, researchers from Cornell Tech and Cloudflare analyzed existing compromised credential checking (C3) services such as HaveIBeenPwned and Google Password Checkup. They give the first formal description of C3 services, including operational requirements and threat models. Current services have the client share a short prefix of a password hash. The authors show that in some contexts this prefix makes remote guessing 12 times more effective. They then propose &amp;ldquo;two new protocols that provide stronger protection for users&amp;rsquo; passwords&amp;rdquo;, implement them, and show that they remain practical to deploy.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://rist.tech.cornell.edu/papers/c3.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="protecting-accounts-from-credential-stuffing-with-password-breach-alerting"&gt;Protecting accounts from credential stuffing with password breach alerting &lt;a class="heading-anchor" href="#protecting-accounts-from-credential-stuffing-with-password-breach-alerting" aria-label="Link to section: Protecting accounts from credential stuffing with password breach alerting"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Researchers from Google and Stanford describe how Google&amp;rsquo;s password breach alerting works, which constraints and hard requirements it meets, and which cryptographic protocols it uses. Their cloud service covered over 4 billion breached credentials, and a Chrome extension served as the first client.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Our protocol relies on a combination of computationally expensive hashing, k-anonymity, and private set intersection. Our approach improves on existing protocols by taking into account both an adversarial client and server, while also minimizing the chance of false positives.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Anonymous telemetry from nearly 670,000 users and 21 million logins showed that 1.5% of logins on the web involved breached credentials. 26% of the warnings led users to migrate to a new password at least as strong as the original.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.usenix.org/system/files/sec19-thomas.pdf" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="data-breaches-phishing-or-malware-understanding-the-risks-of-stolen-credentials"&gt;Data Breaches, Phishing, or Malware? Understanding the Risks of Stolen Credentials &lt;a class="heading-anchor" href="#data-breaches-phishing-or-malware-understanding-the-risks-of-stolen-credentials" aria-label="Link to section: Data Breaches, Phishing, or Malware? Understanding the Risks of Stolen Credentials"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Between March 2016 and March 2017, researchers from Google, UC Berkeley and the International Computer Science Institute identified 788,000 potential keylogger victims, 12.4 million potential phishing kit victims and 1.9 billion usernames and passwords exposed in data breaches. With this data, they &amp;ldquo;explore to what degree the stolen passwords […] enable an attacker to obtain a victim&amp;rsquo;s valid email credentials — and thus complete control of their online identity due to transitive trust&amp;rdquo;. In their case study of Google accounts, 7-25% of exposed passwords matched the victim&amp;rsquo;s Google account.&lt;/p&gt;
&lt;p&gt;The study is from 2017, but its mitigation still applies today: the authors show that adding risk signals, such as a user&amp;rsquo;s historical geolocations and device profiles, to authentication helps mitigate hijacking with a correct but stolen password.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/3133956.3134067" class="ext"&gt;Read the paper (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="related"&gt;Related &lt;a class="heading-anchor" href="#related" aria-label="Link to section: Related"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/password-reuse/"&gt;How common is password reuse?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/knowledge-base/account-security/reinforced-authentication/"&gt;Do login challenges and risk scoring stop account takeover?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.janbrennenstuhl.eu/step-up-authentication/"&gt;Step-up authentication&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>