Чому паролі повинні бути зашифровані, якщо вони зберігаються в захищеній базі даних?


78

У мене є веб-служба. Зараз у мене на сервері паролі зберігаються у простому тексті в таблиці MySQL . Я знаю, що це не найкраща практика, і саме тому я працюю над цим.

Чому паролі повинні бути зашифровані, якщо вони зберігаються в захищеній базі даних? Я розумію, що якщо хтось заробить мою базу даних, він отримає пароль кожного. Але у мене є інші проблеми, якщо хтось потрапляє до моєї бази даних, наприклад, видаляючи дані.

Сценарій, про який я можу придумати, - це те, що вас зламали. Ви відновлюєте базу даних пару годин тому, і все добре. Однак якщо ваші паролі є простими ... У злодія є всі паролі, і ви повинні їх скинути. Неприємності своїм користувачам.

Якщо паролі були зашифровані, ви можете просто відновити попередню базу даних. Це правильне мислення?


124
Я б пішов на крок далі. Для його шифрування недостатньо. Ви б хотіли розім’яти його. Таким чином, навіть ви не повинні бути в змозі знати, що таке паролі простого тексту ваших користувачів.
Санта-

67
@Santa Зробити пароль недостатньо. Ви повинні додати трохи солі, щоб зробити рецепт досить хорошим ...
Bakuriu

16
Будь ласка, перегляньте цю відповідну публікацію Security.StackExchange: як надійно захистити паролі?
Аді

10
Незадоволений DBA говорить ... виберіть * від користувача, а потім продає цей список за виплату виплат. Ніколи не є безпечним.
Джон Рейнор

Відповіді:


194

По-перше, ви повинні бути вільнішими з правами доступу лише для читання, ніж з читання-запису. Можливо, хакер має доступ до ваших даних, але не може їх редагувати.

Але, що набагато важливіше, це не про вас. Той факт, що вас можуть накрутити, якщо хтось має повний доступ до вашої бази даних, не має значення. Набагато важливіші дані вашого користувача.

Якщо ви відновите свою базу даних, хакер все ще має доступ до облікового запису вашого користувача.

А хто знає що ще? Що робити, якщо вони використовують той самий пароль в Google? Або PayPal? Що робити, якщо це дає хакеру доступ до дівочого прізвища їх матері чи останніх 4 цифр їхньої кредитної картки?

Що робити, якщо це потрапляє на інші рахунки? Не перекладайте хакера, щоб пройти систему підтримки користувачів та отримати більше інформації .

Просто ... просто не треба. Це приватна інформація вашого користувача, і вам не потрібно бачити її. Це також ваша репутація. Зашифруйте його.

EDIT: Ще один коментар, щоб врятувати будь-якого майбутнього читача від прочитання кожної відповіді та коментаря ...

Якщо ви збираєтесь шифрувати (в найсуворішому сенсі), тоді вам потрібно використовувати пару відкритих / приватних ключів , що добре, але робить життя трохи складніше і для вас, і для вашого користувача.

Більш просте і настільки ж ефективне рішення - це випадкове соління і хеш -пароль. Ополювання однієї недостатньо; якщо ваш користувач використовує загальний пароль, він з’явиться у таблицях із зворотним хешуваннями, які легко доступні за допомогою простого пошуку в Інтернеті.


89
А ще краще, хеш!
Blorgbeard

29
Це. "У мене є інші проблеми, якщо хтось потрапляє до моєї бази даних". Це ваша база даних, ви очікуєте, що у вас будуть проблеми, якщо вона буде зламана. Але, зберігаючи паролі простого тексту, ви створюєте своїм користувачам проблеми з, можливо, усіма іншими обліковими записами. Як ви думаєте, скільки людей дійсно використовують різний пароль на кожному веб-сайті?
Carson63000

13
Будь ласка, дотримуйтесь порад Блоргберда, можливо, прочитайте це . Шифрування паролів не забезпечує захист, коли ваш веб-сервер був порушений. Ключ для розшифровки паролів повинен зберігатися десь на сервері. Захоплення паролів означає, що навіть у випадку, якщо хтось має повний доступ до машини, він не може легко відновити паролі.
Slicedpan

7
Навіщо вам коли-небудь потрібно шифрувати паролі, якщо він не має значення для вашої системи? У який момент часу вам доведеться розшифрувати паролі, окрім порівняння? @pdr, ви не повинні казати OP, щоб шифрувати, ви повинні говорити йому, щоб посолити і перемолоти.
NobleUplift

