Hoje irei falar sobre SSL, mas precisamente sobre o Handshake no SSL, mas antes do foco principal, vamos saber o que é SSL e outro principios fundamentais!
SSL (Secure Socket Layer)
bom, o 'protocolo' SSL foi basicamente desenvolvido para encripitar, autenticar. se voce nao sabe o que isso faz, ou para que serve, vai saber agora.
Encriptação:Protege os dados contra um acesso nao autozizado, por meios de algoritimos criptográficos, antes da transmissão dos mesmos.
Autenticação:metodo usado para se verificar a 'identidade' do remetente, por exmplo: quando voce tenta se conectar a algum servidor da web numa conexão segura, é apresentado ao cliente no caso voce, uma serie de credenciais por meio um 'certificado' para a verificação da já mensionada 'identidade' do remetente.
E como o nome já diz.. 'Camada de socket seguro' o SSL age como sockets conectados por nosso famoso: TCP
entao podemos analisar um SSL como nada mais do que uma conexão parecida como o TCP só que 'seguras'.
SSL (Handshake)
Como ja disse podemos pensar que SSL é que nem o TCP mas 'seguro' entao existe sua conexão que é diferente do TCP, e que é o nosso foco vamos entao ao Handshake no SSL
Primeiro se tem uma serie de 'frescuras' rsrs..
é iniciado um acordo em que é definido a versão do protocolo, depois são selecionados os algaritimos de criptografia, e por ultimo, há a troca de chaves publicas.
Agora vamos ao Handshake de uma conexão SSL!
1º Cliente (Client Hello Message)------------------------->Servidor
2º Cliente<-------------------------(Server Hello Message)Servidor
3º Cliente<-------------------------(Certificate)Servidor
4º Cliente<-------------------------(Server Key Exchange Message)Servidor
5º Cliente-------------------------(Certificate)Servidor
6º Cliente(Certificate) ou (No Certificate Alert)------------------------->Servidor
7º Cliente(Client Key Exchange Message)------------------------->Servidor
8º Cliente(Change Cipher Spec Message)------------------------->Servidor
9º Cliente(Finished Message)------------------------->Servidor
10º Cliente<-------------------------(Change Cipher Spec Message)Servidor
11º Cliente<-------------------------(Finished Message)Servidor
12º Handshake Completed!
Pronto moçada, com esse meu 'quadro' de uma conexão SSL voces podem ter um entendimento melhor, mas se voces nao entenderam ainda, nao se preucupem irei explica, cada passo da conexão detalhadamente!
1º passo: O Cliente envia uma solicitação de conexão (Mensagem de Óla do Cliente)
2º passo: O Servidor se aceitou a conexão envia um "Mensagem de Olá do servidor" mostrando que aceitou a conexão
3ºpasso: O Servidor envia o seu 'Certificado'
4º passo: O Servidor envia sua Chave (mensagem de troca de chave)
5º passo: O Servidor pede o certificado do Cliente
6ºpasso: O Cliente envia o seu Certificado ou se nao tiver, envia um aviso que nao tem um sertificado (Alerta de não certificado)
7º passo: O Cliente envia sua chave (mensagem de troca de chave)
8º passo: O Cliente envia a "Change Cipher Spec Message" que serve para detectar qualquer alteração nos dados entre o tempo que ela foi enviada e o tempo que foi recebido durante a conexão SSL
9º passo: O Cliente envia uma mensagem dizendo que já acabou o "rala e róla"rsrs.. (mensagem de termino)
10º passo: O Servidor en via a "Change Cipher Spec Message" que já foi explicada! portanto leia tudo seu espertinho!
11º passo: O Servidor envia uma mensagem dizendo que já acabou toda a conexão (mensagem de termino)
12º Conclusão do Handshake, em que é completado o processo!
BEm, é issso ae, galera, tentei ser o mais breve e objetivo possivel, até a proxima..
Writen By: f0nt_Drk
[s]
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário