Você está na página 1de 29

ISTEC

Tpicos detalhados da matria leccionada na cadeira de Criptografia

Ver 4.1 24JAN2010


OBSs. sobre este documento: 1. constitui um complemento bibliografia (no pretende constituir material exclusivo para a preparao da cadeira) 2. Principais alteraes efectuadas: pg 17: referncia s tcnicas AES e IDEA pg23: 3 exerccio de aplicao da tcnica RSA; 3. verso final para os exames no ano de 2010.

Docente: Eng. Sousa Mendes

1. Segurana dos SIs elementos introdutrios


Definio de Segurana no domnio dos SIs, segundo o Glossrio Nacional Americano de Segurana dos SIs: Segurana dos SIs o conjunto de meios e medidas necessrios para detectar, documentar e contrariar as seguintes ameaas: - acessos no autorizados, a dados ou aplicaes - modificaes de dados (quer se encontrem armazenados, em processamento, ou em trnsito), - prestao de servio a utilizadores no autorizados, ou - perturbaes do servio prestado a utilizadores autorizados. incluindo todas as medidas necessrias para detectar, documentar e contrariar tais ameaas. Nova definio de segurana informtica (da autoria da X/OPEN em 1984): um SI considerado seguro se os riscos das ameaas mais relevantes se encontrarem controlados atravs de medias apropriadas, de forma a transmitir confiana s pessoas que trabalhem com ele ou que, de qualquer forma, dependam da respectiva informao. Algumas caractersticas do problema da segurana nas organizaes - fundamentalmente um problema de gesto das organizaes, no de tecnologia. [Tentar resolver o problema da segurana exclusivamente atravs de Tecnologias de Informao (TI) seria um grave erro, no entanto a soluo passa tambm por elas. Por outro lado, as TIs, se mal implementadas, podem agravar a situao em vez de contribuir para a resolver. ainda de considerar o risco de se pretender dispr das tecnologias mais modernas, sem se avaliar previamente os respectivos factores de risco e a nossa capacidade de lidar com elas.] - Tem natureza estratgica [Deve ser vista no longo prazo, deve envolver o negcio como um todo, exige comprometimento colectivo e deve ser levado a cabo atravs de uma aco de Planeamento Estratgico]. - Tem limites: Segurana a mais quase to perigosa como segurana a menos, e os custos devem ser proporcionais aos benefcios [As questes de segurana no podem ser vistas com fanatismo... podem conduzir a bloqueios.... Se as pessoas sentirem que os mecanismos de segurana entravam a sua produtividade, ultrapassam-nas tanto quanto possvel... Antes de conceber um Sistema de Segurana exige-se, ento, a efectuao de uma cuidada e exaustiva anlise de riscos] - Pode ser visto como uma fonte de vantagens competitivas [No basta ter implementado um sistema de segurana, necessrio ser visto como uma organizao segura... De facto, as organizaes so hoje analisadas pelo prprio mercado: as organizaes tm que ser entendidas como seguras, e a Segurana entendida como um factor que ajuda a vender, ou seja, uma fonte de vantagens competitivas. Para essa anlise

desempenham um papel importante as normas que as certificam e a forma como essas normas so implementadas (questo da Qualidade Total)] A considerao em conjunto das caractersticas anteriores, permite-nos concluir tratar-se dum problema de ordem estratgica. Tem pois que ser abordado estrategicamente, i.e., iniciando-se por uma aco de planeamento, e estendendo-se depois aos mbitos tctico e operacional. A aplicao das medidas estratgicas ao nvel tctico-operacional obriga frequentemente a um conjunto de remodelaes profundas na forma de gerir as organizaes (reduo do nmero de nveis hierrquicos, passagem da gesto por funes para a gesto por processos, etc). Os projectos para levar a cabo essas remodelaes so geralmente designados por Projectos de Reengenharia. A definio da X/OPEN coloca nfase na confiana que o sistema pode merecer por parte dos utilizadores. Desta forma, ela considera como especialmente relevante um dos subsistemas dos sistemas de segurana. Um Sistema de Segurana de um SI deve contar com 3 subsistemas principais: Subsistema de Confiana Subsistema de Proteco Subsistema de Auditoria O Subsistema de Confiana conta com trs tipos de mecanismos: mecanismos para utilizao segura, mecanismos de disponibilidade de informao, mecanismos de performance. importante garantir o equilbrio entre estes trs tipos de mecanismos: no interessa ter muita segurana se no dispuzermos da informao relevante quando dela necessitarmos... Interessa-nos nesta cadeira analisar de formas especial os mecanismos para utilizao segura dum SI: mecanismos de confidencialidade, de integridade e de no-repudiao. Mecanismos de Confidencialidade se houver informaes consideradas confidenciais, s os utilizadores com privilgios especiais lhes podem aceder Mecanismos de Integridade nos processos de comunicao, a informao recebida pelos receptores, onde quer que se encontrem, tem que ser a informao disponibilizada pelos emissores, ou seja, no pode haver nada entre a emisso e a recepo que altere a informao No-repudiao no deve ser impossvel a um emissor de informao recusar ter feito essa emisso, e a um receptor, ter feito tal recepo. A confidencialidade pode ser garantida de trs formas diferentes: - por restrio de acesso a um nmero limitado de utilizadores (acedem ao dado apenas os utilizadores que a tal esto autorizados); - por mecanismos de encriptao acedem informao apenas os que conhecem a chave; - por controlo de acessos e por encriptao conjuntamente. Os controlos de integridade garantem que a informao recebida igual informao transmitida, o que pode ser conseguido, ou atravs de algo que impea a alterao dos dados em trnsito 3

entre um emissor e um receptor, ou atravs da verificao, na recepo, de que o contedo emitido igual ao recebido. No-repudiao pode basear-se na possibilidade de pedir aviso de recepo ou confirmao de envio, ou no reconhecimento das assinaturas de quem envia e de quem recebe, e deve impr-se tanto origem das mensagens como ao seu destino. Como veremos, a criptografia disponibiliza outras formas de o conseguir. Por outro lado, podemos considerar quatro categorias genricas de ataques a dados em trnsito: Interrupo (ataque exigncia de Continuidade), Interseco (ataque exigncia de Confidencialidade), Modificao (ataque exigncia de Integridade), e Fabricao (ataque ao princpio da No-Repudiao).

Noo de Risco e Sistemas de Gesto de Risco Risco a possibilidade de no se alcanarem os benefcios previstos de um projecto ou de um sistema, ou de se alcanarem sem a qualidade desejada. A Gesto do Risco especialmente importante em situaes de incerteza envolvendo grandes desafios. Em meados dos anos 80, as organizaes comearam a reconhecer a importncia de considerar Factores de Risco nos seus projectos e sistemas, tanto no que se refere a Custos, como a Prazos, como a Qualidade. No estudo de viabilidade de um projecto, para alm de anlises tcnicas e financeiras, deve envolver-se a anlise do risco. Por outro lado, tambm nas avaliaes ao longo da execuo de um projecto, necessrio ir controlando esses aspectos. O desenvolvimento do Sistema de Segurana de um SI (SSSI), como vimos, deve ser levado a cabo como um projecto complexo e abrangente, pelo que nele fundamental envolver anlises de risco. O desafio o seguinte: os custos dum sistema de segurana devem ser proporcionais, no exactamente ao valor dos bens que se seguram, mas aos riscos a que esses bens esto sujeitos (mesmo para bens de valores muito elevados, os riscos podem no ser muito elevados...).

