<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: passwords</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/passwords.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2024-11-21T06:00:04+00:00</updated><author><name>Simon Willison</name></author><entry><title>How some of the world's most brilliant computer scientists got password policies so wrong</title><link href="https://simonwillison.net/2024/Nov/21/password-policies/#atom-tag" rel="alternate"/><published>2024-11-21T06:00:04+00:00</published><updated>2024-11-21T06:00:04+00:00</updated><id>https://simonwillison.net/2024/Nov/21/password-policies/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://stuartschechter.org/posts/password-history/"&gt;How some of the world&amp;#x27;s most brilliant computer scientists got password policies so wrong&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Stuart Schechter blames Robert Morris and Ken Thompson for the dire state of passwords today:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The story of why password rules were recommended and enforced without scientific evidence since their invention in 1979 is a story of brilliant people, at the very top of their field, whose well-intentioned recommendations led to decades of ignorance.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As Stuart describes it, their first mistake was inventing password policies (the ones about having at least one special character in a password) without testing that these would genuinely help the average user create a more secure password. Their second mistake was introducing one-way password hashing, which made the terrible password choices of users invisible to administrators of these systems!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As a result of Morris and Thompson’s recommendations, and those who believed their assumptions without evidence, it was not until well into the 21st century that the scientific community learned just how ineffective password policies were. This period of ignorance finally came to an end, in part, because hackers started stealing password databases from large websites and publishing them.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Stuart suggests using public-private key cryptography for passwords instead, which would allow passwords to be securely stored while still allowing researchers holding the private key the ability to analyze the passwords. He notes that this is a tough proposal to pitch today:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Alas, to my knowledge, nobody has ever used this approach, because after Morris and Thompson’s paper storing passwords in any form that can be reversed became taboo.&lt;/p&gt;
&lt;/blockquote&gt;

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://www.schneier.com/blog/archives/2024/11/good-essay-on-the-history-of-bad-password-policies.html"&gt;Bruce Schneier&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/></entry><entry><title>Quoting John Gruber</title><link href="https://simonwillison.net/2024/Oct/20/john-gruber/#atom-tag" rel="alternate"/><published>2024-10-20T22:17:54+00:00</published><updated>2024-10-20T22:17:54+00:00</updated><id>https://simonwillison.net/2024/Oct/20/john-gruber/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://daringfireball.net/linked/2024/10/17/dhh-argues-against-passkeys"&gt;&lt;p&gt;I really dislike the practice of replacing passwords with email “magic links”. Autofilling a password from my keychain happens instantly; getting a magic link from email can take minutes sometimes, and even in the fastest case, it’s nowhere near instantaneous. Replacing something very fast — password autofill — with something slower is just a terrible idea.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://daringfireball.net/linked/2024/10/17/dhh-argues-against-passkeys"&gt;John Gruber&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/john-gruber"&gt;john-gruber&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/><category term="john-gruber"/></entry><entry><title>Quoting Adam Newbold</title><link href="https://simonwillison.net/2024/Aug/15/adam-newbold/#atom-tag" rel="alternate"/><published>2024-08-15T00:25:54+00:00</published><updated>2024-08-15T00:25:54+00:00</updated><id>https://simonwillison.net/2024/Aug/15/adam-newbold/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://notes.neatnik.net/2024/08/passkeys-are-not-passwords"&gt;&lt;p&gt;[Passkeys are] something truly unique, because baked into their design is the requirement that they be &lt;em&gt;unphishable&lt;/em&gt;. And the only way you can have something that’s completely resistant to phishing is to make it impossible for a person to provide that data to someone else (via copying and pasting, uploading, etc.). That you can’t export a passkey in a way that another tool or system can import and use it is a feature, not a bug or design flaw. And it’s a &lt;em&gt;critical&lt;/em&gt; feature, if we’re going to put an end to security threats associated with phishing and data breaches.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://notes.neatnik.net/2024/08/passkeys-are-not-passwords"&gt;Adam Newbold&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passkeys"&gt;passkeys&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/><category term="passkeys"/><category term="phishing"/></entry><entry><title>How researchers cracked an 11-year-old password to a crypto wallet</title><link href="https://simonwillison.net/2024/Jun/17/how-researchers-cracked-an-11-year-old-password-to-a-crypto-wall/#atom-tag" rel="alternate"/><published>2024-06-17T17:04:54+00:00</published><updated>2024-06-17T17:04:54+00:00</updated><id>https://simonwillison.net/2024/Jun/17/how-researchers-cracked-an-11-year-old-password-to-a-crypto-wall/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.wired.com/story/roboform-password-3-million-dollar-crypto-wallet/"&gt;How researchers cracked an 11-year-old password to a crypto wallet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
If you used the RoboForm password manager to generate a password prior to their 2015 bug fix that password was generated using a pseudo-random number generator based on your device’s current time—which means an attacker may be able to brute-force the password from a shorter list of options if they can derive the rough date when it was created.&lt;/p&gt;

