- Szyfrowanie w .NET (można ją również odczytać ze strony):
- Odpowiada za to przestrzeń
System.Security.Cryptography.
Szyfrowanie/Odkodowanie danych jednostronne (służy autentykacji):
Obliczanie funkcji HASH. Wiele sytuacji wymaga przechowywania hasła bez jego znajomości. W ym celu korzysta się z tej funkcji do zapamiętania "skrótu" hasła w polu w bazie zamiast samego hasła. Minusem tego rozwiązania jest, że nie wiadomo jakie jest hasło (jeżeli ulegnie zapomnieniu, to trzeba wygenerować je na nowo). Zapewnia ona: a) mapowanie długich nazw na ich krótkie skrótu, b) skróty dla różnych łańcuchów wejściowych są praktycznie zawsze różne, c) nie można odtworzyć łańcucha wejściowego na podstawie znajomości skrótu. Są dwie implementacje tej metody: SHA1 i MD5.
Hash z jądrem (salted hash) - wadą poprzedniego rozwiązania jest to, że dwa łańcuchy we. produkują te same skróty. Można temu zapobiec "dosalając" dane wejsciowe innymi, specyficznymi dla użytkownika danymi np. e-mail, data uruodzenia. Jednak praktycznie stosuje się do tego generator liczb pseudolosowych, aby zapobie atakowi słownikowemu.
Szyfrowanie/Odkodowanie danych dwustronne. Rozróżniamy dwa sposoby: symetryczne i asymetryczne.
Szyfrowanie symetryczne (używając klucza prywatnego), szybkie zaszyfrowanie danych we. kluczem którego zna tylko odbiorca i nadawca (i tu leży główna słabość, klucz musi być tajny). Stosowane algorytmy: DES, RC2, Rijndael, and TripleDES.
Szyfrowanie asymetryczne (używając klucza publicznego, a właściwie pary: klucz publiczny/klucz prywatny), wada - bardzo obciążające procesor. Nadaje się tylko dla małych porcji informacji.
Rozróżniamy dwa komplementarne scenariusze:
Susan wysyła dane do Boba szyfrując dane jego kluczem publicznym, Bob i tylko on (ponieważ ma drugi element pary - klucz prywatny) może dane rozszyfrować. Metoda ta zapewnia szyfrowanie informacji.
Susan wysyła dane do Boba szyfrując je swoim kluczem prywatnym, Bob korzystając z ogólnie dostępnego klucz publicznego Susan może odczytać informację (ale nie tylko on). Ta metoda zapewnia niezaprzeczalność otrzymanej informacji.
Brak komentarzy:
Prześlij komentarz