• Nenhum resultado encontrado

2 Princípios de criptografia

N/A
N/A
Protected

Academic year: 2019

Share "2 Princípios de criptografia"

Copied!
11
0
0

Texto

(1)
(2)

Meta:

Permitir ao aluno a compreensão dos principais conceitos relacionados a criptografia de dados.

Objetivo: Ao final desta aula você deverá ser capaz de:

Compreender os principais conceitos relacionados a criptografia de dados;

(3)

7.1. Criptografia

A palavra criptografia vem das palavras gregas que significam "escrita secreta". A criptografia tem uma longa e interessante história de milhares de anos. Historicamente, três grupos de pessoas utilizaram e contribuíram para a arte da criptografia: os militares, os diplomatas e os amantes. Dentre eles, os militares tiveram o papel mais importante e definiram as bases para a tecnologia.

As mensagens a serem criptografadas, conhecidas como texto simples, são transformadas por uma função que é parametrizada por uma chave (senha). A saída do processo de criptografia é conhecida como texto cifrado.

Será útil e prático ter uma notação para estabelecer uma relação entre o texto simples, o texto cifrado e as chaves. Utilizaremos TC = EK(TS) para denotar que a criptografia do texto simples TS usando

a chave para criptografar EK (Encrypt Key) gera o texto cifrado TC. Da

mesma forma, TS = DK(TC) representa a descriptografia de TC, usando

a chave Dk (Decrypt Key), para se obter o texto simples outra vez.

A chave consiste em um string (relativamente) curto que seleciona uma das muitas formas possíveis de criptografia. Devemos enfatizar o caráter não sigiloso do algoritmo de criptografia, ou seja, ele é de conhecimento público. Na verdade, o sigilo está na chave, e seu tamanho é uma questão muito importante do projeto.

Historicamente, os métodos de criptografia têm sido divididos em duas categorias: as cifras de substituição e as cifras de transposição.

7.1.1. Cifras de substituição

(4)

"disfarce". Uma das cifras mais antigas é a cifra de César, atribuída a Júlio César. Nesse método, a se torna D, b se torna E, c se torna F, e z se torna C. Por exemplo, a palavra redes passaria a ser UHGHV. Nos exemplos, o texto simples é apresentado em letras minúsculas e o texto cifrado em letras maiúsculas.

Uma ligeira generalização da cifra de César permite que o alfabeto do texto cifrado seja deslocado k letras, em vez de 3. Nesse caso, k passa a ser uma chave para o método genérico dos alfabetos deslocados em forma circular.

O próximo aprimoramento é fazer com que cada um dos símbolos do texto simples, digamos 26 letras, seja mapeado para alguma outra letra. Por exemplo:

texto simples: 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

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

Esse sistema geral é chamado substituição monoalfabética, sendo a chave o string de 26 letras correspondente ao alfabeto completo. Para a chave anterior, o texto simples redes seria transformado no texto cifrado KTRTL.

7.1.2. Cifras de transposição

(5)

assim por diante. O texto simples é escrito horizontalmente, em linhas. O texto cifrado é lido em colunas, a partir da coluna cuja letra da chave seja a mais baixa.

Figura 7.1 Exemplo de uma cifra de transposição

7.2 Criptografia de chave simétrica

Embora a criptografia moderna utilize as mesmas idéias básicas da criptografia tradicional (transposição e substituição), sua ênfase é diferente. Tradicionalmente, as pessoas que criam a criptografia têm utilizado algoritmos simples. Hoje em dia, acontece o inverso: o objetivo é tornar o algoritmo de criptografia tão complexo e emaranhado que, mesmo que o alguém adquira enormes volumes de texto cifrado de sua própria escolha, sem a chave ele não seja capaz de captar qualquer sentido em tudo que conseguir.

A primeira classe de criptografia que estudaremos é as que utilizam algoritmos de chave simétrica, ou seja, utilizam a mesma chave para codificação e decodificação.

(6)

Contudo, o maior problema da criptografia de chave simétrica é que exige que as duas partes comunicantes compartilhem uma chave em comum, a chave simétrica. Uma dificuldade dessa abordagem é que as duas partes têm de concordar, de alguma maneira, com a chave simétrica compartilhada, mas para fazê-lo, é preciso comunicação, presumivelmente segura.