&lt;p&gt;(In this case the password cracking was consensual, to recover a lost wallet, but this still serves as a warning to any RoboForm users with passwords from that era.)


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/></entry><entry><title>Quoting Memo: Moving the U.S. Government Toward Zero Trust Cybersecurity Principles</title><link href="https://simonwillison.net/2022/Jan/27/zero-trust/#atom-tag" rel="alternate"/><published>2022-01-27T19:18:04+00:00</published><updated>2022-01-27T19:18:04+00:00</updated><id>https://simonwillison.net/2022/Jan/27/zero-trust/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.bastionzero.com/blog/i-read-the-federal-governments-zero-trust-memo-so-you-dont-have-to"&gt;&lt;p&gt;Consistent with the practices outlined in SP 800-63B, agencies must remove password policies that require special characters and regular password rotation from all systems within one year of the issuance of this memorandum. These requirements have long been known to lead to weaker passwords in real-world use and should not be employed by the Federal Government.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.bastionzero.com/blog/i-read-the-federal-governments-zero-trust-memo-so-you-dont-have-to"&gt;Memo: Moving the U.S. Government Toward Zero Trust Cybersecurity Principles&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/government"&gt;government&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="government"/><category term="passwords"/><category term="security"/></entry><entry><title>Weeknotes: datasette-auth-passwords, a Datasette logo and a whole lot more</title><link href="https://simonwillison.net/2020/Jul/17/weeknotes-datasette-logo/#atom-tag" rel="alternate"/><published>2020-07-17T03:41:13+00:00</published><updated>2020-07-17T03:41:13+00:00</updated><id>https://simonwillison.net/2020/Jul/17/weeknotes-datasette-logo/#atom-tag</id><summary type="html">
    &lt;p&gt;All sorts of project updates this week.&lt;/p&gt;

&lt;h4&gt;datasette-auth-passwords&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://simonwillison.net/2020/Jun/12/annotated-release-notes/"&gt;Datasette 0.44&lt;/a&gt; added authentication support as a core concept, but left the actual implementation details up to the plugins.&lt;/p&gt;

&lt;p&gt;I released &lt;a href="https://github.com/simonw/datasette-auth-passwords"&gt;datasette-auth-passwords&lt;/a&gt; on Monday. It's an implementation of the most obvious form of authentication (as opposed to &lt;a href="https://github.com/simonw/datasette-auth-github"&gt;GitHub SSO&lt;/a&gt; or &lt;a href="https://github.com/simonw/datasette-auth-tokens"&gt;bearer tokens&lt;/a&gt; or &lt;a href="https://github.com/simonw/datasette-auth-existing-cookies"&gt;existing domain cookies&lt;/a&gt;): usernames and passwords, typed into a form.&lt;/p&gt;

&lt;p&gt;Implementing passwords responsibly is actually pretty tricky, due to the need to effectively hash them. After &lt;a href="https://github.com/simonw/datasette-auth-passwords/issues/1"&gt;some research&lt;/a&gt; I ended up mostly copying how Django does it (never a bad approach): I'm using 260,000 salted pbkdf2_hmac iterations, taking advantage of the Python standard library. I wrote this up &lt;a href="https://github.com/simonw/til/blob/master/python/password-hashing-with-pbkdf2.md"&gt;in a TIL&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The plugin currently only supports hard-coded password hashes that are fed to Datasette via an environment variable - enough to set up a password-protected Datasette instance with a couple of users, but not really good for anything more complex than that. I have an &lt;a href="https://github.com/simonw/datasette-auth-passwords/issues/6"&gt;open issue&lt;/a&gt; for implementing database-backed password accounts, although again the big challenge is figuring out how to responsible store those password hashes.&lt;/p&gt;

&lt;p&gt;I've set up a live demo of the password plugin at &lt;a href="https://datasette-auth-passwords-demo.datasette.io/"&gt;datasette-auth-passwords-demo.datasette.io&lt;/a&gt; - you can sign into it to reveal a private database that's only available to authenticated users.&lt;/p&gt;

&lt;h4&gt;Datasette website and logo&lt;/h4&gt;

&lt;p&gt;I'm finally making good progress on a website for Datasette. As part of that I've been learning to use &lt;a href="https://www.figma.com/"&gt;Figma&lt;/a&gt;, which I used to create a Datasette logo.&lt;/p&gt;

&lt;p&gt;&lt;img alt="Datasette" src="https://static.simonwillison.net/static/2020/datasette-logo.svg" style="max-width: 100%; margin: 1.5em 0" /&gt;&lt;/p&gt;

&lt;p&gt;Figma is really neat: it's an entirely web-based vector image editor, aimed at supporting the kind of design work that goes into websites and apps. It has full collaborative editing for teams but it's free for single users. Most importantly it has &lt;a href="https://www.figma.com/blog/with-figmas-new-svg-exports-less-more/"&gt;extremely competent SVG exports&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I've added the logo to &lt;a href="https://datasette.readthedocs.io/en/latest/"&gt;the latest version&lt;/a&gt; of the Datasette docs, and I have an &lt;a href="https://github.com/readthedocs/sphinx_rtd_theme/pull/978"&gt;open pull request&lt;/a&gt; to &lt;code&gt;sphinx_rtd_theme&lt;/code&gt; to add support for setting a custom link target on the logo so I can link back to the rest of the official site, when it goes live.&lt;/p&gt;

