Segurança de aplicação - S/MIME

Documentos relacionados
Segurança de aplicação - S/MIME. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v1

Segurança em Redes de Computadores

Camada de Aplicação Protocolo FTP e Correio Eletrônico

Programa de Verão 2007

Segurança da Informação Aula 7 Assinaturas Digitais e HASH.

Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital

Introdução. Caixa postal (mailbox) Componentes do sistema de correio eletrônico. Correio eletrônico (SMTP, POP e IMAP)

Redes de Computadores

Correio Eletrônico. & SMTP. Redes de Computadores II. Tópicos em Sistemas de Computação

Segurança de Aplicação - DNSSEC

Correio eletrônico. E- mail

Segurança Informática em Redes e Sistemas

Vista geral do protocolo simple certificate enrollment

Esteganografia em Vídeos Digitais Comprimidos Tópicos em Hipermídia

Mecanismos de Autenticação

Mecanismos Criptográficos Esquemas

SMTP Simple Mail Transport Protocol

Agenda. Criptografia e Segurança Certificado Digital Assinatura Digital

Índice. Introdução. Informações de Apoio

Correio Eletrônico. E- mail

Informática. Segurança da Informação

Tópicos de Ambiente Web Segurança

AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 23/04/2016 PROF. FABIANO TAGUCHI

CERTIFICAÇÃO DIGITAL COM JAVA. Cléber da Silveira.

Segurança em redes sem fios - GSM. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3

Assinatura de documento em papel

Criptografia Assimétrica. Jiyan Yari

Criptografia Assimétrica e Funções de Síntese

Capítulo 8. Segurança de redes

Segurança de Sistemas de Informação

Correio eletrônico. Sistema de correio da Internet composto de

Apresentação: André Luiz Marasca

Política de Certificado de Validação on-line OCSP emitido pela EC do Cidadão

Redes Integradas de Telecomunicações II

Criptografia Aplicada LESI / LMCC

Política de Certificado de Validação on-line OCSP emitido pela EC AuC

Redes de Computadores

Redes de Computadores

Disciplina: Redes de Computadores. Nível de Aplicação DNS, Correio Eletrônico, WWW

Antivirus Antimalware

Comunicação entre processos

Gestão de chaves assimétricas

Segurança e Auditoria de Sistemas. Confiança Mútua Assinatura Digital Certificado Digital

Auxilio a Resolução da Lista de Exercícios

Prof. M.Sc. Charles Christian Miers

Política de Certificado de Validação on-line OCSP emitido pela EC AsC

Política de Certificados da EC de Controlos de Acesso do Cartão de Cidadão

Resumo. Segurança em Redes de Computadores 04/08/2017. Capítulo 7 Segurança WEB. Considerações de Segurança WEB Ameaças

Configuração dos usuários do Simple Network Management Protocol (SNMP) no Switches ESW2-350G

DNS Domain Name System

Criação do certificado ESA para o uso com assinatura S/MIME

Redes de Computadores

quem utiliza esse processo para envio de s, por exemplo, está bem protegido de fraudes.

Sistemas e Plataformas Seguras

Integridade. Segurança Engenharia de Software Ricardo Couto A. da Rocha

Segurança em Redes de Computadores

Sistemas e Plataformas Seguras

PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação

Criação do certificado ESA para o uso com assinatura S/MIME

Gestão de chaves assimétricas

Software para Assinatura Digital

NOÇÕES DE INFORMÁTICA. Segurança da Informação Certificação Digital Parte 1

Execícios de Revisão Redes e Sistemas Distribuídos II Edgard Jamhour. Filtros de Pacotes Criptografia, Certificados Digitais VPN

CONCEITUAÇÃO CONCEITOS

Técnicas de criptografia. Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos

Geração de um certificado SSL (Secure Socket Layer) em RV120W e em RV220W

IPSEC. IP Security Protocol. *Utilize este material para fins educativos e não comerciais*

Política de Certificado da EC do Cidadão

Servidor de s e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes

Política de Certificados de Validação on-line OCSP emitidos pela EC do Cidadão

Redes de Computadores

