Yanıtlar
- SRP - Güvenli Uzaktan Şifre - Bu, Diffie-Hellman'a dayanmaktadır. Buradaki fikir, şifreyi veya türetmek için kullanılabilecek herhangi bir bilgiyi aktarmadan karşılıklı bir şifre kontrolü yapabilmenizdir. Tel üzerinden güvenli olmasına rağmen , sunucunuz bunları asla düz metin olarak saklamaması gerektiğinden , şifrelerinizi mutlaka karmalı ve tuzlamalısınız .
- SRP'nin avantajı, tamamlandıktan sonra, bir saldırganın aktardığınız veriler göz önüne alındığında çıkartamayacağı karşılıklı olarak müzakere edilen bir şifreleme anahtarı vermesidir. Bu, kullanıcının kimliği doğrulandıktan sonra simetrik bir şifreleme algoritması (AES gibi) kullanabileceğiniz anlamına gelir.
- Üstünde kendi güvenilir / sıralı (bağlantı odaklı) uygulamanızla UDP kullandığınızı varsayarsak, 'paket sıra numarası' da dahil olmak üzere tüm UDP oynatma yükünü şifreleyin. Sisteminiz doğru tasarlanmışsa, tekrarlanan mesajları otomatik olarak reddeder ve bir davetsiz misafir, şifrelenmiş olduğu için paket sıra numarasını değiştiremez (bu nedenle bir tekrar mümkündür - ancak otomatik olarak yok sayılır).
Düşünceler
Kimlik doğrulamanız güvenli olmalı mı? Kesinlikle. Bir şifre söz konusu olduğunda güvenlik açısından taviz vermeyin. Bu yüzden cevabımdaki ilk mermiyi kesinlikle düşünmelisiniz.
Verileriniz güvenli olmalı mı? Sadece bir oyun içi satın alma / mikro işlem ise ve neden sadece HTTPS gibi denenmiş ve gerçek bir şey kullanmıyorsunuz? Oyun trafiğinizi şifrelemek, aşağıdaki nedenlerden dolayı geçerli bir çözüm değildir:
- Tam bir paranoyadır.
- (Pahalı) donanım şifreleme modülleri satın alamazsanız, sunucunuza CPU zaman ek yükü ekleyecektir.
- Tel üzerinden verileriniz için ne kadar güvenlik sağladığınız önemli değildir - birisi istemci sürecini ele geçirebilir ve mesajları şifrelenmeden ve gönderilmeden hemen önce kesebilir. Bu sadece bir olasılık olmakla kalmaz, aynı zamanda yakalanan paketlere kıyasla kod enjekte etmek çok daha kolaydır. Hile önleme için bunu yapıyorsanız, tamamen ve tamamen zamanınızı boşa harcıyorsunuz.
- Parola güvenliği açısından maalesef kaçırılmış bir sistem hakkında makul bir şekilde yapabileceğiniz hiçbir şey yoktur, istemci düşmanca hale gelmiştir. Blizzards WoW dongle'ları bununla başa çıkmak için tasarlanmıştır - ama bunun ne kadar güvenli olduğundan emin değilim (özellikle takılı halde bırakırsanız).
Hile önleme için şifreleme yapıyorsanız lütfen bırakın. Kısa geleceksiniz - Olmamanız durumunda size bilgi verdim. Paketleri, paketteki ilk bayt ile seçici olarak şifreleyebileceğinizi ve geri kalanının şifrelenip şifrelenmediğini gösterebileceğinizi unutmayın: kredi kartı işlemleri gibi şeyler yapmanız gerekiyorsa bir kez daha HTTPS'ye bağlı kalacağım: son derece nadir ve HTTPS, sizin veya benim tasarladığınız bir şeyin aksine, uzmanlar tarafından tasarlanmıştır.
Tüm bunlar, Blizzard'ın aslında WoW trafiğini şifrelediğini söyledi . Bunun kırılmasının temel nedeni, büyük olasılıkla tam bir amatör olan bir kişinin, evde yetiştirilen bir şifreleme algoritmasında ellerini denemeye karar vermesidir; bu gerçekten iyi bir şekilde ortaya çıktı . Endüstri standardı algoritmalar kullansanız bile, birisinin kodunuzu tersine mühendislik ve benzetmesi için iyi bir şans vardır - istemci parolasını girdikten sonra desteklenmeyen bir sistemin bağlı olduğunu söylemez.