&lt;h4&gt;TIL search snippet highlighting&lt;/h4&gt;

&lt;p&gt;My &lt;a href="https://til.simonwillison.net/"&gt;TIL site&lt;/a&gt; has a search engine, but it didn't do snippet highlighting. I reused the pattern I described in &lt;a href="https://24ways.org/2018/fast-autocomplete-search-for-your-website/"&gt;Fast Autocomplete Search for Your Website&lt;/a&gt; - implemented server-side rather than client-side this time - to add that functionality. The implementation &lt;a href="https://github.com/simonw/til/commit/51f5daef61b6bbe6c5be564b8644d2bff6761ab0"&gt;is here&lt;/a&gt; - here's &lt;a href="https://til.simonwillison.net/til/search?q=asgi"&gt;a demo&lt;/a&gt; of it in action.&lt;/p&gt;

&lt;h4&gt;SRCCON schedule&lt;/h4&gt;

&lt;p&gt;I'm attending (virtually) the &lt;a href="https://2020.srccon.org/"&gt;SRCCON 2020&lt;/a&gt; journalism conference this week, and Datasette is part of the &lt;a href="https://2020.srccon.org/projects-products-research/#datasette"&gt;Projects, Products, &amp;amp; Research&lt;/a&gt; track.&lt;/p&gt;

&lt;p&gt;As a demo, I set up a Datasette powered copy of the conference schedule at &lt;a href="https://srccon-2020.datasette.io/"&gt;srccon-2020.datasette.io&lt;/a&gt; - it's running the &lt;a href="https://github.com/simonw/datasette-ics"&gt;datasette-ics&lt;/a&gt; plugin which means it can provide a URL that can be subscribed to in Google or Apple Calendar.&lt;/p&gt;

&lt;p&gt;The site runs out of the &lt;a href="https://github.com/simonw/srccon-2020-datasette"&gt;simonw/srccon-2020-datasette&lt;/a&gt; repository, which uses a GitHub Action to download the schedule JSON, modify it a little (mainly to turn the start and end dates into ISO datestamps), save it to a SQLite database with &lt;a href="https://github.com/simonw/sqlite-utils"&gt;sqlite-utils&lt;/a&gt; and publish it to &lt;a href="https://vercel.com/"&gt;Vercel&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Covid 19 population data&lt;/h4&gt;

&lt;p&gt;My &lt;a href="https://simonwillison.net/2020/Mar/11/covid-19/"&gt;Covid-19 tracker&lt;/a&gt; publishes updated numbers of cases and deaths from the New York Times, the LA Times and Johns Hopkins university on an hourly basis.&lt;/p&gt;

&lt;p&gt;One thing that was missing was county population data. US counties are identified in the data by their &lt;a href="https://en.wikipedia.org/wiki/FIPS_county_code"&gt;FIPS codes&lt;/a&gt;, which offers a mechanism for joining against population estimates pulled from the US Census.&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href="https://github.com/nytimes/covid-19-data/pull/155"&gt;Aaron King&lt;/a&gt; I've now incorporated that data into the site, as a new &lt;a href="https://covid-19.datasettes.com/covid/us_census_county_populations_2019"&gt;us_census_county_populations_2019&lt;/a&gt; table.&lt;/p&gt;

&lt;p&gt;I used that data to define a SQL view - &lt;a href="https://covid-19.datasettes.com/covid/latest_ny_times_counties_with_populations"&gt;latest_ny_times_counties_with_populations&lt;/a&gt; - which shows the latest New York Times county data with new derived  	&lt;code&gt;cases_per_million&lt;/code&gt; and &lt;code&gt;deaths_per_million&lt;/code&gt; columns.&lt;/p&gt;

&lt;h4&gt;Tweaks to this blog&lt;/h4&gt;

&lt;p&gt;For many years this blog's main content has sat on the left of the page - which looks increasingly strange as screens get wider and wider. As of &lt;a href="https://github.com/simonw/simonwillisonblog/commit/3d44c67a2cfee128d0168cb2e6a650f45211446a"&gt;this commit&lt;/a&gt; the main layout is centered, which I think looks much nicer.&lt;/p&gt;

&lt;p&gt;I also ran &lt;a href="https://github.com/simonw/simonwillisonblog/commit/b085679933985c44b8171b556d141cdef8f232d2"&gt;a data migration&lt;/a&gt; to fix some old internal links.&lt;/p&gt;

&lt;h4&gt;Miscellaneous&lt;/h4&gt;

&lt;p&gt;I gave a (virtual) talk at &lt;a href="https://www.djangolondon.com/"&gt;Django London&lt;/a&gt; on Monday about Datasette. I've taken to sharing a Google Doc for this kind of talk, which I prepare before the talk with notes and then update afterwards to reflect additional material from the Q&amp;amp;A. Here's &lt;a href="https://docs.google.com/document/d/17ZDlxHOqDGugKqn_Nh_Q7JER5vjKin1D3d17oPhrs9o/edit"&gt;the document&lt;/a&gt; from Monday's talk.&lt;/p&gt;

