<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://scox.info/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>scox.info - Random Thoughts - pam_usb</title>
  <link>http://scox.info/</link>
  <description></description>
  <language>en</language>
  <pubDate>Tue, 06 Jan 2009 23:47:29 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Yet another release of pam_usb</title>
    <link>http://scox.info/post/2007/9/15/yet-another-release-of-pam_usb</link>
    <guid isPermaLink="false">urn:md5:f8df94c6ff1a0e70bc4f455db67b77bc</guid>
    <pubDate>Sat, 15 Sep 2007 01:24:00 +0000</pubDate>
    <dc:creator>scox</dc:creator>
        <category>security</category>
        <category>pam_usb</category>    
    <description>    &lt;p&gt;Just a quick blog entry to introduce you to the new version of pam_usb (0.4.2), which I've just released a few minutes ago.&lt;/p&gt;
&lt;p&gt;This release focuses on bugfixes and small enhancements. Here's a non exhaustive list of them:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Better hardware support: Thanks to user feedback, a lot of improvements have been made in hardware support. Now devices without vendor and model informations can be used for authentication.&lt;/li&gt;
&lt;li&gt;Support for non USB devices: You can now use every kind of removable storage devices, such as SD or MMC cards.&lt;/li&gt;
&lt;li&gt;Reduced writing to the device: &lt;a href=&quot;http://scox.info/2007/4/8/one-time-pads-the-new-authentication-model-of-pam_usb&quot;&gt;Pads&lt;/a&gt; aren't updated everytime you authenticate anymore, but (by default) only once an hour. This feature can be turned off by setting &lt;em&gt;pads_expiration&lt;/em&gt; to &lt;em&gt;0&lt;/em&gt;, or you can adjust it to a more suitable value (2h, 10m etc are valid options).&lt;/li&gt;
&lt;li&gt;Many other smaller bugfixes and features have been included, such as the &lt;a href=&quot;http://scox.info/2007/8/25/using-dbus-from-setuid-applications&quot;&gt;DBUS workaround&lt;/a&gt; and support for Python 2.5.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I'd like to thank all the users who contributed by sending their feedback and patches.&lt;/p&gt;</description>
    
    
    
          <comments>http://scox.info/post/2007/9/15/yet-another-release-of-pam_usb#comment-form</comments>
      <wfw:comment>http://scox.info/post/2007/9/15/yet-another-release-of-pam_usb#comment-form</wfw:comment>
      <wfw:commentRss>http://scox.info/feed/rss2/comments/6</wfw:commentRss>
      </item>
    
  <item>
    <title>pam_usb: Finally a new release</title>
    <link>http://scox.info/post/2007/4/9/pam_usb-finally-a-new-release</link>
    <guid isPermaLink="false">urn:md5:8b17ecfe568f3f381a8b980c6014abd7</guid>
    <pubDate>Mon, 09 Apr 2007 22:22:00 +0000</pubDate>
    <dc:creator>scox</dc:creator>
        <category>security</category>
        <category>pam_usb</category>    
    <description>    &lt;p&gt;After way too much time, I have finally released &lt;a href=&quot;http://www.pamusb.org/&quot;&gt;pam_usb&lt;/a&gt; &lt;strong&gt;0.4.0&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;For those of you not familiar with the project, it &quot;&lt;em&gt;provides hardware authentication for Linux using ordinary USB Flash Drives&lt;/em&gt;&quot;.Basically, it makes applications such as GDM/KDM, gnome-screensaver/kscreensaver, su/sudo and so forth authenticate users using a USB stick instead of askingfor a password over and over. If you're lazy like me, you'll appreciate it.&lt;/p&gt;
