web-dev-qa-db-fra.com

Quelles sont les différences entre les chiffrements arcfour, arcfour128 et arcfour256 dans OpenSSH?

Quelles sont les différences entre les arcfour, arcfour128 et arcfour256 chiffres dans OpenSSH?

Je m'intéresse à: les implications de vitesse et de sécurité.

Je sais que l'arcfour est rapide pour les transferts de fichiers, mais je ne sais pas lequel choisir.

23
sorin

Le chiffre "arcfour" est défini dans RFC 425 ; il s'agit d'un simple RC4 avec une clé de 128 bits.

"arcfour128" et "arcfour256" sont définis dans RFC 4345 . Ils utilisent une clé de 128 bits ou 256 bits, respectivement. De plus, et contrairement au simple "arcfour", ils incluent également une étape "discard": les tout premiers 1536 octets produits par le chiffrement sont supprimés. Cela est dû au fait que les premiers octets de sortie RC4 ont tendance à présenter des biais, qui sont rarement fatals pour votre sécurité, mais néanmoins inquiétants. "arcfour128" et "arcfour256" sont donc "plus sûrs" que "arcfour".

Notez que la taille de clé étendue d'arcfour256 ne vous rapporte pas grand-chose : une clé de 128 bits est déjà plus que suffisante pour vaincre le craquage de clé par la force brute. Une clé de 256 bits est plus pour des raisons esthétiques que rationnelles (il y a une croyance répandue parmi les auditeurs que les clés plus grandes sont toujours meilleures, tout comme il y a une croyance répandue parmi les gens en général que les voitures plus grandes sont toujours meilleures).

Notez également que la suppression des 1536 premiers octets de sortie corrige les problèmes de biais dans les 1536 premiers octets (bien sûr ...), mais ne fait rien contre les biais autres dans la sortie RC4 (RC4 la sortie peut être distinguée du caractère aléatoire après environ un gigaoctet). Là encore, ces biais ne se sont jamais révélés fatals dans aucun protocole déployé; cependant, ils "semblent mauvais" dans les conditions d'audit.

En ce qui concerne les performances, il n'y aura aucune différence, car la vitesse du RC4 ne dépend pas de la taille de la clé. Les 1536 octets supplémentaires impliqués par arcfour128 et arcfour256 induisent théoriquement un petit coût supplémentaire ponctuel, mais c'est bien en dessous de la valeur en millisecondes du CPU même sur un asthmatique intégré ARM ou Mips, ce serait donc très difficile à égaliser - détecter en pratique.

Résumé: utilisez arcfour128 lorsque cela est possible, retournez à arcfour. Utilisez arcfour256 si vous avez besoin d'impressionner les bureaucrates en crachant d'énormes nombres qu'ils ne comprendront pas, mais qui les inciteront à se soumettre.

Cependant, le réseau est généralement le goulot d'étranglement, donc même sur Gigabit Ethernet, les chiffrements basés sur AES devraient fournir la même vitesse réelle que RC4, et avec une meilleure sécurité sans doute (même dans la vue biaisée des auditeurs) . En cas de doute, mesurez; ne croyez pas qu'un chiffre soit plus rapide qu'un autre parce que vous le lisez comme un vieux savoir qui a été pensé à une époque où un PentiumPro était le sommet de la technologie basée sur la Terre.

27
Thomas Pornin