Irgendwie bekomme ich keine HMACs.
Ich habe einmal gefragt Warum? Ich benötige HMACs, wenn wir öffentliche Schlüsselsignaturen haben? , und ich glaube, ich habe das hier bekommen. Einfacher zu berechnen, und so weiter ...
Was ich aber nicht verstehe, ist, warum wir überhaupt HMACs benötigen und welche Art von Problemen sie lösen.
Aus meiner Sicht, HMACs ...
Daher muss ich zur Berechnung des HMAC (entweder initial oder zur Verifizierung) den geheimen Schlüssel kennen.
Wenn ich nun diesen Schlüssel auf geheime Weise austauschen kann, ohne dass er manipuliert wird, könnte ich die Nachricht auch auf die gleiche geheime Weise austauschen, ohne dass sie manipuliert wird, oder?
Okay, jetzt könnten Sie argumentieren, dass Sie den Schlüssel nur einmal austauschen müssen, aber Sie können mehrere Nachrichten haben. Das ist in Ordnung.
Aber wenn wir jetzt einen geheimen Schlüssel haben, der von allen Parteien geheim gehalten werden muss, könnten wir auch direkt die symmetrische Verschlüsselung verwenden, die den gleichen geheimen Schlüssel verwendet, um die Nachricht zu verschlüsseln, oder?
Natürlich sollte ein HMAC eine Lösung gegen Manipulationen bieten, aber wenn ich nur eine verschlüsselte Nachricht ohne den geheimen Schlüssel und einen vernünftigen Verschlüsselungsalgorithmus habe, kann ich diese verschlüsselte Nachricht nicht so ändern, dass a) die Entschlüsselung immer noch funktioniert, und b) eine sinnvolle entschlüsselte Nachricht erscheint.
Wofür brauche ich eigentlich einen HMAC? Oder - wo ist der Punkt, den ich vermisse?
Sie gehen davon aus, dass es unmöglich ist, eine verschlüsselte Nachricht zu manipulieren, ohne den für die Verschlüsselung verwendeten Schlüssel zu kennen. Dies ist nicht der Fall und eine gefährliche Annahme zu machen. Es gibt mehrere Dinge, die möglich sind, selbst wenn Sie nur Zugriff auf den Chiffretext haben:
Daher ist es sehr wichtig zu überprüfen, dass kein Angreifer die Nachricht manipuliert hat, bevor er ein einzelnes Byte des entschlüsselten Inhalts verarbeitet hat. Da es bei der Ad-hoc-Verifizierung oder dem einfachen Hashing einige Fehler gibt, müssen MACs verwendet werden, von denen HMAC ein Beispiel ist.
Tags und Links encryption hmac