2009-06-23 18 views
5

Mam stronę internetową z użytkownikami i ich danymi odpowiednio.Jaki jest najbezpieczniejszy sposób na wdrożenie usług internetowych/API?

Jaki jest najbezpieczniejszy sposób na wdrożenie usług internetowych/API w taki sposób, że poświadczenia logowania użytkownika i dane z kolei są bezpieczne? oAuth nie jest tak naprawdę opcją, ponieważ użycie niekoniecznie musi znajdować się w innych aplikacjach internetowych.

Moim problemem jest to, że o nazwę użytkownika i hasło jako wejście jest niebezpieczne, które należy przekazać jasno, a żeton może być również skradziony i ponownie złośliwie.

Czy muszę wymyślić własnego sposobu szyfrowania i deszyfrowania danych, czy też istnieje powszechna praktyka (s) już w użyciu?

Istotą jest to, że jak najbardziej otwarte dla każdego, kto w świecie w użyciu, ale mimo to bezpieczny z definicji. Dokumentacja będzie dostępna dla wszystkich.

Odpowiedz

4

Zawsze średnia WS-Security:

WS-Security (Wikipedia)

NET ma swoje implementacje w .NET 1.1 i .NET 2.0 poprzez ulepszeń Web Service Microsoft:

WSE 2.0 (.NET 1.1)
WSE 3.0 (.NET 2.0)

Zapewnia różne metody szyfrowania koperty SOAP przed jej wysłaniem za pośrednictwem przewodu, w bezpieczny sposób ransmitting danych wewnątrz.

+0

pokonałeś mnie ... +1 ;-) – fretje

3

Nie twórz własnego szyfrowania.

Co jest złego w odrobinie SSL? W przypadku "zwykłych" klientów WSDL/SOAP (asmx) nie jest niczym niezwykłym, aby użyć do tego celu nagłówka SOAP (przez SSL).

z WCF, to sformalizowane w TransportWithMessageCredential (wystarczy poszukać). Oczywiście można używać certyfikatów, federacji, Kerberos, itp ...

Oprócz bezpieczeństwa transportu (SSL), WCF obsługuje również zabezpieczenia oparte na wiadomościach - z dodatkową funkcją, która umożliwia szyfrowanie tylko zabezpieczeń nagłówki. Osobiście lubię to proste, z TransportWithMessageCredential (tj. SSL).

0

Dlaczego nie można użyć standardowego WS-Security do tego?

Edytuj: Po prostu chcesz dodać do odpowiedzi Justina, że ​​jest ona również zaimplementowana w WCF.

0

Każda metoda uwierzytelniania udostępniona podmiotowi zewnętrznemu jest otwarta do wykorzystania, trzeba narysować gdzieś linię. Korzystanie z usług HTTP/S i WS- * w celu zabezpieczenia połączenia jest prawdopodobnie najlepszym rozwiązaniem. Jeśli dostęp do usługi mają tylko znane systemy ze stałymi adresami IP, użyj zapory sieciowej, aby dodatkowo zabezpieczyć skrzynkę przed zewnętrznymi zakłóceniami.

+0

Otwórz z dokumentacją, która go obsługuje. –

Powiązane problemy