Saltar al contenido
ecdsa.com

SSHSIG (firmas SSH)

El formato de OpenSSH para firmar datos arbitrarios con claves SSH (ssh-keygen -Y sign), que vincula un espacio de nombres a cada firma y es la base de los commits de Git firmados con SSH y de la verificación con firmantes permitidos (allowed signers).
También se escribeSSHSIGssh-keygen -Y signSSH signaturePROTOCOL.sshsig

Los datos firmados son el valor mágico de 6 bytes SSHSIG, la cadena del espacio de nombres (por ejemplo, git o file), un campo reservado, el algoritmo de hash (sha256 o sha512) y el resumen del mensaje; el espacio de nombres impide que una firma hecha para un fin se reutilice en otro. La salida se codifica con armadura ASCII entre -----BEGIN SSH SIGNATURE----- y -----END SSH SIGNATURE----- y contiene la clave pública, así que los verificadores deben comprobarla con una lista de confianza en lugar de aceptar la clave incrustada.

ssh-keygen -Y verify -f allowed_signers -I identity -n namespace -s file.sig comprueba una firma; -Y find-principals asocia una firma a identidades. Funcionan las claves Ed25519, ECDSA, RSA (con rsa-sha2-*) y FIDO sk-, así que una llave de seguridad puede firmar commits con un toque. El verificador de firmas SSH ejecuta las mismas comprobaciones localmente.

Estándares y referencias

Todos los términos