Criptografia. Conceitos básicos de criptografia. Criptografia Conceitos. Criptografia Segurança Total vs Prática

Tamanho: px
Começar a partir da página:

Download "Criptografia. Conceitos básicos de criptografia. Criptografia Conceitos. Criptografia Segurança Total vs Prática"

Transcrição

1 Criptografia Conceitos básicos de criptografia A base da criptografia é conseguir que um grupo de pessoas transmita informação entre elas que seja ininteligível para todas as outras Uma solução: ter um dialecto próprio não é escalável, nem seguro. Melhor solução: algoritmo que cifra a informação que é conhecido e uma chave que parametriza o algoritmo, Algoritmo público, chave é segredo Análogo às fechaduras físicas... Criptografia Segurança Total vs Prática As funções de cifra são consideradas totalmente seguras se: independentemente do tempo e do poder computacional envolvido, a chave não puder ser descoberta. Normalmente são praticamente seguras o valor da informação não justifica o investimento computacional (em máquinas especiais) temporalmente limitada a sua validade e muito inferior ao tempo necessário para decifrá-la com a tecnologia existente. Criptografia Conceitos Algoritmo de cifra Função injectivas Parametrizadas por uma chave Algoritmo de decifra As cifras são reversíveis apenas por quem possuir o algoritmo inverso Parametrizado por chave inversa Nomenclatura M {M} K1 : cifra da mensagem M com a chave K1 é gerado um criptograma 1

2 Comunicação Cifrada (Modelo) Criptografia: Aspectos operacionais {P} K Cifras simétricas Normalmente usam técnicas de substituição e difusão São normalmente muito mais rápidas que as assimétricas Cifras assimétricas Normalmente usam operações matemáticas A sua segurança baseia-se na complexidade de certas operações matemáticas Logaritmo modular Y = a X mod b; Dados a, b e Y, calcular X Factorização de grandes números Y = ab, a e b primos; Dado Y, calcular a ou b Cifra simétrica Criptografia Simétrica Substituição Mono-alfabética Poli-alfabética Exemplo Mono-alfabético Chave troia Problema? ABCDEFGHIJLMNOPQRSTUVXZ TROIABCDEFGHJLMNPQSUVXZ 2

3 Cifra Simétrica Poli-alfabético Procura que as distribuições sejam combinadas de forma a que não existam caracteres que sejam mais frequentes Exemplo: Tabelas de Vigenère Exemplo de Cifra com a Tabela de Vigenère One-time pads Vamos, supor que se pretende cifrar uma mensagem em claro (plaintext) : ATTACKATDAWN O cifrador escolhe a chave e repete-a até que tenha o tamanho da mensagem Vamos usar "LEMON": LEMONLEMONLE A primeira letra da mensagem, A, é cifrada usando o alfabeto na linha L, que é a primeira letra da chave. Na tabela de Vigenère corresponde à linha L e à coluna A. Da mesma forma para a segunda letra da mensagem: a linha E e a coluna T resulta X. A restante mensagem é cifrada da mesma forma Mensagem: ATTACKATDAWN Chave: LEMONLEMONLE Mensagem Cifrada LXFOPVEFRNHR Substituição poli-alfabética Chave de grande dimensão não repetida O emissor usa a parte da chave que necessita para cifrar a mensagem e o receptor usa a mesma parte da chave estando ambos sincronizados sobre que parte já utilizaram Totalmente seguro, mas... como distribuir a chave? Uma aproximação a one-time pads nos computadores são geradores de números aleatórios Que funcionam a partir de chave (limitada) distribuída inicialmente 3

4 Exemplo de cifra simétrica: TEA Exemplo de cifra simétrica: TEA Algoritmo académico, pouco usado na prática Muito simples Razoavelmente rápido void encrypt(unsigned long k[], unsigned long text[]) { unsigned long y = text[0], z = text[1]; 1 unsigned long delta = 0x9e3779b9, sum = 0; int n; 2 for (n= 0; n < 32; n++) { 3 sum += delta; 4 y += ((z << 4) + k[0]) ^ (z+sum) ^ ((z >> 5) + k[1]); 5 z += ((y << 4) + k[2]) ^ (y+sum) ^ ((y >> 5) + k[3]); 6 } text[0] = y; text[1] = z; 7 } 32 etapas. Técnicas base: shift de bits, XOR, soma, dependentes da chave k Exemplo de cifra simétrica: TEA Data Encription Standard - DES void decrypt(unsigned long k[], unsigned long text[]) { unsigned long y = text[0], z = text[1]; unsigned long delta = 0x9e3779b9, sum = delta << 5; int n; for (n= 0; n < 32; n++) { z -= ((y << 4) + k[2]) ^ (y + sum) ^ ((y >> 5) + k[3]); y -= ((z << 4) + k[0]) ^ (z + sum) ^ ((z >> 5) + k[1]); sum -= delta; } text[0] = y; text[1] = z; } O National Bureau of Standards (NBS) dos EUA reconheceu a necessidade de um algoritmo padrão para cifra na sociedade civil 1972 O NBS abriu um concurso para uma novo algoritmo que devia ter várias características, entre elas: Alto nível de segurança Completamente especificado e fácil de perceber O algoritmo devia ser público, a sua segurança não vinha de ser secreto Adaptável a diversas utilizações Fácil de realizar em dispositivos electrónico Os primeiros resultados foram desencorajadores e houve um segundo concurso Desta vez foi considerada aceitável a proposta do algoritmo de cifra Lucifer desenvolvido pela IBM 1976 depois de análise pelo DoD em particular pela NSA foi aceite como standard nos EUA 4

5 Data Encription Standard - DES Blocos de 64 bits Aplica funções de permutação e substituição a cada bloco 16 etapas e duas permutações totais Chave de 56 bits, desdobrada em chaves de 48 bits para cada etapa Pode ser realizado em software ou em hardware DES Substituição, Permutação, Compressão e Expansão Input (64) Ri K (56) P I Li-1 Ri-1 E + P [i] [i] L0 R0 KSi KS1 C + P L1 R1 KS16 S-Box i L16 R16 Li Ri P-box inverso PI output (64) Chave do DES Chave do DES Só há registos de quebra por teste sistemático da chave Desde a sua publicação que a chave de 56 bits é considerada insuficiente, permitindo que o sistema seja alvo de ataques sistemáticos. Com o rápido aumento do desempenho das máquinas, esta questão torna-se cada vez mais preocupante. [Kaufman95] considera que as chaves deveriam crescer 1 bit cada dois anos. Se admitirmos que 56 bits era adequado em 79, este valor deveria ser 64 em 93 e 128 em Em 2006 um computador dedicado designado de COPACOBANA construído por $10,000 quebrou o DES com ataques de força bruta em 8,7 dias Em 2009 conseguia-se o mesmo em apenas 6 dias. 5

6 DES Triplo Algoritmos de Cifra Simétrica - Com 3 chaves de 56 bits diferentes, DES triplo consegue segurança efectiva de 112 bits (< 168 bits) DES Triple DES RC4 RC5 IDEA Blowfish AES Advanced Encription Standard norma futura dos EUA com chaves de 128, 196 e 256 bits Algoritmos de cifra assimétrica Criptografia Assimétrica Diffie Hellman RSA DSS baseado ElGamal Curvas elípticas 6

7 RSA - Rivest Shamir Adleman Fundamento do RSA Algoritmo de cifra de chave pública mais divulgado Patente expirou recentemente Enquanto era válida, os autores permitiram aos browsers utilizar o algoritmo sem pagar desde que reconhecessem a sua empresa (VeriSign) como autoridade para gerar certificados P,Q números primos da ordem de N = P*Q Z = (P-1)*(Q-1) Kp e Ks são coprimos com Z tais que Kp*Ks = 1 mod Z Exemplo do cálculo das Chaves Chaves 1- Escolhem-se dois números primos P e Q e calcula-se N e Z, Vamos supor P = 13, Q = 17: N = P * Q = 13 x 17 = 221 Z = (P - 1)*(Q - 1) = 12 x 16 = A chave K p é um número co-primo com Z. São trocados N e Kp que constituem a chave pública N e Ks são a chave privada Neste caso, Z = 2*2*2*2*2*2*3, pelo que podemos escolher K p = Para calcular K s é necessário resolver a equação K p * K s = 1 mod Z, K s *5= 1 mod 192 K s * 5 = 1, 193, 385, K s = 385:5 = 77 7

8 Cifra/Decifra em RSA Cifra por blocos de dimensão k, em que 2 k < N No nosso exemplo, k=7 Para cifrar mensagem em claro M: {M} Kp = M Kp mod N Para decifrar mensagem cifrada C: {C} Ks = C Ks mod N Quebrar a chave privada sabendo a chave pública? Se atacante sabe Kp e N, como consegue descobrir a chave privada? Para saber Ks é preciso saber Z (ver slides de geração de chaves) Para saber Z é preciso saber os dois números primos P e Q tal que PxQ=N Este problema é considerado demasiado difícil Se N > , demora cerca de um milhão de anos com melhores algoritmos actuais Segurança do RSA Segurança do RSA (2) Actualmente, chaves são normalmente de bits Recomendação é de 2048 bits, pelo menos Chaves de 256 bits quebradas em poucas horas com PC Em 1999, chave de 512 bits foi quebrada por sistema distribuído de centenas de computadores Alguns peritos acreditam que 1024 bits será quebrável a curtoprazo Computador quântico (se algum dia vier a existir) quebra chave RSA facilmente (tempo polinomial) Usando Algoritmo de Shor 8

