'

Криптоrрафия и безопасность в .NET

Понравилась презентация – покажи это...





Слайд 0

Криптоrрафия и безопасность в .NET Введение


Слайд 1

Криптография и безопасность Нечасто вы встретите книгy, в которой вопросы криптографии обсуждались бы одновременно с вопросами безопасности и при этом с одинаковым вниманием. Эти две темы, на первый взгляд, принадлежат к совершенно разным областям и обычно рассматриваются по отдельности. Книги по криптографии, как правило, отличаются обилием математики и основываются на теоретических подходах. В противоположность им, книги по безопасности компьютерных систем ориентированы не на программиста, они посвящены практическим рецептам выполнения таких, например, операций, как установка сервера сертификатов, создание учетных записей и тому подобное. Между этими двумя крайностями мы видим программиста .NET, озабоченного проблемами, которые по своей природе не относятся ни к математике, ни к системному администрированию.


Слайд 2

Криптография и безопасность В этой главе мы рассмотрим вопросы криптографии и безопасности в технологии .NET и получим общее представление о том, как эти две темы связаны между собой с точки зрения .NET программирования. Эта книга реализует смешанный подход к освещению предмета, сочетающий в себе основы теории криптографии и вопросы aдминистрирования систем с точки зрения безопасности на платформе .NET. В первой главе мы начнем с обзора наиболее важных концепций безопасности и криптографии на платформе .NET, приведя примеры тoгo, как реализуется система безопасности в приложениях .NET. В главе 2 мы рассмотрим теоретические основы криптографии, начиная с устройства шифра и принципов криптоанализа простейших шифровальных систем, известных с древних времен.


Слайд 3

Криптография и безопасность Далее в главах 3, 4 и 5 мы продвинемся дальше, изучив технику программирования .NET применительно к трем ОСНОВНЫМ криптографическим системам, используемым в наше время: симметричные и асимметричные системы, а также цифровая подпись. В этих трех главах приводятся развернутые примеры npoгpaммнoгo кода, реализующегo все эти системы при помощи классов .NET Security. В главе 6 продолжится исследование вопросов, связанных с шифрованием и цифровой подписью, но уже в контексте технологии XML. Главы 7 и 8 продемонстрируют основные техники программирования, реализующие такие концепции .NET, как управление доступом на основе механизма ролей и управление доступом кода к ресурсам на основе свидетельств в программах .NET. Разумеется, реалии распределенных приложений и среды Internet дeлают особенно важными, с точки зрения безопасности, многие специфические аспекты программ, и в главах 9 и 10 мы рассмотрим вопросы безопасности технологии ASP.NET и Wеb сервисов, основанных на .NET.


Слайд 4

Природа криптографии и других средств обеспечения безопасности Главные вопросы, касающиеся самой природы криптографии и средств обеспечения безопасности: - Почему криптография и средства обеспечения безопасности так важны? - Что возможно и что невозможно сделать с их помощью? Первый вопрос. в сущности, это вопрос типа «зачем нам это нужно?», а второй – это вопрос типа «что мы можем сделать при помощи этогo?».


Слайд 5

Почему криптография и средства обеспечения безопасности так важны Существует четыре основных аспекта, в которых рассматривается безопасность данных: секретность, аутентификация, целостность и подтверждение обязательств (nonrepudiation). Очевидно, что секретность во многих случаях может иметь большое значение. Понятно, что секретность необходима в ситуациях, когда критическую информацию необходимо скрыть от противника. Вы без труда также представите себе ситуацию, когда очень важно точно знать с кем именно вы имеете дело (проблема аутентификации). Не менее важно иногда увериться в том, что информация, которую вы получили от кого-то или кому-то отослали, не может быть изменена злонамеренным третьим лицом (проблема целостности). Наконец, вам может потребоваться yвepeнность в том, что некто, с кем вы договорились о чем то, не откажется от своих слов (подтверждение обязательств).


Слайд 6

Проблемы безопасности Рассмотрим общие категории, на которые можно разбить проблемы безопасности. Вам обязательно придут на ум из сообщений новостей или даже из собственной практики примеры каждой из этих категорий: утечки интеллектуальной собственности, нарушенные контракты, сорванные сделки; созданный злоумышленником программный код: почтовые вирусы, логические бомбы, обычные программные вирусы и троянские программы; программные техники несанкционированного доступа такие, как например, техника переполнения буфера; фальшивые сообщения; нарушение договорных обязательств; ошибки в коде, угрожающие безопасности данных. При надлежащем планировании и применении функциональные возможности платформы .NET в плане криптографии и безопасности способны в огромной мере упростить решение всех этих проблем.


Слайд 7

ЧТО МОЖНО СДЕЛАТЬ при помощи криптографии и других средств обеспечения безопасности данных Средства, которые предоставляет платформа .NET, позволяют реализовать следующие разновидности защиты: обеспечение конфиденциальности информации; аутентификация пользователей; целостность информации; противодействие нарушению договорных обязательств; контроль доступа к ресурсам; доступность служб.


