Mesaj doğrulama kodu - Message authentication code

İçinde kriptografi, bir mesaj doğrulama kodu (MAC), bazen bir etiket, kullanılan kısa bir bilgi parçasıdır bir mesajı doğrulamak - başka bir deyişle, mesajın belirtilen göndericiden geldiğini (gerçekliğini) ve değiştirilmediğini onaylamak için. MAC değeri bir mesajın veri bütünlüğü yanı sıra özgünlük, (aynı zamanda gizli anahtara sahip olan) doğrulayıcıların mesaj içeriğindeki değişiklikleri tespit etmelerine izin vererek.

Tanımlar

Gayri resmi olarak, bir mesaj kimlik doğrulama kodu sistemi üç algoritmadan oluşur:

  • Anahtar üretme algoritması, anahtar uzayından rastgele bir şekilde bir anahtar seçer.
  • Bir imzalama algoritması, anahtar ve mesaj verilen bir etiketi verimli bir şekilde döndürür.
  • Doğrulayıcı bir algoritma, anahtar ve etiket verilen mesajın gerçekliğini verimli bir şekilde doğrular. Yani dönüş kabul edilmiş mesaj ve etiket tahrif edilmediğinde veya taklit edilmediğinde, aksi takdirde iade edildiğinde reddedildi.

Güvenli bir taklit edilemez mesaj kimlik doğrulama kodu için, anahtar bilgisi olmadan verilen mesajın geçerli bir etiketini hesaplamak sayısal olarak mümkün olmamalıdır; en kötü durumda bile, düşmanın verilen mesaj dışındaki herhangi bir mesajın etiketini taklit edebileceğini varsayıyoruz. .[1]

Resmen, bir mesaj doğrulama kodu (MAC) sistem verimli bir üçlüdür[2] algoritmalar (G, S, V) doyurucu:

  • G (anahtar oluşturucu) anahtarı verir k 1. girişten, nerede n güvenlik parametresidir.
  • S (imzalama) bir etiket çıkarır t anahtarın üstünde k ve girdi dizesi x.
  • V (doğrulama) çıktılar kabul edilmiş veya reddedildi girişlerde: anahtar k, dizi x ve etiket t.

S ve V aşağıdakileri karşılamalıdır:

Pr [ kG(1n), V( k, x, S(k, x) ) = kabul edilmiş ] = 1.[3]

Bir MAC taklit edilemez eğer her verimli düşman için Bir

Pr [ kG(1n), (x, t) ← BirS(k, · )(1n), x ∉ Sorgu (BirS(k, · ), 1n), V(k, x, t) = kabul edilmiş] n),

nerede BirS(k, · ) bunu belirtir Bir oracle'a erişimi var S(k, ·) Ve Sorgu (BirS(k, · ), 1n) sorgu kümesini gösterir S yapan Bir, hangisi bilir n. Açıkça, herhangi bir rakibin dizeyi doğrudan sorgulayamamasını istiyoruz. x açık Saksi takdirde o düşman tarafından geçerli bir etiket kolayca elde edilebilir.[4]

Güvenlik

MAC işlevleri benzer olsa da kriptografik hash fonksiyonları farklı güvenlik gereksinimlerine sahiptirler. Güvenli sayılması için, bir MAC işlevi direnç göstermelidir varoluşsal sahtecilik altında seçili düz metin saldırıları. Bu, bir saldırganın bir kehanet Gizli anahtara sahip olan ve saldırganın seçtiği mesajlar için MAC'ler üreten saldırgan, imkansız miktarda hesaplama yapmadan (oracle'ı sorgulamak için kullanılmayan) diğer mesajlar için MAC'yi tahmin edemez.

