Алгоритмы шифрования и их применение в.Net приложениях для защиты данных Radislav Kerimhanov
Содержание Что такое защита информации? Уязвимые места Web приложений Виды атак на Web приложения Алгоритмы шифрования и их сравнение Шифрование в.Net Примеры Шифрование данных в БД Шифрование строк подключения к БД Пример шифрования строк подключения к БД Заключение
Что такое защита информации? Информация – это любые сведения, которые интересуют конкретного человека в конкретной ситуации. Защита информации - совокупность мероприятий, методов и средств, обеспечивающих: исключение НСД к ресурсам ЭВМ, программам и данным; проверку целостности информации; исключение несанкционированного использования программ (защита программ от копирования).
Уязвимые места Web приложений URL Поля ввода данных HTTP и HTTPS
Виды атак на Web приложения Подбор (Brute Force) Недостаточная аутентификация (Insufficient Authentication) Небезопасное восстановление паролей (Weak Password Recovery Validation) Предсказуемое значение идентификатора сессии (Credential/Session Prediction) Подмена содержимого (Content Spoofing) Межсайтовое выполнение сценариев (Cross-site Scripting, XSS) Расщепление HTTP-запроса (HTTP Response Splitting) Атака на функции форматирования строк (Format String Attack) Внедрение операторов SQL (SQL Injection)
Алгоритмы шифрования Симметричные алгоритмы шифрования (SymmetricAlgorithm) DES TripleDES Rijndael RC2 Ассиметричные алгоритмы шифрования (AsymmetricAlgorithm) RSA DSA Хэш алгоритмы шифрования (HashAlgorithm) MD5 SHA1 SHA256 SHA512
Симметричные алгоритмы Hello world Алгоритм симметричного шифрования Olleh dlrow Секретный ключ Hello world Алгоритм симметричного шифрования Секретный ключ
Асимметричные алгоритмы Hello world Алгоритм асимметричного шифрования Olleh dlrow Открытый ключ Hello world Алгоритм асимметричного шифрования Закрытый ключ
Шифрование в.Net Абстрактный алгоритм Реализация по умолчаниюДлина ключаМаксималь ная длина ключа DESDESCryptoServiceProvider 64 TripleDES TripleDESCryptoServiceProvider 128, RC2 RC2CryptServiceProvider Rijndael RijndaelManaged 128,192, RSA RSACryptoServiceProvider 384–16384 (с увели- чением на 8 бит) 1024 DSA DSACryptoServiceProvider 512–1024 (с увеличе- нием на 64 бита) 1024
Шифрование данных в БД Шифрование с помощью хэш алгоритма ЛогинПароль JoePresidentAEB0FC9FCEA137CF9BBC594BBC97991C10CD9138 MaryDeveloperDEFAFC9FCEA137C BBC97991C TomNewHireAEB0FC9FCEA137CF9BBC594BBC97991C10CD9138 Шифрование с помощью хэш алгоритма + SALT ЛогинПарольSalt JoePresident876ABD9FCEA137CF9BBC594 BBC97991C10CD9138 5d8a2052-1f3e-4fe1- 9ca4-7c891a MaryDeveloperADCAD79FCEA137C B BC97991C b98-3ce5-4f62- a ce93ed7bb TomNewHireBC89129FCEA137CF9BBC594B BC97991C10BDCA09 fd05e0fe-d17c-4d6c- 8a bb5613c
Шифрование строк подключения к БД
Заключение Достоинства симметричных алгоритмов по сравнению с асимметричными: скорость (по данным Applied Cryptography на 3 порядка выше) простота реализации (за счёт более простых операций) меньшая требуемая длина ключа Недостатки: сложность управления ключами в большой сети сложность обмена ключами «Тот, кто владеет информацией, владеет миром»