< Return to Video

Macs baseados em PRF (10 min)

  • 0:00 - 0:04
    Agora que sabemos o que MACs são, vamos em frente e construir nossos primeiros MACs seguras.
  • 0:04 - 0:08
    Primeiro quero lembrá-lo que um MAC é um par de algoritmos. A primeira é uma sessão de autógrafos
  • 0:08 - 0:13
    algoritmo que é dada uma mensagem e uma chave irá gerar uma etiqueta correspondente eo
  • 0:13 - 0:17
    segundo é algoritmos de verificação é dada uma mensagem de chave e um tag enquanto
  • 0:17 - 0:22
    saídas zero ou um, dependendo se a etiqueta é válido ou não. E nós dissemos que
  • 0:22 - 0:26
    um MAC é seguro se é existencialmente falsificáveis em um ataque de mensagem escolhida.
  • 0:26 - 0:31
    Em outras palavras, os atacantes permitem montar um ataque mensagem escolhida onde ele pode
  • 0:31 - 0:35
    enviar mensagens arbitrárias de sua escolha e obter as marcas correspondentes para
  • 0:35 - 0:40
    essas mensagens, e depois, apesar da capacidade de gerar etiquetas arbitrárias A
  • 0:40 - 0:44
    atacante não pode criar um par de mensagem de marca-novo que não foi dado a ele
  • 0:44 - 0:48
    durante o ataque mensagem escolhida. Ok então já vimos esta definição, no
  • 0:48 - 0:52
    último segmento e agora a questão é como vamos construir MACs seguras? Assim, o primeiro
  • 0:52 - 0:57
    exemplo, eu quero te dar é, basicamente, mostrando que qualquer PRF seguro diretamente dá
  • 0:57 - 1:02
    -nos um MAC seguro também. Então vamos ver como fazemos. Assim, suponha que temos um pseudo
  • 1:02 - 1:07
    função aleatória para a função pseudo-aleatório e tem entradas e saídas em X
  • 1:07 - 1:12
    Y. E vamos definir o MAC seguinte. Então, a nossa forma de assinar 'M' é basicamente uma mensagem
  • 1:12 - 1:17
    , basta avaliar a função de 'M' o ponto Assim, a tag para a mensagem M é
  • 1:17 - 1:21
    simplesmente o valor da função no ponto M e em seguida, a maneira como verificar uma
  • 1:21 - 1:26
    mensagem para que o par é por recomputing o valor da função na mensagem M e
  • 1:26 - 1:30
    verificação se que é igual à tag que nos foi dado. Nós dizemos que sim, se assim e nós
  • 1:30 - 1:35
    rejeitar o contrário. Então aqui você tem basicamente em imagens que, quando Alice quer
  • 1:35 - 1:39
    para enviar uma mensagem para Bob, ela calcula uma tag pelo valor da PRF e então ela
  • 1:39 - 1:43
    acrescenta esta tag com a mensagem, Bob recebe o par guia correspondente, ele
  • 1:43 - 1:48
    recomputes o valor da função e testa se a etiqueta dada é realmente
  • 1:48 - 1:53
    igual ao valor da função no ponto M. Então, vamos olhar para um mau exemplo de
  • 1:53 - 1:58
    esta instrução. E assim supor que temos uma função pseudo-aleatório que acontece
  • 1:58 - 2:03
    para a saída de apenas 10 bits. Ok, então esta é uma função pseudo-aleatória bem e isso só
  • 2:03 - 2:08
    Acontece que para 'M' qualquer mensagem que ele só gera 10 valor bits. A minha pergunta
  • 2:08 - 2:12
    para você é se usar 'F' esta função para construir um MAC, é que vai ser um
  • 2:12 - 2:17
    MAC é seguro? Portanto, a resposta é não, este MAC é inseguro. Em particular, porque o
  • 2:17 - 2:21
    tags são muito curta. Por isso, considero o adversário seguinte simples. O que o
  • 2:21 - 2:26
    adversário vai fazer é simplesmente escolher uma mensagem arbitrária M e apenas acho que a
  • 2:26 - 2:31
    valor do MAC para que a mensagem particular. Agora, porque a etiqueta só é 10
  • 2:31 - 2:35
    bits de comprimento, o adversário tem a chance de um em cada dois a 10 em adivinhar o MAC
  • 2:35 - 2:40
    corretamente. Em outras palavras, a vantagem de o adversário supondo, um distintamente
  • 2:40 - 2:44
    palpites tag aleatória para uma determinada mensagem. Que o adversário vai ter um
  • 2:44 - 2:49
    vantagem contra o mac que é basicamente um espaço de dois a dez, que é uma mais
  • 2:49 - 2:53
    mil 24 e que é definitivamente não negligenciável. Assim, o adversário
  • 2:53 - 2:57
    basicamente vai conseguir forjar o mac em uma determinada mensagem com probabilidade um
  • 2:57 - 3:02
    em mil que é inseguro. No entanto, acontece que este é o único exemplo que
  • 3:02 - 3:06
    onde as coisas podem dar errado, só quando a saída da função é pequena lata coisas
  • 3:06 - 3:11
    dar errado. Se a saída do PRF é grande, então obtemos um MAC seguro para fora deste
  • 3:11 - 3:14
    função. E vamos indicar o teorema de segurança aqui. Assim, suponha que temos um
  • 3:14 - 3:18
    'F' função que recebe as mensagens em 'X' e produz etiquetas em 'Y', então o MAC
  • 3:18 - 3:23
    que é derivado dessa PRF na verdade é um MAC segura. Em particular, se você olhar para
  • 3:23 - 3:27
    teorema de segurança aqui, você vai ver muito claramente os limites da época, em outras palavras
  • 3:27 - 3:31
    desde a PRF é seguro sabemos que essa quantidade aqui é insignificante. E assim se
  • 3:31 - 3:35
    quer esta quantidade para ser insignificante, é isso que queremos, queremos dizer que não
  • 3:35 - 3:40
    adversário pode derrotar o MAC 'Eu sub F', que implica que queremos que esta quantidade de
  • 3:40 - 3:44
    ser insignificante, em outras palavras, queremos que o espaço de saída a ser grandes. E assim por
  • 3:44 - 3:48
    exemplo, tomar um PRF que produz oitenta bits é perfeitamente bem. Que vai gerar
  • 3:48 - 3:52
    um 80 bits MAC e, portanto, a vantagem de qualquer adversário será no máximo
  • 3:52 - 3:57
    um sobre dois para o 80. Então, agora a prova deste teorema é muito simples, então vamos
  • 3:57 - 4:01
    apenas ir em frente e fazê-lo. Então, na verdade vamos começar dizendo que supor em vez de um
  • 4:01 - 4:05
    PRF temos uma função verdadeiramente aleatório partir do espaço mensagem para o espaço tag de modo que este
  • 4:05 - 4:10
    é apenas uma função aleatória de X para Y que é escolhido aleatoriamente do conjunto de
  • 4:10 - 4:15
    todas essas funções. Agora vamos ver se essa função pode nos dar um mac seguro. Então, o que
  • 4:15 - 4:20
    o adversário diz é: 'Eu quero um tag no M1 mensagem ". O que ele recebe de volta é o
  • 4:20 - 4:24
    tag que só acontece de ser a função avaliada no ponto M1. Observe que há
  • 4:24 - 4:28
    chave nenhuma aqui porque F é apenas uma função verdadeiramente aleatório de X a Y. E então o
  • 4:28 - 4:33
    adversário começa a escolher uma mensagem de M2 e ele obtém a marca de M2, que ele escolher
  • 4:33 - 4:37
    M3, M4 até MQ e ele obtém todas as tags correspondentes. Agora seu objetivo é
  • 4:37 - 4:41
    produzir um par de tags mensagem e dizemos que ele ganha, lembre-se que esta é uma
  • 4:41 - 4:46
    falsificação existencial, por outras palavras, antes de tudo T tem de ser igual a F de M Esta
  • 4:46 - 4:50
    significa que 'T' é uma tag válida para 'M' da mensagem. E em segundo lugar, o
  • 4:50 - 4:55
    mensagem 'M' tem que ser novo. Então, 'M' a mensagem de que é melhor não ser um dos M-um a MQ.
  • 4:55 - 4:59
    Mas vamos pensar sobre isso por um minuto, o que significa isso? Assim, o
  • 4:59 - 5:04
    adversário tem que ver o valor de uma função verdadeiramente aleatório nos pontos M-um para MQ
  • 5:04 - 5:09
    e agora ele? s supor para prever o valor desta função como algum ponto novo, M
  • 5:09 - 5:13
    No entanto, para uma função verdadeiramente aleatório, o valor da função no ponto M é
  • 5:13 - 5:18
    independente de seu valor no M-1 aponta para MQ. Então o melhor que o adversário pode fazer
  • 5:18 - 5:23
    em prever o valor da função no ponto M é apenas adivinhar o valor,
  • 5:23 - 5:27
    porque ele não tem informações sobre o F de M. E como resultado a sua vantagem se ele
  • 5:27 - 5:32
    adivinha o valor da função no ponto M, ele vai adivinhar direito com
  • 5:32 - 5:36
    probabilidade exatamente um sobre o Y. E, então, a marca que ele produziu será correta
  • 5:36 - 5:41
    com probabilidade exatamente um sobre o Y. Ok, mais uma vez que não tinha informações sobre o
  • 5:41 - 5:45
    valor da função de M e por isso o melhor que ele poderia fazer é adivinhar. E se adivinha,
  • 5:45 - 5:49
    ele vai acertar com probabilidade um sobre Y. E agora, claro, porque o
  • 5:49 - 5:54
    F de capital é uma função pseudo-aleatório O adversário vai se comportar o
  • 5:54 - 5:59
    mesmo se lhe dermos a função verdadeiramente aleatório ou a função pseudo-aleatório.
  • 5:59 - 6:03
    O adversário não pode dizer a diferença e, como resultado mesmo se usarmos um pseudo
  • 6:03 - 6:07
    função aleatória, o adversário vai ter vantagens em mais um sobre Y em
  • 6:07 - 6:11
    ganhar o jogo. Ok, então você pode ver exatamente o teorema de segurança, vamos
  • 6:11 - 6:16
    lá por apenas um segundo. Essencialmente, este é basicamente por isso que nós temos um termo de erro
  • 6:16 - 6:20
    de um sobre Y por causa do ataque de adivinhação e essa é a única maneira que o
  • 6:20 - 6:25
    atacante pode ganhar o jogo. Portanto, agora que sabemos que qualquer PRF seguro é também um seguro
  • 6:25 - 6:29
    MAC, já sabemos que temos o nosso primeiro exemplo MAC. Em particular, nós conhecemos
  • 6:29 - 6:34
    que AES, ou, pelo menos, acreditamos que AES é uma PRF segura, por conseguinte, uma vez que AES
  • 6:34 - 6:38
    tem dezesseis entradas de bytes, o direito do espaço mensagem para AES é 128 bits, o que
  • 6:38 - 6:43
    é de dezesseis bytes. Portanto, a cifra AES essencialmente nos dá um MAC que pode corresponder
  • 6:43 - 6:48
    mensagens que são exatamente dezesseis bytes. Ok, então esse é o nosso primeiro exemplo de uma
  • 6:48 - 6:53
    MAC. Mas agora a questão é se temos uma PRF para entradas pequenas como AES que só
  • 6:53 - 6:59
    atua em dezesseis bytes, podemos construir um MAC para mensagens grandes, que podem atuar em gigabytes
  • 6:59 - 7:02
    de dados? Às vezes eu chamo este problema, o McDonalds. Basicamente dada uma
  • 7:02 - 7:06
    MAC pequeno e vamos construir um Big Mac de fora. Em outras palavras, dado um MAC para pequena
  • 7:06 - 7:10
    mensagens e que construímos um MAC para mensagens grandes. Então, vamos olhar para dois
  • 7:10 - 7:15
    construções para o fazer. O primeiro exemplo é chamado um MAC CBC que novamente
  • 7:15 - 7:19
    leva PRF para pequenas mensagens como entrada e produz uma PRF para muito grande
  • 7:19 - 7:24
    mensagens. Como saídas. O segundo, vamos ver é HMAC que faz a mesma coisa
  • 7:24 - 7:28
    novamente leva um PRF para entradas pequenas e gera uma PRF para entradas muito grandes. Agora
  • 7:28 - 7:32
    os dois são utilizados em contextos muito diferentes. CBC-MAC é realmente muito
  • 7:32 - 7:36
    comumente usada no setor bancário. Por exemplo, há um sistema chamado
  • 7:36 - 7:41
    Automatic Clearing House, ACH, que os bancos usam para limpar cheques um com o outro e
  • 7:41 - 7:45
    sistema que, CBC-MAC, é utilizado para garantir a integridade dos controlos, tal como eles são
  • 7:45 - 7:49
    transferido de banco para banco. Na Internet, protocolos como SSL e IPsec e
  • 7:49 - 7:53
    SSH, aqueles HMAC todos os usos de integridade. Dois MACs diferentes e ia discuti-los
  • 7:53 - 7:57
    no próximo par de segmentos. E como eu disse também vai começar a partir de uma PRF para
  • 7:57 - 8:01
    pequenas mensagens e produzem PRF para mensagens que são gigabytes de comprimento e em
  • 8:01 - 8:06
    particular, eles podem tanto ser fundamentada com a AES como a cifra subjacente. Assim, o
  • 8:06 - 8:11
    último comentário eu quero fazer sobre estes baseado PRF MACs é que de fato o seu
  • 8:11 - 8:15
    saída pode ser truncado. Assim, suponha que temos um PRF que as saídas de N saídas bit. Assim
  • 8:15 - 8:20
    novamente para AES este seria um PRF que gera 128 bits como saídas. Sua fácil
  • 8:20 - 8:25
    lema para mostrar que de fato se você tiver um pouco PRF N se truncado, em outras palavras
  • 8:25 - 8:31
    , se você só saída primeiros bits de chave O resultado é também um seguro PRF e do
  • 8:31 - 8:37
    intuição aqui é se as grandes saídas PRF N bits de aleatoriedade para todas as entradas que você
  • 8:37 - 8:42
    dar à PRF então certamente cortar-lo e truncando-lo em pedaços T ainda é
  • 8:42 - 8:47
    vai parecer aleatória. O atacante agora recebe menos informações para seu trabalho de
  • 8:47 - 8:52
    distinguir as saídas de aleatório só se tornou mais difícil. Em outras palavras, se o
  • 8:52 - 8:57
    bit N PRF é seguro, então o bit menos de T N PRF, a PRF truncado, também
  • 8:57 - 9:01
    ser seguro. Portanto, este é um lema fácil e seguro já que qualquer PRF também nos dá uma
  • 9:01 - 9:06
    seguro MAC, o que isto significa é que se você me der um MAC que é baseado em uma PRF eo que eu
  • 9:06 - 9:11
    pode fazer é I pode truncar-lo em pedaços W, no entanto, por causa do termo de erro na
  • 9:11 - 9:15
    MAC teorema PRF baseado sabemos que truncando em pedaços W só será seguro
  • 9:15 - 9:20
    enquanto uma sobre dois para a W é negligenciável. Então, se você truncar a PRF para
  • 9:20 - 9:24
    apenas três bits, o MAC resultante não vai ser seguro. No entanto, se você
  • 9:24 - 9:29
    truncar dizer 80 bits ou talvez mesmo 64 bits, então o MAC resultante é ainda
  • 9:29 - 9:34
    vai ser um MAC segura. Ok, então a coisa a lembrar aqui é que, embora
  • 9:34 - 9:39
    usar AES para construir PRF maiores ea saída destes PRF vai ser de 128 bits,
  • 9:39 - 9:44
    isso não significa que o MAC se tem para produzir 128 etiquetas bits podemos sempre
  • 9:44 - 9:49
    truncar as saídas para 90 bits ou 80 bits, e como resultado, gostaríamos de obter ainda
  • 9:49 - 9:53
    MACs seguros, mas agora a marca de saída vai ser o tamanho mais razoável e não
  • 9:53 - 9:58
    têm que ser os completa de 128 bits. Ok, então no próximo segmento nós vamos olhar como
  • 9:58 - 9:59
    o CBC-MAC funciona.
Title:
Macs baseados em PRF (10 min)
Video Language:
English
erickshowplay added a translation

Portuguese, Brazilian subtitles

Revisions