<< Modelo de Operação | Implementando >> |
4. Modelo de Camadas
O protocolo TLS / SSL opera em dois níveis de camadas, uma situada logo acima da camada de transporte, que encapsula todos os serviços de segurança presentes na conexão, e outras três situadas acima dela, que controlam seu comportamento.
A seguir, estão descritos os protocolos das camadas SSL / TLS , com excessão do protocolo de Handshake, descrito anteriormente.
O TLS / SSL utiliza esta camada para encapsular todas as mensagens dos demais protocolos das camadas superiores. A estrutura do quadro desta camada é mostrada abaixo:
|
|
|
Protocolo |
|
Indica qual protocolo da camada superior está contido na mensagem deste registro |
Versao |
|
O maior e menor número da especificação de versão SSL / TLS que essa mensagem obedece |
Comprimento |
|
O Comprimento da mensagem do protocolo da camada superior |
Mensagens dos Protocolos |
|
Até 16384 bytes de mensagem da camada superior. Mais de uma mensagem podem estar contidas em um registro, desde que provenham do mesmo protocolo superior |
Este protocolo é o protocolo mais simples implementado no TLS / SSL . Aparentemente ele não parece ser um protocolo, já que consiste em uma única mensagem enviada pelos nós durante a etapa de negociação. O motivo pelo qual esta mensagem torna-se um protocolo é que como sua função é alterar o comportamento da camada inferior de Records , se o registro que contiver a mensagem para executar o inicio da encriptação possuir alguma outra mensagem, ela será perdida, pois a camada inferior tratará todo o bloco de mensagens do registro ou como encriptado ou como texto limpo. Portanto, a única forma é definindo a mensagem ChengeCypherSpec como um protocolo.
O sistema usa
o protocolo de alerta para sinalizar um erro ou uma situação não
esperada na conexão. O protocolo de alerta define dois campos: um nível
de segurança e uma descrição do alerta.
O campo com o nível de
segurança do alerta indica a severidade da condição que
causou o alerta. Os alertas podem ser avisos(warnings) quando o campo assume
valor 1, ou alertas fatais (valor 2). Alertas fatais representam problemas significativos
com a conexão, e indicam que a sessão deve ser imediatamente fechada
por ambas as partes. Já os avisos permitem que o sistema decida se a
sessão deve ser fechada ou não, porém ambas as partes devem
invalidar a sessão, para que ela não seja reutilizada mais tarde.
A tabela abaixo ilustra os possíveis
alertas e seus significados:
|
|
|
0 |
|
A parte emissora do alerta indica explicitamente que está fechando a conexão; Este alerta possui sempre nível de segurança de Warning |
10 |
|
A parte emissora indica que recebeu uma mensagem não esperada. Alerta fatal. |
20 |
|
A parte emissora indica que recebeu uma mensagem para a qual o MAC falhou. Alerta Fatal. |
30 |
|
A parte emissora indica que recebeu dados que não pôde descomprimir. Alerta Fatal. |
|
HandShakeFailure |
A parte emissora indica que não foi capaz de negociar um conjunto de configurações necessárias para a conexão. Alerta Fatal. |
|
NoCertificate |
O cliente indica que não possui certificado para atender ao pedido de Certificaterequest emitido pelo servidor. |
|
BadCertificate |
A parte emissora indica que recebeu um certificado corrompido. |
|
UnsupportedCertificate |
A parte recebeu um certificado de tipo não suportado. |
|
CertificateRevoked |
A parte emissora recebeu um certificado revogado pela entidade que o certificou. |
|
CertificateExpired |
A parte emissora recebeu um certificado já expirado. |
|
CertificateUnknown |
A parte emissora recebeu um certificado com erros que não puderam ser identificados. |
|
IllegalParameter |
A parte emissora indica que recebeu no handshake um parâmetro ilegal. |
Este protocolo define a camada por onde passam os dados úteis às aplicações que desejam se comunicar pelo canal segurado estabelecido pelo TLS/SSL.
<< Modelo de Operação | Implementando >> |