Да, у каждого пользователя должен быть свой сертификат.Сертификат используется для шифрования и подписи (асимметричная защита), а также для аутентификации.Аутентификация может также предоставляться другим вспомогательным токеном, но он не поддерживается привязками WCF по умолчанию (вы должны создать свои собственные).
Для поддержки такого сценария обычно требуется собственный центр сертификации (CA), который будет выдавать сертификатыклиентам.Это может быть либо использование в корпоративной сети, где компьютеры обычно доверяют корпоративному ЦС, либо его можно использовать через интернированный, но сертификат ЦС должен быть выдан хорошо известным и доверенным центром сертификации (например, VeriSign).
Это, конечно, выполнимов некоторых сценариях.Например, банки, использующие клиентские сертификаты плюс некоторый токен поддержки для подключения к интернет-банкингу (это обычно сценарий веб-приложения, а не сервисы, но это хороший пример B2C).Он также иногда используется для общения между деловыми партнерами (E2E / B2B).