Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
151
Segurança Informática / ISTEC - 19/20
4ª Parte – Protocolos de comunicação segura e Serviços VPN
(continuação de medidas preventivas)
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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
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