it-swarm-tr.com

Kimlik doğrulama ve tanımlama arasındaki fark [Kripto ve Güvenlik perspektifi]

Güvenlik literatüründe (yani, kripto alanı dışında) Word kimlik doğrulamasının kullanılma şekliyle her zaman kafam karışıyor. Çoğu zaman aslında kimlik kimlik ima ettiğini anlıyorum.

Örneğin Wikipedia'dan: Merkezi Kimlik Doğrulama Hizmeti kimlik doğrulaması için kimlik doğrulaması terimini kullanır (doğru anlarsam).

Kripto'da anladığım kadarıyla:

  • Kimlik doğrulama: mesajın belirli bir sırrın sahibinden geldiğine dair bir kanıt.
  • Kimlik: karşı tarafın belirli bir sırrı bildiği aktarılamaz bir kanıt (sırrı açığa vurmadan)
  • Reddetmeme: mesajın belirli bir sırrın sahibinden kaynaklandığı aktarılabilir bir kanıt.

[Lütfen üç terimi doğru anladıysam bana bildirin. Alternatif/rafine edilmiş/daha yararlı tanımlamalar yapmaktan çekinmeyin]

Birisi hem kripto hem de genel güvenlik literatüründe authentication ve identification iki terimin anlamlarını açıklayabilir mi?

19
Jus12

Bir ağ üzerinden iletişim bağlamında, bir kimlik belirli bir veri parçasının bilgisine eşdeğerdir: özet olarak, dışarıdan ne yaptığınızı belirli bir varlığı dışarıdan bilebilir, sadece o varlığın hangi baytta yaydığı, yani neler yapabileceğini içerir hesaplama. Herkes aynı tür PC'yi satın alabileceğinden, hesaplama yeteneklerindeki farklılıklar nihayetinde varlıkların biliyorum. Örneğin. siz, StackExchange bakış açısından me 'dan farklıdır, sadece' Jus12 'hesabının şifresini bildiğinizden ve ben bilmiyorum, 'Tom Leek' hesabının şifresini biliyorum ve siz bilmiyorsunuz.

Kimlik , belirli bir varlığın dahil olmasını ve bir şekilde 'etkin' olmasını sağlamakla ilgilidir. Örneğin, StackExchange sunucusu parolamı göstererek bana (bilgisayarım) meydan okuyarak hayatta kaldığımdan emin olabilirim. StackExchange sunucusu (aslında, dolaylı bir şema kullandıkları için başka bir sunucu, ancak bu bir teknik)) ayrıca şifremi biliyor, bu nedenle SE sorgusuna başarıyla yanıt verildiğinde, yalnızca SE sunucusu hattın diğer ucunda, ben veya SE sunucusunun kendisi olan bir varlığı işlettiğini bilir. Tanımlama protokolleri, kurnaz, kötü niyetli bir kişi tarafından (bundan böyle genel olarak 'saldırgan' olarak adlandırılacaktır) kendisi ile konuşmaya teşvik edilen bir sunucunun oluşumundan kaçınmaya veya en azından güvenilir bir şekilde tespit etmeye özen göstermelidir.

Kimlik, kendisi gibi, oldukça işe yaramaz. SE sunucusunun bilmek istediği şey, ben, Tom Leek, var olduğumuzu ve uyanık olduğumuzu değil; SE sunucusu buna oldukça ikna oldu ve umursamıyor. SE sunucusunun istediği, ben yayınlayacağım HTTP isteklerinin I onaylamak olduğundan emin olmaktır. kimlik doğrulaması istiyorlar : bu kimlik, diğer bazı verilere uygulanır. Bu nedenle tanımlama, bir grup veriye uygulanabileceğine inandığı sürece yararlıdır, bu daha sonra "doğrulanmış" bir provenans olarak. Kimlik ile veri arasındaki bağlantı, saldırganın verilere uygulayabileceği öfke konusunda esnek olmalıdır. StackExchange söz konusu olduğunda, bir HTTP isteğinin bütünlüğünün varsayıldığı için saldırganın oldukça zayıf olması gerekir: kimlik bölümü bir çerez haline gelir. bir HTTP isteğinin bir parçasıysa ve SE sunucusu saldırganın isteği veya çerezi değiştiremeyeceğini veya çerezi kopyalayamayacağını ve yeni bir sahte HTTP isteğine ekleyemeyeceğini varsayar.