A anlise do Risco impe a necessidade de comear por avaliar o contexto em que se desenvolve o negcio, nomeadamente a concorrncia, e obriga a adoptar medidas tcnicas e de mudana organizacional, o que, mais uma vez, impe uma abordagem estratgica. O Risco tem a ver principalmente com os seguintes aspectos: - Identificao e conhecimento dos Factores de Risco (FR) - Exposio ao Risco (ER) - Medidas de Salvaguarda (medidas de mitigao dos riscos ou transferncia dos riscos para terceiros) que se possam tomar para controlar os factores de risco - Ambiente de tomada de deciso da organizao. - Planos de contingncia Num sistema de segurana, chamamos Factor de Risco a cada um dos factores que propiciam ameaas. necessrio distinguir Riscos de Factores de Risco: Risco a possvel consequncia de FRs no controlados, ou seja, para os quais no existam medidas de salvaguarda suficientes. Para cada FR necessrio determinar a respectiva Exposio ao Risco e as medidas de salvaguarda convenientes. A ER tem dois componentes: - Probabilidade de ocorrer um incidente - Impacto previsvel desse incidente. ER = Probababilidade de acidente * Impacto do acidente A exposio ao risco elevada se ambos os componentes forem elevados. Podemos ento dizer que o Risco uma funo: Risco = f(Factores de Risco, Exposio ao Risco de cada FR, Medidas de Salvaguarda, Ambiente de T.D.) No que se refere ao ambiente de tomada de deciso na organizao, podemos considerar que a forma como se encara o risco varia de organizao para organizao e de lder para lder. As organizaes podem assumir, em relao ao risco, dois tipos de atitude: atitude Pro-activa, em que se tomam medidas preventivas (atitude ilustrada pelo aforismo melhor prevenir que remediar...), ou atitude Reactiva, em que se adiam as medidas preventivas at que se d o acidente (ilustrada pelo aforismo Casa roubada, trancas porta...). Os gestores dos projectos, por seu turno, podem ser mais ou menos tolerantes ao risco: - avessos ao risco - pretendem compensao pelos riscos que correm; no aceitam correr grandes riscos - neutros quanto ao risco - propensos ao risco - dispostos a pagar pelos riscos que correm; desafiadores; aventureiros. Um gestor consciente, antes de aceitar liderar um projecto, deve analisar os riscos respectivos, estabelecer nveis de aceitao de riscos de acordo com o seu perfil de tolerncia, e traar um 5

grfico de zonas de risco. Se identificar riscos muito elevados, para os quais no consiga prever medidas de salvaguarda adequadas, talvez seja melhor no aceitar o desafio... [designa-se por Grfico de Zonas de Risco um grfico em que se representem em ordenadas as probabilidades de incidente, e em abcissas, os respectivos impactos, em que se tracem as curvas de tolerncia mxima e mnima] Perspectiva Estratgica da Segurana Momentos da gesto estratgica: Planeamento e Conduo Estratgica do negcio. O Planeamento tem as seguintes fases: Anlise do contexto (interno e externo), Formulao da Estratgia e Implementao. A anlise do ambiente interno pretende identificar os pontos em que a organizao especialmente forte, e aqueles em que apresenta debilidades. Na anlise do ambiente externo, tenta entender-se, fundamentalmente, o contexto Socio-PolticoEconmico-Ambiental em que se desenvolve o negcio, e a concorrncia, procurando identificar oportunidades e ameaas para o negcio. A formulao envolve - Definio da misso, o principal objectivo da actividade da organizao - Identificao de outros grandes objectivos do negcio - Determinao das Estratgias a levar a cabo, de acordo com os pontos especialmente fortes e os pontos especialmente fracos da organizao, e ainda com as oportunidades e as ameaas identificadas - Elaborao das Polticas, principais linhas orientadoras para a gesto no dia-a-dia das organizaes - Levantamento de boas prticas relativas aos diversos tipos de actividades que se desenvolvem na organizao, e das normas comumente aceites em ambientes semelhantes, e que, se possvel, constituam standards internacionais . As Estratgias reflectem a filosofia e o estilo de gesto e contribuem fortemente para moldar a cultura organizacional. Podem ser identificadas atravs duma anlise SWOT (Strengthes, Weaknesses, Opportunites, Threats) Estratgias Polticas Orientaes coerentes para a deciso Cdigo de conduta Cultura Organizacional As Polticas representam o compromisso da gesto para com a estratgia a desenvolver e a implementar. So uma srie de orientaes emanados da gesto de topo que articulam os grandes objectivos com as normas de procedimento, atravs das Estratgias. Devem ser completas, claras, curtas e concisas. Estabelecem o quadro de responsabilidades na organizao, e as bases para o ambiente de trabalho no dia-a-dia.

Na fase de implementao, as polticas e as normas so postas em aco, de modo a concretizar as estratgias e atingir os objectivos. A maior parte dos insucessos das abordagens estratgicas fica a dever-se a incorrectas implementaes. A implementao da responsabilidade da Direco Geral do negcio, a quem compete levar a cabo as actividades de natureza tctico-operacional. estrutura de Estratgia compete apenas criar condies para o sucesso dessas actividades. Por um lado, necessrio desenvolver uma Arquitectura, representao grfica dos grandes mdulos da mudana, que necessita de ser muito bem entendida pelas diversas partes envolvidas, por outro lado, necessrio preparar todas as pessoas que de alguma forma tenham a ver com as mudanas que resultem das estratgias definidas (o que se faz atravs de um conjunto de processos designados globalmente por Mudana Organizacional), por outro lado, e finalmente, necessrio contar com um Sistema de Pilotagem, que permita detectar eventuais desvios, e aconselhar medidas para a sua afinao. Caber direco tctico-operacional a elaborao e o cumprimento de planos de curto prazo (agendamento de actividades e de recursos no financeiros para atingir objectivos no perodo mximo de 1 ano), programas (passos, medidas e conselhos referentes a cada actividade), oramentos (planos referentes aos recursos financeiros) e Normas de Procedimento (que estabelecem o quadro normativo de referncia, para a s convivncia dos diversos colaboradores da organizao, e devem ter em conta, por um lado, as boas prticas dos diversos tipos de actividades, e, por outro, as normas e os standards aceites internacionalmente).

2. Introduo a Criptologia
Criptologia um termo de origem grega, que significa, letra, o estudo do escondido. Termos de alguma forma relacionados com criptologia: esteganografia (no confundir com estenografia, que a tcnica de escrever rapidamente, de forma a poder captar o discurso de um orador), codificao, criptografia, encriptar, descriptar, criptanlise, cifra. Esteganografia tcnicas para esconder uma mensagem. Por exemplo, atravs de sinais numa mensagem aparentemente incua (alguns termos colocados em locais prcombinados, sinais entre termos pr-combinados, etc), ou mensagens escritas com tinta invisvel que poder ser tornada visvel atravs de alguma operao especial na recepo (por exemplo, escrever a sumo de limo, e, na recepo, passar esse texto a certa distncia de uma chama), ou atravs de smbolos diferentes dos caracteres do alfabeto. Codificao o processo de converter um texto (geralmente um Nome ou uma Designao) num conjunto de caracteres a que se chama cdigo. Processo muito usado nas BDs, para reduzir redundncias. Criptografia tcnica para esconder o contedo de mensagens, transformando textos legveis em textos ilegveis. Esta tcnica no pretende esconder a existncia de uma mensagem, nem substitu-la por um cdigo, mas transform-la de foma a torn-la ilegvel atravs de um processo chamado encriptao. H trs processos de recuperao do texto original: a descriptao, a criptanlise e fora bruta. A descriptao o processo legtimo, realizado por quem tem legitimidade para o fazer, atravs de elementos recebidos directamente ou por acordo com quem tenha escrito a mensagem original. A criptanlise o processo ilegtimo, realizado por algum que em princpio no deveria ter acesso ao contedo da mensagem, mas que consegue t-lo atravs de conhecimentos especficos. O processo de recuperao pela fora bruta consiste em sries de tentativas, por algum sem grande preparao no domnio da criptografia, at conseguir obter algo com algum sentido, e deduzindo, a partir da, regras que lhe permitam desvendar a mensagem completa. Esquema geral de funcionamento da criptografia

