İçeriğe atla

Mesaj doğrulama kodu

Mesaj doğrulama kodu (kısaca MDK) kriptografi biliminde bir mesajın doğruluğunu kanıtlamak için kullanılan küçük boyutlu bilgilerdir.

Mesaj doğrulama kodu algoritması, (ayrıca anahtarlı (kriptografik) özet fonksiyon olarak da bilinir), girdi olarak gizli anahtar ve doğruluğu ispatlanacak olan herhangi bir uzunlukta mesaj alır. Çıktı olarak Mesaj doğrulama kodu verir. Bu değer mesajın hem veri bütünlüğünü hem de doğruluğunu kontrol etmeyi sağlar. Bu sayede gizli anahtara sahip kişi (doğrulayıcı) gelen mesajda değişiklik olup olmadığını anlayabilir.

Güvenlik

MDK fonksiyonları kriptografik özet fonksiyonlara benzemelerine rağmen güvenlik gereksinimleri bakımından farklıdırlar. Bir mesaj doğrulama koduna güvenli denilebilmesi için, kullanılan MDK fonksiyonunun seçilmiş açık mesaj saldırısı altında varoluşsal sahtekarlığa dayanıklı olması gereklidir. Bunun anlamı, eğer saldırı yapan kişi, gizli anahtara sahip ve saldıran kişinin istediği mesajların bu anahtar ile oluşturulmuş bir MDK'sini veren bir Kahinli Turing makinesine sahip olsa bile, bu mesajlardan başka bir mesaja karşılık gelen MDK'yi olası bir zaman dilimi içinde oluşturamamalıdır.

MDK'ları sayısal imzalardan ayıran temel özellik, hem oluşturma hem de doğrulama aşamasında aynı gizli anahtarın kullanılıyor olmasıdır. Bu da, simetrik şifrelemeye benzer şekilde, gönderici ve alıcının iletişimden önce ortak bir gizli anahtar üzerinde anlaşmalarını gerektirir. Aynı özellikten dolayı MDK'lar sayısal imzaların sağladığı inkar edilemezlik özelliğini sağlayamazlar. Çünkü herhangi bir MDK'yı doğrulayabilen bir kişi aynı zamanda herhangi bir mesaj için geçerli bir MDK da oluşturabilir.

Mesaj bütünlük kodları (MBK)

MBK ve MDK birbirlerine kelime olarak çok benzemelerine rağmen kriptografik olarak farklıdırlar. MDK'nın aksine MBK üretilirken herhangi bir gizli anahtar kullanılmaz. Dolayısıyla MBK ile mesajın bütünlüğü kontrol edilmek istendiğinde, oluşturulan MBK ya şifrelenmeli ya da olası değiştirme müdahalelerine karşı korunmaya alınmalıdır.Aynı MBK üretme algoritmasının kullandıldığı varsayımı altında aynı mesaj için her zaman aynı MBK oluşacaktır. Buna karşı, MDK üretirken kullanılan gizli anahtar ve başlangıç vektörüne bağlı olarak oluşan MDK değişiklik gösterecektir. MBK'lar gizli anahtar kullanmadıkları için MDK'lara göre mesaj bütünlüğünü koruma adına daha zayıftırlar.

Uygulama

MDK algoritmaları kriptografik özet fonksiyonlar ya da blok şifreleme algoritmaları kullanılarak oluşturulabilir. özet fonksiyonlar ile oluşturulan algıritmalara örnek olarak en:HMAC, blok şifreleme kullanılarak oluşturulan algoritmalara ise OMAC, en:CBC-MAC ve PMAC verilebilir. Buna rağmen, en:UMAC ve en:VMAC gibi hızlı MDK üretme algoritmaları evrensel özetlemeye dayalı olarak oluşturulmuştur.[1]

Standartlar

MDK algoritmalarını tanımlayan çeşitli standartlar mevcuttur. Bunlardan bazıları:

  • FIPS PUB 113 Bilgisayar Veri Doğrulunu Kanıtlama,[2] withdrawn in 2002,[3] defines an algorithm based on DES.
  • ISO/IEC 9797-1 blok şifreleme kullanan mekanizmalar[4]
  • ISO/IEC 9797-2 Özel özet fonksiyon kullanan mekanizmalar[5]

