segurança e auditoria de sistemas - pontodeensino.com • texto simples pode ser criptografado...

75
Segurança e Auditoria de Sistemas Professor Emiliano S. Monteiro

Upload: duongdat

Post on 24-Jan-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Segurança e Auditoria de Sistemas

Professor

Emiliano S.

Monteiro

Conceitos

• Criptografia: processo de criação e uso de códigos para assegurar a transmissão de informações

• Criptografia: converter a mensagem original em uma forma ilegível por pessoas não autorizadas

• Criptoanálise: é o processo de obtenção de mensagem original de mensagem criptografada sem conhecer algoritmos

• Criptologia: ciência da criptografia; combina criptografia e criptoanálise

• texto simples/plano ou puro - a mensagem original • texto cifrado ou criptografado - a mensagem codificada • cipher - algoritmo para transformar texto plano em texto cifrado • chave - informação usada em cipher conhecida apenas pelo remetente /

destinatário • codificar (criptografar) - converter texto simples em texto cifrado • decifrar (decriptografar) - recuperar texto cifrado de texto simples • criptografia - estudo de princípios / métodos de criptografia • criptoanálise (codebreaking) - o estudo dos princípios / métodos de decifrar o texto

cifrado sem conhecer as chaves • criptologia - o campo da criptografia e criptoanálise

Conceitos

Métodos de cifragem

• Texto simples pode ser criptografado através de fluxo de bits ou método de cifra de bloco

• Fluxo de bits: cada bit de texto sem formatação transformado em bit de criptografia, um bit de cada vez

• Cifra de bloco: mensagem dividida em blocos (por exemplo, conjuntos de blocos de 8 ou 16 bits) e cada um é transformado em bloco criptografado de bits de cifra usando algoritmo e chave

Elementos de um sistema de criptografia

• Crypto sistemas normalmente composto de algoritmos, técnicas de manipulação de dados e procedimentos.

• Cifra de substituição: substitui um valor por outro.

• Substituição monoalfabética: usa apenas um alfabeto.

• Substituição polialfabética: mais avançada; usa dois ou mais alfabetos.

• Cifra de Vigenère: tipo de cifra avançada que usa código polialfabético simples; composta de 26 alfabetos cifrados distintos.

Elementos de um sistema de criptografia

• Cifra de transposição: reorganiza valores dentro de um bloco para criar texto cifrado.

• OR exclusivo (XOR): função da álgebra booleana; dois bits são comparados neste processo.

• Se dois bits são idênticos, o resultado é binário 0

• Se dois bits não forem idênticos, o resultado será binário 1

Elementos de um sistema de criptografia

• Vernam cipher: desenvolvido na AT&T; usa um conjunto de caracteres uma vez por etada no processo de criptografia.

• Cifra de livro(book) (chave em execução): usa texto no livro como chave para decriptografar uma mensagem; o texto cifrado contém códigos que representam números de página, linha e palavra.

Algoritmos Criptográficos

• Muitas vezes, agrupados em duas categorias amplas, simétricas e assimétricas; os cripto sistemas populares de hoje usam combinação híbrida de algoritmos simétricos e assimétricos.

• Algoritmos simétricos e assimétricos distintos pelos tipos de chaves usados para operações de criptografia e descriptografia

Algoritmos Criptográficos

• Criptografia simétrica: usa a mesma “chave secreta” para codificar e decifrar mensagens

• Os métodos de criptografia podem ser extremamente eficientes, exigindo processamento mínimo

• Tanto o remetente quanto o destinatário devem possuir chave de criptografia

• Se uma cópia da chave for comprometida, um intermediário poderá descriptografar e ler mensagens

Criptografia Simétrica

• São algoritmos nos quais são utilizadas a mesma chave para criptografar e decriptografar

– Example: Caesar Cipher

• Tipos:

1. Cifragem de bloco:

– Criptografa um bloco de dados de cada vez (Tipicamente em 64 ou 128 bits).

– Usada para uma única mensagem

2. Cifragem de fluxo

– Criptografa dados bit a bit ou um bit ou byte de cada vez

– Usada se os dados são obtidas por um fluxo constante de infomação.

Criptografia Simétrica

• É a mais conventional

