capítulo 8 - dinelvio/redes/seg-redes.pdf · • bloco s (substitution): total de 8 blocos s...

Post on 11-Oct-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Segurança de Redes

Capítulo 8

Necessidade de Segurança

Criptografia• Introdução• Cifra de Substituição• Cifra de Transposição• Cifra de Uso Único• Criptografia Quântica

Criptografia - Introdução• Do grego kryptos (κρυπτός) para oculto e gráfein (γράφειν) para escrever.• Ramo preocupado com segurança da informação e tópicos relacionados (confidencialidade, codificação, autenticação e controle de acesso).• Objetivo é ocultar o sentido da mensagem e não a sua existência.• Até a década de 70, criptografia era um assunto tipicamente de estado.• Uso tem se propagado com o aumento da utilização do computador e redes de computadores (em senhas para acesso direto, senhas e codificação para acesso remoto).• Evolução da criptografia vem acompanhada pela evolução da criptoanálise, isto é, métodos para “quebrar” códigos e cifras.

Criptografia - Introdução

Modelo para criptografia (supondo o uso de cifra simétrica).

Cifra de Substituição• Método em que unidades de texto comum (sem codificação) são substituídas por texto codificado seguindo um padrão regular.• Unidades podem ser uma letra (o mais comum), duas ou mais letras, ou uma combinação disso.• O receptor executa a operação de substituição inversa de maneira o obter a mensagem original.• Simples: opera em uma letra de cada vez.• Poligráfica: opera em duas ou mais letras.• Mono-alfabética: segue uma mesma regra durante todo o texto.• Poli-alfabética: muda a substituição ao longo do texto.

Cifra de Substituição

Cifra de Substituição Simples• Número de chaves grande (26! ≈ 88 bits).• Significado da mensagem pode ser facilmente deduzida pela análise da distribuição de freqüência das letras e conjunto de letras (isto é, o conhecimento da língua em que foi escrita a mensagem é importante).• Esta análise permite a obtenção de partes das palavras e, por tentativa e erro, a dedução do texto completo.• Na verdade, este tipo de criptologia é utilizada até como recreação aparecendo freqüentemente nos jornais de domingo.• Estudo para a língua inglesa indica que, na média, 27,6 letras de texto codificado são suficientes para a quebra do código através da análise de freqüência.

Cifra de Transposição• Método em que a ordem dos caracteres de um texto é alterada.• O receptor executa a operação inversa para obter a mensagem original.• Cerca de Balaústre: o texto é escrito verticalmente em balaústres sucessivos, e lido horizontalmente.• por Rota: o texto é escrito verticalmente e lido seguindo uma rota particular (por exemplo, uma espiral)• por Colunas: o texto é escrito horizontalmente e lido verticalmente, seguindo uma seqüência de colunas especificada.

Cifra de Transposição por Colunas

Cifra de Uso Único(One-Time Pad)

• Método em que o texto comum é combinado com uma chave aleatória cujo comprimento é pelo menos tão longo quanto aquele do texto.• Se a chave é de fato aleatória (isto é, com entropia nula), nunca re-utilizável e (claro) mantida em segredo, pode-se provar que o código é inquebrável.• Tanto transmissor e receptor devem ter conhecimento da chave (seqüência aleatória)• Dado um texto codificado e supondo que o intruso tenha potência computacional infinita, pode-se verificar que existem chaves que decodifiquem esta mensagem para todas as combinações possíveis, incluído todas aquelas plausíveis.

Cifra de Uso Único I L O V E Y O U .

E L V I S L I V E S

Criptografia Quântica• A criptografia clássica depende da dificuldade matemática colocada para a quebra do código.• A criptografia quântica utiliza as leis da mecânica quântica para oferecer segurança.• Emprega tipicamente fótons de luz e baseia-se no Princípio da Incerteza de Heisenberg (não se pode medir certos conjuntos de grandezas em partículas elementares, por exemplo, posição e momento).

Criptografia Quântica - BB84

Algoritmos de Chave Simétrica• As chaves de encriptação e decriptação são fortemente relacionadas (ou são iguais ou uma pode ser obtida facilmente da outra).• As chaves representam um segredo compartilhado pelas partes integrantes do enlace de comunicação privado.• Cifradores de Bloco: codificam um grupo (bloco) de bits de cada vez. Blocos de 64 bits são comuns.• Cifradores de Fluxo: codificam bits de uma mensagem um de cada vez.• Uma desvantagem destes algoritmos é a necessidade do compartilhamento e armazenagens das chaves