ISO/IEC 9797-1 ve -2 herhangi bir özet fonksiyon ya da blok şifreleme algoritması ve çeşitli parametreler ile kullanılabilecek genel bir model veya algoritma tanımı verir. Bu da paramterelere bağlı olarak daha belirleyici algoritmalar oluşturmayı sağlar. Örneğin FIPS PUB 113 algoritması, ISO/IEC 9797-1 MAC algoritmasına en:padding metodunun 1 olarak seçilmesi ve DES blok şifreleme algoritmasının kullanılması ile denk olur.

Örnek

Bu örnekte, gönderici, mesajına ait MDK oluşturmak için bir MDK algoritması kullanıyor. Oluşan MDK ve mesaj alıcıya gönderiliyor. Alıcı, ulaşan mesajı, sadece gönderici ve kendisinin sahibi olduğu gizli anahtarı ve gönderici ile aynı MDK algoritmasını kullanarak MDK'yı oluşturur. Oluşan bu MDK, göndericiden mesaj ile birlikte gelen MDK değeri ile karşılaştırılır. Eğer iki MDK birbirine eşit ise, alıcı mesajın bütünlüğünden ve doğruluğundan emin olabilir. Aksi halde mesajın yolda değiştirilmiş ya da hasara uğramış olduğu anlar.

Dış bağlantılar

Kaynakça

  1. ^ "VMAC: Message Authentication Code using Universal Hashing". CFRG Working Group. CFRG Working Group. 15 Nisan 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Mart 2010. 
  2. ^ "FIPS PUB 113 Computer Data Authentication". 27 Eylül 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mayıs 2012. 
  3. ^ "Federal Information Processing Standards Publications, Withdrawn FIPS Listed by Number". 1 Ağustos 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mayıs 2012. 
  4. ^ "ISO/IEC 9797-1 Information technology — Security techniques — Message Authentication Codes (MACs) — Part 1: Mechanisms using a block cipher". 9 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mayıs 2012. 
  5. ^ "ISO/IEC 9797-2 Information technology — Security techniques — Message Authentication Codes (MACs) — Part 2: Mechanisms using a dedicated hash-function". 15 Mart 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mayıs 2012. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Kriptografi</span>

Kriptografi, kriptoloji ya da şifreleme, okunabilir durumdaki bir verinin içerdiği bilginin istenmeyen taraflarca anlaşılamayacak bir hale dönüştürülmesinde kullanılan yöntemlerin tümüdür. Kriptografi bir matematiksel yöntemler bütünüdür ve önemli bilgilerin güvenliği için gerekli gizlilik, aslıyla aynılık, kimlik denetimi ve asılsız reddi önleme gibi şartları sağlamak amaçlıdır. Bu yöntemler, bir bilginin iletimi esnasında ve saklanma süresinde karşılaşılabilecek aktif saldırı ya da pasif algılamalardan bilgiyi –dolayısıyla bilginin göndericisi, alıcısı, taşıyıcısı, konu edindiği kişiler ve başka her türlü taraf olabilecek kişilerin çıkarlarını da– koruma amacı güderler.

<span class="mw-page-title-main">Elektronik imza</span>

Elektronik imza ya da sayısal imza, başka bir elektronik veriye eklenen veya elektronik veriyle mantıksal bağlantısı bulunan ve kimlik doğrulama amacıyla kullanılan elektronik veridir. E-imza olarak da bilinir. Elektronik ortamlarda imza yerine kullanılabilen yasal kimlik doğrulama sistemidir. Elektronik imza, elektronik belge'ye girilen bir isim kadar basit olabilir. Dijital imzalar, elektronik imzaları kriptografik olarak korunan bir şekilde uygulamak için e-ticarette ve düzenleyici dosyalarda giderek daha fazla kullanılmaktadır. Özellikle e-ticaretin hızlı yükselişi nedeniyle daha fazla önem kazanmştır. Elektronik imza sayesinde imzalanmış verinin, kimin tarafından imzalandığı ve güvenilirliği kontrol edilmiş olur. Elektronik imza; iletilen bilginin bütünlüğünün bozulmadığını, bilginin tarafların kimlikleri doğrulanmak suretiyle iletildiğini garanti eder. Ulusal Standartlar ve Teknoloji Enstitüsü veya ETSI gibi standardizasyon ajansları, bunların uygulanması için standartlar sağlar.

<span class="mw-page-title-main">Açık anahtarlı şifreleme</span> hem herkese açık hem de gizli anahtarları kullanarak yapılan şifreleme