4
Ви також хочете відповідати на запитання щодо відновлення пароля. Інакше їх можна використовувати і для потрапляння на інші сайти, як і паролі.
Зан Лінкс

64

Якщо ви зламаєте, можете відновити сайт із резервних копій та виправити його. Але у хакера все ж є паролі для всіх облікових записів! Існують задокументовані приклади реального світу цього явища (Sony, Linked-in), де якби таблиці паролів були правильно розміщені та засолені, забезпечення та відновлення пристрою швидко було б набагато простіше.

Це , ймовірно, хороша ідея , щоб припустити , ви будете бути зламаний, а також розробити стратегію резервного копіювання та шифрування конфіденційних даних з допомогою цього припущення на увазі. І це не лише хакери, від яких потрібно захищати. Незадоволені, нечесні чи просто неосвічені працівники можуть видавати просто текстові паролі.

Без хешування вам доведеться вимкнути доступ для всіх, поки вони не змінять свій пароль (що, навіть якщо це можливо, стане величезним головним болем для всіх). Якби паролі були хешировані та засолені, ви могли б відновити веб-службу, і зловмисникові було б набагато важче отримати доступ до акаунтів людей.

Правильно розміщений і сольовий пароль - це в основному односторонній спосіб. Ви не можете легко вгадати пароль із хешованого пароля. Навіть ви, оскільки постачальник послуг не зможе здогадатися, ви можете лише скинути його.

Крім того, як сказав Елін, не намагайтеся прокручувати власне хешування (або шифрування). Використовуйте стандартну бібліотеку.



13
+1 за згадування незадоволених працівників. Легко не помітити, коли ви працюєте в магазині для чоловіків або невеликій компанії, але з часом у вас з’являться люди, які працюють з даними, які ви особисто не перевіряли.

2
Написання передбачень прокручувати список користувачів, а потім хешувати їх паролі - це робота декількох хвилин, і чесно кажучи, 4000 майже нічого. php.net/manual/en/function.hash.php
Елін

3
Ви продовжуєте перемикатися між термінами "шифрувати" на "хеш-сіль" @ david25272. Не плутайте двох, які абсолютно різні. Тепер ОП шукає алгоритм шифрування, а не хеш-алгоритм. Також це "сіль і хеш", а не "хеш і сіль". Ви не можете посолити після хешу.
NobleUplift

1
Також @phpmysqlguy, прочитайте мою відповідь щодо пропозицій щодо алгоритмів засолювання та хешування .
NobleUplift

36

Але у мене є інші проблеми, якщо хтось потрапляє до моєї бази даних, тобто видалення даних.

Йдеться не про проблеми, які у вас є, а про проблеми, які вони можуть викликати у всіх інших користувачів. Йдеться про усунення спокуси (або ще гірше, потенційної відповідальності) для людей, які працюють на сайті, зловживати даними, які зберігаються там.

Дивіться, хоча люди повинні використовувати різні паролі в різних системах, реальність цього не відбувається .

... і оскільки так швидко хешувати паролі, у вас немає виправдань для того, щоб не дотримуватися кращих галузевих практик.


9
Ви вважаєте, що я вважаю найважливішим моментом: ВАС і ваші працівники не повинні мати доступ до пароля користувача. Кого хвилює хакер, це люди, які зберігають дані, що стосуються користувачів.
Адам Девіс

1
+1 за те, що як розробник / адміністратор ви не повинні мати доступу до паролів користувачів. Це саме по собі є достатньою причиною.
Метт

21

Помітні атаки, такі як видалення даних, зазвичай є предметом любителів, і викликають найменший стурбованість. Одне з перших, що зробить досвідчений зловмисник, - це спроба отримати законний доступ, тому навіть якщо ви допрацюєте оригінальну вразливість, яку він використав, він все одно зможе ввійти. Він зробить усе можливе, щоб не звертати на себе увагу, поки не здійснює те, що він бажає. Залишаючи паролі незашифрованими, ви просто потенційно полегшили його роботу. Ви також ускладнили виявлення та ізоляцію його майбутньої шкідливої ​​поведінки.

Крім того, не всі компроміси надають вам повний доступ до оболонки. Що робити, якщо вразливість, яку використовує зловмисник, є лише введенням SQL на usersстіл лише для читання ? Залишивши паролі незашифрованими, якраз і надав йому повний доступ.