&lt;p&gt;San Francisco Public Works maintain a page of &lt;a href="https://sfpublicworks.org/tree-removal-notifications"&gt;tree removal notifications&lt;/a&gt; showing trees that are scheduled for removal. I &lt;a href="https://simonwillison.net/2019/Mar/13/tree-history/"&gt;like those trees&lt;/a&gt;. They don't provide an archive of notifications from that page, so I've set up a &lt;a href="https://simonwillison.net/tags/gitscraping/"&gt;git scraping&lt;/a&gt; &lt;a href="https://github.com/simonw/sfpublicworks-tree-removal-notifications"&gt;GitHub repository&lt;/a&gt; that scrapes the page daily and maintains a history of its contents in the commit log.&lt;/p&gt;

&lt;p&gt;I updated &lt;a href="https://github.com/simonw/datasette-publish-fly/releases/tag/1.0"&gt;datasette-publish-fly&lt;/a&gt; for compatibility with Datasette 0.44 and Python 3.6.&lt;/p&gt;

&lt;p&gt;I made a few tweaks to &lt;a href="https://simonwillison.net/2020/Jul/10/self-updating-profile-readme/"&gt;my GitHub profile README&lt;/a&gt;, which is now Apache 2 licensed so people know they can adapt it for their own purposes.&lt;/p&gt;

&lt;p&gt;I released &lt;a href="https://github.com/dogsheep/github-to-sqlite/releases/tag/2.3"&gt;github-to-sqlite 2.3&lt;/a&gt; with a new option for fetching information for just specific repositories.&lt;/p&gt;

&lt;p&gt;The Develomentor podcast published &lt;a href="https://develomentor.com/2020/07/16/simon-willison-data-journalism-the-importance-of-side-projects/"&gt;an interview with me&lt;/a&gt; about my career, and how it's been mostly defined by side-projects.&lt;/p&gt;

&lt;h4&gt;TIL this week&lt;/h4&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="https://github.com/simonw/til/blob/master/heroku/pg-pull.md"&gt;Using heroku pg:pull to restore a backup to a macOS laptop&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/simonw/til/blob/master/python/password-hashing-with-pbkdf2.md"&gt;Password hashing in Python with pbkdf2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/design"&gt;design&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/projects"&gt;projects&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/datasette"&gt;datasette&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/weeknotes"&gt;weeknotes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/covid19"&gt;covid19&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/git-scraping"&gt;git-scraping&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="design"/><category term="passwords"/><category term="projects"/><category term="datasette"/><category term="weeknotes"/><category term="covid19"/><category term="git-scraping"/></entry><entry><title>datasette-auth-passwords</title><link href="https://simonwillison.net/2020/Jul/13/datasette-auth-passwords/#atom-tag" rel="alternate"/><published>2020-07-13T23:39:06+00:00</published><updated>2020-07-13T23:39:06+00:00</updated><id>https://simonwillison.net/2020/Jul/13/datasette-auth-passwords/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/simonw/datasette-auth-passwords"&gt;datasette-auth-passwords&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
My latest plugin: datasette-auth-passwords provides a mechanism for signing into Datasette using a username and password (which is verified in order to set a ds_actor authentication cookie). So far it only supports passwords that are hard-coded into Datasette’s configuration via environment variables, but I plan to add database-backed user accounts in the future.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/authentication"&gt;authentication&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/plugins"&gt;plugins&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/projects"&gt;projects&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/datasette"&gt;datasette&lt;/a&gt;&lt;/p&gt;



</summary><category term="authentication"/><category term="passwords"/><category term="plugins"/><category term="projects"/><category term="datasette"/></entry><entry><title>Apple password-manager-resources</title><link href="https://simonwillison.net/2020/Jun/9/apple-password-manager-resources/#atom-tag" rel="alternate"/><published>2020-06-09T04:21:56+00:00</published><updated>2020-06-09T04:21:56+00:00</updated><id>https://simonwillison.net/2020/Jun/9/apple-password-manager-resources/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/apple/password-manager-resources"&gt;Apple password-manager-resources&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Apple maintain on open source repository full of heuristics for implementing smart password managers. It lists password rules for different sites (e.g. min/max length, special characters required), change password URLs for different services and sites that share credential backends—like icloud.com and apple.com. They accept pull requests!

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/rmondello/status/1270088616379691010"&gt;Ricky Mondello&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apple"&gt;apple&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;&lt;/p&gt;