Alguns elementos bsicos de Criptografia A encriptao tem o potencial de proteger os bens informacionais para alm das possibilidades dos sistemas operativos, mas necessrio atender a que se trata de processos caros e que degradam a performance dos sistemas. importante perceber muito bem as necessidades de encriptao antes de recorrer a ela ou de nos decidirmos por uma das suas tcnicas (as Polticas da organizao devem ajudar a tomar decises neste domnio). Encriptao a transformao de dados atravs de algoritmos complexos, que utilizam Chaves. Dois aspectos so especialmente importantes: potncia do algoritmo e capacidade de manter chaves secretas (gesto das chaves). A potncia do algoritmo estabelecida com base em 3 factores: a complexidade e a integridade do algoritmo e o comprimento da chave de encriptao. Quatro dimenses dos sistemas de criptografia: nmero de alfabetos, operaes bsicas, nmero de chaves, forma de processar o texto (NB: o aluno deve saber caracterizar, quanto a estas dimenses, todas as tcnicas estudadas). Dois tipos bsicos de operaes, podendo ser usados simultaneamente: - substituio cada smbolo (ou cada conjunto de smbolos) substitudo por outro (ou por outro conjunto da mesma cardinalidade) - transposio rearranjo dos caracteres da mensagem original Nmero de chaves: - tcnicas simtricas, de chave nica, de chave secreta ou convencionais - tcnicas assimtricos, de chaves mltiplas, de chave pblica ou de chave privada. Forma de processar o texto: - processamento carcter-a-carcter - processamento bloco-a-bloco. Um sistema considera-se computacionalmente seguro se respeitar um dos dois seguintes critrios, relativos informao transportada por uma mensagem: - o custo de quebra da cifra excede o valor da informao - o tempo necessrio para quebrar a cifra excede o prazo de validade da informaao. Alguns cuidados prvios s operaes de encriptao - as mensagens tm que ser preparadas da seguyinte maneira: 1. os textos so escritos em maisculas; 2. os espaos no so encriptados, pelo que o texto a encriptar deve ficar com as palavras todas pegadas; 3. os nmeros so convertidos em palavras; 4. os caracteres especiais so convertidos nos caracteres normais mais prximos deles (ex convertido em c; o convertido em a; o convertido em e); 9

5. os caracteres de expresso so desprezados (,, !, ?, -, ;, :, ..., ...); 6. as vogais abertas isoladas (seguidas ou no de s) so seguidas de Hpara mostrar que so abertas: AH, sAHS, EH. NB: uma operao de descriptao s se considera efectuada quando a mensagem for recuperada na forma correcta de a escrever, com caracteres especiais, caracteres de expresso, etc.

10

3. Tcnicas de Criptografia Simtrica


Uma chave partilhada por duas ou mais partes (pessoas, sistemas ou processos informticos). A posse da chave serve para autenticar cada parte perante a outra. A descriptao geralmente feita atravs da aplicao da mesma chave ao algoritmo inverso, ou da aplicao da chave inversa ao mesmo algoritmo. Ou seja, uma das coisas tem geralmente que se inverter: ou o algoritmo, o que mais vulgar, ou a chave. O aspecto mais negativo deste mtodo o facto de a chave ser partilhada, o que conduz, por um lado, a que, por vezes ela exista em diversos locais, e, por outro, a que seja muito difcil garantir que na distribuio de chaves, elas no sejam captadas. Tcnicas de Csar e derivadas (Jlio Csar foi imperador dos romanos e assassinado em 44 A.C.) Cada carcter substitudo por outro, do mesmo alfabeto, que se encontra distncia de 3 caracteres: o carcter A passa a D, o carcter B passa a E, o carcter C passa a F, Por exemplo, a cifra de criptografia, FULSXRJUDILD. uma tcnica de substituio 1:1, ou seja, cada carcter substitudo sempre pelo mesmo. E a sua caracterizao a seguinte: monoalfabtica, de substituio, de chave simtrica, carcter-a-carcter. Em relao a esta tcnica, podemos dizer que - o algoritmo substituir cada carcter do alfabeto por outro a uma certa distncia dele; - a chave 3 (distncia entre os caracteres original e encriptado); Exerccios 1. Encriptar as frases Est na hora!, e a classificao no exame foi 12 2. Descriptar a frase HAHUFLFLRVHWH Recorrendo lgebra modular (ou lgebra dos espaos finitos), e considerando P como o carcter original, e C como o carccter encriptado, podemos representar esta encriptao da seguinte maneira: C = (P+3) mod 26 Na lgebra modular, os resultados das operaes ficam todos colocados entre 0 e n-1, sendo n o modulando, i.e., o espao em que nos encontramos a trabalhar. Se, no decurso de um dado processo, qualquer operao conduzir a um resultado que caia fora desse espao, teremos que lhe aplicar a operao de mdulo para o trazer de novo para dentro do espao... Assim, 0 mod 3 = 0; 1 mod 3= 1; 2 mod 3 = 2; 3 mod 3 = 0; 4 mod 3 = 1; 5 mod 3 = 2; -1 mod 3 = 2; -2 mod 3 = 1; -3 mod 3 = 0; -4 mod 3 = 2; -5 mod 3 = 1; 11

0 mod 4 = 0; 1 mod 4 = 1; ; 4 mod 4 = 0; 5 mod 4 = 1; 7 mod 4 = 2; -1 mod 4 = 3; -2 mod 4 = 2; -3 mod 4 = 1; ; -7 mod 4 = 1... Matematicamente, a mod b o resto da diviso inteira de a por b. Um exemplo do nosso dia-a-dia so as horas, que funcionam no espao mod 12, e os minutos que funcionam no espao mod 60. til que as mquinas de calcular que no permitam aplicar a operao de mdulo directamente, disponham de duas memrias para permitir fazer o clculo mais rapidamente. Exerccios: utilizando a sua mquina de calcular, calcule 32 mod 26, e -13 mod 26. Podemos generalizar esta tcnica para diferentes chaves. Por exemplo, se a chave fosse 7, a palavra criptografia seria encriptada em JYPWAVNYHMPH. Poderamos ento dispr de 26 chaves, tantas quantas as letras do alfabeto. A grande vulnerabilidade destas tcnicas no resistirem anlise da frequncia de caracteres na lingua utilizada, uma vez que tal frequncia se verificar tambm nos caracteres encriptados. Tcnica de Playfair Escolhe-se para chave uma palavra sem letras repetidas, e escreve-se essa palavra seguida das restantes letras do alfabeto numa matriz 5 X 5. Como a matriz 5 X 5 tem 25 posies e o alfabeto tem 26, ser necessrio colocar duas letras na mesma posio. Devem ser escolhidas duas letras sucessivas relativamente pouco usadas do alfabeto (por exemplo y e z). Seja, por exemplo, a palavra chave Repblica:
R L F M T E I G N V P C H O W U A J Q X B D K S y/z

