• Nenhum resultado encontrado

1. Para toda mensagem M, D(E(M )) = M ; 2. Para toda mensagem M, E(D(M )) = M ;

3. Os algoritmos de gera¸c˜ao de chaves, de criptografia e decriptografia s˜ao executados em tempo polinomial no tamanho de suas entradas;

4. O algoritmo de gera¸c˜ao de chaves ´e um algoritmo probabil´ıstico (sua sa´ıda depende de um sorteio); os algoritmos de criptografia e decriptografia s˜ao determin´ısticos (sempre terminam e produzem a mesma resposta);

5. Dada uma chave p´ublica E, mas n˜ao a chave secreta D, a chance de que um advers´ario de tempo polinomial possa decriptografar um texto cifrado C = E(M ) ´e menor que qualquer fra¸c˜ao polinomial (pelo menos k−c, para uma constante c, com k suficientemente grande; veja a se¸c˜ao 3.4, para uma referˆencia de como o estudo da complexidade computacional direciona a constru¸c˜ao de sistemas de criptografia).

A quinta propriedade ´e descrita alternativamente em termos de fun¸c˜oes unidirecionais com segredo1. Uma fun¸c˜ao ´e unidirecional se for computacionalmente vi´avel calcul´a-la e computaci-onalmente invi´avel computar sua inversa. Dizemos que uma fun¸c˜ao unidirecional ´e com segredo se existe uma informa¸c˜ao (o “segredo”, a chave de decriptografia) que torna a computa¸c˜ao de sua inversa vi´avel (LUCCHESI, 1984).

Sistemas que seguem o modelo acima, s˜ao chamados de sistemas de criptografia deter-min´ıstica de chave assim´etrica, ou criptografia determin´ıstica de chave p´ublica. Aqui, um exemplo cl´assico que se pode citar ´e o RSA (RIVEST; SHAMIR; ADLEMAN, 1978).

3.2 Advers´arios e Ataques

Algoritmos criptogr´aficos basicamente objetivam “esconder” informa¸c˜oes sigilosas de pessoas desautorizadas a lˆe-las, isto ´e, de quem n˜ao conhece a chave secreta. Chamamos de crip-tanalista um especialista em criptografia que analisa um algoritmo ou criptossistema, sem o conhecimento da chave secreta, com a finalidade de descobrir uma vulnerabilidade no objeto de estudo (TERADA, 2000).

Um advers´ario ´e um algoritmo probabil´ıstico (GOLDWASSER; BELLARE, 2001), cons-tru´ıdo por um criptanalista, com o intuito de extrair alguma informa¸c˜ao ´util para os seus prop´ositos. Informalmente, dizemos que um ataque a um criptossistema ´e uma ofensiva apli-cada por um advers´ario.

1

3.2 Advers´arios e Ataques 27

Numa forma mais simples de ataque, o advers´ario ´e passivo e simplesmente observa usu´arios leg´ıtmos usando um sistema. Ataques potencialmente mais poderosos permitem que o ad-vers´ario atue ativamente, manipulando o canal de comunica¸c˜ao; a¸c˜oes que s˜ao permitidas a usu´arios reais s˜ao poss´ıveis ao advers´ario (RIVEST, 1990).

Freq¨uentemente se usa a express˜ao “quebrar um criptossistema”. Uma defini¸c˜ao acerca dessa express˜ao, em (MENEZES; VANSTONE; OORSCHOT, 1996), considera que um esquema de criptografia ´e dito “quebr´avel”se um terceiro, sem conhecimento do par de chaves (E, D), pode sistematicamente recuperar textos leg´ıveis a partir do texto cifrado correspondente, num tempo apropriado.

Os objetivos de um criptanalista s˜ao: obter o texto leg´ıvel de um ileg´ıvel interceptado ou descobrir a chave secreta.

As formas de ataque s˜ao classificadas como segue, em ordem decrescente de inseguran¸ca (TERADA, 2000):

1. Ataque por s´o-texto-ileg´ıvel: o criptanalista tenta adquirir conhecimento ´util analisando apenas um ou mais textos crifrados.

2. Ataque por texto leg´ıvel conhecido: o criptanalista possui e analisa pares (x, y) de leg´ıvel e ileg´ıvel correspondentes.

