В прошлой статье, я привёл свою классификацию механизмов аутентификации. Теперь я поделюсь методами их оценки и сравнения.
Всего можно выделить 4 основных показателя системы аутентификации:
1. Затраты на установку и обслуживание.
2. Эффективность.
3. Надёжность.
4. Безопасность.
Но сперва вспомним, что понимается под процессом аутентификации?
![](https://habrastorage.org/r/w1560/storage2/13f/a82/cb4/13fa82cb433623209b26e7e0b64f8257.png)
Его можно представить в виде функции, которая вычисляет степень подобия образов аутентификаторов (a), имеющихся в системе (S) и у пользователя (П), и проверяет их на вхождение в доверительный интервал. В случае вхождения аутентификация считается успешной.
Почему именно, образы (a'), а не сами аутентификаторы?
Аутентификатором может быть: пароль, e-токен, радужная оболочка глаза и т.п. и в большинстве случаев он хранится либо у пользователя, либо в системе, а у противоположной стороны хранится лишь его образ, например, хэш пароля, отпечаток пальца или рисунок радужной оболочки глаза. И для сравнения первая сторона так же не передаёт сам аутентификатор, а лишь его образ. Эти образы могут совпадать полностью, в случае использования паролей, либо быть очень похожими при использовании биометрии. Способ проверки подобия отличается в зависимости от метода аутентификации, как и границы доверительного интервала — k min и k max, которые находятся в пределах от ноля до единицы. При парольной или аппаратной аутентификации обе границы доверительного интервала, как правило, равны единице, а при использовании биометрии или секретных вопросов, интервал зачастую имеет небольшой диапазон в окрестностях единицы. Причем k max — не всегда равна единице. В случае использования аутентификаторов, имеющих динамический характер, например, голоса или почерка, полное совпадения образов аутентификатора, говорит скорее о его подделке.
Теперь перейдём к основным показателям.
– показатель затрат, включающий в себя
— время, усилия или средства администратора системы на её установку и обслуживание, и пользователя для создания или изменения своей учётной записи, делённые на заданный коэффициент
, по-умолчанию являющийся средними затратами для данного класса систем.
Это, пожалуй самый сложный из показателей, т.к. не совсем понятно, как правильней считать затраты на установку и обслуживание системы администратором? Брать их целиком или в расчёте на одного пользователя?
Можно вычислять
= ((затраты на установку системы + затраты администратора на обслуживание в год) / кол-во пользователей) + затраты пользователя в год;
К тому же, можно добавлять множители для разных типов затрат.
– показатель эффективности, описывающий время, усилия или иные затраты, требующиеся от владельца учётной записи каждый раз, когда он или она аутентифицируются в системе, где
— затраты на ввод и анализ аутентификатора, а
— по-умолчанию является средними затратами на ввод и анализ аутентификатора для данного класса систем.
Это гораздо более осязаемый параметр. Время ввода аутентификатора, например, время ввода пароля, подсоединения флешки, записи голоса и их дальнейший анализ легко поддаются подсчёту, и не имеют больших колебаний.
– показатель надёжности, равный вероятности, того что владелец учётной записи сможет успешно пройти аутентификацию. Чем выше уровень надёжности, тем меньше показатель общей защищённости.
k min взято из описания процесса аутентификации. Если для аутентификации необходимо ответить на несколько простых контрольных вопросов, например на 7 из 10, то надёжность будет равна 30%. Соответственно, чем выше надёжность функции доступа, тем проще пользователю пройти аутентификацию. Поэтому с падением приоритета использования механизма аутентификации (от основного через резервный к механизму последней инстанции) должна повышаться надёжность механизма.
– показатель безопасности, описывающий общие затраты злоумышленника, требуемые для успешного прохождения аутентификации (ложной аутентификации) с помощью определённого типа атаки, где
— стоимость создания одного аутентификатора и его проверки,
— уровень квалификации злоумышленника, а
— сложность аутентификатора. По-умолчанию, под атакой понимается полный перебор всех возможных вариантов аутентификатора. Для других типов атак, формула может отличаться от данной.
Здесь, тоже всё в общем-то понятно. Если механизм не имеет явных уязвимостей, то единственным способом взлома остаётся атака полным перебором. И тут всё зависит от того как быстро злоумышленник может, например, генерировать пароли и проверять их.
Коэффициенты добавлены для того, чтобы показатели можно было сделать безразмерными. К тому же, при сравнении нескольких механизмов аутентификации, задав необходимые значения коэффициентам, можно получить более удобные для восприятия порядки чисел.
Сложность вычисления этих показателей заключается ещё в том, что затраты могут включать в себя сразу и время, и деньги, и специфические ресурсы.
Из этих основных показателей можно создать два производных:
5. Общая защищённость.
6. Общая эффективность.
– общая защищённость механизма аутентификации, против определённого типа атак, в данном случае против атаки полным перебором.
– общая эффективность механизма аутентификации.
1. Чем больше механизмов аутентификации используется в вашей системе, тем лучше для пользователя и хуже для вас. Золотой серединой является наличие трёх механизмов: основного, резервного и последней инстанции.
2. Первичным критерием при выборе и настройке механизмов аутентификации, использующихся в системе является общая защищённость. Она у всех механизмов должна быть примерно одинакова, при этом с падением приоритета использования механизма аутентификации должны повышаться его надёжность и безопасность.
3. При выборе между механизмами, относящимися к одному классу, и имеющими одинаковую защищённость, выбирайте тот, у кого выше общая эффективность.
4. Сравнивать имеет смысл только механизмы относящиеся к одному классу, либо имеющими одну общую характеристику.
В комментариях приветствуется конструктивная критика, уточнения и примеры из практики.
Всего можно выделить 4 основных показателя системы аутентификации:
1. Затраты на установку и обслуживание.
2. Эффективность.
3. Надёжность.
4. Безопасность.
Но сперва вспомним, что понимается под процессом аутентификации?
![](https://habrastorage.org/storage2/13f/a82/cb4/13fa82cb433623209b26e7e0b64f8257.png)
Его можно представить в виде функции, которая вычисляет степень подобия образов аутентификаторов (a), имеющихся в системе (S) и у пользователя (П), и проверяет их на вхождение в доверительный интервал. В случае вхождения аутентификация считается успешной.
Почему именно, образы (a'), а не сами аутентификаторы?
Аутентификатором может быть: пароль, e-токен, радужная оболочка глаза и т.п. и в большинстве случаев он хранится либо у пользователя, либо в системе, а у противоположной стороны хранится лишь его образ, например, хэш пароля, отпечаток пальца или рисунок радужной оболочки глаза. И для сравнения первая сторона так же не передаёт сам аутентификатор, а лишь его образ. Эти образы могут совпадать полностью, в случае использования паролей, либо быть очень похожими при использовании биометрии. Способ проверки подобия отличается в зависимости от метода аутентификации, как и границы доверительного интервала — k min и k max, которые находятся в пределах от ноля до единицы. При парольной или аппаратной аутентификации обе границы доверительного интервала, как правило, равны единице, а при использовании биометрии или секретных вопросов, интервал зачастую имеет небольшой диапазон в окрестностях единицы. Причем k max — не всегда равна единице. В случае использования аутентификаторов, имеющих динамический характер, например, голоса или почерка, полное совпадения образов аутентификатора, говорит скорее о его подделке.
Теперь перейдём к основным показателям.
Затраты на установку и обслуживание
![](https://habrastorage.org/storage2/f45/6bc/65a/f456bc65a1a4aefffe16d86c6134bd87.png)
![](https://habrastorage.org/storage2/43a/302/ac6/43a302ac657376a32b5ed3aa3e23f5f2.png)
![](https://habrastorage.org/storage2/ae0/7b6/a88/ae07b6a88602e65aa08980f74eb69eda.png)
Это, пожалуй самый сложный из показателей, т.к. не совсем понятно, как правильней считать затраты на установку и обслуживание системы администратором? Брать их целиком или в расчёте на одного пользователя?
Можно вычислять
![](https://habrastorage.org/storage2/43a/302/ac6/43a302ac657376a32b5ed3aa3e23f5f2.png)
К тому же, можно добавлять множители для разных типов затрат.
Эффективность
![](https://habrastorage.org/storage2/2e7/93d/c76/2e793dc766e379c6c2f3409082ff60cd.png)
![](https://habrastorage.org/storage2/2ad/cfe/d1f/2adcfed1f5be881f8e5e2b86d462df6f.png)
![](https://habrastorage.org/storage2/0fd/4e7/d31/0fd4e7d31ed65b790de2f7d9b1332027.png)
Это гораздо более осязаемый параметр. Время ввода аутентификатора, например, время ввода пароля, подсоединения флешки, записи голоса и их дальнейший анализ легко поддаются подсчёту, и не имеют больших колебаний.
Надёжность
![](https://habrastorage.org/storage2/e3b/714/ace/e3b714ace8b3216788c23741590f24a6.png)
k min взято из описания процесса аутентификации. Если для аутентификации необходимо ответить на несколько простых контрольных вопросов, например на 7 из 10, то надёжность будет равна 30%. Соответственно, чем выше надёжность функции доступа, тем проще пользователю пройти аутентификацию. Поэтому с падением приоритета использования механизма аутентификации (от основного через резервный к механизму последней инстанции) должна повышаться надёжность механизма.
Безопасность
![](https://habrastorage.org/storage2/8d2/e45/f4a/8d2e45f4a8817ca076d4c35b714f01c4.png)
![](https://habrastorage.org/storage2/141/9c4/396/1419c4396dfc6179323984ffa303a7dc.png)
![](https://habrastorage.org/storage2/856/875/f23/856875f23aff6d89662ae5739d676717.png)
![](https://habrastorage.org/storage2/892/784/77d/89278477da1eaaeac09b10ededa1a6b3.png)
Здесь, тоже всё в общем-то понятно. Если механизм не имеет явных уязвимостей, то единственным способом взлома остаётся атака полным перебором. И тут всё зависит от того как быстро злоумышленник может, например, генерировать пароли и проверять их.
Коэффициенты добавлены для того, чтобы показатели можно было сделать безразмерными. К тому же, при сравнении нескольких механизмов аутентификации, задав необходимые значения коэффициентам, можно получить более удобные для восприятия порядки чисел.
Сложность вычисления этих показателей заключается ещё в том, что затраты могут включать в себя сразу и время, и деньги, и специфические ресурсы.
Из этих основных показателей можно создать два производных:
5. Общая защищённость.
6. Общая эффективность.
Общая защищённость
![](https://habrastorage.org/storage2/9a0/130/6b4/9a01306b44639020c14ccbe2bf593709.png)
Общая эффективность
![](https://habrastorage.org/storage2/c9d/9aa/39d/c9d9aa39de4cce7fd72a40abf77a51d6.png)
Рекомендации по выбору и настройке систем аутентификации
1. Чем больше механизмов аутентификации используется в вашей системе, тем лучше для пользователя и хуже для вас. Золотой серединой является наличие трёх механизмов: основного, резервного и последней инстанции.
2. Первичным критерием при выборе и настройке механизмов аутентификации, использующихся в системе является общая защищённость. Она у всех механизмов должна быть примерно одинакова, при этом с падением приоритета использования механизма аутентификации должны повышаться его надёжность и безопасность.
3. При выборе между механизмами, относящимися к одному классу, и имеющими одинаковую защищённость, выбирайте тот, у кого выше общая эффективность.
4. Сравнивать имеет смысл только механизмы относящиеся к одному классу, либо имеющими одну общую характеристику.
В комментариях приветствуется конструктивная критика, уточнения и примеры из практики.