Идентификация пользователя
Доступ к базе данных обычно требует идентификации пользователя и подтверждения его полномочий. При идентификации пользователя первый уровень защиты базы данных проверяет, что пользователь, обращающийся к системе, зарегистрирован. Его или ее личность может быть установлена при помощи:
чего-то, что пользователь знает, например, номер подключения и пароля;
чего-то, чем пользователь обладает, например, пластиковая идентификационная карточка;
Физической идентификации (отпечатка пальца или голоса).
Пароль на сегодняшний день - наиболее распространенный и зачастую самый дешевый способ защиты, подходит для многих приложений.
Идеальная схема паролей ограничивает доступ к системе при помощи паролей, которые трудно угадать, но при этом пользователю достаточно легко их помнить. Для некоторых приложений может оказаться достаточно задать параметры пароля, такие как длина и алфавит, а затем позволить пользователю самому выбрать пароль. При использовании такой схемы следует назначить ответственного за пароль, который будет проверять, что параметры пароля выдержаны и что не возникло повторов.
Для особо уязвимых систем следует рассмотреть более сложную схему защиты. В одной из таких схем используется программа, задающая пользователю вопросы, которые сам он ранее ввел в систему вместе с ответами. Вопросы обычно носят личный характер, так что только сам пользователь может ответить на них правильно. Возможны подобные последовательности вопросов:
Когда у вашей подруги день рождения?
Чем примечательно для вас 2 сентября?
Когда пользователь обращается к системе и вводит свой идентификационный номер, компьютер задает вопросы, случайным образом выбранные из записаных ранее. Выбор вопросов меняется от случая к случаю, чтобы другой человек не мог подсмотреть ответы на все вопросы.
Еще один способ защиты от несанкционированного доступа состоит в использовании предопределенного алгоритма. То есть компьютер предлагает пользователю случайно выбранное число и запрашивает ответ. Пользователь выполняет над числом заранее определенное преобразование и вводит результат. Компьютер сравнивает полученное значение с тем, которое он вычислил. Если они совпадают, то доступ разрешается.
Еще одним средством предотвращения несанкционированного доступа к системе служит задание типов транзакций, которые можно запустить с каждого терминала. Предоставить каждому терминалу крайне узкий круг возможностей – довольно эффективный и простой способ контроля. Например, терминалы, находящиеся в довольно доступном месте, могут выполнять только функции чтения данных.