9 Criptografia Segurança Total vs Prática Considerações genéricas sobre utilização de algoritmos de criptografia As funções de cifra são consideradas totalmente seguras se: independentemente do tempo e do poder computacional envolvido, a chave não puder ser descoberta. Normalmente são praticamente seguras o valor da informação não justifica o investimento computacional (em máquinas especiais) temporalmente limitada a sua validade e muito inferior ao tempo necessário para decifrá-la com a tecnologia existente. Métodos genéricos de ataque a funções de cifra Em qual se encontra cifra assimétrica? Dependem de em que situação o atacante está a) Só tem acesso a mensagens cifradas b) Tem acesso a amostras de um texto em claro e cifrado c) A partir de qualquer texto original, pode gerar o cifrado Nos dois últimos, ataque exaustivo (brute-force) é sempre possível Atacante itera todas as chaves possíveis até que cifra do texto original resulte no cifrado Como prevenir? Em c), caso a mensagem cifrada seja pequena, é também possível o chosen plaintext attack Quando mensagem cifrada C é pequena, itera-se todas as mensagens M até se obter C Como prevenir? Cifra híbrida (ou mista) Os algoritmos de cifra assimétrica são computacionalmente mais complexos que cifra simétrica 100 a 1000 vezes mais lentos Mas a distribuição da chave pública é mais prática que a chave secreta Como conseguir o melhor dos dois mundos? Cifras híbridas Gera-se chave secreta, chamada chave de sessão Usa-se cifra assimétrica para trocar apenas uma chave secreta Usa-se cifra simétrica e a chave secreta para os restantes dados 9

10 Criptografia: Classificação das cifras Por Blocos versus Contínuas: Exemplo Segundo o modelo de operação Por blocos (todas as que vimos até agora excepto One-time Pad) Facilita a análise P EK C DK P Original Cifra Por Bloco Cifra Contínua Contínuas (stream) Cifra de um bloco depende dos blocos anteriores Necessita mecanismo de inicialização Fonte: Wikipedia Modos de cifra Inicialmente apresentados para o DES ECB (Electronic Code Book) CBC (Cipher Block Chaining) Stream Cipher Podem ser usados por outras cifras por blocos Electronic Code Book C i = E K (T i ) T i = D K (C i ) T 1 T 2 T n E K E K E K E K Modos de cifra: ECB vs CBC IV Cipher Block Chaining C i = E K (T i C i-1 ) T i = D K (C i ) C i-1 CBC também pode ser usado com cifra assimétrica Se C i se perde na rede, consegue decifrar C i+1? T 1 T 2 T n-1 T n E K E K E K E K E K C 1 C 2 C n C 1 C 2 C n-1 C n D K D K D K D K IV D K D K D K D K D K T 1 T 2 T n T 1 T 2 T n-1 T n 10

11 CBC (outra maneira de o entender) Modos de cifra: Stream Cipher plaintext blocks ciphertext blocks n+3 n+2 n+1 XOR n-3 n-2 n-1 n E(K, M) keystream number generator n+3 n+2 n+1 Semelhança com outro algoritmo de Cifra? E(K, M) buffer Se Ci se perde na rede, conseguimos decifrar restantes? XOR plaintext stream ciphertext stream Stream Cipher não pode ser usado com cifra assimétrica. Porquê? Representação de dados binários em texto Codificação de base 64 Usa um sub-conjunto de 64 caracteres do ASCII que são os caracteres mais "universais", ou seja, caracteres que são iguais em practicamente todos os códigos: A-Z, a-z, 0-9, +, / Caracter = usado no final para identificar quantidade de padding requerido Aumenta tamanho do conteúdo. Qual o overhead? Assinatura Digital Autenticação e Integridade da Informação 11

12 Assinaturas digitais Assinatura Digital M signed doc Identificar inequivocamente o autor de um texto (autenticidade) Impedir alterações do texto (integridade) Impedir que o autor repudie o conteúdo a posteriori (não-repudiação) Signing H(M) h E(K pri, h) 128 bits {h} Kpri M As assinaturas não fazem sentido isoladas; só junto do texto a que se referem Verifying {h} Kpri M D(K pub,{h}) h' h = h'? H(doc) h Funções de Resumo ou Dispersão (Digest/Hash) Porque é que deve ser difícil encontrar colisões? Função H que recebe um texto (possivelmente longo) e devolve uma sequência de bits de comprimento fixo (e.g., 160 bits) Propriedades: Eficiente dado P é fácil calcular H(P) Não-invertível dado H(P) é difícil determinar P tal que H(P ) = H(P) Difícil encontrar P1, P2 tais que H(P1) = H(P2) Esta situação é chamada uma colisão Se não, seria fácil forjar assinaturas digitais. Como? 12

