/ / Tworzenie licencji według witryny (algorytm) - xml, usługi internetowe, algorytm, httpwebrequest, klucz licencyjny

Tworzenie licencji według witryny (Algorithm) - xml, usługi sieciowe, algorytm, httpwebrequest, klucz licencyjny

W ramach usługi chciałbym zapewnić właścicielom stron internetowych kanały XML. Sam plik XML zostanie dostarczony za pośrednictwem usługi sieciowej (.asmx)

Problem polega na tym, że klient może swobodnie dystrybuować łącze do źródła XML.

Pomyślałem więc o utworzeniu licencji „według witryny”.Właściciel witryny-klient potwierdzi mi witryny, które zażądają źródeł XML. W ten sposób źródła XML będą dostarczane do określonych żądań http.

P.S. Wiem, że możesz zmieniać nagłówki i tak dalej ... Ale ja chciałbym wdrożyć rozwiązanie „spowolnić” i poczuć się lepiej!

Czy mógłbyś podać lepszy algorytm licencji? Jak mogę zabezpieczyć źródła XML przed swobodną dystrybucją?

Odpowiedzi:

4 dla odpowiedzi № 1

To całkowicie zależy od tego, jakie zasady obowiązują w Twojej firmiedyktować; im więcej chcesz bezpieczeństwa, tym większe obciążenie dla poszczególnych witryn wiąże się z uwierzytelnianiem się. Im prostszy chcesz dla witryn klienckich, tym mniej skomplikowany algorytm.

Zasadniczo jednak chroń zawartość za pomocą tokena specyficznego dla stanowiska (tj. Hasła).

Dla każdego dozwolonego klienta generujesz token.Potrzebujesz miejsc, aby przekazać ten żeton jako część ich żądania. Kiedy otrzymasz ten token, zweryfikuj go (w takim stopniu, w jakim uznasz to za stosowne) - może po prostu sprawdzisz, czy jest to prawidłowy token, może sprawdzisz twórcę adresu IP, może token jest częścią fazy szyfrowania typu wyzwanie-odpowiedź.

Śledź logowanie do stanowisk i szukaj nadużyć (żądań pochodzących z różnych adresów IP, żądań przychodzących z dużą szybkością itp.).

Na poziomie usługi początkowej prawdopodobnie nie będziesz potrzebować dużego wyrafinowania, chyba że masz do czynienia z poufnymi informacjami lub dopóki nie odniesiesz sukcesu.


2 dla odpowiedzi nr 2

Możesz skorzystać z rozwiązania opartego na certyfikatach(Infrastruktura PKI): tworzysz własne certyfikaty, które wysyłasz do swoich klientów (każdy klient otrzymuje własne) i sprawdzasz to za pomocą logiki po stronie serwera podobnej do opisanej tutaj: ASP.NET WebForms: Implementing PKI Authentication. To nie jest przykład ASMX, ale logika modułu HTTP jest taka sama.

Zaletą jest to, że użytkownicy nie będą musieli wprowadzać żadnego hasła, ponieważ ich przeglądarka powinna być w stanie przedstawić certyfikat na żądanie witryny.

Oczywiście użytkownicy nadal mogą kopiować i wysyłaćcertyfikaty dla innych użytkowników, więc nadal będziesz potrzebować jakiegoś mechanizmu monitorowania, opartego na przykład na adresie IP (nawet jeśli nie jest w 100% w pełni zabezpieczony, jest lepszy niż nic). Po wykryciu, że certyfikat wydaje się martwy (używany przez zbyt wiele osób), możesz na przykład oznaczyć go jako nieważny na swoim serwerze i wysłać nowy do uprawnionego użytkownika.


0 dla odpowiedzi № 3

Mam podobny system licencji, chcęzapewnić dostęp do usługi dla określonych plików XSL i określonych stron internetowych, ponieważ przetwarza xsl na podstawie tagów http z adresu URL, w tym celu wziąłem adres URL strony odsyłającej i porównałem z dozwolonym adresem URL wraz z żądanym plikiem xsl

Inny system, nad którym pracowałem, zrobił jeden krokdalej, i miał identyfikator strumienia (dotyczył strumieniowego przesyłania wideo), identyfikator użytkownika i godzinę jako wysłany klucz, a jeśli pasowały, strumień mógł się rozpocząć (z oknem 1 minutowym).

Ale wszystkie te metody działają na znajomości kolejności parametrów w kluczu i ukrytym kluczu wysłanym w jednym lub obu kierunkach oraz na haszowaniu przez md5 wynikowego ciągu dla widocznego / przesłanego klucza.