• Utiliza uma chave secreta

• Quem envia e quem recebe de ter a chave compartilhada.

• Quem envia e quem recebe de usar o mesmo algoritmo

Criptografia Simétrica

• 2 requisitos para o uso da criptografia simétrica: – Algoritmo forte

– A chave secreta e o algoritmo usado devem ser conhecidos apenas entre destinatário e remetente.

– O canal de comunicação deve ser seguro.

Modelo de Criptografia Simétrica

Fonte: STALLINGS, William. Cryptography and network security – principles and practice 2º ed. Prentice Hall. New Jersey, 1995.

Algoritmo de Cesar

• Primeira cifra de substituição conhecida

• Desenvolvido por Júlio César

• O primeiro atestado uso em assuntos militares

• Substitui cada letra pela terceira letra adiante (ou mais)

A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z

D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-A-B-C

Exemplo, com chave: 3

ATAQUE HOJE DWDTXH KRMH -- G -- J

Algoritmo de Cesar

• Padrão de Criptografia de Dados (DES): um dos criptosistemas de criptografia simétrica mais populares

• Tamanho de bloco de 64 bits; Chave de 56 bits

• Adotado pelo NIST em 1976 como padrão federal para criptografar informações não classificadas

• Triple DES (3DES): criado para fornecer segurança muito além do DES

• Advanced Encryption Standard (AES): desenvolvido para substituir o DES e o 3DES

Algoritmos Criptográficos

É um sistema de criptografia em que o remetente e receptor de uma mensagem compartilham uma única chave comum que é usada para criptografar e decriptografar a mensagem.

O inverso ocorre com a criptografia de chave pública, que utiliza duas chaves - uma chave pública para criptografar mensagens e uma chave privada para decriptografá-las.

Os sistemas de chaves simétricas são mais simples e rápidos, mas sua principal desvantagem é que as duas partes devem de alguma forma trocar a chave de forma segura.

A criptografia de chave pública evita esse problema porque a chave pública pode ser distribuída de forma não segura e a chave privada nunca é transmitida.

A criptografia de chave simétrica às vezes é chamada de criptografia de chave secreta. O sistema de chave simétrica mais popular é o Data Encryption Standard (DES), porém não mais em utilização!

Texto claro ou plano (pain text) ou puro = texto não codificado (legível)

Rev

isão

Criptografia simétrica

Força criptográfica de algoritmos simétricos A força depende de muitos fatores, incluindo:

O segredo da chave.

A dificuldade de adivinhar a chave ou tentar todas as chaves possíveis (uma pesquisa de chave). As chaves mais longas geralmente são mais difíceis de adivinhar ou encontrar.

A dificuldade de inverter o algoritmo de criptografia sem conhecer a chave de criptografia (rompendo o algoritmo de criptografia).

A existência de backdoors, ou formas adicionais pelas quais um arquivo criptografado

pode ser decriptografado com mais facilidade sem conhecer a chave.

A capacidade de decriptografar toda uma mensagem criptografada se você souber como uma parte dela decodifica (chamado de ataque de texto claro conhecido).

As propriedades do texto simples e o conhecimento dessas propriedades por um invasor. Por

exemplo, um sistema criptográfico pode ser vulnerável a ataques se todas as mensagens criptografadas com ele começam ou terminem com um texto conhecido. Esses tipos de regularidades foram usados pelos Aliados para quebrar a cifra do Enigma alemão durante a Segunda Guerra Mundial.

Rev

isão

Rev

isão

RIJNDAEL

Em outubro de 2000, o Instituto Nacional de Padrões e Tecnologia

(NIST) aprovou o algoritmo de criptografia Rijndael como o novo Padrão de Criptografia Avançada dos EUA.

Rijndael pode ser usado com chaves de 128, 192 ou 256 bits. A velocidade extremamente rápida do algoritmo, combinada com seu status de padrão escolhido pelo governo, significa que provavelmente será preferível ao DES, Triple-DES e outros algoritmos no futuro.

Rev

isão

Cifragem de bloco

Uma cifra de bloco é um algoritmo de criptografia que criptografa um tamanho fixo de n- bits de dados - conhecido como um bloco - ao mesmo tempo.

