autenticação do computador

1

Eu tenho um servidor e vários clientes (A tecnologia não é importante no momento. Pode ser qualquer um.).
Eu preciso autenticar os computadores. Eles estão localizados em vários escritórios geograficamente alocados com endereços IP dinâmicos.

Não confio nas pessoas que trabalham nos PCs, por isso não gosto da autenticação de nome de usuário / senha.

Portanto, só preciso dos programas instalados nesses computadores para acessar o servidor. Se os programas são clonados (ou o SO é clonado) para outro PC, o servidor deve rejeitá-los.

Como posso fazer isso?
(VPN vai resolver isso. Existem outros métodos?)

    
por darko petreski 09.11.2010 / 19:27

5 respostas

2

Você pode estar no mercado para uma solução baseada em token de hardware, como o Yubikey . Então, agora eles ainda podem ser clonados, mas eles ainda terão apenas um yubikey e, portanto, apenas um computador funcional.

O custo é razoável (eu acho):

  • 1 a US $ 25 cada
  • 10 a US $ 20 cada
  • 100 a US $ 15 cada

Mas, para uma solução somente de software ... por que não carregar o computador com um certificado SSH e permitir somente um login por certificado. Isso não impedirá a clonagem, mas o efeito é o mesmo.

Você pode querer adicionar uma verificação na cpuid para que, se um certificado for usado para autenticar um cliente de vários clientes diferentes, reduza a vida útil do certificado ou faça alguma outra coisa chata. Note que o id da cpu não é muito confiável, mas aumenta um pouco o nível do cloner.

    
por 09.11.2010 / 20:00
2

O método mais fácil - mas também um método que pode ser facilmente enganado, é verificar o MAC Address da placa de rede.

Você não pode confiar em nenhuma chave ou método que dependa de qualquer chave que seja gerada uma vez, mas que apenas seja usada. Você precisa confiar em um token de hardware intermediário ou em um token armazenado no hardware.

O mais tardar pode ser alcançado usando o TPM. Você pode querer investigar neste tópico.

Editar

Em suma, o TPM permite armazenar tokens em um armazenamento baseado em hardware. Isso evitará efetivamente a clonagem de suas máquinas.

Você pode até ir tão longe e criptografar o disco rígido com base em uma chave baseada em TPM.

    
por 09.11.2010 / 19:43
0

Não existe algo como "somente programas podem acessar". Eles podem ser acessados por uma determinada conta / método ou não podem. Que tipo de recursos você está compartilhando, apenas documentos? Se você usar um método simples de nome de usuário / senha, poderá sempre alterar / excluir a conta deles.

Da mesma forma, você poderia configurar o acesso baseado em VPN, que permitiria restringir conexões com base em endereços MAC que (dentro do razoável) permitiriam restringir o acesso a partes específicas de hardware e invalidar um sistema operacional copiado.

    
por 09.11.2010 / 19:41
0

Eu não acredito que haja uma maneira de fazer isso. Basicamente, você deseja autenticar clientes sem senhas para que o usuário não tenha voz na autenticação, sugerindo que todos os "segredos" sejam armazenados na própria máquina.

Se a máquina puder ser clonada, armazenar o segredo na máquina (como VPN sem senha) não é uma opção. Se o cliente não for confiável, ter o segredo armazenado no disco não é uma opção, então você precisa encontrar uma maneira de determinar sua identidade sem poder confiar no sistema de arquivos ou em qualquer usuário.

Existem maneiras de fazer isso, como restrito com base no endereço IP (que você declara não ser uma opção) e restrito com base em alguma ID de hardware (como endereços MAC), que pode ser falsificada.

EDIT: Armazenar uma chave privada em uma unidade USB pode ser uma opção, mas ainda é suscetível a clonagem.

    
por 09.11.2010 / 19:44
0

Chave criptográfica USB + superglue. (por exemplo, eToken PRO). Toda a premissa deles é que eles mantêm a chave privada secreta / protegida e fazem as funções criptográficas na própria chave, nunca expondo-a ao computador.

    
por 10.11.2010 / 03:58