02.01.2013 Views

Internet Protocol - Research by Kirils Solovjovs

Internet Protocol - Research by Kirils Solovjovs

Internet Protocol - Research by Kirils Solovjovs

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Skype protocol 77<br />

Login<br />

A Skype client authenticates the user with the login server, advertises its presence to other peers, determines the type<br />

of NAT and firewall it is behind and discovers nodes that have public IP addresses.<br />

To connect to the Skype network, the host cache must contain a valid entry. A TCP connection must be established<br />

(i.e. to a supernode) otherwise the login will fail.<br />

1. start<br />

2. send UDP packet(s) to HC<br />

3. if no response within 5 seconds then<br />

4. attempt TCP connection with HC<br />

5. if not connected then<br />

6. attempt TCP connection with HC on port 80 (HTTP)<br />

7. if not connected then<br />

8. attempt TCP connection with HC on port 443 (HTTPS)<br />

9. if not connected then<br />

10. attempts++<br />

11. if attempts==5 then<br />

12. fail<br />

13. else<br />

14. wait 6 seconds<br />

15. goto step 2<br />

16. Success<br />

After a Skype client is connected it must authenticate the username and password with the Skype login server. There<br />

are many different Skype login servers using different ports. An obfuscated list of servers is hardcoded in the Skype<br />

executable.<br />

Skype servers are:<br />

• dir1.sd.skype.net:9010<br />

• dir2.sd.skype.net:9010<br />

• dir3.sd.skype.net:9010<br />

• dir4.sd.skype.net:9010<br />

• dir5.sd.skype.net:9010<br />

• dir6.sd.skype.net:9010<br />

• dir7.sd.skype.net:9010<br />

• dir8.sd.skype.net:9010<br />

• http1.sd.skype.net:80<br />

• http2.sd.skype.net:80<br />

• http3.sd.skype.net:80<br />

• http4.sd.skype.net:80<br />

• http5.sd.skype.net:80<br />

• http6.sd.skype.net:80<br />

• http7.sd.skype.net:80<br />

• http8.sd.skype.net:80<br />

Skype-SW connects randomly to 1-8.<br />

On each login session, Skype generates a session key from 192 random bits. The session key is encrypted with the<br />

hard-coded login server's 1536-bit RSA key to form an encrypted session key. Skype also generates a 1024-bit<br />

private/public RSA key pair. An MD5 hash of a concatenation of the user name, constant string ("\nSkyper\n") and

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!