cabhPsDev802dot11SecPassPhraseToWEPKey

CABH-PS-DEV-MIB · .1.3.6.1.4.1.4491.2.4.1.1.6.2.2.1.3

Object

column r/w OctetString
The Password used for PS to derive WEP encryption keys. 
After a successful set, the values of
dot11WEPDefaultKeyValue are populated as described below:
              
For wep64: 
  If cabhPsDev802dot11SecOperMode wep64 bit is set to '1'
  This object value (x) is used as a generator of a 4 octet
  seed.
              
  seed[i%4] = XOR(seed[i%4],x[i]); i from 1 to len(x) -1
              
The values of the four dot11WEPDefaultKeyValue are
calculated as indicated below : 
  loop j 1..4
  loop k 0..4
  seed = seed * (((26*8+1)*256-1)*4+1) + 2531011
  The value is always truncated at 32 bits.
  OCTETk = (seed >> 16 )& 0xFF  -lowest octet-
  end loop
  dot11WEPDefaultKeyValue(j) = OCTET0,OCTET1, ... OCTET4
  end loop
              
  Note that seed value is constantly re-computed when
  calculating each octet of each default WEP key.
              
For wep128:
  If cabhPsDev802dot11SecOperMode wep128 bit is set to '1'
  This object value (x) fills a 64 octet buffer y :
  y = x,x,x...up to 64 octets.
  Calculate the 128-bit MD5 digest of y
  the values of all dot11WEPDefaultKeyValue (1..4)
  are calculated by truncating the first first 13 octets
  of MD5y.
              
dot11WEPDefaultKeyValue = MD5y0,MD5y1, .. MD5y12 
              
  This object value is normally read by issuing SNMP
  request PDUs. This object can be cleared with an SNMP
  SET to an empty string Value and the PS MUST not update
  the type of keys being set to '1' in
  cabhPsDev802dot11SecOperMode.
              
If cabhPsDev802dot11SecUsePassPhraseToKeyAlg is set to 
false(2), the behavior of a SET to this object depends 
on the bits set for cabhPsDev802dot11SecOperMode as 
follows:
              
              
  If cabhPsDev802dot11SecOperMode bit wep64 is set to '1'
  and this object value length is 5 octets, the MIB object
  dot11WEPDefaultKeyValue.1 (WEP key 0) is populated with
  this object value, otherwise an error 'inconsistentValue'
  is reported.
              
  If cabhPsDev802dot11SecOperMode bit wep128 is set to '1'
  and this object value length is 13 octets, the MIB object
  dot11WEPDefaultKeyValue.1 (WEP key 0) is populated with
  this object value, otherwise an error 'inconsistentValue'
  is reported.
              
Vector examples for wep64 and wep128 key derivation:
              
  Note:
  % refers to the module operation (reminder of the
  quotient of i and 4); XOR is the OR exclusive boolean
  operation.
              
For wep64:
passphrase: 
       'ABCD4321' ( hex code 0x41.42.43.44.34.33.32.31 )
              
              
First loop: (octets 0..3)
  XOR (0x00,A) -> XOR(0x00,0x41) -> 0x41
  XOR (0x00,B) -> XOR(0x00,0x42) -> 0x42
  XOR (0x00,C) -> XOR(0x00,0x43) -> 0x43
  XOR (0x00,D) -> XOR(0x00,0x44) -> 0x44
              
Second loop: (octets 4..7)
  XOR (A,4) -> XOR(0x41,0x34) -> 0x75
  XOR (B,3) -> XOR(0x42,0x33) -> 0x71
  XOR (C,2) -> XOR(0x43,0x32) -> 0x71
  XOR (D,1) -> XOR(0x44,0x31) -> 0x75
              
initial seed 0x75717175 -> 1970368885
              
DefaultKeys calculation
              
key1
seed : 0x16545E64 -> 2nd MSB byte : 0x54
seed : 0x41681397 -> 2nd MSB byte : 0x68
seed : 0x1BE77FFE -> 2nd MSB byte : 0xE7
seed : 0xAA6996C9 -> 2nd MSB byte : 0x69
seed : 0xD1523E68 -> 2nd MSB byte : 0x52
dot11WEPDefaultKeyValue.1 = 0x5468E76952
                                         
key2
seed : 0x1FFB838B -> 2nd MSB byte : 0xFb
seed : 0xF9C60022 -> 2nd MSB byte : 0xC6
seed : 0xAB43A65D -> 2nd MSB byte : 0x43
seed : 0xE9A35FAC -> 2nd MSB byte : 0xA3
seed : 0xE7AA2FBF -> 2nd MSB byte : 0xAA
dot11WEPDefaultKeyValue.2 = 0xFBC643A3AA
              
key3
seed : 0x6D13CB86 -> 2nd MSB byte : 0x13
seed : 0x5D8CD431 -> 2nd MSB byte : 0x8C
seed : 0xCC702630 -> 2nd MSB byte : 0x70
seed : 0xD78AEC33 -> 2nd MSB byte : 0x8A
seed : 0x24DC662A -> 2nd MSB byte : 0xDC
dot11WEPDefaultKeyValue.3 = 0x138C708ADC
              
key4
seed : 0x4F329445 -> 2nd MSB byte : 0x32
seed : 0x3EC035F4 -> 2nd MSB byte : 0xC0
seed : 0xF416CCE7 -> 2nd MSB byte : 0x16
seed : 0x9904940E -> 2nd MSB byte : 0x04
seed : 0x28969A99 -> 2nd MSB byte : 0x96
dot11WEPDefaultKeyValue.4 = 0x32C0160496
              
For wep128:
passphrase: 
       'ABCD4321' ( hex code 0x41.42.43.44.34.33.32.31 )
128-bit MD-5 digest 0xFECBACF05B42F7A138A5F3928E
dot11WEPDefaultKeyValue.1..4 = 0xFECBACF05B42F7A138A5

Context

MIB
CABH-PS-DEV-MIB
OID
.1.3.6.1.4.1.4491.2.4.1.1.6.2.2.1.3
Type
column
Access
readwrite
Status
current
Parent
cabhPsDev802dot11SecEntry
Groups
1

Walk the column to discover its indexed instances, or supply every index to read one instance.

Walk the column
/usr/bin/snmpbulkwalk -v2c -c '<community>' -Pud -Ir -OQUs -m 'CABH-PS-DEV-MIB' -M '/opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp' 'udp:<hostname>:161' 'CABH-PS-DEV-MIB::cabhPsDev802dot11SecPassPhraseToWEPKey'
More examples
Read one indexed instance
/usr/bin/snmpget -v2c -c '<community>' -Pud -Ir -OQUv -m 'CABH-PS-DEV-MIB' -M '/opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp' 'udp:<hostname>:161' 'CABH-PS-DEV-MIB::cabhPsDev802dot11SecPassPhraseToWEPKey.<ifIndex>'
Translate to a numeric OID
/usr/bin/snmptranslate -Pud -Ir -On -m 'CABH-PS-DEV-MIB' -M '/opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp' 'CABH-PS-DEV-MIB::cabhPsDev802dot11SecPassPhraseToWEPKey'

Syntax

OctetString

Values & Constraints

Object Constraints
range: 0-0 range: 5-63

Conformance