Estoy intentando implementar una función, digamos en Python para calcular el Identificador de clave maestra de Pairwise ( PMKID ) después de leer el error descubierto anteriormente en WPA2. Google me dio esta declaración lógica:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
Sin embargo, el problema es que no puedo calcular el hash correcto. He intentado varias posibilidades, intentado convertir datos a binarios, probé varias versiones de MAC pero todavía no tengo oportunidad.
La pregunta es cómo implemento la función para calcular PMKID, preferiblemente en Python. Esto es lo que he estado haciendo un poco:
import hashlib, binascii, hmac
from pbkdf2 import PBKDF2
print "Required hash: 2a416a999af0a6bf454684269afb06ef"
apmac = '34:bf:90:4a:bb:57'
clmac = '98:de:d0:1a:97:c2'
pmk = PBKDF2('786 5555', 'unknown', 4096).read(32)
print "PMK: "+binascii.hexlify(pmk)
pmkid = hmac.new(pmk, "PMK Name"+apmac+clmac, hashlib.sha1).hexdigest()
print pmkid