Segurança e auditoria de sistemas

41
Segurança e auditoria de sistemas Carlos Oberdan Rolim Ciência da Computação Sistemas de informação

description

Segurança e auditoria de sistemas. Carlos Oberdan Rolim Ciência da Computação Sistemas de informação. Criptografia. * Créditos: Prof. Dr.Edgar Jamhour - PUC Parana. Criptografia Baseada em Chaves. CRIPTOGRAFIA. Texto Fechado (Ciphertext). Texto Aberto (PlainText). DESCRIPTOGRAFIA. - PowerPoint PPT Presentation

Transcript of Segurança e auditoria de sistemas

Page 1: Segurança e auditoria de sistemas

Segurança e auditoria de sistemas

Carlos Oberdan Rolim

Ciência da ComputaçãoSistemas de informação

Page 2: Segurança e auditoria de sistemas

Criptografia

* Créditos: Prof. Dr.Edgar Jamhour - PUC Parana

Page 3: Segurança e auditoria de sistemas

Criptografia Baseada em Chaves

Texto Aberto(PlainText)

Texto Fechado(Ciphertext)

CRIPTOGRAFIA

DESCRIPTOGRAFIA

Page 4: Segurança e auditoria de sistemas

Criptografia por Chaves

Princípio: O resultado da criptografia depende de um parâmetro de entrada, denominado chave.

Exemplo. Caesar Cipher

Chave: N = número de letras deslocadas

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

Nada de novo no front.

Qdgd gh qryr qr iurqw.

N = 3

N = 4 Rehe hi rszs rs jvstx.

Page 5: Segurança e auditoria de sistemas

Espaço das Chaves (KeySpace)

Uma chave é um valor específico do espaço de chaves (keyspace).

No exemplo anterior:

KS = 25

N = 3, é a chave específica.

Algoritmos Modernos:

Utilizam chaves binárias

O espaço de chaves depende do tamanho da chave

Dois tipos de Algoritmos:

Simétricos: KS 2tamanho_chave

Assimétricos: KS << 2tamanho_chave

Page 6: Segurança e auditoria de sistemas

Segurança =Tamanho do Espaço de Chaves

Exemplo: Algoritmo Simétrico

chaves de 128 bits: KS = 2128 chaves

KS = 3,4028 1038 chaves

Computador: capaz de avaliar

1 bilhões de chaves por segundo

= 3,1536 1016 chaves por ano

= 31,536 milhões de bilhões chaves por ano

Testaria todas as chaves em:

1,0781 1022 de anos

= 1,0781 1010 trilhões de anos

= 10,0781 bilhões de trilhões de anos

Page 7: Segurança e auditoria de sistemas

Criptografia Simétrica e Assimétrica

Dois sistemas de criptografia são usados atualmente:

Criptografia Simétrica ou de Chave Secreta

trabalha com uma única chave.

Chave secreta ou chave de sessão

Criptografia Assimétrica ou de Chave Pública

trabalha com um par de chaves

Chave pública

Chave privada

Page 8: Segurança e auditoria de sistemas

Chave Secreta (Criptografia Simétrica)

Texto Simples

(plaintext)

Texto Codificado(ciphertext)

Texto Simples

(plaintext)

Chave Secreta

Algoritmo de Criptografia

Algoritmo de Descriptografia

Chave Secreta==

Page 9: Segurança e auditoria de sistemas

DES – Data Encryption Standard

Um dos algoritmo de chave secreta mais difundido é o DES.

Originalmente Desenvolvido pela IBM.

Este algoritmo é padronizado pela ANSI, e foi adotado como algoritmo oficial pelo governo americano.

DES criptografia blocos de 64 bits com chaves de 56 bits.

DES utiliza técnicas baseadas em permutação sucessiva de bits.

Page 10: Segurança e auditoria de sistemas

Modos de Operação

O DES possui vários modos de operação, dependendo da maneira como os blocos de 64 bits de uma mesma mensagem são criptografados.

Alguns exemplos são:

ECB: Electronic Codebook Mode

CBC: Cipher Block Chaining

Page 11: Segurança e auditoria de sistemas

MODO ECB

DADOS

BLOCO 64 bits

CRIPTOGRAFIA

BLOCO 64 bits(cipher text)

BLOCO 64 bits

CRIPTOGRAFIA

BLOCO 64 bits(cipher text)

BLOCO 64 bits

CRIPTOGRAFIA

BLOCO 64 bits(cipher text)

O Modo ECB divide a mensagem em blocos de 64 bits, e criptografa cada bloco de maneira independente.

Page 12: Segurança e auditoria de sistemas

MODO CBC

DADOS

BLOCO 64 bits

CRIPTOGRAFIA

BLOCO 64 bits(cipher text)

BLOCO 64 bits

CRIPTOGRAFIA

BLOCO 64 bits(cipher text)

XOR

BLOCO 64 bits

CRIPTOGRAFIA

BLOCO 64 bits(cipher text)

XOR

O Metodo CBC torna a criptografia de um bloco dependente do bloco anterior.

Page 13: Segurança e auditoria de sistemas

Chave Pública = CRIPTOGRAFIA ASSIMÉTRICA

Sistema de Criptografia Assimétrico

Utiliza um par de chaves.

Uma chave publica para criptografar a mensagem.

Uma chave privada para descriptografar a mensagem.

A chave pública não é secreta.

A chave privada é secreta.

A chave pública deve ser distribuída para os usuário que desejarem enviar uma mensagem com segurança.

Page 14: Segurança e auditoria de sistemas

Chave Pública (Criptografia Assimétrica)

Texto Simples

(plaintext)

Texto Codificado(ciphertext)

Texto Simples

(plaintext)

Chave PúblicaChave Pública Chave PrivadaChave Privada

Algoritmo de Algoritmo de CriptografiaCriptografia

Algoritmo de Algoritmo de DecriptografiaDecriptografia

Page 15: Segurança e auditoria de sistemas

Chave Pública e Chave Secreta

Receptor(servidor)

Transmissor(cliente)

Chave privada

Chave pública

11

22

33

(chave secreta aleatória)

44

(chave secreta aleatória)

COMUNICAÇÃO COMUNICAÇÃO SEGURASEGURA

Page 16: Segurança e auditoria de sistemas

RSA (Rivest, Shamir, Adleman)

Sejam p, q e e números primos (> 512 bits). Calcula-se:

n = p.q e ed = 1 mod (p-1)(q-1)

As chaves são definidas da seguinte maneira:

Chave pública: (n,e) e Chave privada: d

Para criptografar uma mensagem “m” efetua-se a operação:

s = me mod n

Para decriptografar, efetua-se a operação:

m = sd mod n

Page 17: Segurança e auditoria de sistemas

RSA

O algoritmo RSA é muito mais lento que o DES, pois os cálculos efetuados são complexos.

Por utilizar números primos, o RSA precisa de chaves muito grandes para reproduzir o mesmo grau de segurança do DES.

Espaço de Chaves <<< 2tamanho_chave

As chaves em RSA são em geral da ordem de 1024 bits.

Page 18: Segurança e auditoria de sistemas

Assinatura Digital com Chave Pública

Permite ao receptor verificar a integridade da mensagem:O conteúdo não foi alterado durante a transmissão.

O transmissor é quem ele diz ser.

Assinatura Assinatura digitaldigital

Chave privada

Algoritmode assinatura

digitalMensagemMensagem

isto é isto é segredosegredo

Page 19: Segurança e auditoria de sistemas

Implementação da Assinatura Digital

ABFC01FE012A02C897CD012DF41

DIGEST

F18901BF18901B

Algoritmo de

Hashing

ASSINATURA DIGITAL

ABFC01FE012A02C897CD012DF41

Mensagem com

Assinatura

Digital

MENSAGEM

aberta

ASSINATURA

criptografada

Algoritmo de Cripografia

Page 20: Segurança e auditoria de sistemas

Geração e Validação das Assinaturas

xxxxyyyyzzzz

Assinatura Assinatura DigitalDigital

DIGEST

1B2A37...Criptografia com chave privada

Algoritmo Algoritmo de de

HashingHashingRede

Assinatura Assinatura DigitalDigital

xxxxyyyyzzzz

DIGESTDIGEST

Decriptografia com chave

pública

DIGESTDIGEST

Algoritmo Algoritmo de de

HashingHashing

COMPARAÇÃO

RECEPTORTRANSMISSOR

Page 21: Segurança e auditoria de sistemas

Verificação da Integridade da Mensagem

Transmissor(A)

Receptor(B)

MENSAGEMASSINATURA

DIGITAL

CHAVE PRIVADA DE A CHAVE PÚBLICA DE A

O receptor precisa ter a chave O receptor precisa ter a chave pública do transmissor para verificar pública do transmissor para verificar

a assinatura.a assinatura.

Page 22: Segurança e auditoria de sistemas

Autoridade Certificadora

C.A.C.A.(Certification (Certification

Authority)Authority)

I.D. do Proprietário

Assinatura Digital

Autoridade Certificadora

(Verisign,Certisign,

Etc.)

Chave pública (e.g., Banco do Brasil)

CHAVE PRIVADA

I.D. da CA

Certificado X509

www.bancodobrasil.com.brBanco do Brasil S.A.Brasilia, DF, Brasil

www.verisign.comVerisign, Inc.

Page 23: Segurança e auditoria de sistemas

Estratégias de Certificação

O software que recebe o certificado (por exemplo, o browser) deve possuir a chave pública da autoridade certificadora.

Basede

chaves

I.D. do Proprietário

Assinatura Eletrônica

I.D. da Autoridade Certificadora

VERISIGN: www.verisign.com

Off-line On-line

