Tworzę aplikację internetową z ASP.NET MVC, i chcę przechowywać pewne hasło do bazy danych.Gdzie przechowywać klucz AES?
Hasła muszą być możliwe do odzyskania. (Nie są one dla mnie, potrzebuję haseł do komunikacji z API, który potrzebuje prawdziwego hasła), więc nie mogę używać algorytmów mieszania lub takich.
Znalazłem, że AES
jest dla mnie dobrym algorytmem szyfrowania.
Ale problemem jest: gdzie przechowywać klucz AES? Czy przechowywanie w jednostce appsettings
jest wystarczające? Jak utrudnić znalezienie klucza (dla hakerów)?
I kolejne pytanie: Jakieś pomysły na uczynienie tego systemu bezpieczniejszym?
Oczywiście można zaszyfrować klucz za pomocą innego klucza, a następnie zaszyfrować klucz za pomocą innego kluczowego narzędzia reklamowego. Ale opłaca się myśleć, co próbujesz osiągnąć, a to ogranicza dostęp do informacji. Istnieje mnóstwo sposobów na osiągnięcie tego, a większość z nich nie dotyczy szyfrowania. –
Więc, w jaki sposób polecasz? Czy przechowywanie klucza w web.config i szyfrowanie pliku web.config jest wystarczające? –
Tak, to z pewnością może być częścią twojego * schematu zarządzania * kluczem (stąd komentarz). Po prostu upewniłem się, że nie patrzysz tylko na mechanizmy szyfrowania. Gdzie idziesz do klucza, który odszyfrowuje 'web.config'? Kto ma do niego dostęp? –