Prior to a login session, a server computer stores a password verification
value v for each of a plurality of authorized users. Each user generates a
password verification value v from a secret value x that corresponds to
the user's password. When a client computer attempts to establish a login
session between the server computer and client computer, the following
steps are performed. The server computer receives a user identifier and
retrieves the password verification value for the user. The client
computer generates a first public value w.sub.p by applying the one-way
function to a first secret value w.sub.s, and sends w.sub.p to the server
computer. The server computer generates a second public value y.sub.p by
applying the one-way function to a second secret value y.sub.s, and sends
y.sub.p to the client computer. The server computer also generates a
server session key K.sub.1 by applying a first predefined session key
generation function to w.sub.p, v and y.sub.s. The client computer
regenerates the user's secret value x, and then generates a client session
key K.sub.2 by applying a second predefined session key generation
function to y.sub.p, w.sub.s, and x. Then the client and server computers
exchange a set of messages so that each can verify that the other
computer's session key is equal to its locally generated session key. The
login session is established only if the server computer verifies that the
server and client session keys match.
Πριν από μια σύνοδο σύνδεσης, ένας υπολογιστής κεντρικών υπολογιστών αποθηκεύει μια αξία β επαλήθευσης κωδικού πρόσβασης για κάθε μια από μια πολλαπλότητα των εξουσιοδοτημένων χρηστών. Κάθε χρήστης παράγει μια αξία β επαλήθευσης κωδικού πρόσβασης από μια μυστική αξία Χ που αντιστοιχεί στον κωδικό πρόσβασης του χρήστη. Όταν ένας υπολογιστής πελατών προσπαθεί να καθιερώσει μια σύνοδο σύνδεσης μεταξύ του υπολογιστή κεντρικών υπολογιστών και του υπολογιστή πελατών, τα ακόλουθα βήματα εκτελούνται. Ο υπολογιστής κεντρικών υπολογιστών λαμβάνει ένα προσδιοριστικό χρηστών και ανακτά την αξία επαλήθευσης κωδικού πρόσβασης για το χρήστη. Ο υπολογιστής πελατών παράγει μια πρώτη δημόσια αξία w.sub.p με την εφαρμογή της μονόδρομης λειτουργίας σε μια πρώτη μυστική αξία w.sub.s, και στέλνει w.sub.p στον υπολογιστή κεντρικών υπολογιστών. Ο υπολογιστής κεντρικών υπολογιστών παράγει μια δεύτερη δημόσια αξία y.sub.p με την εφαρμογή της μονόδρομης λειτουργίας σε μια δεύτερη μυστική αξία y.sub.s, και στέλνει y.sub.p στον υπολογιστή πελατών. Ο υπολογιστής κεντρικών υπολογιστών παράγει επίσης μια σύνοδο βασικό K.sub.1 κεντρικών υπολογιστών με την εφαρμογή μιας πρώτης προκαθορισμένης λειτουργίας παραγωγής συνόδου βασικής σε w.sub.p, το β και y.sub.s. Ο υπολογιστής πελατών αναπαράγει τη μυστική αξία Χ του χρήστη, και παράγει έπειτα μια σύνοδο βασικό K.sub.2 πελατών με την εφαρμογή μιας δεύτερης προκαθορισμένης λειτουργίας παραγωγής συνόδου βασικής σε y.sub.p, w.sub.s, και το Χ. Κατόπιν οι υπολογιστές πελατών και κεντρικών υπολογιστών ανταλλάσσουν ένα σύνολο μηνυμάτων έτσι ώστε κάθε ένα μπορεί να ελέγξει ότι το κλειδί συνόδου άλλου υπολογιστή είναι ίσο με το τοπικά παραγμένο κλειδί συνόδου του. Η σύνοδος σύνδεσης καθιερώνεται μόνο εάν ο υπολογιστής κεντρικών υπολογιστών ελέγχει ότι τα κλειδιά συνόδου κεντρικών υπολογιστών και πελατών ταιριάζουν με.