YAK (criptografia) - YAK (cryptography)

O YAK é um protocolo de acordo de chave autenticado de chave pública , proposto por Feng Hao em 2010. Ele é considerado o protocolo de troca de chave autenticado mais simples entre os esquemas relacionados, incluindo MQV , HMQV, protocolo Station-to-Station , SSL / TLS etc. A autenticação é baseada em pares de chaves públicas. Tal como acontece com outros protocolos, o YAK normalmente requer uma infraestrutura de chave pública para distribuir chaves públicas autênticas para as partes que se comunicam. A segurança do YAK é contestada (veja abaixo e a página de discussão ).

Descrição

Duas partes, Alice e Bob, concordam em um grupo com gerador de ordem primária em que o problema de log discreto é difícil. Normalmente, um grupo Schnorr é usado. Em geral, o YAK pode usar qualquer grupo de ordem principal que seja adequado para criptografia de chave pública, incluindo criptografia de curva elíptica . Seja a chave pública de longo prazo de Alice e seja a de Bob. O protocolo é executado em uma rodada :

Alice seleciona e envia junto com uma prova de conhecimento zero (usando, por exemplo, prova de conhecimento zero não interativa Schnorr conforme descrito em RFC 8235) para a prova do expoente . Da mesma forma, Bob seleciona e envia junto com uma prova de conhecimento zero para a prova do expoente . Aqui, a notação denota um elemento selecionado aleatoriamente com probabilidade uniforme .

A comunicação acima pode ser concluída em uma rodada, pois nenhuma das partes depende da outra. Quando termina, Alice e Bob verificam as provas de conhecimento zero recebidas . Alice então calcula . Da mesma forma, Bob calcula . Com o mesmo material de chaves , Alice e Bob pode derivar uma chave de sessão usando uma função hash criptográfico : .

Propriedades de segurança

O uso de primitivas de prova de conhecimento zero bem estabelecidas, como o esquema de Schnorr, simplifica muito as provas de segurança. Dado que a primitiva de prova de conhecimento zero subjacente é segura, o protocolo YAK visa satisfazer as seguintes propriedades.

  1. Segurança de chave privada - um invasor não pode aprender a chave privada estática do usuário, mesmo se puder aprender todos os segredos específicos da sessão em qualquer sessão comprometida.
  2. Sigilo de encaminhamento - As chaves de sessão que foram estabelecidas com segurança em sessões anteriores não corrompidas permanecerão incomputáveis ​​no futuro, mesmo quando as chaves privadas estáticas de ambos os usuários forem divulgadas.
  3. Segurança de chave de sessão - um invasor não pode computar a chave de sessão se ele se passar por um usuário, mas não tiver acesso à chave privada do usuário.

As declarações de segurança no artigo YAK original são baseadas na suposição de Diffie-Hellman Computacional em um modelo de oráculo aleatório .

Criptanálise

Em 2015, Toorani mencionou que "o protocolo YAK carece de controle de chave conjunta e atributos de sigilo de encaminhamento perfeito e é vulnerável a alguns ataques, incluindo compartilhamento de chave desconhecido e ataques de replicação de chave", para o qual Hao tem uma opinião diferente.

Em 2020, Mohammad mencionou que o protocolo YAK não pode resistir ao conhecido ataque de segurança de chave que leva a um novo ataque de personificação de comprometimento de chave, onde um adversário tem permissão para revelar a chave secreta estática compartilhada entre duas partes e a chave privada efêmera do iniciador. O autor também propôs um protocolo melhorado para remediar esses ataques e os ataques anteriores mencionados por Toorani no protocolo YAK, e o protocolo proposto usa um mecanismo de verificação que fornece autenticação de entidade e confirmação de chave. O autor mostrou que o protocolo proposto é seguro no modelo de segurança formal proposto sob a suposição de gap de Diffie ‐ Hellman e a suposição de oráculo aleatório. Além disso, a segurança do protocolo proposto e os ataques ao protocolo YAK foram verificados pela ferramenta Scyther. O artigo de Mohammad é discutido na página de discussão .

Referências

  1. ^ Hao, Feng (2010). "Acordo de chave robusta com base na autenticação de chave pública" (PDF) . Criptografia Financeira e Segurança de Dados, LNCS 6052 . 14ª Conferência sobre Criptografia Financeira e Segurança de Dados. Tenerife, Espanha. pp. 383–390.
  2. ^ a b c Hao, Feng (18 de abril de 2012). "No acordo de chave robusto com base na autenticação de chave pública" (PDF) . Redes de segurança e comunicação . 7 (1): 77–87. doi : 10.1002 / seg.550 . ISSN   1939-0122 .
  3. ^ Toorani, Mohsen (30 de outubro de 2015). "Criptoanálise de um acordo de chave robusto baseado na autenticação de chave pública" . Redes de segurança e comunicação . 9 : 19–26. doi : 10.1002 / sec.1373 . ISSN   1939-0122 .
  4. ^ Hao, Feng (2019). "Comentários sobre 'Cryptanalysis de um acordo de chave robusto baseado em autenticação de chave pública ' " (PDF) . Retirado em 22 de setembro de 2019 .
  5. ^ Mohammad, Zeyad (11 de março de 2020). "Criptoanálise e melhoria do protocolo YAK com prova de segurança formal e verificação de segurança via Scyther" . Revista Internacional de Sistemas de Comunicação . 33 (9): e4386. doi : 10.1002 / dac.4386 . ISSN   1099-1131 .