Це на додаток до причин, наданих іншими відповідями щодо вашої відповідальності за захист даних користувачів. Моя думка, не тільки ваші користувачі мають що втратити.


18

Я маю розмістити тут відповідь на помилковість у самому запитанні. Ви запитуєте, чи потрібно шифрувати паролі. Ніхто не шифрує паролі; ніхто, за винятком таких служб та програм, як Firefox Sync та Roboform, єдиною метою яких є шифрування паролів.

Давайте розглянемо визначення:

У криптографії шифрування - це процес кодування повідомлень (або інформації) таким чином, що читати їх можуть лише уповноважені сторони.

І хешування:

Хеш-функція - це будь-який алгоритм, який відображає дані довільної довжини до даних фіксованої довжини.

Іншими словами, шифрування - це двостороннє перетворення, а хешування - це одностороння конверсія, тому, якщо ви не розшифровуєте їх для перегляду пізніше, це не шифрування.

Крім того, не просто хеш, сіль ! Прочитайте всю цю сторінку, перш ніж мати хеші.

Що стосується алгоритмів хешування, які зараз розглядає ОП, я запропонував би будь-який із варіантів високого класу SHA-2, наприклад SHA-384 або SHA-512.

І обов'язково використовуйте раунди хешування . Не хеш один раз, хеш кілька разів.

Розгляньте цю сторінку, щоб більше захистити процес входу.

По-друге, ваша база даних ніколи не може бути достатньо захищеною. Завжди будуть дірки в безпеці та постійно розвиваються ризики. Вам слід дотримуватися Закону Мерфі і завжди готуватися до найгіршої ситуації.

Інші моменти, що стосується pdr, - це саме те, що я б сказав: люди, які використовують один і той же пароль для кожного веб-сайту, хакери, які використовують соціальну інженерію, щоб отримати більше інформації тощо.


+1 для хешу плюс сіль. Крекінг хеші без солей дуууже легко.
Code Maverick

3
Ви знаєте, що з іншого боку веселого столу @CodeMaverick? Горщик із золотом.
NobleUplift

У контексті хешування паролів MD5 не має відомих уразливостей, крім того, що це швидко, і це стосується і SHA-2. Використання повільної, повторної конструкції набагато важливіше, ніж вибір SHA-2 над MD5.
CodesInChaos

4
"Прочитайте всю цю сторінку, перш ніж хеш-паролі" - ця сторінка зазначає, що ви не повинні використовувати раунди хешування, але метод хешування, розроблений спеціально для того, щоб проходити так само повільно, як PBKDF2.
Джомінал

2
Використовуйте SCrypt або PBKDF2, обидва з яких розроблені як дуже дорогі у виконанні з точки зору пам'яті або процесора. Використовуйте довільно генеровану Сіль, яку ви зберігаєте в записі користувача. Не виконуйте кілька раундів хешування, це просто призводить до проблем зіткнення.
tom.dietrich

14

Тут важливий принцип. Є лише одна людина, яка має будь-яку компанію, яка знає пароль користувачів. Це користувач. Не їхня дружина / чоловік, їхній лікар чи навіть священик.

Це, безумовно, не включає програміста, адміністратора бази даних або системного техніка, відповідального за послугу, яку вони використовують. Це створює виклик, оскільки програміст несе відповідальність за отримання доказу, що користувач насправді знає пароль, що є нетривіальною проблемою, яку потрібно вирішити чисто.

Чистим рішенням є створення механізму, коли користувач може зіткнутися з деякими новими і непередбачуваними даними, а потім повинен повернути відповідь, заснований на цих даних та їх паролі. Однією з реалізацій цього було б попросити користувача цифровим підписом нових створених даних цифровим підписом, і ми могли б математично довести, що вони використовували ту саму пару криптографічних ключів, яку вони використовували для створення облікового запису.

На практиці чисті рішення потребують значної інфраструктури та обробки клієнтів, і для багатьох веб-сайтів це часто не підходить для захисту даних.

Більш поширеним рішенням буде:

У момент, коли вперше в програмі буде отримано пароль, пароль передається у функцію хешування, а також випадкове значення солі програми у хеш-функції.

Потім вихідний рядок перезаписується в пам'яті, і з цього моменту солоний хеш зберігається в базі даних або порівнюється із записом бази даних.

