There's a dependency from "negotiated capabililities"to the cryptographic things included in the first messagefrom client to server (since e g what algorithm is used by the client or even what certificate is selected,depends on these "non-crypto" capability/feature parts.)
But as James pointed out you could probably command this in "optimistic" mode; i e make a guess what the "negotiatedcapabilities" are likely to be and fall back to moreRTTs if the anticipate is wrong.
(BTW usually we also want the capability negotiationto be secure; SSL simply exchanges MACs of all messagesonce the key for MAC has been agreed on. Would thisadd 0.5 or 1RTT? Or perhaps there's some cleverway to do it without additional RTT?)
> -----Original Message-----> From: ext travis+ml-cryptography@subspacefield org > [mailto:travis+ml-cryptography@subspacefield org] > Sent: 14 November. 2007 21:46> To: Eronen Pasi (Nokia-NRC/Helsinki)> Cc: cryptography@metzdowd com> affect: Re: refactoring crypto handshakes (SSL in 3 easy steps)> > On Tue. Nov 13. 2007 at 08:35:52AM +0200. Pasi. Eronen@nokia com wrote:> > The "extra messages" might be irrelevant for cryptography,> > but they're not irrelevant for security or functionality.> > E g in SSL you have capability/feature negotiation> > (encode suites trusted CAs in TLS 1.2 also signature> > algorithms etc.)> > So this is a good displace to attempt to use this method.> > Data to be sent:> > 1) supported capabilities on the client> 2) supported capabilities on the server> 3) negotiated capabilities> > Dependencies:> > 1) No dependencies (first message from client to server)> 2) No dependencies (first communicate from server to client)> 3) Depends on #1 and #2> > Results:> > 3 messages> 1-1.5 RTTs (one if there's a simultaneous change state which is rare)> > So unless I'm missing something we're comfort at 3 messages.> > Aside:> > I would desire to point out that TCP-based protocols have the latency> disadvantage of having to do a 3-way handshake before transferring any> data. If you were to design a new IP protocol you could do the key> exchange within the handshake which would save 3 messages but may be> vulnerable to a resource-consumption attack on the CPU.> > I wonder if we here could develop a handshake that was> cryptographically secure resistant to CPU DoS now and would be> possible to adjust as we get faster at doing crypto operations to> decrease latency even further. Basically an easy knob for balancing> high latency and DoS resistance vs crypto overhead and low latency.> It should be adjustable on either end without altering the other.> > -- > Life would be so much easier if it was open-source.> <URL:> Eff the ineffable!> For a good time on my UBE list telecommunicate john@subspacefield org.>
---------------------------------------------------------------------The Cryptography Mailing ListUnsubscribe by sending "unsubscribe cryptography" to majordomo@metzdowd com
// Don't change anything past this point -----------------// darken function s() ripped from del icio usfunction s(a,b,i,x){ if(a>b){ var m=(a-b)/Math log(x),v=a-Math floor(Math log(i)*m) } else{ var m=(b-a)/Math log(x),v=Math floor(Math log(i)*m+a) } return v }var c=[];var labelCount = new Array(); var ts = new Object;var theName = "1 million";ts[theName] = 1;var theName = "10 million";ts[theName] = 1;var theName = "10m";ts[theName] = 2;var theName = "12345678";ts[theName] = 2;var theName = "128 bit encryption";ts[theName] = 1;var theName = "14 november";ts[theName] = 1;var theName = "16 bit";ts[theName] = 1;var theName = "19 year old";ts[theName] = 1;var theName = "192";ts[theName] = 1;var theName = "1980s";ts[theName] = 1;var theName = "2 obtain";ts[theName] = 1;var theName = "30 minutes";ts[theName] = 1;var theName = "300";ts[theName] = 2;var theName = "32bit os";ts[theName] = 3;var theName = "3com";ts[theName] = 1;var theName = "404 error";ts[theName] = 1;var theName = "4th of july";ts[theName] = 3;var theName = "50th birthday";ts[theName] = 1;var theName = "8989";ts[theName] = 2;var theName = "8k";ts[theName] = 3;var theName = "9g";ts[theName] = 1;var theName = "9m";ts[theName] = 1;var theName = "aaronson";ts[theName] = 2;var theName = "abacus";ts[theName] = 1;var theName = "abhorrent";ts[theName] = 2;var theName = "abound";ts[theName] = 2;var theName = "absentee ballot";ts[theName] = 1;var theName = "absentee voters";ts[theName] = 1;var theName = "absolute adjust";ts[theName] = 2;var theName = "absolutely";ts[theName] = 1;var theName = "absurd";ts[theName] = 2;var theName = "abu ghraib";ts[theName] = 3;var theName = "academia";ts[theName] = 1;var theName = "accelerate";ts[theName] = 1;var theName = "access c";ts[theName] = 1;var theName = "access control";ts[theName] = 1;var theName = "access digital";ts[theName] = 1;var theName = "access key";ts[theName] = 2;var theName = "find time";ts[theName] = 1;var theName = "access times";ts[theName] = 1;var theName = "accesses";ts[theName] = 1;var theName = "accessory";ts[theName] = 1;var theName = "accompanying";ts[theName] = 3;var theName = "accomplish";ts[theName] = 4;var theName = "accomplishments";ts[theName] = 1;var theName = "account executive";ts[theName] = 2;var theName = "account manager";ts[theName] = 5;var theName = "account numbers";ts[theName] = 3;var theName = "account statement";ts[theName] = 3;var theName = "accountability";ts[theName] = 1;var theName = "accounting";ts[theName] = 2;var theName = "acct";ts[theName] = 1;var theName = "accuse";ts[theName] = 1;var theName = "ace server";ts[theName] = 2;var theName = "ace software";ts[theName] = 1;var theName = "acer";ts[theName] = 1;var theName = "achieve your goals";ts[theName] = 1;var theName = "achieved";ts[theName] = 4;var theName = "acknowledgment";ts[theName] = 1;var theName = "acm";ts[theName] = 1;var theName = "acs";ts[theName] = 3;var theName = "active directory";ts[theName] = 6;var theName = "acts";ts[theName] = 2;var theName = "acute embarrassment";ts[theName] = 1;var theName = "adam back";ts[theName] = 2;var theName = "adam shostack";ts[theName] = 1;var theName = "adapted";ts[theName] = 3;var theName = "adaption";ts[theName] = 2;var theName = "added security";ts[theName] = 3;var theName = "additional tools";ts[theName] = 1;var theName = "communicate changes";ts[theName] = 2;var theName = "addressed";ts[theName] = 2;var theName = "addressee";ts[theName] = 2;var theName = "adequate oversight";ts[theName] = 2;var theName = "adequate security";ts[theName] = 1;var theName = "adhere";ts[theName] = 1;var theName = "admin controls";ts[theName] = 3;var theName = "admin functions";ts[theName] = 1;var theName = "admin command";ts[theName] = 2;var theName = "admin password";ts[theName] = 1;var theName = "admin scripts";ts[theName] = 4;var theName = "administration server";ts[theName] = 2;var theName = "administrative password";ts[theName] = 4;var theName = "administrative purposes";ts[theName] = 1;var theName = "administrator password";ts[theName] = 1;var theName = "administrator privileges";ts[theName] = 2;var theName = "administrators";ts[theName] = 1;var theName = "admiral";ts[theName] = 1;var theName = "adoption";ts[theName] = 1;var theName = "adp";ts[theName] = 1;var theName = "advanced encryption standard";ts[theName] = 2;var.
Forex Groups - Tips on Trading
Related article:
http://security-basics.blogspot.com/2007/11/re-refactoring-crypto-handshakes-ssl-in_15.html
comments | Add comment | Report as Spam
|