O Transporte de Conteúdo Multimídia e as Novas Propostas para o Correio Eletrônico na Internet. Fundamentos de Sistemas Multimídia Ricardo Carrano

Política de Certificado de Autenticação

Introdução à Criptografia

Assinatura Digital Avançada em PDF

O que é Segurança da Informação

Transferência de arquivos (FTP)

Prof. Sandro Wambier

Redes de Computadores I

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

Transcrição:

Segurança de aplicação - S/MIME Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v1 Componentes de um sistema de e-mail Interface com o utilizador (leitor de e-mails) Escrita e leitura de e-mails Transporte de e-mails MUA (Mail User Agent) e MTA (Mail Transfer Agent) SMTP, POP3 e IMAP Mensagens de e-mails (RFC 822, MIME) MRSC > SSR > seg_aplicação_smime_v1 2 1

RFC 822 Define as mensagens em duas partes: o cabeçalho e o corpo. Ambos em texto ASCII. O cabeçalho é separado do cortpo através de uma linha em branco. O cabeçalho é composto por linha de cabeçalho: To: Subject: Date: From: Received: MRSC > SSR > seg_aplicação_smime_v1 3 Exemplo de uma mensagem RFC 822 Date: Mon, 3 Apr 2006 20:15:18 +0100 From: jaime.dias@fe.up.pt To: Jaime Dias <jdias@inescporto.pt> Subject: Mensagem de e-mail blablabla MRSC > SSR > seg_aplicação_smime_v1 4 2

Limitações do formato RFC822 Só suporta texto. Mapa de caracteres exclusivamente ASCII Problemas de transmissão com: Executáveis ou outros ficheiros binários (ex: imagens jpeg) Mapa de caracteres diferentes de ASCII Mensagens demasiado grandes Conversão ASCII para EBCDIC Linhas muito longas MRSC > SSR > seg_aplicação_smime_v1 5 Solução Complementar o RFC822 com extensões MIME Permite que uma mensagem de e-mail possa transportar diversos tipos de dados: áudio, vídeo, imagens, documentos do Word, etc. MIME (Multipurpose Internet Mail Extensions): Colecção de 5 novas linhas de cabeçalho Definição de tipos de conteúdo Mecanismos de codificação dos diferentes tipos de dados de forma a poderem ser transportados em ASCII numa mensagem RFC822 MRSC > SSR > seg_aplicação_smime_v1 6 3

MIME Campos de cabeçalho MIME-Version: tem de ser 1.0 Content-Type: o tipo dos dados contidos na mensagem Content-Transfer-Encoding: indica o tipo de codificação utilizada para representar o corpo da mensagem num formato que possa ser entendido pelas entidades de transporte (ex.: radix-64) Content-ID: string para identificação únivoca de uma entidade MIME em múltiplos contextos (opcional) Content Description: útil quando os dados não são texto legível (ex.: mpeg) (opcional) MRSC > SSR > seg_aplicação_smime_v1 7 Content-Type MRSC > SSR > seg_aplicação_smime_v1 8 4

Content-Type Tipo Multipart tem 4 subtipos O mais importante é o Multipart/mixed Indica que o corpo contém múltiplas partes Cada parte pode ser separada como uma mensagem (entidade) MIME encapsulamento de entidades MIME Cada parte é separada por uma string delimitadora (boundary) definida no campo Content-Type. MRSC > SSR > seg_aplicação_smime_v1 9 Content-Transfer-Encoding quoted-printable quando a maioria dos dados são caracteres ASCII Exemplo: isto é um teste isto =E9 um teste base64 (também conhecido como radix-64) mapeamento de três bytes de dados binários em quatro ASCII Exemplo: isto é um teste axn0bydpihvtihrlc3rl MRSC > SSR > seg_aplicação_smime_v1 10 5