Слайд 8

ЧТО НЕЛЬЗЯ СДЕЛАТЬ при помощи криптографии и других средств обеспечения безопасности данных Человеческий фактор! Вот примерный список тех угроз для безопасности системы, которые связаны непосредственно с «человеческим фактором: недостаточная подгoтовка, низкая дисциплина персонала; небрежность разного рода, например, плохой выбор пароля, компрометация ключей или пересылка нешифрованных данных; излишняя доверчивость, неопытность и наивность; атаки, основанные на «социальной инженерии и артистизме; взятки, запугивание, шантаж; плохое качество прогpамм, ошибки в коде.


Слайд 9

Безопасность в ОС: Безопасность данных и криптогpафия с caмoгo начала рассматривались как важный фактор при работе в многoпользовательской среде. Уже в самых ранних системах, «мейнфреймах» (больших ЭВМ) середины 60x гoдов таких, как System/360, многопользовательская среда строилась с большим вниманием к аутентификации пользователей и изоляции задач друг от друга. Симметричные криптографические алгoритмы такие, как DES (Data Encryption Standard - Стандарт шифрования данных), активно применялись в банковских и правительственных приложениях уже в конце 70x. Системы семейства UNIX на всем протяжении своей истории учитывали проблемы безопасности как фактор первостепенной важности. В начале 90x в UNIХ системах уже была внедрена симметричная в асимметричная криптография в различных протоколах и технологиях, как, например, в протоколе сетевой идентификации Kerberos.


Слайд 10

Безопасность в Windows: В противоположность всему этому, история системы Windows начиналась с явногo недостатка средств обеспечения безопасности. До некоторой степени это можно понять, учитывая тот факт. что в начале cвoeгo пути (особенно, еще в 16-разрядной версии), система Windows использовалась в качестве однопользовательского инструмента для некритичных приложений или вообще как игpовая платформа. Но прошло время, и система Windows выросла, став целой отраслью промышленности и обеспечив мир эффективными и удобными приложениями. К досаде компьютерных профессионалов старых времен, развитие Windows было сопряжено с проблемами надежности и безопасности, с утечками информации и уязвимостями различного рода. К счастью, теперь ситуация меняется, и тому есть ряд причин:


Слайд 11

пользователи персональных компьютеров стали гораздо опытней, они нуждаются в большей надежности и безопасности; корпорации осознали всю важность проблем безопасности данных в сети Internet; в Мicrosoft с недавнего времени проблемы безопасности и надежности стали рассматриваться, как проблемы стратегической важности; многие вычислительные задачи, требующие выcoкoгo уровня безопасности, переместились с «мейнфреймов» на персональные компьютеры; прогpаммный интерфейс Win32 обеспечивает мощную, но не слишком прозрачную поддержку функций, связанных с безопасностью; платформа .NET обеспечивает мощную и удобную поддержку всех задач, связанных с криптографией и иными средствами обеспечения безопасности;


Слайд 12

многие эксперты в этой области, включая Брюса Шнайера, провели большую работу по разъяснению всей важности обеспечения безопасности данных; снижение стоимости аппаратного обеспечения и рост производительности делают «накладные расходы» на обеспечение безопасности более приемлемыми; в январе 2000 года экспортные ограничения США на технологии, связанные с криптографией, были серьезно ослаблены; общественность теперь гораздо больше знает от таких опасностях, как вирусы, уязвимости, связанные с переполнением буфера, и тому подобным; увеличение объема критически важных служб, функционирующих в Web, делает проблемы безопасности по-настоящему жгyчими.


Слайд 13

Среда разработки .NET Framework и «виртуальная машина» CRL Следующие функциональные черты платформы .NET обеспечивают наиболее важные аспекты безопасности данных: возможность конфигурирования политики безопасности и контроля (административный контроль); CAS (контроль выполнения кода, основывающийся на конфигyрации политики безопасности и контроля); концепция безопасности, основывающаяся на разделении ролей (управление доступом на основе идентификации пользователя и роли, к которой он принадлежит); управляемая в процессе выполнения верификация кода (проверка диапазонов адресов и контроль типов); домены приложений (изоляция приложений при выполнении); криптографические классы (доступ к мощным криптографическим алгоритмам).


Слайд 14

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


Слайд 15

Программирование с использованием криптографии в .NET В .NET Framework доступно несколько криптографических классов. Эти классы поддерживают все основные криптографические алгоритмы, используемые в наше время. симметричные алгоритмы шифрования DES, 3DES и RC2; криптографические потоки; асимметричный алгоритм RSA; цифровая подпись на основе RSA и DSA; хеш алгоритмы, включая MD5, SНA1, SНA256 и другие; коды аутентификации сообщений (МАС); алгоритм хеша с ключом; ХМL шифрование; ХМL подписи; гeнepaтopы псевдослучайных последовательностей; безопасность в ASP.NEТ; безопасность Wеb-служб.


×

HTML:





Ссылка: