On Mon, 2003-09-29 at 06:07, Guus Sliepen wrote:

> TLS makes a distinction between a client and a server. If possible I
> wish to avoid making that distinction. If possible, I would also like to
> continue to be able to use an RSA public/private keypair. This made me
> *sketch* the following _authentication_ protocol:
... snip ...
> Some questions:
> - Some people keep saying that "you shouldn't send the same kinds of
>   messages". TLS sends different kinds of messages depending on its role
>   (client or server). Is there a reason behind this?
> - Would it be nice to move all the cryptographic parameters exchanged in
>   step 1 into the encrypted message in step 2? That way an attacker
>   cannot see which encryption and digest algorithms will be used, which
>   might make an attack less feasible.
> - Did I miss something?

1) TLS both authenticates the server and establishes an encrypted
session in the server part of the transaction. 

2) The original SSL somewhat assumed that the business requirements are
different for server authentication (and encrypted session) vis-a-vis
client authentication. The original SSL requirement a) was to give some
level of confidence to the client that "the server that the client thot
it was talking to" was actually "the server it was talking to" and b)
provide an encrypted session. There wasn't actually a threat model
requiring proving who you are ... just a threat model that the server
prove that it was who the client supposedly thot it was. 

3) SSL was being deployed with a requirement for encrypted session in an
environment where client authentication:

  a) might not be required
  b) was not required as part of the transport protocol
  c) was used to webize/tunnel an existing legacy application
      where the client might use userid/password or other 
      authentication previously established
  d) wouldn't be public key based because the clients were not
     expected to have public/private key pairs and certificates

Some web'ized legacy applications were adopted from a private network
environment ... where the client as part of making the connection "knew"
that it was talking to the correct server. The minimum required to move
that to the wide-open web ... was to provide server authentication and
encrypted session ...  and then tunnel the legacy app thru the encrypted
session. The business requirement and threat model wasn't to invent a
brand new environment from scratch ... but to adapt existing business
operations to the wide-open web.

"Mutual" authentication was somewhat an add-on of client authentication
to the base infrastructure. In fact, I think that we were the first to
specify and required the first implementation as part of the back-end of
this thing that has come to be called electronic commerce.

random electronic commerce refs:

The trivial e-commerce is that the merchant server didn't really care
who the client was ... just that the client bought something and the
merchant was going to get paid. The merchant needed to provide some
assurance that the credit card transaction being passed thru to the
financial infrastructure was protected. The merchant relied on the
financial infrastructure authenticating the credit card transaction ...
and, in fact, any mutual authentication that might be done as part of
the SSL transaction had no impact on the credit card transaction. 

To some extent, both VPN and SSL come into existence about the same time
to satisfy specific business requirement(s) (and in part because it was
taking so long to see any progress with ipsec).

Anne & Lynn Wheeler -  http://www.garlic.com/~lynn/ 

The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]

Reply via email to