Exemplo de uma mensagem MIME Date: Mon, 3 Apr 2006 20:15:18 +0100 From: jaime.dias@fe.up.pt To: Jaime Dias <jdias@inescporto.pt> Subject: Mensagem de e-mail MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="---next part" ------next part Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit This is a test. Regards, Jaime ------next part Content-Type: image/jpeg Content-Transfer-Encoding: base64 VGhpcyBpcyBhIHRlc3QuIFJlZ2FyZHMsIEphaW1lDQo= ------next part-- MRSC > SSR > seg_aplicação_smime_v1 11 S/MIME Secure/Multipurpose Internet Mail Extension Adiciona extensões de segurança ao MIME Baseado em tecnologia da RSA Security MRSC > SSR > seg_aplicação_smime_v1 12 6

Serviços S/MIME enveloped data (application/pkcs7-mime; smime-type = enveloped-data) cifragem dos dados confidencialidade signed data (application/pkcs7-mime; smime-type = signed-data) assinatura dos dados integridade, autenticidade e não repúdio dados + assinatura são codificados em base64 clear-signed data (multipart/signed) assinatura dos dados integridade, autenticidade e não repúdio só a assinatura é codificada em base64 destinatários sem suporte para S/MIME consegue ler a mensagem mas não consegue verificar a assinatura signed e enveloped data encapsulamento de uma entidade noutra. A ordem pode ser qualquer uma. confidencialidade, integridade, autenticidade e não repúdio MRSC > SSR > seg_aplicação_smime_v1 13 Algoritmos criptográficos Resumos de mensagens obrigatório: SHA-1 opcional (receptor): MD5 (compatibilidade com sistemas antigos ) Assinaturas obrigatório: DSS opcional : RSA Cifragem com chaves públicas obrigatório: ElGamal opcional : RSA (512-1024 bits) Cifragem com chaves simétricas emissor: o opcional: 3DES, RC2/40 receptor: o obrigatório: 3DES o opcional: RC2/40 MRSC > SSR > seg_aplicação_smime_v1 14 7

Content-Type (S/MIME) MRSC > SSR > seg_aplicação_smime_v1 15 Processamento S/MIME Pode ser feito através de assinatura e/ou cifragem Pode ser aplicado a toda a mensagem ou apenas a uma parte (Multipart) O S/MIME processa a entidade MIME e os dados de segurança associados (IDs de algoritmos, certificatos, CRL) e produz um objecto PKCS (Public Key Cryptography Standards) PKCS #7: Cryptographic Message Syntax Standard Como o PKCS é binário é necessário convertê-lo para ASCII através da codificação base64 O resultado é uma entidade MIME do tipo pkcs (entidade S/MIME) MRSC > SSR > seg_aplicação_smime_v1 16 8

Processamento S/MIME (emissor) Entidade MIME processamento S/MIME Objecto PKCS codificação base64 Entidade S/MIME MRSC > SSR > seg_aplicação_smime_v1 17 Processamento S/MIME (receptor) Entidade S/MIME descodificação base64 Objecto PKCS processamento S/MIME Entidade MIME O receptor faz o processo inverso Descodifica o objecto PKCS No processamento S/MIME é conhecida a informação necessária para determinar quais as operações criptográficas a aplicar de modo a obter a entidade MIME original. A entidade MIME final também pode ainda ser do tipo S/MIME, necessitando de um processamento adicional. MRSC > SSR > seg_aplicação_smime_v1 18 9

EnvelopedData É gerada uma chave de sessão RC2 ou 3DES Os dados da mensagem são cifrados com a chave de sessão A chave de sessão é cifrada com a chave pública do destinatário (ex: RSA) É preparado o bloco RecipientInfo (ID do certificado do destinatário, ID do algoritmo, chave de sessão cifrada) O EnvelopedData é igual à concatenação do bloco RecipientInfo com os dados cifrados (EncryptedContent) MRSC > SSR > seg_aplicação_smime_v1 19 EnvelopedData Chave de sessão chave pública do receptor objecto PKCS EnvelopedData cabeçalho S/MIME E RecipientInfo cod. base64 corpo S/MIME: objecto PKCS codificado em base64 entidade MIME E EncryptedContent MRSC > SSR > seg_aplicação_smime_v1 20 10