13 Funções Resumo (Digest) MACs: Assinaturas low-cost A função MD5 [Rivest92]. A informação é processada em blocos de 512 bits (16 palavras de 32 bits) e o valor do resumo é uma palavra de 128 bits. Em cada etapa é calculado um novo valor de resumo baseado no valor anterior e no bloco seguinte de 512 bits da mensagem. A função SHA-1 é a norma dos EUA. Resumo de 160 bits A mais recente função SHA-2 produz um resumo de 256 a 516 bits Message I need a raise of $10,000. I need a raise of $100,000. I need a raise of $1,000,000. MD5 Digest 9i5nud5r2a9idskjs2tbuop2ildax 8m4ikijuelaidsfg8asyfnasdfgll 4M9i2t8c7h t1h4e1d1otg7 Funções de hash muito mais rápidas que as funções de cifra Interessante ter método de assinatura digital que não implicasse cifra Como? Assumindo que interlocutores partilham segredo K é possível Por exemplo, K pode ser chave de sessão em cifra híbrida MACs: Assinaturas low-cost MACs: Discussão M signed doc Signing H(M+K) h M Quem pode validar mensagens assinadas? Que requisitos são assegurados? K Autenticidade e Integridade apenas M h Verifying h = h'? K H(M+K) h' 13

14 Distribuição e gestão de chaves Distribuição e gestão de chaves Distribuição das chaves é problema de difícil resolução Cifras simétricas Há que divulgar um valor secreto a universos limitados de interlocutores legítimos Que o devem manter secreto Cifras assimétricas Há que garantir que a chave privada apenas é conhecida pela entidade a que pertence Há que garantir que a chave pública é verdadeira e que não foi modificada para induzir um agente a trocar informação com um atacante Ataque man in the middle Autoridades de certificação Diffie-Hellman O objectivo deste protocolo é criar uma chave simétrica a partir da troca de valores em claro entre os dois interlocutores O algoritmo baseia-se na dificuldade computacional de efectuar logaritmos de grandes números. Diffie-Hellman 1. A e B escolhem números primos de 512 bits n e g e trocam-nos abertamente na rede. 2. Cada um escolhe agora aleatoriamente um número de 512 bits e mantém-no secreto (designemo-los por x e y). Calculam respectivamente: 1. TA = g x mod n 2. TB = g y mod n 3. TA e TB são trocados entre os dois interlocutores. 4. A calcula TB x mod n e B calcula TA y mod n. 5. Estes valores são a chave secreta a utilizar pelos interlocutores. Os valores são idênticos, porque: TB x mod n = (g y ) x mod n = g x.y mod n = (g x ) y mod n = TA y mod n Propriedade de aritmética modular 14

15 Man-in-the-Middle Certificados de chaves públicas Validação de assinaturas digitais Sensível à correcção das chaves públicas respectivas Têm de ser as correctas Têm que estar ainda em uso Certificados de chaves públicas Documento que associa uma chave pública a: Um dono (nome, , etc.) Datas (de emissão, de validade) Outra informação assinado por uma autoridade de certificação Institucional ou não A norma X.509 é a mais utilizada para formato de certificados Formato do Certificado X509 Autoridades de certificação: Sistemas ad-hoc ou hierárquicos Subject Issuer Period of validity Administrative information Extended information Distinguished Name, Public Key Distinguished Name, Signature Not Before Date, Not After Date Version, Serial Number Certificação ad-hoc Cada utilizador escolhe em quem confia como autoridade de certificação (ex. PGP) Certificação hierárquica Existe uma hierarquia de certificação (institucional) Árvore de Certification Authorities (CAs) Cada CA emite certificados assinados com a sua chave pública Que é distribuída em certificados assinados pela CA acima na hierarquia A chave pública da raiz é bem conhecida (configurada manualmente, e.g., os browsers reconhecem a VeriSign) Funções de uma CA Emissão e distribuição de certificados Gestão e distribuição de listas de certificados revogados 15

16 Public Key Infrastructure (PKI) Infra-estrutura de apoio ao sistema de Chavespúblicas Criação segura de pares de chaves assimétricas Criação e distribuição de certificados de chavespúblicas Definição e uso das cadeias de certificação Actualização, publicação e consulta da lista de certificados revogados Revogação de certificados: qual o compromisso? Controlo de direitos de acesso Autorização Modelo conceptual Os objectos são protegidos por um monitor de controlo de referências Cada agente, antes de poder efectuar um acção sobre um objecto, tem que pedir autorização ao monitor O monitor verifica se o agente está ou não autorizado através de uma matriz de direitos acesso Sistemas 16

