21
151 Segurança Informática / ISTEC - 19/20 4ª Parte Protocolos de comunicação segura e Serviços VPN (continuação de medidas preventivas)

4ª Parte Protocolos de comunicação segura e Serviços VPN

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4ª Parte Protocolos de comunicação segura e Serviços VPN

151

Segurança Informática / ISTEC - 19/20

4ª Parte – Protocolos de comunicação segura e Serviços VPN

(continuação de medidas preventivas)

Page 2: 4ª Parte Protocolos de comunicação segura e Serviços VPN

152

Segurança Informática / ISTEC - 19/20

Requisitos para soluções de segurança nas comunicações na internet:

* Autenticação de entidades

* Confidencialidade dos dados transmitidos

* Controlo de integridade de dados transmitidos

* Gestão de chaves de criptografia

Segurança implementada ao nível da rede =>

* “Dispensar” soluções de segurança ao nível das

camadas superiores

• Evitar custo de desenvolvimento/aquisição

• Evitar peso computacional de programas de segurança ao nível da

camada de aplicação => menor desempenho da aplicação

* Invisível para Aplicações e Utilizadores

4.1 – Soluções de Segurança

Page 3: 4ª Parte Protocolos de comunicação segura e Serviços VPN

153

Segurança Informática / ISTEC - 19/20

* Serviços de segurança disponibilizados por protocolos de segurança:

• Autenticação:

– Usando algoritmos de cifra assimétrica:

• Alice e Bob utilizam um pares de chaves (KAB =/= KBA):

• Codificação => Alice usa chave Publica (não secreta) de Bob

• Descodificação => Bob utiliza a sua chave Privada (secreta)

• Confidencialidade:

– Usando algoritmos de cifra simétrica:

• Alice (envio) e Bob (receção) utilizam as mesmas chaves (KAB

= KBA) para codificação e descodificação de mensagens

• Controlo de Integridade e autenticação de origem de dados:

– Usando MACs (Message Authentication Code)

• Usando chave simétrica/secreta

4.1 – Soluções de Segurança

Page 4: 4ª Parte Protocolos de comunicação segura e Serviços VPN

154

Segurança Informática / ISTEC - 19/20

* MACs (Message Authentication Code):

• Código para autenticação e controlo de integridade de mensagem,

obtido a partir de:

– conteúdo da mensagem

– de chave simétrica/secreta partilhada por emissor e recetor

4.1 – Soluções de Segurança

Exemplo de MAC:

MD5: Message

Digest 5

Page 5: 4ª Parte Protocolos de comunicação segura e Serviços VPN

155

Segurança Informática / ISTEC - 19/20

Secure Socket Layer (SSL) / Transport Layer Security (TLS)

* SSL:

• Desenvolvido pela Netscape em 1995

• Objetivo: estabelecer sessões seguras (autenticadas + encriptadas +

controlo de integridade) entre navegadores (browsers) e servidores

• Implementado na camada de sessão (C5) para fornecer serviços de

segurança à camada de transporte (C4), onde residem TCP e UDP

• IETF (Internet Engineering Task Force) em 1999 normaliza SSL v3

– SSL v3.0 TLS v1.0

* TLS:

• TLS v1.0, definido no RFC 2246, derivado de SSL v3.0

• TLS v1.1, definido no RFC 4346 (2006)

• TLS v1.2, definido no RFC 5246 (2008)

• TLS v1.3, definido no RFC 6066 (2018)

* Atualmente disponível na maioria dos browsers e servidores web

* Ao longo das aulas iremos usar a terminologia SSL/TLS

4.2 – SSL/TLS

Page 6: 4ª Parte Protocolos de comunicação segura e Serviços VPN

156

Segurança Informática / ISTEC - 19/20

* Conceito de Ligação:

• Transporte isolado de uma quantidade de informação entre duas

entidades comunicantes:

– Relação peer-to-peer

– Ligação temporária (geral/ de curta duração)

– A cada ligação corresponde uma sessão

* Conceito de Sessão:

• Associação duradoura (maior duração) entre 1 cliente e 1 servidor:

– Estabelecida pelo handshaking do protocolo TLS (orientado à

ligação)

– Uma sessão pode ter múltiplas ligações/canais de comunicação

