PDA

View Full Version : Encryption question(s) & SWG



randomuser23
03-06-2003, 08:11 PM
(Sorry if this posts twice, cookie problem...)

Greetings,
Beginning slightly off-topic; Sony is releasing Star Wars Galaxies sooner or later and I have been pondering the plausibility of a SWG Emu (in theory of course :-) Logic might indicate that as SWG is based on EQ source code (or at least a derivative of) that the encryption of the SWG data stream might bear some resemblance to that of EQ.

A slashdot story (http://features.slashdot.org/features/02/12/01/1558220.shtml?tid=127) contains the following explanation of the EQ data encryption (From reading various posts in this forum I am assuming that this is still correct):


"The protocol is not unlike that used by ssh or SSL. A public key is sent from Sony to the client, and the client uses that key to encrypt a random session key and send it to Sony. Theoretically, this approach is open to only a limited number of attacks, all of which run the risk of being detected by the client." (continues below)

What was the approach that was successful? I assume that it was sniffing the resulting session key from the client memory space, therefore the initial session key exchange between server and client is (basically) ignored/irrelevant?

So, as some posters have mentioned previous, Sony could better protect the data stream by using honeypot session keys to throw keysniffers (the program(s) and the users) off the scent(?)

The article continues:

"On Thursday, October 31 ShowEQ broke once again. The protocol now compresses key data to prevent the analysis that was limiting the keyspace that has to be searched."

I don't really understand the second quote, how was uncompressed key data limiting the keyspace that had to be searched?

Forum posts indicate that the session key is also changed during every "zone"?. Does the entire encryption process occur at this time from scratch OR does the client use it's current session key (using formula or something) to generate a new session key?

Logic may dictate that if Sony used the same programmers to write SWG as they did EQ then the data encryption may use a similar method. I have tried to find a list of programmers who worked on Everquest but have not been able to find one, does anybody know of such a list? Is there a "credits" option in EQ (I don't own it) which lists people who worked on EQ?

TIA

high_jeeves
03-06-2003, 08:55 PM
Actually, the EQ and SWG projects are totally different people (one group is in San Diego, the other is in Austin)... in addition, from what has been quoted in various articles they are not based upon the same code (actually SWG and EQ2 WERE based on the same code long ago, but have since branched)..

As for the encryption it works as follows:

Server has a public/private key pair.

Every time you zone:
Server sends public key to the client.
Client generates a session key.
Client encrypts the session key with the servers public key, and sends it to the server.
Server decrypts the session key with its private key.
Certain packets are then encrypted with the session key when sent from the server to the client.

If you are not familiar with public/private key encryption systems, I recommend you do some reading on them...

--Jeeves