17 Controlo dos Direitos de Acesso Matriz de direitos de acesso Um Monitor de Controlo de Referências valida quando uma operação é efectuada se o agente tem direito de a executar. Os objectos só podem ser acedidos através do monitor de controlo de referências; Os objectos têm de ser univocamente identificados e o identificador não pode ser reutilizado sem precauções adicionais. Num sistema multiprogramado a informação relativa à matriz é mantida dentro do espaço de isolamento do núcleo. Esta situação é, obviamente, diferente numa rede Os ataques a esta política visam essencialmente subverter o isolamento entre os agentes mais que procurar alterar a matriz ou eliminar o controlo do monitor de controlo de referências. Objectos Agentes O1 O2 O3 O4 A1 R RW RX --- A2 RX --- RW R Decomposição da tabela Listas de controlo de acesso (Access Control Lists, ACLs) Guardadas junto de cada objecto Capacidades (capabilities) Guardadas junto de cada agente A autenticação dos agentes é fulcral Para determinar a parcela da ACL que lhe é aplicável Para distribuir as capacidades correctas ACLs vs Capacidades Capacidades permitem descentralizar autorização Servidor analisa a capacidade enviada no pedido para determinar se cliente tem direito ao que pede Não é necessário contactar nenhuma entidade centralizada que armazena ACLs Também suportam delegação facilmente Capacidade análoga a uma chave do mundo real E tem limitações análogas: Pode ser roubada Revogar acesso a alguém que tem a chave é difícil Como lidar com isto? Autenticação 17

18 Autenticação A autenticação baseia-se sempre em o sistema apresentar um desafio que o agente deve saber responder. O desafio pode ser: Fornecer um informação que deve ser secreta, Senha Apresentar um identificador físico Cartão, Chave física Fornecer informação biométrica Impressões digitais, estrutura da íris Autenticação em sistemas distribuídos: Aproximações Uso do mecanismo local de autenticação Autenticação por cada ligação TCP/IP telnet, ftp, http Envio em claro de pares (nome, senha) Protocolo Simples de Autenticação Protocolo de Needham-Schroeder criptografia simétrica C S S aut 1) C ->S: Iniciar Sessão 2) S ->C: D 3) C ->S: {D} Kcs C, S, N c {N c,s, K cs, {K cs, C} Ks } Kc S aut C S K cs S aut K c K s O segredo neste caso é a chave K cs O protocolo tem vários problemas: Não é recíproco, só autentica o cliente; O valor de D tem de variar senão pode ser reutilizado; C {K cs, C} Ks {N s } Kcs S É necessário estabelecer a chave secreta entre o cliente e o servidor. {N s -1} Kcs Pode ser alvo de Replay Attack se atacante descobrir K CS e enviar esta mensagem para S 18

19 C login acesso a S Autenticação : Kerberos (Simplificado) C, S, n {K c,s, n} Kc, ticket c,s {T req, resposta} Kc,s S aut ticket c,s, auth c,s, pedido, T req S C S C S S aut K c,s S aut K c K S Timestamps reais para evitar reutilização de tickets antigos (implica relógios sincronizados) ticket x,y = {x, y, T 1, T 2, K x,y } Ky auth x,y = {x, T req } Kx,y Autenticador: para evitar re-envio de pedidos antigos (implica relógios sincronizados) Client C Step A 1. Request for TGS ticket 2. TGS ticket Arquitectura Kerberos (completo) Login session setup Server session setup DoOperation Kerberos Key Distribution Centre Authentication service A Authentication database Step B 3. Request for server ticket 4. Server ticket Ticketgranting service T Step C 5. Service request Request encrypted with session key Reply encrypted with session key Service function Server S Autenticação : Kerberos (V5) Kerberos C, TGS, n C login {K c,tgs, n } Kc, ticket c,tgs ticket c,tgs, auth c,tgs, S, n2 S aut pedido de acesso a S {K TGS c,s, n2 } Kc,tgs, ticket c,s ticket c,s, auth c,s, pedido, T req acesso a S {T S req, resposta} Kc,s C S TGS S aut C S K c,s TGS K c,tgs K s S aut K c K tgs ticket x,y = {x, y, T 1, T 2, K x,y } Porquê a separação Ky Saut/TGS? auth x,y = {x, T req } Kx,y Escalabilidade Subdivisão em realms Cada realm possui um Saut e um TGS Um realm pode aceitar autenticações feitas por outro Exploração Segurança física dos servidores e das respectivas BDs Saut e TGS Relógios sincronizados Para validar tickets e authenticators 19

20 Canais de comunicação seguros: Funcionalidade Canal de Comunicação Seguro Privacidade Dos dados Cifra dos dados enviados Dos fluxos de informação Integridade Das mensagens Adição de valores de controlo não forjáveis Dos fluxos de mensagens Contextos de cifra e/ou controlo Autenticidade Dos interlocutores Cifra de valores pré-combinados e frescos Com uma chave secreta partilhada por emissor e receptor Com a chave privada do emissor Não Repudiação Autorização Argumento extremo-a-extremo (End-to-end principle) Nível de Protocolo As funcionalidades dos protocolos de comunicação devem ser implementadas pelos extremos do canal de comunicação (sempre que possível), pois Ao implementar nos níveis mais baixos, obrigam todos os canais a pagar o seu custo, mesmo que não queiram Evitam redundâncias, quando as funcionalidades têm de ser repetidas extremo-a-extremo Princípio de desenho do IP Nível de protocolo onde realizar o canal seguro Ligação de dados Podia ser eficientemente implementado no hardware do controlador de rede. Não evita o ataque aos comutadores Rede ex.: IPsec para Virtual Private Networks Não vai até ao nível do transporte Interfaces de Transporte Sockets - ex.: SSL Aplicação : ex.: HTTPS, SSH, PGP, PEM, SET, Handlers dos Web Services 20