Os caracteres da frase a encriptar so divididos em pares de caracteres (digramas), ou seja, uma tcnica bloco-a-bloco. Se num digrama ficar apenas uma letra repetida, a segunda ocorrncia deve ser substituda por um carcter de enchimento (por ex. o X). E devem seguir-se as seguintes regras para encriptar: 1. se os caracteres dum digrama se encontrarem na mesma linha da matriz, eles daro origem a dois outros caracteres na mesma linha, em que cada carcter substitudo pelo carccter imediatamente seguinte (da esquerda para a direita) (ex.: LC IA; CD AL); 12

2. se os caracteres dum digrama se encontrarem na mesma coluna da matriz, eles daro origem a dois outros caracteres na mesma coluna, em que cada carcter substitudo pelo carccter imediatamente seguinte (da cima para baixo) (ex.: LM FT; KY SB); 3. se os caracteres dum digrama se encontrarem em linhas e colunas diferentes, cada um encriptado pelo carcter que se encontrar na mesma linha mas na coluna do outro (ex.: LQ AM). uma tcnica de substituio monoalfabtica, mas 1:n, i.e., utiliza s um alfabeto, mas cada carccter pode ser encriptado por diversos caracteres desse alfabeto. A vulnerabilidade desta tcnica a anlise da frequncia de pares de caracteres na lingua em que for utilizada. Exerccios: 1. Encriptar a frase Est na hora!, com uma chave sua escolha; 2. Descriptar a frase DPRPDSAPPBDAIPARPIRTAD (chave: PRISAO) Tcnica de Hill Tcnica de encriptao com base em clculo matricial, que gera sequncias de caracteres. NB: foi feita uma introduo histrica e uma introduo matemtica (matrizes) a esta tcnica. Exerccios de reviso de matrizes: 1. Multiplicar as matrizes de linhas 3,4,5 / 4,18,6 / 5,0,2 e 1,3,1 / 2,4,1 / 3,3,2 2. Calcular os determinantes das matrizes anteriores 3. Inverter a matriz de linhas 6,5 / 5,4 4. Inverter a matriz de linhas 1,2,2 / 2,-1,1 / 1,3,2 5. Inverter a matriz de linhas 3,5,1 /4,6,9 / 2,0,2 no espao modular 7. A tcnica de Playfair gera digramas. Com a tcnica de Hill possvel gerar, para alm de digramas, trigramas, tetragramas, etc, conforme a dimenso da matriz utilizada como chave de encriptao. Se a matriz chave for 3 X 3, a frase a encriptar dividida em grupos de trs caracteres, e o ltimo grupo ter, eventualmente, caracteres de enchimento. De seguida, convertem-se as letras de cada grupo em algarismos: A 0, B 1, C 2, etc, e coloca-se cada grupo de algarismos segundo uma matriz 1 X 3. A multiplicao de cada uma dessas matrizes pela matriz chave no espao mod 26 (nmero de letras do alfabeto), gera uma nova matriz 1 X 3, cujos nmeros convertidos em letras so a cifra do grupo original. A descriptao, contra o que mais frequente nas tcnicas de chave secreta, conseguida atravs do mesmo algoritmo, mas com a chave inversa, pelo que necessrio sabermos inverter uma matriz: K-1 = (1/|K|)*(conj K)T, sendo conj K a matriz conjugada da matriz K. Verifique que, com esta tcnica, no necessrio desfazer blocos que eventualmente tenham letras iguais, como acontecia com Playfair. Exerccio: Encriptar Trovo com a chave de linhas: 1, 3, 7 / 5, 2, 0 / 2, 5, 2. 13

Encripte a mesma mensagem com a chave de linhas: 4, 5 / 5, 6. No final de ambas as encriptaes, descripte as cifras. Tcnica de Vigenre NB: foi feita uma introduo histrica a esta tcnica. uma tcnica de substituio polialfabtica: os caracteres da mensagem original so encriptados por meio de diferentes alfabetos. Este aspecto permite resolver a limitao do deslocamento fixo das tcnicas de Csar. A tabela de Vigenre constituda pelos 26 alfabetos possveis, deslocados uns relativamente aos outros em uma posio, i.e., o primeiro comea por A, o segundo por B, e assim sucessivamente. Cada letra da mensagem inicial encriptada no alfabeto determinado por uma palavra chave, palavra que deve ser o mais comprida possvel e pode ter caracteres repetidos. Por exemplo, considerando a chave CRIPTOGRAFIA, a frase Todos no ptio s 18 ser encriptada por VFLDLBUGAYQOCYASXNUZTT. O mesmo carcter pode ser encriptado por diversos caracteres, ou seja, uma substituio 1:N. A tcnica de Vigenre manteve-se inclume durante mais de 300 anos, mas a repetio da chave na determinao do alfabeto a partir do qual se encripta, levou ao sucesso da sua criptanlise, conseguida por Charles Babbage. Procedimento a seguir: 1. preparar a mensagem para encriptao; 2. tomar uma palavra comprida para chave, sem limitao de caracteres repetidos, e coloc-la sobre a mensagem preparada, tantas vezes quantas as necessrias para cobrir todas as letras dessa mensagem; 3. recorrer tabela de Vigenre, dada na aula, e, por cada letra da mensagem, tomar a letra que se encontra sobre ela como o alfabeto em que se vai encriptar essa letra; 4. tomar a linha determinada por esse alfabeto e a coluna determinada pela letra a encriptar, e escrever a letra que se encontar no cruzamento dessa linha com essa coluna debaixo da letra a encriptar. Para descriptar, deve usar-se o algoritmo inverso, ou seja, escrever a chave sobre a cifra, tomar as letras da chave como alfabetos, procurar as letras a decifrar nesses alfabetos e determinar as letras da mensagem original ao cimo das colunas dessas letras. Mauborgne, no final da I Grande Guerra, como chefe do departamento de investigao criptogrfica do exrcito dos EUA, criou a nica tcnica verdadeiramente inquebrvel at hoje. A chave, para que no seja necessrio repeti-la, do tamanho da mensagem e consituda por caracteres verdadeiramente aleatrios (para gerar estes caracteres necessrio recorrer a processos complexos). Tcnica de Transposio Foram observadas vrias formas de utilizar esta tcnica, mas foi adoptada a seguinte para a nossa cadeira: a mensagem preparada escrita numa matriz m x n, completada com 14

