Você precisa que o cliente apresente um certificado e faça com que seu servidor da web valide esse certificado / mapeie-o para um "usuário". A partir daí, seu software geralmente pode tratá-lo como informações básicas de autenticação.
Não posso ajudar muito com os detalhes do IIS, mas os documentos do Apache são uma boa cartilha geral, e esta página do iis.net pode ser de alguma ajuda também. Uma observação cuidadosa no Google ("Autenticação de cliente baseada em certificado" ou "autenticação de certificado de cliente") provavelmente também revelará algumas coisas úteis.