Historicamente, o problema da distribuição de chaves sempre foi o elo mais fraco da maioria dos sistemas de criptografia. Independente de quanto um sistema de criptografia fosse sólido, se um intruso conseguisse roubar a chave, o sistema acabava sendo inútil. Como a chave de criptografia e a chave de descriptografia eram iguais e eram distribuídas a todos os usuários do sistema, tinha-se a impressão de que havia um problema inerente ao sistema: as chaves tinham de ser protegidas contra roubo, mas também tinham de ser distribuídas. Portanto, a maior questão então era: como estabelecer um canal seguro de comunicação para compartilhar uma chave?

7.3. Criptografia de chave pública

Em 1976, dois pesquisadores da University of Stanford, Diffie e Hellman (1976), propuseram um sistema de criptografia radicalmente novo, no qual as chaves de criptografia e de descriptografia eram diferentes, e a chave de descriptografia não podia ser derivada da chave de criptografia e vice-versa.

(7)

convencional.

O método funciona da seguinte forma: uma pessoa, digamos Alice, desejando receber mensagens secretas, primeiro cria duas chaves, uma pública e uma privada. Chamaremos essas duas chaves de Alice respectivamente de KA+ e KA-. A chave pública de Alice se

torna pública, daí o nome criptografia de chave pública. Por exemplo, Alice poderia colocar sua chave pública na home page que ela tem na Web.. Bob faz o mesmo, publicando sua chave pública (KB+), mas

mantendo secreta a chave privada (KB-).

Agora vamos ver se podemos resolver o problema de estabelecer um canal seguro entre Alice e Bob, que nunca haviam tido um contato anterior. Supondo que tanto a chave de criptografia de Alice, KA+,

quanto a chave de criptografia de Bob, KB+, estejam em arquivos de

leitura pública. Agora, Alice pega sua primeira mensagem M, calcula KB+(M) e a envia para Bob. Em seguida, Bob a descriptografa aplicando

sua chave secreta (KB-), ou seja, ele calcula KB-(KB+(M)) = M. Ninguém

mais pode ler a mensagem criptografada pela chave pública de Bob a não ser ele mesmo, pois somente sua chave privada pode descriptografar a mensagem. Para enviar uma resposta R, Bob transmite KA+(R). Agora, Alice e Bob podem se comunicar com

segurança.

(8)

7.4. Assinaturas digitais

Pense no número de vezes que você assinou seu nome em um pedaço de papel. Sua assinatura atesta o fato de que você (e não outra pessoa) conhece o conteúdo do documento e/ou concorda com ele. No mundo digital, frequentemente se quer indicar o dono ou o criador de um documento ou deixar claro que alguém concorda com o conteúdo do documento. A assinatura digital é uma técnica criptográfica usada para cumprir essas finalidades no mundo digital.

Exatamente como acontece com as assinaturas por escrito, a assinatura digital deve ser verificável e não falsificável. Isto é, deve ser possível provar que um documento assinado por um indivíduo foi na verdade assinado por ele (verificável) e que somente aquele indivíduo poderia ter assinado o documento (não falsificável).

A criptografia de chave pública pode trazer uma importante contribuição para esse caso. Alice pode enviar uma mensagem de texto simples assinada, M, para Bob transmitindo KB+(KA-(M)). Observe que

somente Alice conhece sua chave privada, KA-, e que KB+ é a chave

pública de Bob, que é de conhecimento público, portanto, a criação dessa mensagem é algo que Alice pode fazer.

Quando recebe a mensagem, Bob a transforma usando sua chave privada, KB-, e produz KA-(M), como mostra a Figura 7.2. Ele

guarda esse texto em um lugar seguro e depois aplica KA+, a chave

pública de Alice, para obter o texto simples original.

(9)

Para ver como a propriedade de assinatura funciona, suponha que posteriormente Alice negue ter enviado a mensagem M para Bob. Quando o caso chegar aos tribunais, Bob poderá produzir tanto M quanto KA-(M). O juiz pode confirmar com facilidade que Bob

certamente tem uma mensagem válida criptografada por KA

-simplesmente aplicando KA+ à mensagem. Como Bob não sabe qual é a

chave privada de Alice, a única forma de Bob ter adquirido uma mensagem criptografada por essa chave seria se Alice de fato a tivesse enviado.

Dessa forma, podemos perceber que a assinatura digital garante a autenticação do remetente da mensagem, assim como o não repúdio do remetente, de ter enviado a mensagem.

7.5. Resumo de mensagens

Uma crítica aos métodos de assinatura é a de que com freqüência eles reúnem duas funções distintas: autenticação e confidencialidade. Em geral, a autenticação é necessária, mas a confidencialidade não. Como a criptografia é lenta, normalmente as pessoas preferem enviar documentos em texto simples assinados. A seguir, descreveremos um esquema de autenticação que não exige a criptografia da mensagem inteira.