</summary><category term="apple"/><category term="passwords"/></entry><entry><title>Quoting UK National Cyber Security Centre</title><link href="https://simonwillison.net/2018/Aug/25/passwords/#atom-tag" rel="alternate"/><published>2018-08-25T19:57:46+00:00</published><updated>2018-08-25T19:57:46+00:00</updated><id>https://simonwillison.net/2018/Aug/25/passwords/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.ncsc.gov.uk/guidance/password-guidance-simplifying-your-approach"&gt;&lt;p&gt;Most administrators will force users to change their password at regular intervals, typically every 30, 60 or 90 days. This imposes burdens on the user (who is likely to choose new passwords that are only minor variations of the old) and carries no real benefits as stolen passwords are generally exploited immediately. [...] Regular password changing harms rather than improves security, so avoid placing this burden on users. However, users must change their passwords on indication or suspicion of compromise.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.ncsc.gov.uk/guidance/password-guidance-simplifying-your-approach"&gt;UK National Cyber Security Centre&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/></entry><entry><title>Password Tips From a Pen Tester: Common Patterns Exposed</title><link href="https://simonwillison.net/2018/Jun/12/common-patterns-exposed/#atom-tag" rel="alternate"/><published>2018-06-12T15:35:22+00:00</published><updated>2018-06-12T15:35:22+00:00</updated><id>https://simonwillison.net/2018/Jun/12/common-patterns-exposed/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://blog.rapid7.com/2018/06/12/password-tips-from-a-pen-tester-common-patterns-exposed/"&gt;Password Tips From a Pen Tester: Common Patterns Exposed&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Pipal is a tool for analyzing common patterns in passwords. It turns out if you make people change their password every three months and force at least one uppercase letter plus a number they pick “Winter2018”.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/plaverty9/status/1006540076673880065"&gt;@plaverty9&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/></entry><entry><title>I've Just Launched "Pwned Passwords" V2 With Half a Billion Passwords for Download</title><link href="https://simonwillison.net/2018/Feb/22/pwned-passwords-v2/#atom-tag" rel="alternate"/><published>2018-02-22T19:24:43+00:00</published><updated>2018-02-22T19:24:43+00:00</updated><id>https://simonwillison.net/2018/Feb/22/pwned-passwords-v2/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/"&gt;I&amp;#x27;ve Just Launched &amp;quot;Pwned Passwords&amp;quot; V2 With Half a Billion Passwords for Download&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Troy Hunt has collected 501,636,842 passwords from a wide collection of major breaches. He suggests using the to build a password strength checker that can say “your password has been used by 53,274 other people”. The full collection is available as a list of SHA1 codes (brute-force reversible but at least slightly obfuscated) in an 8GB file or as an API. Where things get really clever is the API design: you send just the first 5 characters of the SHA1 hash of the user’s password and the API responds with the full list of several hundred hashes that match that prefix. This lets you build a checking feature without sharing full passwords with a remote service, if you don’t want to host the full 8GB of data yourself.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://www.reddit.com/r/netsec/comments/7z9w2q/ive_just_launched_pwned_passwords_v2_with_half_a/"&gt;r/netsec&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/troy-hunt"&gt;troy-hunt&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/><category term="troy-hunt"/></entry><entry><title>How could GitHub improve the password security of its users?</title><link href="https://simonwillison.net/2013/Nov/20/how-could-github-improve/#atom-tag" rel="alternate"/><published>2013-11-20T17:50:00+00:00</published><updated>2013-11-20T17:50:00+00:00</updated><id>https://simonwillison.net/2013/Nov/20/how-could-github-improve/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;em&gt;My answer to &lt;a href="https://www.quora.com/How-could-GitHub-improve-the-password-security-of-its-users/answer/Simon-Willison"&gt;How could GitHub improve the password security of its users?&lt;/a&gt; on Quora&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;By doing exactly what they're doing already: adding more sophisticated rate limiting, and preventing users from using common weak passwords.&lt;/p&gt;

&lt;p&gt;Their account security practices are already best-in-industry: they support two-factor authentication and their "Security History" interface at &lt;span&gt;&lt;a href="https://github.com/settings/security"&gt;https://github.com/settings/secu...&lt;/a&gt;&lt;/span&gt; is the best I've seen on any website.&lt;/p&gt;

&lt;p&gt;The way they store passwords (correctly, using bcrypt) had nothing to do with this particular security incident.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/github"&gt;github&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rate-limiting"&gt;rate-limiting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/quora"&gt;quora&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="github"/><category term="open-source"/><category term="passwords"/><category term="rate-limiting"/><category term="security"/><category term="quora"/></entry><entry><title>apache.org incident report for 04/09/2010</title><link href="https://simonwillison.net/2010/Apr/14/apacheorg/#atom-tag" rel="alternate"/><published>2010-04-14T09:08:58+00:00</published><updated>2010-04-14T09:08:58+00:00</updated><id>https://simonwillison.net/2010/Apr/14/apacheorg/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://blogs.apache.org/infra/entry/apache_org_04_09_2010"&gt;apache.org incident report for 04/09/2010&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
An issue was posted to the Apache JIRA containing an XSS attack (disguised using TinyURL), which stole the user’s session cookie. Several admin users clicked the link, so JIRA admin credentials were compromised. The attackers then changed the JIRA attachment upload path setting to point to an executable directory, and uploaded JSPs that gave them backdoor access to the file system. They modified JIRA to collect entered passwords, then sent password reset e-mails to team members and captured the new passwords that they set through the online form. One of those passwords happened to be the same as the user’s shell account with sudo access, leading to a full root compromise of the machine.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/incident"&gt;incident&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jira"&gt;jira&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tinyurl"&gt;tinyurl&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/urls"&gt;urls&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xss"&gt;xss&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="incident"/><category term="jira"/><category term="passwords"/><category term="security"/><category term="tinyurl"/><category term="urls"/><category term="xss"/></entry><entry><title>Quoting rossriley on Hacker News</title><link href="https://simonwillison.net/2009/Aug/23/sqlinjection/#atom-tag" rel="alternate"/><published>2009-08-23T10:10:28+00:00</published><updated>2009-08-23T10:10:28+00:00</updated><id>https://simonwillison.net/2009/Aug/23/sqlinjection/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://news.ycombinator.com/item?id=779808"&gt;&lt;p&gt;For those who haven't heard the story the details were pulled from a Christian dating site db.singles.org which had a query parameter injection vulnerability. The vulnerability allowed you to navigate to a person's profile by entering the user id and skipping authentication. Once you got there the change password form had the passwords in plain text. Someone wrote a scraper and now the entire database is on Mediafire and contains thousands of email/password combinations.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://news.ycombinator.com/item?id=779808"&gt;rossriley on Hacker News&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sql-injection"&gt;sql-injection&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;&lt;/p&gt;