MAC'ler şundan farklıdır: dijital imzalar MAC değerleri aynı gizli anahtar kullanılarak hem üretilir hem de doğrulanır. Bu, bir mesajın göndericisinin ve alıcısının, durumdaki gibi, iletişimi başlatmadan önce aynı anahtar üzerinde anlaşması gerektiği anlamına gelir. simetrik şifreleme. Aynı nedenden dolayı, MAC'ler şu mülkiyeti sağlamaz: inkar etmeme özellikle ağ genelinde imzalar tarafından sunulur paylaşılan sır anahtar: bir MAC'ı doğrulayabilen herhangi bir kullanıcı, diğer mesajlar için de MAC üretebilir. Buna karşılık, bir anahtar çiftinin özel anahtarı kullanılarak bir dijital imza oluşturulur, bu açık anahtar şifreleme[2]. Bu özel anahtara yalnızca sahibi erişebildiğinden, dijital imza, bir belgenin bu sahibi dışında hiçbir kişi tarafından imzalanmadığını kanıtlar. Bu nedenle, dijital imzalar reddedilemez. Bununla birlikte, inkar etmeme, anahtar kullanım bilgilerini MAC anahtarına güvenli bir şekilde bağlayan sistemler tarafından sağlanabilir; aynı anahtar iki kişinin mülkiyetindedir, ancak birinde MAC üretimi için kullanılabilecek anahtarın bir kopyası varken diğerinde anahtarın bir kopyası vardır. donanım güvenlik modülü bu yalnızca MAC doğrulamasına izin verir. Bu genellikle finans sektöründe yapılır.[kaynak belirtilmeli ]

Mesaj bütünlük kodları

Dönem mesaj bütünlük kodu (MIC) sık sık MAC terimi yerine kullanılmaktadır, özellikle iletişimde,[5] kullanımından ayırmak için MAC anlam Mac Adresi (için medya erişim denetimi adresi). Ancak bazı yazarlar[6] başvurmak için MIC kullanın mesaj özeti, bir MAC'den farklıdır - bir mesaj özeti kullanmaz gizli anahtarlar. Bu güvenlik eksikliği, mesaj bütünlüğünü ölçmek için kullanılması amaçlanan herhangi bir mesaj özetinin şifrelenmesi veya başka bir şekilde kurcalanmaya karşı korunması gerektiği anlamına gelir. Mesaj özet algoritmaları, belirli bir mesajın her ikisini de üretmek için aynı algoritmanın kullanıldığı varsayılarak her zaman aynı mesaj özetini üreteceği şekilde oluşturulur. Tersine, MAC algoritmaları yalnızca aynı mesaj, gizli anahtar ve başlatma vektörü aynı algoritmaya girilir. Mesaj özetleri gizli anahtarlar kullanmaz ve bu nedenle, kendi başlarına alındığında, MAC'lerden çok daha az güvenilir bir mesaj bütünlüğü ölçüsüdür. MAC'ler gizli anahtarlar kullandıklarından, aynı düzeyde güvence sağlamak için şifrelenmeleri gerekmez.

RFC 4949 "mesaj bütünlüğü kodu" (MIC) teriminden kaçınmanızı ve bunun yerine "kullanılmasını önerirsağlama toplamı ", "hata tespit kodu ", "karma "," anahtarlı karma "," ileti kimlik doğrulama kodu "veya" korumalı sağlama toplamı ".

Uygulama

MAC algoritmaları, diğer kriptografik ilkellerden oluşturulabilir, örneğin kriptografik hash fonksiyonları (durumunda olduğu gibi HMAC ) veya blok şifreleme algoritmalar (OMAC, CCM, GCM, ve PMAC ). Ancak, en hızlı MAC algoritmalarının birçoğu, UMAC -VMAC ve Poly1305-AES dayalı inşa edilmiştir evrensel hashing.[7]

Kendinden anahtarlamalı karma algoritmalar, örneğin SipHash aynı zamanda tanım gereği MAC'lardır; evrensel karma tabanlı MAC'lerden bile daha hızlı olabilirler.[8]

Ek olarak, MAC algoritması, daha sonra bunlardan birinin savunmasız olduğu tespit edilse bile korumayı sürdürmek için iki veya daha fazla kriptografik ilkeli kasıtlı olarak birleştirebilir. Örneğin taşıma katmanı Güvenliği (TLS), giriş verileri her biri farklı bir ilkel karma (hashing) ile işlenen yarılara bölünmüştür (SHA-1 ve SHA-2 ) sonra ÖZEL MAC çıkışı için birlikte.

Standartlar