Основними аспектами, які забезпечують безпеку, є:

  1. Знання хешу безпосередньо не забезпечує аутентифікацію.
  2. Зворотний розрахунок пароля з хеша недоцільно.
  3. Використання таблиць веселок (довгі списки паролів та їх обчислені хеши) стає складнішим, оскільки отриманий хеш залежить від імені користувача та пароля.

6
Взагалі краще використовувати випадкову сіль замість імені користувача.
CodesInChaos

Ух, чудовий улов @CodesInChaos. Я не помітив цього під час першого перегляду питання. Так, ваша сіль повинна генеруватися випадковим чином. Це не обов'язково має бути якась божевільна крапка, яка зберігається в MySQL (і це було б погано, оскільки тоді вона не була б портативною). В іншому випадку +1, сказавши, що тільки користувач повинен знати пароль користувача.
NobleUplift

Гаразд, оновлена ​​відповідь на думку, що у програми є власне значення випадкової солі.
Майкл Шоу

4
Ні, програма не має до вартості солі або. Для кожного збереженого хеша має бути різне, сильно випадкове, значення солі. (Ви зберігаєте сіль поруч із хешем.) Саме це захищає від статистичних атак. Якщо ви використовували один і той же хеш для всієї програми, то той самий непростий хеш - це одне і те ж значення. Це набагато гірше, ніж використовувати ім'я користувача як хеш.
Бен Войгт

Це не веб-сервіс, але для автентифікації ключа SSH використовується "чисте" рішення, де сервер зберігає відкритий ключ, а користувач автентифікує приватний ключ.
cpast

10

Вам потрібно "зашифрувати" (власне, "хеш", щоб правильно уявити хешування) паролі як другий рівень захисту : це покликане запобігти ескалації зловмисника, який отримав огляд даних лише для читання. що отримують доступ до читання-запису і, точно, починають змінювати дані. Часткові порушення лише для читання трапляються в реальному світі, наприклад, через деяку атаку SQL-ін'єкції з облікового запису з доступом лише для читання або шляхом вилучення жорсткого диска або старої резервної стрічки з сміттєвого контейнера. Я написав докладно на цю тему там .

Щодо правильних способів хеш-паролів, дивіться цю відповідь . Це передбачає солі, ітерації та, головне, не вигадування власних алгоритмів (саморобна криптографія - вірний рецепт катастрофи).


+1 - знати різницю між шифруванням та хешуванням.
NobleUplift

8

Я не повторюю те, що сказали інші люди, але якщо припустити, що у вас PHP 5.3.8 або вище, вам слід використовувати рідну PHP bcryptдля зберігання ваших паролів. Це вбудовано в PHP. Якщо у вас PHP 5.5, ви можете використовувати найкращу доступну констант паролів. Ви також можете використовувати бібліотеку, щоб змусити 5.3.8 або краще поводитись як 5,5.

Питання про переповнення стека Як ви використовуєте bcrypt для хешування паролів у PHP? пояснює це, а інші відповіді там пояснюють більше. Будь ласка, не поспішайте, намагаючись зробити це самостійно.


2
На жаль, я використовую PHP 5.3.3, тому ваші пропозиції не застосовуватимуться
phpmysqlguy

4
5,3,3 до 5,3,8 більшої частини оновлення?
gbjbaanb

У вас є шанс на Red Hat? Тому що вони підтримали виправлення в bcrypt. Якщо ні, то використовуйте SHA256 замість brcypt.
Елін

1
Шифрування та хешування - це різні речі. Hash паролі, не шифруйте їх. Ніколи не потрібно їх знати. Потрібно, щоб користувач міг використовувати пароль, щоб довести, хто він / вона. Холінг (з сіллю) дозволяє це. Шифрування, особливо симетричне шифрування неправильне, оскільки дозволяє відновити паролі.
Пол де Вріезе

Я хочу додати одне, що добре про функцію password_hash () у php 5.5+ - це те, що вона за замовчуванням обробляє засолювання тощо. Раніше вам потрібно йти вперед і використовувати щось на зразок бібліотеки ircmaxell, що підтримує це (він написав реалізацію 5.5). Не припускайте, що ви можете генерувати випадкову сіль самостійно. Це дуже дуже важко і найкраще залишити експертам; дійсно легко отримати випадкові, але неоднорідні результати, які можна використовувати.
Елін

7

Я погоджуюся з відповіддю від pdr з причин, зазначених у цій відповіді.

