<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 23 May 2013 07:25:30 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Anthony Ferrara's Blog: Properly Salting Passwords, The Case Against Pepper ]]></title>
      <guid>http://www.phpdeveloper.org/news/17832</guid>
      <link>http://www.phpdeveloper.org/news/17832</link>
      <description><![CDATA[<p>
In <a href="http://blog.ircmaxell.com/2012/04/properly-salting-passwords-case-against.html">this new post</a> to his blog <i>Anthony Ferrara</i> looks at a common idea that comes up when the discussion of encryption of passwords in PHP - the global salt (or "pepper").
</p>
<blockquote>
The other day I <a href="http://blog.ircmaxell.com/2012/04/introducing-passwordlib.html">announced the release</a> of my new password hashing library, <a href="https://github.com/ircmaxell/PHP-PasswordLib">PasswordLib</a>. As I've come to expect, <a href="http://www.reddit.com/r/PHP/comments/s9r6f/introducing_passwordlib_a_library_for_hashing/">Reddit</a> was full of interesting commentary on the topic. Some was good, some was bad and some surprised me. What surprised me was the insistence on a global salt (otherwise known as a "<a href="http://barkingiguana.com/2009/08/03/securing-passwords-with-salt-pepper-and-rainbows/">pepper</a>"). So, I started thinking about it some more, and I figured I'd write a post on why I don't use peppers in my hashing algorithms (and why you may want to rethink it too).
</blockquote>
<p>
He starts with an explanation of what a salt is (and isn't) to lead naturally into the idea of a "pepper", a single unique value that's used across an entire site/application for password encryption. He covers four flaws inherent with this method:
</p>
<ul>
<li>There's no proof that using them increases your security.
<li>There are no publicly vetted hashing algorithms that accept a pepper as an argument. 
<li>Using a block cipher instead of a pepper provides a stronger level of encryption and protection.
<li>The entire concept of a pepper is based around a flawed premise. [...] The flaw in that premise is that it's often not just your database that's leaked.
</ul>]]></description>
      <pubDate>Wed, 18 Apr 2012 09:23:31 -0500</pubDate>
    </item>
  </channel>
</rss>
