4. Криптографические методы защиты информации

Чтобы уменьшить ущерб от компрометации пароля, его следует периодически менять. Делается это следующим образом.
Антон генерирует случайное число R и пересылает его серверу, который вычисляет, исходя из этого числа и однонаправленной функции f, значения x1=f(R), x2=f(f(R)), x3=f(f(f(R))) и т.д. 101 раз. Первые 100 вычисленных значений х1, х2, … , х100 передаются Антону в качестве списка паролей, который он должен хранить в тайне. A х100 запоминается на сервере.
Теперь, когда Антон захочет зарегистрироваться для работы на сервере, ему достаточно ввести свое имя и число х100. Сервер вычислит f(x100) и сравнит его с х101. В случае совпадения Антону будет разрешен доступ к серверу, который затем заменит х101 на x100. А Антон вычеркнет х101 из своего списка паролей.
В следующий раз, когда Антон снова захочет получить доступ к серверу, он найдет в списке паролей следующее по порядку не зачеркнутое значение хj. Сервер вычислит f(хj) и сравнит с запомненным хj+1.
Злоумышленник Зиновий, взломавший сервер, все равно не сможет узнать очередной пароль Антона хj по хранимому на сервере значению хj+1, поскольку функция f является однонаправленной. По той же самой причине, даже если Зиновий перехватит хj, это позволит ему зарегистрироваться под именем Антона всего лишь один раз. А значения х1, х2, . . . , хj-1 так и останутся для Зиновия тайной за семью печатями при условии, что Антон достаточно ответственно относится к хранению списка паролей, полученного им с сервера. - Аутентификация при помощи криптосистем с открытым ключом
Ни "изюминки", ни периодически сменяемый пароль не гарантируют защиту от злонамеренных действий Петра, перехватывающего все сообщения Антона, которые тот пересылает по линии связи, соединяющей его с сервером. Решить эту проблему помогает применение криптографии с открытым ключом.
Предполагается, что на сервере имеется файл, в котором хранятся открытые ключи всех пользователей. В первом приближении криптографический протокол, который позволяет производить аутентификацию пользователей, выглядит так:



Сайт управляется системой uCoz