É possível criar um certificado que não será instalado em uma máquina diferente da pretendida? (Usando alguma impressão digital de hardware incorporada no certificado?)
Ou, como alternativa, existe uma maneira de detectar do lado de recebimento de uma conexão TLS que o certificado está vindo da máquina errada (além de apenas manter uma tabela de pesquisa de IPs)?
O objetivo é autenticar usando o certificado e garantir que o certificado não tenha sido compartilhado ou distribuído.
Como você define "uma máquina particular"? Qual identificador de máquina exclusivo você está esperando para vincular o certificado? Também pode ajudar se você especificar a (s) plataforma (s) de que você gosta, porque a resposta para, digamos, um PC com Windows 8.1 pode ser diferente, digamos, de um iPad.
—
Spiff
Windows ou Linux em geral. Aberto a muitos tipos de impressões digitais, algo diferente do padrão "instalável em qualquer lugar". endereço MAC de hardware, ID de cpu, ID de disco rígido, etc. Não é realmente um grande problema se eles precisam ser regenerados se a impressão digital mudar, mas apenas uma maneira de validar que o certificado não está sendo distribuído gratuitamente para compartilhar o acesso.
—
Jason Coyne
Você precisa que isso seja "perfeitamente" seguro, ou você estaria aberto a uma solução que torna a exportação / compartilhamento de chaves privadas, embora não impossível, ainda uma técnica PITA com a qual os usuários menos técnicos não se incomodarão?
—
Spiff
O segundo deve ser bom o suficiente.
—
Jason Coyne