Open SSL w PHP - potencjalne zastosowania

0

Jakie są potencjalne zastosowania Open SSL w PHP? Z tego, co mi wiadomo, w "typowym" przypadku (logowanie, klient-serwer), nie jest to konieczne, bo całość obsługuje serwer i przeglądarka. Do czego zatem może to posłużyć?

1

Zastosowanie:

  • korzystanie z protokołu HTTPS (cURL),
  • korzystanie z protokołu FTPS (pobieranie i wysyłanie plików),
  • możliwość korzystania z algorytmów szyfrowania tj. Blowfish, AES, IDEA, 3DES
  • generatory liczb losowych,
  • szyfrowanie symetryczne plików,
  • podpisy cyfrowe,
1

Z takich śmieszniejszych rozwiązań to np. generowanie żądań certyfikacji, podpisywanie żądań certyfikacji - żaden normalny CA (wystawca certyfikatów SSL) raczej nie sięgnąłby po takie rozwiązanie, ale jestem w stanie podać sensowny przykład zastosowania czegoś takiego.

Masz sobie średniej wielkości firmę. W firmie wszyscy logują się certyfikatami użytkownika SSL (tak, wszystkie nowoczesne przeglądarki wspierają logowanie certyfikatem na poziomie warstwy SSL). W jakiś sposób musisz te certyfikaty użytkownikom wystawić, firma jest za biedna na szpanowanie smart cardami (fizyczne nośniki klucza i certyfikatu) to stawiasz sobie na szybko serwerek w PHP/Pythonie/wtf który po podaniu jakiegoś tokenu jednorazowego wystawia danemu pracownikowi certyfikat osobisty.

(Więcej na ten temat można znaleźć w Google (ale poziom tych informacji jest bardzo zróżnicowany i zazwyczaj nie ma podanego sensownego zastosowania), był też artykuł w @Magazyn Programista podający kompletne podstawowe zastosowanie tego w Javie, jakby był ktoś zainteresowany.)

OpenSSL ma też różne funkcje do badania gotowych żądań certyfikacji i gotowych certyfikatów X.509. To może być dobre np. do oceny czy żądanie CSR przesłane przez klienta nadaje się do przekazania dalej, czy musimy je odesłać do poprawki (np. jeżeli jesteśmy pośrednikiem między klientem, a sprzedawcą certyfikatów SSL, a to się zdarza często). Oprócz tego OpenSSLa możesz użyć do szyfrowania symetrycznego i niesymetrycznego. Symetryczne? Jak będziesz np. chciał zaimplementować ręcznie deszyfrowanie pliku/kontenera/wtf w jakimś dziwnym celu. Niesymetryczne? Tutaj historia prawdziwa - jeżeli Twoja aplikacja np. tworzy jakieś logi operacji, ale zawarte w nich informacje nie powinny raczej ujrzeć światła dziennego (są to np. modyfikacje danych osobowych). Klucz szyfrujący trzymasz w aplikacji, klucz deszyfrujący u siebie pod łóżkiem, nie ma szans na odszyfrowanie takich logów po bezpośrednim włamaniu na serwer bez grzebania w komputerze admina/pendrivach admina/łóżku admina/wtf.

1 użytkowników online, w tym zalogowanych: 0, gości: 1