All MIBs › SNMP-USER-BASED-SM-MIB › usmUserAuthKeyChange
usmUserAuthKeyChange
Module: SNMP-USER-BASED-SM-MIB
OID (symbolic): SNMP-USER-BASED-SM-MIB::usmUserAuthKeyChange
OID (numeric): 1.3.6.1.6.3.15.1.2.2.1.6
Node type: OBJECT-TYPE
Type: KeyChange
Access: read-create
Description: An object, which when modified, causes the secret authentication key used for messages sent on behalf of this user to/from the SNMP engine identified by usmUserEngineID, to be modified via a one-way function.
The associated protocol is the usmUserAuthProtocol. The associated secret key is the user's secret authentication key (authKey). The associated hash algorithm is the algorithm used by the user's usmUserAuthProtocol.
When creating a new user, it is an 'inconsistentName' error for a set operation to refer to this object unless it is previously or concurrently initialized through a set operation on the corresponding instance of usmUserCloneFrom.
When the value of the corresponding usmUserAuthProtocol is usmNoAuthProtocol, then a set is successful, but effectively is a no-op.
When this object is read, the zero-length (empty) string is returned.
The recommended way to do a key change is as follows:
1) GET(usmUserSpinLock.0) and save in sValue. 2) generate the keyChange value based on the old (existing) secret key and the new secret key, let us call this kcValue.
If you do the key change on behalf of another user:
3) SET(usmUserSpinLock.0=sValue, usmUserAuthKeyChange=kcValue usmUserPublic=randomValue)
If you do the key change for yourself:
4) SET(usmUserSpinLock.0=sValue, usmUserOwnAuthKeyChange=kcValue usmUserPublic=randomValue)
If you get a response with error-status of noError, then the SET succeeded and the new key is active. If you do not get a response, then you can issue a GET(usmUserPublic) and check if the value is equal to the randomValue you did send in the SET. If so, then the key change succeeded and the new key is active (probably the response got lost). If not, then the SET request probably never reached the target and so you can start over with the procedure above.
What is usmUserAuthKeyChange?
This KeyChange-typed value, when written, transforms the target user's secret authentication key via a one-way function keyed to the user's usmUserAuthProtocol (for example HMACMD5, which typically uses a 32-octet value). Reading it always returns an empty string, so it is a write-only mechanism an SNMPv3 command generator uses to rotate another user's auth key without ever exposing the old or new key on the wire. An admin rotating a user's authentication passphrase would GET usmUserSpinLock.0 first, then SET it together with usmUserAuthKeyChange=kcValue in a single operation to atomically update that user's key.
OID Breakdown
Upper-level ancestors (6 from the standard OID tree / other modules)
| Numeric OID | Name | Module |
|---|---|---|
| 1 | iso | LANART-AGENT |
| 1.3 | org | AirPair-MIB |
| 1.3.6 | dod | AirPair-MIB |
| 1.3.6.1 | internet | AirPair-MIB |
| 1.3.6.1.6 | snmpV2 | DASAN-DHCP-MIB |
| 1.3.6.1.6.3 | snmpModules | RAPID-CITY |
| Numeric OID | Name | Module |
|---|---|---|
| 1.3.6.1.6.3.15 | snmpUsmMIB | SNMP-USER-BASED-SM-MIB |
| 1.3.6.1.6.3.15.1 | usmMIBObjects | SNMP-USER-BASED-SM-MIB |
| 1.3.6.1.6.3.15.1.2 | usmUser | SNMP-USER-BASED-SM-MIB |
| 1.3.6.1.6.3.15.1.2.2 | usmUserTable | SNMP-USER-BASED-SM-MIB |
| 1.3.6.1.6.3.15.1.2.2.1 | usmUserEntry | SNMP-USER-BASED-SM-MIB |
| 1.3.6.1.6.3.15.1.2.2.1.6 | usmUserAuthKeyChange | SNMP-USER-BASED-SM-MIB |