PSK提示OpenSSL

Gui*_*uid 8 openssl hint

PSK 提示在OpenSSL中的作用是什么?我认为这是客户端的一种服务器识别,但我没有找到任何具体的信息.

ind*_*div 10

PSK身份提示没有很好地定义(参见RFC 4279).在预共享密钥(PSK)方案中,客户端和服务器都必须能够导出相同的加密密钥集.身份提示是服务器提供的信息,告诉客户端如何派生密钥.

由于每个服务器都有自己独特的生成密钥的方式,因此客户端必须知道服务器的某些信息才能知道如何处理PSK身份提示.每个实现都使用不同的提示.

例如,NETCONF在生成PSK时直接使用提示(其中+表示连接):

PSK = SHA-1(SHA-1(psk_identity + "Key Pad for Netconf" + password) +  
            psk_identity_hint) 
Run Code Online (Sandbox Code Playgroud)

而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 Keys "

类似地,EMV智能卡的 TLS-PSK 使用身份提示来确定如何计算PSK.

当服务器未提供参数psk-identity-hint时,将选择默认模式.此默认模式适用于静态PSK.否则,psk-identity-hint确定xCDOL1值和PSK计算的特定配置文件.

正如您所看到的,如果您从服务器获得PSK提示,您必须知道它提供了哪些信息以及如何处理它,否则您将无法生成服务器生成的同一组密钥.

脚注:诺基亚负责PSK-TLS草案RFC 4279,并且还 OpenSSL 提交了实施规范的补丁.