Algoritmos de Chave Simétrica• Cifrador de Produtos• DES (Data Encryption Standard)• AES (Advanced Encryption Standard)• Outros Cifradores• Criptoanálise

Cifradores de Produtos• Mecanismo cifrador de bloco que funciona executando em seqüência um número determinado de transformações simples.• Transformações: substituição, permutação e aritimética modular (aritmética inteira empregando módulo)• Cada transformação não oferece individualmente muita proteção. Entretanto, espera-se que uma seqüência suficientemente longa de operações forneça resistência suficiente à criptoanálise.

Cifrador de Produto

Elementos básicos. (a) P-box. (b) S-box. (c) Cifrador.

Data Encryption Standard• Cifrador de bloco selecionado para uso oficial pelo Federal Information Processing Standard (Estados Unidos) em 1976.

• Bastante utilizado internacionalmente mas que atualmente é considerado inseguro para muitas aplicações, principalmente pelo tamanho reduzido da chave (56 bits).• Com os recursos computacionais disponíveis este código pode ser quebrado em menos de 24 horas.• A modificação denominada DES Triplo (ilustrado adiante) é considera bastante superior.

Data Encryption Standard

(a) Estrutura geral. (b) Interação em detalhe.

Função de Feistel

Função de Feistel• Bloco E (Expansion): o bloco de 32 bits é expandido (por duplicação de alguns bits) para 48 bits.• O resultado é combinado com uma sub-chave através de uma operação de Exclusive OR. Cada interação utiliza uma sub-chave diferente.• Bloco S (Substitution): total de 8 blocos S concentram a maior proteção oferecida pelo DES.• Bloco P (Permutation): bloco P com permutação fixa.

DES Triplo

(a) Codificador. (b) Decodificador.

Advanced Encryption Standard (AES)Regras da proposta para o AES1 O algoritmo deve simétrico, em bloco.2 Todo o projeto deve ser público.3 Comprimentos das chaves: 128, 192 e 256 bits.5. Possível de ser implementado em software e/ou hardware.6. Algoritmo público ou sem restrição para uso.

Advanced Encryption Standard (AES)• Dois criptógrafos belgas (Joan Daemen e Vincent Rijmen) submeteram o algoritmo denominado “Rijndael” ao processo de seleção para o AES. E venceram.• Este algoritmo foi adotado pelo governo americano em 2001 e espera-se tenha seu uso difundido grandemente.• Correntemente, o AES é um dos mais populares algoritmos cifradores de bloco com chave simétrica em uso.

Advanced Encryption Standard (AES)• AES funciona em matrizes de 4×4 bytes denominadas estados• Para codificação, as seguintes etapas são executadas:

– AddRoundKey — cada byte do estado é combinado com uma parte da chave, isto é, a round key.

– SubBytes — uma substituição não linear utilizando uma look-up table.

– ShiftRows — uma transposição onde cada linha do estadoé deslocada um número de vezes.

– MixColumns — uma combinação de 4 bytes de cada coluna em uma transformação linear.

Advanced Encryption Standard

Advanced Encryption Standard

Criação dos arrays de state e rk.

Modo Electronic Code Book

Codificado com 16 blocos DES.

Modo Cipher Block Chaining

(a) Codificação. (b) Decodificação.

Modo com Realimentação

(a) Codificação. (c) Decodificação.

Modo em Fluxo

(a) Codificação. (b) Decodificação.

Modo Contador

Criptoanálise• Alguns algoritmos de criptografia com chave simétrica.

Algoritmo com Chave Pública• Comunicação é possível sem que as partes compartilhem uma chave secreta.• Duas chaves são geradas: chave pública e chave privada.• Chave Pública: gerada pelo originador e livremente distribuída.• Chave Privada: gerada pelo originador e mantida em segredo.• Uma chave é usada para codificar enquanto a outra para decodificar.• Para funcionar, chave privada não pode ser obtida da chave pública.• Custo computacional significativamente maior que algoritmos com chave simétrica.

Algoritmo com Chave Pública• Alguns usos:

• Encriptação: manter uma mensagem secreta para todos aqueles que não possuem a chave privada correta.• Assinatura Digital: verificar se uma mensagem foi criada (codificada) utilizando uma chave privada específica.

• Um número aleatório longo é utilizado para construir as duas chaves.

Algoritmo com Chave Pública

Encriptação Assinatura Digital

Algoritmo com Chave Pública• Não existe nenhum algoritmo de chave pública conhecido que é seguro contra um ataque.• Em outras palavras, é possível que a relação entre o par de chaves seja estabelecido, ou que qualquer outra fraqueza do algoritmo permita a decriptação da mensagem sem o uso da chave privada.• A segurança desses algoritmos está baseada no fato de que o problema matemático para quebrar a encriptação é muito difícil de ser resolvido.• Evidentemente essa dificuldade é influenciada pela potência computacional disponível e por novas descobertas matemáticas.

RSA• Descrito em trabalho publicado em 1977 por Ron Rivest, Adi Shamir e Len Adleman (de onde o nome do algoritmo deriva).• Utilizado para encriptação e para assinatura digital.• Utilizado largamente no comércio eletrônico.• Geração das chaves:

– Escolha aleatoriamente, de maneira independente, 2 números primos grandes p e q;– Calcule n = pq e z = (p – 1)(q - 1);– Escolha um número d > 1 tal que d e z são primos entre si;– Calcule e tal que ed = 1 mod(z).

RSA• Chave Pública: composta de

– módulo n, e– expoente público e.

• Chave Privada: composta de– módulo n, e– expoente privado d.

• Uma escolha popular para e = 216 + 1 = 65537.• Aplicações executando em ambientes com recursos limitados utilizam valores menores ao custo de menor proteção

RSA• Codificação:

– mensagem M deve ser transmitida;– mensagem M é convertida em número m < n; e– texto encriptado é calculado como c = mr mod(n), onde r é o expoente apropriado (ou e ou d).

• Decodificação:– texto encriptado c é recebido;– número m é calculado como m = cs mod(n), onde s é o expoente apropriado (ou e ou d, inverso daquele usado na codificação);– a partir do número m a mensagem M é obtida.

• Pode-se provar que m = cs = msr = med = m mod(z) = m mod(n).

RSA

Exemplo considerando:• p = 3, q = 11, n = pq = 33, z = ( p-1)(q-1) = 20,• d = 7 e e = 3 pois ed = 1 mod(20)

RSA• A segurança do RSA está baseada em 2 problemas matemáticos:

– o problema da fatoração de números grandes; e– o problema RSA (calcular a raiz e-ésima com módulo n).

• No momento, para n ≤ 2256, um PC doméstico precisa de algumas horas para quebrar a codificação.• Recomenda-se por segurança que n ≥ 22048.

Assinaturas Digitais• Mecanismo que possa assegurar, utilizando criptografia,

– a alegada identidade do transmissor;– negar a possibilidade do transmissor repudiar a mensagem; e– negar a possibilidade do receptor alterar (forjar) a mensagem.

• Tópicos:– Assinaturas de Chave Simétrica– Assinaturas de Chave Pública– Message Digests

Assinaturas de Chave Simétrica

Nó repositório central (BB ou Big Brother) sabe todas as senhas.

A = Alice (o remetente), B = Bob (o destinatário), KX = chave secreta de Xt = timbre de tempo, P = mensagem, RA = número aleatório

Assinatura de Chave Pública

Message Digest• Uma função (ou algoritmo) hash é uma maneira de criar uma pequena “impressão digital” em qualquer tipo de dado.• A função extrai, substitui e mistura os dados para criar essa impressão digital (normalmente denominada hash value)• Características desejáveis:

– cálculo do hash value deve ser fácil;– obtenção da mensagem a partir do hash value não deve ser possível (isto é, uma função hash não deve ter inversa);– hash values não devem se repetir; e– mudanças pequenas (1 bit, por exemplo) devem produzir hash values muito diferentes.

Message Digests

• Bob consegue verificar se P foi alterado.

P = mensagem, DX = função de encriptação de X

MD5• MD5 (Message-Digest Algorithm 5) é uma função hash de 128 bits (16

bytes) bastante popular.• Criada por Ronald Rivest em 1991 para substituir o então utilizado MD4 (e considerado inseguro).• Especificação contida no RFC 1321.• Falhas foram encontradas em 1996 e anos seguintes colocando em questão o uso do algoritmo.• Exemplos:

– MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6

– MD5("The quick brown fox jumps over the lazy cog") = 1055d3e698d289f2af8663725127bd4b

– MD5("") = d41d8cd98f00b204e9800998ecf8427e

SHA• SHA (Secure Hash Algorithm) é uma família de funções hash.• A mais popular é a SHA-1, uma vez considerada a sucessora da MD5.• Algoritmos foram publicados pelo National Security Agency americano e designados para uso para documentos do governo americano.• Primeiro algoritmo (apelidado de SHA-0) foi publicado em 1993.• Em 1995 foi publicado o SHA-1.• Outras variantes (coletivamente denominadas SHA-2): SHA-224, SHA-256, SHA-384, and SHA-512.• SHA-2 ainda consideradas seguras, entretanto consideradas potencialmente vulneráveis.

SHA• Características gerais:

– SHA-0: 160 bits de saída, 160 bits internamente, blocos de 512 bits, 80 passes.– SHA-1: 160 bits de saída, 160 bits internamente, blocos de 512 bits, 80 passes.– SHA-256/224: 256/224 bits de saída, 256/224 bits internamente, blocos de 512 bits, 64 passes.– SHA-512/384: 512/384 bits de saída, 512 bits internamente, blocos de 1024 bits, 80 passes.

SHA-1

• Uso do SHA-1 e RSA para assinatura digital.

SHA-1

(a) Mensagem enchida até chegar a 512 bits. (b) Variáveis de saída. (c) Array de palavras.

Gerenciamento de Chaves Públicas• Certificados• X.509• PKI (Public Key Infrastructures)

Problemas com Encriptaçãocom Chave Pública

• Alice tenta obter a chave pública de Bob através de acesso a sua homepage.• Trudy intercepta a mensagem e coloca-se como intermediária.

Certificados• Certificate Authority ou Certification Authority (CA) é uma entidade que emite certificados digitais.• Uma CA é uma fonte confiável independente dos envolvidos na transação.• Uma CA emite um “certificado de chave pública”, que atesta que a chave pública contida no certificado pertence a pessoa, organização, servidor, etc. indicada.• Exemplos de CAs

– VeriSign – Thawte (adquirida pela VeriSign)– Entrust – GoDaddy – Cacert (serviço gratuito) – EJBCA

Certificados

Exemplo de certificado.

X.509• Padrão ITU-T para PKI (Public Key Infrastructure) publicado em 1988.• Especifica formatos de certificados e um algoritmo de validação.• Assume uma organização hierárquica das CAs.• A versão 3 do X.509 foi adaptado pela IETF e descrito na RFC 3280.

X.509

Campos básicos no certificado X.509.

X.509Certificate:

Data:

Version: 1 (0x0)

Serial Number: 7829 (0x1e95)

Signature Algorithm: md5WithRSAEncryption

Issuer: C=ZA, ST=Western Cape, L=Cape Town,

O=Thawte Consulting cc,

OU=Certification Services Division,

CN=Thawte Server CA/Email=server-certs@thawte.com

Validity

Not Before: Jul 9 16:04:02 1998 GMT

Not After : Jul 9 16:04:02 1999 GMT

Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala,

OU=FreeSoft,

CN=www.freesoft.org/Email=baccala@freesoft.org

X.509 Subject Public Key Info:

Public Key Algorithm: rsaEncryption

RSA Public Key: (1024 bit)

Modulus (1024 bit):

00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb:

33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1:

66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66:

70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17:

16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b:

c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77:

8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3:

d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8:

e8:35:1c:9e:27:52:7e:41:8f

Exponent: 65537 (0x10001)

X.509

Signature Algorithm: md5WithRSAEncryption

93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d:

92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92:

ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67:

d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72:

0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1:

5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7:

8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22:

68:9f

PKI (Public Key Infrastrutures)• Sistema que procura oferecer atestado de identidade a partir de informação produzida por uma terceira parte confiável.• Além disso, permite ligar usuários a chaves públicas.• Esta terceira parte confiável é em geral uma CA. Portanto, PKI é uma estrutura que distribui a funcionalidade de identificação por várias entidades.

PKI

