[JDEV] MSNP8 Security Enhancement

Tijl Houtbeckers thoutbeckers at splendo.com
Thu Sep 11 20:28:21 CDT 2003


harmeet_im at kodemuse.com wrote on 12-9-2003 2:45:03:
>
>Pre MSN P8 authentication was based on client computing a secure hash
>and sending it to the server, but the new SSL authentication requires
>you to send the password over SSL. ie. the Password is actually sent
>to one of n servers. This appears (to me) to actually reduce security.
>
>- Password is sent to remote location.

That remote location is aware of your password anyway.

>- If password is relayed from destination SSL server to one or more
>  upstream servers, my password(not obfuscated hash) is sent to more
>  nodes.

It's reasonable to assume that the risk of someone intercepting the 
traffic between the desination server and the actual server that 
verifies your password is basically the same as one of those machines 
being compromised. I'm sure security for these servers and any traffic 
inbetween them is *very* tight. 

>- SSL is prone to man in the middle attack. So one can insert an SSL
>  Server that appears to be the destination. This can be done if the
>  DNS is compromised. (This could be done at network level, hosts file
>  etc.) SSL on client side may verify destination servers identity
>  against a truststore but that is vulnerable too. :-( If the SSL
>  Server can be mimicked basically the attacker can create a proxy,
>  appear like the real destination and slurp all passwords. My point
>  is that MS has actually reduced security by forcing people to send
>  their password over network instead of hash of password.

Er.. this is new to me?! Aren't SSL certificates meant to prevent 
exactly what you are describing here? Sure you can compromise DNS and 
let the client connect to you instead of the server . But the only 
thing you could do is relay the SSL encrypted data to where it's 
supposed to go (the hotmail / passport SSL servers). There is no way to 
decrypt it. Sure it costs a few $$$ to buy an SLL certificate, but 
microsoft probably could have bought 20 those with the profit they made 
while I'm typing this email. 

Your password is no more or less secure than it was before (if you 
don't consider wich would take less time to bruteforce, 3DES or SHA1 
(wich the old MSN protocol used if I'm not mistaken)). Neither is your 
session itself (if I'm not mistaken SSL is only used for authentication 
right?) 

However, with SSL there is one more advantage for Microsoft. With the 
old protocol there is no way of establishing what the client is. Just 
that it's someone who knows the username and password. With SSL however 
there is the possibilities of client-side certificates. If Microsoft 
decides to only allow their own clients and 3rd party clients with a 
proper license they can choose to only provide a clientside certificate 
for those clients. 

Sure, you eaily "rip out" the clientside cert. from an official MSN 
client and use it in your own unofficial client or transport. 
Technically it will work, but legally you're on a lot more shaky ground 
than when you were simply reverse enigneering a protocol and building 
your own implementation of it. In other words, one could argue that you 
steal the SSL certificate and you use it to break into Microsofts 
servers. 

PS: I am not saying that Microsoft will do this when they switch 
protocols or later on (just speculating on the possibilities). Nor am I 
expressing any opinion on Microsoft if they would choose to do such a 
thing. 

-- 
Tijl Houtbeckers
Software Engineer @ Splendo
The Netherlands




More information about the JDev mailing list