caracteres de enchimento. A encriptao resulta da leitura da mensagem segundo as colunas da mesma matriz, ou seja, utiliza a operao bsica de transposio (ver elementos bsicos de criptografia). A chave a ordem por que as colunas so lidas no processo de encriptao. Naturalmente que se fizermos encriptaes repetidas, sempre segundo a mesma chave, a criptanlise resulta mais complicada. Como exerccio, encripte a mensagem Todos no ptio s 18, utilizando uma matriz de 6 colunas. Verifique que necessita de juntar dois caracteres de enchimento, e que obtm uma matriz 4 X 6, cujas colunas so, naturalmente, numeradas de 1 a 6. Obtenha uma encriptao segundo a chave 123456 (ou seja, leia a primeira coluna, depois a segunda, ...) Tente agora fazer uma encriptao mltipla. Tome a mesma frase, encripte-a segundo a chave 351462. Reescreva a cifra, de novo segundo uma matriz de 6 colunas, e obtenha uma encriptao repetida impondo a mesma chave (351462). OBS.: a encriptao repetida deve ser sempre com a mesma chave. Para descriptar inverte-se o algoritmo: 1. contar os caracteres da chave, C (nmero de colunas da matriz); 2. contar os caracteres da cifra, N; 3. determinar o nmero de linhas da matriz, L = N/C 4. dividir a cifra em grupos de L caracteres 5. escrever cada carcter da chave sobre cada grupo 6. escrever a matriz em colunas, pela ordem natural 7. ler a matriz em linhas, obtendo a mensagem descriptada. OBS.: na encriptao, encima as linhas da matriz inicial por 1, 2, ....; na descriptao, encima os grupos de caracteres da cifra, pelos caracteres da chave. A vulnerabilidade desta tcnica que a frequncia de cada carcter na mensagem igual respectiva frequncia na lingua em que escrita. Este facto d informao de que a mensagem ter sido encriptada atravs de uma tcnica de transposio, podendo, portanto, ser desvendada atravs da fora bruta. Exerccio: descriptar NDCVVVEIIIII, com a chave 3124. Mecanizao das tcnicas de chave simtrica: as mquinas de rotor Ref histrica dos problemas com criptografia na I Guerra Mundial (1914 - 1918); Scherbius& Ritter constituda em 1918; projecto Enigma; papel das mquinas de rotor (Enigma, alem e Purple, japonesa) durante a II Guerra Mundial; A mquina Enigma era uma mquina de rotor que funcionava com base em substituies polialfabticas repetidas, conseguidas atravs de um conjunto de cilindros de 26 pinos de 15

entrada e 26 pinos de sada, ligados uns aos outros de forma aleatria, e movidos atravs de impulsos elctricos. Com 3 cilindros, o nmero de alfabetos de 26 X 26 X 26 = 17 656; com 5, de aproximadamente 12 milhes. Nas aulas foi efectuada uma anlise comparativa entre os resultados da mquina Enigma e os da tcnica de Mauborgne. Informatizao das tcnicas de chave simtrica: as tcnicas DES, AES e RC4 A tcnica mais seguida a DES (Data Encription Standard), desenvolvida pela IBM no incio dos anos 70, e reconhecida como standard pela ANSI. Resultou dos trabalhos de Horst Feistel, da IBM, que nos anos 60 desenvolveu um algoritmo de encriptao que veio a ser designado por Lucifer. Tem sido especialmente usada pelas instituies financeiras (redes, mquinas ATM, ...). uma tcnica de encriptao por chave simtrica e tem base informtica: pode ser efectuada por meios hardware ou software, apresentando a implementao em hardware muito melhor performance que a de software. uma tcnica de encriptao por blocos, e baseia-se na alternncia entre substituies e transposies. Os blocos so de 64 bits e as chaves tambm, embora nestas s 56 sejam utilizados (os restantes servem para controlos de paridade e outros). Funcionam de acordo com a estrutura de Feistel, e apresentam um forte efeito de avalanche, i.e., pequenas alteraes nos elementos de entrada provocam profundas alteraes na cifra. O texto original dividido em duas metades, cada uma delas passando por n ciclos de processamento e recombinadas no final, produzindo um bloco encriptado. Cada ciclo tem como input o output do ciclo anterior e ainda uma sub-chave resultante da chave de encriptao. Tipicamente, as sub-chaves so diferentes umas das outras, e so geradas a partir da chave de encriptao atravs de operaes matemticas. Em cada ciclo, a metade esquerda submetida a uma substituio resultante de uma operao XOR entre ela prpria e a aplicao de uma funo (F, Ki) parte direita, seguindo-se uma permutao entre as duas. A descriptao utiliza o mesmo algoritmo que a encriptao, sendo as chaves utilizadas por ordem inversa. Parmetros da estrutura de Feistel: dimenso do bloco, tamanho da chave, nmero de ciclos de processamento, algoritmo de gerao das sub-chaves, e funo aplicada em cada ciclo. Tm-lhe sido apontados dois inconvenientes principais: blocos de apenas 64 bits e software pouco sofisticado. geralmente utilizada na verso tripla, a designada Triple-DES, e tem servido os seus objectivos, embora se acredite que, com a cada vez maior sofisticao e rapidez dos computadores esteja prestes a perder a confiana dos utilizadores mais exigentes.

16

A progressiva sofisticao dos computadores conduziu a que esta tcnica visse abalada a confiana que detinha junto dos utilizadores. Na dcada de 90 o NIST (National Institute of Standards and Technology) lanou um concurso internacional para substituir a DES como standard, atribuindo-se, logo partida a designao AES (Advanced Encryption Standard) ao futuro vencedor. Em Outubro de 2000 foi anunciado o vencedor: uma tcnica belga de nome Rijndael (cuja leitura deve soar apx raindol). Funciona com base em substituies, transposies e operaes XOR sobre campos finitos especiais, designados por Campos de Galois. uma tcnica bloco-a-bloco, com blocos de 128 bits, chaves de 128, ou 192 (128 + 64) ou 256 bits. Os blocos de input de output e as chaves so organizadas em matrizes quadradas. Na encriptao, cada bloco de input sujeito a 10 ciclos de tratamento, intervindo em cada ciclo uma sub-chave. A descriptao faz-se de forma idntica, com as mesmas sub-chaves e as mesmas operaes pela mesma ordem. Principais vantagens face ao DES: resistncia a todos os tipos de ataque conhecidos, processo simples e leve, rapidez de processamento. Foi tambm apresentada nas aulas a tcnica RC4, devido sua grande utilizao comercial. Tcnica criada em 1987 por Ron Rivest, que voltaremos a referir mais adiante, com a inteno de servir de comunicao entre browsers e servidores. Princpio de funcionamento: 1. escolhe-se uma chave de comprimento no > 256 bits 2. inicialisa-se um vector de 256 elementos, e coloca-se nele a chave de encriptao 3. por cada carcter a encriptar, e em funo da chave, repetem-se os pontos 3.1e 3.2 seguintes: 3.1. faz-se uma permutao dos elementos do vector, e toma-se um dos seus elementos para funcionar como sub-chave 3.2. a sub-chave operada com o byte referente ao carcter a encriptar atravs da operao XOR, dando origem a um novo byte, que, atravs da tabela ASCII, convertido no carcter encriptado 3. o processo de descriptao idntico ao de encriptao, com as mesmas sub-chaves e as mesmas operaes pela mesma ordem. Foi ainda feita eferncia a outra tcnica com bastante projeco, que alguns consideram a melhor tcnica de chave secreta: a IDEA (International Data Encryption Algorithm).

17

Tcnicas de Criptografia de Chave Pblica


4.1. Introduo Na encriptao de chave pblica, que tem uma forte base matemtica, cada pessoa tem duas chaves, uma inversa da outra num determinado espao finito: uma que mantm privada e outra que publica. O que uma chave encripta, a outra descripta. Contra o que acontece nas tcnicas de chave privada, em que geralmente a descriptao realizada custa de algoritmos inversos mas com a mesma chave, nas tcnicas de chave pblica, o algoritmo geralmente o mesmo para encriptar e descriptar, e as chaves que so inversas. 4.2. Fundamentos matemticos