Os tamanhos usuais de cada bloco são 64 bits, 128 bits e 256 bits.

Por exemplo, uma cifra de bloco de 64 bits irá receber 64 bits de texto simples e criptografá-

lo em 64 bits de texto cifrado.

Nos casos em que os bits de texto simples são menores do que o tamanho do bloco, os esquemas de preenchimento são usados.

A maioria das cifras simétricas usadas hoje são cifras de blocos.

Exemplos: DES, Triple DES, AES, IDEA e Blowfish

Rev

isão

Dan Brown – Fortaleza Digital

Alguns algoritmos de cifragem de blocos

DES

3DES

AES

Blowfish

Twofish Rev

isão

Exemplos

Cifragem stream(fluxo)

Uma cifra de fluxo é um algoritmo de criptografia que criptografa 1 bit ou byte de texto claro ao mesmo tempo.

Misturam os bits que devem ser cifrados com bits vindos de geradores pseudos randômicos.

Os geradores randômicos não são fáceis de implementar em software (lentos) mais ainda em hardware (alternativa mais rápida), o que não motiva o uso desses algoritmos da mesma forma que a cifragem de bloco.

Exemplo: para um arquivo de vídeo de 500 MegaBytes seria necessário uma chave que tenha pelo menos 4 Gigabits.

Exemplo: RC4, Achterbahn-128/80, CryptMT, VEST, Grain, HC-256, Phelix.

Rev

isão

Criptografia assimétrica Usa um par de chaves para criptografia.

Chave pública para criptografia.

Chave privada para decriptografia.

Mensagens codificadas usando chave pública só podem ser decodificadas pela chave privada

Transmissão secreta de chave para decriptografia não é necessária

Cada entidade pode gerar um par de chaves e liberar sua chave pública

Plain puro

claro ou

plano

Crifrador

Chave pública Chave privada

Texto cifrado Texto claro Decifrador

Criptografia assimétrica

• Dois algoritmos mais populares são RSA & El Gamal

– RSA

• Desenvolvido por Ron Rivest, Adi Shamir, Len Adelman

• Chave pública e privada são intercambiáveis

• Tamanho variável da chave (512, 1024 ou 2048 bits)

• Algoritmo de chave pública mais popular

– El Gamal

• Desenvolvido por Taher ElGamal

• Tamanho de chave variável (512 ou 1024 bits)

• Menos comum que o RSA, usado em protocolos como o PGP

• Criptografia Assimétrica (criptografia de chave pública)

• Usa duas chaves diferentes, mas relacionadas; qualquer chave pode criptografar ou decriptografar mensagem

• Se a Chave A criptografa a mensagem, somente a Chave B pode decriptografar

• Maior valor quando uma chave serve como chave privada e a outra serve como chave pública

Algoritmos Criptográficos

Intermediário!

Tamanho da chave de criptgrafia

• Ao usar cifras, tamanho da criptovariable ou chave muito importante

• Força de muitas aplicações de criptografia e sistemas criptográficos medidos por tamanho de chave

• Para os sistemas criptográficos, a segurança dos dados criptografados não depende de manter o segredo do algoritmo de criptografia

• A segurança do Cryptosystem depende de manter alguns ou todos os elementos da (s) criptovariável (es) ou chave (s) secreta (s)

Ferramentas de criptografia

• Infra-estrutura de chave pública (PKI): sistema integrado de software, metodologias de criptografia, protocolos, acordos legais e serviços de terceiros que permitem aos usuários se comunicarem com segurança

• Sistemas de PKI baseados em sistemas criptográficos de chave pública; incluem certificados digitais e autoridades de certificação (CAs)

• A PKI protege os ativos de informações de várias maneiras:

1. Autenticação

2. Integridade

3. Privacidade

4. Autorização

5. Não-repúdio

Ferramentas de criptografia

Assinaturas digitais

• Mensagens criptografadas que podem ser comprovadas matematicamente como autênticas

• Criado em resposta ao aumento da necessidade de verificar as informações transferidas usando sistemas eletrônicos

• Processos de criptografia assimétrica usados para criar assinaturas digitais

Fonte: STALLINGS, William. Cryptography and network security – principles and practice 2º ed. Prentice Hall. New Jersey, 1995.

