Bezpieczne Usługi internetowe: reszta przez HTTPS vs SOAP + ws-bezpieczeństwo. Co jest lepsze? [zamknięte]

zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Zaktualizuj pytanie, aby mogło być odpowiedź z faktami i cytatami przez edytując ten post .

Zamknięte 6 lat temu .

Popraw to pytanie

W żaden sposób nie jestem ekspertem od bezpieczeństwa, ale popieram tworzenie serwisów internetowych w stylu REST.

W tworzeniu nowej usługi, która musi mieć bezpieczne przesyłane dane. Rozpoczęliśmy debatę nad tym, które podejście jest bardziej bezpieczne-Reszta z HTTPS lub SOAP Ws z WS-Security.

Jestem pod wrażeniem, że moglibyśmy użyć HTTPS dla wszystkich połączeń z usługami sieciowymi i takie podejście byłoby bezpieczne. Sposób, w jaki patrzę na to, "jeśli HTTPS jest wystarczająco dobry dla stron internetowych banków i Finansowych, jest wystarczająco dobry dla mnie". Ponownie, nie jestem ekspertem w tej dziedzinie, ale myślę, że ci ludzie bardzo ciężko myśleli o tym problemie i są zadowoleni z HTTPS.

Współpracownik nie zgadza się i mówi, że SOAP i WS-Security to jedyne wyjście.

Sieć wydaje się na całej tablicy w tej sprawie.

Może tutejsza społeczność mogłaby rozważyć plusy i minusy każdego z nich? Dzięki!

Author: Vinnie, 2009-05-12

11 answers

HTTPS zabezpiecza transmisję wiadomości przez Sieć i zapewnia klientowi pewną pewność co do tożsamości serwera. To jest ważne dla Twojego banku lub internetowego brokera giełdowego. Ich zainteresowanie uwierzytelnieniem klienta nie leży w tożsamości komputera, ale w tożsamości użytkownika. Czyli numery kart, nazwy użytkowników, hasła itp. są używane do uwierzytelniania Ciebie. Niektóre środki ostrożności są wtedy zazwyczaj podejmowane w celu zapewnienia, że zgłoszenia nie zostały naruszone, ale na wszystko, co dzieje się na sesji, jest uważane za zainicjowane przez Ciebie.

WS-Security oferuje ochronę poufności i integralności od tworzenia wiadomości do jej konsumpcji. Tak więc zamiast zapewnić, że treść komunikacji może być odczytana tylko przez właściwy serwer, zapewnia ona, że może być odczytana tylko przez właściwy proces na serwerze. Zamiast zakładać, że cała komunikacja w bezpiecznie zainicjowanej sesji pochodzi od uwierzytelnionego użytkownika każdy musi być podpisany.

Jest tu Zabawne wyjaśnienie dotyczące nagich motocyklistów:

Https://docs.microsoft.com/archive/blogs/vbertocci/end-to-end-security-or-why-you-shouldnt-drive-your-motorcycle-naked

Więc WS-Security oferuje większą ochronę niż HTTPS, a SOAP oferuje bogatsze API niż REST. Moim zdaniem, jeśli naprawdę nie potrzebujesz dodatkowych funkcji lub ochrony, powinieneś pominąć narzut SOAP i WS-Security. Wiem, że to trochę cop-out, ale decyzje o tym, ile ochrony jest rzeczywiście uzasadnione (nie tylko to, co byłoby fajne do zbudowania) muszą być podejmowane przez tych, którzy znają problem intymnie.

 137
Author: Bell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-07 16:07:14

REST security jest zależny od transportu, podczas gdy soap security nie jest.

REST dziedziczy środki bezpieczeństwa z bazowego transportu, podczas gdy SOAP definiuje własne poprzez WS-Security.

Kiedy mówimy o REST, over HTTP - wszystkie zastosowane środki bezpieczeństwa HTTP są dziedziczone i jest to znane jako bezpieczeństwo na poziomie transportu.

Bezpieczeństwo na poziomie transportu, zabezpiecza wiadomość tylko wtedy, gdy jest na przewodzie - jak tylko opuści przewód, wiadomość nie jest już zabezpieczona.

