3
2. Overview of Skype Cryptography2.1 Registration
The central cryptographic secret in Skype is the Central Server’s private signing key, S
S
.The corresponding public verification key, V
S
, and an identifier for the key pair areinstalled in every Skype client at build time.Enrolment in the Skype cryptosystem begins with user registration. The user selects adesired username, call it A, and a password, call it P
A
. The user’s client generates an RSAkey pair, (S
A
and V
A
). The private signing key, S
A
, and a hash of the password, H(P
A
),are stored as securely as possible on the user platform. (On the Windows platform this isdone using the Windows CryptProtectData API).The client next establishes a 256-bit AES-encrypted session with the Central Server. Thekey for this session is selected by the client with the aid of its platform-specific randomnumber generator. The client can and does verify that it is really talking to the server. Theclient sends the server, among other things, A, H(P
A
) and V
A.
The Central Server decides whether A is unique, and otherwise acceptable under Skypenaming rules. If so, the server stores (A, H(H(P
A
))) in a database. It forms and signs anIdentity Certificate for A, IC
A
, which contains, among other things, the Central Server’sRSA signature binding A and V
A
, {A, V
A
}
SS
and the key identifier of S
S
. IC
A
is returnedto A.Actually, the above discussion of the server signing key is a simplification for purposesof clarity. In fact, there are two Central Server key pairs, one with a modulus of 1536 bitsand the other with a modulus of 2048 bits. The choice of which modulus to use is madeby the Central Server. It depends on whether the enrolling user has purchased any Skypepremium services,
e.g.
SkypeOut. If so, the longer modulus is used. If not, the shortermodulus is used. An enrolled user who purchases a premium service for the first time willbe issued a new IC, signed with the longer key.There is another simplification going on in the above discussion. The Central Server infact consists of a number of machines with different functions, including one machinewhich does nothing but sign certificates. Also, the entire Central Server pod is replicatedseveral times over for performance and business continuity.
2.2 Peer-to-Peer Key Agreement
Suppose now a caller, A, wishes to communicate with callee, B, and there is no pre-existing Skype session between them. In this case a new session is established andprovided with its own 256-bit session key, SK
AB
. This session will exist so long as thereis traffic in either direction between A and B, and for some fixed time afterward. Afterthe session is over, the SK is retained in memory until the client is closed, at which timeit is zeroed.
ALR-2005-031 Skype Security Evaluation 18 October 2005
Leave a Comment