Autenticação de Cliente SSL

2

Atualmente, tenho SSL no servidor para que os clientes tenham uma conexão segura com meu servidor da Web.

Estou procurando implementar certificados SSL de clientes ALÉM DO login normal de nome de usuário / senha, mas estou tendo dificuldades para entender exatamente o que precisa acontecer.

  1. Cada usuário deve receber seu próprio certificado?
    1. Isso deve ser gerado na criação da conta do usuário?
    2. O usuário deve receber um certificado separado para cada dispositivo usado? (por exemplo, telefone, tablet, pc)
    3. Quais devem ser os campos no DN dos certificados?
  2. Para cada certificado de usuário, deve haver uma chave privada correspondente ou uma chave única para todos os certificados?
  3. Como esses certificados de usuário são distribuídos? Existe uma maneira automatizada de instalá-los?
    1. Eles devem ser armazenados no servidor para download?
por fruitcup 02.08.2013 / 07:18

1 resposta

2

Cada usuário deve receber seu próprio certificado?

Geralmente, sim.
Você pode usar um certificado para todos (e determinar quem é o usuário real com base no nome de usuário / senha), mas se esse certificado for comprometido, você precisará emitir novos certificados para todos - isso não é conveniente para você ou seus usuários.

  • Os certificados devem ser gerados por usuário quando sua conta é criada.
  • Os certificados podem ser por usuário ou por dispositivo. Esta é uma escolha de implementação. Faça o que faz sentido para o seu ambiente:
    • Se você estiver verificando se o dispositivo está autorizado, um certificado por dispositivo faz sentido.
    • Se você estiver verificando se um determinado usuário (U / P) é quem ele diz, o trabalho por usuário é válido.

Deve haver uma chave privada global ou uma chave para cada certificado?

Definitivamente, uma chave por certificado.

Todos os seus certificados de usuário devem ser um par público / privado, exclusivo de um usuário (ou dispositivo). Todos devem ser assinados por uma autoridade confiável (o certificado de CA da sua empresa).

Como os certificados de usuário são distribuídos?

De qualquer forma que você quiser (sujeito às restrições de várias plataformas e software). Eu sugiro que NÃO os publique em uma página da Web para qualquer pessoa no mundo copiar, mas como você obtém certificados para dispositivos é uma opção de implementação que você pode fazer.

Se você armazenar os pares de certificados em um servidor, certifique-se de que o servidor esteja seguro - você não quer que alguém coloque as mãos em todos os seus certificados (válidos). Re-chave todos os seus usuários será um aborrecimento (e muito difícil de explicar).

Definitivamente, leia a pergunta de segurança de TI que a dawud apontou para que abrange alguns dos aspectos mecânicos da geração dos certificados (e igualmente importante - a CRL). Segurança de TI também tem outras perguntas / respostas sobre autenticação de certificado que seria um grande recurso para você em relação à teoria e princípios que você precisa implementar para que isso seja seguro .

    
por 02.08.2013 / 18:26