İleti Kimlik Doğrulama Kodu (MAC)
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
MAC ilkel öğesi, verilerinizin hiç kimsenin müdahalesine uğramadığını doğrulamanızı sağlar.
Bir simetrik anahtarı alıcıyla paylaşan gönderen, belirli bir ileti için kimlik doğrulama etiketi hesaplayabilir. Bu etiket, alıcının iletilerin beklenen gönderenden geldiğini ve değiştirilmediğini doğrulamasına olanak tanır.
MAC'in özellikleri şunlardır:
- Gerçeklik: Doğrulanabilir bir MAC etiketi oluşturmanın tek yolu anahtarı bilmektir.
- Symmetric: Etiketin hesaplanması ve doğrulanması için aynı anahtar gerekir.
MAC, algoritmaya bağlı olarak belirlenebilir veya rastgele olabilir. Tink şu anda rastgele olmayan MAC algoritmalarını uygulamamaktadır. MAC'i, sözde rastgele bayt oluşturma gibi diğer amaçlar için değil, yalnızca ileti kimlik doğrulaması için kullanmanız gerekir (bu amaçlar için PRF'ye bakın).
Bunun yerine asimetrik bir ilkel kullanmanız gerekiyorsa Dijital İmza bölümüne bakın.
Anahtar türü seçin
Çoğu kullanım için HMAC_SHA256 kullanmanızı öneririz ancak başka seçenekler de vardır.
Genel olarak aşağıdakiler geçerlidir:
Minimum güvenlik garantileri
- En az 80 bit kimlik doğrulama gücü
- Seçilen açık metin saldırısı altında varoluşsal sahteciliğe karşı güvenlik
- Anahtar kurtarma saldırılarına ve çok kullanıcılı senaryolara (saldırganın belirli bir anahtarı değil, 232 adede kadar anahtardan herhangi birini hedeflediği durumlar) karşı en az 128 bit güvenlik
Örnek kullanım alanı
Verileri tahrif edilmekten korumak istiyorum başlıklı makaleyi inceleyin.
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-25 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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,[]]