Há razões válidas para a utilização de um dispositivo de criptografia de hardware (por exemplo, USB criptografia dongle / keystore) sobre o uso de uma biblioteca de software?

StackOverflow https://stackoverflow.com/questions/1200319

  •  05-07-2019
  •  | 
  •  

Pergunta

Se suas necessidades de aplicação aos dados criptografar / descriptografar (por várias razões), existem razões pelas quais você usaria um dispositivo de hardware (por exemplo, um dispositivo de criptografia USB - como um Marx CryptoBox) em vez de usar uma biblioteca de criptografia de software (como .net Cryptography ou escrever o seu próprio) e manter suas chaves em um armazenamento de chave segura?

Eu estou procurando algumas visões objetivas sobre esta matéria.


Para diminuir a pergunta feita: o que a sua opinião seja, se o sistema que usou o dongle USB encrpytion foi alojado em um cofre servidor fisicamente seguro e havia apenas um sistema em existência (ou seja, a sua não um produto de software que é distribuído e executado em vários desktops)? Em termos muito simplista, o objectivo do sistema acima é validar (descriptografar e comparar) uma parte de dados de entrada codificados.


Graças até agora para os seus grandes respostas!

Foi útil?

Solução

Não é sobre o que é mais seguro porque nada é 100% à prova de bala. É uma pergunta sobre "como tornar o mais difícil possível"

Você pode vê-lo a partir deste ponto: Se você armazenar chaves no computador, eles estão lá 24/7. Se o meu par de chaves é em um dispositivo externo, as teclas são acessíveis apenas quando estiver ligado ao dispositivo. ==> Você reduzir o prazo em que alguém pode copiar suas chaves. É muito mais fácil o acesso alguma coisa, se o acesso físico não é necessário.

Pense bancário on-line: Muitos bancos têm adicionado maneiras "externas" de authentifcation como Tan / Tac / tanSMS / tokengenerators etc. etc. Nenhuma dessas é seguro para si: Eu posso roubar a sua senha de login, eu posso roubar o seu telefone celular, eu posso roubar o seu / list Tac Tan e assim por diante. Mas Chaces são muito baixos que eu posso roubar todos os elementos necessários de uma vez => Todas as peças do quebra-cabeça em conjunto, criam uma solução bastante seguro.

Também pensar destes fatores:

  • dinheiro:? Você realmente precisa de US $ baseada em tokens de proteção de 70 para o seu 100 $ aplicativo
  • tempo: Eu diria que o software de sistemas baseados são mais rápidos
  • relevância: Será que faz sentido para fornecer meus apps com um tal sistema de proteção complexa

Outras dicas

A chave de hardware permite a utilização para uso constrain do software para uma máquina onde a chave está ligado.

Com a criptografia de software que seria mais fácil para copiar o software para muitas máquinas e executá-lo muitas vezes em paralelo.

Sim, existem.

Por um lado, isso permite-lhe transmitir as chaves privadas fisicamente através de canais seguros, em vez de confiar em uma rede.

Por outro lado, se você tem que se mover entre uma série de sistemas que não são nessecarily todos ligados em rede, a chave USB é apenas uma maneira mais conveniente em relação. É por isso que os militares utilizam um sistema muito parecido com o que ( EKMS ). Eles não usam USB, mas eles usam pequenos dongles que se parecem com chaves de plástico grandes. A idéia é a mesma, mas USB não existia no início dos anos 90, quando eles estavam desenvolvendo isso.

text alt

(nota:. É um pouco assustador quão completa que o artigo Wikipedia é quando eu estava trabalhando no KP I foi dito que foram autorizados a colocar siglas como FIREFLY em nossos currículos, mas não foram autorizados a dizer a ninguém o que elas significavam.)

Eu acho que depende da finalidade / uso de sua aplicação. Se você está desenvolvendo um produto para uma necessidade de alta segurança, como a banca ou do governo, uma adição de hardware para a sua solução poderia ser inteiramente apropriado. Você tem que considerar os custos adicionais que uma solução de hardware gostaria de acrescentar ao projeto. Não apenas no desenvolvimento inicial, mas os custos de manutenção de hardware em curso que seriam necessários após o desenvolvimento está completo. Da minha perspectiva, tendo bancário trabalhou no passado, havia muito, muito poucas soluções onde nós sentimos que uma solução de hardware valeu a pena os custos adicionais que acarretaria.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top