MAC algoritmalarını tanımlayan çeşitli standartlar mevcuttur. Bunlar şunları içerir:

  • FIPS PUB 113 Bilgisayar Veri Kimlik Doğrulaması,[9] 2002'de çekilmiş,[10] dayalı bir algoritma tanımlar DES.
  • FIPS PUB 198-1 Anahtarlı Karma Mesaj Kimlik Doğrulama Kodu (HMAC)[11]
  • ISO / IEC 9797-1 Blok şifreleme kullanan mekanizmalar[12]
  • ISO / IEC 9797-2 Özel bir hash işlevi kullanan mekanizmalar[13]
  • ISO / IEC 9797-3 Evrensel karma işlevi kullanan mekanizmalar[14]
  • ISO / IEC 29192-6 Hafif şifreleme - Mesaj kimlik doğrulama kodları[15]

ISO / IEC 9797-1 ve -2, herhangi bir blok şifreleme veya karma işlevi ve çeşitli farklı parametrelerle kullanılabilen genel modelleri ve algoritmaları tanımlar. Bu modeller ve parametreler, parametrelerin belirlenmesiyle daha özel algoritmaların tanımlanmasına izin verir. Örneğin, FIPS PUB 113 algoritması işlevsel olarak doldurma yöntemi 1 ve DES'in blok şifreleme algoritması ile ISO / IEC 9797-1 MAC algoritmasına 1 eşdeğerdir.

MAC kullanımına bir örnek

MAC.svg

[16]Bu örnekte, bir mesajın göndericisi, bir MAC veri etiketi üretmek için onu bir MAC algoritması aracılığıyla çalıştırır. Mesaj ve MAC etiketi daha sonra alıcıya gönderilir. Alıcı, sırayla, iletimin mesaj kısmını, aynı anahtarı kullanarak aynı MAC algoritması aracılığıyla çalıştırarak ikinci bir MAC veri etiketi üretir. Alıcı daha sonra iletimde alınan ilk MAC etiketini ikinci oluşturulan MAC etiketiyle karşılaştırır. Aynı iseler, alıcı güvenli bir şekilde mesajın iletim sırasında değiştirilmediğini veya kurcalanmadığını varsayabilir (veri bütünlüğü ).

Bununla birlikte, alıcının algılama yapabilmesini sağlamak için tekrar saldırıları mesajın kendisi, aynı mesajın yalnızca bir kez gönderilebileceğini garanti eden verileri içermelidir (örneğin, zaman damgası, sıra numarası veya bir kerelik MAC kullanımı). Aksi takdirde, bir saldırgan - içeriğini anlamadan bile - bu mesajı kaydedebilir ve daha sonra tekrar oynatarak asıl gönderenle aynı sonucu verebilir.

Tek seferlik MAC

Evrensel hashing ve özellikle ikili bağımsız karma işlevler, anahtar en çok bir kez kullanıldığı sürece güvenli bir ileti kimlik doğrulama kodu sağlar. Bu şu şekilde görülebilir: Bir defalık ped kimlik doğrulama için.[17]

Böylesi en basit ikili bağımsız hash işlevi rastgele anahtarla tanımlanır anahtar = (a,b) ve bir mesaj için MAC etiketi m olarak hesaplanır etiket = (am + b) modp, nerede p asal.

Daha genel olarak, kbağımsız hash işlevler, anahtar daha az kullanıldığı sürece güvenli bir ileti kimlik doğrulama kodu sağlar. k kez k-ways bağımsız hashing fonksiyonları.

Mesaj doğrulama kodları ve veri kaynağı kimlik doğrulaması da kuantum kriptografi çerçevesinde tartışılmıştır. Oldukça geniş bir kuantum MAC sınıfı için anahtar dağıtımı gibi diğer kriptografik görevlerin aksine, kuantum kaynaklarının koşulsuz olarak güvenli tek seferlik klasik MAC'lara göre herhangi bir avantaj sağlamadığı gösterilmiştir. [18]

Ayrıca bakınız

