Conceitos básicos de criptografia
|
|
|
- Alfredo Mascarenhas Neves
- 7 Há anos
- Visualizações:
Transcrição
1 Segurança Conceitos básicos de criptografia Page 1 1
2 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. Page 2 2
3 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 Comunicação Cifrada (Modelo) {P} K Page 3 3
4 Criptografia: Aspectos operacionais 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 Criptografia Simétrica Page 4 4
5 Cifra simétrica Substituição Mono-alfabética Poli-alfabética Exemplo Mono-alfabético Chave troia Problema? ABCDEFGHIJLMNOPQRSTUVXZ TROIABCDEFGHJLMNPQSUVXZ Cifra simétrica Objectivo Confundir operações não destrutivas que permitam alterar o significado da mensagem em aberto misturando-o com a chave Difundir fazer com que as alterações se difundam a toda a mensagem cifrada para não ser alvo de análise estatistica de padrões Operações usuais XOR, Shift, permutação de bits Page 5 5
6 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 Difundir no criptograma a mensagem Exemplo: Tabelas de Vigenère Page 6 6
7 Exemplo de Cifra com a Tabela de Vigenère 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 One-time pads 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 Page 7 7
8 Exemplo de cifra simétrica: TEA Algoritmo académico, pouco usado na prática Muito simples Razoavelmente rápido Exemplo de cifra simétrica: TEA 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 Page 8 8
9 Exemplo de cifra simétrica: TEA 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; } Data Encription Standard - DES 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 Page 9 9
10 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) P I L0 R0 KS1 Li-1 Ri-1 KSi Ri E + P K (56) [i] [i] C + P L1 R1 KS16 S-Box i L16 R16 inverso PI Li Ri P-box output (64) Page 10 10
11 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 DES Triplo - Com 3 chaves de 56 bits diferentes, DES triplo consegue segurança efectiva de 112 bits (< 168 bits) Page 11 11
12 Algoritmos de Cifra Simétrica DES Triple DES RC4 RC5 IDEA Blowfish AES Advanced Encription Standard norma dos EUA com chaves de 128, 196 e 256 bits Algoritmos de Cifra Simétrica (Comp.) Rijndael - Advanced Encryption Standard (AES) Fonte: Computer Networks, Andrew Tanenbaum Page 12 12
13 Criptografia Assimétrica Algoritmos de cifra assimétrica RSA DSS baseado ElGamal Curvas elípticas Page 13 13
14 RSA - Rivest Shamir Adleman 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 Fundamento do RSA P,Q números primos da ordem de N = P*Q Z = (P-1)*(Q-1) Kp e Ks sãocoprimos com Z tais que Kp*Ks = 1 mod Z Page 14 14
15 Exemplo do cálculo das Chaves 1- Escolhem-sedoisnúmerosprimosPeQecalcula-seNeZ, Vamossupor P= 13,Q=17: N= P*Q =13x17=221 Z= (P-1)*(Q -1)=12x16= A chave K p é um número co-primo com Z. Neste caso, Z = 2*2*2*2*2*2*3, pelo que podemos escolher K p = 5 3-ParacalcularK s énecessárioresolveraequaçãok p *K s =1modZ, K s *5=1mod192 K s *5= 1,193,385, K s =385:5=77 Chaves São trocados N e Kp que constituem a chave pública N e Ks são a chave privada Page 15 15
16 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 Kpe 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 > , em 1978, Rivest considerava que para computadores que executassem 1 MIPS levariam 4 mil milhões de anos Mas houve continua evolução dos computadores e dos métodos de cálculo Page 16 16
17 Segurança do RSA 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 Segurança do RSA (2) Page 17 17
18 Considerações genéricas sobre utilização de algoritmos de criptografia 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. Page 18 18
19 Métodos genéricos de ataque a funções de cifra 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 Em qual se encontra cifra assimétrica? 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 Page 19 19
20 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? Criptografia: Classificação das cifras 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 Contínuas (stream) Cifra de um bloco depende dos blocos anteriores Necessita mecanismo de inicialização Page 20 20
21 Por Blocos versus Contínuas: Exemplo Original Cifra Por Bloco Cifra Contínua 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 Page 21 21
22 Modos de cifra: ECB vs CBC Electronic Code Book C i = E K (T i ) T i = D K (C i ) 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 T 1 T 2 T n-1 T n E K E K E K E K IV 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 CBC (outra maneira de o entender) plaintext blocks n+3 n+2 n+1 XOR E(K, M) ciphertext blocks n-3 n-2 n-1 n Page 22 22
23 Modos de cifra: Stream Cipher Semelhança com outro algoritmo de Cifra? Se Ci se perde na rede, conseguimos decifrar restantes? keystream number generator n+3 n+2 n+1 E(K, M) buffer XOR plaintext stream ciphertext stream A Informação como um Bem Confidencialidade/Privacidade da informação Integridade da Informação Identidade não se efectuarem acções em nome de outro Anonimato realizar acções que são autenticadas mas em que não se deve conhecer a identidade (ex.: votações) Disponibilidade dos serviços que permitem aceder a informação Page 23 23
24 Assinatura Digital Autenticação e Integridade da Informação Assinaturas digitais 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) As assinaturas não fazem sentido isoladas; só junto do texto a que se referem Page 24 24
25 Assinaturas digitais Técnica base de Autenticação Assinatura de T por A {T} KprivadaA Validação da assinatura: T == {assinatura} KpúblicaA Como é evidente, o sistema de cifra tem de ser de chave assimétrica senão não havia possibilidade de garantir que a assinatura não era forjada Assinatura Digital M signed doc Signing H(M) h E(K pri, h) {h} Kpri 128 bits M {h} Kpri D(K pub,{h}) h' Verifying M h = h'? H(doc) h Page 25 25
26 Funções de Resumo ou Dispersão (Digest/Hash) Função Hque 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 Funções de Hash não invertíveis As funções de hash não invertíveis têm como objectivo criar um resumo único semelhante a uma impressão digital de um conteúdo digital muito mais extenso As funções produzem um resumo de algumas dezenas de bytes a partir dos dados originais São não invertíveis porque é computacionalmente impossível reconstruir o conteúdo original a partir do resumo. A probabilidade de colisão (dois textos diferentes produzirem a mesma assinatura) deve ser mínima. Mudanças pequenas no texto devem produzir resumo muito diferentes (valores de hash estão distribuídos uniformemente) Page 26 26
27 Porque é que deve ser difícil encontrar colisões? Se não, seria fácil forjar assinaturas digitais. Como? Paradoxo do Aniversário Quantas operações são necessárias para encontrar uma colisão num resumo de m bits? Qual a probabilidade de duas pessoas na aula terem o mesmo aniv.? Para n>=23, p>50% Numero de pares de aniversários = C(23,2) = 22 * 23 / 2 = 253 pares Resposta à pergunta inicial: 2 m/2 (muito menos do que 2 m ) Page 27 27
28 Funções Resumo (Digest) 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-2produz 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 MACs: Assinaturas low-cost 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 Page 28 28
29 MACs: Assinaturas low-cost M signed doc Signing H(M+K) h M K M h Verifying h = h'? K H(M+K) h' MACs: Discussão Quem pode validar mensagens assinadas? Que requisitos são assegurados? Autenticidade dentro do grupo conhecedor de K e Integridade Page 29 29
30 Distribuição e gestão de chaves Distribuição e gestão de chaves Cifras simétricas Cifras assimétricas Há que divulgar um valor secreto a um conjunto limitado de interlocutores legítimos Que o devem manter secreto 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 a troca de informação com um atacante Page 30 30
31 Diffie-Hellman O objectivodeste protocolo é criar uma chave simétrica a partir da troca de valores em claro entre os dois interlocutores 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 ne ge 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 xe 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 modn e B calcula TA y modn. 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 Sistemas Propriedade Distribuídos 2014 de aritmética modular Page 31 31
32 Man-in-the-Middle Ataque também designado por bucket brigade Ataque de man-in-the-middle com chave assimétrica O agente A cria um par de chaves de cifra assimétrica Publica a sua chave K pa num servidor de nomes O atacante I consegue substituir a chave por K pi e o endereços dos serviços pelo seu endereço Quando o agente B utilizar o servidor de nomes poderá: Estabelecer um canal confidencial com I pensando que é A Validar assinaturas de A forjadas por I Page 32 32
33 Certificados de chaves públicas 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 Subject Distinguished Name, Public Key Issuer Distinguished Name, Signature Period of validity Not Before Date, Not After Date Administrative information Version, Serial Number Extended information Page 33 33
34 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? Page 34 34
35 Autoridades de certificação: Sistemas ad-hoc ou hierárquicos 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 Autenticação Page 35 35
36 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 Protocolo Simples de Autenticação 1) C ->S: Iniciar Sessão 2) S ->C: D 3) C ->S: {D} Kcs O segredo neste caso é a chave K cs poderia ser obtida por um hash da password, um segredo entre o C e o S 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; É necessário estabelecer a chave secreta entre o cliente e o servidor. Page 36 36
37 Evolução do protocolo de needham-schroder -> kerberos Autenticação com chave simétrica Protocolo de Needham-Schroeder criptografia simétrica C S S aut C, S, N c C S K cs {N c,s, K cs, {K cs, C} Ks } Kc S aut S aut K c K s C {K cs, C} Ks {N s } Kcs S {N s -1} Kcs Pode ser alvo de Replay Attack se atacante descobrir K CS e enviar esta mensagem para S Page 37 37
38 Autenticação : Kerberos (Simplificado) C login C, S, n {K c,s, n} Kc, ticket c,s S aut 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 c,s, auth c,s, pedido, n2 ticket x,y = {x, y, T 1, T 2, K x,y } Ky acesso a S {n2, resposta} Kc,s S auth x,y = {x, T req } Kx,y Autenticador: para evitar re-envio de pedidos antigos (implica relógios sincronizados) Arquitectura Kerberos(completo) Kerberos Key Distribution Centre Step A 1. Request for TGS ticket Authentication service A Authentication database Ticketgranting service T Client C 2. TGS ticket Login session setup Server session setup DoOperation Step B 3. Request for server ticket 4. Server ticket Step C 5. Service request Request encrypted with session key Reply encrypted with session key Service function Server S Page 38 38
39 Autenticação: Kerberos (V5) C login C, TGS, n {K c,tgs, n } Kc, ticket c,tgs S aut C S C S TGS S aut K c,s pedido de acesso a S ticket c,tgs, auth c,tgs, S, n2 {K c,s, n2 } Kc,tgs, ticket c,s TGS TGS K c,tgs K s S aut K c K tgs acesso a S ticket c,s, auth c,s, pedido, n3 {n3, resposta} Kc,s S 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 Kerberos 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 Page 39 39
40 Autorização 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 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 Page 40 40
41 Controlo dos Direitos de Acesso Um Monitor de Controlo de Referênciasvalida 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. Matriz de direitos de acesso 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 Page 41 41
42 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? Controlo dos Direitos de Acesso O Monitor de Controlo de Referência valida se o agente tem direito de a executar a operação. Duas opções: A informação relativa à matriz é mantida dentro do espaço de endereçamento do servidor que se supõe seguro -ACL É enviada uma capacidade de cada vez que o cliente pretende utilizar o objecto. Capacidade: Ticket ou Certificado de autenticação + direitos Page 42 42
43 Amoeba Sistema operativo distribuído baseado num micro-núcleo Capacidades para autenticação e autorização As capacidades são armazenadas no espaço de endereçamento dos utilizadores. Cifra para proteger os campos de direitos. Mecanismos para permitir revogar direitos. Amoeba: Estrutura das capacidades 48 bits 24 bits 8 bits 48 bits Porto do Servidor Numero do Objecto Direitos Campo de verificação As capacidades são constituídas por quatro campos: 1 Porto do servidor que gere o objecto: 48 bits 2 Número do objecto ( só com significado para o servidor): 24 bits 3 Direitos sobre o objecto ( 1 bit por cada operação): 8 bits 4 Número aleatório (usado para protecção das capacidades) : 48 bits Cifra da capacidade para garantir que não é modificada. Problema como modificar os direitos Page 43 43
44 Canal de Comunicação Seguro Canais de comunicação seguros: Funcionalidade 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 Page 44 44
45 Argumento extremo-a-extremo (End-to-end principle) 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 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 Page 45 45
46 Caso de estudo: TLS/SSL (base do HTTPS) SSL protocol stack SSL Handshake protocol SSL Change Cipher Spec SSL Alert Protocol HTTP Telnet SSL Record Protocol Transport layer (usually TCP) Network layer (usually IP) SSL protocols: Other protocols: Page 46 46
47 TLS handshake protocol 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 TLS handshake: opções Page 47 47
48 SSL record protocol Application data abcdefghi Fragment/combine Record protocol units Compress abc def ghi Compressed units MAC Encrypted TCP packet Hash Encrypt Transmit TLS record protocol Application data Record protocol units Compressed units Fragment/combine Compress abcdefghi abc def ghi MAC Encrypted Hash Encrypt Transmit TCP packet Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012 Page 48 48
49 Exemplo: Canal seguro e os RPC 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 Web Services - Handlers 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) Page 49 49
50 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()); Exemplo handler de segurança // 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; } Page 50 50
51 Diagrama de Segurança dos Web Services WS-Secure Conversation WS-SecurePolicy WS-Federation WS-Trust WS-Authorization WS-Privacy Liberty Alliance XACML Blocos da mensagem Blocos básicos WS-Security XML Dig Sig XML Enc SAML Page 51 51
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
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
Segurança Informática em Redes e Sistemas
Instituto Superior Politécnico de Ciências e Tecnologia Segurança Informática em Redes e Sistemas Prof Pedro Vunge http://pedrovunge.com I Semestre de 2019 SUMÁRIO : Criptografia de Chave Pública ou Assimétrica;
Capítulo 8. Segurança de redes
Capítulo 8 Segurança de redes slide 1 Segurança de redes Algumas pessoas que causam problemas de segurança e motivação. slide 2 slide 3 Criptografia Introdução Cifras de substituição Cifras de transposição
Segurança conceitos básicos. Sistemas Distribuídos
Segurança conceitos básicos Sistemas Distribuídos 2015 Ameaças interceptação interrupção modificação fabricação ataques a canais de comunicação escuta obtenção de informação na rede senhas, etc masquerading
Segurança de Sistemas de Informação
Segurança de Sistemas de Informação Mestrado em Ciência da Informação E-mail: 1 Chaves criptográficas Chave criptográfica: é um pedaço de informação cujo conhecimento é necessário à utilização de técnicas
Segurança de Sistemas de Informação
Segurança de Sistemas de Informação Mestrado em Ciência da Informação E-mail: 1 A criptografia é a arte ou ciência que permite escrever de forma a ocultar conteúdos. O objectivo da criptografia é que um
Mecanismos Criptográficos Esquemas
Mecanismos Criptográficos Esquemas Notas para a UC de Segurança Informática Inverno de 12/13 Pedro Félix (pedrofelix em cc.isel.ipl.pt) José Simão (jsimao em cc.isel.ipl.pt) Instituto Superior de Engenharia
Tópicos de Ambiente Web Segurança
Tópicos de Ambiente Web Segurança Professora: Sheila Cáceres Componentes dos sistemas de segurança de dados Política de segurança de dados Serviços básicos para segurança computacional (security) Controle
Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...)
Principal característica: utilização da mesma chave para cifrar/decifrar. Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...) convencional de chave única de chave secreta Os procedimentos
4 ÍNDICE Exemplo de redundância e distância de unicidade... 41
Índice 1 Introdução e motivações 15 1.1 Problemasdesigiloeautenticidade... 16 1.2 Organizaçãodotexto... 18 1.3 O que é criptografia?... 18 1.3.1 CifradeCésar... 18 1.3.2 Criptografia edecriptografia...
Segurança da Informação Aula 7 Assinaturas Digitais e HASH.
Segurança da Informação Aula 7 Assinaturas Digitais e HASH. Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br [email protected] Objetivos Como Trudy não possui as chaves privadas de Alice e Bob, não
Criptografia. Aula 4: Autenticação de mensagens e canais seguros. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019
Criptografia Aula 4: Autenticação de mensagens e canais seguros Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019 Integridade e autenticação de mensagens Message Authentication Codes Construções de MACs Integridade
SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:
20/02/2016 PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com CRIPTOGRAFIA E SEGURANÇA DE DADOS SEGURANÇA As funções de cifra são consideradas totalmente seguras se: Independente do tempo e do poder
PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC083 PERÍODO:
Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital
Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital Segurança da Informação Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/sega6
Criptografia Assimétrica e Funções de Síntese
Criptografia Assimétrica e Funções de Síntese 1 Criptografia Assimétrica Também chamada de cifra de chave pública Cifração com chave pública Ku e decifração com chave privada Kr Em geral é muito mais lenta
Desenvolvimento de Aplicações Distribuídas
Segurança Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Segurança Sistemas Distribuídos. junho de 2017
Segurança Sistemas Distribuídos junho de 2017 Segurança confidencialidade autenticidade integridade não repudiação } comunicação processos se comunicam por rede pública comunicação ameaças interceptação
Exercícios de Revisão Redes de Computadores Edgard Jamhour. TLS/SSL, VPN PPTP e IPsec
Exercícios de Revisão Redes de Computadores Edgard Jamhour TLS/SSL, VPN PPTP e IPsec Exercício 1: Indique a função dos diferentes tipos de algoritmos usados para proteger a comunicação em redes de computadores
Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.
Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica. Prof. Dr. Eng. Fred Sauer [email protected] http://www.fredsauer.com.br Alguns cifradores simétricos: DES, 3DES
Autenticação por par de. chaves assimétricas. Bruno Follmann
Autenticação por par de 1 chaves assimétricas Bruno Follmann 2 Criptografia assimétrica Criada em 1976 por Diffie e Hellman; Também chamada de criptografia de chave pública; Sistema para cifrar e decifrar
Técnicas de criptografia. Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos
Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos 1 Criptografia Estudo de ferramentas e técnicas matemáticas relacionadas com aspectos relativos
Nome: Nº de aluno: Exame 1ª chamada (perguntas impar) / Repescagem 1º teste / Repescagem 2º teste SRC /07/04 1º teste
Exame 1ª chamada (perguntas impar) / Repescagem 1º teste / Repescagem 2º teste SRC - 2007/07/04 1º teste 1. Na Internet os ataques DDoS podem ser minimizados: Não aceitando mensagens ICMP message too big
Modelos para Autenticação e. Mecanismos para Autenticação
Modelos para Autenticação e Geração de Chaves 1 Mecanismos para Autenticação Password A autenticação é baseada no envio de um par de A para B B verifica se a password corresponde aquela
Exercícios de Revisão Redes de Computadores Edgard Jamhour. SSL, VPN PPTP e IPsec
Exercícios de Revisão Redes de Computadores Edgard Jamhour SSL, VPN PPTP e IPsec Auxilio para as questões 1 e 2 Criptografia Assimétrica: (ou de chave Pública) - Usa chaves diferentes para criptografar
Segurança da Informação Aula 8 Certificação Digital
Segurança da Informação Aula 8 Certificação Digital Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br [email protected] 1/18 Introdução Uma vulnerabilidade não resolvida até aqui: Suponha que Bob e
Segurança e Auditoria de Sistemas. Confiança Mútua Assinatura Digital Certificado Digital
Segurança e Auditoria de Sistemas Confiança Mútua Assinatura Digital Certificado Digital Motivação O que acontece quando uma informação vem de uma origem não confiável? Qual a importância da autenticidade
Introdução à Segurança e Primitivas Criptográficas
Introdução à Segurança e Primitivas Criptográficas November 17, 2009 Sumário Introdução Criptografia Primitivas Criptográficas Encriptação com Chave Partilhada Encriptação com Chave Pública Funções de
AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 03/03/2016 PROF. FABIANO TAGUCHI
03/03/2016 PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com CRIPTOGRAFIA E SEGURANÇA DE DADOS AULA 08 CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 1 CONCEITOS DA TECNOLOGIA CRIPTOGRAFIA ASSIMÉTRICA
Exercícios de Revisão Redes de Computadores Edgard Jamhour. Criptografia, VPN, IPsec Protocolos de Roteamento
Exercícios de Revisão Redes de Computadores Edgard Jamhour Criptografia, VPN, IPsec Protocolos de Roteamento Exercício 1: Relacione FUNÇÃO ( ) Utiliza chaves diferentes para criptografa e descriptografar
M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações
M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações Prof. Fernando Augusto Teixeira 1 Agenda da Disciplina Certificado Digital e suas aplicações Segurança Criptografia Simétrica Criptografia
NOÇÕES DE INFORMÁTICA. Segurança da Informação Certificação Digital Parte 1
NOÇÕES DE INFORMÁTICA Segurança da Informação Certificação Digital Parte 1 Pilares da Segurança da Informação A segurança de informações é aqui caracterizada como a preservação de: confidencialidade, integridade
Resumo Segurança em Redes de Computadores
Resumo Segurança em Redes de Computadores Capítulo 2 Criptografia simétrica - princípios Criptografia simétrica algoritmos Cifragem em stream e RC4 Modos de operação de cifragem em blocos Localização de
Segurança em Redes de Computadores
Segurança em Redes de Computadores Capítulo 2 Criptografia Simétrica e Confidencialidade de Mensagem Slides por H. Johnson & S. Malladi; Modificados por S. J. Fritz, 2006; Modificados e traduzidos por
Entendendo a criptografia e como ela pode ser usada na prática. Italo Valcy Universidade Federal da Bahia CERT.
Entendendo a criptografia e como ela pode ser usada na prática Italo Valcy Universidade Federal da Bahia CERT.Bahia PoP-BA/RNP Conceitos iniciais Criptografia (kryptós, escondido,
Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019
Criptografia Criptografia de Chave Pública Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019 Parte I Criptografia de chave pública Cifras de chave pública Esquemas híbridos Cifra RSA Cifra ElGamal Segurança
Segurança em Redes de Computadores
Segurança em Redes de Computadores Capítulo 4 Aplicações de Autenticação Slides por H. Johnson & S. Malladi; Modificados por S. J. Fritz, 2006 Modificados e traduzidos por P.S. Nicolletti, 2007; Modificados
PTC Aula 20. (Kurose, p ) (Peterson, p ) 14/06/ Princípios de criptografia
PTC 2550 - Aula 20 5.2 Princípios de criptografia (Kurose, p. 587-626) (Peterson, p. 444-454) 14/06/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All Rights Reserved Capítulo
Gestão de chaves assimétricas
Gestão de chaves assimétricas André Zúquete Segurança Informática e nas Organizações 1 Problemas a resolver Assegurar uma geração apropriada dos pares de chaves Geração aleatória de valores secretos Aumentar
Geração de um certificado SSL (Secure Socket Layer) em RV120W e em RV220W
Geração de um certificado SSL (Secure Socket Layer) em RV120W e em RV220W Objetivo Um certificado SSL (Secure Socket Layer) é usado firmemente enviando dados sobre o Internet. Entre Certificados SSL você
Segurança em Redes Aula 7 Luiz Fernando Rust INMETRO Tel. (021)
Segurança a em Redes Aula 7 Luiz Fernando Rust e-mail: INMETRO Tel. (021) 2679-9072 [email protected] [email protected] 111 Assinatura Digital, Certificação e PKI Assinatura Digital Certificado Digital
Protocolo Kerberos. JML
Protocolo Kerberos Origem do termo: mitologia grega Cerberus (Kerberus para os gregos) é um cão com três cabeças que tem por missão proteger a entrada do inferno de Hades (deus do submundo e das riquezas
PTC Aula Autenticação do ponto final 5.5 Exemplo de aplicação: tornando o seguro. (Kurose, p ) (Peterson, p.
PTC 2550 - Aula 22 5.4 Autenticação do ponto final 5.5 Exemplo de aplicação: tornando o e-mail seguro (Kurose, p. 587-626) (Peterson, p. 444-454) 23/06/2017 Muitos slides adaptados com autorização de J.F
Segurança e Auditoria de Sistemas. Professor Emiliano S. Monteiro
Segurança e Auditoria de Sistemas Professor Emiliano S. Monteiro Conceitos Criptografia: processo de criação e uso de códigos para assegurar a transmissão de informações Criptografia: converter a mensagem
AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 23/04/2016 PROF. FABIANO TAGUCHI
23/04/2016 PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com CRIPTOGRAFIA E SEGURANÇA DE DADOS AULA 08 CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 1 CONCEITOS DA TECNOLOGIA CRIPTOGRAFIA ASSIMÉTRICA
Configurar Virtual Private Network (VPN) avançado Setup no Firewall RV110W
Configurar Virtual Private Network (VPN) avançado Setup no Firewall RV110W Objetivo O Virtual Private Network (VPN) usa a rede pública, ou o Internet, para estabelecer uma rede privada para comunicar-se
Segurança em Redes - 3
Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Segurança em Redes - 3 Luiz Fernando Rust e-mail: INMETRO Tel. (021) 2679-9072 [email protected] [email protected] 11 Criptografia
Virtual Private Network (VPN)
Virtual Private Network (VPN) Daniel Gurgel CCNP CCDP CCIP RHCE [email protected] Introdução a VPN Networks Provem conexão segura na Internet com usuários e escritórios remotos. Depois de conectados,
Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019
Criptografia Criptografia de Chave Pública Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019 Parte I Criptografia de chave pública Pressupostos Computacionais Nas aulas anteriores vimos diversas primitivas
