JSON servisinin güvenliğini nasıl sağlarsınız? - BTSoru.com
Kendi yazdığımız ve gönderilen isteklere json verileri halinde cevap veren bir servisin güvenliğini nasıl sağlarız?
Aklıma bazı fikirler geliyor ama bir türlü güvenliğinden emin olamıyorum.
Kullanıcı girişi falan olacak batiki ama kullanıcı girişi yaparken bile ağ üzerinden kullanıcı adı ve şifre doğrulatmak için server a yollanıyor. Ağ üzerinden bunların erişilmesi mümkün?(En azından ben öyle biliyorum)
Ama diğer taraftanda büyük şirketlerde böyle çalışıyorlar. Google facebook microsoft. Hepside kullanıcı girişi yaptırıyor. Ve gmail outlook yada facebook'un kişiler arası yazışmaları falan hepsi ağ üzerinden oluyor. Ve neredeyse tamamı ajax kullanıyor. Tahminimce arkada JSON servisleri kullanıyorlardır? Peki bu işin güvenliğini nasıl sağlıyorlar? Ne gibi yöntemler var gerçek hayatta kullanılan?
21 Eyl '13, 23:10 emrekacan
Aklıma gelen en iyi yöntem hem serverın hem clientın bildiği bir şifre ile aradaki (kullanıcı adı, şifre dahil) herşeyi dönüşümlü olarak şifrelemek. Bu yöntem masaüstü uygulamaları için mümkün ama web projeleri için yine sıkıntılı.
(21 Eyl '13, 23:13)
Genel teknik, sadece sunucunun bildiği şifreleme algoritmasının salt denilen yine sunucuya has bir key (anahtar) ile şifrelenmesi ve akabinde de istemciden gelen talepleri bu anahtarlama tekniği ile kontrol etmekten geçiyor. Her istemci için farklı bir key üretilmesi gerekiyor. Dolayısıyla, istemcinin tekil olup olmadığını kontrol edebilme şansınız mevcut. Daha da ileri gideceğim diyorsanız, o zaman çalıştığınız istemciler devreye giriyor. Örneğin, istemciler unique ip den geliyorlarsa, key ile birlikte ip kontrolü de yaparak istemciyi kısıtlayabilirsiniz. Tam tersine, public ( genele açık ) bir servis ise o zaman ip kısıtlaması işinizi görmez. Bunu gidebilmek ve kontrolün tamamen sizin elinizde olmasını istiyorsanız, o zaman bir istemci yazılımı da yazmanız gerekir. Bu istemci yazılımı ile sunucunuz etkileşime geçer ve istemcilerin sizin kontrolünüz haricinde birşeyler yapmasının önüne geçmiş olursunuz.
Teknik olarakta HMAC tekniğini tavsiye ederim. HMAC (Hash-based message authentication code), hash temelli güvenli mesaj/veri kodlama tekniğidir. Referans alabileceğin bazı adresleri aktarıyorum :
22 Eyl '13, 03:04 Oğuz Çelikdemir
22 Eyl '13, 03:05
Soruldu: 21 Eyl '13, 23:10
Görüntüleme: 1,488 kez
Son güncelleme: 22 Eyl '13, 03:05