ezorzal@unifesp.br ezorzal@unifesp.br www.realidadeaumentada.com.br www.realidadeaumentada.com.br Aula 16: Segurana Objetivos Objetivos Discutir aspectos de proteo e segurana em SOs Discutir ameaas e ataques segurana Explicar os fundamentos da criptografia Examinar as aplicaes da criptografia na computao Introduo Introduo Segurana de Informao relaciona-se com vrios e diferentes aspectos referentes : Confidencialidade: Garantir que somente pessoas autorizadas possam ler as mensagens. Autenticao: Garantir a identificao de pessoas envolvidas na comunicao. Integridade e no-repudiao de mensagem: Garantir que o contedo de uma mensagem no seja alterado durante o trfego. Disponibilidade e controle de acesso: Garantir que o servio fique disponvel e, de que usurios s adquiram acesso ao sistema se tiverem permisses. 3 Introduo Introduo Estes aspectos no esto restritos: sistemas computacionais, informaes eletrnicas, ou qualquer outra forma mecnica de armazenamento. Segurana de Informao Se aplica todos os aspectos de proteo e armazenamento de informaes e dados, em qualquer forma. Muitos recursos de informao disponveis e mantidos em sistemas de informao distribudos atravs de redes, tm um alto valor intrnseco para seus usurios. Necessidade de proteo contra acidentes ou ataques. 4 Introduo Introduo Por que se proteger? O fato que todos temos informaes sigilosas: Desejo de Privacidade. Autoproteo. Empresas tambm tm segredos. Informaes estratgicas. Previses de vendas. Detalhes tcnicos como produtos. Resultados de pesquisa de mercado. Arquivos particulares. 5 Princpios bsicos Princpios bsicos Proteo: Mecanismo atravs do qual seja possvel controlar o acesso de programas, processos e usurios a recursos definidos por um sistema de computao; Segurana: Requer no somente um ambiente adequado de proteo bem como considera o ambiente externo no qual o sistema opera; Poltica de Segurana: define as regras que controlam o acesso autorizado aos recursos de computao e informaes armazenadas. Por exemplo, uma organizao pode definir que apenas empregados do setor de contabilidade podem armazenar novas informaes de contabilidade; Mecanismos de proteo: so ferramentas utilizadas para implementar a poltica de segurana definida pela organizao; O mecanismo determina como algo deve ser feito, enquanto a poltica decide o que deve ser feito. Autenticao e Autorizao Autenticao e Autorizao Autenticao Externa: visa determinar se o usurio realmente a pessoa que diz ser. Ou seja, se a pessoa que se conectou no sistema realmente a que deveria estar utilizando aquela conta; Interna: visa garantir que um usurio no consiga criar um processo que parea ser um processo pertencente a outro usurio. Autorizao visa garantir que processos e usurios somente utilizem recursos do sistema que sejam a eles permitidos. Mtodos de Autenticao Mtodos de Autenticao Algo que o usurio possui chave ou carto, por exemplo; Algo que o usurio sabe Identificao e senha; Um atributo do usurio Impresso digital, padro retina, assinatura. Vulnerabilidade das Senhas Vulnerabilidade das Senhas Sua Vulnerabilidade est relacionada com a dificuldade de mant-la secreta; Formas para tentar adivinhar uma senha: Obter informaes sobre o usurio; Fora bruta; Atravs de dicionrios: (lista com as senhas mais comuns). Falhas de segurana podem tambm ocorrer devido a exposies visuais ao teclar a senha e atravs de monitoramento da rede (sniffing); A natureza humana atrapalha: as pessoas repassam suas senhas a amigos para contornar certas situaes. Contornando as Vulnerabilidade Contornando as Vulnerabilidade Os sistemas tentam contornar as vulnerabilidades de algumas formas: Gerao de senhas pelo sistema. Problema: so difceis de lembrar e, s vezes, os usurios as escrevem em papel; Tempo de expirao. Problema: usurios repetem entre duas senhas; Limitao de senhas que no pertenam a um dicionrio; Manuteno do arquivo de senhas criptografado. No garante completamente o sigilo j que o atacante pode usar dicionrios. Algumas sugestes: Utilize senhas de, no mnimo, 8 caracteres; Utilize caracteres maisculos e minsculos, nmeros e pontuaes; Utilize a primeira letra de cada palavra de uma frase ou verso; Troque sua senha regularmente. Autorizao: Domnios de Proteo Autorizao: Domnios de Proteo Um sistema de computao compreende uma coleo de processos e objetos. Os objetos podem ser componentes de hardware (UCP, segmentos de memria, impressoras, discos, etc.) e de software (arquivos, programas, semforos); Cada objeto pode ser acessado somente atravs de operaes bem definidas. Autorizao: Domnios de Proteo Autorizao: Domnios de Proteo Um processo opera dentro de um domnio de proteo. Cada domnio especifica um conjunto de objetos e os tipos de operao que podem ser invocadas para cada um deles; Domnios so, portanto, conjuntos de pares ordenados (objeto, direito de acesso); No Unix, o domnio est associado ao usurio. Mudar de domnio corresponde a alterar temporariamente a identificao do usurio. Autorizao: Matriz de Acesso Autorizao: Matriz de Acesso Um modelo de proteo pode ser visto de forma abstrata como uma matriz de acesso; O mecanismo de proteo consiste em implementar a matriz de acesso e garantir a validade da semntica dos valores inseridos na matriz. Autorizao: Matriz de Acesso Autorizao: Matriz de Acesso Quando o usurio cria um objeto O j , uma coluna O j adicionada matriz de acesso juntamente com uma inicializao apropriada de suas entradas, conforme especificado pelo usurio; Autorizao: Matriz de Acesso Autorizao: Matriz de Acesso Processos podem possuir a habilidade de mudar de um domnio para outro. A mudana de um domnio D i para um D j s pode ocorrer se e somente se o direito de acesso switch (comutar) access(i , j). Autorizao: Matriz de Acesso Autorizao: Matriz de Acesso Direito de Cpia Denotado por um asterisco (*); Variaes: um direito de acesso copiado de access(i , j) para access(k, j) e ento removido de access(i , j); a propagao de cpia limitada: quando um direito de acesso R* copiado, somente R (e no R*) criado. O nico sistema seguro aquele que est desligado, fundidos em um bloco de concreto e selado em uma sala revestida de chumbo, com guardas armados -- e mesmo assim tenho as minhas dvidas. Gene Spafford (spaf) Segurana Segurana Definies de Segurana Definies de Segurana Segurana de computao: previne atacantes de atingir seus objetivos atravs do acesso no autorizado e uso no autorizado de computadores e redes de computadores; Um sistema seguro aquele que fornece informaes ntegras somente a usurios autenticados e autorizados. Polticas de Segurana Polticas de Segurana Conjunto de regras e procedimentos aplicveis a todas as atividades relacionadas com a segurana de um sistema de informao dentro de um determinado domnio; Domnio de segurana compreende o conjunto de recursos de processamento e comunicao pertencentes a uma organizao. A poltica de segurana deve contemplar: Objetivos e requisitos; Definio das autoridades, responsabilidades e auditorias de segurana; Conjunto de regras e procedimentos para cada um dos aspectos de segurana: de comunicao, de computao, fsica, de pessoal, administrativa, de mdias, de irradiao, de desenvolvimento. Tipos de Segurana Tipos de Segurana Segurana lgica: Identificao e autenticao; Contabilizao e no rejeio; Controle de acesso; Proteo de disponibilidade, integridade, confiabilidade. Segurana fsica: Manuteno de hardware; Controle de acesso a reas restritas. Segurana administrativa: Regras e responsabilidades; Arquitetura e organizao do sistema; Instalao e configurao; Procedimentos organizacionais e operacionais. Tipos de Ameaas Tipos de Ameaas comum chamarmos essas ameaas de malware Ataque homem-do-meio: Duas partes acreditam que esto se falando, mas esto realmente conversando com um intruso Os dados podem ser modificados na retransmisso Cavalo de Tria um programa malicioso que se passa por outro programa confivel. Sua finalidade costuma ser a coleta de informaes suscetveis inseridas por um usurio. Tipos de Ameaas Tipos de Ameaas (cont.) (cont.) Portas secretas Tambmchamadas de alapo Um programador pode intencionalmente inserir uma porta secreta em um programa, permitindo acesso no autorizado ao sistema ou a algum recurso Bomba lgica Em geral, no apresentam efeito algum sobre o sistema at que determinada condio ocorra Programador: Desenvolver um script para verificar se ainda est empregado (pode gerar um daemonpara permitir acesso remoto, por exemplo) Bomba-relgio No caso das bombas-relgio, essa condio baseia-se no tempo Tipos de Ameaas Tipos de Ameaas (cont.) (cont.) Vrus Esse tipo de malware distingue-se pelo fato de ser anexado a outros software Os vrus de computador podem operar e se disseminar apenas no contexto de um hospedeiro Verme (worm) Um verme difere do vrus, pois um programa por si mesmo e pode se espalhar sem outro programa Muitos vermes se aproveitam de software que podem ser induzidos a executar outro cdigo que lhe seja fornecido Tipos de Ameaas Tipos de Ameaas (cont.) (cont.) Negao de servio (DOS denial-of-service) s vezes, o agressor quer apenas interferir na qualidade de uso do sistema Muitas vezes sob a forma de sobrecarregar o sistema com pedidos Monitorao de ameaas Monitorao de ameaas A segurana de um sistema de computao pode ser melhorada atravs da adoo de duas tcnicas: Monitorao de ameaas: verificao constante do sistema buscando padres de atividades suspeitos; Logs de auditoria: guardar a hora, usurio e tipo de acesso realizado nos objetos do sistemas. Possui o inconveniente de poder tornar-se muito grande. Verificao Peridica do Sistema Senhas pequenas e fceis de serem descobertas; Programas no autorizados em diretrios do sistema; Processos de longa durao no esperados; Protees de diretrios inadequadas; Protees inadequadas de arquivos do sistema; ... Classificao dos Sistemas Operacionais Classificao dos Sistemas Operacionais com Relao Segurana com Relao Segurana Feito em 1983 Oficialmente chamado: Critrios confiveis para avaliaes de sistemas computacionais do Departamento de Defesa Os critrios e recomendaes de segurana dessa srie foram substitudos por um novo conjunto de critrios chamado critrios comuns Segmenta os sistemas em quatro divises identificadas como A, B, C e D Classificao dos Sistemas Operacionais Classificao dos Sistemas Operacionais com Relao Segurana com Relao Segurana D: sistema que falharam em atender os requisitos de segurana das outras classes. Ex: MS-DOS; C1: sistemas que incorporam algumas formas de controle que permitem aos usurios proteger suas informaes privadas evitando que outros usurios acidentalmente possam l-las ou destru-las. A maioria dos sistemas Unix pertencem a esta classe; C2: estende a segurana C1 permitindo que o controle de acesso possa ser especificado de forma individual. Por exemplo, os direitos de acesso a um arquivo podem ser especificados para um usurio especfico. Alm disto, o administrador do sistema capaz de auditar de forma seletiva as aes de um ou mais usurios baseado na sua identificao. Algumas verses especiais do Unix foram certificadas como C2. O Windows NT permite ao administrador do sistema configur-lo como C1 ou C2; Classificao dos Sistemas Operacionais Classificao dos Sistemas Operacionais com Relao Segurana com Relao Segurana B1: possui todas as propriedades C2 e adiciona nveis de sensibilidade para cada objeto. Por exemplo, um usurio de um nvel no pode acessar um arquivo de um nvel mais secreto; B2: estende os nveis de sensibilidade para cada recurso fsico do sistema, como objetos da memria; B3: permite a criao de listas de controle de acesso que registram que grupos ou usurios especficos no possuem direito de acesso a um dado objeto; A: equivalente classe B3 mas exige uma especificao formal e verificao da arquitetura de segurana garantindo que a implementao foi realizada corretamente. Criptografia Criptografia Uma das ferramentas mais importantes para a segurana da informao a criptografia. Conjunto de mtodos e tcnicas para cifrar ou codificar informaes legveis por meio de um algoritmo, convertendo um texto legvel em um texto ilegvel, sendo possvel mediante o processo inverso recuperar as informaes. 29 Conceitos bsicos de criptografia Conceitos bsicos de criptografia A palavra criptografia vem das palavras gregas que significam escrita secreta. Kriptos (em grego) = Secreto + Grafia (de escrever) Criptografia = Escrita secreta. Criar mensagens cifradas. Alguns termos: Texto legvel (texto claro, texto original, texto simples) Texto ilegvel (cifra, texto cifrado, texto cdigo) Encriptar (codificar, criptografar, cifrar) Decriptar (decodificar, decriptografar, decifrar) 30 31 Cincia de escrever em cdigos Cincia de escrever em cdigos Texto claro Texto claroAlgoritmo Algoritmo Texto cifrado Texto cifrado Ky(Kx(m))=m Kx(m) Conceitos bsicos de criptografia Conceitos bsicos de criptografia 31 Os procedimentos de criptografar e decriptografar so obtidos atravs de um algoritmo. Conceitos bsicos de criptografia Conceitos bsicos de criptografia A criptografia moderna e computadorizada opera com chaves. O algoritmo realiza seus passos utilizando a chave para alterar o texto claro e convert-lo em texto cifrado. Para recuperar a informao em forma legvel, necessrio inserir a mesma chave ou outra que esteja relacionada. Uma chave uma cadeia aleatria de bits utilizada em conjunto com um algoritmo. Cada chave distinta faz com que o algoritmo trabalhe de forma ligeiramente diferente As chaves permitem aprimorar a tcnica de criptografia. Os invasores podem entender o algoritmo, mas as chaves devem ser secretas. 32 33 Conceitos bsicos de criptografia Conceitos bsicos de criptografia Vantagens importantes para o uso de chaves Permite a utilizao do mesmo algoritmo criptogrfico para a comunicao com diferentes receptores, trocando apenas a chave. Permite trocar facilmente a chave no caso de uma violao, mantendo o mesmo algoritmo. Nmero de chaves possveis depende do tamanho (nmero de bits) da chave. Exemplo: uma chave de 8 bits permite uma combinao de no mximo 256 chaves. Quanto maior o tamanho da chave, mais difcil quebr-la. Criptografia de chaves simtricas Criptografia de chave pblica 34 Ky(Kx(m))=m Kx(m) Conceitos bsicos de criptografia Conceitos bsicos de criptografia 34 35 Criptografia simtrica Criptografia simtrica Utiliza a mesma chave tanto para cifrar como para decifrar possvel obter a chave de decifrao a partir da chave de cifrao. 35 Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,5 milhes da conta 254674-12 para a conta071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,5 milhes da conta 254674-12 para a conta071517-08 Affonso *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 Criptografia + + Algoritmo = Descriptografia Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,5 milhes da conta 254674-12 para a conta071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,5 milhes da conta 254674-12 para a conta071517-08 Affonso *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9eea qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 + + = Algoritmo Requer uma chave compartilhada 36 Algoritmos simtricos - exigem que a chave seja mantida secreta Conhecimento exclusivo dos dois interlocutores. requerido um canal seguro que permita a um usurio transmitir a chave ao seu interlocutor. Se uma pessoa quer se comunicar com outra com segurana, ela deve passar primeiramente a chave utilizada para cifrar a mensagem. Este processo chamado distribuio de chaves. Criptografia simtrica Criptografia simtrica 37 Uso de algoritmo criptogrfico simtrico (chave secreta) Cifrar Decifrar Canal Seguro Canal Inseguro Mensagem (abcdef...z) Mensagem (abcdef...z) Criptograma (abcdef...z) Chave K Chave K Bob Alice Alice e Bob precisam entrar em acordo com uma chave secreta que ir proteger as mensagens trocadas entre eles. Criptografia simtrica Criptografia simtrica 38 Alice cifra uma mensagem - utiliza um algoritmo de ciframento e uma chave secreta para transformar uma mensagem clara em um texto cifrado. Bob decifra uma mensagem - utiliza o algoritmo de deciframento correspondente e a mesma chave para transformar o texto cifrado em uma mensagem em claro. Intruso- no possui a chave secreta, mesmo conhecendo o algoritmo, no consegue decifrar a mensagem. A segurana do sistema reside no mais no algoritmo e sim na chave empregada. Esta chave dever ser mantida em segredo por Alice e Bob. Criptografia simtrica Criptografia simtrica 39 Algoritmo Simtrico Bits Descrio DES 56 Data Encryption Standard (DES) - algoritmo simtrico mais disseminado no mundo. Utiliza cifras de blocos de 64 bits, chave de 56 bits, substituio monoalfabtica (alfabeto:256 smbolos). Criado pela IBM em 1977, permite (2 56 ) combinaes, considerado pequeno, quebrado por "fora bruta" em 1997 em um desafio lanado na Internet. NIST (National Institute of Standards and Technology) - Recertificou o DES pela ltima vez em 1993 e desde ento est recomendando o 3DES. O NIST props um substituto ao DES - deve aceitar chaves de 128, 192 e 256 bits, operar com blocos de 128 bits. 39 Criptografia simtrica Criptografia simtrica 40 Algoritmo Algoritmo -- DES DES Descrio do funcionamento Basicamente uma cifra de substituio que utiliza um caractere de 64 bits. Possui uma chave de 56 bits e seu algoritmo tem 19 estgios. Executa uma srie de transposies, substituies, e operaes de recombinao em blocos de dados de 64 bits. Inicialmente, os 64 bits de entrada sofrem uma transposio e so colocados em uma funo usando tabelas estticas de transposio e substituio (Caixas P e Caixas S). 41 Algoritmo Algoritmo -- DES DES O algoritmo foi projetado para permitir que a decodificao fosse feita com a mesma chave da codificao propriedade necessria em algoritmo de chave simtrica. As etapas so simplesmente executadas na ordem inversa. 42 Criptografia Criptografia Simtrica Simtrica Algoritmo Simtrico Bits Descrio Triple DES (3DES) 112 ou 168 O 3DES - simples variao do DES, utilizando-o em trs ciframentos sucessivos, podendo empregar um verso com duas ou com trs chaves diferentes. seguro, porm muito lento para ser um algoritmo padro. 42 43 Criptografia Criptografia Simtrica Simtrica Algoritmo Simtrico Bits Descrio IDEA 128 O International Data Encryption Algorithm foi criado em 1991 por James Massey e Xuejia Lai, possui patente da sua ASCOM Systec. Algoritmo segue as mesmas linhas gerais do DES. O tamanho da chave (128 bits) inviabiliza a possibilidade de ataques por fora-bruta. Uma implementao por software do IDEA mais rpida do que uma implementao por software do DES. Utilizado principalmente no mercado financeiro e no PGP (o programa para criptografia de e-mail pessoal mais disseminado no mundo). 43 44 Criptografia Criptografia Simtrica Simtrica Algoritmo Simtrico Bits Descrio RC2 8 a 1024 Projetado por Ron Rivest e utilizado no protocolo S/MIME, voltado para criptografia de e-mail corporativo. Cifra de corrente, produz uma corrente de nmeros pseudo-aleatrios que so cifrados atravs de uma operao lgica XOR com a prpria mensagem. Possui chave de tamanho varivel. Rivest tambm o autor do RC4, RC5 e RC6, este ltimo concorrente do AES. 44 45 Criptografia Criptografia Simtrica Simtrica Vantagem Rapidez na criptografia e descriptografia da informao. Desvantagens A chave deve ser trocada entre as partes e armazenada de forma segura, o que nem sempre fcil de garantir; A criptografia simtrica no garante a identidade de quem enviou ou recebeu a mensagem (autenticidade e no-repudiao). Cada par necessita de uma chave para se comunicar de forma segura. Em geral, se n pessoas querem se comunicar usando chave secreta, sero necessrias chaves - problema para o gerenciamento de chaves. 45 46 Criptografia Assimtrica Criptografia Assimtrica As chaves so sempre geradas aos pares: uma para cifrar e a sua correspondente para decifrar. A chave pblica divulgada, a chave privada proprietria (normalmente no abandona o ambiente onde foi gerada). As duas chaves so relacionadas atravs de um processo matemtico, usando funes unidirecionais para a codificao da informao. 46 Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,0 milhes da conta 254674-12 para a conta071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,0 milhes da conta 254674-12 para a conta071517-08 Affonso *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 Criptografia + + Algoritmo = Chave Pblica Descriptografia Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,0 milhes da conta 254674-12 para a conta071517-08 Affonso Para: Banco De: Affonso Data: 16, Abr, 2001 TransferirR$ 2,0 milhes da conta 254674-12 para a conta071517-08 Affonso *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 *>*ql3*UY #~00873/J DI c4(DH: IWB(883 LKS9UI29as9%#@ qw9vijhas9djerhp7 (*Y23k^wbvlqkwc zqw-_89237xGyjdc Biskdue di7@94 + + Algoritmo = Chave Privada 47 Criptografia Assimtrica Criptografia Assimtrica Algoritmos assimtricos - permitem que a chave de cifrao possa ser tornada pblica, disponibilizando-a em um canal pblico (Ex.: repositrio de acesso pblico) - chave-pblica. Qualquer um pode cifrar mensagens com uma dada chave- pblica. Somente o destinatrio, detentor da correspondente chave de decifrao (chave-privada, ou secreta), poder decifrar a mensagem. A chave-privada no precisa e nem deve ser dada a conhecer a ningum, devendo ser guardada em segredo pelo seu detentor apenas, que deve tambm ter sido o responsvel pela gerao do seu par de chaves, enquanto a chave-pblica pode ser publicada livremente. 48 Criptografia Assimtrica Criptografia Assimtrica Uso de algoritmo criptogrfico assimtrico (chave pblica). Cifrar Decifrar Canal Pblico Canal Inseguro Mensagem (abcdef...z) Mensagem (abcdef...z) Criptograma (abcdef...z) Chave K Pblica Chave K Secreta Bob Alice Para que Alice envie uma mensagem confidencial a Bob, ela deve encriptar essa mensagem com a chave pblica de Bob que, de posse de sua chave privada, consegue descript-la. Como, em tese, ningum tem acesso chave privada de Bob, ningum pode descriptar a mensagem. 49 Criptografia Assimtrica Criptografia Assimtrica Algoritmo Bits Descrio RSA 512 a 2048 Possui este nome devido a seus inventores: Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no MIT. Amplamente utilizado e uma das mais poderosas formas de criptografia de chave pblica conhecidas. Utiliza nmeros primos. fcil multiplicar dois nmeros primos para obter um terceiro nmero, mas muito difcil recuperar os dois primos a partir daquele terceiro nmero - fatorao. Segurana: dificuldade de fatorao de nmeros grandes. Uma chave RSA de 512 bits foi quebrada em 1999 pelo Instituto Nacional de Pesquisa da Holanda, com o apoio de cientistas de mais 6 pases. Levou cerca de 7 meses e foram utilizadas 300 estaes de trabalho para a quebra. 49 50 Algoritmo Algoritmo -- RSA RSA Descrio do funcionamento O texto simples (uma string de bits) dividido em blocos, de modo que cada mensagem de texto simples, P , fique no intervalo 0 P <n. Criptografar a mensagem P calcula-se C = P e (mod n). Descriptografar C calcula-se P = C d (mod n). 51 Algoritmo Algoritmo -- RSA RSA Descrio do funcionamento Para realizar a criptografia, so necessrios "e" e "n. Para a descriptografia, so necessrios "d" e "n". Portanto a chave pblica consiste no par (e,n) e a chave privada consiste em (d,n). A segurana do mtodo se baseia na dificuldade de fatorar nmeros extensos. Se pudesse fatorar o valor n (publicamente conhecido), seria possvel determinar p e q para, a partir destes, encontrar z e, ento, seria possvel encontrar d, porm fatorar nmeros extensos extremamente complicado. 52 Criptografia Assimtrica Criptografia Assimtrica Algoritmo Descrio El Gamal Matemtica diferente da utilizada no RSA. O algoritmo envolve a manipulao matemtica de grandes quantidades numricas. Obtm sua segurana da dificuldade de se calcular logaritmos discretos em um corpo finito, o que lembra bastante o problema da fatorao. 52 53 Criptografia Assimtrica Criptografia Assimtrica Algoritmo Descrio Diffie- Hellman Tambm baseado no problema do logaritmo discreto (exponenciao discreta), o um dos sistemas mais antigos ainda em uso. O conceito de chave pblica foi introduzido pelos autores deste criptosistema em 1976. Cada participante inicia com sua chave secreta e atravs da troca de informaes derivada uma outra chave chamada chave de seo, que ser usada para futuras comunicaes. 53 54 Criptografia Assimtrica Criptografia Assimtrica Algoritmo Bits Descrio Curvas Elpticas 80 a 256 Em 1985, Neal Koblitz e V. S. Miller propuseram de forma independente a utilizao de curvas elpticas para sistemas criptogrficos de chave pblica. Consistem em modificaes de outros sistemas (o El Gamal, por exemplo), que passam a trabalhar no domnio das curvas elpticas, em vez de trabalhar no domnio dos corpos finitos. Possuem potencial para prover sistemas criptogrficos de chave pblica mais seguros, com chaves de menor tamanho. Algoritmos atuais - possuem o potencial de serem rpidos, mas so em geral mais lentos do que o RSA. 54 55 Algoritmos de funo Algoritmos de funo hash hash Um hash uma seqncia de letras ou nmeros geradas por um algoritmo de hashing (mtodo de encriptar dados de forma a manter a sua privacidade) de tamanho fixo . Os algoritmos de hash mais usados so os de 16 bytes: MD2, MD4, MD5 ou o SHA-1, de 20 bytes. 56 Algoritmos de funo Algoritmos de funo hash hash MD5 (Message-Digest algorithm 5) Desenvolvido para suceder o MD4 e, um algoritmo de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc. O processamento ocorre em blocos de 512 bits e a sada de 128 bits. SHA-1 (Secure Hash Algorithm) NIST e NSA e considerado um dos mais seguros atualmente. O processo unidirecional e dificulta descobrir o contedo original a partir do hash. O valor de conferncia (check-sum) muda se um nico bit for alterado, acrescentado ou retirado da mensagem. 57 Criptografia Assimtrica Criptografia Assimtrica Vantagens Mais segura do que a criptografia simtrica, por no precisar comunicar ao receptor a chave necessria para descriptografar a mensagem. Permite que qualquer um possa enviar uma mensagem secreta, utilizando apenas a chave pblica de quem ir receb-la. Como a chave pblica est amplamente disponvel, no h necessidade do envio de chaves como no modelo simtrico. A confidencialidade da mensagem garantida, enquanto a chave privada estiver segura. Caso contrrio, quem possuir acesso chave privada ter acesso s mensagens. Desvantagem costuma ser mais lenta do que a criptografia simtrica. 58 Criptografia Criptografia Simtrica Simtrica XX Assimtrica Assimtrica N de participantes Criptografia Simtrica n(n-1)/2 Criptografia Assimtrica 2n 2 1 4 4 6 8 8 28 16 16 120 32 Nmero de chaves necessrias/nmero de participantes 58 59 Simtrica Assimtrica Funcionamento Utiliza um algoritmo e uma chave para cifrar e decifrar. Requisito de Segurana A chave tem que ser mantida em segredo; Algoritmo mais alguma parte do texto cifrado devem ser insuficientes para obter a chave. Funcionamento Utiliza um algoritmo e um par de chaves para cifrar e decifrar. Requisito de Segurana Uma chave pblica e a outra tem que ser mantida em segredo; Algoritmo com alguma parte do texto cifrado com uma das chaves no devem ser suficientes para obter a outra chave. 59 Criptografia Simtrica Criptografia Simtrica XX Assimtrica Assimtrica 60 Problemas Criptografia Simtrica Como distribuir e armazenar as chaves secretas de forma segura? Quantas chaves so necessrias para uma comunicao segura entre n pessoas? Criptografia Assimtrica Como garantir que o detentor da chave pblica realmente quem diz ser? Necessidade de ter uma infra-estrutura para armazenar as chaves pblicas. Criptografia Criptografia Simtrica Simtrica XX Assimtrica Assimtrica 61 Desenvolvimento de um algoritmo Desenvolvimento de um algoritmo didtico didtico Algoritmo posicional Cada letra ou grupo de letras substitudo por outra letras ou grupo de letras. Baeado em uma das cifras mais antigas a Cifra de Csar, onde inicialmente era definido um nmero (chave) e este nmero era usado para trocar as letras do alfabeto. Cifra de Csar: Substituio de uma letra pela K-sima letra sucessiva do alfabeto Texto Aberto: abcdefghijklmnopqrstuvwxyz Cifra: ghijklmnopqrstuvwxyzabcdef Texto Aberto: unifesp Cifra: atolkyv Exemplo Exemplo:: K= 6 K= 6 62 Desenvolvimento de um algoritmo Desenvolvimento de um algoritmo didtico didtico Objetivo: Capturar uma seqncia de caracteres (texto claro) a partir do valor resgatado pela tabela ASCII. Acrescentar valores, por meio de um algoritmo e uma chave, s estes caracteres para alterar a seqncia inicial. Utilizar a seguinte funo para o clculo do novo valor do caractere: f(x) =a 1 * x n +a 2 * x n-1 +... + a n * x 1 ; Onde: a 1 , a 2 , ... , a n so valores da chave; x a posio do caractere; n igual o nmero de elementos da chave. 63 Desenvolvimento de um algoritmo Desenvolvimento de um algoritmo didtico didtico Exemplos: 64 Desenvolvimento de um algoritmo Desenvolvimento de um algoritmo didtico didtico Cdigo em C: . . . i nt soma = 0; f or ( i nt j =1; j <=t amanho; j ++) { f or ( i nt i = 1; i <= gr auChave+1; i ++) { soma=soma+chave[ i - 1] *pow( ( doubl e) j , ( ( doubl e) grauChave- ( i - 1) ) ) ; } tCi f ra[ j - 1] = (tCl aro[ j - 1] + soma) %256; soma=0; } . . .