</summary><category term="security"/><category term="sql-injection"/><category term="passwords"/></entry><entry><title>Facebook Hacked By 4chan, Accounts Compromised</title><link href="https://simonwillison.net/2009/Aug/23/facebook/#atom-tag" rel="alternate"/><published>2009-08-23T10:02:04+00:00</published><updated>2009-08-23T10:02:04+00:00</updated><id>https://simonwillison.net/2009/Aug/23/facebook/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://thecoffeedesk.com/news/index.php/2009/08/22/4chan-hacked-facebook-pictures/"&gt;Facebook Hacked By 4chan, Accounts Compromised&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
It wasn’t Facebook that got hacked: 4chan members got hold of a list of usernames and passwords from an insecure Christian dating site and started using them to raise complete hell. Yet another demonstration that storing your user’s passwords in the clear is extremely irresponsible, and also a handy reminder that regular users who “don’t have anything worth securing” actually have a great deal to lose if their password gets out.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/4chan"&gt;4chan&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/identitytheft"&gt;identitytheft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="4chan"/><category term="facebook"/><category term="identitytheft"/><category term="passwords"/><category term="security"/></entry><entry><title>The Anatomy Of The Twitter Attack</title><link href="https://simonwillison.net/2009/Jul/20/anatomy/#atom-tag" rel="alternate"/><published>2009-07-20T00:55:35+00:00</published><updated>2009-07-20T00:55:35+00:00</updated><id>https://simonwillison.net/2009/Jul/20/anatomy/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.techcrunch.com/2009/07/19/the-anatomy-of-the-twitter-attack/"&gt;The Anatomy Of The Twitter Attack&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Long-winded explanation of the recent Twitter break-in, but you can scroll to the bottom for a numbered list summary. The attacker first broke in to a Twitter employee’s personal Gmail account by “recovering” it against an expired Hotmail account (which the attacker could hence register themselves). They gained access to more passwords by searching for e-mails from badly implemented sites that send you your password in the clear.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/gmail"&gt;gmail&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hotmail"&gt;hotmail&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;&lt;/p&gt;



</summary><category term="gmail"/><category term="hotmail"/><category term="passwords"/><category term="security"/><category term="twitter"/></entry><entry><title>Weak Password Brings "Happiness" to Twitter Hacker</title><link href="https://simonwillison.net/2009/Jan/7/weak/#atom-tag" rel="alternate"/><published>2009-01-07T12:04:56+00:00</published><updated>2009-01-07T12:04:56+00:00</updated><id>https://simonwillison.net/2009/Jan/7/weak/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.wired.com/27bstroke6/2009/01/professed-twitt.html"&gt;Weak Password Brings &amp;quot;Happiness&amp;quot; to Twitter Hacker&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The full story on the Twitter admin account hack. I bet there are a LOT of web applications out there that don’t track and rate-limit failed password attempts.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/hacking"&gt;hacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;&lt;/p&gt;



</summary><category term="hacking"/><category term="passwords"/><category term="security"/><category term="twitter"/></entry><entry><title>Antipatterns for sale</title><link href="https://simonwillison.net/2009/Jan/2/adactio/#atom-tag" rel="alternate"/><published>2009-01-02T10:48:17+00:00</published><updated>2009-01-02T10:48:17+00:00</updated><id>https://simonwillison.net/2009/Jan/2/adactio/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://adactio.com/journal/1538"&gt;Antipatterns for sale&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Twply collected over 800 Twitter usernames and passwords (OAuth can’t arrive soon enough) and was promptly auctioned off on SitePoint to the highest bidder.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/jeremy-keith"&gt;jeremy-keith&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/oauth"&gt;oauth&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwordantipattern"&gt;passwordantipattern&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sitepoint"&gt;sitepoint&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;&lt;/p&gt;



</summary><category term="jeremy-keith"/><category term="oauth"/><category term="passwordantipattern"/><category term="passwords"/><category term="security"/><category term="sitepoint"/><category term="twitter"/></entry><entry><title>Facebook's new signup process</title><link href="https://simonwillison.net/2008/Dec/12/cory/#atom-tag" rel="alternate"/><published>2008-12-12T11:43:56+00:00</published><updated>2008-12-12T11:43:56+00:00</updated><id>https://simonwillison.net/2008/Dec/12/cory/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://corywatilo.com/index.php/2008/12/11/facebooks-new-signup-process-running-on-ab-test/"&gt;Facebook&amp;#x27;s new signup process&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
It looks like they’ve dropped the “enter your password twice” pattern. Is this really a good idea? I suppose if people mis-type it they can always use forgotten password to set a new one.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/usability"&gt;usability&lt;/a&gt;&lt;/p&gt;