As operaes matemticas so efectuadas em espaos finitos, como o mdulo, de que j falmos atrs. Propriedade da distributividade da operao mdulo: 1. (a + b) mod n = (a mod n + b mod n) mod n 2. (a - b) mod n = (a mod n - b mod n) mod n 3. (a * b) mod n = (a mod n * b mod n) mod n Congruncias Diz-se que dois nmeros, a e b, so congruentes num dado espao finito, mod n, e representa-se a b mod n se e s se (sse) a mod n = b mod n Propriedades das congruncias: 1. Se a b mod n, ento a b divisvel por n 2. Se a b mod n, ento b a mod n 3. Se a b mod n e b c mod n, ento a c mod n 4. a a mod n, para qualquer inteiro n Exerccios 1. Determinar um nmero que seja congruente com 121 no espao mod 13. 2. Construir as tabelas de adio e de multiplicao no espao mod 8, e tirar concluses quanto inversibilidade, aditiva e multiplicativa, dos nmeros nos espaos modulares. 3. Com base nas tabelas do exerccio anterior, determine o inverso multiplicativo de 7 no espao mod 8. Dificuldade para nmeros grandes Os alunos devem dominar as regras de divisibilidade por 2, 3, 5 e 9. Teorema de Euclides

18

Permite calcular o Mximo Divisor Comum (mdc) entre dois nmeros inteiros e positivos, e especialmente til para grandes nmeros: Se a>b, mdc(a, b) = mdc (b, a mod b) Exerccios 1. Calcular mdc(60, 24) 2. Calcular mdc(627, 83) 3. Calcular mdc(904, 162) 4. Calcular mdc(1077, 951) 5. Construa uma folha de Excel com o seguinte aspecto:
Base 18 Mod 53 Expoente 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Pot 1 18 324 5832 104976 1889568 34012224 612220032 11019960576 1.98359E+11 3.57047E+12 6.42684E+13 1.15683E+15 2.0823E+16 3.74813E+17 Mtodo1 1 18 6 2 36 12 4 19 #NUM! #NUM! #NUM! #NUM! #NUM! #NUM! #NUM! Mtodo2 1 18 6 2 36 12 4 19 24 8 38 48 16 23 43

Observaes: a) a coluna Pot calcula as potncias atravs de baseexpoente b) a coluna Mtodo1 contm o clculo dos mdulos das potncias atravs da aplicao directa da respectiva frmula coluna anterior c) a coluna Mtodo2 contm o clculo dos mdulos das potncias atravs da aplicao da propriedade do mdulo do produto: Baseexpoente mod M = (Baseexpoente-1 mod M)*Base) mod M d) esta folha de clculo permite determinar mdulos de potncias de grandes nmeros, tornando mesmo irrelevantes os teoremas seguintes, que foram estabelecidos com a mesma finalidade quando no se dispunha de tal poder de clculo (no entanto esses teoremas consideram-se importantes para a nossa cadeira) 6. Estenda a frmula do mtodo 2 ao limite da folha de clculo e grave a folha. Atravs da funo Vlookup, crie uma janela que lhe permita ver, no ecr de introduo de dados, o mdulo referente a qualquer expoente da folha. Teorema de Fermat Para qualquer nmero primo, p, e para qualquer m inteiro positivo e no mltiplo de p, tem-se 19

m p-1 mod p = 1

Teorema de Euler Sendo p e q dois nmeros primos diferentes, e m e n inteiros positivos e primos entre si, verifica-se que m(p-1)(q-1) mod n = 1 Exerccios: Calcular as seguintes potncias com base nas propriedades da operao mdulo e nos teoremas de Fermat e de Euler (verifique sempre os resultados atravs da folha de clculo atrs apresentada): 117 mod 13; 1119 mod 13; 1126 mod 13 [NB: 13 um nmero primo] 79 mod 55; 749 mod 55 [NB: 55 = 11 * 5, e 11 e 5 so nmeros primos] 12120 mod 35 [12 e 35 so primos entre si] 23535 mod 17 235291 mod 119. NB.: o teorema de Fermat tem uma outra aplicao muito importante: a verificao de que dado nmero primo, atravs de 4 aplicaes do teorema. Algoritmo de Euclides Este algoritmo serve para calcular o inverso de um nmero num espao modular. Suponhamos que pretendemos determinar o inverso de 7 no espao mod 40: 1/7 mod 40. Seria complicado construirmos a tabuada do espao 40... O algoritmo apresenta-se da seguinte forma:
40 7 5 2 1 40 1 35 -34 103 F 40//7=5 7//5=1 5//2=2 P1 7x5=35 5X1=5 2X2=4 P2 1x5=5 35X1=35 -34x2=68

Ou seja, o inverso de 7, no espao mod 40, 103mod40=23. Exerccios Calcule as seguintes expresses (se tal for possvel): a. 1/3 mod 5 b. 1/308 mod 55 c. 1/308 mod 555

20

4.3.

Princpios da Criptografia de Chave Pblica

Especialmente dois problemas estiveram na origem das tcnicas de criptgrafia de Chave Pblica: - vulnerabilidade dos processos de distribuio de chaves das tcnicas de criptografia convencional - a necessidade de desenvolver, nos documentos electrnicos, um processo de no-repudiao semelhante assinatura manual nos documentos em papel. Whitfield Diffie e Martin Hellman estabeleceram as condies que deve cumprir um sistema de encriptao por chave pblica: 1. deve ser fcil gerar um par de chaves matematicamente relacionadas, uma para funcionar como chave pblica e outra para funcionar como chave privada 2. deve ser fcil, conhecendo a chave pblica de um destinatrio, encriptar as mensagens para esse destinatrio 3. deve ser fcil a um destinatrio utilizar a sua chave privada para descriptar as mensagens encriptadas que receber 4. deve ser impraticvel determinar uma chave privada conhecendo a respectiva chave pblica 5. deve ser impraticvel recuperar uma mensagem, conhecendo a respectiva cifra e qualquer chave pblica 6. as funes encriptar e descriptar devem poder ser usadas em qualquer ordem. O utilizador que pretenda enviar uma mensagem encriptada atravs de uma tcnica de chave pblica, dispe de duas chaves matematicamente relacionadas, uma pblica e outra privada, sendo esta mantida estritamente confidencial. Duas vantagens claras da criptografia de chave pblica so: - no haver distribuio de chaves - em qualquer momento, qualquer pessoa poder gerar um novo par de chaves. No entanto, o grande interesse das tcnicas de chave pblica no exactamente encriptar / descriptar mensagens, mas sim apoiar as tcnicas convencionais, conferindo maior segurana ao processo de distribuio das chaves.

4.4.

Tcnica de RSA

21

