Re: [cryptography] data integrity: secret key vs. non-secret verifier; and: are we winning?

2012-05-02 Thread Kevin W. Wall
On Wed, May 2, 2012 at 5:01 AM, Darren J Moffat
darren.mof...@oracle.com wrote:
 On 05/02/12 06:33, Kevin W. Wall wrote:

 primitives that do not include *any* AE cipher modes at all. Some
 great examples are in the standard SunJCE that comes with the
 JDK (you have to use something like BouncyCastle to get things
 like GCM or CCM for Java and that's often a hard political sell so
 most developers won't bother). Another example is with the .NET
 framework. It too has no authenticated mode. Both Java and
 .NET only support ECB, CBC, CFB, OFB modes and starting
 with JDK 1.6, Java also offers CTR mode. (.NET may too; I haven't
 actually looked in a while.)


 JEP 115: AEAD CipherSuites

 http://openjdk.java.net/jeps/115

Darren,

Well, that is definitely good news to be sure, but as I read JEP 115,
it appears that:
1) The interfaces are only defined in JDK 7. A reference implementation
won't come until JDK 8. (Meanwhile, most applications are still on
JDK 6 and some even on earlier, unsupported versions.)
 2) As I read this, it appears as though the reference implementation
is only going to address Java Secure Sockets Extension (JSSE)
and for PKCS#11 support. In other words, all they are doing with is
adding support for some new cipher suites for TLS.and adding PKCS11
support to NSA's Suite B compliance for TLS.

Specifically, from the cited URL, it states:
Note that in order to support the GCM AEAD cipher
suite in JSSE, the GCM cipher implementation is
required in the JCA/JCE PKCS11 provider.

So at this point, without having looked at the interfaces in JDK 7,
I am not sure that one will be able to use GCM with AES when
using the Cipher class.  However, I will look more deeply. If nothing
else though, it's a step in the right direction, so thanks for the
pointer.

-kevin
-- 
Blog: http://off-the-wall-security.blogspot.com/
The most likely way for the world to be destroyed, most experts agree,
is by accident. That's where we come in; we're computer professionals.
We *cause* accidents.        -- Nathaniel Borenstein
___
cryptography mailing list
cryptography@randombit.net
http://lists.randombit.net/mailman/listinfo/cryptography


[cryptography] DIAC: Directions in Authenticated Ciphers

2012-05-02 Thread D. J. Bernstein
The DIAC submission page is now open, with a deadline at the end of
Monday 7 May (American Samoa time):

   http://hyperelliptic.org/conferences/diac/iChair/submit.php

DIAC is an ECRYPT-sponsored workshop that will take place 5--6 July in
Stockholm, in particular evaluating the idea of a new competition for
authenticated ciphers. The call for papers asks for submissions on new
components, combinations, attacks, and implementations, but also asks
for submissions discussing requirements---what users actually want.
Submissions of panel proposals, white papers, lists of desiderata, etc.
are encouraged, and there are no particular length requirements.

I should emphasize that an authenticated-cipher competition would be
much more than an AE mode competition. There are certainly people
working on new ways to use AES, but there are many more people working
on new authenticators, new block ciphers, new stream ciphers, new
ciphers with built-in authentication mechanisms, etc.

Zooko Wilcox-O'Hearn writes:
 authenticated encryption can't satisfy any of my use cases!

Of course it can! Evidently you to want to combine it with public-key
signatures, which will render the secret-key authenticator useless, so
for efficiency you'd like to suppress that authenticator. This doesn't
work well with something like AES-OCB3, but it _does_ work well with
something like AES-GCM, giving you AES-CTR.

There are clear engineering advantages to having an AES-CTR module
that's reused by AES-GCM (for applications that want the authentication)
and by Tahoe-LAFS. On the other hand, AES-OCB3 encrypts faster. If you
help people see Tahoe-LAFS as part of this picture then you have a
chance of influencing future work in a way that you'd find useful.

Let me again emphasize that these AES modes are only one corner of the
authenticated-ciphers topic. If we do in fact end up with hundreds of
cryptographers working on authenticated ciphers for years then I
wouldn't bet on AES (or GCM, or OCB3) being part of the final result.

ianG writes:
 the cryptographer's push for AE mode is simply the creation of a more
 perfect hammer, when our real worries are about the building, not the nail.

I agree that the building is in sorry shape, but you shouldn't paint an
overly positive view of the current hammer. Here are a few recent and
ongoing examples of failures of secret-key cryptography:

   * OpenSSH leaking some plaintext (Albrecht, Paterson, Watson).
   * OpenSSL DTLS leaking much more plaintext (AlFardan, Paterson).
   * TLS leaking cookies et al. (Dai, Moeller, Bard, Duong, Rizzo).
   * EAXprime (Smart Grid) allowing fast forgeries (Minematsu et al.).
   * Many breaks in encrypt only; authentication is too slow IPsec.
   * Keeloq door/car/garage RFID completely broken (Eisenbarth et al.).
   * More broken AES is too big RFID proposals: HB, HB+, etc.

