Message Authentication Code (MAC)
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Mit der MAC-Primitivfunktion können Sie prüfen, ob Ihre Daten nicht manipuliert wurden.
Ein Absender, der einen symmetrischen Schlüssel mit einem Empfänger teilt, kann ein Authentifizierungs-Tag für eine bestimmte Nachricht berechnen. So kann der Empfänger überprüfen, ob eine Nachricht vom erwarteten Absender stammt und nicht geändert wurde.
MAC hat die folgenden Eigenschaften:
- Authentizität: Nur wenn der Schlüssel bekannt ist, kann ein überprüfbares MAC-Tag erstellt werden.
- Symmetric Für die Berechnung und Überprüfung des Tags ist derselbe Schlüssel erforderlich.
MAC kann je nach Algorithmus deterministisch oder zufällig sein. Tink implementiert derzeit keine nichtdeterministischen MAC-Algorithmen. Sie sollten MAC nur für die Nachrichtenauthentifizierung und nicht für andere Zwecke wie die Generierung von pseudozufälligen Bytes verwenden (siehe PRF).
Wenn Sie stattdessen ein asymmetrisches Primitive benötigen, lesen Sie den Hilfeartikel Digitale Signatur.
Schlüsseltyp auswählen
Wir empfehlen für die meisten Anwendungsfälle HMAC_SHA256, es gibt aber auch andere Optionen.
Im Allgemeinen gilt:
Mindestsicherheitsgarantien
- Mindestens 80-Bit-Authentifizierungsstärke
- Schutz vor existenzieller Fälschung bei einem Angriff mit wählbarem Klartext
- Mindestens 128-Bit-Sicherheit gegen Schlüsselwiederherstellungsangriffe und auch in Mehrfachnutzerszenarien (wenn ein Angreifer nicht auf einen bestimmten Schlüssel, sondern auf einen beliebigen Schlüssel aus einem Satz von bis zu 232 Schlüsseln abzielt)
Anwendungsbeispiel
Weitere Informationen finden Sie unter Ich möchte Daten vor Manipulation schützen.
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-25 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-25 (UTC)."],[[["\u003cp\u003eThe Message Authentication Code (MAC) primitive, using a shared symmetric key, enables verification of data integrity and authenticity by generating an authentication tag.\u003c/p\u003e\n"],["\u003cp\u003eMAC ensures authenticity as only the key holder can create a verifiable tag, and it's symmetric, requiring the same key for both computation and verification.\u003c/p\u003e\n"],["\u003cp\u003eTink recommends HMAC_SHA256 for most use cases, while HMAC_SHA512 offers higher security and AES256_CMAC might provide better performance with specific hardware.\u003c/p\u003e\n"],["\u003cp\u003eTink's MAC implementation guarantees a minimum of 80-bit authentication strength, protection against forgery, and at least 128-bit security against key recovery attacks, even in multi-user environments.\u003c/p\u003e\n"]]],["MAC uses a shared symmetric key between sender and recipient to verify message authenticity and integrity. The sender computes an authentication tag for a message, which the recipient uses to confirm its origin and unaltered state. MAC guarantees authenticity, where only key holders can create verifiable tags. Key recommendations include HMAC_SHA256, HMAC_SHA512 (most conservative), and AES256_CMAC (fastest with AES-NI). MAC is designed solely for message authentication, offering a minimum of 80-bit authentication strength.\n"],null,[]]