MAC temel öğesi, verilerinizi hiç kimsenin değiştirmediğini doğrulamanıza olanak tanır. Bir alıcıyla simetrik anahtar paylaşan bir gönderen, belirli bir ileti için bir kimlik doğrulama etiketi hesaplayabilir. Bu, alıcının bir iletinin beklenen gönderenden geldiğini ve değiştirilmediğini doğrulamasına olanak tanır.
MAC aşağıdaki özelliklere sahiptir:
- Özgünlük: Doğrulanabilir bir MAC etiketi oluşturmanın tek yolu anahtarı bilmektir.
- Simetrik: Etiketin hesaplanması ve doğrulanması için aynı anahtar gerekir.
MAC, algoritmaya bağlı olarak deterministik veya rastgele hale getirilmiş olabilir. Tink, şu anda belirli olmayan MAC algoritmaları uygulamamaktadır. MAC yalnızca mesaj kimlik doğrulaması için kullanılmalıdır. Sözde rastgele bayt oluşturmak gibi başka amaçlarla kullanılmamalıdır (Bunun için PRF bölümüne bakın).
Bunun yerine bir asimetrik temel öğeye ihtiyacınız varsa Dijital İmza konusuna göz atı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:
- HMAC_SHA512, ileti boyutunuza ve kullandığınız donanımın özelliklerine bağlı olarak daha hızlı olabilir veya olmayabilir.
- HMAC_SHA512, neredeyse sınırsız sayıda mesaj için kullanılabilecek en konservatif moddur.
AES256_CMAC, AES-NI donanım hızlandırmayı destekleyen sistemlerde en hızlıdır.
Minimum güvenlik garantisi
- En az 80 bit kimlik doğrulama gücü
- Seçilen şifrelenmemiş metin saldırısı altında varoluşsal sahteliğe karşı koruma sağlar
- Anahtar kurtarma saldırılarına karşı ve çok kullanıcılı senaryolarda (bir saldırgan belirli bir anahtarı değil, en fazla 232 anahtar arasından herhangi bir anahtarı hedeflediğinde) en az 128 bit güvenlik
Örnek kullanım alanı
Verileri izinsiz değişikliklere karşı korumak istiyorum başlıklı makaleye göz atın.