Jeremy, I think you comment really captures my original thinking, specially your last paragraph<br><br>&quot;<i>my initial thought was &quot;no way&quot;, but then I had to think hard as to why it&#39;s not acceptable to share the password-encrypted private key with a justification beyond &quot;it&#39;s a bad idea&quot;. </i> &quot;<br>
<br>Since that was my exact thoughts! :)<br><br>I started by feeling like it should NOT be done, but when I tried to find a rational and pragmatic reasons for NOT doing it, I couldn&#39;t come up with any major items apart from &quot;Make sure the PassPhrase is big enough and protect the PassPhrase&quot;. <br>
<br>Like Jeremy mentions in his email (below), there a number of factors that could affect the overall security model of such solution, so from a usability point of view, I&#39;m trying to see if I (from a usability point of view) can reduce it to a simple password/passphrase management problem.<br>
<br>I actually think that one of the harder crypto problems we have today is crypto usability (not to say that there are no technical challenges, but at least there is plenty of understanding, effort and energy on how to deal with them).<br>
<br>Basically we have to make crypto invisible to users so that they do the right thing by default and effortless<br clear="all"><br>Dinis Cruz<br><br>Blog: <a href="http://diniscruz.blogspot.com">http://diniscruz.blogspot.com</a><br>
Twitter: <a href="http://twitter.com/DinisCruz">http://twitter.com/DinisCruz</a><br>Web: <a href="http://www.owasp.org/index.php/O2">http://www.owasp.org/index.php/O2</a><br>
<br><br><div class="gmail_quote">On 14 October 2010 15:22, Jeremy Epstein <span dir="ltr">&lt;<a href="mailto:jeremy.j.epstein@gmail.com">jeremy.j.epstein@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
This is a fascinating discussion, and I think there are a few key<br>
points which have been made, but not always clearly.<br>
<br>
(1) If the private key is protected by a password (as is common), then<br>
the protection is a combination of at least four factors: (a) the<br>
strength of the password, (b) how effectively the password is used to<br>
protect the bits (i.e., if it&#39;s just XORed, it&#39;s not that good!) (*),<br>
(c) how resilient the computer holding the private key is against<br>
software attacks, and (d) how resilient the computer holding the<br>
private key is against theft or other hardware attacks.  The reason<br>
it&#39;s not OK to share the private key encrypted by the password is a<br>
combination of ALL of these - and once you give away the<br>
key-protected-by-password to someone else, you are relying on how<br>
*they* implement (c) and (d).<br>
<br>
(*) There are standard ways to do this, so it&#39;s probably not a major<br>
factor - but we&#39;ve all seen cases where the password protecting the<br>
private key is used in a foolish way that provides minimal protection.<br>
 In that case, all that protects the key is the resiliency of the<br>
computer - i.e., items (c) and (d).  So giving the password-encrypted<br>
key away is a losing proposition.<br>
<br>
(2) The strength of a system isn&#39;t always where it appears to be - if<br>
the entire protection of the key is based on the strength of the<br>
password (and not the other measures mentioned above), then it doesn&#39;t<br>
matter if it&#39;s a 512 or 4096 bit RSA key (as an example).  It&#39;s no<br>
longer a public key system.<br>
<br>
[There was a system I analyzed years ago that had a sophisticated<br>
password strength system - but it made no difference because the<br>
password was hashed in the client and sent to the server, which<br>
compared the hashed password to a stored value.  So what the person<br>
*thought* was the password was just an input to a poorly-designed hash<br>
function, and what really mattered to the security of the system was<br>
the distribution of outputs of the hash function!]<br>
<br>
Thank you for the thought-provoking discussion - my initial thought<br>
was &quot;no way&quot;, but then I had to think hard as to why it&#39;s not<br>
acceptable to share the password-encrypted private key with a<br>
justification beyond &quot;it&#39;s a bad idea&quot;.<br>
<br>
Regards,<br>
<font color="#888888">--Jeremy<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
OWASP-Leaders mailing list<br>
<a href="mailto:OWASP-Leaders@lists.owasp.org">OWASP-Leaders@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-leaders" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-leaders</a><br>
</div></div></blockquote></div><br>