logo
Анин Б

Периодическая сменяемость паролей

Даже при наличии “изюминок” схема аутентификации пользователей путем проверки их паролей имеет один очень серьезный недостаток. Ведь не исключено, что линия связи, соединяющая персональный компьютер Антона с сервером информационно-коммерческой службы, проходит по территориям 33-х стран, законодательство которых по-разному трактует права своих и иностранных граждан на сохранение в тайне их личной переписки. И поэтому узнать пароль Антона, в принципе, может любой, кто сумеет подключиться к этой линии связи или обратиться в память сервера и узнать пароль, прежде чем для него будет вычислено соответствующее хэш-значение. Чтобы уменьшить ущерб от компрометации пароля, его следует периодически менять. Делается это следующим образом.

Антон генерирует случайное число R и пересылает его серверу, который вычисляет, исходя из этого числа и однонаправленной функции f, значения x1=f(R), x2=f(f(R)), x3=f(f(f(R))) и т. д. 101 раз. Первые 100 вычисленных значений x1, x2, . . . , х100 передаются Антону в качестве списка паролей, который он должен хранить в тайне. A х101 запоминается на сервере.

Теперь, когда Антон захочет зарегистрироваться для работы на сервере, ему достаточно ввести свое имя и число х100. Сервер вычислит f(x100) и сравнит его с х101. В случае совпадения Антону будет разрешен доступ к серверу, который затем заменит х101 на х100. А Антон вычеркнет х101 из своего списка паролей.

В следующий раз, когда Антон снова захочет получить доступ к серверу, он найдет в списке паролей следующее по порядку не зачеркнутое значение xj. Сервер вычислит f(xj) и сравнит с запомненным xj+1.

Злоумышленник Зиновий, взломавший сервер, все равно не сможет узнать очередной пароль Антона xj по хранимому на сервере значению xj+1, поскольку функция f является однонаправленной. По той же самой причине, даже если Зиновий перехватит xj, это позволит ему зарегистрироваться под именем Антона всего лишь один раз. А значения x1, x2, . . . , xj-1 так и останутся для Зиновия тайной за семью печатями при условии, что Антон достаточно ответственно относится к хранению списка паролей, полученного им с сервера.