用户名标记配置文件

客户端应使用场合和时间戳两个来定义[ws usernametoken]。服务器应拒绝任何用户名令牌不使用这两种场合和时间戳。

这个规范定义了一组命令来管理用户凭证,见8.4。这些命令允许关联用户不同用户级别定义在5.12.1。

密码派生

在一些设备上使用相同的认证引入了一定的安全隐患。要求用户提供一个独特的凭据为每个设备是不可行,而不是客户端使用用户名令牌概要文件应该和一个客户端使用摘要式身份验证可以实现以下密码派生算法。

表示任意一个用户通过UA。表示由p UA密码使用的值由用户来访问设备UA的系统。此外表示NEP终端设备服务点参考价值系统中的特定设备。最后,表示由pe ua密码等效客户用来访问一个特定的设备。客户端应该计算pe ua如下:

  1. PE_UA = base64(HMAC_SHA-1(UA+P_UA,NEP+”ONVIF password”)),

其中“+”表示连接和“ONVIF密码”是一个ASCII字符串。它应包括确切的形式,它没有给出一个长度字节或尾随空字符,即以下的十六进制值:4F 4E 56 49 46 20 70 61 73 73 77 6F 72 64.

HMAC_SHA-1是在[RFC2104]中规定的算法,使用SHA-1[FIPS180-2]作为底层的算法。使用HMAC功能的关键价值是串联的用户名和密码,UA + P_UA,直接映射到等值的二进制数。相似的,价值PE_UA的应被映射到其对应的ASCII码,在传输前的移动设备。

base64描述(RFC 3548),注意操作的结果是实际的base64密码等效,相当于应使用的。

例子

假设下面的用户名和密码将用于客户端(ASCII):“user”和“VRxuNzpqrX”,即,

  1. UA = 75 73 65 72
  2. P_UA = 56 52 78 75 4E 7A 70 71 72 58

接下来,假设该设备具有以下设备服务端点引用的值:

  1. Urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6.

然后,将要使用的密码相当于然后的计算,计算公式为:

  1. PE_UA = base64(HMAC_SHA-1(UA+ P_UA,NEP+”ONVIF password”)) =
  2. base64(HMAC_SHA-1(75736572565278754E7A70717258,
  3. F81D4fAE7DEC11D0A76500A0C91E6BF64F4E5649462070617373776F7264)) =
  4. base64(16 E5 C5 A9 4D DE 8A 97 6D D7 2F 55 78 5F C2 D0 6B DA 53 4A)=
  5. FuXFqU3eipdt1y9VeF/C0GvaU0o=

由此产生的密码等“FuXFqU3eipdt1y9VeF/C0GvaU0o=”是由客户端应使用特定的设备上配置的用户凭据,然后访问该设备的密码。

上一章|继续阅读