</summary><category term="facebook"/><category term="passwords"/><category term="usability"/></entry><entry><title>Quoting Ben Laurie</title><link href="https://simonwillison.net/2008/Nov/2/ben/#atom-tag" rel="alternate"/><published>2008-11-02T13:04:41+00:00</published><updated>2008-11-02T13:04:41+00:00</updated><id>https://simonwillison.net/2008/Nov/2/ben/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.links.org/?p=414"&gt;&lt;p&gt;.. yet another ridiculous data breach: this time, people's passwords to the Government Gateway on a memory stick dropped in the road. Perhaps it is uncouth to point this out, but... if the system had been designed by people with any security clue whatsoever there would have been no passwords to put on a memory stick in the first place.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.links.org/?p=414"&gt;Ben Laurie&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ben-laurie"&gt;ben-laurie&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;&lt;/p&gt;



</summary><category term="security"/><category term="ben-laurie"/><category term="passwords"/></entry><entry><title>Quoting Kim Zetter</title><link href="https://simonwillison.net/2008/Sep/18/palin/#atom-tag" rel="alternate"/><published>2008-09-18T22:23:59+00:00</published><updated>2008-09-18T22:23:59+00:00</updated><id>https://simonwillison.net/2008/Sep/18/palin/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://blog.wired.com/27bstroke6/2008/09/palin-e-mail-ha.html"&gt;&lt;p&gt;The Palin hack didn't require any real skill. Instead, the hacker simply reset Palin's password using her birthdate, ZIP code and information about where she met her spouse - the security question on her Yahoo account, which was answered (Wasilla High) by a simple Google search.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://blog.wired.com/27bstroke6/2008/09/palin-e-mail-ha.html"&gt;Kim Zetter&lt;/a&gt;, Wired&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hacking"&gt;hacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sarahpalin"&gt;sarahpalin&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/><category term="hacking"/><category term="sarahpalin"/></entry><entry><title>Quoting Blaine Cook</title><link href="https://simonwillison.net/2008/Aug/14/oauth/#atom-tag" rel="alternate"/><published>2008-08-14T10:01:37+00:00</published><updated>2008-08-14T10:01:37+00:00</updated><id>https://simonwillison.net/2008/Aug/14/oauth/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.lukeredpath.co.uk/2008/8/12/on-iphones-and-user-credentials"&gt;&lt;p&gt;OAuth came out of my worry that if the Twitter API became popular, we'd be spreading passwords all around the web. OAuth took longer to finish than it took for the Twitter API to become popular, and as a result many Twitter users' passwords are scattered pretty carelessly around the web. This is a terrible situation, and one we as responsible web developers should work to prevent.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.lukeredpath.co.uk/2008/8/12/on-iphones-and-user-credentials"&gt;Blaine Cook&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/oauth"&gt;oauth&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/blaine-cook"&gt;blaine-cook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitterapi"&gt;twitterapi&lt;/a&gt;&lt;/p&gt;



</summary><category term="security"/><category term="passwords"/><category term="phishing"/><category term="oauth"/><category term="blaine-cook"/><category term="twitter"/><category term="twitterapi"/></entry><entry><title>Facebook Security Advice: Never Ever Enter Your Passwords On Another Site, Unless We Ask You To</title><link href="https://simonwillison.net/2008/Aug/9/facebook/#atom-tag" rel="alternate"/><published>2008-08-09T10:18:28+00:00</published><updated>2008-08-09T10:18:28+00:00</updated><id>https://simonwillison.net/2008/Aug/9/facebook/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.techcrunch.com/2008/08/08/facebook-security-advice-never-ever-enter-your-passwords-on-another-site-unless-we-ask-you-to/"&gt;Facebook Security Advice: Never Ever Enter Your Passwords On Another Site, Unless We Ask You To&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Nice to see TechCrunch highlighting the hypocrisy of Facebook advising their users to never enter their Facebook credentials on another site, then asking them for their webmail provider password so they can scrape their address book.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hypocrisy"&gt;hypocrisy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwordantipattern"&gt;passwordantipattern&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/techcrunch"&gt;techcrunch&lt;/a&gt;&lt;/p&gt;



