Как упоминалось выше, правильное использование схемы симметричного шифрования НЕ раскрывает информацию об открытом тексте. Вы упоминаете о необходимости защитить пользователей от словарной атаки на скрытые токены, и правильно используемая схема шифрования, такая как GCM, предоставит вам это свойство.
Я рекомендую использовать режим GCM, так как это эффективная схема шифрования с проверкой подлинности. Выполнение криптографических функций с данными, не прошедшими проверку подлинности, может привести к проблемам с безопасностью, поэтому лучше всего использовать схему шифрования с проверкой подлинности, такую как GCM. Обратите внимание, что эта схема шифрования вместе с другими схемами CPA-SECURE обеспечит вам защиту от злоумышленника, который захочет узнать значение зашифрованного токена.
Например, в правильно реализованном режиме GCM шифрование одной и той же фамилии приведет к другому зашифрованному тексту, т.е. режим GCM является недетерминированным.
Обязательно используйте безопасную схему заполнения и зафиксируйте длину зашифрованных текстов, чтобы злоумышленник не мог использовать длину зашифрованного текста, чтобы узнать некоторую информацию о содержании того, что сгенерировало этот токен.
Однако будьте осторожны, вы не можете использовать хеш-функции и схемы симметричного шифрования взаимозаменяемо, поскольку они созданы для совершенно разных целей. Будьте осторожны с тем, как вы делитесь ключом, и помните, что, как только злоумышленник узнает ключ, в зашифрованном тексте нет ничего случайного.
-ПРИМЕЧАНИЕ- Неправильное использование шифрования. Если каждый пользователь использует один и тот же ключ для шифрования своего токена, он может просто расшифровать токен всех остальных и увидеть имя, которое его сгенерировало. Чтобы быть в безопасности, каждый пользователь должен шифровать с помощью другого ключа, поэтому теперь вам нужно каким-то образом хранить и управлять ключом для каждого пользователя. Это может быть очень болезненно, и вы должны быть очень осторожны с этим.
Однако, если вы используете соли и хэш-функции, то даже если каждый пользователь использует одну и ту же соль для вычисления хэша (имя||соль), злоумышленнику придется перебирать все возможные имена с помощью соли, чтобы выяснить, что сгенерировало эти жетоны.
Так что имейте это в виду и будьте осторожны, так как хеш-функции и схемы симметричного шифрования не могут использоваться взаимозаменяемо.
person
omzy
schedule
01.05.2018