www.bancodobrasil.com.brwww.bancodobrasil.com.br

Page 24: Segurança e auditoria de sistemas

PKI (Public Key Infrastructure)

O termo PKI (Infraestrutura de chave pública) é utilizado para descrever o conjunto de elementos necessários para implementar um mecanismo de certificação por chave pública.

EMPRESA A

EMPRESA B

CA(Autoridade

Certificadora)certificadoscertificados

Page 25: Segurança e auditoria de sistemas

Como a criptografia pode ser implementada?

Protolco de Aplicação

FTP, SMTP, HTTP, Telnet, SNM, etc.

TCP, UDP

Data LinkEthernet, Token Ring, FDDI, etc

IP

Física

Aplicações

Tecnologia heterogênea

aplicação

transporte

rede

enlace

física

Seqüência de empacotamento

Page 26: Segurança e auditoria de sistemas

SSL

SSL: Secure Sockets Layer

HTTP TELNET

SSLSSL

TCP/IPTCP/IP

POP

8080 110110 2323

HTTPs TELNETsPOPs

443443 995995 992992

SocketsSockets

Page 27: Segurança e auditoria de sistemas

Exemplo: HTTPS

CLIENTE SERVIDOR

SOCKS

SSL

>1023

>1023

SOCKS

SSL443

80

HTTP

HTTPS

RecursoNão

Protegido

RecursoProtegido

XX

Page 28: Segurança e auditoria de sistemas

SSL e TLS

SSL: Secure Socket Layer

Definido pela Netscape

Versão atual: 3.0

TLS: Transport Layer Security

Definido pelo IETF

Versão atual: 1.0

RFC 2246 (Janeiro de 1999)

O TLS 1.0 é baseado no SSL 3.0, mas eles possuem diferenças que os tornam incompatíveis.

Page 29: Segurança e auditoria de sistemas

TLS

O TLS define dois sub-protocolos:

TLS Record Protocol

Utilizado para encapsular os protocolos das camadas superiores.

TLS Handshake Protocol

Utilizado para negociar o algorítmo e as chaves de criptografia antes que o primeiro byte da comunicação segura seja transmitido.

Page 30: Segurança e auditoria de sistemas

SSL/TLS

Page 31: Segurança e auditoria de sistemas

SSL Record Protocol

Page 32: Segurança e auditoria de sistemas

TLS

Os objetivos do TLS são:Segurança criptográfica entre dois pontos.

Interoperabilidade

Fabricantes diferentes

Extensibilidade

Novos algorítmos de criptografia.

Eficiência:

CPU

Tráfego de rede.

Page 33: Segurança e auditoria de sistemas

Secure Socket Layer (SSL) e Transport Layer Security (TLS)

O SSL/TLS permite executar duas funções básicas:autenticação entre o cliente e o servidor.

criptografia na troca de mensagens.

SSL/TLSSSL/TLS

O cliente se autentica para o servidor (opctional)

O servidor se autentica para o cliente (obrigatório)

Page 34: Segurança e auditoria de sistemas

Identificação do CA

Autenticação do Servidor

SSL/TLS permite ao usuário confirmar a identidade do servidor.

SSLSSL

Identificação do Servidor

Chave pública do servidor

Assinatura Digital de uma CA

Page 35: Segurança e auditoria de sistemas

Certificados de Servidor

Page 36: Segurança e auditoria de sistemas

Autenticação do Cliente

SSL permite ao servidor identificar a identidade do cliente.

SSLSSL

Identificação do CA

Identificação do Cliente

Chave pública do Cliente

Assinatura Digital de uma CA

Page 37: Segurança e auditoria de sistemas

Certificados de Cliente

Page 38: Segurança e auditoria de sistemas

Criptografia da Comunicação

Após a certificação, o SSL/TLS cria uma chave de sessão que garante:

Confidencialidade e Proteção contra Tampering (alteração dos dados em transito).

infoinfo(chave secreta aleatória)

infoinfo(chave secreta aleatória)

Page 39: Segurança e auditoria de sistemas

TLS Handshake

Page 40: Segurança e auditoria de sistemas

Algoritmos Padronizados para SSL/TLS

Strongest cipher suite.

Triple DES (168-bit encryption com autenticação)

Strong cipher suites

RC4, criptografia de 128-bits (utiliza o MD5 para autenticação)

é o mais rápido da categoria

RC2, criptografia de 128-bits (utiliza o MD5 para autenticação)

DES, que suporta criptografia de 56-bits (utiliza o SHA-1 para autenticação).

Page 41: Segurança e auditoria de sistemas

Conclusão

Algoritmos modernos são baseados no conceito de chaves.

Algoritmos assimétricos são lentos e unidirecionais.

Algoritmos simétricos são rápidos e bidirecionais.

SSL é um mecanismo para negociação de algoritmos e chaves de criptografia.

SSL é implementado nas aplicações através de uma biblioteca de sockets estendida.