Esse esquema se baseia na idéia de uma função de hash unidirecional que extrai um trecho qualquer do texto simples (M) e a partir dele calcula um string de bits de tamanho fixo. Essa função de

hash, representada por H, geralmente é chamada resumo de mensagens e tem três importantes propriedades:

1. Se a mensagem, M, for fornecida, o cálculo de H(M) será muito fácil. 2. Se H(M) for fornecido, será efetivamente impossível encontrar M. 3. Uma mudança na entrada de até mesmo 1 bit produz uma saída

(10)

Calcular um resumo de mensagens a partir de um trecho de texto simples é muito mais rápido que criptografar esse texto simples com um algoritmo de chave pública, portanto, os resumos de mensagens podem ser usados para agilizar algoritmos de assinatura digital.

Resumos de mensagens funcionam muito bem em sistemas de criptografia de chave pública, como mostra a Figura 7.3. Nela, primeiro Alice calcula o resumo da mensagem de seu texto simples. Em seguida, ela assina esse resumo e envia tanto a mensagem de texto simples quanto o resumo assinado para Bob. Se um intruso substituir M durante a operação, Bob perceberá a troca quando calcular H(M) e comparar com o que foi enviado por Alice, assinado digitalmente.

Figura 7.3 Assinatura digital utilizando resumo de mensagem

7.6. Gerenciamento de chaves públicas

A criptografia de chave pública torna possível a comunicação segura para pessoas que não compartilham uma chave comum, e também possibilita a assinatura de mensagens. Finalmente, os sumários de mensagens assinados permitem verificar com facilidade a integridade de mensagens recebidas.

Porém, existe um problema que ignoramos até aqui: se Alice e Bob não conhecem um ao outro, como ele irão obter as respectivas chaves públicas para iniciar o processo de comunicação?

(11)

7.6.1. Certificados digitais

A principal função de um certificado é vincular uma chave pública ao nome de um protagonista (indivíduo, empresa etc.). Os certificados em si não são secretos ou protegidos. Uma organização que certifica chaves públicas é chamada CA (Certification Authority autoridade de certificação).

Como um exemplo, suponha que Bob queira permitir que Alice e outras pessoas se comuniquem com ele em segurança. Ele pode ir até a CA com sua chave pública e seu passaporte ou com a carteira de motorista e solicitar a certificação. A CA emite então um certificado e assina seu hash com a chave privada da CA. Em seguida, Bob paga a taxa da CA e obtém o certificado e seu hash assinado.

Embora a função padrão de um certificado seja vincular uma chave pública a um protagonista, um certificado também pode ser usado para vincular uma chave pública a um atributo. Por exemplo, um certificado poderia afirmar: esta chave pública pertence a alguém com mais de 18 anos.

A T I V I D A D E D E A P R E N D I Z A G E M

1 Defina criptografia no contexto das redes de computadores.

2 Qual a principal diferença entre a criptografia de chave simétrica e a criptografia de chaves públicas?

Imagem

Figura 7.2   Assinatura digital com o uso de criptografia de chave pública

Referências

Documentos relacionados

23/09/18 – após café da manhã deslocamento para Pompéia e Herculano com retorno a Roma no final do dia.. 25/09/18 – após café da manhã deslocamento para San Casciano (pernoite

João V] sobre requerimento do escrivão da receita do tesoureiro e executor deste Conselho, Manuel do Couto Preto, solicitando provisão para servir por mais seis meses no

• Para evitar danos ao produto (devido a relâmpagos e/ou picos de tensão) durante uma tempestade ou quando o equipamento não for ser usado durante um período de tempo prolongado,

NUTRIÇÃO FUNCIONAL NUTRACÊUTICOS/FITOTERÁPICOS COMPLEXO B 2mg/kg L-GLUTAMINA 20-30mg/kg ZINCO QUELATO 10mg/kg BROMELINA 500mcg-10mg/kg. TARAXACUM

Baseando-se nos resultados iniciais, foram selecionados para demonstração os resultados para o ensaio de estabilidade acelerada frente à luz UV apenas as

Os dados demonstram um cenário de grandes desafios para as Instituições Estaduais Públicas de Educação Superior da Bahia, não apenas no que se refere

A Pró-reitoria de Extensão, Cultura e Assuntos Estudantis da Universidade Federal de Uberlândia, no uso de suas atribuições, torna pública a abertura de inscrições

Devido ao baixo índice de produção teórica nacional sobre o assunto, ocorre por vezes uma dificuldade de interpretação dos dados e também em relação à metodologia