A tcnica RSA (do nome dos seus inventores: Ron Rivest, Adi Shamir, Len Adleman) uma tcnica muito engenhosa e com forte base matemtica, mas mais pesada e lenta que o DES. Pode funcionar com chaves com mais de 512 bits. Num dado ambiente hardware, um produto de software para implementar a tcnica RSA cerca de 100 vezes mais lento que um para implementar a tcnica DES. Se A pretender enviar uma mensagem encriptada a B, utiliza a chave pblica de B para encriptar a mensagem. S B poder decriptar a mensagem, e f-lo com a sua chave privada. Passos do algoritmo: 1. Converter os caracteres da mensagem preparada em nmeros (a: 01, b: 02, , z: 26); seja m [NB.: esta converso de letras em nmeros diferente da utilizada at aqui. Verifique que, de facto, no seria possvel encriptar a letra A se ela fosse traduzida por 00] 2. Arranjar dois nmeros primos, p e q cujo produto seja maior que m, e multiplicar esses nmeros: n = p x q (n espao de encriptao / descriptao) 3. Calcular g = (p-1) x (q-1) (espao gerador das chaves) 3. Gerar o par de chaves de encriptao, e (nmero primo diferente dos primos resultantes da factorizao de (p-1) e (q-1) e menor que g), e de descriptao, d (inverso de e no espao g). 4. Encriptar atravs da frmula c = me mod n (frmula de Cocqs) 5. Descriptar atravs da frmula m = cd mod n [OBS.: De facto , nesta tcnica, aquilo a que chamamos chave de encriptao o conjunto de e e n, e aquilo a que chamamos chave de descriptao o conjunto de d e n] Esta tcnica, usada desta forma simples, garante confidencialidade mas no garante norepudiao, ou seja, ningum, para alm de B, conseguir ler a mensagem, mas quem a recebe no pode ter a garantia de que a mensagem foi criada por A, apenas sabe que foi criada com a chave pblica de B, mas como esta pblica, qualquer pessoa a poder ter utilizado... Se se pretender garantir, simultaneamente, confidencialidade e no-repudiao na origem, ter que se utilizar duplamente o esquema: A encripta a mensagem, primeiro com a sua chave privada, e depois com a chave pblica de B: Z = EPuB(EPrA(X)) Ao receber a mensagem, B, comea por descriptar com a sua chave privada, como na situao em que se pretende garantir apenas confidencialidade, mas, como a mensagem se mantm encriptada, descripta-a mais uma vez, agora com a chave pblica de A, o emissor da mensagem: X = DPuA(DPrB(Z)) Exerccios 1. Admitindo que A pretende enviar a B a mensagem R, encriptar essa letra e descriptar a cifra. 22

2. Encripte ZZ como forma de dispr de chaves para encriptar qualquer conjunto de duas letras. Encripte e descripte diferentes conjuntos de duas letras. 3. Encripte as palavras Fado e Chave, considerando blocos de dimenso 2.

4.5.

Tcnica de Diffie-Hellman

Outra forma de resolver o problema da chave secreta atravs do algoritmo de DiffieHellman. Esta tcnica, apresentada por Diffie e Hellman em 1976, permitiu dar resposta ao problema da distribuio da chave nas tcnicas de chave simtrica. Utiliza o conceito de Raiz Primitiva. Designa-se por raiz primitiva de um nmero primo, cada um dos nmeros cujas potncias dentro do espao modular desse nmero primo no formem sequncias repetitivas. Se tomar, por exemplo, o nmero primo 19, e calcular as sucessivas potncias de 7 no espao mod 19 (7 mod 19, 72 mod 19, 73 mod 19, 74 mod 19 718 mod19), verificar que elas constituem uma sequncia repetitiva (7, 11, 1). Ou seja 7 no uma raiz primitiva de 19. Porm, se tomar o nmero 10 como base de potncias no mesmo espao, verificar que no se gera qualquer sequncia repetitiva. Pelo que 10 uma raiz primitiva de 19. NB: o aluno deve efectuar uma folha de clculo que apresente as razes primitivas de nmeros no muito elevados. Vejamos, ento, como funciona o algoritmo de Diffie-Hellman. Suponhamos que A pretende comuncar com B. Vejamos a sequncia de operaes de um lado e do outro. I. Lado A 1. Escolher um nmero primo, (seja p) 2. Seleccionar uma raiz primitiva de p (seja g) 3. Tomar um inteiro aleatrio dentro do espao modular de p (seja xA) 4. Gerar uma chave pblica a partir dos elementos anteriores PuA=gxA mod p 5. Publicar PuA e enviar p e g a B. II. Lado B 1. Receber os elementos de A 2. Tomar um inteiro aleatrio dentro do espao modular de p (seja xB) 3. Gerar uma chave pblica PuB=gxB mod p 4. Publicar PuB. III. Lados A e B simultaneamente 1. Gerar chaves privadas PrA = PuBxA mod p PrB = PuAxB mod p

23

Como se pode verificar, utilizando esta tcnica, as chaves privadas de A e de B resultam iguais. Ou seja, A e B, embora no tenham distribudo uma chave secreta, dispoem agora, ambos, duma mesma chave secreta. Por este facto, A e B podem agora recorrer a uma tcnica de chave secreta para encripar / descriptar as mensagens entre eles. Esta tcnica permite que ambos os agentes disponham duma chave secreta comum, sem a enviar por intermdio de uma terceira pessoa ou de uma entidade intermdia, mas apresenta-se vulnervel a ataques do tipo Fabricao. A segurana da tcnica de Diffie-Hellman repousa no facto de ser muito complicado calcular logartmos discretos em espaos finitos ( muito mais complicado inverter operaes em espaos finitos do que em espaos infinitos). Exerccio: Gerar uma chave secreta para A comunicar com B, considerando 353 como nmero primo e escolhendo uma raiz primitiva conveniente. Infraestrutura de Chaves Pblicas O maior inconveniente das tcnicas de chave pblica a proliferao do nmero de chaves e, portanto, o processo de gesto de chaves. Para dar uma ideia da dimenso do problema, suponha-se que n utilizadores em rede pretendem trocar chaves entre si, dois a dois. A quantidade de chaves necessrias para isso n * (n-1) / 2. Ou seja, se n = 1.000, tal quantidade ser 499.500 chaves! Torna-se difcil gerir de forma capaz tantas chaves. Perante a necessidade de se desenvolver um sistema adequado para fazer a gesto de chaves pblicas dos diversos agentes ou utilizadores, tornou-se importante criar uma infraestrtura de gesto conveniente. Designa-se por Infraestrutura de Chaves Pblicas um SI com o objectivo de gerir, i.e., criar, armazenar, manter, distribuir e revogar, Certificados Digitais num ambiente de encriptao atravs de tcnicas de criptografia assimtrica. A ITU-T (International Telecommunications Union departamento de normalizao de telecomunicaes) desenvolveu a norma X.509, integrada no conjunto de normas X.500 (designadas por Servio de Directrio). A norma X.509, emitida prela 1 vez em 1988, e de que se publicou em 2000 a 3 verso, normaliza os Certificados Digitais, ou seja, certificados pblicos de utilizadores sob guarda de Autoridades de Certificao (AC). Segundo essa norma, cada certificado deve conter: Verso, N de Srie, (Id + Nome + Assinatura Digital) da AC, (Id + Nome + Assinatura Digital) do utilizador, e ainda diversos campos complementares As ACs devem encontrar-se organizadas segundo uma estrutura hierrquica, de forma que, atravs delas, os utilizadores possam aceder s chaves pblicas uns dos outros. Suponhamos que o utilizador A se encontra registado na AC1, e que o utilizador B se encontra registado na AC2, e que AC1 tem o certificado digital de AC2. O utilizador A poder conhecer a chave pblica de B acedendo ao respectivo certificado digital, atravs dos seguintes passos: - obter certificado digital de AC2 (assinado por AC1) - obter o certificado digital de B (assinado por AC2). - aceder chave pblica de B.

24

Ou seja, utilizando a notao da norma X.509: Generalizando:

AC1<<AC2>>AC2<<B>>

X1<<X2>>X2<<X3>>XN<<B>>.

Exerccio: Suponha que A se encontra registado na AC1 e que B se encontra registado na AC2. Suponha ainda que existe uma AC3 comum s hierarquias de autoridades de certificao de A e de B: - AC1 registado em AC101, que por sua vez est registado em AC59, que por sua vez est registado em AC3; - AC2 registado na AC24, que por sua vez est registado em AC301, que por sua vez est registado em AC9, que por sua vez est registado em AC3. Indique a pesquisa que A tem que fazer para aceder chave pblica de B, usando a notao da norma X509.

25

