<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Open Source Security &#187; hardware</title>
	<atom:link href="http://www.ratliff.net/blog/category/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ratliff.net/blog</link>
	<description>A blog about open source and security and open source security</description>
	<lastBuildDate>Tue, 10 Aug 2010 00:22:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Cryptographic Snake Oil</title>
		<link>http://www.ratliff.net/blog/2009/05/27/cryptographic-snake-oil/</link>
		<comments>http://www.ratliff.net/blog/2009/05/27/cryptographic-snake-oil/#comments</comments>
		<pubDate>Wed, 27 May 2009 21:55:18 +0000</pubDate>
		<dc:creator>Bryan Jacobson</dc:creator>
				<category><![CDATA[Planet LTC]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.ratliff.net/blog/?p=184</guid>
		<description><![CDATA[By: Bryan Jacobson (bryan.jacobson@us.ibm.com)    As always, the following are my personal opinions.   &#8220;Product X&#8221;  I recently heard about an authentication product, let&#8217;s call it &#8220;Product X&#8221;.   According to their website: Product X . . . implements the equivalent of a “one-time pad” system – the most secure communication possible. Product X uses applied physics to [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">By: Bryan Jacobson (bryan.jacobson@us.ibm.com)    </span><span style="font-size: small; font-family: Times New Roman;">As always, the following are my personal opinions. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: small;"><span style="font-family: Times New Roman;">&#8220;Product X&#8221; </span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><span style="font-size: small;"><span style="font-family: Times New Roman;">I recently heard about an authentication product, let&#8217;s call it &#8220;Product X&#8221;.<span style="mso-spacerun: yes;">   </span></span></span><span style="font-size: small; font-family: Times New Roman;">According to their website: </span></p>
<blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Product X . . . implements the equivalent of a “one-time pad” system – the most secure communication possible.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Product X uses applied physics to defeat all known Internet authentication threats.</span></p>
</blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Sounds good, maybe <em>too</em> good.<span style="mso-spacerun: yes;">  </span>Can we trust it? </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: small;"><span style="font-family: Times New Roman;">Cryptographic Snake Oil </span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Serge Hallyn introduced me to the term &#8220;cryptographic snake oil&#8221;, which is explained at <a href="http://www.interhack.net/people/cmcurtin/snake-oil-faq.html" target="_blank">http://www.interhack.net/people/cmcurtin/snake-oil-faq.html</a>: </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Good cryptography is an excellent and necessary tool for almost anyone. Many good cryptographic products are available commercially, as shareware, or free. However, there are also extremely bad cryptographic products which not only fail to provide security, but also contribute to the many misconceptions and misunderstandings surrounding cryptography and security. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Why &#8220;snake oil&#8221;? The term is used in many fields to denote something sold without consideration of its quality or its ability to fulfill its vendor&#8217;s claims. This term originally applied to elixirs sold in traveling medicine shows. The salesmen would claim their elixir would cure just about any ailment that a potential customer could have. Listening to the claims made by some crypto vendors, &#8220;snake oil&#8221; is a surprisingly apt name. </span></p>
</blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">The snake-oil-faq is a fun website with a lot of information.<span style="mso-spacerun: yes;">  </span>Regarding “one-time-pads” it says:</span><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">A vendor might claim the system uses a one-time-pad (OTP), which is provably unbreakable.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Snake oil vendors will try to capitalize on the known strength of an OTP. But it is important to understand that any variation in the implementation means that it is not an OTP and has nowhere near the security of an OTP.</span></p>
</blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><strong><span style="font-size: small;"><span style="font-family: Times New Roman;">What are One-time-pads, and why are they &#8220;unbreakable&#8221;? </span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><span style="font-size: small;"><span style="font-family: Times New Roman;">A One-time-pad is a key as long as the message.<span style="mso-spacerun: yes;">  </span>Each byte of the OTP is generated with an unpredictable random process.<span style="mso-spacerun: yes;">  </span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><span style="font-size: small; font-family: Times New Roman;">The sender and receiver each need a copy of the OTP and must insure no one else has a copy. The OTP should be physically exchanged, not transmitted.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><span style="font-size: small; font-family: Times New Roman;">Each byte of the OTP is only used once &#8211; so there is no &#8220;statistical pattern&#8221; that an adversary could use to crack the message.<span style="mso-spacerun: yes;">  </span>(More info is at: http://en.wikipedia.org/wiki/One-time_pad.) </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">The unbreakability of one-time-pads rests on three factors:</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">1. Every byte in the OTP is generated by a truly random (unpredictable) process. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">2. Every byte in the OTP is used only once. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">3. The sender and recipient insure that no one else could have a copy of the pad. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">When these are true, the OTP is unbreakable &#8211; there is no vulnerability that can be exploited. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: small;"><span style="font-family: Times New Roman;">How Product X works (I think)</span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Note: This is not a comprehensive evaluation of “Product X”, but rather my personal quick comparison of the <span style="mso-spacerun: yes;"> </span>information on their website to One-time-pads. <span style="mso-spacerun: yes;"> </span>Their website does not have a complete technical description, so I’ve made some assumptions that could be inaccurate.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><span style="font-size: small; font-family: Times New Roman;">If I understand correctly, &#8220;Product X&#8221; works like this: </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><span style="font-size: small; font-family: Times New Roman;">- &#8220;Product X&#8221; uses a USB device and some software to provide secure authentication (login) from the user’s client system to a remote server.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- The user supplies a User ID and a Password on the client system. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- The User ID is sent to the server software, which selects an &#8220;index&#8221; that is sent back to the client. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- The &#8220;index&#8221; and secure information in the USB device create a &#8220;one-time password&#8221;, claimed to be equivalent to a One-time-pad. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- The &#8220;one-time password&#8221; is used to securely transmit the User&#8217;s password to the server. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: small;"><span style="font-family: Times New Roman;">Is &#8220;Product X&#8221; the equivalent of a one-time-pad?</span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span><span style="font-size: small; font-family: Times New Roman;">Let’s look at the factors that make one-time-pads unbreakable:</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">1. Every byte in the OTP is unpredictable.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">I will assume they got this right.<span style="mso-spacerun: yes;">   </span>You can use random.org, or several other techniques.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">2. Every byte in the OTP is used only once. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">I don’t think this is the case.<span style="mso-spacerun: yes;">  </span>I believe the &#8220;index&#8221; sent back from the server, works with the USB device to “randomly” select a pad.<span style="mso-spacerun: yes;">  </span>If enough logins happen, eventually pads will get re-used.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">The Snake Oil website says:</span></p>
<blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">OTPs are seriously vulnerable if you ever reuse a pad. For instance, the NSA&#8217;s VENONA project [4], without the benefit of computer assistance, managed to decrypt a series of KGB messages encrypted with faulty pads. It doesn&#8217;t take much work to crack a reused pad.</span></p>
</blockquote>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">How soon are pads reused?<span style="mso-spacerun: yes;">  </span>The “Product X” website mentions “billions”, but doesn’t give specifics.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">3. The sender and recipient insure that no one else could have a copy of the pad. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">I don’t think this is the case.<span style="mso-spacerun: yes;">  </span>I believe all users share the same set of pads (otherwise the remote server would need a huge amount of per-user data). </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">However, I believe the role of the USB Device is to scrambles the pad selection on a per-user basis.<span style="mso-spacerun: yes;">  </span>I think security experts agree &#8211; a device like this (assuming well implemented) with a physically secure secret, provides significant security advantages. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">So, the strength of “Product X” is based on:</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- Could an adversary detect re-use of a pad?</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- Could an adversary subvert the secret in the USB device?</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">This is the point of the “Snake Oil” FAQ.<span style="mso-spacerun: yes;">  </span>The strength of “Product X” is based on its own implementation details – not the “unbreakable” strength of one-time-pads.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"> </p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"><em>I hope users of &#8220;Product X&#8221; also understand that it<span style="mso-spacerun: yes;">  </span>*ONLY* provides special security for the authentication step (the communication of the password).<span style="mso-spacerun: yes;">   </span>It does not help with the rest of the communication between the client and the server.</em> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: small;"><span style="font-family: Times New Roman;">Since One-time-pads are so dang secure, why aren&#8217;t they used for everything? </span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">OTPs have two important limitations: </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- They must not be reused, and need to have as many bytes as the messages they are encoding.<span style="mso-spacerun: yes;">  </span>This is not practical if you&#8217;ve got gigabytes going back and forth every day. </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">- There must be some other secure mechanism to get the pad from one party to the other.<span style="mso-spacerun: yes;">  </span>That&#8217;s hard to do if you&#8217;re communicating with someone you&#8217;ve never met before (common on the web). </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">The <a href="http://www.interhack.net/people/cmcurtin/snake-oil-faq.html" target="_blank">Snake Oil FAQ</a> lists many other things to watch out for, such as:</span></p>
<ul>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Secret Algorithms </span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Revolutionary Breakthroughs </span></div>
</li>
<li>
<div class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Experienced Security Experts, Rave Reviews, and Other Useless Certificates </span></div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ratliff.net/blog/2009/05/27/cryptographic-snake-oil/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Maker Faire</title>
		<link>http://www.ratliff.net/blog/2007/10/24/maker-faire/</link>
		<comments>http://www.ratliff.net/blog/2007/10/24/maker-faire/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 20:09:06 +0000</pubDate>
		<dc:creator>Emily Ratliff</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.ratliff.net/blog/index.php/2007/10/24/maker-faire/</guid>
		<description><![CDATA[Maker Faire was in Austin this past weekend and it was awesome! It was busy but not packed so it was quite pleasant and so there is a reasonable chance that we might see it again next year. (Please, please, please Maker Faire organizers, come back again soon!) My father-in-law brought his MultiMachine &#8211; a [...]]]></description>
			<content:encoded><![CDATA[<p>Maker Faire was in Austin this past weekend and it was awesome! It was busy but not packed so it was quite pleasant and so there is a reasonable chance that we might see it again next year. (Please, please, please Maker Faire organizers, come back again soon!)</p>
<p>My father-in-law brought his MultiMachine &#8211; a general purpose all in one mill that can be made out of junk. He has quite an active Yahoo group so several people who were already familiar with the MultiMachine popped by to take a look. The number one comment was about how easy it looked to build. My father-in-law would really love to see non-profit orgs (NGOs) adopt the design of the machine and take it to distressed areas so that impoverished people could use it as a way to build things and generate income.</p>
<p>There were all kinds of creative and unique bicycles, robots, and musical instruments. There were several electric cars including a Prius conversion. There were yarn spinners, knitters and hand quilters. There was at least one blacksmith with an active forge. The feel of the conference was very open and generous. People were showing off their creations and sharing ways for attendees to learn to make their own. A big Thank you! to the kind woman who helped my 3 year old make her own necklace.</p>
<p>On topics of interest to this blog &#8211; open source, there was a very cool display by Rep Rap the Replicating Rapid Prototyper which has the ability to make itself. They say that it is a &#8220;practical self-copying 3D printer&#8221;. With this device you have the ability to create physical items for yourself and to share with your friends and you can even go a step farther and make another device to give to your friends, so that they can share the physical creations with their friends. Richard Stallman says &#8220;Software differs from material objectsÃ¢â‚¬â€such as chairs, sandwiches, and gasolineÃ¢â‚¬â€in that it can be copied and changed much more easily.&#8221; With Rep Rap, at least somethings can now be copied and changed almost as easily as software (though perhaps not yet sandwiches and gasoline).</p>
<p>[1] <a href="http://www.makezine.com/blog/archive/maker_faire/">Maker Faire Blog</a> at http://www.makezine.com/blog/archive/maker_faire/<br />
[2] <a href="http://groups.yahoo.com/group/multimachine/">Multi-machine Yahoo Group</a> with a picture of the multi-machine at http://groups.yahoo.com/group/multimachine/<br />
[3] <a href="http://reprap.org/bin/view/Main/WebHome">Rep Rap</a> at http://reprap.org/bin/view/Main/WebHome</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ratliff.net/blog/2007/10/24/maker-faire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