Criptografia de chave pública

Infra de PKI (servidor de chaves)

Fonte: STALLINGS, William. Cryptography and network security – principles and practice 2º ed. Prentice Hall. New Jersey, 1995.

Criptografia de chave pública

Rev

isão

Deve ser público !

Rev

isão

PGP

Certificados digitais

• Documento eletrônico contendo o valor da chave e identificando informações sobre a entidade que controla a chave

• A assinatura digital anexada ao arquivo contêiner do certificado para certificar o arquivo é da entidade que afirma ser de

Assinatura eletrônica x Assinatura digital

Um certificado digital é um objeto digital parecido com os seguintes objetos do mundo físico:

Carimbo

Cartão de crédito (DATA DE VALIDADE)

Cartão de visita

RG e CPF

Ele que permite que uma pessoa, computador ou organização troque informações de forma segura pela Internet usando uma infraestrutura de chave pública (PKI).

Rev

isão

Certificado digital

Certificado digital

Assim como uma identidade ou um passaporte, um certificado digital fornece informações de identificação, é falsificado e pode ser verificado porque quem foi o emissor por uma agência oficial e confiável.

O certificado contém o nome do titular do certificado, um número de série, datas de validade, uma cópia da chave pública do titular (usada para criptografar mensagens e assinaturas digitais) e a assinatura digital da autoridade emissora de certificado (CA) para que uma o destinatário pode verificar se o certificado é real.

Para fornecer provas de que um certificado é genuíno e válido, ele é assinado digitalmente por um certificado raiz pertencente a uma autoridade de certificação confiável.

Os sistemas operacionais e navegadores mantêm listas de certificados de raiz CA confiáveis para que eles possam verificar facilmente os certificados que as CA emitiram e assinaram.

Quando a PKI é implantada internamente, os certificados digitais podem ser auto- assinados.

Rev

isão

PKI (public key infrastructure)

Uma infraestrutura de chave pública (PKI) suporta a distribuição e identificação de chaves de criptografia públicas, permitindo que usuários e computadores troquem dados de forma segura em redes como a Internet e verifiquem a identidade da outra parte.

Sem PKI, informações sensíveis ainda podem ser criptografadas (garantindo confidencialidade) e trocadas, mas não haveria garantia de identidade (autenticação) da outra parte.

Qualquer forma de dados confidenciais trocados pela Internet depende da PKI para segurança.

Rev

isão

Elementos da PKI (public key infrastructure)

Uma PKI típica consiste em:

Hardware

Software

Políticas e padrões para gerenciar a criação, administração, distribuição e revogação

de chaves e certificados digitais.

Os certificados digitais estão no centro da PKI, pois afirmam a identidade do sujeito do certificado e vinculam essa identidade à chave pública contida no certificado. R

evis

ão

Elementos da PKI (public key infrastructure)

1. Uma parte confiável, chamada de autoridade de certificação (CA), atua como a raiz da confiança e fornece serviços que autenticam a identidade de indivíduos, computadores e outras entidades

2. Uma autoridade de registro (AR), geralmente chamada de CA subordinada, certificada por uma autoridade de certificação raiz para emitir certificados para usos específicos permitidos pela raiz

3. Um banco de dados de certificados, que armazena pedidos de certificados e emite e revoga certificados

4. Um local de armazenamento de certificados, que reside em um computador local como um local para armazenar certificados emitidos e chaves privadas

Rev

isão

Elementos da PKI (public key infrastructure)

Uma CA emite certificados digitais para entidades e indivíduos após verificar sua identidade e assina esses certificados usando sua chave privada.

Sua chave pública é disponibilizada a todas as partes interessadas em um certificado de CA auto-assinado.

As CAs usam esse certificado raiz confiável para criar uma "cadeia de confiança" - muitos certificados raiz são incorporados em navegadores da Web para que eles tenham confiança interna dessas CAs.

Servidores da Web, clientes de e-mail, smartphones e muitos outros tipos de hardware e software também suportam PKI e contêm certificados de raiz confiáveis das principais CAs.

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Private Key

Na criptografia, uma chave privada (chave secreta) é uma variável que é usada com um algoritmo para criptografar e decriptografar código.

