Misc: auth?

Если вы знаете, что аутентификация и авторизация есть разные вещи и можете объяснить себе почему это так, данный выговор вас миновал.

Уж слишком часто я встречаю, что технические “специалисты” безо всякой тени сомнения используют в своей речи как “авторизацию” так и “аутентификацию” не подозревая, что хоть эти процессы взаимосвязаны, но являются разными по существу.

Путанице так же помогает то, что сокращение от обоих этих слов выглядит как “auth” (authentication/authorization).

Что говорит по этому поводу Википедия:

Аутентифика́ция (англ. Authentication) — проверка принадлежности субъекту доступа предъявленного им идентификатора; подтверждение подлинности.

Авторизация (англ. authorization) – процесс предоставления определенному лицу прав на выполнение некоторых действий.

И тут же даёт бесплатный совет “Аутентификацию не следует путать с идентификацией и авторизацией.”

 

Опишем этими тремя терминами процесс входа в некую систему Unix.

Система предлагает вам ввести логин, но не зная о том что произойдёт после ввода данных нельзя однозначно утверждать, что это этап аутентификации. После ввода некоего логина система проверит некий файл passwd на присутствие в первом поле строки с разделителем “:” указанного нами логина и вот этого уже достаточно, чтобы понять – мы втянуты в процесс аутентификации. Дальше система, проверит чем заполнено поле пароля в найденной строке и если значение, допустим, отлично от “*” предложит ввести пароль.

Если до ввода пароля, авторизацию пихать в предложение было нельзя, потому что оснований для каких либо проверок собственно и не было, то после ввода онного происходит и аутентификация (сравнение хеша пароля из файла, с хэшем введённой строки) и авторизация (определение имеет ли пользователь право получить доступ к CLI, не является ли учётная запись просроченной), а так же другие подобные процессы согласно используемой схеме PAM.

А где же здесь идентификация? Она не интерактивна и происходит как только система получит от нас хоть какие-то данные о уникальном объекте, в нашем случае логина достаточно, чтобы узнать уникальный, в рамках данной системы UID – User identifier/Идентификатор пользователя. Вы думаете, что авторизация происходит на основании вашего логина? Это не совсем точно, достаточно создать пользователем файл, удалить этого пользователя из системы и проверить владельца файла – это будет UID. Тот что до удаления пользователя был в сопоставлен логину в файле passwd. Логина больше нет, значит UID’а тоже и лишь таблица метаданных файловой системы хранит о нём воспоминания :)

Итак, если у вас пытаются выяснить кто вы – вас аутентифицируют, а если пытаются выяснить имеет ли тот кто прошёл аутентификацию право делать то, что пытается быть совершённым – вас авторизуют, на основании уникального идентификатора аутентификационных данных.

SHARE: Tweet about this on TwitterShare on FacebookShare on VKShare on LinkedInShare on Google+Email this to someone