&lt;p&gt;So, what's new with this release ? Well, everything. For starters, I've rewritten everything from scratch. It contains many new features,including &lt;a href=&quot;http://scox.info/2007/4/8/one-time-pads-the-new-authentication-model-of-pam_usb&quot;&gt;one time pads authentication&lt;/a&gt; and support for hardware detection through&lt;a href=&quot;http://freedesktop.org/wiki/Software_2fhal&quot;&gt;HAL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I've also written a set of tools in Python:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;pamusb-agent&lt;/strong&gt;, a daemon that can trigger actions (such as locking the screen) upon device authentication and removal.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pamusb-conf&lt;/strong&gt;, a tool that can save you the hassle of editing &lt;em&gt;pamusb.conf&lt;/em&gt; by hand. As for now, it supports the &lt;em&gt;--add-device&lt;/em&gt; and &lt;em&gt;--add-user&lt;/em&gt; options.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The project has now a brand new website powered by the &lt;a href=&quot;http://wiki.splitbrain.org/wiki:dokuwiki&quot;&gt;Dokuwiki&lt;/a&gt; wiki engine.I have also reworked the documentation as the old one seemed to scare people. Someday I'll probably do a screencast to show how to setup pam_usb in 5 minutes. Until then, have fun with the documentation :)&lt;/p&gt;</description>
    
    
    
          <comments>http://scox.info/post/2007/4/9/pam_usb-finally-a-new-release#comment-form</comments>
      <wfw:comment>http://scox.info/post/2007/4/9/pam_usb-finally-a-new-release#comment-form</wfw:comment>
      <wfw:commentRss>http://scox.info/feed/rss2/comments/2</wfw:commentRss>
      </item>
    
  <item>
    <title>One Time Pads: The new authentication model of pam_usb</title>
    <link>http://scox.info/post/2007/4/8/one-time-pads-the-new-authentication-model-of-pam_usb</link>
    <guid isPermaLink="false">urn:md5:17e607bdb7a1385dacf624dd75d3e65e</guid>
    <pubDate>Sun, 08 Apr 2007 22:46:00 +0000</pubDate>
    <dc:creator>scox</dc:creator>
        <category>security</category>
        <category>one time pads</category><category>pam_usb</category>    
    <description>    &lt;p&gt;The way &lt;a href=&quot;http://www.pamusb.org/&quot;&gt;pam_usb&lt;/a&gt; performed authentication was inspired by smartcards: a private key was stored inside the device and the public part of the key inside the computer. The problem is that, unlike smartcards, the content of a USB device is readable meaning that the private key could be stolen by anyone borrowing your flash drive. Sure, the device is also identified by its manufacturer attributes (serial number and alike), but I'm pretty much sure those informations can be forged.&lt;/p&gt;
&lt;p&gt;Knowing that the content of the USB device is unreliable (as it can be stolen), I came up with a different approach for authenticating a device called &lt;em&gt;One Time Pads authentication&lt;/em&gt;. Basically, a &lt;em&gt;pad&lt;/em&gt; is just a bunch of random bytes stored on both the USB device and the computer. Every time you authenticate, those &lt;em&gt;pads&lt;/em&gt; are compared. If they match, access is granted and the pads are regenerated, otherwise access is denied.&lt;/p&gt;
&lt;p&gt;This means that even if someone manages to fake your device's manufacturer attributes and to steal your pads, as soon as you authenticate the pads will be regenerated, making the one they have stolen invalid.It's like having a very long random generated one time password, except the fact you don't have to remember such password.&lt;/p&gt;
&lt;p&gt;Let's see one time pads in action:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;First, just as our attacker, we start by stealing our own pad:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;        scox@helium ~ $ cp /media/disk/.pamusb/root.helium.pad /tmp&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;Then we authenticate. As you can see, the pads are verified, then &lt;strong&gt;updated&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;        scox@helium ~ $ su&lt;br /&gt;        * pam_usb vSVN&lt;br /&gt;        * Authentication request for user &quot;root&quot; (su)&lt;br /&gt;        * Device &quot;sandisk&quot; is connected (good).&lt;br /&gt;        * Performing one time pad verification...&lt;br /&gt;        * Verification match, updating one time pads...&lt;br /&gt;        * Access granted.&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;Now we are the attacker. We start by putting the stolen pad back into a device (assuming the device has the same serial number as ours) and try to authenticate:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;        scox@helium ~ $ cp /tmp/root.helium.pad /media/disk/.pamusb/&lt;br /&gt;        scox@helium ~ $ su&lt;br /&gt;        * pam_usb vSVN&lt;br /&gt;        * Authentication request for user &quot;root&quot; (su)&lt;br /&gt;        * Device &quot;sandisk&quot; is connected (good).&lt;br /&gt;        * Performing one time pad verification...&lt;br /&gt;        * Pad checking failed !&lt;br /&gt;        * Access denied.&lt;br /&gt;        Password: &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It may not be the safest authentication ever, but it's cheap (everyone has a USB flash drive nowadays), pretty much secure for common usage and avoids the hassle of remembering and typing passwords.I'll be releasing pam_usb 0.4.0 which contains one time pads authentication in the next few days, so stay tuned.&lt;/p&gt;</description>
    
    
    
          <comments>http://scox.info/post/2007/4/8/one-time-pads-the-new-authentication-model-of-pam_usb#comment-form</comments>
      <wfw:comment>http://scox.info/post/2007/4/8/one-time-pads-the-new-authentication-model-of-pam_usb#comment-form</wfw:comment>
      <wfw:commentRss>http://scox.info/feed/rss2/comments/1</wfw:commentRss>
      </item>
    
</channel>
</rss>