"Secure Shell" (ssh)O "Secure Shell" é um sistema cliente-servidor que tem como objectivo permitir o estabelecimento de sessões de terminal entre máquinas ligadas por uma rede insegura. Garante a confidencialidade dos dados transmitidos e permite ainda usar a conexão segura estabelecida para redireccionamento de serviços entre as máquinas ligadas. O redireccionamento de serviços alarga de modo significativo a utilização deste sistema que deixa de estar limitado a sessões de terminal e passa a ser aplicavel a qualquer serviço de rede. FuncionamentoO sistema é composto por um programa cliente (ssh) e um servidor (sshd), sendo usada criptografia de chave pública na fase de estabelecimento da sessão e posteriormente criptografia convencional. Além de os dados serem cifrados, também podem ser comprimidos usando o algoritmo zip. Depois de estabelecida uma sessão segura segue-se a autenticação do utilizador que pode ser realizada por diversos meios. O implementação ssh tradicional (ssh1/sshd1 - http://www.cs.hut.fi/ssh) funciona do modo que se descreve a seguir. Quando o servidor (sshd) é instalado numa máquina é gerado um par de chaves RSA de 1024 bits, que ficam atribuidas a essa máquina. Quando o servidor arranca é gerada um outro par de chaves RSA de 768 bits que ficam associadas ao servidor e são renovadas de 60 em 60 minutos. Embora estes números de bits para as chaves sejam considerados adequados podem ser configurados. Quando um cliente (ssh) contacta o servidor (sshd), usando normalmente a porta 22 do protocolo TCP, o servidor envia ao cliente as suas duas chaves públicas (de máquina e de servidor). O cliente verifica se a chave pública de máquina está na sua base de dados local, se tal não acontecer alerta o utilizador. De seguida o cliente gera uma chave de sessão secreta (criptografia convencional) com 256 bits, encripta a chave de sessão sucessivamente com as chaves públicas RSA de máquina e de servidor enviadas pelo sshd. A chave de sessão de 256 bits cifrada deste modo é então enviada ao servidor. Depois desta fase de estabelecimento de sessão todas as trocas de informação são cifradas com a chave de sessão usando criptografia convencional. Os algoritmos que podem ser usados para este efeito são o IDEA, o DES, o DES triplo, o ARCFOUR e o TSS. O procedimento descrito garante a confidencialidade da sessão, mas continua a existir a necessidade de o utilizador se autenticar, os métodos possíveis são:
(to be continued ...)
A implementação mais recente (ssh2/sshd2 - http://www.ssh.fi) (to be continued ...) andre@dei.isep.ipp.pt http://www.dei.isep.ipp.pt/~andre |