web-dev-qa-db-ja.com

PMKID計算機能の実装

私は関数を実装しようとしています、Pythonでペアワイズマスターキー識別子([〜#〜] pmkid [〜#〜])を読んだ後、以前に発見されたWPA2のバググーグルは私にこの論理的なステートメントを与えました:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

ただし、問題は正しいハッシュを計算できないことです。私はさまざまな可能性を試し、データをバイナリに変換し、さまざまなバージョンのMACを試しましたが、まだチャンスはありませんでした。

問題は、PMKIDを計算する関数を、できればPythonでどのように実装するかです。これが私が少しやっていることです:

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
1
Shiri

コードは問題ありませんが、MACを16進数で配置する必要があります。

'34:bf:90:4a:bb:57 'の代わりに'\x34\xbf\x90\x4a\xbb\x57 '

1
Jdoe