Я читал, что защита служб с помощью клиентских сертификатов более безопасна, чем использование комбинации TLS с базовой аутентификацией.
Клиентские сертификаты имеют существенные недостатки с точки зрения сложности настройки и производительности, поэтому я ищу более конкретные причины того, как сертификаты клиентов более безопасны, и некоторые примеры ситуаций, в которых они оправданы. Спасибо!
Сертификат клиента не более безопасен, чем (хороший, защищенный) пароль. В общем, это лучше, чем пароль, потому что с меньшей вероятностью (невозможно) совпадение с другим сертификатом (в отличие от http://xkcd.com/792/ ), и его менее вероятно (невозможно) угадать (т.е. он устойчив к атакам по словарю). Вероятность того, что он будет разглашен конечным пользователем, меньше, чем пароль.
Сертификаты на стороне клиента считаются «чем-то, что у вас есть», поэтому сертификат клиента и пароль («что-то, что вы знаете») могут удовлетворять любым требованиям TFA (двухфакторной аутентификации) в различных нормативных актах.