A criptografia de qualidade sempre segue uma regra fundamental: o algoritmo não precisa ser mantido em segredo, mas a chave sim!

As chaves privadas desempenham papéis importantes em criptografia simétrica e assimétrica.

Rev

isão

Private Key

A maioria dos processos criptográficos usam criptografia simétrica para criptografar transmissões de dados, mas usam criptografia assimétrica para criptografar e trocar a chave secreta.

A criptografia simétrica, também conhecida como criptografia de chave privada, usa a mesma chave privada tanto para criptografia quanto para decriptografia.

O risco neste sistema é que se qualquer das partes perde a chave ou a chave é interceptada, o sistema está quebrado e as mensagens não podem ser trocadas de forma segura. R

evis

ão

Private Key

A criptografia assimétrica, também conhecida como criptografia de chave pública, usa duas chaves diferentes, mas associadas matematicamente.

A complexidade e o comprimento da chave privada determinam o quão viável é para um intruso realizar um ataque de força bruta e tentar diferentes chaves até encontrar a direita.

O desafio para este sistema é que recursos de computação significativos são necessários para criar chaves privadas longas e fortes.

Rev

isão

Private Key Cifras de chave secreta(privada) geralmente se enquadram em uma das

duas categorias: cifras de fluxo ou cifras de blocos.

Uma cifra de bloco aplica uma chave privada e um algoritmo a um bloco

de dados simultaneamente, enquanto uma cifra de fluxo aplica a chave e o algoritmo um bit de cada vez.

A criptografia de chave simétrica é muito mais rápida na computação do

que criptografia assimétrica, mas requer uma troca de chaves. Rev

isão

Public key A chave pública é um valor numérico que é usado para criptografar

dados.

A chave pode ser gerada por um programa de software, mas, com mais

frequência, é fornecida por uma autoridade designada confiável e disponibilizada a todos através de um repositório ou diretório acessível ao público – Exemplo: Active Directory!

Uma chave privada é outro valor numérico que está matematicamente

ligado à chave pública. Na criptografia assimétrica, tudo o que é criptografado com uma chave pública só pode ser decriptografado pela chave privada correspondente e vice-versa.

Rev

isão

Certificate Revocation List (CRL) Uma Lista de Revogação de Certificado (CRL) é uma lista de certificados

digitais que foram revogados pela Autoridade de Certificação emitida (CA) antes da data de validade programada e não devem mais ser confiáveis.

CRLs são um tipo de lista negra e são usados por vários pontos finais,

incluindo navegadores da Web, para verificar se um certificado é válido e confiável.

Os certificados digitais são utilizados no processo de criptografia para

proteger as comunicações, na maioria das vezes usando o protocolo TLS / SSL.

O certificado, assinado pela autoridade de certificação emissora, também

fornece prova da identidade do proprietário do certificado.

Rev

isão

Certificate Revocation List (CRL)

Rev

isão

• Quando um navegador da Web faz uma conexão com um site usando o TLS,

o certificado digital do servidor da Web é verificado quanto a anomalias ou

problemas.

• Parte deste processo envolve verificar se o certificado não está listado em

uma Lista de revogação de certificados.

• Essas verificações são etapas cruciais em qualquer transação baseada em

certificados porque permitem que um usuário verifique a identidade do

proprietário do site e descubra se a Autoridade de Certificação ainda

considera o certificado digital confiável.

Certificate Revocation List (CRL)

Rev

isão

• O padrão X.509 define o formato e a semântica de uma CRL para uma infra-

estrutura de chave pública.

• Cada entrada em uma Lista de Revogação de Certificado inclui o número de

série do certificado revogado e a data de revogação.

• O arquivo CRL é assinado pela Autoridade de Certificação para evitar

adulterações.

• As informações opcionais incluem um limite de tempo se a revogação for

aplicável por apenas um período de tempo e um motivo para a revogação.

• As CRLs contêm certificados que foram revogados irreversivelmente

(revogados) ou que foram marcados como temporariamente inválidos

(espera).

Online Certificate Status Protocol (OCSP)

O Online Certificate Status Protocol (OCSP) é uma alternativa ao uso de CRLs.

