Tworzę większy projekt, i mam w nim kilka rodzajów połączeń między warstwami.
Projekt składa się z takich warstw:
serwerAsp: stronka napisana w ASP.NET.
desktop: program desktopowy w WPF.
baza: baza danych MySQL.
Połączenia mam takie(oba dotyczą przesyłania loginu, hasła i innych danych):
przeglądarka użytkownika -> serwerAsp (tu przesył to czysty tekst)
desktop/serwerAsp -> baza (a tu to częściowe MD5)
Chciałbym możliwie najlepiej zabezpieczyć dane przekazywane z jednej warstwy do drugiej. Co i gdzie warto zastosować?
Między przeglądarką, a serwerem asp przesyłam czysty tekst - co wiem, że jest bardzo kiepskim pomysłem. Powinienem zastosować jakieś SSL? Muszę wtedy mieć jakieś drogie certyfikaty, czy da się się to zrobić po 'domowemu'?
Między desktop/serwerAsp a bazą, przesyłam login jako tekst, a hasło zaszyfrowane w jakimś MD5. Czy powinienem tu dodać jakieś SLL? Czy jest taka konieczność, tak aby było dobrze? Jeżeli tak, to jak? Zmiana w connection stringu wystarczy?