Bonsoir Vincent,
J'ai regardé (vite fait) le RFC4253 et justement il fait référence au rfc3447
https://datatracker.ietf.org/doc/html/rfc3447#section-8.2
Also, in the encoding
method EMSA-PKCS1-v1_5, a hash function identifier is embedded in the
encoding. Because of this feature, an adversary trying to find a
message with the same signature as a previously signed message must
find collisions of the particular hash function being used; attacking
a different hash function than the one selected by the signer is not
useful to the adversary.
https://datatracker.ietf.org/doc/html/rfc2437#section-9.2.1
Je ne suis pas sur d'avoir bien tout compris mais il semble bien que le fameux algo de
hash sha1 ou sha2-256 ou autre soit inclus dans le "rsa_signature_blob"
Bref, comme tout ce qui a l'air simple, en fait, c'est hyper compliqué
Quoi qu'il en soit, le présent fil de discussion est motivé par le problème
suivant :
J'ai une clé rsa de longue date utilisée sur une foule d'équipements mikrotik,
et ça marche très bien jusqu'a ROS v7.2.3
aug/30 01:23:26 ssh,debug agreed on:
diffie-hellman-group-exchange-sha256
rsa-sha2-256
aes128-ctr aes128-ctr
hmac-sha1 hmac-sha1
none none
aug/30 01:23:26 ssh,debug auth req: pierre ssh-connection publickey
aug/30 01:23:26 ssh,debug auth retry: 1
aug/30 01:23:26 ssh,debug pki algorithm: ssh-rsa
aug/30 01:23:26 ssh,info publickey accepted for user: pierre
Après update en v7.4, ça ne marche plus
aug/30 01:38:01 ssh,debug agreed on:
diffie-hellman-group-exchange-sha256,
rsa-sha2-256,
aes128-ctr, aes128-ctr,
hmac-sha1, hmac-sha1,
none, none
aug/30 01:38:02 ssh,debug auth req: pierre ssh-connection publickey
aug/30 01:38:02 ssh,debug auth retry: 1
aug/30 01:38:02 ssh,error signature differs for user: pierre
Après génération d'une nouvelle clé et sans changer aucune autre option tant
sur le serveur que sur le client
aug/30 01:42:41 ssh,debug agreed on:
diffie-hellman-group-exchange-sha256,
rsa-sha2-256,
aes128-ctr, aes128-ctr,
hmac-sha1, hmac-sha1,
none, none
aug/30 01:42:41 ssh,debug auth req: pierre ssh-connection publickey
aug/30 01:42:41 ssh,debug auth retry: 1
aug/30 01:42:41 ssh,debug pki algorithm: rsa-sha2-256
aug/30 01:42:41 ssh,info publickey accepted for user: pierre
Donc, si par exemple on a une clé de ce type là.
Si on a tout desactivé sauf ssh
et si on a laisse
/ip ssh set always-allow-password-login=no
qui est la valeur par défaut
et bien après upgrade en RoS 7.4, on est beuzeuh ! c'est bon pour un factory
reset !
On 30/08/2022 00:02, Vincent Bernat wrote:
On 2022-08-29 23:13, Pierre Colombier via frnog wrote:
En d'autres termes, quand il y a bien longtemps, sur une debian 8 far
far away, j'ai fait un
ssh-keygen -t rsa -b 4096
ou bien aujourd'hui sur une debian 11
ssh-keygen -t rsa-sha2-256 -b 4096
C'est exactement pareil que -t rsa ou -t ssh-rsa car une clef RSA, ce
sont deux nombres. Il n'y a pas de hash. Le -t rsa-sha2-256 est
utilisé quand on signe des clefs avec un certificat.
je crée toujours une clé rsa de 4096 bits, j'ai bien toujours un
fichier id_rsa.pub qui a le même format et commence par "ssh-rsa",
mais par contre, il y a bien une différence, car quand bien même le
client ssh serait récent, la première a cessé d'être acceptée par les
serveur ssh récents, alors que la seconde fonctionne bien.
donc, le "public key blob" quand bien même il ne change pas de
format, embarque bien quelque chose qui est basé sur un hash sha1 ou
sha256 (ou autre).
Refait la même chose avec -t ssh-rsa et cela fonctionnera aussi. Ce
n'est pas pour ça que ta clef n'est plus acceptée. C'est soit qu'elle
est trop petite, soit que ce n'est pas elle qui est dans le known hosts.
Ou alors, le "blob" contient juste la clé publique + une étiquette
qui dit quel algo de hash on est sensé employer et dans ce cas
j'aurais bien aimé modifier mon fichier .pub pour employer le nouvel
algo tout en gardant la même clé. ça me rendrait la migration
beaucoup plus simple.
Nope. Le format est dans la RFC 4253. Ce sont deux nombres encodés.
https://datatracker.ietf.org/doc/html/rfc4253#section-6.6
---
Liste de diffusion du FRnOG
http://www.frnog.org/
---
Liste de diffusion du FRnOG
http://www.frnog.org/