it-swarm-tr.com

Kullanıcı e-postasına şifre göndermek güvenli midir?

E-posta HTTPS tarafından güvenli olmadığından şifreleri bir kullanıcıya e-posta yoluyla göndermek ne kadar güvenlidir.

Onu korumanın en iyi yolu nedir? Şifreleme kullanmalı mıyım?

102
user310291

Parolaları hiçbir zaman net olarak açık bir şekilde göndermemeli, ne de açık bir şekilde saklamamalısınız. Onları bcrypt veya PBKDF2 gibi yavaş tek yönlü bir şifreleme karması kullanarak hash etmelisiniz. Bir kullanıcı şifresini unutursa, hesaplarına bir kerelik sıfırlama bağlantısı gönderen bir "şifreyi sıfırla" işlevi sunarsınız.

Aşağıdaki gibi bir şema mantıklıdır:

  • Kullanarak tüm şifreleri karma bir tuz artı bcrypt/PBKDF2. Bakınız buradaki akıl yürütmem . (EDIT, Mart 2019: Argon2 kullanın )
  • Giriş yaptıktan sonra karmaları doğrulayın.
  • Bir kullanıcı parolasını unutursa, veritabanında depolanan rastgele oluşturulmuş bir sıfırlama belirteci kullanarak güvenli bir kerelik sıfırlama bağlantısı gönderin. Belirteci benzersiz ve gizli olmalıdır, bu nedenle belirteci veritabanında toplayın ve bağlantı kullanıldığında karşılaştırın.
  • Bir jetonun yalnızca onu isteyen kullanıcının şifresini sıfırlamak için kullanılabileceğini zorlayın.
  • Jeton kullanıldıktan sonra, veritabanından silinmeli ve tekrar kullanılmasına izin verilmemelidir.
  • Sıfırlama jetonları da dahil olmak üzere parolaya eşit tüm jetonların süresinin kısa bir süre sonra sona ermesini sağlayın; 48 saat. Bu, bir saldırganın daha sonraki bir tarihte kullanılmayan simgeleri kullanmasını önler.
  • Kullanıcının yeni bir şifre belirlemesine izin vermek için hemen bir form görüntüleyin. Geçici olarak rastgele oluşturulan şifreler kullanmayın!
  • Tüm bunları SSL üzerinden yapın.

Güvenli giriş sistemlerinin nasıl oluşturulacağına dair tam bir kılavuz seti için Form Tabanlı Web Sitesi Kimlik Doğrulaması için Kesin Kılavuz ile okumanızı öneririm.

156
Polynomial

E-posta güvenli değil. E-posta üzerinden şifre göndermek bu nedenle bir güvenlik riskidir. Riski azaltmak için, (bazı durumlarda) e-postayla gönderilen parolanın tek seferlik bir parola olmasını sağlayarak, kullanıcının yalnızca yeni bir parola seçme olasılığını açar.

Bu web sitesi sistemleri için parolamı unuttum budur: kullanıcı "dammit, parolamı unuttum" düğmesini tıklar ve bir URL içeren bir e-posta gönderilir (HTTPS ile ) rastgele bir oturum tanımlayıcı yerleştirir ve kullanıcının yeni bir şifre seçmesine izin veren bir sayfayı gösterir. URL "bir defalık şifre" dir. Bu şema ile, en azından sunucu tarafından URL'nin ne zaman kullanıldığını öğrenebilirsiniz.

Şifrelemeyi düzgün bir şekilde yapabiliyorsanız, örneğin kullanıcının ortak anahtarıyla şifrelenmiş bir OpenPGP veya S/MIME mesajı gönderebiliyorsanız, kullanıcı özel/ortak anahtar çiftine sahiptir: bu durumda neden hiç şifre kullanasınız?

42
Thomas Pornin

Kullanıcıya parola göndermek kötü bir uygulamadır, çünkü bu, kullanıcı parolasının açık bir kopyasına sahip olduğunuz anlamına gelir.

Bunu yapmak için iyi bir neden düşünemiyorum. İhtiyacınız olanı başarmanın daha güvenli yolları vardır.

E-posta güvenliği ile ilgili genel bir cevap için, içinde iyi bilgiler olan this bağlantısını okumanızı öneririz.

Hassas bilgileri e-posta ile göndermek zorundaysanız, verileri korumak için PGP veya diğer şifreleme teknikleri gibi bir şema kullanın.

22
user10211

İlk etapta gönderilecek 'şifreyi temizle' (kayıt işleminin yanı sıra) varsa, yanlış yapıyorsunuz demektir. Düz metin şifresini asla saklamayın! Son zamanlarda Sony Music ve benzerleri gibi birçok şirket de yakılıyor .. ve size tüketicilerin mutlu olmadığını söylememe izin verin.

4
Vaughan Hilts

Önceki yayınları yankılamak, e-posta kesinlikle güvenli değildir ve hiçbir zaman hassas verileri , özellikle de şifreleri e-postayla göndermemelisiniz. Özellikle şifrelenmediği ve açık metin olarak bulunduğumuz için, herkesin e-postanıza girmesi ve herkese açık ağ üzerinden bunlara erişmesi son derece kolaydır.

Siz veya istemciniz şifrelerinizi hatırlamakta sorun yaşıyorsanız güvenli bir şifre yöneticisi kullanmalısınız. Bu, tamamen şifrelenmiş bir kasada şifrelerinizin bir listesini barındıran bir web sitesidir. İyi olanlar KeePass veya LastPass.

Müşterilere şifrelerini tekrar göndermeye çalışan bir şirketseniz, müşterilerin hesaplarını ilk oluşturduklarında yanıtlayacakları güvenlik sorularınız olmalıdır. Bu şekilde unuturlarsa, bu soruları doğru bir şekilde cevaplamaları ve şifrelerini sıfırlamaları için gönderen bir bağlantıyı tıklayabilirler.

Kendi bilginiz için, bu, şifreleme için dava açan ve belirli şifreleri kullanmaya karşı uyaran bilgilendirici bir blogdur http://www.ziptr.com/blog-last-4-digits-ssn-password = Ziptr.

3
Katie Campbell