PSK Sugerencia con OpenSSL
hint (1)
¿Cuál es exactamente el papel de la sugerencia de PSK en OpenSSL? Creo que es una especie de identificación de servidor para los clientes, pero no encontré nada concreto al respecto.
La pista de identidad de PSK no está bien definida (ver RFC 4279 ). En un esquema de clave precompartida (PSK), tanto el cliente como el servidor deben poder derivar el mismo conjunto de claves de cifrado. La pista de identidad es algo que proporciona el servidor para decirle al cliente cómo derivar la clave.
Dado que cada servidor puede tener su propia forma única de generar la clave, el cliente debe saber algo sobre el servidor para saber qué hacer con la pista de identidad de PSK. Y cada implementación utiliza la sugerencia de manera diferente.
Por ejemplo, NETCONF usa la sugerencia directamente al generar el PSK (donde +
significa concatenar):
PSK = SHA-1(SHA-1(psk_identity + "Key Pad for Netconf" + password) +
psk_identity_hint)
Mientras que el protocolo de ubicación de plano de usuario seguro de Symbian ( SUPL ) lo usa para presentar la versión del protocolo y proporcionar una lista de generadores PSK que el cliente puede usar.
Nota: La sugerencia de identidad de PSK es opcional y su significado no está definido (el formato debe ser UTF8). Las aplicaciones que usan TLS-PSK pueden omitirlo o usarlo para cualquier acción (por ejemplo, SUPL lo usa para indicar la versión del protocolo SUPL y para presentar una lista de generadores PSK permitidos).
Del mismo modo, TLS-PSK para tarjetas inteligentes EMV utiliza la pista de identidad para determinar cómo calcular el PSK.
Cuando el servidor no entrega el parámetro psk-identity-hint, se selecciona un modo predeterminado. Este modo predeterminado funciona con un PSK estático. De lo contrario, psk-identity-hint determina un perfil particular para los valores de xCDOL1 y el cálculo de PSK.
Como puede ver, si obtiene una pista de PSK de un servidor, ya debe saber qué información proporciona y qué hacer con ella o no podrá generar el mismo conjunto de claves que genera el servidor.
Nota al pie: Nokia fue responsable del borrador de PSK-TLS RFC 4279 y también envió el parche a OpenSSL implementando la especificación.