2012-09-13 30 views
11

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?

+0

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. –

+0

Więc, w jaki sposób polecasz? Czy przechowywanie klucza w web.config i szyfrowanie pliku web.config jest wystarczające? –

+0

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? –

Odpowiedz

3

Możliwe jest szyfrowanie sekcji plików .config. Here is the msdn documentation na ten temat, chociaż znajdziesz również inne przewodniki online.

+0

Dzięki, ale czy szyfrowanie 'web.config' zapewnia wystarczającą ochronę? Jak uczynić ten system bezpieczniejszym? –

Powiązane problemy