Resumen

  • RFC 9864 distingue los algoritmos completamente especificados de los polimórficos y registra nombres como Ed25519, Ed448 y las combinaciones COSE ECDSA que incluyen curva y hash.
  • El nombre completo elimina una ambigüedad de negociación, no toda la cadena operativa. Registro, anuncio, clave, código habilitado, política de verificación y resultado siguen siendo evidencias diferentes.

La negociación necesitaba otro dato

Los metadatos de OAuth, el descubrimiento de OpenID Connect, WebAuthn y CTAP publican listas de algoritmos para que dos partes encuentren una opción común. El mecanismo funciona cuando cada entrada describe la operación obligatoria. Si una entrada solo designa una familia, la intersección de dos listas puede ser ilusoria.

Con EdDSA, una parte no podía saber por el nombre si la otra admitía Ed25519 o Ed448. En COSE, ES256 fijaba ECDSA y SHA-256, pero no la curva. El dato que resolvía la operación vivía en la clave, en otro parámetro o en una regla local que el catálogo no mostraba.

WebAuthn hizo visible esa carencia al interpretar el valor COSE -8 como Ed25519 con curva 6. El perfil volvió determinista una etiqueta polimórfica, a cambio de darle un significado local más estrecho y dejar Ed448 fuera. No fue una prueba de que el registro ya fuera suficiente; fue la evidencia contraria.

Del nombre de familia al nombre de operación

RFC 9864 registra Ed25519 y Ed448 en JOSE y COSE; en COSE reciben -19 y -53. Para ECDSA aparecen ESP256 (P-256 con SHA-256), ESP384 (P-384 con SHA-384), ESP512 (P-521 con SHA-512) y combinaciones Brainpool separadas.

La clave mantiene su representación anterior. Una clave Ed25519 sigue el formato de RFC 8037, aunque su miembro alg, cuando existe, puede decir Ed25519 en lugar de EdDSA. Así, la lista de capacidades, la intención de la clave y la lista de aceptación pueden compartir un identificador que ya contiene la elección de curva.

La regla se proyecta hacia nuevas inscripciones: los expertos designados de JOSE y COSE solo deben registrar identificadores completamente especificados. La coordinación común se vuelve más estrecha y, por eso mismo, más comprobable.

La palabra deprecado no apaga equipos

El RFC marca como deprecado EdDSA en JOSE y ES256, ES384, ES512 y EdDSA en COSE. También define dos estados que suelen confundirse. Deprecado indica que existe una alternativa preferible para despliegues nuevos, salvo requisitos operativos o regulatorios documentados. Prohibido significa que el identificador y su función no deben usarse.

Esa diferencia protege la realidad operativa. Un registro histórico puede seguir necesitando verificación. Un dispositivo con ciclo largo puede no recibir la nueva etiqueta de inmediato. Una retirada prematura puede romper autenticación; una emisión antigua sin fecha de fin puede eternizar la inferencia local. Ninguna de las dos decisiones se desprende automáticamente del cambio de registro.

No todo quedó resuelto

RSA no recibe variantes por tamaño de clave. ECDH sigue siendo polimórfico porque este RFC no registra combinaciones que incluyan curva y KDF. HSS-LMS continúa sin especificar el hash en el identificador. Tampoco se deprecan algoritmos de cifrado polimórficos sin sustituto.

Por eso una migración no puede aplicar una sustitución masiva y declarar completo todo el ecosistema. Debe separar lo reemplazado, lo que ya era completo, lo pendiente y lo exceptuado. La ausencia de un nuevo nombre es parte de la evidencia, no una celda que deba maquillarse.

Qué demuestra cada capa

El identificador completo demuestra que el registro nombra una operación concreta. Permite listas de aceptación menos ambiguas y reglas de detección más precisas. El RFC también exige que una clave se use con un solo algoritmo salvo prueba de seguridad y recomienda incluir el algoritmo en JWK o COSE Key cuando no exista otro vínculo.

No demuestra que la implementación esté instalada, habilitada o libre de errores; que el módulo de claves autorice su uso; que el verificador la acepte; ni que la aplicación conceda una acción. El recibo completo sigue una secuencia: definición, anuncio, vínculo de clave, configuración ejecutable, negociación observada, verificación y decisión. Confundir la primera etapa con la última vuelve a introducir la ambigüedad que el nuevo nombre quería eliminar.

Fuentes