Proteger o MAC quando o adversário tiver um oráculo de verificação


8

Um código de autenticação de mensagem (MAC) é definido por um triplo de algoritmos eficientes , que satisfazem o seguinte (a definição é a da secção 4.3 dolivro Katz-Lindell) :(Gen,MAC,Verif)

  • Na entrada , o algoritmo G e n gera uma chave1nGen .kn
  • Na entrada gerada por G e n , e em alguma mensagem m { 0 , 1 } , o algoritmo M A C gera um tag t . Escrevemos t M A C k ( m ) .kGenm{0 0,1}MUMACttMUMACk(m)
  • Na entrada a triplo , o algoritmo V e r i f gera um único bit b . Escrevemos b V e r i f k ( m , t ) .(k,m,t)VerEufbbVerEufk(m,t)

É necessário que, para toda saída de G e n e todos m { 0 , 1 } , tenhamos V e r i f k ( m , M A C k ( m ) )kGenm{0 0,1} .VerEufk(m,MUMACk(m))=1

O requisito de segurança é definido através do seguinte experimento, entre o desafiante e o adversário UMA :

  1. .kGen(1n)
  2. .(m,t)UMAMUMACk()(1n)
  3. Deixe denotar o conjunto de todas as consultas que A pediu ao seu oráculo.QUMA
  4. O resultado da experiência é definido como 1 se e somente se:
    • , eVerEufk(m,t)=1
    • .mQ

O MAC é considerado seguro se a probabilidade de que o experimento produz 1 seja insignificante em .n


O experimento acima se assemelha a um experimento de "texto simples escolhido" em relação a um esquema de criptografia simétrica, onde o adversário pode obter textos cifrados correspondentes às mensagens de sua escolha. Em um ataque mais poderoso, chamado de "texto cifrado escolhido", o adversário também tem acesso a um oráculo de descriptografia.

Então, minha pergunta é:

O que acontece se permitirmos que o adversário do MAC acesse também um oráculo de verificação? Em outras palavras, e se a linha 2 do experimento for substituída pelo seguinte:

.(m,t)UMAMUMACk(),  VerEufk(,)(1n)

Observe que, no novo experimento, inclui apenas as consultas A feitas pelo oráculo M A C k .QUMAMUMACk


Respostas:


6

Se houver um código de autenticação de mensagem segura de acordo com uma das definições,
existe um sistema que a definição do livro classifica como segura
código de autenticação de mensagens e sua definição como insegura.

Deixei Gen,MAC,Verif esteja seguro de acordo com qualquer uma das definições. Como a definição do livro
é mais fraca que a sua definição, ela é particularmente segura de acordo com a definição do livro.
Corrija uma codificação eficientemente computável e invertível de
pares ordenados, por exemplo, concatenando uma representação livre de prefixos, computável de forma
eficiente e invertível de forma eficiente, da entrada esquerda para a entrada direita. Deixe o MAC k
MACk Trabalhe emparelhando a saída do com a string vazia. Vamos Verif kMACk
Aceite se e somente se [[o Verif k aceitaria a mensagem e a entrada esquerda da tag] e [a entrada direita da entrada é um prefixo de k ]].VerifkVerifk
k Gen,MAC,Verif é claramente eficiente e satisfaz a exigência. Desde [emparelhar as tags com a string vazia para]
e [pegar a entrada esquerda da saída de] um adversário viável atacando a
definição do livro de segurança deGen,MAC,Verifnão pode ter uma probabilidade não negligenciável
de violar a definição de segurança do livro paraGen,MAC,Verif, a
definição do livro também classificaGen,MAC,Verifcomo um código de autenticação de mensagem segura.
No entanto, quando um adversário obtém um par válido de tag de mensagem para ,k2(comprimento(k)+1)
consultas adaptáveis ​​ao É suficiente para aprender kVerifkk, o que permitiria falsificações em qualquer mensagem.
Assim, sua definição classificaGen,MAC,Verif inseguro. QED



As fortes versões de imperdoabilidade das duas definições são equivalentes.


(As versões "forte unforgeability" são obtidos através da substituição de com o conjunto Q + dado na minha próxima frase, e que é necessário para tornar a cifrar-then-macQ
Q+
construção fornecer integridade texto cifrado e ser IND-CCA2.)

Inicializar Q+ como o conjunto vazio e coloque m,t para dentro cada vez que o MAC k gera t em uma consulta de m . Defina uma consulta paratentarse, e somente se, estiver enviando paraQ+
MACktm

Verifk um par que já foi colocado Q+.
Defina uma consulta para tentar com antecedência se, e somente se, estiver tentando e
não veio depois de qualquer consulta de tentativa queVerifkaceitaram.


BMACk()(1n,q,j)interage com seguinte maneira:UMA

Usando menos de bits aleatórios, escolhajr{1,2,3,...,q-2,q-1,q}quase uniformemente.
"Encaminhar" todos os 'sUMAMACk() consultas para MACk()e dê a
saída (real) desse oráculo para , dê 0 como as saídas no primeiro até rUMA0 0 tentando consultas e forneça 1 como as saídas der-1
1Verifkem consultas que não estão tentando.
E seUMAMACk(),Verifk(,)(1n)faz uma ésima tentativa de consulta e depois gera o que era essa consulta. E ser
UMAMACk(),Verifk(,)(1n)dá saída, então dê a mesma saída.


Com a aleatoriedade de tudo fixa, seUMAMACk(),Verifk(,)(1n) faz exatamente r-1 tentativas antecipadas e obtém sucesso na versão forte e imperdoável de sua experiência,
BUMA,MACk()(1n,q,j) consegue o experimento do livro da versão imperdoável.

Portanto, é uma redução linear construtiva do êxito na versão forte da imperdoabilidade de seu experimento com probabilidade de pelo menos ϵ de uma maneira que faz menos de q consultas de tentativa inicial, para o sucesso na versão forte de imperdoabilidade do experimento do livro com probabilidade Maior queBϵ
q
(1q-q2^j)ϵ.
B usa menos de bits aleatórios, tem que lidar com inserções e testes deassociação para [um conjunto com menos de q elementos, cada um dos quais é um par ordenado cuja entrada esquerda é uma das consultas do algoritmo interno paraj
q
MACke cuja entrada direita é
MACké resposta a essa consulta] e possui apenas complexidade adicional trivial além disso.

Claramente, "ignorar o oráculo da " é uma redução linear construtiva, de suceder na versão forte de imperdoabilidade do experimento do livro para suceder na versão forte de imperdoabilidade de seu experimento, e essa redução é quase perfeita. Portanto, a versão forte e imperdoável de sua definição fornece os mesmos MACs assintóticos que a versão forte e imperdoável do experimento do livro. Verifk






Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.