Ale, z WS-Security, jego poziom bezpieczeństwa wiadomości - nawet jeśli wiadomość opuszcza kanał transportowy będzie nadal chroniony. Ponadto-z zabezpieczeniem poziomu wiadomości można częściowo zaszyfrować wiadomość [nie całą wiadomość, ale tylko części, które chcesz] - ale z zabezpieczeniem poziomu transportu nie można tego zrobić.

WS-Security ma środki uwierzytelniania, integralności, poufności i non-repudiation, podczas gdy SSL nie obsługuje non repudiation [z 2-legged OAuth to robi].

In pod względem wydajności SSL jest znacznie szybszy niż WS-Security.

Dzięki...
 68
Author: Prabath Siriwardena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-22 19:18:03

Technicznie, sposób, w jaki to napisałeś, ani nie jest poprawny, ponieważ komunikacja metody SOAP nie jest Bezpieczna, a reszta metoda nie mówiła nic o uwierzytelnianiu legalnych użytkowników.

HTTPS zapobiega atakującym przed podsłuchiwaniem komunikacji między dwoma systemami. Sprawdza również, czy system hosta (serwer) jest faktycznie systemem hosta, do którego użytkownik zamierza uzyskać dostęp.

WS-Security zapobiega dostępowi nieautoryzowanych aplikacji (użytkowników) system.

Jeśli system RESTful ma sposób uwierzytelniania użytkowników, a aplikacja SOAP z WS-Security korzysta z HTTPS, to tak naprawdę oba są bezpieczne. To po prostu inny sposób prezentacji i dostępu do danych.

 22
Author: kemiller2002,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-27 01:09:09

Zobacz wiki Artykuł:

W sytuacjach punkt-punkt poufność i integralność danych mogą być również egzekwowane w usługach internetowych poprzez wykorzystanie TLS (Transport Layer Security), na przykład poprzez wysyłanie wiadomości przez https.

WS-Security rozwiązuje jednak szerszy problem zachowania integralności i poufności wiadomości aż do momentu wysłania wiadomości z węzła wyjściowego, zapewniając tzw. end to end security.

Że jest:

    [13]}HTTPS jest mechanizmem bezpieczeństwa warstwy transportowej (point-to-point)
  • WS-Security jest mechanizmem bezpieczeństwa warstwy aplikacji (end-to-end).
 19
Author: toolkit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Jak mówisz, odpoczynek jest wystarczająco dobry dla banków, więc powinien być wystarczająco dobry dla Ciebie.

Istnieją dwa główne aspekty bezpieczeństwa: 1) szyfrowanie i 2) tożsamość.

Transmisja W SSL / HTTPS zapewnia szyfrowanie przez przewód. Ale musisz również upewnić się, że oba serwery mogą potwierdzić, że wiedzą, z kim rozmawiają. Może to być za pośrednictwem certyfikatów klientów SSL, akcji tajemnic itp.

Na pewno można by powiedzieć, że mydło jest "bezpieczniejsze", ale chyba nie w żadnym znaczący sposób. Analogia nagiego motocyklisty jest urocza, ale jeśli jest dokładna, oznacza to, że cały internet jest niepewny.

 15
Author: pbreitenbach,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-04 07:46:03

Nie mam jeszcze rep potrzebnego do dodania komentarza, bo po prostu dodałbym to do odpowiedzi Bella. Myślę, że Bell wykonał bardzo dobrą robotę, podsumowując najlepsze plusy i minusy obu podejść. Tylko kilka innych czynników, które warto wziąć pod uwagę:

1) czy żądania między Twoimi klientami a Twoją usługą muszą przejść przez pośredników, którzy wymagają dostępu do ładunku? Jeśli tak, to WS-Security może być lepszym rozwiązaniem.

2) faktycznie możliwe jest użycie SSL zapewnienie serwerowi pewności co do tożsamości klientów za pomocą funkcji zwanej wzajemnym uwierzytelnianiem. Jednak nie ma to większego zastosowania poza niektórymi bardzo wyspecjalizowanymi scenariuszami ze względu na złożoność konfiguracji. Bell ma rację, że WS-Sec jest tu o wiele lepiej dopasowany.