Daha kapsamlı kimlik doğrulaması genellikle kriptografik olarak güçlü bir bağlantı kullanır; a SSL/TLS tünel (genellikle HTTPS'nin bir parçası olarak). Tünelin şifreleme özellikleri, sunucunun SSL oturumu boyunca aynı varlıkla konuşacağından emin olabileceğini ima eder; ayrıca, sunucunun gerektiği gibi doğrulandığı bir SSL tüneli üzerinden gerçekleşmediği sürece, kullanıcının hesap parolasıyla ilgili herhangi bir tanımlama protokolü oynatmayacağını varsayar (yani, istemci doğru sunucuyla konuştuğundan emin olur - sunucu sertifika bununla ilgilidir - ve hangi veri gönderilirse o sunucuya gidecektir, bu yüzden kimlik doğrulamasıdır). Bu koşullar altında, sunucu bu tünel içinde tanımlamak beni yapabilirse, kimlik daha sonra tünelden gönderilen verileri kapsar: tünel kimlik ve veri arasındaki bağlantıdır, bu yüzden bu kimlik doğrulamadır .

Reddetmeme , kimlik ve veri arasındaki bağlantının yalnızca etkileşimli olarak, her kim tarafından etkileşimli olarak doğrulanamadığı bazı kimlik doğrulama protokollerinin bir özelliğidir. hattın diğer ucu değil, aynı zamanda bir üçüncü taraf, örneğin bir hakim tarafından. Parola tabanlı şemalar normalde bu özelliği sunmazlar, çünkü doğrular parola aynı zamanda onu az çok doğrudan bilmeli ve böylece iddia edilen yayıcıyı çerçeveleyebilir. Reddetmemek matematik gerektirir. Bir SSL tünelinde, istemcinin sunucuyu asimetrik şifreleme dolu sertifikası aracılığıyla doğruladığını, ancak bunun reddedilmeyeceğini unutmayın: istemci, sunucudan aldığı her türlü veri gerçekten sunucudan geldiğinden emin olur , ancak istemcinin kaydedebileceği hiçbir şey yoktur, bu da bir hakimi sunucunun gerçekten bu verileri gönderdiğine ikna eder. Reddetmemek için dijital imzalar gerekir. Reddetme olmadan, hesapsal olarak daha hafif olan Mesaj Kimlik Doğrulama Kodları olarak bilinen algoritmalarla kimlik doğrulama yapılabilir. Kafa karıştırıcı bir şekilde, MAC'a “imza” deme yaygın (ama yanlış) bir geleneği vardır.

Özet:

  • Kimlik: ilgili varlık [~ # ~] e [~ # ~] ilgili ve yanıt veriyor.
  • Dürüstlük: Alınan her türlü veri olduğu gibi gönderilmiştir E ' ve değiştirilmedi.
  • Kimlik Doğrulama: aynı anda kimlik ve bütünlük ( E = E ').
  • Reddetmeme: bir hakimi ikna edebilecek kimlik doğrulama.
20
Tom Leek

Tanımlama, müdürü tanımlamanın bir yoludur, ör. kullanıcı adı, e-posta, Ad + Soyadı vb. Ana kullanıcıdır.

Kimlik doğrulama, müdürün söyledikleri kişi olduğunu kanıtlamanın bir yoludur.

Örneğin bir sisteme giriş yaptığımda kendimi kullanıcı adımla tanımlıyorum (Merhaba, ben SteveS) ve sadece bildiğim ve sistem doğrulayabildiğim bir şifre sağlayarak kendimi doğrularım (Şifrem " foo ").

İyi bir gerçek dünya örneği, sürücü lisanslarının kullanılmasıdır. Gömleğime bir isim etiketi yapıştırabilir ve Joe olduğumu belirleyebilirim, ancak birisi Joe olduğumu kanıtlamak isterse, onlara ehliyetimi gösteririm. Kimlik doğrulama, lisanstaki fotoğrafla kişi karşılaştırılarak yapılır.

8
Steve

Cevabım kısa, ama ben bu ikisini hep böyle okudum.

Tanımlama "Ben Joe Schmoe!" Kimlik doğrulaması bir şeyle (şifre, doğum sertifikası, DNA sonuçları) kanıtlıyor.

BT'de, her bir kişinin ayrı kimliklere sahip olması gerekir, böylece onları doğru bir şekilde tanımlayabilir ve onlara haklar atayabiliriz (Ben Joe Schmoe! Ben de! Ben üçüm! Ama hepimiz aynı erişime ihtiyacımız yok). İnsanların, kendilerini doğrulayarak iddia ettikleri kişiler olduklarını kanıtlamaları da gerekir (üç kimlik doğrulama faktörünü, bildiğiniz, sahip olduğunuz veya bulunduğunuz bir şeyi unutmayın).

3
Jeff

Basit bir açıklama kullanma

Kimlik: Bir kişiyi nasıl tanımladığınız, yani bu kişiyi veya şirketi nasıl tanımlayacağınızdır. Belirli bir sistemdeki isim, bir bankadaki hesap numarası, kullanıcı adı olabilir.

Kimlik doğrulama: Sisteminizde bir şey yapan bir kişinin gerçekten söylediği kişi olduğunu nasıl doğrularsınız. Tanıdığı bir şeyi vererek (bir şifre - tek faktörlü kimlik doğrulama) ya da bildiği bir şeyi + sahip olduğu bir şeyi (şifre + dijital sertifika - iki faktörlü kimlik doğrulama) vererek kanıtlayabilir.

Reddetmeme: bir kişi bir belgenin yazarlığını inkâr edemez, çünkü belge yalnızca kimliği doğrulanmış biri tarafından üretilebilir ve bu nedenle belirli bir kimlik ile belge arasında bir ilişki vardır.

2
woliveirajr

Kimlik - Siz kimsiniz?

Kimlik Doğrulama - Söylediğiniz kişi olduğunuzdan emin olun.

Buradaki tüm cevaplardan çok farklı bir cevap vereceğim.

Kimlik doğrulama ve tanımlama arasındaki fark önemli değil.

Herkes bunu farklı tanımlamaktadır, örneğin Fiat-Shamir makalesi aşağıdakileri tanımlamaktadır:

  1. Kimlik Doğrulama: Alice, Bob'a Alice olduğunu kanıtlayabilir, ancak Charles Bob'a Alice olduğunu kanıtlayamaz.
  2. Kimlik: Alice, Bob'a Alice olduğunu ispatlayabilir, ancak David David'e Alice olduğunu ispatlayamaz.
  3. İmza: Alice, Bob'a Alice olduğunu kanıtlayabilir, ama Bob kendisine Alice olduğunu kanıtlayamaz.

(ki tahmin ediyorum schnorr kimlik protokolü gibi sigma protokollerinde, sıfır bilgi özelliğini sağlamak için bir doğrulayıcının kanıtlayıcıyı başarılı bir şekilde tanımlayan sahte bir transkript oluşturabilmesi gerekir. )

İki ek karışıklık noktası:

  • kimlik doğrulama aynı zamanda aşırı yüklenmiş bir terimdir, örneğin "bütünlük (koruma)" anlamına gelen mesaj kimlik doğrulama kodlarında ve kimlik doğrulamalı şifrelemede kullanılır.
  • web'deki birçok makale, kimlik doğrulaması vs yetkilendirme ile ilgilidir, çünkü kullanılan OAuth 2.0 gibi yetkilendirme protokolleriyle ilgili bazı sorunlar (örneğin, bu facebook profilinin e-postasına ve profil resmine erişmeme izin verin) kimlik doğrulama protokolleri olarak (örneğin ben bu facebook profiliyim).

Yani, basit olmak gerekirse, Kimlik Doğrulama yaklaşık kim olduğunuzu kanıtlamak. Başka bir şey yok.

0

Kimlik, doğrulayıcının, bildiği tüm varlıklara karşı sunulan bilgileri kontrol etmesini gerektirir Kimlik Doğrulama, bilgilerin önceden tanımlanmış tek bir varlık için kontrol edilmesini gerektirir.

0
Hamidullah Amid

Kimlik: Kimsiniz?

Doğrulama: Tamam. Nasıl kanıtlayabilirsin?

Yetkilendirme: Ne yapabilirim?

0