21 Exemplo: Canal seguro e os RPC Web Services - Handlers Se a cifra para garantir o canal seguro for efectuada antes dos stubs perde-se a sua capacidade de tratar a heterogeneidade Uma grande vantagem dos sistemas de RPC é tratar a heterogeneidade automaticamente nas funções de adaptação - stub A cifra tem de ser feita depois Mas convém que seja dentro do mecanismo de RPC para garantir segurança de extremo a extremo, O RPC pode ser baseado num canal SSL mas há limitações importantes Se a mensagem SOAP tiver intermediários estes têm de receber parte da informação mas não necessitam de a receber toda em aberto. Necessidade de cifrar apenas partes da mensagem. Nos Web Services os handlers foram pensados para permitir implementar as funções de segurança na sequência certa Handler Chain Sequência de handlers executados sobre pedidos e respostas Handler Extende a classe javax.xml.rpc.handler.handler Métodos relevantes handlerequest(messagecontext context) handleresponse(messagecontext context) handlefault(messagecontext context) Exemplo handler de segurança Exemplo handler de segurança public boolean handlerequest(messagecontext context) { System.out.println(this + ">\n\t handlerequest(messagecontext=" + context + ")"); try { SOAPMessageContext smc = (SOAPMessageContext) context; SOAPMessage msg = smc.getmessage(); SOAPPart sp = msg.getsoappart(); SOAPEnvelope se = sp.getenvelope(); SOAPBody sb = se.getbody(); SOAPHeader sh = se.getheader(); if (sh == null) {sh = se.addheader(); } // cipher message with symmetric key ByteArrayOutputStream byteout = new ByteArrayOutputStream(); msg.writeto(byteout); Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher.init(cipher.encrypt_mode, KeyManager.getSecretKey()); byte[] cipheredmessage = cipher.dofinal(byteout.tobytearray()); // encode in base64 BASE64Encoder encoder = new BASE64Encoder(); String encodedmessage = encoder.encode(cipheredmessage); // remove clear text sb.detachnode(); sh.detachnode(); // reinitialize SOAP components sb = se.addbody(); sh = se.addheader(); // store message SOAPBodyElement element = sb.addbodyelement(se.createname("cipherbody")); element.addtextnode(encodedmessage); } catch (Exception e) { System.out.println(this + ">\n\t Exception caught in handlerequest:\n" + e); return false; } return true; } 21

22 SSL protocol stack Caso de estudo: TLS/SSL (base do HTTPS) SSL Handshake protocol SSL Change Cipher Spec SSL Alert Protocol SSL Record Protocol HTTP Telnet Transport layer (usually TCP) Network layer (usually IP) SSL protocols: Other protocols: TLS handshake protocol TLS handshake: opções ClientHello ServerHello Establish protocol version, session ID, cipher suite, compression method, exchange random values Certificate Certificate Request ServerHelloDone Optionally send server certificate and request client certificate Client Certificate Certificate Verify Server Send client certificate response if requested Change Cipher Spec Finished Change cipher suite and finish handshake Change Cipher Spec Finished 22

Conceitos básicos de criptografia

Conceitos básicos de criptografia Conceitos básicos de criptografia Criptografia Conseguir que um grupo de pessoas transmita informação entre elas que seja ininteligível para todas as outras Uma solução: ter um dialecto próprio secreto

Leia mais

Autorização. Controlo de direitos de acesso

Autorização. Controlo de direitos de acesso Autorização 2/28/2007 Sistemas Distribuídos Controlo de direitos de acesso Modelo conceptual Os objectos são protegidos por um monitor de controlo de referências Cada agente, antes de poder efectuar um

Leia mais

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU Auditoria e Segurança da Informação GSI536 Prof. Rodrigo Sanches Miani FACOM/UFU Revisão Criptografia de chave simétrica; Criptografia de chave pública; Modelo híbrido de criptografia. Criptografia Definições

Leia mais

UNIP UNIVERSIDADE PAULISTA

UNIP UNIVERSIDADE PAULISTA UNIP UNIVERSIDADE PAULISTA GERENCIAMENTO DE REDES Segurança Lógica e Física de Redes 2 Semestre de 2012 SEGURANÇA LÓGICA: Criptografia Firewall Protocolos Seguros IPSec SSL SEGURANÇA LÓGICA: Criptografia

Leia mais

Segurança Informática em Redes e Sistemas

Segurança Informática em Redes e Sistemas Segurança Informática em Redes e Sistemas W5a - Criptografia Grupo 6 Maria Couceiro João Martins Pedro Santinhos Tipos e Modos de Cifra Criptografia Arte ou ciência de escrever de forma a ocultar conteúdos

Leia mais

Criptografia. Conceitos básicos de criptografia. Criptografia Conceitos. Criptografia Segurança Total vs Prática

Criptografia. Conceitos básicos de criptografia. Criptografia Conceitos. Criptografia Segurança Total vs Prática Criptografia Conceitos básicos de criptografia A base da criptografia é conseguir que um grupo de pessoas transmita informação entre elas que seja ininteligível para todas as outras Uma solução: ter um

Leia mais

Execícios de Revisão Redes de Computadores Edgard Jamhour. Filtros de Pacotes Criptografia SSL

Execícios de Revisão Redes de Computadores Edgard Jamhour. Filtros de Pacotes Criptografia SSL Execícios de Revisão Redes de Computadores Edgard Jamhour Filtros de Pacotes Criptografia SSL Exercício 1 Configure as regras do filtro de pacotes "E" para permitir que os computadores da rede interna

Leia mais

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings Criptografia e Segurança em Redes Capítulo 9 Quarta Edição William Stallings Capítulo 9 - Public Key Cryptography e RSA Cada egípicio recebia dois nomes que eram conhecidos respectivamente como o nome

Leia mais

Segurança da Informação

Segurança da Informação INF-108 Segurança da Informação Autenticação Prof. João Henrique Kleinschmidt Santo André, junho de 2013 Resumos de mensagem (hash) Algoritmo Hash são usados quando a autenticação é necessária, mas o sigilo,

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA

Leia mais

Conceitos básicos de criptografia

Conceitos básicos de criptografia Conceitos básicos de criptografia Sistemas Distribuídos 2012/13 sem1 Cryptex: Invenção de Leonardo Da Vinci Departamento de Engenharia Informática Criptografia A base da criptografia é conseguir que um

Leia mais

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1 Segurança na Web Cap. 4: Protocolos de Segurança Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW Page 1 é definido como um procedimento seguro para se regular a transmissão de dados entre computadores

Leia mais

Segurança da Informação. Prof. Gleison Batista de Sousa

Segurança da Informação. Prof. Gleison Batista de Sousa Segurança da Informação Prof. Gleison Batista de Sousa Ao longo do tempo e com a evolução tecnologia surgiram uma quantidade enorme de problemas desafiadores relacionados a segurança da informação. Quais

Leia mais

Assinatura Digital: problema

Assinatura Digital: problema Assinatura Digital Assinatura Digital Assinatura Digital: problema A autenticidade de muitos documentos, é determinada pela presença de uma assinatura autorizada. Para que os sistemas de mensagens computacionais

Leia mais

Auditoria e Segurança de Sistemas Aula 09 Criptografia. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Auditoria e Segurança de Sistemas Aula 09 Criptografia. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Auditoria e Segurança de Sistemas Aula 09 Criptografia Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Criptologia Esteganografia Criptografia Criptanálise Cifragem Chaves Assimétrica Chaves Simétrica

Leia mais

CERTIFICAÇÃO DIGITAL

CERTIFICAÇÃO DIGITAL Autenticidade Digital CERTIFICAÇÃO DIGITAL Certificação Digital 1 Políticas de Segurança Regras que baseiam toda a confiança em um determinado sistema; Dizem o que precisamos e o que não precisamos proteger;

Leia mais

Capítulo 8. Segurança de redes

Capítulo 8. Segurança de redes Capítulo 8 Segurança de redes slide 1 2011 Pearson Prentice Hall. Todos os direitos reservados. Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, Pearson Education-Prentice Hall,

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Tópicos Avançados II 5º período Professor: José Maurício S. Pinheiro AULA 2: Padrão X.509 O padrão X.509

Leia mais

Introdução. Iremos procurar ver aqui alguns mecanismos de proteção mais utilizados como: criptografia e SSL. 1.0 Criptografia

Introdução. Iremos procurar ver aqui alguns mecanismos de proteção mais utilizados como: criptografia e SSL. 1.0 Criptografia Introdução Atualmente no mundo internacional das redes e com o comércio eletrônico, todo sistema de computador se tornou um alvo em potencial para intrusos. O problema é que não há como saber os motivos

Leia mais

Codificação de Informação 2010/2011

Codificação de Informação 2010/2011 Codificação de Informação 2010/2011 Sumário: Criptografia Introdução, terminologia, critérios de classificação Alguns métodos de cifra clássicos Noção de segredo perfeito (Shannon) Criptografia e Cripto

Leia mais

Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 19/Dez/2009 Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-2.1.

Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 19/Dez/2009 Segurança em Sistemas e Redes de Computadores SSRC-0910-EN-2.1. Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Curso de Engenharia Informática (2º Ciclo) Teste nº 2 (frequência), 19/Dez/2009 Segurança em Sistemas e Redes

Leia mais

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA

I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA I Seminário sobre Segurança da Informação e Comunicações CRIPTOGRAFIA OBJETIVO Conhecer aspectos básicos do uso da criptografia como instrumento da SIC.. Abelardo Vieira Cavalcante Filho Assistente Técnico

Leia mais

Conceitos de Criptografia e o protocolo SSL

Conceitos de Criptografia e o protocolo SSL Conceitos de Criptografia e o protocolo SSL TchêLinux Ulbra Gravataí http://tchelinux.org/gravatai Elgio Schlemer Ulbra Gravatai http://gravatai.ulbra.tche.br/~elgio 31 de Maio de 2008 Introdução Início

Leia mais

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP SSL - Secure Socket Layer Protocolos criptográfico que provê comunicação segura na Internet para serviços como: Telnet, FTP, SMTP, HTTP etc. Provê a privacidade

Leia mais

Certificado Digital: Como Funciona (www.bry.com.br)

Certificado Digital: Como Funciona (www.bry.com.br) Comércio Eletrônico Faculdade de Tecnologia SENAC Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Unidade Curricular: Comércio Eletrônico Edécio Fernando Iepsen (edecio@terra.com.br)

Leia mais

Segurança e Sistemas Eletrônicos de Pagamentos" Prof. Msc. Adolfo Colares

Segurança e Sistemas Eletrônicos de Pagamentos Prof. Msc. Adolfo Colares Segurança e Sistemas Eletrônicos de Pagamentos" Prof. Msc. Adolfo Colares 1 Objetivos" n Descrever sistemas de pagamento para e- commerce " n Identificar os requisitos de segurança para pagamentos eletrônicos

Leia mais

Davidson Rodrigo Boccardo flitzdavidson@gmail.com

Davidson Rodrigo Boccardo flitzdavidson@gmail.com Segurança em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com Segurança Segurança deve considerar o ambiente externo do sistema, e proteger de: Acesso não autorizado Alteração ou

Leia mais

Assinatura e Certificação Digital

Assinatura e Certificação Digital e Certificação Digital Por Rafael Port da Rocha 2006 Versão: 07/04/06 20:28 Notas de ula - 2006 Rafael Port da Rocha 1 Características Básicas para um Processo de Comunicação I B C utenticidade: O usuário

Leia mais

Algoritmos criptográficos de chave pública

Algoritmos criptográficos de chave pública Algoritmos criptográficos de chave pública Histórico - A descoberta em 1976 por Diffie, Hellman e Merkle de algoritmos criptográficos assimétricos, onde a segurança se baseia nas dificuldades de 1. Deduzir

Leia mais

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência Desenvolvimento de Estratégias de Segurança e Gerência Segurança e Gerência são aspectos importantes do projeto lógico de uma rede São freqüentemente esquecidos por projetistas por serem consideradas questões

Leia mais

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa Prof. Marcelo de Sá Barbosa Introdução Visão geral das técnicas de segurança Algoritmos de criptografia Assinaturas digitais Criptografia na prática Introdução A necessidade de proteger a integridade e

Leia mais

Conceitos básicos de criptografia

Conceitos básicos de criptografia Segurança Conceitos básicos de criptografia Page 1 1 Criptografia A base da criptografia é conseguir que um grupo de pessoas transmita informação entre elas que seja ininteligível para todas as outras

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 13

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 13 REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 13 Índice 1. Criptografia...3 1.1 Sistemas de criptografia... 3 1.1.1 Chave simétrica... 3 1.1.2 Chave pública... 4 1.1.3 Chave pública SSL... 4 2. O símbolo

Leia mais

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005 Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Segurança em IEEE 802.11 Wireless LAN

Segurança em IEEE 802.11 Wireless LAN Segurança em IEEE 802.11 Wireless LAN Giovan Carlo Germoglio Mestrado em Informática Departamento de Informática Universidade do Minho 1 Contextualização Padrão IEEE 802.11 Wireless LAN: Estabelecido em

Leia mais

FTP Protocolo de Transferência de Arquivos

FTP Protocolo de Transferência de Arquivos FTP Protocolo de Transferência de Arquivos IFSC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO SUBSEQUENTE DE TELECOMUNICAÇÕES! Prof. Tomás Grimm FTP - Protocolo O protocolo FTP é o serviço padrão da Internet para

Leia mais

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações Sistemas Multimédia Arquitectura Protocolar Simples Modelo OSI TCP/IP Redes e Comunicações Francisco Maia famaia@gmail.com Já estudado... Motivação Breve História Conceitos Básicos Tipos de Redes Componentes

Leia mais