Notlar

  1. ^ En güçlü düşmanın, anahtarı bilmeden imzalama algoritmasına erişebileceği varsayılır. Ancak, son sahte mesajı, daha önce imzalama algoritmasını sorgulamayı seçtiği herhangi bir mesajdan farklı olmalıdır. Def 134.2'den önceki Pass tartışmalarına bakın.
  2. ^ a b Teorik olarak, verimli bir algoritma olasılıksal polinom zaman içinde çalışır.
  3. ^ Geçme, def 134.1
  4. ^ Geçme, def 134.2
  5. ^ IEEE 802.11: Kablosuz LAN Orta Erişim Kontrolü (MAC) ve Fiziksel Katman (PHY) Özellikleri (PDF). (2007 revizyonu). IEEE-SA. 12 Haziran 2007. doi:10.1109 / IEEESTD.2007.373646. ISBN  978-0-7381-5656-9.
  6. ^ Fred B Schneider, Hashes ve Mesaj Özetleri, Cornell Üniversitesi
  7. ^ "VMAC: Evrensel Karma Kullanarak İleti Kimlik Doğrulama Kodu". CFRG Çalışma Grubu. Alındı 16 Mart 2010.
  8. ^ Jean-Philippe Aumasson ve Daniel J. Bernstein (2012-09-18). "SipHash: hızlı kısa girişli PRF" (PDF).
  9. ^ "FIPS PUB 113 Bilgisayar Veri Kimlik Doğrulaması". Arşivlenen orijinal 2011-09-27 tarihinde. Alındı 2010-10-10.
  10. ^ "Federal Bilgi İşleme Standartları Yayınları, Numaraya Göre Listelenmiş Geri Çekilmiş FIPS". Arşivlenen orijinal 2010-08-01 tarihinde. Alındı 2010-10-10.
  11. ^ Anahtarlı Karma Mesaj Kimlik Doğrulama Kodu (HMAC)
  12. ^ ISO / IEC 9797-1 Bilgi teknolojisi - Güvenlik teknikleri - Mesaj Kimlik Doğrulama Kodları (MAC'ler) - Bölüm 1: Blok şifreleme kullanan mekanizmalar
  13. ^ ISO / IEC 9797-2 Bilgi teknolojisi - Güvenlik teknikleri - Mesaj Kimlik Doğrulama Kodları (MAC'ler) - Bölüm 2: Özel bir karma işlevi kullanan mekanizmalar
  14. ^ ISO / IEC 9797-3 Bilgi teknolojisi - Güvenlik teknikleri - Mesaj Kimlik Doğrulama Kodları (MAC'ler) - Bölüm 3: Evrensel bir karma işlevi kullanan mekanizmalar
  15. ^ ISO / IEC 29192-6 Bilgi teknolojisi - Hafif şifreleme - Bölüm 6: Mesaj kimlik doğrulama kodları (MAC'ler)
  16. ^ "Mac Güvenliğine Genel Bakış", Mac® Güvenlik İncil, Wiley Publishing, Inc., 2011-11-01, s. 1–26, doi:10.1002 / 9781118257739.ch1, ISBN  9781118257739
  17. ^ Simmons, Gustavus (1985). "Doğrulama teorisi / kodlama teorisi". Kriptolojideki Gelişmeler: CRYPTO 84 Bildirileri. Berlin: Springer. sayfa 411–431. ISBN  00000000 Kontrol | isbn = değer: uzunluk (Yardım).
  18. ^ Nikolopoulos, Georgios M .; Fischlin, Marc (2020). "Kuantum ve Klasik Kaynaklarla Bilgi-Teorik Olarak Güvenli Veri Kaynağı Kimlik Doğrulaması". Kriptografi. 4 (4): 31. arXiv:2011.06849. doi:10.3390 / cryptography4040031. S2CID  226956062.

Referanslar

  • Goldreich, Oded (2001), Kriptografinin temelleri I: Temel Araçlar, Cambridge: Cambridge University Press, ISBN  978-0-511-54689-1
  • Goldreich, Oded (2004), Kriptografinin temelleri II: Temel Uygulamalar (1. basım), Cambridge [u.a.]: Cambridge Univ. Basın, ISBN  978-0-521-83084-3
  • Geç, Rafael, Kriptografi Kursu (PDF), alındı 31 Aralık 2015[1]

Dış bağlantılar

  1. ^ 11-12-20C8