Аутентифікація та електронно-цифровий підпис
Аутентифікація користувача - це перевірка, чи дійсно користувач, який перевіряється, є тим, за кого він себе видає. Для коректної автентифікації користувача необхідно, щоб користувач пред'явив автентифікаційну інформацію - якусь унікальну інформацію, якою повинен володіти тільки він і ніхто інший. Для забезпечення автентифікації використовуються алгоритми шифрування, цифровий підпис, коди автентичності повідомлення (МАС) і функції хешування.
Існує три основних типи автентифікаційної інформації:
Користувач, що перевіряється, знає якусь унікальну інформацію. Приклад: автентифікація з паролем. [10, 288]
Користувач має якийсь предмет з унікальними характеристиками або вмістом. Приклади: смарт-карта, USB-токен і т.д.
Автентифікаційна інформація є невід'ємною частиною користувача. Приклад: відбиток пальця і інші види біометричної автентифікації (біометричною називається автентифікація користувача по його біометричним ознаками).
У будь-якому з цих випадків процедура автентифікації виконується в два наступних етапи:
У користувача одноразово береться якийсь еталонний зразок аутентификаційної інформації, наприклад, запитується пароль (або даний зразок генерується випадковим чином і потім записується на смарт-карту користувача). Даний зразок зберігається у суб'єкта системи, який перевіряє автентифікацію - модуля автентифікації (наприклад, сервера, який виконує автентифікацію користувачів). Звичайно існує деякий час дії даного еталону, по завершенні якого еталонний зразок міняється. [10, 290].
Кожного разу при виконанні автентифікації у користувача запитується автентифікаційна інформація, яка порівнюється з еталоном. На основі даного порівняння робиться висновок про автентичність користувача.
Для автентифікації користувача використовуються різні механізми: парольний захист, авторизація по протоколу SSL/TLS і комбінований метод. Для захисту інформації та підтвердження авторства можуть бути залучені різні криптосистеми: «Крипто-Про CSP», «Верба-OW», «Crypton ArcMail», «Домен-К», а також зовнішні засоби захисту.
У процесі автентифікації, ім'я і пароль користувача повинні бути передані до додатка по протоколу HTTP.
При використанні форм введення і інших методів автентифікації, відмінних від інтегрованої, облікові дані вводяться на сторінці авторизації і передаються на сервер у відкритому, незахищеному вигляді. Для захисту переданої інформації необхідно використовувати протокол SSL, який при великій кількості запитів може впливати на продуктивність сервера.
Для захисту підсистеми автентифікації рекомендується:
забезпечити засобами програми або засобами сервера додатків максимальну довжину, складність і випадковість значень сесійних ідентифікаторів. У Web-додатках рекомендується перевіряти відповідність ідентифікатора сесії і IP-адреси клієнта. Це затруднить зловмисника, в разі крадіжки ідентифікатора або отримання доступу до ресурсів законного клієнта;
реалізувати механізм блокування облікового запису при перевищенні порогу неправильно введених паролів і можливо ідентифікаторів сесій;
реалізувати механізм блокування ідентифікатора сесії при закінченні встановленого часу в тому випадку, коли аккаунт користувача не активний;
виключити можливість прямого звернення неавторизованого користувача до захищених ресурсів за відомим URL. Доступ до захищених ресурсів повинен бути можливий тільки після проведення процедури автентифікації;