PSK 提示在OpenSSL中的作用是什么? 我认为这是客户端的一种服务器识别,但我没有发现任何具体的内容。
答案 0 :(得分:10)
PSK身份提示没有明确定义(参见RFC 4279)。在预共享密钥(PSK)方案中,客户端和服务器都必须能够导出相同的加密密钥集。身份提示是服务器提供的信息,告诉客户端如何派生密钥。
由于每个服务器都有自己独特的生成密钥的方式,因此客户端必须知道服务器的某些信息才能知道如何处理PSK身份提示。每个实现都使用不同的提示。
例如,NETCONF在生成PSK时直接使用提示(其中+
表示连接):
PSK = SHA-1(SHA-1(psk_identity + "Key Pad for Netconf" + password) +
psk_identity_hint)
Symbian安全用户平面位置(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键“
同样,EMV smart cards的TLS-PSK使用身份提示来确定如何计算PSK。
当参数psk-identity-hint未被传递时 服务器,选择默认模式。此默认模式适用于 静态PSK。否则,psk-identity-hint确定一个特定的 xCDOL1值和PSK计算的配置文件。
正如您所看到的,如果您从服务器获得PSK提示,您必须知道它提供了哪些信息以及如何处理它,否则您将无法生成与该服务器相同的一组密钥。服务器生成。
脚注:诺基亚负责PSK-TLS草案RFC 4279以及实施规范的OpenSSL submitted the patch。