Açık anahtarlı şifreleme, şifre ve deşifre işlemleri için farklı anahtarların kullanıldığı bir şifreleme sistemidir. Haberleşen taraflardan her birinde birer çift anahtar bulunur. Bu anahtar çiftlerini oluşturan anahtarlardan biri gizli anahtar diğeri açık anahtardır. Bu anahtarlardan bir tanesiyle şifreleme yapılırken diğeriyle de şifre çözme işlemi gerçekleştirilir. Bu iki anahtar çifti matematiksel olarak birbirleriyle bağlantılıdır.

Anahtarsız şifreleme, anahtar kullanmayan kriptografik algoritmalar veya diğer adlarıyla Veri Bütünlüğü ve Özet Fonksiyonları veri bütünlüğünü garanti etmek için kullanılan MD5, SHA-1, RIPEMD-160 gibi kriptografi algoritmalarının kullandığı yöntemlere verilen isimdir.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

<span class="mw-page-title-main">Simetrik anahtar algoritmaları</span>

Simetrik anahtar algoritmaları aynı ya da benzer kripto-grafik şifreleri kullanarak hem şifreleme hem de deşifreleme yapan bir kripto-grafik algoritma grubudur. Şifreler ya birebir aynı ya da basit bir yöntemle birbirine dönüştürülebilir olmalıdır. Pratikte anahtarlar gizli bağlantının devam ettirilmesinde kullanılan iki ya da daha fazla taraf ile paylaşılmış bir şifreyi temsil ederler. Açık anahtarlı şifrelemeye göre ana dezavantajlarından biri iki partinin de gizli anahtara erişiminin olması gerekliliğidir.

Kriptografide çalışma kipleri, bir blok şifrenin tek bir anahtar altında güvenli bir şekilde tekrarlı kullanımına olanak veren yöntemlerdir. Değişken uzunluktaki mesajları işlemek için veriler ayrı parçalara bölünmelidir. Son parça şifrenin blok uzunluğuna uyacak şekilde uygun bir tamamlama şeması ile uzatılmalıdır. Bir çalışma kipi bu bloklardan her birini şifreleme şeklini tanımlar ve genellikle bunu yapmak için ilklendirme vektörü (IV) olarak adlandırılan rastgele oluşturulmuş fazladan bir değer kullanır.

<span class="mw-page-title-main">Kriptografik özet fonksiyonu</span>

Kriptografik özet fonksiyonu çeşitli güvenlik özelliklerini sağlayan bir özet fonksiyonudur. Veriyi belirli uzunlukta bir bit dizisine, (kriptografik) özet değerine, dönüştürür. Bu dönüşüm öyle olmalıdır ki verideki herhangi bir değişiklik özet değerini değiştirmelidir. Özetlenecek veri mesaj, özet değeri ise mesaj özeti veya kısaca özet olarak da adlandırılır.

Kriptografide blok şifreleme, blok olarak adlandırılmış sabit uzunluktaki bit grupları üzerine simetrik anahtar ile belirlenmiş bir deterministik algoritmanın uygulanmasıdır. Blok şifreleme birçok kriptografik protokol tasarımının önemli temel bileşenlerindendir ve büyük boyutlu verilerin şifrelemesinde yaygın biçimde kullanılmaktadır.

Pretty Good Privacy (PGP), 1991 yılında Phil Zimmermann tarafından geliştirilen, OpenPGP standardını kullanarak veri şifrelemek, şifreli veriyi çözmek veya veriyi imzalamak için kullanılan, gönderilen ya da alınan verinin gizliliğini ve kimlik doğrulamasını sağlayan bir bilgisayar programıdır. Genellikle text dokümanlarını, e-postaları, dosyaları, klasörleri ve disk bölümlerini şifrelemek ve imzalamak için kullanılır.

SHA-2, ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanmış kriptografik özet (hash) fonksiyonları kümesidir. Kriptografik özet fonksiyonları, hesaplanmış “özet” ile bilinen ve beklenen özet değerinin karşılaştırılmasıyla, dijital veri üzerinde yürüyen matematiksel operasyonlardır. Özet fonksiyonları ile bir kişi verinin bütünlüğüne karar verebilir. Örneğin, yüklenmiş bir dosyanın özet değerini hesaplamak ve sonucu önceden açıklanmış özet sonucu ile karşılaştırmak, yüklemenin değiştirilip değiştirilmediğini veya üzerinde oynama yapılıp yapılmadığını gösterebilir. Kriptografik Hash fonksiyonlarının kilit noktası çakışma dirençleridir: hiç kimse aynı özet çıktısı veren iki farklı girdi bulamamalıdır.