Я додам наступне: ви повинні це зробити, тому що це легко зробити і загальновизнано як найкраща практика для будь-якої програми. Більш конкретно, паролі завжди повинні бути засоленими та хешированими перед тим, як писати на будь-яке стійке сховище. Ось хороша довідка про важливість засолювання та вибору хорошого криптографічного хешу (який також надає безкоштовний вихідний код на кількох популярних мовах): https://crackstation.net/hashing-security.htm

Невелика кількість додаткового часу на розробку заслуговує на захист, який він надає вашим користувачам, і на вашу репутацію розробника.


+1 за згадування як засолювання, так і хешування, а також не згадування про шифрування, яке навіть не належить до цього питання.
NobleUplift

2

Сценарій, про який я можу придумати, - це те, що вас зламали.

Ще один сценарій, про який потрібно придумати: хтось пропустив вашу DBA (або хто інший може виконувати вибрані запити у вашій БД) 100 доларів, щоб дати їм паролі користувачів. Або соціальних інженерів якийсь стажист для цього.

Потім вони використовують ці паролі для входу в Gmail користувача ... або на комерційний сайт ... (тому що люди ... менш розумні, якщо говорити - і використовувати той самий пароль на всіх сайтах).

Потім користувач irate подає до суду на вашу компанію за викриття свого пароля.


NOBODY (включаючи людей у ​​вашій компанії) повинен мати можливість читати звичайний текстовий пароль. Колись. Немає законної справи чи технічної потреби в цьому.


2

Для одного, навіть адміністратори бази даних не повинні бачити паролі користувачів. Хеширование їх запобігає цьому, якщо адміністратор вирішив переглянути пароль та увійти в акаунт своїх користувачів.


1
це не додає нічого гідного до того, що вже було розміщено в попередніх відповідях
gnat

3
+1. Він насправді сказав "хешування", а не шифрування, як багато інших. Крім того, він прямо суперечив ОП, який заявив, що бажає, щоб паролі простого тексту входили в акаунти інших користувачів.
NobleUplift

0

Що ж, дивно, що ніхто про це ще не згадав, але як бути з ФІЗИЧНОЮ безпекою вашої бази даних?

У вас може бути створена найкраща ІТ-безпека у світі, але це не зупиняє тих, хто може отримати фізичний доступ до ваших носіїв пам’яті. Що станеться, коли ваша команда сьогодні виграє Superbowl, а в центрі міста, де знаходиться ваш офіс / провайдер хостингу, спалахне невеликий бунт? (З огляду на те, що це два ситні сфери ІТ у США - Сіетл проти Денвера, я не вважаю це необґрунтованим). Моб пробивається до вашої будівлі, і поки влада переповнена, хтось захоплює частину вашого обладнання з базою даних, що містить паролі чіткого тексту?

Що станеться, коли федери з’являться та заволодіють вашим обладнанням, оскільки якийсь високопоставлений виконавець використовував свою посаду в компанії для здійснення незаконних біржових торгів? Тоді федерати використовують ці паролі для дослідження ваших клієнтів, хоча вони нічого поганого не зробили. Тоді вони усвідомлюють, що саме ВАС залишив їх вразливими.

Що відбувається, коли ваш ІТ-відділ забуває стерти старі диски RAID, які містили вашу БД, коли вони виконували планові заміни, перш ніж «роздавати» старі диски інтернам, а потім їхні сусідки по інтернату знайдуть те, що залишилося, і зрозуміють, що вони можуть » продати "його і ніколи їх не відстежувати?

Що відбувається, коли ваш сервер БД видаляє материнську плату, ІТ відновлює зображення на новому сервері, а "туш" старого сервера потрапляє в групу переробки? Ці накопичувачі все ще хороші, і ці дані все ще є.

Будь-який порядний архітектор знає, що безпека - це не те, про що ви пізніше «підтягуєтесь» за допомогою брандмауерів та політик експлуатації. Безпека повинна бути основною частиною дизайну з самого початку, а це означає, що паролі є односторонніми, НІКОЛИ не передаються із шифруванням (навіть усередині власних центрів обробки даних) і не підлягають відновленню. Все, що можна отримати, може бути поставлено під загрозу.


-1

Якщо відмовитись від злому вашої бази даних: Як клієнт, я не хотів би, щоб Ви знали свій пароль. Я знаю, що ви можете легко зловити пароль, коли він надходить на запит, але я відчув краще, коли у вас немає його в розпорядженні для запитів у будь-який час, коли вам подобається.


1
Насправді, якби ОП зробила це на крок далі і зашифрована в JavaScript, то хеш буде надіслано по протоколу і його ніколи не побачать у запиті.
NobleUplift

