Hiçbir şekilde bir güvenlik uzmanı değilim, ancak REST tarzı web hizmetleri oluşturmayı tercih ediyorum.
İlettiği verilerin güvenli olması gereken yeni bir hizmet oluştururken. Hangi yaklaşımın daha güvenli olduğu konusunda bir tartışmaya girdik - HTTPS ile REST veya WS-Security ile bir SOAP WS.
Tüm web hizmeti çağrıları için HTTPS kullanabileceğimiz ve bu yaklaşımın güvenli olacağı izlenimine kapıldım. Benim bakış açıma göre, "HTTPS banka ve finans web siteleri için yeterince iyiyse, benim için de yeterince iyidir". Tekrar ediyorum, bu alanda uzman değilim, ancak bu insanların bu sorun hakkında oldukça fazla düşündüklerini ve HTTPS konusunda rahat olduklarını düşünüyorum.
Bir iş arkadaşım aynı fikirde değil ve SOAP ve WS-Security'nin tek yol olduğunu söylüyor.
İnternette bu konuda farklı görüşler var.
Belki buradaki topluluk her birinin artılarını ve eksilerini değerlendirebilir? Teşekkürler!
HTTPS, mesajın ağ üzerinden iletimini güvence altına alır ve müşteriye sunucunun kimliği hakkında bir miktar güvence sağlar. Bankanız veya çevrimiçi borsa komisyoncunuz için önemli olan budur. Müşterinin kimliğini doğrulama konusundaki ilgileri bilgisayarın kimliğinde değil, sizin kimliğinizdedir. Yani kart numaraları, kullanıcı adları, şifreler vs. sizin kimliğinizi doğrulamak için kullanılır. Daha sonra genellikle gönderilerin kurcalanmadığından emin olmak için bazı önlemler alınır, ancak genel olarak oturumda ne olursa olsun sizin tarafınızdan başlatılmış olarak kabul edilir.
WS-Security, mesajın oluşturulmasından tüketimine kadar gizlilik ve bütünlük koruması sunar. Bu nedenle, iletişim içeriğinin yalnızca doğru sunucu tarafından okunabilmesini sağlamak yerine, yalnızca sunucudaki doğru işlem tarafından okunabilmesini sağlar. Güvenli bir şekilde başlatılan oturumdaki tüm iletişimlerin kimliği doğrulanmış kullanıcıdan geldiğini varsaymak yerine, her birinin imzalanması gerekir.
Burada çıplak motosikletlilerle ilgili eğlenceli bir açıklama var:
Dolayısıyla WS-Security, HTTPS'den daha fazla koruma sağlar ve SOAP, REST'ten daha zengin bir API sunar. Benim görüşüm, ek özelliklere ya da korumaya gerçekten ihtiyaç duymadığınız sürece SOAP ve WS-Security'nin ek yükünü atlamanız gerektiğidir. Bunun biraz kaçış olduğunu biliyorum, ancak gerçekte ne kadar korumanın haklı olduğuna dair kararların (sadece neyin inşa edilmesinin havalı olacağına değil) sorunu yakından bilenler tarafından verilmesi gerekir.
Teknik olarak, ifade ettiğiniz şekilde, ikisi de doğru değildir, çünkü SOAP yöntemi'nin iletişimi güvenli değildir ve REST yöntemi meşru kullanıcıların kimlik doğrulaması hakkında hiçbir şey söylememiştir.
HTTPS saldırganların iki sistem arasındaki iletişimi gizlice dinlemesini engeller. Ayrıca ana sistemin (sunucu) gerçekten kullanıcının erişmek istediği ana sistem olduğunu doğrular.
WS-Security yetkisiz uygulamaların (kullanıcıların) sisteme erişimini engeller.
RESTful bir sistemde kullanıcıların kimliklerini doğrulamanın bir yolu varsa ve WS-Security ile bir SOAP uygulaması HTTPS kullanıyorsa, o zaman gerçekten her ikisi de güvenlidir. Bu sadece veriyi sunmanın ve veriye erişmenin farklı bir yoludur.
wiki](http://en.wikipedia.org/wiki/WS-Security) maddesine bakınız:
Noktadan noktaya durumlarda gizlilik ve veri bütünlüğü, örneğin https üzerinden mesaj göndererek Taşıma Katmanı Güvenliği (TLS) kullanılarak Web hizmetlerinde de uygulanabilir.
Ancak WS-Security, bir mesajın kaynak düğümden gönderilmesinden sonrasına kadar mesajların bütünlüğünü ve gizliliğini korumaya yönelik daha geniş bir sorunu ele alır ve uçtan uca güvenlik olarak adlandırılır.
İşte bu: