Bilgisayar güvenliğinde, meydan okuma – karşılık verme temelli kimlik doğrulama, bir tarafın soru sorduğu (meydan okuma) 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.
En basit örneği, parola ile kimlik doğrulamadır. Burada, meydan okuma parolanın sorulması ile sağlanır. Geçerli karşılık ise doğru parolanın girilmesidir.
Açıkça, parola ile kimlik doğrulama sürecini dinleyen bir düşman, aynı şekilde kimlik doğrulamayı gerçekleştirebilir. Bu konudaki çözümlerden biri, her biri farklı bir belirteç ile işaretlenmiş çok sayıda parola kullanmaktır. Onaylayıcı bu parolalardan herhangi birini sorabilir. Kimliğini kanıtlayacak kişi, sorulan belirteç için doğru parolaya sahip olmalıdır. Parolaların bağımsız olarak seçildiğini varsayarsak, bir kimlik doğrulama mesaj çiftini dinleyen düşman farklı bir meydan okuma ile ilgili hiçbir ipucuna sahip değildir.
Örneğin; diğer iletişim güvenlik metotları kullanılabilir olmadığında, ABD ordusu, kimlik doğrulama ve şifreleme için AKAC-1553 TRIAD numaralı şifrelemeyi kullanır. TRIAD, 3 harflik meydan okuma kodlarının bulunduğu bir listeyi içerir. Onaylayıcı, bu listeden meydan okuma kodunu ve bu kodun karşılığını rastgele seçer. Güvenliği artırmak için, her bir kod kümesi, genellikle 24 saat olan belirli bir zaman aralığında, sadece bir kez geçerlidir.
Daha ilginç bir meydan okuma – karşılık verme tekniği şöyle çalışır: Diyelim ki “Bob”, bazı kaynaklara erişimi kontrol eden kişi. Alice giriş yapmak için gelir. Bob bir meydan okuma yayımlar, “52w72y” gibi. Alice, Bob’un yayımladığı meydan okumaya “uyan” tek karşılığı cevaplamak zorundadır. Burada “uyan” ifadesi, Bob ve Alice tarafından bilinen, algoritma tarafından belirlenmiş bir karşılıktır (Doğru karşılık “63x83z” gibi meydan okumadaki her bir karakterin bir üstüne tekabül eden bir karşılık dahi olabilir. Yine de gerçek dünyada karşılığı bulamaya yarayan bu kurallar çok daha karmaşıktır). Bob, her seferinde farklı bir meydan okuma yayımlar ve bir önceki meydan okumanın karşılığını bilmek işe yaramaz, Alice ve Bob arasındaki mesajlaşma gizli olmasa bile. Alice’in verdiği karşılığın bir parçası kimlik doğrulama yapmak isteyenin Alice olduğu bilgisini içerebilir.
1980 ve 1990’lardaki yazılımlar sıkça benzer bir metodu kullanmışlardır, kopyalamayı engellemek için: meydan okumalar şu şekilde sorular olabilir “Kullanım kılavuzunun 418. Sayfasında, üçüncü paragraftaki ikinci kelime nedir?”. Buradaki güvenlik varsayımı, kullanım kılavuzunu kopyalamanın yazılım diskini kopyalamaktan daha zor olacağı düşüncesinden gelmektedir. Bazı durumlarda kullanım kılavuzu, modern fotokopi makinelerinin sayfaları çift kopya çoğaltamayacağı şekilde çıkartılabilirdi.
Diğer kriptografik olmayan protokoller
Meydan okuma – karşılık verme protokolleri, gizli bir bilginin bilinmesi dışında şeyler de ileri sürebilir. CAPTCHA’lar, örneğin, Turing testinin bir türevidir ve Web uygulamasını görüntüleyenin gerçek bir kişi olup olmadığını belirlemeyi amaçlar. Görüntüleyen tarafa gönderilen meydan okuma, bir yazının bozulmuş halidir ve görüntüleyen tarafın metni girmesi beklenir. Burada bozulma, otomatik optik karakter tanımayı (OCR) zorlaştırmak ve bir bilgisayar programının insan olarak geçişini engellemek için tasarlanmıştır.
Kriptografik teknikler
Kriptografik olmayan kimlik onaylama, internetten önceki günlerde genellikle yeterliydi. O zamanlar, kullanıcılar parolalarını girerlerken, parolayı soranın erişmek istedikleri sistem olduğundan ve kimsenin hattı dinlemediğinden emindiler. Ancak, güvenli olmayan kanal problemini çözmek için daha gelişmiş bir yaklaşım gerekli. Birçok kriptografik çözüm 2 yönlü kimlik doğrulamayı içeriyor. Bu yöntemde hem kullanıcı hem de sistem paylaşılan sırrı (secret) bildiklerine karşı tarafa ikna etmek zorunda.
Bu uygulamayı gerçekleştirmenin bir yolu, parolayı rastgele oluşturulan meydan okumayı şifrelemek için kullanmak ve karşı tarafın da meydan okumanın karşılığını aynı şekilde şifreleyip yollaması ki böylece şifreyi bildiğini ve meydan okumayı çözebildiğini kanıtlamış olsun. Örneğin, Kerberos’ta, meydan okuma şifrelenmiş bir tam sayıdır. Karşılık ise bu sayının bir fazlasının şifrelenmiş halidir. Böylece meydan okumaya karşılık veren taraf meydan okumanın şifresini çözdüğünü, dolayısıyla anahtara sahip olduğunu kanıtlamış olur. Diğer türevlerinde ise, bir özet fonksiyonu (hash function), karşılık değerini bulmak amacıyla, parolanın ve rastgele bir değerin hash sonucunu bulmada kullanılır.
Bu tür şifrelenmiş ya da özet fonksiyonu kullanılan değişimler, dinlemeler karşısında parolanın direkt öğrenilmesini engeller. Bununla beraber, dinleyen kişinin parolanın ne olduğunu, sözlük ya da kaba kuvvet saldırılarıyla bulmasına yetecek kadar bilgi de sızdırabilir. Burada, her bir değişim için ayrı ayrı kullanılan rastgele değerin amacı tekrar saldırılarına (replay attack) karşı koymak için içindir. Bu saldırıda, değiştirilen veriyi dinleyen bir saldırgan, sonraki bir zamanda bu veriyi aynen göndererek taraflardan birini, kimliğinin doğrulanmış olduğuna dair kandırabilir.
Kimlik doğrulama protokolleri, genellikle kriptografik nonce’ları (bir kez kullanılan sayılar), her bir karşılığın eşsiz olduğundan emin olmak adına meydan okumada kullanırlar. Böylece, ortadaki adam (man in the middle) ve ardışık tekrar saldırılarına karşı koruma sağlanır. Eğer gerçek bir nonce oluşturmak pratik değilse, güçlü bir kriptografik olarak güvenli sözderastsal sayı üreteci ve özet fonksiyonu da bir kereden fazla ortaya çıkması oldukça düşük ihtimal sayılar üretebilir. Bu noktada zaman tabanlı nonce’lar kullanmamak, farklı zaman dilimindeki ve hassas olmayan saatlere sahip sunucuları yanıltacağından önemlidir.
Karşılıklı kimlik doğrulama, çift yönlü meydan okuma – karşılık verme el sıkışması uygulanarak sağlanır. Hem sunucu hem de kullanıcı, karşı tarafın sırrı bildiğinden ve hilekâr bir sunucunun gerçek sunucu yerine geçmeye çalışmadığından emin olurlar.
Meydan okuma – karşılık verme temelli kimlik doğrulama, şifreleme için oturum anahtarlarının değişiminde karşılaşılan problemi çözmede kullanılabilir. Anahtar türetme işlevi (key derivation function) kullanılarak, meydan okuma değeri ve sır tahmin edilemez bir oturum anahtarı oluşturmak için bir araya getirilebilirler. Bu yöntem, özellikle ortadaki adam saldırısına karşı etkilidir, çünkü saldırgan sırrı bilmeden meydan okumayı kullanarak oturum anahtarına ulaşamayacaktır ve böylece veri akışının şifresini de çözemeyecektir.
Basit karşılıklı kimlik doğrulama örneği
- Sunucu, istemciye eşsiz bir meydan okuma değeri, sc, gönderir
- İstemci eşsiz bir meydan okuma değeri, cc, oluşturur
- İstemci, cr=özet(cc + sc + sır) hesaplar
- İstemci cr ve cc değerlerini sunucuya gönderir
- Sunucu cr değerini hesaplar ve istemcinin gönderdiği değerle kıyaslar
- Sunucu sr=özet(sc + cc + sır) değerini hesaplar
- Sunucu sr değerini gönderir
- İstemci sr değerini hesaplar ve sunucunun gönderdiği değerle kıyaslar
Parola depolama
Parolaların depolanmasından kaçınmak için, bazı işletim sistemleri (Unix-type gibi) parolaların kendileri yerine özetlerini depolar. Kimlik doğrulama sırasında, sistem sadece girilen parolanın özeti ile kayıtlı olan özeti kıyaslar. Bu metot, parola depolanmadığından ve özet değeri verilen parolanın kendisini bulmak çok zor olduğundan; sisteme sızan saldırgan için parolaları elde etmeyi zorlaştırır. Bununla beraber, bu metot, birçok meydan okuma – karşılık verme algoritması için bir problem teşkil eder. Hem istemcinin hem de sunucunun paylaşılan bir sırra sahip olmasını şart koşmaktadır. Parolanın kendisi tutulmadığından, algoritma genellikle parolayı değil de özetini kullanır. Bu durumda da, saldırgan parola yerine özet değeri çalabilir. SCRAM bu problemi çözmüş olan bir meydan okuma – karşılık verme algoritmasıdır.
Örnekler
Daha gelişmiş meydan okuma – karşılık verme algoritmalarının örnekleri sıfır-bilgi parola ispatı (zero-knowledge password proof) ve anahtar anlaşma sistemleridir (Secure Remote Password, SRP gibi). Meydan Okuma-El Sıkışma Kimlik Doğrulama Protokolü (Challenge-Handshake Authentication Protocol, CHAP), CRAM-MD5, OCRA, OATH, SCRAM bazı diğer örneklerdir.
Bazı kişiler CAPTCHA’yı da bir çeşit meydan okuma – karşılık verme tabanlı kimlik doğrulama yöntemi sayarlar.
Ayrıca bakınız
Kaynakça
- ^ "Challenge-Response Authentication" 3 Nisan 2017 tarihinde Wayback Machine sitesinde ..
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bilgisayar guvenliginde meydan okuma karsilik verme temelli kimlik dogrulama bir tarafin soru sordugu meydan okuma ve diger tarafin da kimlik dogrulama icin bu soruya gecerli bir cevap karsilik uretmek zorunda oldugu bir protokol ailesidir En basit ornegi parola ile kimlik dogrulamadir Burada meydan okuma parolanin sorulmasi ile saglanir Gecerli karsilik ise dogru parolanin girilmesidir Acikca parola ile kimlik dogrulama surecini dinleyen bir dusman ayni sekilde kimlik dogrulamayi gerceklestirebilir Bu konudaki cozumlerden biri her biri farkli bir belirtec ile isaretlenmis cok sayida parola kullanmaktir Onaylayici bu parolalardan herhangi birini sorabilir Kimligini kanitlayacak kisi sorulan belirtec icin dogru parolaya sahip olmalidir Parolalarin bagimsiz olarak secildigini varsayarsak bir kimlik dogrulama mesaj ciftini dinleyen dusman farkli bir meydan okuma ile ilgili hicbir ipucuna sahip degildir Ornegin diger iletisim guvenlik metotlari kullanilabilir olmadiginda ABD ordusu kimlik dogrulama ve sifreleme icin AKAC 1553 TRIAD numarali sifrelemeyi kullanir TRIAD 3 harflik meydan okuma kodlarinin bulundugu bir listeyi icerir Onaylayici bu listeden meydan okuma kodunu ve bu kodun karsiligini rastgele secer Guvenligi artirmak icin her bir kod kumesi genellikle 24 saat olan belirli bir zaman araliginda sadece bir kez gecerlidir Daha ilginc bir meydan okuma karsilik verme teknigi soyle calisir Diyelim ki Bob bazi kaynaklara erisimi kontrol eden kisi Alice giris yapmak icin gelir Bob bir meydan okuma yayimlar 52w72y gibi Alice Bob un yayimladigi meydan okumaya uyan tek karsiligi cevaplamak zorundadir Burada uyan ifadesi Bob ve Alice tarafindan bilinen algoritma tarafindan belirlenmis bir karsiliktir Dogru karsilik 63x83z gibi meydan okumadaki her bir karakterin bir ustune tekabul eden bir karsilik dahi olabilir Yine de gercek dunyada karsiligi bulamaya yarayan bu kurallar cok daha karmasiktir Bob her seferinde farkli bir meydan okuma yayimlar ve bir onceki meydan okumanin karsiligini bilmek ise yaramaz Alice ve Bob arasindaki mesajlasma gizli olmasa bile Alice in verdigi karsiligin bir parcasi kimlik dogrulama yapmak isteyenin Alice oldugu bilgisini icerebilir 1980 ve 1990 lardaki yazilimlar sikca benzer bir metodu kullanmislardir kopyalamayi engellemek icin meydan okumalar su sekilde sorular olabilir Kullanim kilavuzunun 418 Sayfasinda ucuncu paragraftaki ikinci kelime nedir Buradaki guvenlik varsayimi kullanim kilavuzunu kopyalamanin yazilim diskini kopyalamaktan daha zor olacagi dusuncesinden gelmektedir Bazi durumlarda kullanim kilavuzu modern fotokopi makinelerinin sayfalari cift kopya cogaltamayacagi sekilde cikartilabilirdi Diger kriptografik olmayan protokollerMeydan okuma karsilik verme protokolleri gizli bir bilginin bilinmesi disinda seyler de ileri surebilir CAPTCHA lar ornegin Turing testinin bir turevidir ve Web uygulamasini goruntuleyenin gercek bir kisi olup olmadigini belirlemeyi amaclar Goruntuleyen tarafa gonderilen meydan okuma bir yazinin bozulmus halidir ve goruntuleyen tarafin metni girmesi beklenir Burada bozulma otomatik optik karakter tanimayi OCR zorlastirmak ve bir bilgisayar programinin insan olarak gecisini engellemek icin tasarlanmistir Kriptografik tekniklerKriptografik olmayan kimlik onaylama internetten onceki gunlerde genellikle yeterliydi O zamanlar kullanicilar parolalarini girerlerken parolayi soranin erismek istedikleri sistem oldugundan ve kimsenin hatti dinlemediginden emindiler Ancak guvenli olmayan kanal problemini cozmek icin daha gelismis bir yaklasim gerekli Bircok kriptografik cozum 2 yonlu kimlik dogrulamayi iceriyor Bu yontemde hem kullanici hem de sistem paylasilan sirri secret bildiklerine karsi tarafa ikna etmek zorunda Bu uygulamayi gerceklestirmenin bir yolu parolayi rastgele olusturulan meydan okumayi sifrelemek icin kullanmak ve karsi tarafin da meydan okumanin karsiligini ayni sekilde sifreleyip yollamasi ki boylece sifreyi bildigini ve meydan okumayi cozebildigini kanitlamis olsun Ornegin Kerberos ta meydan okuma sifrelenmis bir tam sayidir Karsilik ise bu sayinin bir fazlasinin sifrelenmis halidir Boylece meydan okumaya karsilik veren taraf meydan okumanin sifresini cozdugunu dolayisiyla anahtara sahip oldugunu kanitlamis olur Diger turevlerinde ise bir ozet fonksiyonu hash function karsilik degerini bulmak amaciyla parolanin ve rastgele bir degerin hash sonucunu bulmada kullanilir Bu tur sifrelenmis ya da ozet fonksiyonu kullanilan degisimler dinlemeler karsisinda parolanin direkt ogrenilmesini engeller Bununla beraber dinleyen kisinin parolanin ne oldugunu sozluk ya da kaba kuvvet saldirilariyla bulmasina yetecek kadar bilgi de sizdirabilir Burada her bir degisim icin ayri ayri kullanilan rastgele degerin amaci tekrar saldirilarina replay attack karsi koymak icin icindir Bu saldirida degistirilen veriyi dinleyen bir saldirgan sonraki bir zamanda bu veriyi aynen gondererek taraflardan birini kimliginin dogrulanmis olduguna dair kandirabilir Kimlik dogrulama protokolleri genellikle kriptografik nonce lari bir kez kullanilan sayilar her bir karsiligin essiz oldugundan emin olmak adina meydan okumada kullanirlar Boylece ortadaki adam man in the middle ve ardisik tekrar saldirilarina karsi koruma saglanir Eger gercek bir nonce olusturmak pratik degilse guclu bir kriptografik olarak guvenli sozderastsal sayi ureteci ve ozet fonksiyonu da bir kereden fazla ortaya cikmasi oldukca dusuk ihtimal sayilar uretebilir Bu noktada zaman tabanli nonce lar kullanmamak farkli zaman dilimindeki ve hassas olmayan saatlere sahip sunuculari yaniltacagindan onemlidir Karsilikli kimlik dogrulama cift yonlu meydan okuma karsilik verme el sikismasi uygulanarak saglanir Hem sunucu hem de kullanici karsi tarafin sirri bildiginden ve hilekar bir sunucunun gercek sunucu yerine gecmeye calismadigindan emin olurlar Meydan okuma karsilik verme temelli kimlik dogrulama sifreleme icin oturum anahtarlarinin degisiminde karsilasilan problemi cozmede kullanilabilir Anahtar turetme islevi key derivation function kullanilarak meydan okuma degeri ve sir tahmin edilemez bir oturum anahtari olusturmak icin bir araya getirilebilirler Bu yontem ozellikle ortadaki adam saldirisina karsi etkilidir cunku saldirgan sirri bilmeden meydan okumayi kullanarak oturum anahtarina ulasamayacaktir ve boylece veri akisinin sifresini de cozemeyecektir Basit karsilikli kimlik dogrulama ornegiSunucu istemciye essiz bir meydan okuma degeri sc gonderir Istemci essiz bir meydan okuma degeri cc olusturur Istemci cr ozet cc sc sir hesaplar Istemci cr ve cc degerlerini sunucuya gonderir Sunucu cr degerini hesaplar ve istemcinin gonderdigi degerle kiyaslar Sunucu sr ozet sc cc sir degerini hesaplar Sunucu sr degerini gonderir Istemci sr degerini hesaplar ve sunucunun gonderdigi degerle kiyaslarParola depolamaParolalarin depolanmasindan kacinmak icin bazi isletim sistemleri Unix type gibi parolalarin kendileri yerine ozetlerini depolar Kimlik dogrulama sirasinda sistem sadece girilen parolanin ozeti ile kayitli olan ozeti kiyaslar Bu metot parola depolanmadigindan ve ozet degeri verilen parolanin kendisini bulmak cok zor oldugundan sisteme sizan saldirgan icin parolalari elde etmeyi zorlastirir Bununla beraber bu metot bircok meydan okuma karsilik verme algoritmasi icin bir problem teskil eder Hem istemcinin hem de sunucunun paylasilan bir sirra sahip olmasini sart kosmaktadir Parolanin kendisi tutulmadigindan algoritma genellikle parolayi degil de ozetini kullanir Bu durumda da saldirgan parola yerine ozet degeri calabilir SCRAM bu problemi cozmus olan bir meydan okuma karsilik verme algoritmasidir OrneklerDaha gelismis meydan okuma karsilik verme algoritmalarinin ornekleri sifir bilgi parola ispati zero knowledge password proof ve anahtar anlasma sistemleridir Secure Remote Password SRP gibi Meydan Okuma El Sikisma Kimlik Dogrulama Protokolu Challenge Handshake Authentication Protocol CHAP CRAM MD5 OCRA OATH SCRAM bazi diger orneklerdir Bazi kisiler CAPTCHA yi da bir cesit meydan okuma karsilik verme tabanli kimlik dogrulama yontemi sayarlar Ayrica bakinizVikikitap Vikikitapta bu konu hakkinda daha fazla bilgi var Internet Technologies Email spam Man in the middle attackKaynakca Challenge Response Authentication 3 Nisan 2017 tarihinde Wayback Machine sitesinde