1
У такому випадку зловмиснику потрібно буде також надсилати хеш також через провід. Хеш просто би функціонував як химерний, але незашифрований пароль, чи не так? (Редагувати: ні, якщо її доводилося солити іншою сіллю кожен раз, а сіль надходила з сервера. Я думаю)
RemcoGerlich

1
@RemcoGerlich Ключова концепція відома як нікель, який використовується для уникнення атаки повторного відтворення .

-1

Якщо паролі зберігаються у простому тексті, це означає, що вони відомі користувачеві та тому, хто має доступ до цієї таблиці. Вся ідея щодо впровадження користувачів та паролів полягає в тому, щоб переконатися, що певний сеанс у вашій системі належить цій особі, як з міркувань конфіденційності, так і з безпеки.

Якщо група людей знає ім’я користувача / пароль, стає однозначно однозначно ідентифікувати людину, і це створює безліч можливих сценаріїв крадіжок особи, шахрайства ...

Ось чому паролі зберігаються за допомогою асиметричних протоколів шифрування, щоб переконатися, що ви можете їх перевірити, не маючи можливості їх читати.


2
Хто зберігає паролі, використовуючи асиметричне шифрування? Це криптографія з відкритим ключем, що означає, що навіть після шифрування пароля її можна розшифрувати та прочитати, якщо хтось коли-небудь отримає мій приватний ключ. За допомогою хешування я знаю свій пароль лише я (якщо тільки не записую його чи не ставлю до менеджера паролів, де він насправді є асиметричним шифруванням).
NobleUplift

Перегляньте сторінку вікіпедії на криптографію з відкритим ключем: en.wikipedia.org/wiki/Public-key_cryptography " Криптографія з відкритим ключем, також відома як асиметрична криптографія",
Alpha1983

2
... так, я це сказав using asymmetric encryption? That's public-key cryptography. Який твій погляд?
NobleUplift

-1

Я думаю, що в цьому є принциповий недолік. Справа в тому, що немає такої речі, як "захищена база даних". Слід вважати, що десь у вашій системі є вади, які можуть дозволити зловмисникам користуватися довільними даними на ваших серверах. Heartbleed - це чудовий випадок, який є експлуатуванням, який був у дикій природі понад два роки, перш ніж його помітили дослідники. Можливо, ви зробили все, що знаєте, як зробити захист даних, але ви не можете пояснити всі інші програми програмного забезпечення, які ви використовуєте на своїх серверах, і складні способи їх взаємодії.

Якщо хто - то зацікавлений в вас, ви будете отримувати зламали. Важливо зробити все можливе, щоб в першу чергу запобігти злому, а також пом'якшити збитки, які наносяться, коли це трапиться, поставивши якомога більше перешкод. Хаші ваші паролі. Це не так важко налаштувати, і ви робите своїм користувачам сумлінну послугу, не сприймаючи їх конфіденційність серйозно. Спритно вважати, що ви якось краще захищаєтесь від зловмисних атак, ніж такі компанії, як Yahoo , Sony , або Target , яких усіх зламали.


1
це, здається, не пропонує нічого істотного за 14 попередніх відповідей
gnat

Я не згоден, інакше я б його не розміщував. Я не впевнений, що я бачу, як ваше оточення, роблячи негативні коментарі, додає до розмови, окрім відмовки людей брати участь.
lobati

добре не знаю, чи читали ви інші відповіді до публікації своїх, але за моїм читанням усі пункти тут уже були зроблені (і за моє читання краще представлені) в інших місцях. Наприклад, питання про недолік у питанні було висловлено більше 2 місяців тому в цій і цій відповіді. Точка щодо хешування паролів була зроблена щонайменше у 7 інших відповідях. Питання щодо створення резервних копій та обліку можливих проблем в інших частинах системи також було зроблено давно. І т.
Д.

Зв'язаний пункт помилки був відмінним від мого. Вони констатували різницю в значенні між хешированием та шифруванням, тоді як я говорив, що помилково вважати, що база даних може вважатися "безпечною". Я досі не бачу жодних інших відповідей, які б обговорювали інші фрагменти програмного забезпечення та їх взаємодії, які не є небезпечними, і я не робив жодних моментів щодо резервного копіювання.
lobati

«Припустимо , ви будете зламаний» - ось як це було написано у відповідь розмістив понад 2 місяців назад
комара
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.