To summarize: Yes, non-cryptographic security is a disaster, but
cryptography is a disaster too. :-)

---D. J. Bernstein
   Research Professor, Computer Science, University of Illinois at Chicago
___
cryptography mailing list
cryptography@randombit.net
http://lists.randombit.net/mailman/listinfo/cryptography


Re: [cryptography] DIAC: Directions in Authenticated Ciphers

2012-05-02 Thread Nico Williams
On Wed, May 2, 2012 at 8:00 PM, D. J. Bernstein d...@cr.yp.to wrote:
 I should emphasize that an authenticated-cipher competition would be
 much more than an AE mode competition. There are certainly people
 working on new ways to use AES, but there are many more people working
 on new authenticators, new block ciphers, new stream ciphers, new
 ciphers with built-in authentication mechanisms, etc.

A few years ago Schneier proposed a cipher called Helix that, while
broken, has some very interesting properties making it unlike any
other cipher or cipher more I'm aware of.

 Zooko Wilcox-O'Hearn writes:
 authenticated encryption can't satisfy any of my use cases!

 Of course it can! Evidently you to want to combine it with public-key
 signatures, which will render the secret-key authenticator useless, so
 for efficiency you'd like to suppress that authenticator. This doesn't
 work well with something like AES-OCB3, but it _does_ work well with
 something like AES-GCM, giving you AES-CTR.

Well, Zooko has an application that uses Merkle hash trees and really
wants to authenticate only the roots of the trees, with all the leaves
being encrypted without authentication.  I think that's a perfectly
fine design, assuming a strong enough hash primitive.  It *is* AE, in
a way, but it's not AE like GCM and it's intimately tied to
Tahoe-LAFS' on-disk format.  Git is very similar (though there's no
built-in head signature scheme, IIRC, but it's perfectly possible to
sign git hashes); git does use SHA-1, which is too weak for my taste,
but aside from that the design is fine.

Nico
--
___
cryptography mailing list
cryptography@randombit.net
http://lists.randombit.net/mailman/listinfo/cryptography


Re: [cryptography] PKI in practice: is there a list of (widely deployed) client-certs-issuing CAs?

2012-05-02 Thread ianG

On 2/05/12 05:18 AM, Martin Paljak wrote:

On Sat, Apr 28, 2012 at 05:25, ianGi...@iang.org  wrote:


Well, to the extent above.  My db has a table for all certs, and a table for
all users, with a join by cert identifiers between the two tables.

I hope you actually bind the actual public key instead of any kind of
identifiers?


Binding the public key to the user name?  No, I use the serial to 
indicate the cert identity [0] and I use the name to indicate the account.


The reason for this is that fundamentally the CA makes a claim.  I am 
sort of expecting that claim to be that the name is right, whatever that 
means.  So, I should rely on that name.


And public keys should be replaceable, as are the certs and other 
fields.  In practice, what this means is that when a new cert comes 
along, I use some basic heuristics to analyse which account it belongs 
to, by for e.g., relying on the name or email address.


However, the CA doesn't claim that the name is unique :)  Nor does it 
claim that the email belongs to that person always, tomorrow, today or 
even yesterday.  Nor does it claim that the person has only one name or 
one email ...


Which brings me to part 2:  this whole thing is an experiment in using 
client cert certificates in code to finesse the whole login experience away.


(So, I'm also careful not to have high value data in there ;) )



Or would that not be against the single principle of an enduser
controlling a private key, in which case the normal CA guarantee of
a unique identifier (serial) under a given CA (which, in practice,
should be out of picture) ?



CAs are supposed to:

 * make the serial a unique identifier.  Over on Mozilla lists that 
argument is going on, because the rules have recently shifted from 
probably serial therefore unique to hopefully unique, and now 
includes 20 bits of unpredictable uniqueness.  I think this might be 
agreeing with your point - relying on fields written by corporate man 
might not be the smartest idea.


 * test for control of private key that matches the public key.

 * test for control of an email address, and/or holding of some 
documents that match a human name.


Now, all these are part marketing claims, part hopes  dreams.  Rather 
than grumble more, what I and others had been doing was experimenting. 
We had a small community using client certs, and I knocked up a demo 
site.  To test to see how hard or easy it was.


In the end it is not hard.  But it's not so hugely reliable, because of 
the inherent limit in PKI/CA claims.  Be warned;  don't let serious 
amounts of value ride on this stuff.  Great for small / admin sites. And 
a whole lot easier to administrate than say passwords, once you get the 
cert into the user's browser.





iang


[0] Funnily enough, over on Mozilla I just recommended against doing this.
___
cryptography mailing list
cryptography@randombit.net
http://lists.randombit.net/mailman/listinfo/cryptography