EnvelopedData - Múltiplos receptores São suportados múltiplos receptores: um bloco RecipientInfo para cada um. Dados são cifrados apenas uma vez Chave de sessão é cifrada com a chave pública de cada receptor O receptor obtém a chave de sessão através da sua chave privada e depois decifra EncryptedContent; os algoritmos necessários estão especificados no bloco RecipientInfo. MRSC > SSR > seg_aplicação_smime_v1 21 EnvelopedData - Múltiplos receptores Entidade MIME Chave de sessão cifragem dos dados Entidade MIME cifrada Chave pub #1 Chave pub #2 Chave pub #n chave de sessão cifrada #1 chave de sessão cifrada #2 chave de sessão cifrada #n MRSC > SSR > seg_aplicação_smime_v1 22 11

EnvelopedData Exemplo Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-Transfer-Encoding: base64 Content-Disposition:attachment;filename=smime.p7m rfvbnj756tbbghyhhhuujhjhjh77n8hhgt9hg4vqpfyf467gi 7n8HHGghyHhHUujhJh4VQpfyF467GhIGfHfYGTrfvbnjT6jHd f8hhgtrfvhjhjh776tbb9hg4vqbnj7567ghigfhfyt6ghyhh6 MRSC > SSR > seg_aplicação_smime_v1 23 SignedData Selecciona um algoritmo de resumo (SHA, MD5) Calcula o resumo dos dados que se pretende assinar Cifra o resumo com a chave privada do assinante a norma S/MIME não obriga a que o emissor e o assinante sejam a mesma entidade Prepara o bloco SignerInfo (ID do certificado do assinante, eventualmente CRL, ID do algoritmo de resumo, ID do algoritmo de chave pública, assinatura) SignedData é o resultado da concatenação da mensagem assinada e do bloco SignerInfo MRSC > SSR > seg_aplicação_smime_v1 24 12

SignedData Entidade MIME Chave privada do assinante Objecto PKCS SignedData SignerInfo cabeçalho S/MIME corpo S/MIME: Hash E Entidade MIME cod. base64 objecto PKCS codificado em base64 MRSC > SSR > seg_aplicação_smime_v1 25 SignedData Múltiplas assinaturas São suportados múltiplos assinantes: um bloco SignedData para cada um. MRSC > SSR > seg_aplicação_smime_v1 26 13

SignedData Múltiplas assinaturas Entidade MIME Algoritmo de resumo #1 Algoritmo de resumo #2 Algoritmo de resumo #n Chave privada #1 Chave privada #2 Chave privada #n Assinatura #1 Assinatura #2 Assinatura #n MRSC > SSR > seg_aplicação_smime_v1 27 SignedData Exemplo Content-Type: application/pkcs7-mime; smime-type=signed-data; name=smime.p7m Content-Transfer-Encoding: base64 Content-Disposition:attachment;filename=smime.p7m 567GhIGfHfYT6ghyHhHUujpfyF4f8HHGTrfvhJhjH776tbB97 7n8HHGT9HG4VQpfyF467GhIGfHfYT6rfvbnj756tbBghyHhHU HUujhJh4VQpfyF467GhIGfHfYGTrfvbnjT6jH7756tbB9H7n8 MRSC > SSR > seg_aplicação_smime_v1 28 14

ClearSigning É utilizada uma mensagem do tipo multipart/signed: A primeira parte pode ser um tipo MIME qualquer A segunda parte é a assinatura Os receptores que suportam MIME mas não S/MIME conseguem ler os dados da mensagem Os receptores que suportam S/MIME usam a primeira parte como sendo a entidade MIME sobre a qual deve ser verificada a assinatura MRSC > SSR > seg_aplicação_smime_v1 29 S/MIME Clear Signing Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary=boundary42 --boundary42 Content-Type: text/plain This is a clear-signed message. --boundary42 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition:attachment;filename=smime.p7s ghyhhhuujhjhjh77n8hhgtrfvbnj756tbb9hg4vqpfyf4674vqpfyf467g higfhfyt6jh77n8hhgghyhhhuujhjh756tb6 --boundary42-- MRSC > SSR > seg_aplicação_smime_v1 30 15