(a) PKI Hierárquica. (b) Certificados.

PKI (Public Key Infrastrutures)• Sistema que procura oferecer atestado de identidade a partir de informação produzida por uma terceira parte confiável.• Além disso, permite ligar usuários a chaves públicas.• Esta terceira parte pode ser uma autoridade nacional ou regional, ou uma CA.• Portanto, PKI é uma estrutura que assume de forma distribuída (porém, correntemente hierárquica) a funcionalidade de identificação por várias entidades.

Segurança da Comunicação• IP Security (IPsec)• Firewalls• Virtual Private Networks (VPN)• Wireless Security

IPsec• Plataforma para oferecer segurança às comunicações que utilizam o IP.• Permite encriptação e/ou autenticação de cada pacote IP.• Uma conexão utilizando IPsec é denominada Secure Association (SA)• Obrigatório para o IPv6 e opcional no IPv4.• Utiliza chave simétrica (por questões de desempenho).• RFC 2411 apresenta organização geral do IPsec.

IPsec• Modo Transporte: Utilizada na comunicação entre nós em uma LAN.• Modo Túnel: Utilizado na comunicação entre sub-redes. Várias conexões TCP podem ser agregadas e tratadas como um fluxo único. • Dois funções:

– segurança do fluxo de dados• Authentication Header (AH) ou Autenticação de Cabeçalho• Encapsulating Security Payload (ESP) ou Encapsulamento Seguro da Mensagem

– intercâmbio de chaves• Internet Key Exchange (IKE) ou Intercâmbio de Chave da Internet.

IPsec – AH• Adiciona (1) autenticação (garante a autenticidade do pacote); e (2) integridade (garante que o pacote não foi alterado durante a transmissão).• Cabeçalho (colocado entre os cabeçalhos de IP e TCP/UDP):

– Next Header: armazena o campo Protocol do cabeçalho IP original (que foi alterado para 51 para indicar a presença do AH)– Payload Length: Comprimento do AH– Security Parameters Index: em conjunto com o endereço IP, identifica o conjunto de parâmetros (inclusive chave) utilizado nessa SA– Sequence Number: numeração única dos pacotes para essa SA– Authentication Data: contém a assinatura digital para este pacote

IPsec – AH

IPsec – ESP• Cabeçalho colocado entre os cabeçalhos de IP e TCP.• Campos do cabeçalho:

– Next Header: armazena o campo Protocol do cabeçalho IP original (que foi alterado para 50 para indicar a presença do ESP)– Security Parameters Index: em conjunto com o endereço IP, identifica o conjunto de parâmetros (inclusive chave) utilizado nessa SA– Sequence Number: numeração única dos pacotes para essa SA

• Authentication Data: contém a assinatura digital do pacote e é incluído ao final da mensagem

IPsec – ESP

(a) ESP em modo transporte. (b) ESP em modo túnel.

IPsec – IKE e IKEv2• Motivação para o IKEv2:

– Simplicidade (menor número de RFCs, menor número de algoritmos de encriptação, menor número de mensagens)– Resistência a ataques de DoS (Denial of Service)

• IKEv2 definida na RFC4306

Firewall• Equipamento (hardware + software) que tem a função de controlar a comunicação entre duas zonas de tráfego, uma confiável (por exemplo, intranet) e outra não confiável (por exemplo, a Internet)• Deve bloquear comunicação proibida por razões de segurança, ética, política, etc, ou seja, atua como um filtro de pacotes.• Dois tipos:

– Firewall de Rede: denominado “filtro de pacotes” pelo autor– Firewall de Aplicação: denominado “gateway de aplicação” pelo autor

Firewall• Firewall de Rede: filtragem de pacotes

– Atuam como filtros a nível de TCP/IP, não permitindo que pacotes passem exceto se eles seguirem as regras determinadas.– Por exemplo, pode-se bloquear certos endereços IP de origem ou destino, portas TCP de origem ou destino, etc.

• Firewall de Aplicação: controle de aplicação– Tem atuação dependente da aplicação: web browser, ftp, telnet, etc.

• Exemplo: bloquear http:post – Em geral implementados por proxy, isto é, não permitem a conexão direta entre aplicações.– Bloqueiam pacotes em função do conteúdo (web site, vírus, etc).

Firewall

