Frage

Ich frage mich, ob ich zwischen zwei Kunden als HMAC-Schlüssel festgelegt zu einem gemeinsamen geheimen Schlüssel verwenden kann.

Ich sah, dass es ein Problem ist, wenn es als CBC-MAC verwendet wird, aber ich habe festgestellt, keine Beweise sie schlechte Praxis für HMACs.

Danke, Vladimir

War es hilfreich?

Lösung

Ich glaube, es ist derzeit in der Kategorie „scheint wahrscheinlich OK, aber warum das Risiko eingehen?“.

Aus der Praxis ist jede Seite erzeugt zwei neue Schlüssel aus dem gemeinsamen geheimen Schlüssel haben:

encryption-key := HMAC(shared-key, "Encryption Nonce")
hmac-key := HMAC(shared-key, "Authenticity Nonce")

Andere Tipps

Als caf zu entzog. Eine der richtigen Art und Weise, dies zu tun ist, um den Shared-Secret-Key mit einigen zusätzlichen Daten Hash.

Beispiel:

enc-key = HASH(shared-key || 1)
hmac-key = HASH(share-key || 2)

Dies hat den Vorteil, um nicht mehr als 2 zusätzliche Nonces zu übertragen und so einfach zu sein zu implementieren.

ich würde den gleichen Schlüssel in verschiedenen Funktionen (enc + hmac). Das heißt für Probleme und eine schlechte Idee zu fragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top