-
Notifications
You must be signed in to change notification settings - Fork 0
Шифрование данных
Методы шифрования нужно выбирать так, чтобы их было легко реализовать на любой платформе с использованием различных языков программирования.
В большинстве языков программирования реализована поддержка OpenSSL.
Для того чтобы получить список доступных методов шифрования можно использовать команду:
openssl ciphers -V 'ALL'
В PHP для этого используется функция - openssl_get_cipher_methods. В Pyhton такой метод не реализован.
Стандартная библиотека hashlib, включает в себя простые и относительно безопасные алгоритмы хеширования, такие как SHA2 (SHA256, SHA384, SHA512).
На данный момент метод шифрования DES признан слабым, но может использоваться в комплексе с другими методами защиты (SSL, TLS).
from Crypto.Cipher import DES
Для его замены чаще всего используют aes-256-ctr, aes-256-gcm и т.д. aes-256-gcm доступен в стороннем модуле - PyCrypto
from Crypto.Cipher import AES
Mcrypt не используется в последних версиях языка, вместо него используется openssl.
PHP 7.1 поддерживает метод шифрования aes-256-gcm
Метод aes-256-gcm кроме шифрования поддерживает аутентификацию на уровне данных (authenticated encryption with associated data - AEAD).
Но проводить проверку подлинности и целостности данных рекомендуется даже для методов которые поддерживают аутентификацию.
Для этого после шифрования используйте MAC. Т.е. сначала данные шифруются, а затем берется HMAC-SHA-256 от итогового кода.
При расшифровке сначала проверяется HMAC, используя алгоритм сравнения устойчивый к атакам по времени. Не сравнивайте напрямую полученный и вычисленный хеш, используя операторы сравнения == или ===.
Если хеши HMAC совпадают, можно безопасно производить расшифровку. Если же хеши не совпадают, немедленно вызывайте исключение.
Первая версия этого руководства была написана Иваном Ристиком и впоследствии дополнена вкладами следующих лиц, перечисленных в алфавитном порядке: Кристиан Бокерманн, Кристиан Фолини, Роберт Хансен, Офер Шезаф, Колин Уотсон, Юрий Васин.
SSL Labs - это исследовательское направление компании Qualys целью которого является изучение SSL/TLS и PKI, а также разработка инструментов и документации для их оценки и настройки. С 2009 года, когда была запущен SSL Labs, сотни тысяч оценок были выполнены с использованием бесплатного онлайн-инструмента. Другие проекты, выполняемые SSL Labs, включают периодические интернет-опросы по тематике SSL и SSL Pulse, ежемесячное сканирование около 170 000 наиболее популярных в мире сайтов с поддержкой SSL.
Qualys, Inc. (NASDAQ: QLYS) является пионером и ведущим поставщиком решений для обеспечения безопасности на основе облачных вычислений с более чем 9300 клиентами в более чем 100 странах, включая большую часть компаний из Forbes Global 100 и Fortune 100. Платформа Qualys Cloud и интегрированный пакет решений помогают организациям упростить операции безопасности и снизить затраты на соблюдение требований, предоставляя критически важную информацию по безопасности по запросу и автоматизируя полный спектр аудита, соответствия и защиты IT-систем и веб-приложений. Компания Qualys, основанная в 1999 году, установила стратегические партнерские отношения с ведущими поставщиками услуг и консалтинговыми организациями, включая Accenture, BT, Cognizant Technology Solutions, Deutsche Telekom, Fujitsu, HCL, HP Enterprise, IBM, Infosys, NTT, Optiv, SecureWorks, Tata Communications, Verizon и Wipro. Компания также является одним из основателей Cloud Security Alliance (CSA). Для получения дополнительной информации посетите сайт www.qualys.com.
Qualys, логотип Qualys и QualysGuard являются торговыми марками Qualys, Inc. Все остальные продукты или названия могут быть товарными знаками соответствующих компаний.