– Uma sessão é caracterizada por um conjunto de parâmetros de

segurança que se aplicam a todas as ligações dessa sessão

• Evitar necessidade de negociar parâmetros de segurança

para cada ligação separada

4.2.1 – Conceito de Sessão

Page 7: 4ª Parte Protocolos de comunicação segura e Serviços VPN

157

Segurança Informática / ISTEC - 19/20

* SSL/TLS definido por um conjunto de protocolos:

4.2.2 – Protocolos SSL/TLS

* S/MIME (Secure/Multipurpose Internet Mail Extensions)

Protocolos de segurança que podem ser

Incluídos nas aplicações:

* PGP: Pretty Good Privacy

Page 8: 4ª Parte Protocolos de comunicação segura e Serviços VPN

158

Segurança Informática / ISTEC - 19/20

Protocolos de SSL/TLS:

* Protocolo Handshake (aperto de mão):

• Autentica as entidades em comunicação

– Possibilidade de usar diferentes tipos de autenticação:

• Interação anónima: c\ partilha de chave, ex. Diffie-Hellman

• Geração de chave secreta entre 2 entidades comunicantes

• Uso de Certificados (+ seguro): que autenticam servidor ou

cliente&servidor e possibilitam o transporte de chaves de encriptação

• Exemplos de certificados digitais em browser/cliente usados em

comunicações seguras:

4.2.2 – Protocolos SSL/TLS

Page 9: 4ª Parte Protocolos de comunicação segura e Serviços VPN

159

Segurança Informática / ISTEC - 19/20

Protocolos de SSL/TLS:

* Protocolo Handshake (continuação):

• Negoceia os algoritmos usados pelo Protocolo de Registos

• Estabelece as chaves de cifra e MAC das mensagens

– Baseadas na chave mestre/secreta gerada pelo cliente e enviada

para o servidor no procedimento de autenticação

• Inicializa e sincroniza o estado das sessões e respectivas ligações

4.2.2 – Protocolos SSL/TLS

Page 10: 4ª Parte Protocolos de comunicação segura e Serviços VPN

160

Segurança Informática / ISTEC - 19/20

* Protocolos de SSL/TLS:

• Protocolo de Registos:

– Controla confidencialidade e integridade de dados

– Controla autenticação de origem da informação

– Controla o transporte de dados do servidor para o cliente e vice-

versa. Exemplo de procedimentos na transmissão (na receção

são efetuados os inversos):

1. Fragmentação de dados em blocos

2. Compressão de blocos

3. Calcula e adiciona MAC a cada bloco, usando algoritmo e

chave de encriptação definidos em Handshake

4. Encripta bloco com MAC (criptograma), usando algoritmo

e chave de encriptação definidos em Handshake

5. Entrega de criptograma a camada 4 (TCP) para serem

transmitidos para a rede

4.2.2 – Protocolos SSL/TLS

Page 11: 4ª Parte Protocolos de comunicação segura e Serviços VPN

161

Segurança Informática / ISTEC - 19/20

* Protocolos de SSL/TLS:

• Protocolo de Alerta:

– Utilizado para envio de mensagens de notificações entre as

duas entidades comunicantes, para informação de cenários de

erro

• Ex. falha na descompressão de um bloco

• Protocolo de Mudança de Cifra (Cipher Change):

– Utilizado para possibilitar mudança de chaves de encriptação na

transmissão de blocos de uma ligação de uma sessão

4.2.2 – Protocolos SSL/TLS

Page 12: 4ª Parte Protocolos de comunicação segura e Serviços VPN

162

Segurança Informática / ISTEC - 19/204.2.3 – Protocolos de serviços com SSL/TLS

Exemplos de protocolos de serviços que utilizam SSL/TLS:

* SMTP + SSL/TLS = SSMTP

• SMTP usa porto 25, SSMTP usa porto 465

* POP3 + SSL/TLS = SPOP3

• POP3 usa porto 110, SPOP3 usa porto 995

* HTTP + SSL/TLS = HTTPS

* HTTP usa porto 80, HTTPS usa porto 443

• Utilizado em browsers no acesso a sites que utilizam informação

confidencial, ex:

– Webmail

– Home banking

• Browsers fornecem indicação sobre o seu uso:

