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?

soruldu: 21 Eyl '13, 23:10

emrekacan's gravatar image

emrekacan
813304450
cevap kabul oranı: 9%

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) emrekacan emrekacan's gravatar image

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 :

Authentication Using HMAC Signature
Using HMAC to authenticate Web service requests
What is HMAC Authentication and why is it useful?

permanent link

cevaplandı: 22 Eyl '13, 03:04

O%C4%9Fuz%20%C3%87elikdemir's gravatar image

Oğuz Çelikdemir
2.0k52234
cevap kabul oranı: 13%

değiştirildi: 22 Eyl '13, 03:05

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×71
×39
×20
×10

Soruldu: 21 Eyl '13, 23:10

Görüntüleme: 1,419 kez

Son güncelleme: 22 Eyl '13, 03:05

powered by BitNami OSQA