</summary><category term="facebook"/><category term="hypocrisy"/><category term="passwordantipattern"/><category term="passwords"/><category term="security"/><category term="techcrunch"/></entry><entry><title>Changeset 8162</title><link href="https://simonwillison.net/2008/Jul/31/changeset/#atom-tag" rel="alternate"/><published>2008-07-31T22:54:10+00:00</published><updated>2008-07-31T22:54:10+00:00</updated><id>https://simonwillison.net/2008/Jul/31/changeset/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.djangoproject.com/changeset/8162#file15"&gt;Changeset 8162&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“Implemented a secure password reset form that uses a token and prompts user for new password”—also sneaks base36 encoding and decoding in to Django.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/base36"&gt;base36&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/changeset"&gt;changeset&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/luke-plant"&gt;luke-plant&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="base36"/><category term="changeset"/><category term="django"/><category term="luke-plant"/><category term="passwords"/><category term="python"/><category term="security"/></entry><entry><title>Quoting Fasthosts</title><link href="https://simonwillison.net/2007/Oct/18/fasthosts/#atom-tag" rel="alternate"/><published>2007-10-18T17:27:24+00:00</published><updated>2007-10-18T17:27:24+00:00</updated><id>https://simonwillison.net/2007/Oct/18/fasthosts/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.theregister.co.uk/2007/10/18/fasthost_police_hack_investigation/"&gt;&lt;p&gt;Historically, Internet companies have rarely encrypted passwords to aid customer service.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.theregister.co.uk/2007/10/18/fasthost_police_hack_investigation/"&gt;Fasthosts&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/fasthosts"&gt;fasthosts&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wtf"&gt;wtf&lt;/a&gt;&lt;/p&gt;



</summary><category term="fasthosts"/><category term="security"/><category term="passwords"/><category term="wtf"/></entry><entry><title>The password anti-pattern</title><link href="https://simonwillison.net/2007/Oct/12/adactio/#atom-tag" rel="alternate"/><published>2007-10-12T09:25:25+00:00</published><updated>2007-10-12T09:25:25+00:00</updated><id>https://simonwillison.net/2007/Oct/12/adactio/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://adactio.com/journal/1357"&gt;The password anti-pattern&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
What I don’t understand is why Google / Yahoo! / other webmail providers haven’t just deployed a simple OAuth-style API for accessing the address book. Sites have been scraping them for years anyway; surely it’s better to offer an official API than continue to see users hand out their passwords?


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/gmail"&gt;gmail&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeremy-keith"&gt;jeremy-keith&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/oauth"&gt;oauth&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yahoo"&gt;yahoo&lt;/a&gt;&lt;/p&gt;



</summary><category term="gmail"/><category term="google"/><category term="jeremy-keith"/><category term="oauth"/><category term="passwords"/><category term="phishing"/><category term="yahoo"/></entry><entry><title>Choosing Secure Passwords</title><link href="https://simonwillison.net/2007/Jan/11/passwords/#atom-tag" rel="alternate"/><published>2007-01-11T14:55:18+00:00</published><updated>2007-01-11T14:55:18+00:00</updated><id>https://simonwillison.net/2007/Jan/11/passwords/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.schneier.com/blog/archives/2007/01/choosing_secure.html"&gt;Choosing Secure Passwords&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Bruce Schneier describes the state of the art in password cracking software.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bruce-schneier"&gt;bruce-schneier&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="bruce-schneier"/><category term="passwords"/><category term="security"/></entry><entry><title>ephemeral profiles (cuz losing passwords is common amongst teens)</title><link href="https://simonwillison.net/2007/Jan/7/apophenia/#atom-tag" rel="alternate"/><published>2007-01-07T22:37:00+00:00</published><updated>2007-01-07T22:37:00+00:00</updated><id>https://simonwillison.net/2007/Jan/7/apophenia/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.zephoria.org/thoughts/archives/2007/01/01/ephemeral_profi.html"&gt;ephemeral profiles (cuz losing passwords is common amongst teens)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Lost your password? Create a new profile; you had too many friends you didn’t know anyway.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/danah-boyd"&gt;danah-boyd&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/myspace"&gt;myspace&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/teens"&gt;teens&lt;/a&gt;&lt;/p&gt;



</summary><category term="danah-boyd"/><category term="myspace"/><category term="passwords"/><category term="teens"/></entry><entry><title>Real-World Passwords</title><link href="https://simonwillison.net/2006/Dec/14/passwords/#atom-tag" rel="alternate"/><published>2006-12-14T14:14:54+00:00</published><updated>2006-12-14T14:14:54+00:00</updated><id>https://simonwillison.net/2006/Dec/14/passwords/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.schneier.com/blog/archives/2006/12/realworld_passw.html"&gt;Real-World Passwords&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Random passwords phished from MySpace are surprisingly decent.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bruce-schneier"&gt;bruce-schneier&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/myspace"&gt;myspace&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="bruce-schneier"/><category term="myspace"/><category term="passwords"/><category term="phishing"/><category term="security"/></entry><entry><title>Will Trade Passwords For Chocolate</title><link href="https://simonwillison.net/2004/Apr/20/will/#atom-tag" rel="alternate"/><published>2004-04-20T04:27:08+00:00</published><updated>2004-04-20T04:27:08+00:00</updated><id>https://simonwillison.net/2004/Apr/20/will/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.securitypipeline.com/news/18902074"&gt;Will Trade Passwords For Chocolate&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I’m not at all surprised. Most people see passwords as more of an annoyance than a security measure.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.boingboing.net/2004/04/19/will_trade_passwords.html"&gt;Boing Boing&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/passwords"&gt;passwords&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="passwords"/><category term="security"/></entry></feed>