– URL iniciado em “https://”

– Cadeado fechado

Page 13: 4ª Parte Protocolos de comunicação segura e Serviços VPN

163

Segurança Informática / ISTEC - 19/20

Funcionalidades de IPSecurity (IPSec):

* Estabelecimento de SAs (Security Association) entre 2 entidades

* Garantia de autenticidade e integridade da informação, ao nível do IP:

1. Garantir que a fonte do pacote é de fato a indicada no cabeçalho

2. Garantir que o pacote não foi alterado durante a transmissão

=> Inserção de cabeçalho de Autenticação (AH: Authentication

Header) para garantir 1. e 2.

* Garantia de confidencialidade e integridade, ao nível do IP:

• Garantir que nenhuma 3ª entidade maliciosa consiga

ler/compreender ou alterar os dados transmitidos nos pacotes IP

=> Inserção de cabeçalho de segurança de dados/conteúdo

encapsulado (ESP: Encapsulation Security Payload)

* Suporte a dois modos de operação:

• Modo Transporte: proteção de dados do utilizador (payload)

• Modo Túnel: proteção de todo o pacote

* Possibilidade de usar protocolo IP Payload Compression (IPComp)

para compressão de dados

4.3.1 – Funcionalidades do IPSec

Page 14: 4ª Parte Protocolos de comunicação segura e Serviços VPN

164

Segurança Informática / ISTEC - 19/20

Associações de Segurança (SA: Security Association) :

* Conjunto de regras e parâmetros que possibilitam o estabelecimento

de uma comunicação segura IPSec (autenticada+encriptada+integra)

entre 2 máquinas comunicantes:

• Regras de segurança acordadas:

– Algoritmo de encriptação (ESP)

– Algoritmo de autenticação (AH)

• Parâmetros relevantes especificados:

– Identificador de SA: Security Parameter Index (SPI)

– Parâmetros de autenticação e encriptação:

• Chaves de cifra a usar

• Vetores de inicialização

– Endereço IP destino

– Modo do protocolo: túnel ou transporte

– Nºs de sequência para controlo de ordem de pacotes

transmitidos

4.3.2 – Associações de Segurança (SA)

Page 15: 4ª Parte Protocolos de comunicação segura e Serviços VPN

165

Segurança Informática / ISTEC - 19/20

Associações de Segurança (SA: Security Association) :

• É unidirecional =>

– Para comunicações bidirecionais é necessário uma SA para cada

direção da comunicação

• São utilizados protocolos de gestão de chaves na internet para

estabelecimento de SAs, exemplo:

– IKE: Internet Key Exchange: protocolo para estabelecimento de

canal seguro entre as 2 entidades comunicantes:

1. Autenticação com base em chave secreta (ex. Diffie-Hellman)

2. Estabelecimento de 1ª SA IKE para handshake:

* Negociação de regras e parâmetros a usar na SA IPSec:

=> Métodos de encriptação e autenticação

3. Estabelecimento de 2ª SA IPSec para transmissão de dados em

modo seguro, com base em regras e parâmetros definidos em

handshake de SA IKE

4. Transmissão de dados protegidos em SA IPSec

4.3.2 – Associações de Segurança (SA)

Page 16: 4ª Parte Protocolos de comunicação segura e Serviços VPN

166

Segurança Informática / ISTEC - 19/20

Modos de Operação:

* Modo Transporte: proteção de dados do utilizador (payload):

• Cabeçalho IP original é mantido

• Dados do pacote IP são encriptados

• Cabeçalho(s) novo(s) de extensão são adicionados a seguir a

cabeçalho IP e antes de cabeçalho TCP ou UDP

4.3.5 – Modos de Operação

Internet

Cabeçalho

IPESP AH Cabeçalho

TCPDados

Protegido

MAC

Page 17: 4ª Parte Protocolos de comunicação segura e Serviços VPN

167

Segurança Informática / ISTEC - 19/20

Modos de Operação:

* Modo Túnel: proteção de todo o pacote:

• Pacote IP original é totalmente encapsulado dentro de um novo

pacote, com novo cabeçalho exterior, ao qual é acoplado o

cabeçalho AH ou ESP

• Na receção o cabeçalho novo introduzido pelo emissor é descartado

