これはプログラミングに関する質問ではありませんが、cisco ルーターから送信された ip sla 制御メッセージに応答するために作成しようとしている ac プログラムに関連しています。パケットを認証するために MD5 とキー チェーンを使用することがわかっています (MD5 または HMAC の可能性があります)。私は HMAC と MD5 についての理論と、メッセージとキー、および本の理論が私たちに与えるすべてのものについて知っています... しかし、少なくとも私には非常に単純ではない質問があります。相手側がパケットが有効であることを知ることができるように、ハッシュされてパケットに追加される「メッセージ」はどれですか?
ご協力いただきありがとうございます...
編集: 1 つは ip sla ジェネレーターとして機能し、もう 1 つは ip sla レスポンダーとして機能する 2 つのルーターがあります。ip sla ジェネレーターは、MD5 とキーを使用して送信されたデータを認証します。
Wireshark を使用して ip sla ジェネレータ インターフェイスを離れたパケットをキャプチャすると、次のことがわかりました。
Packet not Authenticated:
IP header
4500005000000000ff1136e3c0a801c3c0a801a6
UDP Header
e2e607af003ccdbd
Payload
01040034000000000004001000000000c0a801a6ea6014500001001c000000000000000000000000000000000000000000000000
Packet Authenticated with key "cisco":
IP Header
4500005000000000ff1136e3c0a801c3c0a801a6
UDP Header
c20107af003cd296
Payload
01040034000000000004001000000000c0a801a6ea6014500001001c00000000* 01ff0000b9c0ae94fec238bd43d13129a6625eda *
*ペイロードの最後に、パケットの認証に使用されるキー番号である 0x01ff と、認証文字列である 0xb9c0ae94fec238bd43d13129a6625ed が表示されます。
Capturing another Authenticated packet with key "cisco" I got this:
IP Header
4500005000000000ff1136e3c0a801c3c0a801a6
UDP Header
d47607af003cc021
Payload
01040034000000000004001000000000c0a801a6ea6014500001001c00000000* 01ff0000b9c0ae94fec238bd43d13129a6625eda *
UDP ヘッダーが変更されていることがわかりますが、認証されたメッセージは同じままであるため、ハッシュするメッセージは単なるペイロードであると推測できますが、次の組み合わせをハッシュしても必要な認証は生成されません。
- ペイロードの MD5 が認証されていない
- 認証されていないペイロードの MD5 + 16 進数のキー
- 認証されていないペイロードの Hmac-Md5
- 認証されていないペイロードの Hmac-Md5 + 16 進数のキー
- リストするには長すぎる組み合わせがもっとたくさんあります...
したがって、メッセージはペイロードほど単純ではないか、Cisco が使用する認証方法が標準的ではないのではないかと思います。何か不足していますか?または私が試すことができる何か他のものがありますか?
ご協力いただきありがとうございます...