2010-01-13 3 views
0

Est-ce que quelqu'un connaît un protocole simple d'authentification et de transfert de données basé uniquement sur des clés symétriques? En raison de contraintes de mémoire (RAM et ROM de kilo-octets), nous ne pouvons pas nous permettre une cryptographie asymétrique et, en raison de l'environnement fermé, la cryptographie asymétrique n'augmente en rien la sécurité.
Je cherche un protocole de cryptographie symétrique simple qui peut être gardé en tête et écrit sur une feuille de papier. Je cherchais dans EAP-PSK http://tools.ietf.org/html/rfc4764#page-4 mais pense toujours que 2^6 pages est beaucoup pour quelque chose de simple et sécurisé.Protocole d'authentification de clé symétrique

Est-ce que quelqu'un connaît un URL, un papier ou une idée utile?

Répondre

1

Pour le secret, utiliser AES-CBC . Pour l'authentification des messages, utilisez HMAC-SHA256. Utilisez une clé différente pour chacun.

Dans les deux cas, utilisez une implémentation existante, validée, sans attaque temporelle des primitives cryptographiques.

+0

L'utilisation de HMAC seul pour l'authentification des messages n'est bien sûr pas sécurisée, car elle permet des attaques de rejeu. Au contraire, le protocole proposé par le PO protège notamment contre de telles attaques. – abc

+0

OK c'est une bonne idée. Les deux parties s'envoient des jetons aléatoires, puis elles renvoient HMAC (pass, token) comme authentification. Pour le transfert de données AES-CBC. IV pour CBC peut être XORe de jetons décryptés. Ai-je manqué quelque chose? –

+0

Pour garantir la fraîcheur des messages, vous devez inclure un numéro de séquence dans les messages. Si vous utilisez cette méthode, le mot de passe doit être une clé générée aléatoirement (* pas * un mot de passe choisi par l'utilisateur, car si vous capturez un message et que le HMAC peut effectuer une attaque de dictionnaire hors ligne). – caf

1

Je pense que vous êtes à la recherche de l'échange de clés Diffie-Hellman: ne nécessite que l'arithmétique entière bignum (pouvoirs, multiplication et module seulement, à ce): http://en.wikipedia.org/wiki/Diffie -Hellman_key_exchange

+0

Je connais Diffie-Hellman mais pour autant que je sache, il ne se protège que contre un attaquant passif et il y a encore besoin d'une certaine forme d'authentification. –

+0

Utilisez DH pour obtenir une clé, et un mot de passe haché salé transmis sous un cryptage symétrique pour l'authentification. Je pense que l'étude des conceptions de SSH et HIP http://www.ietf.org/html.charters/hip-charter.html serait une très bonne idée. Les deux protocoles sont un peu compliqués, mais la conception crypto est ce que vous recherchez. –

+0

Aussi Diffie-Hellman est un système de cryptographie à clé publique, qui a probablement besoin de trop de ressources. – abc

Questions connexes