5. A Criptografia ao servio da Segurana dos Sistemas de Informao


5.1. Introduo As tcnicas de criptografia no so apenas importantes para garantir confidencialidade nas comunicaes. Recordemos do 1 captulo que um sistema, para que merea confiana tem que contar com algumas caractersticas importantes. Reveja os conceitos de confidencialidade, integridade e no-repudiao. As tcnicas de encriptao podem ser de grande utilidade para garantir essas trs caractersticas. 5.2. Tcnicas de Assinatura Digital Analisando as funcionalidades das tcnicas de criptografia anteriormente estudadas, fcil verificar que no possvel garantir No-Repudiao em caso de mensagens no encriptadas. Ou seja, se, com essas tcnicas, pretendermos garantir no-repudiao, teremos que encriptar a mensagem. Ora h situaes em que o que importante no , de facto, garantir a confidencialidade de uma mensagem, mas apenas a sua autenticidade. Suponhamos o caso de uma circular de um Administrador de Rede que pretende avisar toda a comunidade utilizadora que a rede estar inoperacional num determinado perodo. No seria nada prtico, nem atingiria os seus objectivos, se a circular fosse enviada encriptada. A nica coisa fundamental, garantir que ela foi enviada pelo administrador de rede, e que o seu contedo no foi alterado em trnsito. A maneira de conseguir isto atravs de mecanismos de assinatura digital. Estes mecanismos permitem apr a um documento, ou a uma mensagem, um cdigo de autenticidade, ou seja um cdigo cujo valor depende do contedo da mensagem e do emissor. Estes mecanismos, aplicados a mensagens de comprimentos variveis, geram cdigos de comprimento fixo. H duas formas de o fazer: atravs de um algoritmo Hash, ou atravs de uma funo Message Authenticity Code (MAC). O algoritmo Hash, cujo output se pode designar por valor hash, necessita apenas de uma frmula matemtica.

A B: M|Hash(M) 26

O algoritmo, s por si, garante Integridade e No-Repudiao, mas no garante Confidencialidade. Pode, porm, conjugar-se com qualquer tcnica de criptografia: A B:E(K, M|H(m)) A NIST, desenvolveu em 1993, o produto SHA-1(SHA, sigla de Secure Hash Algorithm), que produz um valor hash de 160 bits (uma verso mais recente deste produto o SHA512). A funo MAC, cujo output se pode designar, ele prprio, por MAC, necessita de uma chave partilhada pela origem e pelo destino: CodAutenticidade = MAC(K, M)

A B: M |MAC(K, M) Ou A B: E(K2,M|MAC(K, M)) Um exemplo de um produto para gerar assinaturas digitais atravs da funo MAC Data Authenticity Algorithm, baseado na tcnica DES. Vejamos agora como uma Autoridade de Certificao gera os certificados digitais dos seus clientes:

27

5.3. Segurana na Internet Especialmente dois tipos de razes conduziram necessidade de utilizao de meios de criptografia na Internet. Por um lado, a entrada em cena dos sites com fins lucrativos, que veio alterar profundamente as regras de conduta dos cybernautas. A importncia de conhecer os hbitos e os gostos das pessoas levou utilizao de todos os meios para entrara na sua privacidade. O e-mail oferece boas oportunidades para isso. Por outro lado, por razes de arquitectura, uma msg enviada de um sistema para outro pode deixar cpias em muitos sistemas intermdios, e a tentao de as analisar grande... Estes dois factores conduziram ao sentimento de necessidade de criar condies de privacidade, e uma boa forma de o conseguir atravs de encriptao das mensagens... Em ambiente Internet foram desenvolvidos, nos anos 90, mecanismos para garantir confidencialidade, integridade e no-repudiao em diversos domnios, de que se referem alguns exemplos: - domnio de aplicaes distribudas Kerberos - domnio de e-mail S/MIME e PGP - domnio do WWW o SSL e o IPSec - domnio das aplicaes transaccionais ambientes transaccionais e SET, entre diversos outros. Os ambientes transaccionais baseiam-se no conceito de transaco e nos principos ACID, apresentados nas aulas. Kerberos um protocolo desenvolvido no MIT (Massachussets Institute of Technology), com a vocao de garantir segurana em redes e em aplicaes cliente-servidor. Apoia-se em boas tcnicas de criptografia, e pretende, principalmente, ultrapassar determinadas fragilidades da Internet (como a transmisso dasa passwords de forma legvel), e determinadas ingenuidades da gesto das organizaes (como acreditarem na boa f dos seus colaboradores, e de que as principais ameaas segurana dos seus sistemas vm do exterior...). O S/MIME (Secure/MIME) uma extenso do produto MIME (Multipurpose Internet Mail Extensions), criado para resolver algumas limitaes do SMTP (como transmisso de ficheiros executveis, a utilizao de caracteres especiais, ou a limitao de comprimento de mensagens). o standard de e-mail para uso organizacional e comercial, e est de acordo com a norma X.509. Disponibiliza os seguintes servios: encriptao simtrica por blocos, compatibilizao de formatos, para intercomunicao com outros servios de e-mail (atravs do formato intermdio Radix-64), e assinatura digital (por RSA ou por SHA). Para utilizao pessoal, o S/MIME no muito conveniente especialmente porque exige o recurso a certificados. Para este efeito, encontra-se disponvel para download, desde 2001, no site Pgp.com, um programa de encriptao que utiliza o mtodo da chave pblica. o Pretty Good Privacy, resultado do esforo meritrio de apenas uma pessoa, 28

Phill Zimmerman. Utiliza a tcnica IDEA de encitptao por chave simtrica, tcnica semelhante e derivada da DES, para encriptar as mensagens, e a tcnica RSA para garantir a distribuio segura das chaves. O SSL permite conferir condies de segurana a dados em trnsito entre servidores e clientes, permitindo ainda a autenticao recproca entre servidores e clientes. Foi desenvolvido em 1994 pela Netscape. Os browsers da Netscape e da MS vm equipados com SSL, e a maioria dos servidores de web tm SSL embebido no prprio protocolo. Funciona na Transport Layer. O IPSec uma verso de IP com condies de segurana integradas, assegurando por isso comunicaes seguras na net. Disponibiliza os seguintes servios: tcnicas de criptografia, controlo de acessos, controlo de integridade, garantia de no-repudiao na origem, e rejeio de pacotes repetidos. Opcionalmente, os utilizadores podem usar a funcionalidade Internet Key Exchange, o que os liberta da tarefa de troca das chaves. A segurana nas aplicaes comerciais de e-commerce garantida com aplicaes especficas, uma dos quais a SET (Secure Electronic Transacion). Trata-se de uma aplicao desenvolvida por empresas como IBM, MS, Netscape, RSA, VeriSign, especificamente para transaces por carto de crdito na internet. Principais servios disponibilizados pela SET: - confidencialidade de contedos, atravs da tcnica DES - confidencialidade do nmero do carto de crdito do consumidor perante o comerciante - garantia de que os dados referentes ao pagamento se mantm ntegros, ou seja no alterados em trnsito - autenticao das contas do consumidor e do comerciante atravs de certificados digitais (de acordo com a norma X.509). Hoje em dia, trabalhando na Internet, podemos fazer com confiana pagamentos com carto de crdito se nos encontrarmos num ambiente seguro, de que somos informados atravs de avisos do tipo Vai entrar num ambiente seguro, acompanhados com cones de autenticidade, ou pela verificao de que estamos a trabalhar com o protocolo http seguro, o https.

29

Você também pode gostar