Witam załogę !
Nie spodziewałem się tego, ale mam niestety dylemat ;]
Może zacznę od początku.
Załóżmy, że stworzyłem swój super program. Chciałbym, żeby ten mój super program był zabezpieczony super plikiem licencji (jak na super program przystało), a ten plik licencji byłby zaszyfrowany super algorytmem wielkiej mocy RSA, tak ze 2048 na dobry początek.
Skromnie napiszę, że plik takowy potrafię wygenerować. I wygenerować i odszyfrować też, i co ciekawe, po odszyfrowaniu jest wszystko jak przed zaszyfrowaniem ;]
Co mnie jednak martwi .. Mój super program (u potencjalnego wielce szczęśliwego użytkownika) musi przecież odszyfrować ten mój super zaszyfrowany plik licencji, sprawdzić czy wszystko gra, i jak gra to hulaj dusza.
Być może wynika to z mojego niedouczenia, ale rozumiem, że odszyfrowanie takiego pliku zaszyfrowanego RSA możliwe jest tylko w przypadku posiadania mojego klucza prywatnego?
Czyli podsumowując, czy aby odszyfrować/odczytać plik licencyjny którego sam stworzyłem i zaszyfrowałem, zgodnie z zasadami RSA, mój program u klienta musi mieć wbudowany mój klucz prywatny aby odczytać plik licencji?
To mi się nie bardzo widzi.
Bo z tego co wiem, klucz prywatny powinien być szczególnie chroniony, a jak będzie wbudowany w programie to ta jego ochrona taka mizerna będzie.
Na pewno jest na to inny sposób, aby zachować bezpieczeństwo, przynajmniej w przypadku komunikacji autor>plik licencji>aplikacja u użytkownika.
Nie bez powodu piszę w tym dziale,
nie jestem programistą po szkołach, a szkoły mam już raczej za sobą,
choć niektórzy mówią, że uczymy się całe życie.. a i tak ...
Czy ktoś z szanownego grona może mi zdradzić, jak taki proces się zazwyczaj realizuje (plik licencji RSA odczytywany przez mój program u klienta)?
Nie chodzi mi o przykłady (choć mile widziane, w Delphi), a o metodykę.
Dla zwycięzcy rozszyfruję mojego nicka. Jeśli takie będzie miał życzenie.
Choć jak komuś się nudzi może już teraz próbować go odszyfrować.