| Criptologia Codificação por substituição Codificação simétrica Codificação assimétrica Public Key Infractructure (PKI) Cryptosystemes Legislação Protocolos protegidos Mais informações |
Internet permite realizar um grande número de operações a distância, nomeadamente a administração de servidores ou a transferência de ficheiros. O protocolo e os r-comandos BSD (rsh, rlogin et rexec) que permite efectuar estas tarefas distantes possuem o inconveniente essencial de fazer circular em claridade sobre a rede as informações trocadas, nomeadamente o identificador (ligin) e a senha para o acesso à máquina distante.Assim, um pirata situado sobre uma rede entre o utilizador e a máquina distante à possibilidade de ouvir o tráfego, ou seja de utilizar instrumento chamado um capaz de capturar as tramas que circulam sobre a rede e assim de obter o identificador e a senha de acessos à máquina distante.
Ainda que as informações trocadas não possuem um grande
nível de segurança, o pirata obtem um acesso à uma conta
sobre a máquina distante e pode eventualmente estender
os seus privilégios máquina a fim de obter um acesso administrador
(root).
Já que é impossível dominar o conjunto das infra-estruturas físicas situadas entre o utilizador e a máquina distante (Internet por definição uma rede aberta), a única solução é recorrer à uma segurança ao nível lógico (a nível dos dados).
O protocolo SSH (Secure Shell) responde à esta problemática permitindo à utilizadores (ou serviços TCP/IP) aceder à uma máquina através de uma comunicação calculada (chamado túnel).
O protocolo SSH (Secure Shell) foi posto ao ponto em 1995 pelo Finlandês Tatu Ylönen.
Trata-se de um protocolo que permite um cliente (um utilizador ou mesmo uma máquina) abrir uma sessão interativa sobre uma máquina distante (servidor) a fim de enviar encomendas ou ficheiros de maneira protegida:
A versão 1 do protocolo (HS) proposta a partir de 1995 tinha para objectivo servir de alternativa às sessões interativas (shells) como Telnet, rsh, rlogin e rexec. Este protocolo possuia contudo uma falha que permite um pirata inserir dados no fluxo calculado. É a razão pela qual em 1997 a versão 2 do protocolo (SSH2) foi proposta como documento de trabalho (draft) ao IETF. Os documentos que definem o protocolo são acessíveis em linha sobre http://www.ietf.org/html.charters/secsh-charter.html.
Secure Shell Versão 2 propõe igualmente uma solução
de transferência de ficheiros protegida (SFTP, Secure File Transfer
Protocol).
SSH é um protocolo, quer dizer um método standard que permite à máquinas estabelecer uma comunicação protegida. A esse respeito, existe numerosas aplicações de clientes e de servidores HS. Alguns são oneroso, outros são gratuitos ou abertos fonte: encontrará diversos clientes HS na seção telecarregamentode CommentCaMarche.
O estabelecimento de uma conexão HS faz-se em várias etapas:
Posto em lugar de uma camada de transporte protegida começa por uma fase de negociação entre o cliente e o servidor a fim de entender-se sobre os métodos de codificação a utilizarem. Com efeito o protocolo SSH é previsto para funcionar com um grande número de algoritmos de codificação, é por isso que o cliente e o servidor devem inicialmente trocar os algoritmos que suportam.
Seguidamente, a fim de estabelecer uma conexão protegida, o servidor envia a sua chave pública de hóspede (host key) ao cliente. O cliente gera uma chave de sessão de 256 bits que calcula graças chave à pública do servidor, e envia ao servidor a chave de sessão calculada bem como o algoritmo utilizado. O servidor decifra a chave de sessão graças à sua chave privada e envia uma mensagem de confirmação calculada à ajuda da chave de sessão. A partir lá o resto das comunicações é calculado graças a um algoritmo de codificação simétrico utilizando a chave de sessão compartilhada pelo cliente e o servidor.
Toda a segurança da transação descansa sobre o seguro que têm o cliente e o servidor da validade das chaves de hóspede de outra parte. Assim, aquando da primeira conexão um servidor, o cliente afixa geralmente uma mensagem que pede aceitar a conexão (e apresenta eventualmente um condensado da chave de hóspede do servidor):
Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)?A fim de obter uma sessão verdadeiramente protegida, é aconselhado pedir oralmente ao administrador do servidor que valide a chave pública apresentada. Se o utilizador validar a conexão, o cliente regista a chave hóspede do servidor a fim de evitar a repetição desta fase.
Pelo contrário, de acordo com a sua configuração, o servidor pode às vezes verificar que o cliente é efectivamente aquele que pretende ser. Assim, se o servidor possuir uma lista de hóspedes autorizados a conetar-se, vai calcular uma mensagem à ajuda da chave pública do cliente (que possui na sua base de dados de chaves de hóspedes) a fim de verificar se o cliente for em condições de decifrá-lo à ajuda da sua chave privada (fala-se de challenge).
Uma vez que a conexão protegida é posta em lugar entre o cliente e o servidor, o cliente deve identificar-se sobre o servidor a fim de obter um direito de acesso. Existe vários métodos:
Résultats pour SSH
Résultats pour SSH
Résultats pour SSH
Résultats pour SSH
Résultats pour SSH