3) SSL w ogóle może być trochę uciążliwe dla konfiguracji i utrzymania (nawet w prostszej konfiguracji) ze względu na głównie problemy z zarządzaniem certyfikatami. Mieć kogoś, kto wie, jak to zrobić dla Twojego platforma będzie dużym plusem.

4) jeśli potrzebujesz zrobić jakąś formę mapowania poświadczeń lub federacji tożsamości, to WS-Sec może być wart narzutu. Nie to, że nie możesz tego zrobić z odpoczynkiem, po prostu masz mniej struktury, aby ci pomóc.

5) umieszczenie wszystkich WS-Security goop we właściwych miejscach po stronie klienta może być bardziej bolesne niż myślisz, że powinno.

W końcu, choć to naprawdę zależy od wielu rzeczy, których prawdopodobnie nie będziemy wiedzieć. Na w większości sytuacji powiedziałbym, że oba podejścia będą "wystarczająco bezpieczne" i nie powinno to być głównym czynnikiem decydującym.

 13
Author: sfitts,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-13 03:25:30
Brace yourself, here there's another coming :-)

Dzisiaj musiałem wyjaśnić mojej dziewczynie różnicę między ekspresywną mocą WS-Security w przeciwieństwie do HTTPS. Jest informatykiem, więc nawet jeśli nie zna całego XML, to rozumie (może lepiej ode mnie), co oznacza szyfrowanie lub podpis. Zależało mi jednak na mocnym wizerunku, który sprawiłby, że naprawdę zrozumiałaby, do czego rzeczy są przydatne, a nie jak są realizowane (to przyszło nieco później, nie uniknęła tego :-)).

So it goes w ten sposób. Załóżmy, że jesteś nagi i musisz jechać motocyklem do określonego miejsca docelowego. W przypadku (a) przechodzisz przez przezroczysty tunel: jedyną nadzieją na to, że nie zostaniesz aresztowany za nieprzyzwoite zachowanie jest to, że nikt nie patrzy. To nie jest najbezpieczniejsza strategia, jaką możesz wymyślić... (zauważ kroplę potu z czoła faceta: -)). To jest równoznaczne z postem w jasny, a kiedy mówię "równoważny"mam na myśli. W przypadku (B) jesteś w lepszej sytuacji. Tunel jest nieprzezroczyste, tak długo, jak podróżujesz do niego, twoje publiczne akta są bezpieczne. Jednak nadal nie jest to najlepsza sytuacja. Musisz jeszcze wyjść z domu i dotrzeć do wejścia do tunelu, a gdy już wyjdziesz z tunelu, prawdopodobnie będziesz musiał wysiąść i gdzieś iść... i to dotyczy HTTPS. To prawda, że Twoja wiadomość jest Bezpieczna, gdy przecina największą przepaść: Ale kiedy dostarczysz ją po drugiej stronie, tak naprawdę nie wiesz, ile etapów będzie musiała przejść, zanim dotrze do prawdziwego punktu, w którym dane będą przetwarzane. I oczywiście wszystkie te etapy mogłyby używać czegoś innego niż HTTP: klasycznego MSMQ, który buforuje żądania, które nie mogą być od razu obsłużone, na przykład. Co się stanie, jeśli ktoś czai Twoje dane, gdy znajduje się w tej zawieszeniu przetwarzania wstępnego? Hm. (przeczytaj to " hm "jako wypowiedziane przez Morfeusza na końcu zdania" czy myślisz, że oddychasz powietrzem?"). Kompletne rozwiązanie (c) w tej metaforze jest boleśnie trywialne: ubierz się i zwłaszcza kask podczas jazdy na motocyklu!!! Dzięki temu można bezpiecznie poruszać się bez konieczności polegania na nieprzejrzystości otoczenia. Mam nadzieję, że metafora jest jasna: ubrania przychodzą z Tobą niezależnie od średniej lub otaczającej infrastruktury, tak jak bezpieczeństwo na poziomie messsage. Co więcej, możesz zdecydować się na pokrycie jednej części, ale ujawnienie innej (i możesz to zrobić osobiście: Ochrona lotniska może zdjąć kurtkę i buty, podczas gdy lekarz może mieć wyższy poziom dostępu), ale pamiętaj, że Koszule Z Krótkim Rękawem to zła praktyka, nawet jeśli jesteś dumny ze swoich bicepsów : -) (lepiej polo, albo t-shirt).

