Владимир Кочетков — Подводные камни System.Security.Cryptography

Описание к видео Владимир Кочетков — Подводные камни System.Security.Cryptography

Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
Владимир Кочетков, Positive Technologies — Подводные камни System.Security.Cryptography.
Конференция DotNext 2015 Moscow.
Москва, 11.12.2015.

Криптография является одной из немногих предметных областей, с которой рано или поздно сталкивается подавляющее большинство разработчиков. Вам уже доводилось использовать генераторы случайных чисел, работать с цифровыми подписями, хранить пользовательские пароли или, на худой конец, шифровать данные? А вы уверены, что не допустили при этом ошибок, повлиявших на защищенность приложения? Проверьте себя: сколько уязвимостей вы видите в следующем фрагменте кода?
private static bool IsValidSignature(string data, string signature) {
var bytes = Encoding.ASCII.GetBytes("eCTR4rhYQVNwn78j" + data);
var hash = MD5.Create().ComputeHash(bytes);
return BitConverter.ToString(hash) == signature;
}
...
if (IsValidSignature(Request["data"], Request["signature"])) {
var decryptor = Aes.Create() {
BlockSize = 128;
Key = Encoding.ASCII.GetBytes("YtGDn6mvAHbp5X7C");
IV = Encoding.ASCII.GetBytes("mHMUYSjiVxo4wp9R");
}.CreateDecryptor();
}

Если меньше 5, то вам определенно стоит посетить этот доклад. На нем, без лишнего математического хардкора, мы поговорим о типичных сценариях использования средств криптографии в .NET-приложениях, рассмотрим лучшие практики решения наиболее часто встречающихся задач, разберем типовые уязвимости и посмотрим демки нескольких реальных атак на наиболее интересные из них.

Комментарии

Информация по комментариям в разработке