3. Ataque por texto leg´ıvel escolhido: al´em do suposto no tipo anterior, o criptanalista pode escolher os leg´ıveis x e obter os y correspondentes. A escolha ´e por valores de x que apresentem alguma caracter´ıstica estrutural que aumenta o conhecimento do algoritmo e da chave em uso2.

4. Ataque adaptativo por texto leg´ıvel escolhido: al´em do suposto no tipo anterior, a escolha de um novo x pode depender dos ileg´ıveis analisados anterioremente. Desta forma, a escolha de um novo x ´e condicionada ao conhecimento j´a adquirido.

5. Ataque por texto ileg´ıvel escolhido: o criptanalista escolhe inicialmente o ileg´ıvel y e ent˜ao obt´em o leg´ıvel x correspondente. Sup˜oe-se que o criptanalista tem acesso apenas ao algoritmo de decriptografia (sem conhecimento da chave) e seu objetivo ´e, mais tarde, sem ter acesso `a decriptografia, ser capaz de deduzir o x correspondente a um y novo. 6. Ataque adaptativo por texto ileg´ıvel escolhido: al´em do suposto no tipo anterior, a escolha

de um novo y pode depender dos ileg´ıveis analisados anterioremente.

2

Durante a Segunda Guerra mundial, os norte-americanos enviaram, de Pearl Harbor para o conti-nente, uma mensagem bem escolhida, sem cifrar, relatando problemas no abastecimento de ´agua. Os japoneses, na escuta, captaram a mensagem e a retransmitiram cifrada para T´oquio. Isto permitiu aos americanos determinar a chave dos japoneses (LUCCHESI, 1984).

3.2 Advers´arios e Ataques 28

Os ataques acima enumerados, com exce¸c˜ao do primeiro, permite que o criptanalista tenha acesso aos algoritmos (de criptografia e/ou decriptografia, dependendo do caso). Costuma-se chamar o acesso ao algoritmo de decriptografia por consulta ao or´aculo de criptografia, conforme descrito na se¸c˜ao 3.6. N˜ao necessariamente o criptanalista ´e um mal-intencionado; pode ser apenas um especialista que deseja avaliar o grau de seguran¸ca do esquema.

Um requisito em projetos de criptossistemas deve ser a seguran¸ca de que um poss´ıvel advers´ario n˜ao obtenha sucesso. O sucesso de um advers´ario, entretanto, pode ser definido de v´arias formas. Por exemplo, um objetivo modesto para um projetista seria que, para a maioria das mensagens, o advers´ario n˜ao possa derivar a mensagem inteira, a partir de seu texto cifrado. ´

E modesto porque n˜ao leva em conta os seguintes problemas:

• O criptossistema pode n˜ao ser seguro para algumas distribui¸c˜oes de probabilidade sobre o espa¸co de mensagens3 (por exemplo, o espa¸co de mensagens consiste de um n´umero polinomial de mensagens, conhecidas pelo advers´ario);

• Informa¸c˜oes parciais a respeito das mensagens podem ser facilmente calculadas a partir do texto cifrado;

• Pode ser f´acil detectar fatos simples por´em ´uteis a respeito do tr´afego das mensagens (tais como, as mesmas mensagens s˜ao enviadas mais de uma vez).

Os criptossistemas de chave p´ublica determin´ısticos (conforme descritos na se¸c˜ao 3.1), sofrem com esses problemas e ainda (RIVEST, 1990):

• Se m ´e uma mensagem fortemente estruturada, ent˜ao f (m) pode ser de f´acil invers˜ao (por exemplo, f (0));

• Algumas informa¸c˜oes a respeito de m podem ser f´aceis de calcular, a partir de f (m), como, por exemplo, a sua paridade (ou pior ainda: o c´alculo do valor do bit menos significativo da chave secreta).

Preocupa¸c˜oes como essas norteiam a constru¸c˜ao de esquemas de chave p´ublica. Deseja-se que um advers´ario n˜ao possa predizer qualquer informa¸c˜ao a respeito de textos leg´ıveis, correspondentes a textos cifrados conhecidos. Em caso contr´ario, o criptanalista poderia chegar `

a descoberta da chave secreta.

Essencialmente, essas preocupa¸c˜oes regram as defini¸c˜oes de seguran¸ca formal, discutidas na se¸c˜ao 3.6.