İçeriğe atla

HMAC tabanlı tek seferlik parola algoritması

HMAC Tabanlı Tek Seferlik Parola algoritması (HOTP), özet-tabanlı mesaj doğrulama kodlarına (HMAC) dayanan tek seferlik parola (OTP) algoritmasıdır. Açık Kimlik Doğrulama Girişiminin (OATH) bir temel taşıdır.

HOTP, Aralık 2005'te, algoritması Java ile hayata geçirilmiş şekilde, bir IETF RFC 4226 bildirgesi olarak yayınlandı. O zamandan beri, algoritma dünya çapında birçok şirket tarafından kullanılmıştır. HOTP algoritması ücretsizce temin edilebilen bir açık standarttır .

Algoritma

HOTP algoritması, her biri yalnızca bir kimlik doğrulama işlemi için kullanılan, insan tarafından okunabilen parolaların veya değerlerin simetrik üretilmesiyle bir kimlik doğrulama yöntemi sağlar. Tek seferlik olma özelliği, doğrudan her bir sayaç değerinin tek bir kere kullanımından kaynaklanır.

HOTP kullanmak isteyen tarafların aşağıdaki değişkenleri oluşturması gerekir; bunlar, tipik olarak kimlik doğrulayıcı tarafından belirtilir, kabul edilir veya edilmez:

  • Bir şifreleme özet yöntemi, H (varsayılan SHA-1'dir )
  • İsteğe bağlı bir bayt dizgisi olan ve mahrem olarak değerlendirilen gizli bir anahtar, K
  • Bir HOTP değer uzunluğu, d (6–10 arası, varsayılan değer 6 veya 6-8 önerilir)

Her iki taraf da HOTP değerini hesaplar, ardından kimlik doğrulayıcı, kendisi hesapladığı değeri, kimliğini doğrulamak isteyen tarafından hesaplanan değerle karşılaştırarak kontrol eder.

Kimlik doğrulayıcı ve kimliği doğrulanan taraf, birbirlerinden bağımsız olarak sayacı arttırırlar. Burada ikinci taraf ilk taraftan önce artabilir, bu yüzden bir yeniden senkronizasyon protokolü kullanmak akıllıca olur. RFC 4426, bunun zorunlu olduğunu belirtmemekle birlikte, kullanımını önermektedir. Bu sadece kimlik doğrulayıcı s boyutundaki bir pencereden, tekrar tekrar sayaçları doğrulamayı dener. Kimlik doğrulayıcının sayacı, doğrulamanın başarılı olduğu değerden saymaya devam eder ve kimliği doğrulanan kişi tarafından herhangi bir işlem yapılmasına gerek duymaz.

HOTP değerinin sürekli olarak daralması, göreceli olarak küçük boyutlarını ve dolayısıyla kaba kuvvet yaklaşımı saldırılarına karşı kırılganlıkları gidermek için değer doğrulaması yapılması önerilir. Doğrulamanın az sayıda başarısız denemeden sonra kilitlenmesi veya her başarısız denemenin ek (doğrusal olarak artan) bir gecikmeye uğraması önerilmektedir.

6 basamaklı kodlar genellikle, d' nin varsayılan değerini bildiren çeşitli satıcıdan alınan özel donanım belirteçleri tarafından sağlanır. Kesme işlemi 31 bit veya ≈ 9.3 ondalık basamak, yani d en fazla 10 olabilir ve 10. basamak sadece 0, 1 ve 2 (yani, 0.3 basamak) değerlerinden birisini alarak daha az değişiklik sağlar.

İki yönlü kimlik doğrulama

Kimlik doğrulamadan sonra, kimlik doğrulayıcı bir sonraki HOTP değerini oluşturarak ve geri döndürerek kendi kimliğini doğrulayabilir. Sonrasında, kimliği doğrulanan kendi HOTP değerini oluşturabilir. Bu işlem sırasında, sayaçların işlem sırasında bu noktada senkronize edilmesinin garanti edildiğine dikkat edin.

HOTP değeri

HOTP değeri, d basamaklı ondalık sayı (baştaki 0'lar ihmal edilmeden), insan tarafından okunabilen tasarım çıktısıdır.

HOTP değeri = HOTP (K, C) mod 10 d

Yani ddeğeri, HOTP'nin en az öneme sahip olan 10 tabandaki basamaklarıdır.

HOTP, C sayacının özet-tabanlı mesaj doğrulama kodunun (HMAC) bir kesilmesidir (truncation) (K anahtarı ve H özet fonksiyonuyla).

HOTP (K, C) = truncate(HMAC H (K, C))

Kesme işlemi, ilk olarak, MAC'in en az önem sahip 4 bitini alır ve bir ofset (i) olarak kullanır.

truncate(MAC) = extract31 (MAC, MAC [(19x8) + 4: (19x8) + 7] × 8)

Bu i indeksi, i + 1. indexten başlayarak MAC'tan 31 bit seçmek için kullanılır.

extract31(MAC, i) = MAC [i + 1: i + (4 x 8) - 1]

31 bitin, 4 baytlık bir kelimeden 1 bit daha kısa olduğunu unutmayın. Böylece değer, işaret biti (en önemli bit) kullanılmadan böyle bir kelimenin içine yerleştirilebilir. Bu işlem, negatif sayılar üzerinde modüler aritmetik işleminden kaçınmak için yapılır, çünkü bunun birçok farklı tanımı ve uygulaması vardır.[1]

Belirteç

Hem donanım hem de yazılım belirteçleri çeşitli satıcılardan temin edilebilir. OATH HOTP uygulayan donanım belirteçleri, özel algoritmalara dayalı olarak rakiplerinden önemli ölçüde daha ucuz olma eğilimindedir.[2] 2010 yılı itibarıyla, OATH HOTP donanım belirteçleri düşük bir fiyata satın alınabilir.[3] Bazı ürünler OATH HOTP'ın yanı sıra güçlü parolalar için de kullanılabilir.[4]

Yazılım belirteçleri neredeyse tüm cep telefonu/akıllı telefon platformları için kullanılabilir (J2ME,Android, iPhone, BlackBerry, Maemo, macOS ve Windows Mobil ).

Yayın Alımı

Her ne kadar bazı bilgisayar basınlarından yayın alımı 2004 ve 2005[5][6][7] yıllarında negatif olsa da, IETF'in Aralık 2005'te HOTP'yi RFC 4226 olarak kabul etmesinden sonra, çeşitli satıcılar HOTP uyumlu belirteçler ve/veya tamamen kimlik doğrulama çözümleri üretmeye başlamıştır.

2010 yılında Burton Group (Gartner, Inc.'in bir bölümü) tarafından yayınlanan güçlü kimlik doğrulaması ("Yol Haritası: Şifrelerin OTP Kimlik Doğrulaması ile Değiştirilmesi" başlıklı) makalesine göre, "Gartner'ın beklentisi, akıllı telefon OTP'leri büyümeye ve zaman içinde varsayılan donanım platformu haline gelmeye devam ettiği sürece, donanım OTP faktörünün mütevazı bir büyüme içerisinde olacağı yönündedir."[2]

Ayrıca bakınız

  • Zamana Dayalı Tek Seferlik Parola Algoritması

Kaynakça

  1. ^ "Arşivlenmiş kopya". 6 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 
  2. ^ a b "Arşivlenmiş kopya". 21 Temmuz 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 
  3. ^ "Arşivlenmiş kopya". 5 Nisan 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 
  4. ^ "Arşivlenmiş kopya". 4 Eylül 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 
  5. ^ "Arşivlenmiş kopya". 14 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 
  6. ^ "Arşivlenmiş kopya". 11 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 
  7. ^ "Arşivlenmiş kopya". 11 Ekim 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2019. 

Dış bağlantılar

İlgili Araştırma Makaleleri

Basit Ağ Yönetim Protokolü, bilgisayar ağları büyüdükçe bu ağlar üzerindeki birimleri denetlemek amacıyla tasarlanmıştır. Cihaz üzerindeki sıcaklıktan, cihaza bağlı kullanıcılara, internet bağlantı hızından sistem çalışma süresine kadar çeşitli bilgiler SNMP'de tanımlanmış ağaç yapısı içinde tutulurlar.

<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">Kerberos (iletişim kuralı)</span>

Kerberos / kərbərəs / güvenli olmayan bir ağ üzerinde haberleşen kaynakların, bilet mantığını kullanarak kendi kimliklerini ispatlamak suretiyle iletişim kurmalarını sağlayan bir bilgisayar ağı kimlik doğrulama protokolüdür. Protokolün tasarımcıları, ilk başta istemci-sunucu modelini hedef almış ve bu doğrultuda hem kullanıcının hem de sunucunun birbirlerinin kimliklerini doğrulamasını sağlayan karşılıklı kimlik doğrulama özelliğini sunmuşlardır. Kerberos protokol mesajları, izinsiz dinlemelere ve yansıtma ataklarına karşı dayanıklıdır.

İnternet Protokolü Güvenliği (IPsec), Internet Protokolü (IP) kullanılarak sağlanan iletişimlerde her paket için doğrulama ve şifreleme kullanarak koruma sağlayan bir protokol paketidir. IPsec, içinde bulundurduğu protokoller sayesinde, oturum başlarken karşılıklı doğrulama ve oturum sırasında anahtar değişimlerini gerçekleştirme yetkisine sahiptir. İki bilgisayar arasında (host-to-host), iki güvenlik kapısı arasında(network-to-network), bir güvenlik kapısı ve bir bilgisayar arasında(network-to-host) sağlanan bağlantıdaki veri akışını korumak için kullanılır. IPsec kriptografik güvenlik servislerini kullanarak IP protokolü ile gerçekleştirilen bağlantıları korumak için kullanılır. Ağ seviyesinde doğrulama veri kaynağı doğrulama,veri bütünlüğü, şifreleme ve replay saldırılarına karşı koruma görevlerini üstlenir.

İnternet anahtar değişim protokolü ya da Internet Key Exchange internet üzerinde güvenli bir şekilde veri alışverişi için kullanılan anahtarların değişimini sağlayan protokoldür.

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">IEEE 802.1X</span>

IEEE 802.1x, bağlantı noktası tabanlı ağ erişim kontrolü için kullanılan bir standarttır ve 802.1 protokol grubunun bir parçasıdır. Bir kablolu (LAN) veya kablosuz (WLAN) ağa dahil olmak isteyen istemci cihazlara kimlik doğrulama mekanizması sağlar.

Günlük kullanmış olduğumuz şifreler disk üzerinde özet olarak kayıt edilir. Bu özetler iki ayrı şekilde LM ve NTLM olarak tutulup birbiri ile entegre olarak işlem görür ve kimlik doğrulamasını gerçekleştirir. Windows işletim sisteminde ise kullanıcı hesapları ve parolaların şifrelemesinde kullanılan SYSKEY bilgisi SAM dosyasında tutulur. İşletim sistemi çalışır durumunda bu dosyayı kontrolünde tutar, Admin dahi olunsa işletim sistemi içerisinden herhangi bir müdahaleye izin vermez. Windows İşletim sistemleri versiyonu doğrultusunda, kullanıcı parolalarını NTLM veya LM özeti fonksiyonuna sokarlar. Sonuç olarak SYSTEM dosyası içerisinde bulunan SYSKEY ile şifreler ve bu şekilde SAM dosyasına kayıt eder. Örnek olarak SAM dosyasında tutulan kullanıcı hesap bilgileri aşağıdaki gibidir.

<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.

Güvenli kabuk,, ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür. En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

<span class="mw-page-title-main">Tek seferlik parola</span>

Tek seferlik parola (OTP), bir bilgisayar sistemi veya başka bir dijital cihazda bir oturum ya da işlem için geçerli paroladır. OTP 'de geleneksel (statik) parola tabanlı kimlik doğrulamasıyla ilişkili birtakım eksiklikler yoktur. Ayrıca bir dizi uygulama sayesinde OTP, akıllı kart veya bir cep telefonu gibi bir kişide bulunabilecek cihazlara erişim gerektiren veya yalnız o kişinin bilebileceği bir PIN gerektiren iki faktörlü kimlik doğrulama içerir.

Çok faktörlü kimlik doğrulma (MFA) bir bilgisayar kullanıcısına, kullanıcının kimlik doğrulama mekanizmasına başarılı bir şekilde iki ya da daha fazla kanıt sağladığında erişim sağlandığı bir kimlik doğrulama yöntemidir: bilgi, sahiplik ve devralma.

Kriptografide, scrypt, Colin Percival tarafından Tarsnap çevrimiçi yedekleme hizmeti için oluşturulan bir parola tabanlı anahtar türetme fonksiyonudur. Bu algoritma, büyük miktarda bellek gerektirerek büyük ölçekli özel donanım saldırılarını gerçekleştirmeyi pahalı hale getirmek için özel olarak tasarlanmıştır. 2016 yılında, scrypt algoritması IETF tarafından RFC 7914 olarak yayınlandı. Scrypt algoritmasının, ArtForz kullanıcı adına sahip ve gerçek adı bilinmeyen bir programcı tarafından implemente edilmiş, basitleştirilmiş bir sürümü, önce Tenebrix'te ve ardından Fairbrix ve Litecoin olmak üzere bir dizi kripto para birimi tarafından iş kanıtı şeması olarak kullanıldı.

Şifrelemede Eşzamanlı Eşit Kimlik Doğrulama (SAE), parola tabanlı güvenli bir kimlik doğrulama ve parola doğrulanmış anahtar anlaşma yöntemidir.

Zaman tabanlı tek seferlik parola algoritması (TOTP), üretildiği zaman aralığının benzersizliğini alarak, tek seferlik parola üreten bir HMAC Tabanlı Bir-Zamanlı Parola algoritmasının (HOTP) uzantısıdır. İnternet Mühendisliği Görev Gücü standardı RFC 6238 olarak kabul edilmiştir. Açık Kimlik Doğrulama Girişiminin (OATH) temel taşıdır ve iki faktörlü kimlik doğrulama sistemlerinde kullanılır.

Kriptografi alanında, PBKDF1 ve PBKDF2 olarak bilinen anahtar türetme fonksiyonları şifrelenmiş anahtarları kaba kuvvet saldırılarına karşı güçlendirmek amacıyla geliştirilmiştir.

<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.

Bilgisayar güvenliğinde genel erişim denetimi; tanımlama, yetkilendirme, kimlik doğrulama, erişim onayı ve kimlik denetimini içerir. Erişim kontrolünün daha dar bir tanımı, sadece erişim onayını kapsar. Erişim onayı yapısında sistem; nesnenin erişim yetkisine bağlı olarak, zaten kimliği doğrulanmış bir nesneden erişim isteği verme veya erişim isteğini reddetme kararı alır. Kimlik doğrulama ve erişim kontrolü genellikle tek bir işlemde birleştirilir; böylece erişim, başarılı kimlik doğrulamasına veya anonim erişim belirtecine(jetonuna) dayalı olarak onaylanır. Kimlik doğrulama yöntemleri ve belirteçleri arasında parolalar, biyometrik taramalar, fiziksel anahtarlar, elektronik anahtarlar ve aygıtlar, gizli yollar, sosyal engeller, insanlar ve otomatik sistemler tarafından izleme bulunur.

Kriptografide Galois / Sayaç Modu (GCM), performansı sayesinde yaygın olarak benimsenen simetrik anahtar şifreleme blok şifrelemeleri için bir çalışma modudur. Son teknoloji ürünü olan GCM, yüksek hızlı iletişim kanalları için ucuz donanım kaynakları ile üretim hızlandırabilir. Bu operasyon, hem veri doğruluğu (bütünlük) hem de gizlilik sağlamak için tasarlanmış kimliği doğrulanmış bir şifreleme algoritmasıdır. GCM, 128 bit blok boyutuna sahip blok şifreleri için tanımlanmıştır. Galois İleti Kimlik Doğrulama Kodu (GMAC), arttırımlı ileti doğrulama kodu olan GCM'in sadece kimlik doğrulama türüdür. Hem GCM hem de GMAC, başlatma vektörleri keyfi uzunlukta kabul edebilir.