<span class="mw-page-title-main">HMAC</span>

Kriptografide, HMAC, kriptografik özet fonksiyonu ve gizli bir kriptografik anahtar içeren bir mesaj doğrulama kodu türüdür. Diğer MAC türleri gibi, HMAC de hem veri bütünlüğünü kontrol etmek hem de mesaj içeriğini onaylamakta kullanılabilir. HMAC in hesaplanmasında herhangi bir kriptografik özet fonksiyonu kullanılabilir. Örneğin, HMAC in hesaplanmasında MD5 veya SHA-1 özet fonksiyonu kullanılması durumunda, ilgili MAC algoritması da buna uygun olarak HMAC-MD5 veya HMAC-SHA1 olarak isimlendirilebilir. HMAC'in kriptografik saldırılara karşı dayanıklılığı, kullanılan özet fonksiyonunun dayanıklılığına, elde edilen özetin boyutuna, kullanılan kriptografik anahtarın boyutuna ve kalitesine bağlıdır.

Bilgisayar güvenliğinde, meydan okuma – karşılık verme temelli kimlik doğrulama, bir tarafın soru sorduğu ve diğer tarafın da, kimlik doğrulama için, bu soruya geçerli bir cevap (karşılık) üretmek zorunda olduğu bir protokol ailesidir.

Merkle imzası, anahtarlama ağaçları ve sayısal imza şemalarını birleştiren bir veri doğrulama yapısıdır. Özet değeri tabanlı kriptografidir ve Merkle ağacı da denen özet değeri ağacını kullanmaktadır. Verileri Lampart imza algoritması gibi tek kullanımlık şekilde imzalar. Ralph Merkle tarafından 1970 sonu itibarıyla geliştirilmiştir ve RSA, Dijital İmza Algoritması gibi geleneksel dijital imzalara alternatif olmuştur.

Kriptografide, doldurma birçok farklı uygulamaya işaret eder.

<span class="mw-page-title-main">Tek anahtarlı mesaj doğrulama kodu</span>

Tek anahtarlı mesaj doğrulama kodu, CBC-MAC algoritmasına benzer bir blok şifresinden oluşturulan bir mesaj kimlik doğrulama kodudur.

<span class="mw-page-title-main">CBC-MAC</span> Doğrulama kodu oluşturma sistemi

Kriptografide, CBC-MAC, bir blok şifreleme ile mesaj kimlik doğrulama kodu oluşturmak için kullanılır. Mesaj, her blok önceki bloğun düzgün şifrelenmesine bağlı olacak şekilde, bir blok zinciri oluşturmak için CBC kipinde bir blok şifreleme algoritmasıyla şifrelenir. Bu bağlılık sayesinde, şifresiz metnin herhangi bir bitinde yapılan değişikliğin, şifrelenmiş son bloğun, blok şifreleme anahtarı bilinmeden tahmin edilmesini veya etkisiz hale getirilmesini engeller.

Kriptografide, ilklendirme vektörü kısaca İV ya da ilklendirme değişkeni, tipik olarak rastgele veya sözde rassal olması gereken bir şifreleme temelinin sabit boyuta sahip olan girdisidir. Bu rastgelelik, şifreleme işlemlerinde anlamsal güvenliği sağlamak için çok önemlidir. Anlamsal güvenlik tek bir şifreleme yönteminin aynı anahtar ile tekrar tekrar kullanılmasının şifrelenmiş mesajın bölümleri arasındaki ilişkileri çıkarmasına izin vermediği bir özelliktir. Blok şifreleri için, İV kullanımı çalışma kipleri ile açıklanmaktadır. Ayrıca, evrensel hash fonksiyonları ve buna dayanan mesaj kimlik doğrulama kodları gibi diğer temel öğeler için de rastgeleleştirme gereklidir.

Kriptografik ilkeller, bilgisayar güvenlik sistemleri için kriptografik protokoller oluşturmak için sıklıkla kullanılan, iyi kurulmuş, düşük seviyeli kriptografik algoritmalardır. Bu rutinler, bunlarla sınırlı olmamak üzere, tek yönlü karma işlevleri ve şifreleme işlevlerini içerir.

Kimliği Doğrulanmış şifreleme (AE) ve İlgili Verilerle Kimliği Doğrulanmış Şifreleme (AEAD), aynı anda verilerin gizliliğini ve gerçekliğini garanti eden şifreleme biçimleridir