S/MIME Segurança ao MIME Principais Características • Extensão do MIME, dando-lhe segurança. • Desenvolvido pela RSA Data Security Inc em julho de 1999. • Especificações contidas nos RFC 2630 a 2633. • Dá suporte a assinatura, codificação e conferência da integridade de uma mensagem. • O software é chamado de agente S/MIME. Agente S/MIME • Atua como um agente de envio e/ou recebimento de mensagens. • Possui suporte para usar: Integridade: SHA-1 ou MD5. Assinaturas Digitais: DH e RSA. Cifragem dos dados : 3DES. Troca de Chaves: X.509. Tipos de conteúdo • 4 principais usados no S/MIME. - Data: Strings como texto ASCII. - Signed Data: Garante autenticidade, integridade e não repudio. - Enveloped Data: Garante a confidencialidade. - Sign and Enveloped Data: Assinatura e codificação da mensagem. Enveloped Data • Consiste do conteúdo cifrado e as chave de cifragem para cada destinatário. • Conteúdo cifrado + chave de cifragem do conteúdo cifrada é chamada de digital envelope. • Usa chaves simétrica para codificar e assimétricas para assinar. Enviar mensagem cifrada S/MIME • É gerada uma chave de sessão para o algoritmo simétrico e a mesma é codificada com a chave pública do destinatário. • Codificação do conteúdo com a chave de sessão. • Gerar Digital Envelope usando as informações especificas de cada destinatário junto do conteúdo cifrado. • Codificar o Digital Envelope usando base64. Recebimento de mensagem S/MIME • O receptor reverte a codificacao base64 para ter acesso ao Envelope Digital. • O receptor obtém a chave de sessão com sua chave pública. • Decodifica o conteúdo com a chave de sessão. Cabeçalho MIME • No cabeçalho MIME temos: • Content-Type: application/pkcs7-mime • Smime-Type: que pode ser do tipo data ou signed data ou enveloped data, signed and enveloped data.. Cabeçalho MIME com S/MIME assinando Cabeçalho MIME com S/MIME cifrando Mensagem Multipart • É um dos tipos que o Content Type também pode assumir. Cabeçalho deve definir a fronteira entre cada parte. • Cada parte possui separadamente um Content Type e Context-Transfer Encoding. • O multipart permite os subtipos signed e encrypted. Multipart / Signed • Dá suporte a serviços de autenticação e verificação de integridade usando assinatura digital. • Possui 3 parâmetros que são: - Boundary = fronteira entre cada parte. - Protocol = protocolo de segurança utilizado - Micalg = função hash usada. Multipart / Encrypted • Dá suporte a serviços de encriptação. • Possui os parâmetros boundary e protocol. Mensagem Detached Signature Onde o S/MIME é usado • Não alcançou sucesso semelhante ao MIME. • Serviço Thawte da VeriSign oferece um agente S/MIME gratuito. • Thawte é capaz de encriptar e assinar e-mails e ler e-mail encriptados ou verificar autenticidade da assinatura de um e-mail, • Compatível com Outlook, Firefox e Safari.