Em vez de ter que baixar o CRL mais recente e verificar se um URL solicitado está na lista, o navegador envia o certificado para o site em questão para a Autoridade de Certificação.

A CA então retorna um valor de "bom", "revogado" ou "desconhecido" para esse certificado.

Esta abordagem transfere muito menos dados que não precisam ser analisados antes que ele possa ser usado.

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Rev

isão

Protocolos para Comunicações Seguras

• Protocolo Secure Socket Layer (SSL): usa criptografia de chave pública para proteger o canal pela Internet pública

• Protocolo de Transferência de Hipertexto Seguro (S-HTTP): versão estendida do Protocolo de Transferência de Hipertexto; fornece criptografia de mensagens individuais entre cliente e servidor na Internet

• S-HTTP é a aplicação do SSL sobre HTTP; permite a criptografia de informações que passam entre computadores por meio de conexão virtual protegida e segura

Protocolos para Comunicações Seguras

• Protegendo E-mail com S / MIME, PEM e PGP

• Extensões de Correio da Internet Multifuncionais Seguras (S / MIME): baseiam-se no formato de codificação MIME (Multipurpose Internet Mail Extensions), adicionando criptografia e autenticação

• Privacy Enhanced Mail (PEM): proposto como padrão para funcionar com criptosistemas de chave pública; usa criptografia de chave simétrica 3DES

• Pretty Good Privacy (PGP): usa a codificação IDEA para codificação de mensagens

Protocolos para Comunicações Seguras

• Protegendo transações da Web com SET, SSL e S-HTTP

• Transações eletrônicas seguras (SET): desenvolvido pela MasterCard e VISA em 1997 para fornecer proteção contra fraudes de pagamento eletrônico

• Usa DES para criptografar transferências de informações de cartão de crédito

• Fornece segurança para transações com cartão de crédito baseadas na Internet e sistemas de furto de cartão de crédito em lojas de varejo

Protocolos para Comunicações Seguras

• Protegendo o TCP / IP com o IPSec

• Internet Protocol Security (IPSec): protocolo de código aberto para proteger as comunicações em qualquer rede baseada em IP

• IPSec projetado para proteger a integridade dos dados, a confidencialidade do usuário e a autenticidade no nível do pacote IP

Protocolos para Comunicações Seguras

– O IPSec combina vários sistemas criptográficos diferentes: Diffie-Hellman; criptografia de chave pública; algoritmos de criptografia em massa; certificados digitais

– No IPSec, a segurança da camada IP obtida pelo uso do protocolo de cabeçalho de aplicativo (AH) ou protocolo de carga de segurança de encapsulamento (ESP)

Rev

isão

1. Alice escolhe uma estação de trabalho e digita seu nome, esta estação envia o nome+ senha para o AS1.

Kerberos

A

B

2. O retorno é um Ticket (Ktgs(A, Ks)) para ser usado pela estação de Alice com o Servidor de Tickets (TGS2). Os dados que são enviados para Alice são criptografados com uma chave que somente Alice conhece. Quando esta mensagem chega na estação de Alice, a estação pede a senha de Alice, a senha é usada para decriptografar a mensagem recebida do AS, e obter o ticket para comunicar-se com o TGS. Aqui encerra o Login de Alice.

Rev

isão

3. Alice pede para sua estação entrar em contato com Bob, sua estação então usa o ticket recebido para solicitar do TGS um ticket para falar com Bob, neste passo (3) ela envia o ticket recebido Ktgs(A, Ks) mais uma chave para que Alice possa identificar-se com o TGS.

Rev

isão

4. O TGS responde criando uma nova chave (ticket) para que Alice use com Bob. O TGS gera duas mensagens, uma para que Alice possa lê-la. A segunda gerada especialmente para que Alice possa comunicar-se com Bob (gerada com a chave que o TGS conhece de Bob).

Rev

isão

5. Alice envia para Bob a chave que recebeu do TGS especialmente gerada para a comunicar-se com Bob, Bob reconhece Alice. Bob decide se autoriza a comunicação com Alice.

Rev

isão

6, responde para Alice.

Rev

isão

Rev

isão

• Key Distribution Center (AS + TGS)

• AS = Authentication Server

• TGA = Ticket Granting Server

• Realm

Kerberos