Firewall consistindo de 2 filtros de pacotes e um gateway de aplicação.

Virtual Private Network (VPN)

(a) Rede privada (com linha alugada). (b) Uma VPN.

Segurança no 802.11• Utiliza o Wired Equivalent Privacy (WEP).• Objetivo é proporcionar um nível de privacidade equivalente àquele encontrado em redes locais tradicionais (com fio).• Não oferece proteção contra usuários compartilhando a mesma rede.• Utiliza o algoritmo RC4 para criptografar os pacotes.• Os parâmetros do RC4 são uma chave secreta k de 40 ou 104 bits e um vetor de inicialização de 24 bits. O resultado é XORed com o pacote original.• Devido as suas inúmeras fraquezas (qualquer encriptação pode ser quebrada em minutos com as ferramentas disponíveis atualmente), o WEP tem sido substituido por:

– inicialmente: Wi-Fi Protected Access (WPA)– definitivamente: Padrão IEEE 802.11i (WPA2)

Segurança no 802.11

Encriptação utilizando o WEP

Segurança no Bluetooth• Camada física: frequency hopping.• Utiliza o algoritmo SAFER+ para autenticação e geração de chave.

– Secure And Fast Encryption Routine (SAFER) é uma família de algoritmos de encriptação de blocos desenvolvido por James Massey.

Authentication Protocols• Authentication Based on a Shared Secret Key• Establishing a Shared Key: Diffie-Hellman• Authentication Using a Key Distribution Center• Authentication Using Kerberos• Authentication Using Public-Key Cryptography

Authentication Based on a Shared Secret Key

Two-way authentication using a challenge-response protocol.

Authentication Based on a Shared Secret Key (2)

A shortened two-way authentication protocol.

Authentication Based on a Shared Secret Key (3)

The reflection attack.

Authentication Based on a Shared Secret Key (4)

A reflection attack on the protocol of Fig. 8-32.

Authentication Based on a Shared Secret Key (5)

Authentication using HMACs.

Establishing a Shared Key:The Diffie-Hellman Key Exchange

The Diffie-Hellman key exchange.

Establishing a Shared Key:The Diffie-Hellman Key Exchange

The bucket brigade or man-in-the-middle attack.

Authentication Using a Key Distribution Center

A first attempt at an authentication protocol using a KDC.

Authentication Using a Key Distribution Center (2)

The Needham-Schroeder authentication protocol.

Authentication Using a Key Distribution Center (3)

The Otway-Rees authentication protocol (slightly simplified).

Authentication Using Kerberos

The operation of Kerberos V4.

Authentication Using Public-Key Cryptography

Mutual authentication using public-key cryptography.

E-Mail Security• PGP – Pretty Good Privacy• PEM – Privacy Enhanced Mail• S/MIME

PGP – Pretty Good Privacy

PGP in operation for sending a message.

PGP – Pretty Good Privacy (2)

A PGP message.

Web Security• Threats• Secure Naming• SSL – The Secure Sockets Layer• Mobile Code Security

Secure Naming

(a) Normal situation. (b) An attack based on breaking into DNS and modifying Bob's record.

Secure Naming (2)

How Trudy spoofs Alice's ISP.

Secure DNS

An example RRSet for bob.com. The KEY record is Bob's public key. The SIG record is the top-level com server's signed has of the A and KEY records to verify their authenticity.

Self-Certifying Names

A self-certifying URL containing a hash of server's name and public key.

SSL—The Secure Sockets Layer

Layers (and protocols) for a home user browsing with SSL.

SSL (2)

A simplified version of the SSL connection establishment subprotocol.

SSL (3)

Data transmission using SSL.

Java Applet Security

Applets inserted into a Java Virtual Machine interpreter inside the browser.

Social Issues• Privacy• Freedom of Speech• Copyright

Anonymous Remailers

Users who wish anonymity chain requests through multiple anonymous remailers.

Freedom of SpeechPossibly banned material:2. Material inappropriate for children or teenagers.3. Hate aimed at various ethnic, religious, sexual, or other

groups.4. Information about democracy and democratic values.5. Accounts of historical events contradicting the government's

version.6. Manuals for picking locks, building weapons, encrypting

messages, etc.

Steganography

(a) Three zebras and a tree. (b) Three zebras, a tree, and the complete text of five plays by William Shakespeare.

top related