Cieszę się, że zrozumiała! Muszę powiedzieć, że metafora ubrań jest bardzo mocna: kusiło mnie, aby użyć jej do wprowadzenia koncepcji polityki (kluby dyskotekowe nie wpuszczają cię w buty sportowe; nie możesz iść, aby wypłacić pieniądze w banku w bieliźnie, podczas gdy jest to całkowicie akceptowalny wygląd podczas balansowania się na surfingu; i tak dalej), ale ja nie jestem w stanie tego zrobić. myślałem, że na jedno popołudnie wystarczy; -)

Architektura-ws, Dzikie Pomysły

Dzięki Uprzejmości : http://blogs.msdn.com/b/vbertocci/archive/2005/04/25/end-to-end-security-or-why-you-shouldn-t-drive-your-motorcycle-naked.aspx

 11
Author: taus-iDeveloper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-07 07:32:44

Pracuję w tej przestrzeni każdego dnia, więc chcę podsumować dobre komentarze na ten temat, starając się to zakończyć:

SSL (HTTP/S) to tylko jedna warstwa zapewniająca:

  1. podłączony serwer przedstawia certyfikat potwierdzający jego tożsamość (choć może to być sfałszowane przez zatrucie DNS).
  2. warstwa komunikacyjna jest szyfrowana (brak podsłuchu).

WS-Bezpieczeństwo i pokrewne standardy/implementacje używają PKI, które:

  1. udowodnij tożsamość klienta.
  2. udowodnij, że wiadomość nie została zmodyfikowana in-transit (MITM).
  3. pozwala serwerowi uwierzytelnić/autoryzować klient.

Ostatni punkt jest ważny dla zgłoszeń serwisowych, gdy tożsamość klienta (dzwoniącego) jest najważniejsza, aby wiedzieć, czy powinien być upoważniony do otrzymywania takich danych z serwisu. Standard SSL to uwierzytelnianie jednokierunkowe (serwerowe) i nie robi nic, aby zidentyfikować klienta.

 9
Author: Darrell Teague,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-07 18:59:55

Odpowiedź rzeczywiście zależy od konkretnych wymagań.

Na przykład, czy musisz chronić swoje wiadomości internetowe lub poufność nie jest wymagana, a wszystko, czego potrzebujesz, to uwierzytelnienie stron końcowych i zapewnienie integralności wiadomości? Jeśli tak jest - i często jest tak w przypadku usług internetowych-HTTPS jest prawdopodobnie złym młotkiem.

Jednak-z mojego doświadczenia-nie przeocz złożoności budowanego systemu. Nie tylko HTTPS jest łatwiejszy do prawidłowego wdrożenia, ale aplikacja oparta na zabezpieczeniach warstwy transportowej jest łatwiejsza do debugowania (poprzez zwykły HTTP).

Powodzenia.

 5
Author: user105991,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-14 08:46:52

REST przez HTTPS powinien być bezpieczną metodą, o ile dostawca API wdraża autoryzację końca serwera. W przypadku aplikacji webowej, jak również to, co robimy, to uzyskiwanie dostępu do aplikacji webowej poprzez HTTPS i niektóre uwierzytelnianie/autoryzację, tradycyjnie aplikacje internetowe nie miały problemów z bezpieczeństwem, a Restful API również bez problemu przeciwdziałałoby problemom z bezpieczeństwem !

 5
Author: Rakesh Waghela,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-08 18:50:08

Jeśli wywołanie RESTFul wysyła wiadomości XML tam i z powrotem osadzone w treści Html żądania HTTP, powinieneś mieć wszystkie zalety WS-Security, takie jak szyfrowanie XML, Cerificates, itp w wiadomościach XML podczas korzystania z jakichkolwiek funkcji bezpieczeństwa dostępnych z http, takich jak szyfrowanie SSL / TLS.

 4
Author: LRJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-28 21:09:10