Segurança de rede - camada de aplicativo
Vários serviços comerciais agora são oferecidos online por meio de aplicativos cliente-servidor. Os formulários mais populares são aplicativos da Web e e-mail. Em ambos os aplicativos, o cliente se comunica com o servidor designado e obtém os serviços.
Ao usar um serviço de qualquer aplicativo de servidor, o cliente e o servidor trocam muitas informações na intranet ou Internet subjacente. Estamos cientes do fato de que essas transações de informações são vulneráveis a vários ataques.
A segurança da rede envolve proteger os dados contra ataques enquanto eles estão em trânsito em uma rede. Para atingir esse objetivo, muitos protocolos de segurança em tempo real foram projetados. Esse protocolo deve fornecer pelo menos os seguintes objetivos principais -
- As partes podem negociar interativamente para se autenticarem.
- Estabeleça uma chave de sessão secreta antes de trocar informações na rede.
- Troque as informações de forma criptografada.
Curiosamente, esses protocolos funcionam em diferentes camadas do modelo de rede. Por exemplo, o protocolo S / MIME funciona na camada de aplicação, o protocolo SSL é desenvolvido para funcionar na camada de transporte e o protocolo IPsec funciona na camada de rede.
Neste capítulo, discutiremos diferentes processos para obter segurança para comunicação por e-mail e protocolos de segurança associados. O método para proteger o DNS é abordado posteriormente. Nos capítulos posteriores, os protocolos para alcançar a segurança da web serão descritos.
Segurança de e-mail
Hoje em dia, o e-mail tornou-se um aplicativo de rede amplamente utilizado. Vamos discutir brevemente a infra-estrutura de e-mail antes de continuar a conhecer os protocolos de segurança de e-mail.
Infraestrutura de e-mail
A maneira mais simples de enviar um e-mail seria enviar uma mensagem diretamente da máquina do remetente para a máquina do destinatário. Nesse caso, é essencial que ambas as máquinas estejam funcionando na rede simultaneamente. No entanto, esta configuração não é prática, pois os usuários podem ocasionalmente conectar suas máquinas à rede.
Assim, surgiu o conceito de configuração de servidores de e-mail. Nessa configuração, o e-mail é enviado para um servidor de e-mail que fica permanentemente disponível na rede. Quando a máquina do destinatário se conecta à rede, ela lê o e-mail do servidor de e-mail.
Em geral, a infraestrutura de e-mail consiste em uma malha de servidores de e-mail, também denominados como Message Transfer Agents (MTAs) e máquinas clientes executando um programa de e-mail composto por Agente do Usuário (UA) e MTA local.
Normalmente, uma mensagem de e-mail é encaminhada de seu UA, passa pela malha de MTAs e, finalmente, chega ao UA na máquina do destinatário.
Os protocolos usados para e-mail são os seguintes -
Protocolo de transferência de correio simples (SMTP) usado para encaminhar mensagens de e-mail.
Post Office Protocol (POP) e Internet Message Access Protocol (IMAP) são usados para recuperar as mensagens por destinatário do servidor.
MIME
O padrão básico de e-mail da Internet foi escrito em 1982 e descreve o formato da mensagem de e-mail trocada na Internet. Ele suporta principalmente mensagens de e-mail escritas como texto no alfabeto romano básico.
Em 1992, sentiu-se a necessidade de melhorar o mesmo. Portanto, um padrão adicional Multipurpose Internet Mail Extensions (MIME) foi definido. É um conjunto de extensões do padrão básico de e-mail da Internet. O MIME fornece a capacidade de enviar e-mail usando caracteres diferentes dos do alfabeto romano básico, como o alfabeto cirílico (usado em russo), o alfabeto grego ou mesmo os caracteres ideográficos do chinês.
Outra necessidade atendida pelo MIME é o envio de conteúdo não textual, como imagens ou videoclipes. Devido a esses recursos, o padrão MIME foi amplamente adotado com o SMTP para comunicação por e-mail.
Serviços de segurança de e-mail
O uso crescente de comunicação por e-mail para transações importantes e cruciais exige o fornecimento de certos serviços de segurança fundamentais como os seguintes -
Confidentiality - A mensagem de e-mail não deve ser lida por ninguém, exceto pelo destinatário pretendido.
Authentication - O destinatário do e-mail pode ter certeza da identidade do remetente.
Integrity - Garantia ao destinatário de que a mensagem de e-mail não foi alterada desde a sua transmissão pelo remetente.
Non-repudiation - O destinatário do e-mail pode provar a terceiros que o remetente realmente enviou a mensagem.
Proof of submission - O remetente do e-mail recebe a confirmação de que a mensagem foi entregue ao sistema de entrega de e-mail.
Proof of delivery - O remetente recebe uma confirmação de que o destinatário recebeu a mensagem.
Os serviços de segurança, como privacidade, autenticação, integridade da mensagem e não repúdio, geralmente são fornecidos usando criptografia de chave pública.
Normalmente, existem três cenários diferentes de comunicação por email. Discutiremos os métodos de obtenção dos serviços de segurança acima nesses cenários.
E-mail um para um
Nesse cenário, o remetente envia uma mensagem de email para apenas um destinatário. Normalmente, não mais do que dois MTA estão envolvidos na comunicação.
Vamos supor que um remetente deseja enviar um e-mail confidencial a um destinatário. A provisão de privacidade, neste caso, é obtida da seguinte forma -
O emissor e o receptor têm suas chaves público-privadas como (S PVT , S PUB ) e (R PVT , R PUB ) respectivamente.
O remetente gera uma chave simétrica secreta, K S para criptografia. Embora o remetente possa ter usado R PUB para criptografia, uma chave simétrica é usada para obter criptografia e descriptografia mais rápidas.
O remetente criptografa a mensagem com a chave K S e também criptografa K S com a chave pública do destinatário, R PUB .
O remetente envia mensagem criptografada e K S criptografado para o destinatário.
O destinatário primeiro obtém K S descriptografando K S codificado usando sua chave privada, R PVT .
O destinatário em seguida, desencripta mensagem usando a chave simétrica, K S .
Se a integridade da mensagem, a autenticação e os serviços de não repúdio também forem necessários neste cenário, as etapas a seguir serão adicionadas ao processo acima.
O remetente produz hash de mensagem e assina digitalmente esse hash com sua chave privada, S PVT .
O remetente envia esse hash assinado ao destinatário junto com outros componentes.
O destinatário usa a chave pública S PUB e extrai o hash recebido com a assinatura do remetente.
O destinatário então faz o hash da mensagem descriptografada e agora compara os dois valores de hash. Se eles corresponderem, a integridade da mensagem será considerada alcançada.
Além disso, o destinatário tem certeza de que a mensagem foi enviada pelo remetente (autenticação). E por último, o remetente não pode negar que não enviou a mensagem (irrecusabilidade).
E-mail de um para vários destinatários
Nesse cenário, o remetente envia uma mensagem de email para dois ou mais destinatários. A lista é gerenciada pelo programa de e-mail do remetente (UA + MTA local). Todos os destinatários recebem a mesma mensagem.
Vamos supor que o remetente deseja enviar um e-mail confidencial para muitos destinatários (digamos R1, R2 e R3). A provisão de privacidade, neste caso, é obtida da seguinte forma -
O remetente e todos os destinatários possuem seu próprio par de chaves públicas privadas.
O remetente gera uma chave simétrica secreta, K s e criptografa a mensagem com esta chave.
O remetente então criptografa K S várias vezes com as chaves públicas de R1, R2 e R3, obtendo R1 PUB (K S ), R2 PUB (K S ) e R3 PUB (K S ).
O remetente envia a mensagem criptografada e o K S criptografado correspondente para o destinatário. Por exemplo, o destinatário 1 (R1) recebe a mensagem criptografada e R1 PUB (K S ).
Cada destinatário primeiro extrai a chave K S descriptografando K S codificado usando sua chave privada.
Cada destinatário, em seguida, desencripta a mensagem usando a chave simétrica, K S .
Para fornecer integridade, autenticação e não repúdio à mensagem, as etapas a serem seguidas são semelhantes às etapas mencionadas acima em um cenário de email um para um.
E-mail da lista de um para distribuição
Nesse cenário, o remetente envia uma mensagem de email para dois ou mais destinatários, mas a lista de destinatários não é gerenciada localmente pelo remetente. Geralmente, o servidor de e-mail (MTA) mantém a lista de mala direta.
O remetente envia um e-mail ao MTA que gerencia a lista de e-mails e, em seguida, o e-mail é explodido pelo MTA para todos os destinatários da lista.
Nesse caso, quando o remetente deseja enviar um e-mail confidencial aos destinatários da lista de distribuição (digamos R1, R2 e R3); a privacidade é garantida da seguinte forma -
O remetente e todos os destinatários possuem seu próprio par de chaves públicas privadas. O Exploder Server possui um par de chave pública-privada para cada lista de distribuição (Lista PUB , Lista PVT ) mantida por ele.
O remetente gera uma chave simétrica secreta K s e, em seguida, criptografa a mensagem com essa chave.
O remetente então criptografa K S com a chave pública associada à lista e obtém Lista PUB (K S ).
O remetente envia mensagem criptografada e List PUB (K S ). O MTA detonador decifra Lista PUB (K S ) usando a Lista de PVT e obtém K S .
O explodidor criptografa K S com tantas chaves públicas quantos forem os membros da lista.
O Exploder encaminha a mensagem criptografada recebida e o K S criptografado correspondente a todos os destinatários da lista. Por exemplo, o Exploder encaminha a mensagem criptografada e R1 PUB (K S ) para o destinatário 1 e assim por diante.
Para fornecer integridade, autenticação e não repúdio à mensagem, as etapas a serem seguidas são semelhantes às fornecidas no caso de um cenário de e-mail um para um.
Curiosamente, o programa de e-mail que utiliza o método de segurança acima para proteger o e-mail deve funcionar para todos os cenários possíveis discutidos acima. A maioria dos mecanismos de segurança acima para e-mail é fornecida por dois esquemas populares, Pretty Good Privacy (PGP) e S / MIME. Discutiremos ambos nas seções a seguir.
PGP
Pretty Good Privacy(PGP) é um esquema de criptografia de e-mail. Ele se tornou o padrão de fato para fornecer serviços de segurança para comunicação por e-mail.
Conforme discutido acima, ele usa criptografia de chave pública, criptografia de chave simétrica, função hash e assinatura digital. Ele fornece -
- Privacy
- Autenticação do Remetente
- Integridade da Mensagem
- Non-repudiation
Junto com esses serviços de segurança, ele também fornece compactação de dados e suporte de gerenciamento de chaves. PGP usa algoritmos criptográficos existentes como RSA, IDEA, MD5, etc., ao invés de inventar novos.
Trabalho de PGP
O hash da mensagem é calculado. (Algoritmo MD5)
O hash de 128 bits resultante é assinado usando a chave privada do remetente (Algoritmo RSA).
A assinatura digital é concatenada à mensagem e o resultado é compactado.
Uma chave simétrica de 128 bits, K S, é gerada e usada para criptografar a mensagem compactada com IDEA.
K S é criptografado usando a chave pública do destinatário usando o algoritmo RSA e o resultado é anexado à mensagem criptografada.
O formato da mensagem PGP é mostrado no diagrama a seguir. Os IDs indicam qual chave é usada para criptografar KS e qual chave deve ser usada para verificar a assinatura no hash.
No esquema PGP, uma mensagem é assinada e criptografada, e então o MIME é codificado antes da transmissão.
Certificado PGP
O certificado de chave PGP é normalmente estabelecido por meio de uma cadeia de confiança. Por exemplo, a chave pública de A é assinada por B usando sua chave pública e a chave pública de B é assinada por C usando sua chave pública. Conforme esse processo prossegue, ele estabelece uma rede de confiança.
Em um ambiente PGP, qualquer usuário pode atuar como autoridade de certificação. Qualquer usuário PGP pode certificar a chave pública de outro usuário PGP. No entanto, esse certificado só é válido para outro usuário se o usuário reconhecer o certificador como um apresentador confiável.
Existem vários problemas com esse método de certificação. Pode ser difícil encontrar uma cadeia que leve de uma chave pública conhecida e confiável para a chave desejada. Além disso, pode haver várias cadeias que podem levar a chaves diferentes para o usuário desejado.
O PGP também pode usar a infraestrutura PKI com autoridade de certificação e as chaves públicas podem ser certificadas pela CA (certificado X.509).
S / MIME
S / MIME significa Secure Multipurpose Internet Mail Extension. S / MIME é um padrão de e-mail seguro. É baseado em um padrão anterior de e-mail não seguro denominado MIME.
Trabalho de S / MIME
A abordagem S / MIME é semelhante ao PGP. Ele também usa criptografia de chave pública, criptografia de chave simétrica, funções hash e assinaturas digitais. Ele fornece serviços de segurança semelhantes ao PGP para comunicação por e-mail.
As cifras simétricas mais comuns usadas em S / MIME são RC2 e TripleDES. O método de chave pública usual é RSA, e o algoritmo de hash é SHA-1 ou MD5.
S / MIME especifica o tipo MIME adicional, como “application / pkcs7-mime”, para o envolvimento de dados após a criptografia. Toda a entidade MIME é criptografada e compactada em um objeto. S / MIME padronizou formatos de mensagens criptográficas (diferentes de PGP). Na verdade, o MIME é estendido com algumas palavras-chave para identificar as partes criptografadas e / ou assinadas na mensagem.
S / MIME depende de certificados X.509 para distribuição de chave pública. Ele precisa de PKI hierárquica de cima para baixo para suporte de certificação.
Empregabilidade de S / MIME
Devido à exigência de um certificado da autoridade de certificação para implementação, nem todos os usuários podem tirar proveito do S / MIME, pois alguns podem desejar criptografar uma mensagem, com um par de chaves pública / privada. Por exemplo, sem o envolvimento ou sobrecarga administrativa de certificados.
Na prática, embora a maioria dos aplicativos de e-mail implemente S / MIME, o processo de inscrição do certificado é complexo. Em vez disso, o suporte PGP geralmente requer a adição de um plug-in e esse plug-in vem com tudo o que é necessário para gerenciar as chaves. A Web of Trust não é realmente usada. As pessoas trocam suas chaves públicas por outro meio. Uma vez obtidos, eles mantêm uma cópia das chaves públicas daqueles com quem os e-mails são normalmente trocados.
A camada de implementação na arquitetura de rede para esquemas PGP e S / MIME é mostrada na imagem a seguir. Ambos os esquemas fornecem segurança em nível de aplicativo para comunicação por e-mail.
Um dos esquemas, PGP ou S / MIME, é usado dependendo do ambiente. Uma comunicação de e-mail segura em uma rede cativa pode ser fornecida adaptando-se ao PGP. Para segurança de e-mail na Internet, onde os e-mails são trocados com novos usuários desconhecidos com muita frequência, S / MIME é considerado uma boa opção.
Segurança DNS
No primeiro capítulo, mencionamos que um invasor pode usar o DNS Cache Poisoning para realizar um ataque ao usuário-alvo. Domain Name System Security Extensions (DNSSEC) é um padrão da Internet que pode impedir esses ataques.
Vulnerabilidade do DNS padrão
Em um esquema DNS padrão, sempre que o usuário deseja se conectar a qualquer nome de domínio, seu computador contata o servidor DNS e procura o endereço IP associado a esse nome de domínio. Depois que o endereço IP é obtido, o computador se conecta a esse endereço IP.
Nesse esquema, não há nenhum processo de verificação envolvido. Um computador pede ao servidor DNS o endereço associado a um site, o servidor DNS responde com um endereço IP e seu computador, sem dúvida, o aceita como resposta legítima e se conecta a esse site.
Na verdade, uma pesquisa de DNS ocorre em vários estágios. Por exemplo, quando um computador pede “www.tutorialspoint.com”, uma pesquisa DNS é realizada em vários estágios -
O computador primeiro pergunta ao servidor DNS local (fornecido pelo ISP). Se o ISP tiver esse nome em seu cache, ele responde, senão encaminha a consulta para “diretório da zona raiz”, onde pode encontrar “.com”. e respostas da zona raiz.
Com base na resposta, o computador pergunta ao diretório “.com” onde pode encontrar “tutorialspoint.com”.
Com base nas informações recebidas, o computador consulta “tutorialspoint.com” onde pode encontrar www. tutorialspoint.com.
DNSSEC Definido
A consulta DNS, quando realizada usando DNSSEC, envolve a assinatura de respostas pela entidade respondente. DNSSEC é baseado em criptografia de chave pública.
No padrão DNSSEC, cada zona DNS possui um par de chaves pública / privada. Todas as informações enviadas por um servidor DNS são assinadas com a chave privada da zona de origem para garantir a autenticidade. Os clientes DNS precisam saber as chaves públicas da zona para verificar as assinaturas. Os clientes podem ser pré-configurados com as chaves públicas de todos os domínios de nível superior ou DNS raiz.
Com o DNSSEC, o processo de pesquisa é o seguinte -
Quando o seu computador pergunta à zona raiz onde pode encontrar .com, a resposta é assinada pelo servidor da zona raiz.
O computador verifica a chave de assinatura da zona raiz e confirma que é a zona raiz legítima com informações verdadeiras.
Na resposta, a zona raiz fornece as informações sobre a chave de assinatura do servidor da zona .com e sua localização, permitindo que o computador entre em contato com o diretório .com e garantindo sua legitimidade.
O diretório .com fornece a chave de assinatura e as informações para tutorialspoint.com, permitindo que ele entre em contato com google.com e verifique se você está conectado ao tutorialspoint.com real, conforme confirmado pelas zonas acima dele.
As informações enviadas estão na forma de Conjunto de Registros de Recursos (RRSets). O exemplo de RRSet para o domínio “tutorialspoint.com” no servidor de nível superior “.com” é mostrado na tabela a seguir.
Nome do domínio | Tempo de Viver | Tipo | Valor |
---|---|---|---|
tutorialspoint.com | 86400 | NS | dns.tutorialspoint.com |
dns.tutorialspoint.com | 86400 | UMA | 36..1.2.3 |
tutorialspoint.com | 86400 | CHAVE | 3682793A7B73F731029CE2737D ... |
tutorialspoint.com | 86400 | SIG | 86947503A8B848F5272E53930C ... |
O registro KEY é uma chave pública de “tutorialspoint.com”.
O registro SIG é o hash assinado do servidor .com de nível superior dos campos NS, A e registros KEY para verificar sua autenticidade. Seu valor é Kcom pvt (H (NS, A, KEY)).
Assim, considera-se que quando o DNSSEC é totalmente implementado, o computador do usuário é capaz de confirmar se as respostas DNS são legítimas e verdadeiras e evitar ataques DNS lançados por envenenamento de cache DNS.
Resumo
O processo de proteção de e-mails garante a segurança ponta a ponta da comunicação. Ele fornece serviços de segurança de confidencialidade, autenticação do remetente, integridade da mensagem e não repúdio.
Dois esquemas foram desenvolvidos para segurança de e-mail: PGP e S / MIME. Ambos os esquemas usam criptografia de chave secreta e de chave pública.
A pesquisa de DNS padrão é vulnerável a ataques como falsificação de DNS / envenenamento de cache. A segurança da pesquisa de DNS é viável por meio do uso de DNSSEC, que emprega a criptografia de chave pública.
Neste capítulo, discutimos os mecanismos usados na camada de aplicativo para fornecer segurança de rede para comunicação ponta a ponta.