Pergunta

Solicito -me a adicionar um novo algoritmo ao SSH, para que os dados sejam cifrados em novo algoritmo, alguma idéia de como adicionar novo algoritmo ao SSH?

obrigado

Foi útil?

Solução

É possível adicionar algum novo algoritmo à comunicação SSH, e isso é feito de tempos em tempos (por exemplo, a AES foi adicionada posteriormente). Mas a questão é que você precisa modificar o cliente e o servidor para que ambos suportem esse algoritmo, caso contrário, não faz sentido.

Suponho que você foi convidado a adicionar um algoritmo personalizado, feito em casa ou não-padrão. Então, a primeira coisa que eu gostaria de fazer é avisá -lo de que o algoritmo adicional pode ser fraco. Você precisa executar pelo menos pesquisas básicas por informações sobre esse algoritmo, como se estivesse quebrado, você fará um trabalho completamente inútil e até perigoso.

Quanto à modificação de software - é um trabalho raro fazê -lo, provavelmente você não encontrará ninguém com essa experiência lá. No entanto, o código que lida com vários algoritmos é típico e a adição de novo algoritmo é trivial - você adiciona um arquivo de origem à implementação do algoritmo e modifica um monte de lugares adicionando mais um caso para alternar a instrução.

Outras dicas

Na minha carreira, trabalhei em uma bifurcação privada de SSH que foi vendida como software comercial de código fechado. Mesmo eles em toda a sua estupidez maluca (Fork Private? Quem, em sã consciência, usa o software de criptografia de origem não aberto? Eu pensei que nossos clientes estavam completamente fora de seus roqueiros.) Não adicionaram um novo algoritmo de criptografia.

Isso pode ser feito embora. Adicionar os ganchos ao protocolo SSH para apoiá -lo não é difícil. O protocolo foi projetado para ser extensível dessa maneira. No início, as listas de algoritmos de criptografia do cliente e do servidor estão dispostos a usar.

Isso significa, é claro, que apenas um cliente modificado e servidor modificado conversarão entre si.

A verdadeira dificuldade é OpenSSL. O SSH não usa TLS/SSL, mas usa a biblioteca de criptografia OpenSSL. Você teria que adicionar o novo algoritmo a essa biblioteca, e essa biblioteca é uma fera terrível.

No entanto, suponho que você possa adicionar o algoritmo sem adicioná -lo ao OpenSSL. Isso pode ser complicado, já que eu acho que o OpenSsh pode confiar fortemente na maneira como as APIs OpenSSL funcionam. E parte de como eles funcionam permite que você passe uma constante representando qual algoritmo você deseja usar e, em seguida, um conjunto padrão de chamadas para criptografia e descriptografia que usam a constante para decidir sobre o algoritmo.

Novamente, se bem me lembro, o OpenSSL possui uma API especificamente para adicionar novos algoritmos à sua suíte. Então isso pode não ser tão difícil. Você terá que garantir que isso aconteça quando a biblioteca OpenSSL estiver sendo inicializada.

De qualquer forma, esta é uma resposta bastante vaga, mas talvez o aponte na direção certa. Você deve fazer com quem estiver fazendo esse pagamento enorme de dinheiro. A estupidez que exige que esse nível de conhecimento seja retirado nunca deve ocorrer barato.

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