No tengo ni idea sobre este tema, esperaremos a que algunos expertos respondan.
Avalados por :
No estoy seguro si estoy en el foro correcto...
Para firmar un mensaje para una aplicación específica con un hash HMAC-SHA1 necesito una clave de 83 caracteres.
Mi problema: el módulo de función 'SET_HMAC_KEY' arroja la excepción "param_length_error". Después de probar con varias longitudes de clave, descubrí que la longitud máxima válida es 81. ¿Hay alguna razón para esto?
Con bibliotecas de terceros (por ejemplo, Python y JavaScript) funcionan claves más largas.
Código:
CALL FUNCTION 'SET_HMAC_KEY'
EXPORTING
generate_random_key = ' '
alg = 'SHA1'
keycstr = 'cB1phTHISISATESTVuZMDmWCz1CEMy82iBC3HgFLpE&7857T...YFqV93gRJQ'
client_independent = ' '
EXCEPTIONS
unknown_alg = 1
param_length_error = 2
internal_error = 3
param_missing = 4
malloc_error = 5
abap_caller_error = 6
base64_error = 7
calc_hmac_error = 8
rsec_record_access_denied = 9
rsec_secstore_access_denied = 10
rsec_error = 11
rng_error = 12
record_number_error = 13
OTHERS = 14.
Saludos, Uwe
Editado por: Julius Bussche el 5 de agosto de 2010 a las 10:19 PM
Truncé aún más la clave porque en una etiqueta de codificación afecta el formato cuando es demasiado larga.
No tengo ni idea sobre este tema, esperaremos a que algunos expertos respondan.
Hola Franklin,
Descripción del foro:
...colaboración segura, como la seguridad de mensajes (cifrado) y gestión de confianza...
Saludos, Uwe
No sé si todos estarían de acuerdo en esto:
Parece ser una pregunta de desarrollo.
Hola,
Ese número 81 me parece completamente aleatorio. 81 caracteres (bytes) son 648 bits. Aquí hay una cita de [RFC 2104 - HMAC: Keyed-Hashing for Message Authentication|http://www.faqs.org/rfcs/rfc2104.html].
La clave para HMAC puede ser de cualquier longitud (claves más largas que B bytes son primero hasheadas usando H). Sin embargo, menos de L bytes es fuertemente desaconsejado ya que disminuiría la fuerza de seguridad de la función. Claves más largas que L bytes son aceptables pero la longitud extra no aumentaría significativamente la fuerza de la función. (Una clave más larga puede ser aconsejable si se considera débil la aleatoriedad de la clave).
Por lo tanto, no hay límite para el tamaño de la clave, pero cualquier clave más larga que el tamaño de bloque (B bytes) de la función hash se comprimirá a B bytes. La clave debe ser más larga que el tamaño de salida de la función hash (L bytes), que para SHA-1 es de 160 bits = 20 bytes. El estado interno de SHA-1 es de 512 bits = 64 bytes.
Por lo tanto, sugiero usar la función SHA-1 para reducir cualquier clave más larga que 64 bytes a 64 bytes y luego pasar una nueva clave a SET_HMAC_KEY.
Saludos
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute