Method and software program product for mutual authentication in a communications network
1 Assignment
0 Petitions
Accused Products
Abstract
A method for mutual authentication between a subscriber and a communications network, in which a random number is generated at the subscriber'"'"'s terminal. The random number is sent to the authentication sub-system managing the authentication of the subscriber for the access to the network, e.g., together with a subscriber'"'"'s identifier. At the authentication sub-system, the identifier is used for checking the credentials of the subscriber. During the authentication process, parameters related to the subscriber'"'"'s identifier are generated at the authentication sub-system, and the random number is encrypted using a session key formed using such parameters. The encrypted random number is then sent back to the subscriber'"'"'s terminal, together with information needed to terminal in order to reconstruct the session key. After having reconstructed the session key, the subscriber'"'"'s terminal decrypts the random number and checks matching with its generated random number. The matching between the two numbers allows the verification, by the subscriber, that the access point to which he/she is connecting is not a fake access point.
94 Citations
54 Claims
-
1-27. -27. (canceled)
-
28. A method for a mutual authentication between a user and a communications network, said user being provided with a terminal to which a subscriber identity module is operatively coupled, said subscriber identity module storing at least one identifier and a first copy of a unique key associated to said user, said network including an authentication sub-system comprising at least a first authentication apparatus storing a second copy of said unique key associated to said user identifier, comprising:
-
sending said user identifier from said subscriber identity module to said terminal;
generating, a first number at said terminal;
sending said identifier and at least a portion of said first number from said terminal to said authentication sub-system through an access point of said network;
at said authentication sub-system, identifying said second copy of said unique key using said identifier, generating at least a second number and challenging said second number with said second copy of said unique key, so as to generate at least a first session key and at least a first signed response;
at said authentication sub-system, forming, according to a first rule, a second session key using at least said first session key, and encrypting at least said first number portion using said second session key;
sending at least said encrypted first number portion and said second number from said authentication sub-system to said terminal;
forwarding said second number from said terminal to said subscriber identity module and challenging, at said subscriber identity module said second number with said first copy of said unique key, so as to generate at least a third session key and at least a second signed response;
sending said third session key and said second signed response from said subscriber identity module to said terminal;
at said terminal, forming a fourth session key, according to a second rule corresponding to said first rule, using at least said third session key, and decrypting said first number portion received from said authentication sub-system using said fourth session key;
checking, at said terminal, a matching between said decrypted first number portion with a corresponding portion of said generated first number, so as to allow communications from said network to said terminal;
sending at least said second signed response from said terminal to said authentication sub-system; and
at said authentication sub-system, checking a matching between said first signed response and said second signed response, so as to allow communications from said terminal to said network. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A method for allowing a user to verify a trust of a communications network, the user being provided with a terminal to which a subscriber identity module is operatively coupled, said subscriber identity module storing at least one identifier and at least one unique key associated to said user, said network including an authentication sub-system, said method comprising, at said terminal:
-
receiving said user identifier from said subscriber identity module;
generating a first number;
sending said identifier and at least a portion of said first number to said authentication sub-system through an access point of said network;
receiving from said authentication sub-system through said access point, an encrypted number and at least a second number generated at said authentication sub-system;
forwarding said second number to said subscriber identity module;
receiving, from said subscriber identity module at least a first session key and a first signed response, obtained at said subscriber identity module from a challenge on said second number with said unique key;
generating a second session key using at least one among said first session key and said first signed response, according to a predetermined rule;
decrypting said encrypted number received from said authentication sub-system using said second session key; and
checking a matching between said portion of said first number with a corresponding first portion of said decrypted number, so as to allow trust verification of said network. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. A method for allowing a user to verify a trust of a communications network, the user being provided with a terminal, with an identifier and with a shared secret, said network including an authentication sub-system storing said user'"'"'s identifier associated to a copy of said shared secret, said method comprising, under control of said terminal:
-
generating a first number;
sending said user'"'"'s identifier and at least a portion of said first number to said authentication sub-system through an access point of said network;
receiving from said authentication sub-system through said access point, an encrypted number, said encrypted number being encrypted with a session key generated at said authentication sub-system based on said copy of said shared secret and on a second number generated at said authentication sub-system;
receiving said second number from said authentication sub-system through said access point;
processing said second number and said shared secret so as to obtain a copy of said session key;
decrypting said encrypted number received from said authentication sub-system using said copy of said session key; and
checking a matching between said portion of said first number with a corresponding portion of said decrypted number, so as to allow trust verification of said network.
-
Specification