1 / 51

Обеспечение безопасности

Обеспечение безопасности . Администрирование информационных систем Лекция 5. Задачи информационной безопасности. Безопасный доступ Безопасная передача Безопасное хранение. Задачи информационной безопасности. Список основных целей и задач информационной безопасности:

stacey
Download Presentation

Обеспечение безопасности

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Обеспечение безопасности Администрирование информационных систем Лекция 5

  2. Задачи информационной безопасности • Безопасный доступ • Безопасная передача • Безопасное хранение

  3. Задачи информационной безопасности Список основных целей и задач информационной безопасности: • секретность (privacy, confidentiality, secrecy); • целостность (data integrity); • идентификация (identification); • аутентификация (data origin, authentication); • уполномочивание (authorization); • контроль доступа (access control); • право собственности (ownership); • сертификация (certification); • подпись (signature); • неотказуемость (non-repudiation);  • датирование (time stamping); • расписка в получении (receipt); • аннулирование (annul); • анонимность (anonymity); • свидетельствование (witnessing); • подтверждение (confirmation); • ратификация (validation).

  4. Методы и способы защиты информации Методы защиты информации почти всегда определялись формой ее представления и предполагаемыми способами использования. В первом приближении все методы защиты информации можно разделить на три класса: • законодательные; • административные; • технические.

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

  6. Административные методы Заключаются в определении процедур доступа к защищаемой информации и строгом их выполнении. Контроль над соблюдением установленного. На любом этапе известно лицо, несущее ответственность за целостность и секретность охраняемого документа. Административные методы защиты зачастую совмещаются с законодательными и могут устанавливать ответственность за попытки нарушения установленных процедур доступа.

  7. Технические методы В отличие от законодательных и административных, призваны максимально избавиться от человеческого фактора. В случае применения технических средств зашиты перед потенциальным противником ставится некоторая техническая (математическая, физическая) задача, которую ему необходимо решить для получения доступа к информации. В то же время легитимному пользователю должен быть доступен более простой путь, позволяющий работать с предоставленной в его распоряжение информацией без решения сложных задач.

  8. Шифрование Шифрование – метод, используемый для преобразования данных в шифрованный текст для того, чтобы они были прочитаны только пользователем, обладающим соответствующим ключом шифрования для расшифровки содержимого. Шифрование используется тогда, когда требуется повышенный уровень защиты данных - при хранении данных в ненадежных источниках или передачи данных по незащищенным каналам связи. В зависимости от структуры используемых ключей, среди методов шифрования выделяют симметричное шифрование и асимметричное шифрование. Симметричное шифрование предусматривает доступность алгоритма шифрования посторонним лицам, однако ключ (одинаковый для отправителя и получателя) остается неизвестным. При ассиметричном шифровании посторонним лицам известен алгоритм шифрования и открытый ключ, однако закрытый ключ известный только получателю.

  9. Требования к алгоритмам шифрования К алгоритмам шифрования предъявляются определенные требования: • высокий уровень защиты данных против дешифрования и возможной модификации;  • защищенность информации должна основываться только на знании ключа и не зависеть от того, известен алгоритм или нет (правило Киркхоффа);  • малое изменение исходного текста или ключа должно приводить к значительному изменению шифрованного текста (эффект "обвала");  • область значений ключа должна исключать возможность дешифрования данных путем перебора значений ключа;  • экономичность реализации алгоритма при достаточном быстродействии;  • стоимость дешифрования данных без знания ключа должна превышать стоимость данных.

  10. Классификация алгоритмов шифрования • Симметричные (с секретным, единым ключом, одноключевые, single-key).  • Потоковые (шифрование потока данных): • с одноразовым или бесконечным ключом (infinite-key cipher);  • с конечным ключом (система Вернама - Vernam);  • на основе генератора псевдослучайных чисел (ПСЧ). • Блочные (шифрование данных поблочно):  • Шифры перестановки (permutation, P-блоки);  • Шифры замены (подстановки, substitution, S-блоки): • моноалфавитные (код Цезаря);  • полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma); • Составные (таблица 1): • Lucipher (фирма IBM, США);  • DES (Data Encryption Standard, США);  • FEAL-1 (Fast Enciphering Algoritm, Япония);  • IDEA/IPES (International Data Encryption Algorithm/  • Improved Proposed Encryption Standard, фирма Ascom-Tech AG, Швейцария);  • B-Crypt (фирма British Telecom, Великобритания);  • ГОСТ 28147-89 (СССР); * Skipjack (США). • Асимметричные (с открытым ключом, public-key): • Диффи-ХеллманDH (Diffie, Hellman);  • Райвест-Шамир-АдлeманRSA (Rivest, Shamir, Adleman);  • Эль-ГамальElGamal.

  11. Симметричные алгоритмы шифрования  Симметричные алгоритмы шифрования (или криптография с секретными ключами) основаны на том, что отправитель и получатель информации используют один и тот же ключ. Этот ключ должен храниться в тайне и передаваться способом, исключающим его перехват. Обмен информацией осуществляется в 3 этапа: • отправитель передает получателю ключ (в случае сети с несколькими абонентами у каждой пары абонентов должен быть свой ключ, отличный от ключей других пар); • отправитель, используя ключ, зашифровывает сообщение, которое пересылается получателю;  • получатель получает сообщение и расшифровывает его. Если для каждого дня и для каждого сеанса связи будет использоваться уникальный ключ, это повысит защищенность системы. 

  12. Симметричные алгоритмы шифрования 

  13. Потоковые шифры  В потоковых шифрах, т. е. при шифровании потока данных, каждый бит исходной информации шифруется независимо от других с помощью гаммирования. Гаммирование - наложение на открытые данные гаммы шифра (случайной или псевдослучайной последовательности единиц и нулей) по определенному правилу. Обычно используется "исключающее ИЛИ", называемое также сложением по модулю 2 и реализуемое в ассемблерных программах командой XOR. Для расшифровывания та же гамма накладывается на зашифрованные данные. При однократном использовании случайной гаммы одинакового размера с зашифровываемыми данными взлом кода невозможен (так называемые криптосистемы с одноразовым или бесконечным ключом). В данном случае "бесконечный" означает, что гамма не повторяется. Понятно, что обмен ключами размером с шифруемую информацию не всегда уместен. Поэтому чаще используют гамму, получаемую с помощью генератора псевдослучайных чисел (ПСЧ). В этом случае ключ - порождающее число (начальное значение, вектор инициализации, initializingvalue, IV) для запуска генератора ПСЧ. Каждый генератор ПСЧ имеет период, после которого генерируемая последовательность повторяется. Очевидно, что период псевдослучайной гаммы должен превышать длину шифруемой информации.  Генератор ПСЧ считается корректным, если наблюдение фрагментов его выхода не позволяет восстановить пропущенные части или всю последовательность при известном алгоритме, но неизвестном начальном значении.

  14. Блочные шифры При блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: • шифры перестановки (transposition, permutation, P-блоки);  • шифры замены (подстановки, substitution, S-блоки). Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, лабиринты, лозунговые и др.  Шифры замены заменяют элементы открытых данных на другие элементы по определенному правилу. Paзличают шифры простой, сложной, парной замены, буквенно-слоговое шифрование и шифры колонной замены. Шифры замены делятся на две группы: • моноалфавитные (код Цезаря);  • полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma). В моноалфавитных шифрах замены буква исходного текста заменяется на другую, заранее определенную букву. Например в коде Цезаря буква заменяется на букву, отстоящую от нее в латинском алфавите на некоторое число позиций. Очевидно, что такой шифр взламывается совсем просто. Нужно подсчитать, как часто встречаются буквы в зашифрованном тексте, и сопоставить результат с известной для каждого языка частотой встречаемости букв.  В полиалфавитных подстановках для замены некоторого символа исходного сообщения в каждом случае его появления последовательно используются различные символы из некоторого набора. Понятно, что этот набор не бесконечен, через какое-то количество символов его нужно использовать снова. В этом слабость чисто полиалфавитных шифров. 

  15. Составные шифры В современных криптографических системах, как правило, используют оба способа шифрования (замены и перестановки). Такой шифратор называют составным (productcipher). Oн более стойкий, чем шифратор, использующий только замены или перестановки. Блочное шифрование можно осуществлять двояко: • Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруются одновременно, и каждый бит исходного текста влияет на каждый бит шифртекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов (например, ключей). Примерами являются DES в режиме ECB и ГОСТ 28147-89 в режиме простой замены.  • С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используется инициализирующее значение. Ошибка в одном бите влияет на два блока - ошибочный и следующий за ним. Пример - DES в режиме CBC. Генератор ПСЧ может применяться и при блочном шифровании: • Поблочное шифрование потока данных. Шифрование последовательных блоков (подстановки и перестановки) зависит от генератора ПСЧ, управляемого ключом.  • Поблочное шифрование потока данных с ОС. Генератор ПСЧ управляется шифрованным или исходным текстом или обоими вместе.

  16. Асимметричные алгоритмы шифрования В асимметричных алгоритмах шифрования (или криптографии с открытым ключом) для зашифровывания информации используют один ключ (открытый), а для расшифровывания - другой (секретный). Эти ключи различны и не могут быть получены один из другого. Схема обмена информацией такова: • получатель вычисляет открытый и секретный ключи, секретный ключ хранит в тайне, открытый же делает доступным (сообщает отправителю, группе пользователей сети, публикует);  • отправитель, используя открытый ключ получателя, зашифровывает сообщение, которое пересылается получателю;  • получатель получает сообщение и расшифровывает его, используя свой секретный ключ.

  17. Асимметричные алгоритмы шифрования

  18. Сравнение cимметричных и аcимметричных алгоритмов шифрования В асимметричных системах необходимо применять длинные ключи (512 битов и больше). Длинный ключ резко увеличивает время шифрования. Кроме того, генерация ключей весьма длительна. Зато распределять ключи можно по незащищенным каналам.  В симметричных алгоритмах используют более короткие ключи, т. е. шифрование происходит быстрее. Но в таких системах сложное распределение ключей.  Поэтому при проектировании защищенной системы часто применяют и симметричные, и асимметричные алгоритмы. Так как система с открытыми ключами позволяет распределять ключи и в симметричных системах, можно объединить в системе передачи защищенной информации асимметричный и симметричный алгоритмы шифрования. С помощью первого рассылать ключи, вторым же - собственно шифровать передаваемую информацию. Обмен информацией можно осуществлять следующим образом: • получатель вычисляет открытый и секретный ключи, секретный ключ хранит в тайне, открытый же делает доступным;  • отправитель, используя открытый ключ получателя, зашифровывает сеансовый ключ, который пересылается получателю по незащищенному каналу;  • получатель получает сеансовый ключ и расшифровывает его, используя свой секретный ключ; • отправитель зашифровывает сообщение сеансовым ключом и пересылает получателю; • получатель получает сообщение и расшифровывает его. Надо заметить, что в правительственных и военных системах связи используют лишь симметричные алгоритмы, так как нет строго математического обоснования стойкости систем с открытыми ключами, как, впрочем, не доказано и обратное. 

  19. Алгоритм DES DES (Data Encryption Standard) — симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46-3). DES имеет блоки по 64 бита и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP, IP-1) преобразований. Для DES рекомендовано несколько режимов: • режим электронной кодовой книги (ECB — Electronic Code Book), • режим сцепления блоков (СВС — Cipher Block Chaining), • режим обратной связи по шифротексту (CFB — Cipher Feed Back), • режим обратной связи по выходу (OFB — Output Feed Back). Прямым развитием DES в настоящее время является Triple DES.

  20. Алгоритм AES Advanced Encryption Standard (AES), также известный как Rijndael (произносится [rɛindaːl] (Рейндол) ) —симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Этот алгоритм хорошо проанализирован и сейчас широко используется, как это было с его предшественником DES. Национальный институт стандартов и технологий США (National Institute of Standards and Technology, NIST) опубликовал спецификацию AES 26 ноября2001 года после пятилетнего периода, в ходе которого были созданы и оценены 15 кандидатур. 26 мая 2002 года AES был объявлен стандартом шифрования. AES является одним из самых распространённых алгоритмов симметричного шифрования.  Поддержка AES (и только его) введена фирмой Intel в семейство процессоров x86 начиная с Intel Core i7-980X Extreme Edition, а затем на процессорах Sandy Bridge.

  21. Алгоритм Camellia Camellia — алгоритм симметричного блочного шифрования (размер блока 128 бит, ключ 128, 192, 256 бит), один из финалистов европейского конкурса NESSIE (наряду с AES и Shacal-2), разработка японских компаний NipponTelegraphand Telephone Corporation и Mitsubishi ElectricCorporation (представлен 10 марта 2000 г.). Сертифицирован японской организацией CRYPTRECкак рекомендованный для промышленного и государственного использования алгоритм. Camellia является дальнейшим развитием алгоритма шифрования E2, одного из алгоритмов, представленных на конкурсе AESи с использованием элементов алгоритма MISTY1. Структура алгоритма основана на классической цепи Фейстеля с предварительным и финальным забеливанием. Цикловая функция использует нелинейное преобразование (S-блоки), блок линейного рассеивания каждые 16 циклов (побайтовая операция XOR) и байтовую перестановку. В зависимости от длины ключа имеет 18 циклов (128 разрядный ключ), либо 24 цикла (192 и 256 разрядный ключ). Поддержка алгоритма Camellia введена в 2008 году в браузере Mozilla Firefox 3. Алгоритм патентован, однако распространяется под рядом свободных лицензий, в частности, является частью проекта OpenSSL.

  22. Алгоритм IDEA IDEA (InternationalData Encryption Algorithm, международный алгоритм шифрования данных) симметричныйблочныйалгоритмшифрованияданных, запатентованный швейцарской фирмой Ascom. Известен тем, что применялся в пакете программ шифрования PGP. В ноябре 2000 года IDEA был представлен в качестве кандидата в проектеNESSIE в рамках программы Европейской комиссии IST (InformationSocietesTechnology, информационные общественные технологии). Так как IDEA использует 128-битный ключ и 64-битный размер блока, открытый текст разбивается на блоки по 64 бит. Если такое разбиение невозможно, последний блок дополняется различными способами определённой последовательностью бит. Для избежания утечки информации о каждом отдельном блоке используются различныережимы шифрования. Каждый исходный незашифрованный 64-битный блок делится на четыре подблока по 16 бит каждый, так как все алгебраические операции, использующиеся в процессе шифрования, совершаются над 16-битными числами. Для шифрования и расшифрования IDEA использует один и тот же алгоритм.

  23. Алгоритм RC4 RC4 (Rivest Cipher 4 или Ron’s Code, также известен как ARCFOUR или ARC4 (Alleged RC4)) — потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколах SSL и TLS, алгоритме безопасности беспроводных сетей WEP, для шифрования паролей вWindows NT). Шифр разработан компанией RSA Security и для его использования требуется лицензия. Алгоритм RC4, как и любой потоковый шифр, строится на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Длина ключа может составлять от 40 до 256 бит. Основные преимущества шифра — высокая скорость работы и переменный размер ключа. RC4 довольно уязвим, если используются не случайные или связанные ключи, один ключевой поток используется дважды. Эти факторы, а также способ использования могут сделать криптосистему небезопасной (например WEP).

  24. ГОСТ 28147-89 ГОСТ 28147-89 — советский и российский стандарт симметричного шифрования, введённый в 1990 году, также является стандартом СНГ. Полное название — «ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Блочный шифроалгоритм. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма. Использует блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. Основа алгоритма шифра — Сеть Фейстеля.

  25. Алгоритм RSA RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) — криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел.Для шифрования используется операция возведения в степень по модулю большого числа. Для дешифрования за разумное время (обратной операции) необходимо уметь вычислять функцию Эйлера от данного большого числа, для чего необходимо знать разложения числа на простые множители. Криптосистема RSA стала первой системой, пригодной и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе криптографических приложений, включая PGP, S/MIME, TLS/SSL, IPSEC/IKE и других. В криптографической системе с открытым ключом каждый участник располагает как открытым ключом (publickey), так и закрытым ключом (privatekey). В криптографической системе RSA каждый ключ состоит из пары целых чисел. Каждый участник создаёт свой открытый и закрытый ключ самостоятельно. Закрытый ключ каждый из них держит в секрете, а открытые ключи можно сообщать кому угодно или даже публиковать их.

  26. Проверка подлинности информации. При передаче информации должны быть обеспечены вместе или по отдельности: • Конфиденциальность (privacy) - злоумышленник не должен иметь возможности узнать содержание передаваемого сообщения.  • Подлинность (authenticity), которая включает два понятия Шифрование может обеспечить конфиденциальность, а в некоторых системах и целостность. Целостность сообщения проверяется вычислением контрольной функции (checkfunction) от сообщения - некоего числа небольшой длины. Называют контрольную функцию по-разному: • код подлинности сообщения (MessageAuthentical Code, MAC);  • ManipulationDetection Code (MDС);  • контрольная сумма;  • циклический избыточный код (ЦИК, CyclicRedundancyCheck, CRC); • имитовставка в ГОСТ 28147-89;  Вычисляют следующими способами: • квадратичный конгруэнтный алгоритм (QuadraticCongruenticalManipulationDetection Code, QCMDС);  • MessageDigestAlgorithm (MD5);  • символ контроля блока (Block CheckCharacter, BCC);  •  хеш-функция (hash);  • алгоритм с усечением до n битов (n-bitAlgorithmwithTruncation). При вычислении контрольной функции может использоваться какой-либо алгоритм шифрования. Возможно шифрование самой контрольной суммы. Широко применяется цифровая подпись (цифровое дополнение к передаваемой информации, гарантирующее целостность последней и позволяющее проверить ее авторство). Известны модели цифровой подписи (digitalsignature) на основе алгоритмов симметричного шифрования, но при использовании систем с открытыми ключами цифровая подпись осуществляется более удобно. 

  27. Стандарты проверки подлинности Проверке подлинности посвящены стандарты: • проверка подлинности (аутентификация, authentication) - ISO 8730-90, ISO/IES 9594-90 и ITU X.509;  • целостность - ГОСТ 28147-89, ISO 8731-90;  • цифровая подпись - ISO 7498, P 34.10-94 (Россия), DSS (DigitalSignature Standard, США). ISO - Международная организация по стандартизации /МОС/,  ITU - Международный союз электросвязи /МСЭ/.

  28. Хеширование Хеширование (иногда хэширование, англ. hashing) — преобразование по определённому алгоритму входного массива данных произвольной длины в выходную битовую строку фиксированной длины. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом или сводкой сообщения (messagedigest). Хеширование применяется для сравнения данных: если у двух массивов хеш-коды разные, массивы гарантированно различаются; если одинаковые — массивы, скорее всего, одинаковы. В общем случае однозначного соответствия между исходными данными и хеш-кодом нет в силу того, что количество значений хеш-функций меньше, чем вариантов входного массива; существует множество массивов с разным содержимым, но дающих одинаковые хеш-коды — так называемые коллизии. Вероятность возникновения коллизий играет немаловажную роль в оценке качества хеш-функций. Существует множество алгоритмов хеширования с различными свойствами (разрядность, вычислительная сложность, криптостойкость и т. п.). Выбор той или иной хеш-функции определяется спецификой решаемой задачи. Простейшими примерами хеш-функций могут служить контрольная сумма или CRC.

  29. Хеширование

  30. Криптографические хеш-функции Среди множества существующих хеш-функций принято выделять криптографически стойкие, применяемые в криптографии. Для того чтобы хеш-функция H считалась криптографически стойкой, она должна удовлетворять трем основным требованиям, на которых основано большинство применений хеш-функций в криптографии: • Необратимость: для заданного значения хеш-функции m должно быть вычислительно неосуществимо найти блок данных X, для которого H(X)=m . • Стойкость к коллизиям первого рода: для заданного сообщения M должно быть вычислительно неосуществимо подобрать другое сообщение N, для которого H(N)=H(M). • Стойкость к коллизиям второго рода: должно быть вычислительно неосуществимо подобрать пару сообщений , имеющих одинаковый хеш. Данные требования не являются независимыми: • Обратимая функция нестойка к коллизиям первого и второго рода. • Функция, нестойкая к коллизиям первого рода, нестойка к коллизиям второго рода; обратное неверно. Следует отметить, что не доказано существование необратимых хеш-функций, для которых вычисление какого-либо прообраза заданного значения хеш-функции теоретически невозможно. Обычно нахождение обратного значения является лишь вычислительно сложной задачей. Для криптографических хеш-функций также важно, чтобы при малейшем изменении аргумента значение функции сильно изменялось (лавинный эффект). В частности, значение хеша не должно давать утечки информации даже об отдельных битах аргумента. Это требование является залогом криптостойкости алгоритмов хеширования, хеширующих пользовательский пароль для получения ключа.

  31. Криптостойкостьхеш-функции

  32. Цифровая подпись Электронная подпись предназначена для идентификации лица, подписавшего электронный документ и является полноценной заменой (аналогом) собственноручной подписи в случаях, предусмотренных законом. Использование электронной подписи позволяет осуществить: • Контроль целостности передаваемого документа: при любом случайном или преднамеренном изменении документа подпись станет недействительной, потому что вычислена она на основании исходного состояния документа и соответствует лишь ему. • Защиту от изменений (подделки) документа: гарантия выявления подделки при контроле целостности делает подделывание нецелесообразным в большинстве случаев. • Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он должен быть известен только владельцу, то владелец не может отказаться от своей подписи под документом. • Доказательное подтверждение авторства документа: Так как создать корректную подпись можно, лишь зная закрытый ключ, а он должен быть известен только владельцу, то владелец пары ключей может доказать своё авторство подписи под документом. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.

  33. Цифровая подпись

  34. Этапы появления В 1976 году Уитфилдом Диффи и Мартином Хеллманом было впервые предложено понятие «электронная цифровая подпись», хотя они всего лишь предполагали, что схемы ЭЦП могут существовать. В 1977 году, Рональд Ривест, Ади Шамир и Леонард Адлеман разработали криптографический алгоритм RSA, который без дополнительных модификаций можно использовать для создания примитивных цифровых подписей. Вскоре после RSA были разработаны другие ЭЦП, такие как алгоритмы цифровой подписи Рабина, Меркле. В 1984 году Шафи Гольдвассер, Сильвио Микали и Рональд Ривест первыми строго определили требования безопасности к алгоритмам цифровой подписи. Ими были описаны модели атак на алгоритмы ЭЦП, а также предложена схема GMR, отвечающая описанным требованиям. 

  35. Схемы построения цифровых подписей Существует несколько схем построения цифровой подписи: • На основе алгоритмов симметричного шифрования. Данная схема предусматривает наличие в системе третьего лица — арбитра, пользующегося доверием обеих сторон. Авторизацией документа является сам факт шифрования его секретным ключом и передача его арбитру. • На основе алгоритмов асимметричного шифрования. На данный момент такие схемы ЭП наиболее распространены и находят широкое применение.

  36. Использование хеш-функций Поскольку подписываемые документы — переменного (и как правило достаточно большого) объёма, в схемах ЭП зачастую подпись ставится не на сам документ, а на его хеш. Для вычисления хэша используются криптографические хеш-функции, что гарантирует выявление изменений документа при проверке подписи. Хеш-функции не являются частью алгоритма ЭП, поэтому в схеме может быть использована любая надёжная хеш-функция. Использование хеш-функций даёт следующие преимущества: • Вычислительная сложность. Обычно хеш цифрового документа делается во много раз меньшего объёма, чем объём исходного документа, и алгоритмы вычисления хеша являются более быстрыми, чем алгоритмы ЭП. Поэтому формировать хэш документа и подписывать его получается намного быстрее, чем подписывать сам документ. • Совместимость. Большинство алгоритмов оперирует со строками бит данных, но некоторые используют другие представления. Хеш-функцию можно использовать для преобразования произвольного входного текста в подходящий формат. • Целостность. Без использования хеш-функции большой электронный документ в некоторых схемах нужно разделять на достаточно малые блоки для применения ЭП. При верификации невозможно определить, все ли блоки получены и в правильном ли они порядке. Стоит заметить, что использование хеш-функции не обязательно при электронной подписи, а сама функция не является частью алгоритма ЭП, поэтому хеш-функция может использоваться любая или не использоваться вообще.

  37. Использование хеш-функций

  38. Симметричная схема Симметричные схемы ЭП менее распространены чем асимметричные, так как после появления концепции цифровой подписи не удалось реализовать эффективные алгоритмы подписи, основанные на известных в то время симметричных шифрах. Симметричные схемы основаны на хорошо изученных блочных шифрах. Преимущества: • Стойкость симметричных схем ЭП вытекает из стойкости используемых блочных шифров, надежность которых также хорошо изучена. • Если стойкость шифра окажется недостаточной, его легко можно будет заменить на более стойкий с минимальными изменениями в реализации. Недостатков: • Нужно подписывать отдельно каждый бит передаваемой информации, что приводит к значительному увеличению подписи. Подпись может превосходить сообщение по размеру на два порядка. • Сгенерированные для подписи ключи могут быть использованы только один раз, так как после процесса подписи раскрывается половина секретного ключа. Из-за рассмотренных недостатков симметричная схема ЭЦП Диффи-Хелмана не применяется, а используется её модификация, разработанная Березиным и Дорошкевичем, в которой подписывается сразу группа из нескольких бит. Это приводит к уменьшению размеров подписи, но к увеличению объема вычислений. Для преодоления проблемы «одноразовости» ключей используется генерация отдельных ключей из главного ключа.

  39. Асимметричная схема Асимметричные схемы ЭП относятся к криптосистемам с открытым ключом. В отличие от асимметричных алгоритмов шифрования, в которых шифрование производится с помощью открытого ключа, а дешифрование — с помощью закрытого, в схемах цифровой подписи подписывание производится с применением закрытого ключа, а проверка — с применением открытого. Общепризнанная схема цифровой подписи охватывает три процесса: • Генерация ключевой пары. При помощи алгоритма генерации ключа равновероятным образом из набора возможных закрытых ключей выбирается закрытый ключ, вычисляется соответствующий ему открытый ключ. • Формирование подписи. Для заданного электронного документа с помощью закрытого ключа вычисляется подпись. • Проверка (верификация) подписи. Для данных документа и подписи с помощью открытого ключа определяется действительность подписи. Для того, чтобы использование цифровой подписи имело смысл, необходимо выполнение двух условий: • Верификация подписи должна производиться открытым ключом, соответствующим именно тому закрытому ключу, который использовался при подписании. • Без обладания закрытым ключом должно быть вычислительно сложно создать легитимную цифровую подпись. • Следует отличать электронную цифровую подпись от кода аутентичности сообщения (MAC).

  40. Процессы подписывания и проверки

  41. Виды асимметричных алгоритмов ЭП Чтобы применение ЭП имело смысл, необходимо, чтобы вычисление легитимной подписи без знания закрытого ключа было вычислительно сложным процессом. Обеспечение этого во всех асимметричных алгоритмах цифровой подписи опирается на следующие вычислительные задачи: • Задачу дискретного логарифмирования (EGSA) • Задачу факторизации, то есть разложения числа на простые множители (RSA) Вычисления тоже могут производиться двумя способами: на базе математического аппарата эллиптических кривых (ГОСТ Р 34.10-2001) и на базе полей Галуа (DSA). Алгоритмы ЭП подразделяются на обычные цифровые подписи и на цифровые подписи с восстановлением документа. При верификации цифровых подписей с восстановлением документа тело документа восстанавливается автоматически, его не нужно прикреплять к подписи. Обычные цифровые подписи требуют присоединение документа к подписи. К ЭП с восстановлением документа относится, в частности, RSA. Схемы электронной подписи могут быть одноразовыми и многоразовыми. В одноразовых схемах после проверки подлинности подписи необходимо провести замену ключей, в многоразовых схемах это делать не требуется. Также алгоритмы ЭП делятся на детерминированные и вероятностные. Детерминированные ЭП при одинаковых входных данных вычисляют одинаковую подпись. Реализация вероятностных алгоритмов более сложна, так как требует надежный источник энтропии, но при одинаковых входных данных подписи могут быть различны, что увеличивает криптостойкость. В настоящее время многие детерминированные схемы модифицированы в вероятностные. В некоторых случаях, таких как потоковая передача данных, алгоритмы ЭП могут оказаться слишком медленными. В таких случаях применяется быстрая цифровая подпись. Ускорение подписи достигается алгоритмами с меньшим количеством модульных вычислений и переходом к принципиально другим методам расчета.

  42. Перечень алгоритмов ЭП Асимметричные схемы: • FDH (Full Domain Hash), вероятностная схема RSA-PSS (Probabilistic Signature Scheme), схемы стандарта PKCS#1 и другие схемы, основанные на алгоритме RSA • Схема Эль-Гамаля • Американские стандарты электронной цифровой подписи: DSA, ECDSA (DSA на основе аппарата эллиптических кривых) • Российские стандарты электронной цифровой подписи: ГОСТ Р 34.10-94 (в настоящее время не действует), ГОСТ Р 34.10-2001 • Схема Диффи-Лампорта • Украинский стандарт электронной цифровой подписи ДСТУ 4145-2002 • Белорусский стандарт электронной цифровой подписи СТБ 1176.2-99 • Схема Шнорра • Pointcheval-Stern signature algorithm • Вероятностная схема подписи Рабина • Схема BLS (Boneh-Lynn-Shacham) • Схема GMR (Goldwasser-Micali-Rivest)

  43. Модели атак и их возможные результаты В своей работе Гольдвассер, Микали и Ривест описывают следующие модели атак, которые актуальны и в настоящее время: • Атака с использованием открытого ключа. Противник обладает только открытым ключом. • Атака на основе известных сообщений. Противник обладает допустимыми подписями набора электронных документов, известных ему, но не выбираемых им. • Адаптивная атака на основе выбранных сообщений. Противник может получить подписи электронных документов, которые он выбирает сам. Также в работе описана классификация возможных результатов атак: • Полный взлом цифровой подписи. Получение закрытого ключа, что означает полный взлом алгоритма. • Универсальная подделка цифровой подписи. Нахождение алгоритма, аналогичного алгоритму подписи, что позволяет подделывать подписи для любого электронного документа. • Выборочная подделка цифровой подписи. Возможность подделывать подписи для документов, выбранных криптоаналитиком. • Экзистенциальная подделка цифровой подписи. Возможность получения допустимой подписи для какого-то документа, не выбираемого криптоаналитиком. Ясно, что самой «опасной» атакой является адаптивная атака на основе выбранных сообщений, и при анализе алгоритмов ЭП на криптостойкость нужно рассматривать именно её (если нет каких-либо особых условий). При безошибочной реализации современных алгоритмов ЭП получение закрытого ключа алгоритма является практически невозможной задачей из-за вычислительной сложности задач, на которых ЭП построена. Гораздо более вероятен поиск криптоаналитиком коллизий первого и второго рода. Коллизия первого рода эквивалентна экзистенциальной подделке, а коллизия второго рода — выборочной. С учетом применения хеш-функций, нахождение коллизий для алгоритма подписи эквивалентно нахождению коллизий для самих хеш-функций.

  44. Подделка документа (коллизия первого рода) Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила. Однако в подавляющем большинстве случаев такой документ может быть только один. Причина в следующем: • Документ представляет из себя осмысленный текст. • Текст документа оформлен по установленной форме. • Документы редко оформляют в виде Plain Text-файла, чаще всего в формате DOC или HTML. Если у фальшивого набора байт и произойдет коллизия с хешем исходного документа, то должны выполниться 3 следующих условия: • Случайный набор байт должен подойти под сложно структурированный формат файла. • То, что текстовый редактор прочитает в случайном наборе байт, должно образовывать текст, оформленный по установленной форме. • Текст должен быть осмысленным, грамотным и соответствующим теме документа. Впрочем, во многих структурированных наборах данных можно вставить произвольные данные в некоторые служебные поля, не изменив вид документа для пользователя. Именно этим пользуются злоумышленники, подделывая документы. Вероятность подобного происшествия также ничтожно мала. Можно считать, что на практике такого случиться не может даже с ненадёжными хеш-функциями, так как документы обычно большого объёма — килобайты.

  45. Получение двух документов с одинаковой подписью (коллизия второго рода) В этом случае злоумышленник фабрикует два документа с одинаковой подписью, и в нужный момент подменяет один другим. При использовании надёжной хэш-функции такая атака должна быть также вычислительно сложной. Однако эти угрозы могут реализоваться из-за слабостей конкретных алгоритмов хэширования, подписи, или ошибок в их реализациях. В частности, таким образом можно провести атаку на SSL-сертификаты и алгоритм хеширования MD5.

  46. Социальные атаки • Социальные атаки направлены не на взлом алгоритмов цифровой подписи, а на манипуляции с открытым и закрытым ключами. • Злоумышленник, укравший закрытый ключ, может подписать любой документ от имени владельца ключа. • Злоумышленник может обманом заставить владельца подписать какой-либо документ, например, используя протокол слепой подписи. • Злоумышленник может подменить открытый ключ владельца на свой собственный, выдавая себя за него. Использование протоколов обмена ключами и защита закрытого ключа от несанкционированного доступа позволяет снизить опасность социальных атак.

  47. Man in the middle, MITM-атака Атака «человек посередине - термин в криптографии, обозначающий ситуацию, когда атакующий способен читать и видоизменять по своей воле сообщения, которыми обмениваются корреспонденты, причём ни один из последних не может догадаться о его присутствии в канале. Принцип атаки: Предположим, объект 'A' планирует передать объекту 'B' некую информацию. Объект 'C' обладает знаниями о структуре и свойствах используемого метода передачи данных, а также о факте планируемой передачи собственно информации, которую 'С' планирует перехватить. Для совершения атаки 'С' «представляется» объекту 'А' как 'В', а объекту 'В' — как 'А'. Объект 'А', ошибочно полагая, что он направляет информацию 'В', посылает её объекту 'С'. Объект 'С', получив информацию, и совершив с ней некоторые действия (например, скопировав или модифицировав в своих целях) пересылает данные собственно получателю - 'В'; объект 'В', в свою очередь, считает, что информация была получена им напрямую от 'А'.

  48. Схема MITM-атаки

  49. Обнаружение MITM-атаки Для обнаружения атаки «человек посередине» необходимо проанализировать сетевой трафик. К примеру, для детектирования атаки по SSL следует обратить внимание на следующие параметры: • IP адрес сервера • DNS-сервер • X.509 сертификат сервера • Подписан ли сертификат самостоятельно? • Подписан ли сертификат CA(Certification authority)? • Был ли сертификат аннулирован? • Менялся ли сертификат недавно? • Получали ли другие клиенты в интернете такой же сертификат?

  50. Реализации MITM-атаки • dsniff — инструмент для SSH и SSL атак • Cain — инструмент для проведения атаки «человек посередине». Имеет графический интерфейс. Поддерживает сниффинг и ARP-spoofing • Ettercap — инструмент для проведения атак в локальной сети • Karma — использует 802.11 EvilTwinattacks для проведения MITM-атак • AirJack — программа демонстрирует основанные на стандарте 802.11 MITM-атаки • SSLStrip — инструмент для MITM-атаки на SSL • SSLSniff — инструмент для MITM-атаки на SSL. Изначально был создан для обнаружения уязвимостей в Internet Explorer. • Mallory — прозрачный прокси-сервер, осуществляющий TCP и UDP MITM-атаки. Может быть также использован для атаки на протоколы SSL, SSH и многие другие • wsniff — инструмент для проведения атак на 802.11 HTTP/HTTPS протокол Перечисленные программы могут быть использованы для осуществления атак «человек посередине», а также для их обнаружения и тестирование системы на уязвимости.

More Related