Идентификационная подсказка PSK не определена (см. RFC 4279 ).В схеме с предварительным общим ключом (PSK) и клиент, и сервер должны иметь возможность получать один и тот же набор криптографических ключей.Подсказка идентичности - это то, что сервер предоставляет клиенту, чтобы узнать, как получить ключ.
Поскольку каждый сервер может иметь свой собственный уникальный способ генерации ключа, клиент должен знать кое-что о сервере, чтобы знать, чтоделать с личным намеком PSK.И каждая реализация по-разному использует подсказку.
Например, NETCONF использует подсказку непосредственно при генерации PSK (где +
означает сцепление):
PSK = SHA-1(SHA-1(psk_identity + "Key Pad for Netconf" + password) +
psk_identity_hint)
Принимая во внимание, что протокол Symbian Secure User Plane Location ( SUPL ) использует его для представления версии протокола и предоставления списка генераторов PSK, которые может использовать клиент.
Идентификаторы ключей, используемые вPSK-TLS ДОЛЖЕН быть в форме RAND @ SLP, где SLP в формате FQDN, а RAND - 128-битное число.Следующие ключевые идентификаторы определены для SUPL 1.0:
...
PSK_H-SLP_Master_Key и PSK_SPC_Key ДОЛЖНЫ быть длиной 128 бит или 256 бит. Подсказки клавиш, используемые в протоколе PSK-TLS, ДОЛЖНЫ быть установлены на «3GPP2 SUPL 1.0 Keys »
Аналогично TLS-PSK для EMV-смарт-карт используетидентификационная подсказка для определения способа вычисления PSK.
Если параметр psk-identity-hint не доставлен сервером, выбран режим по умолчанию.Этот режим по умолчанию работает со статическим PSK.В противном случае psk-identity-hint определяет конкретный профиль для значений xCDOL1 и вычисления PSK.
Итак, как вы можете видеть, если вы получаете подсказку PSK от сервера, вы уже должны знать, какую информациюон предоставляет и что с этим делать, иначе вы не сможете сгенерировать тот же набор ключей, что генерирует сервер.
Сноска: Nokia отвечала за проект PSK-TLS RFC 4279, а также представил патч в OpenSSL, реализующий спецификацию.