Аутентификация и авторизация

Безопасность кода защищает нормальную, повседневную эксплуатацию приложения, инструмента или демона. Когда Ваш код находится под осадой, но что происходит? Часто важно знать не только, что делает пользователь, но также и кто пользователь и разрешают ли пользователю сделать это. Это - то, где аутентификация и авторизация играет роль.

Аутентификация

“Если Вы будете знать себя, но не Вашего врага, поскольку каждая победа получила Вас, то также потерпит поражение”.

— Сунь Цзы, Искусство войны

При обеспечении программного обеспечения первой вещью, которую необходимо сделать, является находка способ отличить друга от противника. Этот процесс вызывают аутентификацией.

В компьютерной безопасности аутентификация проверяет идентификационные данные пользователя или службы. Аутентификация обычно служит одной из двух целей:

Три типа аутентификации наиболее распространены:

Авторизация

Авторизация является процессом, которым объект, такой как пользователь или сервер получает разрешение выполнить ограниченную работу. Термин также часто используется для обращения вправо себя, поскольку в “Солдате имеет авторизацию ввести топливную цистерну команды”.

Различие между аутентификацией и авторизацией является несколько тонким. Часто, простой факт, что у пользователя есть учетная запись, означает, что пользователь разрешен сделать что-то, когда аутентификация и авторизация является той же вещью. Однако в более сложных системах, различие становится более очевидным.

Рассмотрите компьютер с двумя пользователями. Каждый пользователь известен системе. Поэтому оба пользователя могут каждый войти в систему компьютера, и он аутентифицирует их. Однако никакой пользователь не разрешен изменить файлы других, и в результате никакой пользователь не может сделать так.

Подробные данные авторизации зависят от того, используете ли Вы iOS или OS X.

В iOS пользователь может установить код доступа (который по умолчанию является четырехразрядным персональным идентификационным номером) предотвратить неправомерное использование устройства. После ввода этого кода доступа пользователь устройства, как предполагают, разрешен использовать устройство. Кроме того, каждое приложение снабжено цифровой подписью и может поэтому аутентифицироваться операционной системой. Поэтому нет никакой аутентификации пользователя или авторизации APIs в iOS.

В OS X существует несколько уровней авторизации:

Кроме того, и на OS X и на iOS, некоторые приложения могут потребовать, чтобы Вы вошли в систему удаленного сервера, поочередно выполняющего аутентификацию и авторизацию.

Узнавать больше

Для более подробного концептуального обзора аутентификации и авторизации в OS X считайте Аутентификацию, Авторизацию и Руководство по Полномочиям.

Можно также узнать о другом Apple и сторонних книгах безопасности в Других Ресурсах Безопасности.