e o cabeçalho original recuperado

– Cabeçalho exterior => encaminhamento dentro do túnel

– Cabeçalho interno/original => encaminhamento fora do túnel

• Modo usado na criação de VPN

• Modo compatível com NAT (Network Address Translation)

4.3.5 – Modos de Operação

Cabeçalho

IP Externo

Internet

Cabeçalho

IP ExternoESP Cabeçalho

IP InternoDadosCabeçalho

IP Interno=/=

Router Router

Protegido

MAC

Page 18: 4ª Parte Protocolos de comunicação segura e Serviços VPN

168

Segurança Informática / ISTEC - 19/20

Objetivos das VPN (Virtual Private Network):

* Possibilitar interligação de redes privadas através de canais de

comunicação seguros e virtualmente dedicados de redes públicas

(inseguras):

• Segurança suportada por mecanismos de criptografia (ex. IPSec)

* Possibilitar o acesso remoto a serviços internos de uma rede

privada

* Possibilitar satisfazer requisitos de mobilidade com suporte de uma

rede de comunicação global (internet)

4.4 – VPN

Page 19: 4ª Parte Protocolos de comunicação segura e Serviços VPN

169

Segurança Informática / ISTEC - 19/20

Principais vantagens para uso das VPNs:

* Possibilitar interligação de redes privadas através de canais de

comunicação seguros e virtualmente dedicados de redes públicas

* Principais objectivos:

* Redução de custos:

* Substituição de linhas alugadas/dedicadas na interligação de LANs e

WANs, por uso de internet

* Poupança de deslocações físicas a local de equipamentos remotos =>

Facilitar tele-trabalho

* Facilidade de uso:

* Suportada pela evolução da Internet:

* Possibilidade de utilizar diferentes terminais e redes de acesso

* Tendência para aumento de velocidade + redução de custos

* Desvantagem (c\ tendência para redução de impacto por evolução de

internet):

* Possível degradação de desempenho pela utilização de redes

públicas (não garantem QoS)

4.4 – VPN

Page 20: 4ª Parte Protocolos de comunicação segura e Serviços VPN

170

Segurança Informática / ISTEC - 19/20

* Requisitos para estabelecimento de VPNs sobre IPSec:

• Gateway da organização e o utilizador remoto têm que ter

compatibilidade IPSec:

– Ambos têm que conseguir estabelecer associações de segurança

(SAs) nos 2 sentidos da comunicação:

Chaves, algoritmos e restantes mecanismos “sincronizados”

– Após estabelecimento de VPN em modo túnel:

Utilizador remoto poder aceder a servidor localizado e

apenas acessível dentro da rede protegida

• Uso de endereço IP publico para aceder a rede corporativa

=> endereço IP (privado) de servidor encapsulado em túnel

=> dados e cabeçalho de pacote original protegidos por túnel

– VPNs podem ser controladas por:

• Hardware: ex. Gateway/Firewall em rede corporativa

• Software: ex. terminal remoto

4.4.1 – VPN sobre IPSec

Page 21: 4ª Parte Protocolos de comunicação segura e Serviços VPN

171

Segurança Informática / ISTEC - 19/204.4.2 –Cenários de VPNs IPSec e SSL/TLS

VPNs IPSec ou SSL, em cenários de acesso:

* VPN SSL/TLS:

• Usado maioritariamente em cenários client-to-site

• Orientado para acesso a serviços da rede => acesso mais flexível e específico

• Na rede corporativa o controlo de acesso é feito também em GW SSL/VPN,

além da Firewall de rede

• Clientes poderão ou não utilizar terminal e SW (VPN) corporativo

– Ex. webmail não necessita de SW específico e possibilita acesso de

qualquer terminal, mesmo não corporativo

– Para usar i/f nativa de aplicação necessário usar terminal e SW corporativo

* VPN IPSec:

• Usados em cenários client-to-site e site-to-site

• Orientado para acesso a rede => cliente acede de forma transparente à rede

corporativa como se estivesse na mesma

– Todas os serviços poderão ser acedidas remota/ através da sua i/f nativa

• Clientes utilizam sempre SW específico para acesso seguro a toda a rede

corporativa => SW VPN instalado em PCs de colaboradores