Основные методы защиты данных в реляционных БД

 


 


 

 

 

Курсовая работа по теме:

«Основные методы защиты данных»

 

 

 

 

Выполнил:______________

Проверил:______________

 

 

 

 

 

 

 

 

 

 

 

 

 

2014 г

 

 

 

 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ

3

1. Общие вопросы информационной безопасности

5

1.1. Доктрина информационной безопасности РФ

5

1.2. Понятие информационной безопасности. Классификация угроз информационной безопасности.

5

2. Основные методы защиты информации

9

2.1. Криптография

9

2.2. Методы аутентификации и идентификации

14

3. Основные методы защиты данных  в реляционных БД

18

3.1. Основные методы защиты данных на примере СУБД SQL сервер

18

ЗАКЛЮЧЕНИЕ

26

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

27

Приложения

29


 

 

 

Введение

 

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

Стремительный рост компьютерных технологий в различных сферах человеческой деятельности, с одной стороны, позволил обеспечить высокие достижения в этих сферах, а с другой стороны, стал источником самых непредсказуемых и вредных для человеческого общества последствий. В результате, можно говорить о появлении принципиально нового сегмента международного противоборства, затрагивающего как вопросы безопасности отдельных государств, так и общую систему международной безопасности на всех уровнях. [6]

Широкое использование в процессе информатизации общества современных методов и средств обработки информации создало не только объективные предпосылки повышения эффективности всех видов деятельности человека, общества, государства, но я ряд проблем, связанных с защитой информации. [1,2]

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

Пересечение подобных действий осуществляется наиболее эффективно при использовании инженерно-технических методов защиты информации. [6]

В России положения, касающиеся информационной безопасности,

 включены в «Концепцию национальной безопасности РФ», утвержденную Указом Президента РФ от 17.12.1997 г., в ред. Указа Президента от 10.01.2000 г., а также в Военную доктрину РФ, утвержденную Указом Президента РФ от 21.04.2000 г. Кроме того, в рамках Совета безопасности РФ разрабатывается проект «Концепции совершенствования правового обеспечения информационной безопасности РФ». [9]

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

Для достижения данной цели поставлены следующие задачи:

- рассмотреть понятие информационной безопасности и общие вопросы информационной безопасности в РФ;

- более подробно рассмотреть  общие понятия угроз и способов  защиты информации;

- детально рассмотреть криптографические  методы информации, а также методы аутентификации и идентификации;

- рассмотреть способы защиты данных в реляционных БД.

 

Глава 1: Общие вопросы информационной безопасности

 

1.1. Доктрина информационной безопасности РФ

09 сентября 2000 года Президентом РФ была утверждена Доктрина информационной безопасности РФ. Доктрина информационной безопасности Российской Федерации представляет совокупность официальных взглядов на цели, задачи, принципы и основные направления обеспечения информационной безопасности Российской Федерации, развивает Концепцию национальной безопасности Российской Федерации применительно к информационной сфере. [9]

В декабре 2002 года принят ФЗ «О внесении изменений и дополнений в Закон РФ «О правовой охране программ для ЭВМ и баз данных», 29 июля 2004 года подписан Закон «О коммерческой тайне», на рассмотрении в Государственной Думе находится законопроект «Об информации персонального характера». Назрела необходимость разработки и принятия законов «О служебной тайне», «О профессиональной тайне». Принятие указанных законов обусловлено положениями Доктрины информационной безопасности РФ, в которой в качестве основных составляющих национальных интересов России в информационной сфере выделяются меры правового характера, обеспечивающие конституционные права человека и гражданина свободно искать, передавать, производить и распространять информацию любым законным способом, конституционные права и свободы человека и гражданина на личную и семейную тайну, тайну переписки, телефонных переговоров, почтовых, телеграфных и иных сообщений, защиту информационных ресурсов от несанкционированного доступа, обеспечение безопасности информационных и телекоммуникационных систем. [9]

 

1.2. Понятие информационной безопасности. Классификация угроз информационной безопасности.

Угроза безопасности – совокупность условий и факторов, создающих опасность жизненно важным интересам личности, общества и государства.

Классификацию угроз можно представить в виде таблицы 1. (приложение) [7]

 

Угрозы можно разделить следующим образом:

По источнику угрозы:

  • внешние – связанные со стихийными бедствиями, техногенными, политическими,  социальными факторами и т.д;
  • внутренние – связанные с отказами вычислительной и коммуникационной техники, ошибками программного обеспечения.

По природе возникновения:

  • естественные  (объективные)  –  вызванные  воздействием  на  ин-формационную среду объективных физических процессов  или стихийных природных явлений, не зависящих от воли человека;
  • искусственные   (субъективные)  –  как правило вызванные  воздействием  человека. [7,10]

Угрозы искусственного характера в свою очередь можно разделить на:

  • непреднамеренные  угрозы  –  ошибки  программного обеспечения, персонала, отказы вычислительной и коммуникационной техники и т.д.;
  • преднамеренные  угрозы  –  неправомерный доступ к информации, разработка специального программного  обеспечения,  используемого  для  осуществления  неправомерного  доступа,  разработка  и  распространение  вирусных программ и т.д. Подобные угрозы всегда непосредственно связаны с деятельностью людей. [7,10]

По цели реализации угрозы можно разделить:

  • нарушение конфиденциальности, заключается  в  том,  что  информация  становится  известной  пользователю, который  не  имеет права доступа  данной информации.  Угроза  раскрытия  имеет  место  всякий  раз,  когда получен  несанкционированный  доступ  к  некоторой  секретной информации,  хранящейся  в  вычислительной  системе  или  передаваемой от одной системы к другой;
  • нарушение  целостности  включает  в  себя любое  несанкционированное  изменение  информации,  хранящейся  в  вычислительной  системе  или  передаваемой  из  одной системы  в  другую.  В данном случае нарушитель преднамеренно изменяет информацию;
  • нарушение доступности  возникает,  когда  в  результате  преднамеренных действий, предпринятых другим  пользователем,  умышленно  блокируется  доступ  к  некоторому  ресурсу  вычислительной системы. Если один пользователь запрашивает доступ к  службе,  а  другой  предпринимает  что-либо  для  недопущения этого доступа, подобное действие считается отказом службы. Наиболее частые примеры атак, связанных с отказом служб, включают в себя ресурсы общего пользования (принтеры или процессоры). [7,10]

По характеру воздействия угрозы как правило делят на:

  • активные;
  • пассивные.

По объекту воздействия угрозы:

  • воздействующие на информационную среду в целом;
  • воздействующие на отдельные элементы информационной среды.

Основные проблемы информационной безопасности связаны, в первую очередь, с умышленными угрозами, т.е. действиями людей.  Необходимо также отметить, что реализованная угроза называется атакой. [7,10]

Под  защищенностью  понимается  совокупность  правовых,  научно-технических, специальных, организационных мер, направленных на своевременное выявление, предупреждение и пресечение неправомерного получения  и  распространения  защищаемой  информации,  осуществляемых органами  законодательной,  исполнительной  и  судебной  власти,  общественными и иными организациями и объединениями, гражданами, принимающими  участие  в  обеспечении  информационной  безопасности  в  соответствии  с  законодательством,  регламентирующим  отношения  в  информационной сфере. [10] 

Глава 2. Основные методы защиты информации

2.1. Криптография

Криптография - наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Изначально криптография изучала методы шифрования информации — обратимого преобразования открытого исходного текста на основе секретного алгоритма или ключа в шифрованный текст. Традиционная криптография образует раздел симметричных криптосистем, в которых зашифровывание и расшифровывание проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию. [8]

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

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

Основная идея, лежащая в основе криптографии, такова: группа людей может

секретным способом записывать послания так, что они будут непонятны всем остальным. [8] 

Криптографические методы наиболее часто подразделяются в зависимости от количества ключей, используемых в соответствующих криптоалгоритмах (см. рис. 1 приложение) [8]:

1. Бесключевые, в которых не используются  какие-либо ключи.

2. Одноключевые - в них используется  некий дополнительный ключевой  параметр - обычно это секретный ключ.

3. Двухключевые, использующие в  своих вычислениях два ключа: секретный и открытый. [8,10]

Рассмотрим основные методы криптографии.

 Электронная подпись используется для подтверждения целостности и авторства данных. Целостность данных означает, что данные не были случайно или преднамеренно изменены при их хранении или передаче.

1. Алгоритмы электронной подписи используют два вида ключей:

  • секретный ключ используется для вычисления электронной подписи;
  • открытый ключ используется для ее проверки.

 

     При использовании криптографически сильного алгоритма электронной подписи и при грамотном хранении и использовании секретного ключа (то есть при невозможности использования ключа никем, кроме его владельца) никто другой не в состоянии вычислить верную электронную подпись какого-либо электронного документа. [8]       

2. Аутентификация позволяет проверить, является ли пользователь или удаленный компьютер действительно является тем, за кого он себя выдает. Простейшей схемой аутентификации является парольная - в качестве секретного элемента в ней используется пароль, который предъявляется пользователем при его проверке.      

3. Методы криптографического контрольного суммирования:

  • ключевое и бесключевое хэширование;
  • вычисление имитоприставок;
  • использование кодов аутентификации сообщений. [8]

 

      Фактически, все эти методы различным образом из данных произвольного размера с использованием секретного ключа или без него, вычисляют некую контрольную сумму фиксированного размера, однозначно соответствующую исходным данным.

Такое криптографическое контрольное суммирование широко используется в различных методах защиты информации, таких как - подтверждение целостности любых данных в тех случаях, когда использование электронной подписи невозможно; в самих схемах электронной подписи; в различных схемах аутентификации пользователей.[8]       

4. Генераторы случайных и псевдослучайных  чисел позволяют создавать последовательности случайных чисел, которые широко используются в криптографии. Случайные числа необходимы для генерации секретных ключей, применяются во многих алгоритмах электронной подписи,также случайные числа используются во многих схемах аутентификации.

Для получения абсолютно случайных чисел необходимо наличие качественных аппаратных генераторов. Однако, на основе алгоритмов симметричного шифрования можно построить качественные генераторы псевдослучайных чисел. Криптографические генераторы псевдослучайных чисел обычно используют большой пул (seed-значение), содержащий случайную информацию. Биты генерируется путем выборки из пула с возможным прогоном через криптографическую хэш-функцию, чтобы спрятать содержимое пула от внешнего наблюдателя. [8]

Несмотря на то, что при аккуратном проектировании криптографически надежный генератор случайных чисел реализовать не так уж и трудно, важности данного пункта не всегда придают нужное значение. Таким образом, следует подчеркнуть важность криптографического генератора случайных чисел, если он сделан некачественно, он может ставить систему под угрозу, так как обладает высокой степенью уязвимости. [8,10]  

 

Шифрование      

Шифрованием  называется  процесс  зашифрования  или  расшифрования данных. Также термин шифрование используется как синоним зашифрования[]. 
      Зашифрованием  данных называется  процесс преобразования открытых данных в зашифрованные с помощью шифра, а расшифрованием данных – процесс  преобразования закрытых  данных в  открытые с помощью  шифра[]. 
      Другими словами шифрование информации - это преобразование открытой информации в зашифрованную и наоборот. Первая часть этого процесса называется зашифрованием, вторая - расшифрованием. [10]      

Зашифрование  можно представить в виде следующей формулы:  
С = Ek1(M), где:

M (message) - открытая информация, С (cipher text) - полученный в результате зашифрования шифртекст, E (encryption) - функция зашифрования, выполняющая криптографические преобразования над M, k1 (key) - параметр функции E, называемый ключом зашифрования.

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

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

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

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

В асимметричном шифровании ключ зашифрования k1 легко вычисляется из ключа k2 таким образом, что обратное вычисление невозможно. Например, соотношение ключей может быть таким:

В частности, такое соотношение ключей используется и в алгоритмах электронной подписи.

Основной характеристикой алгоритма шифрования является криптостойкость, которая определяет его стойкость к раскрытию методами криптоанализа. Обычно эта характеристика определяется интервалом времени, необходимым для раскрытия шифра. [10]

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

Существует два основных вида симметричного шифрования. [10]

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

Поточное шифрование – используется для потока данных, каждый символ которой должен быть зашифрован и отправлен куда-либо, не дожидаясь остальных данных, достаточных для формирования блока. Поэтому алгоритмы поточного шифрования шифруют данные побитно или посимвольно. [10]

 

2.2. Методы аутентификации  и идентификации

Основой любых систем защиты информационных систем являются идентификация и аутентификация, так как все механизмы защиты информации рассчитаны на работу с поименованными субъектами и объектами систем. Напомним, что в качестве субъектов системы могут выступать как пользователи, так и процессы, а в качестве объектов систем– информация и другие информационные ресурсы системы.[11]

 

Одноразовые пароли

 

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

Наиболее известным программным генератором одноразовых паролей является система S/KEY компании Bellcore. Идея этой системы состоит в следующем. Пусть имеется односторонняя функция f (то есть функция, вычислить обратную которой за приемлемое время не представляется возможным). Эта функция известна и пользователю, и серверу аутентификации. Пусть, далее, имеется секретный ключ K, известный только пользователю. [11]

На этапе начального администрирования пользователя функция f применяется к ключу K n раз, после чего результат сохраняется на сервере. После этого процедура проверки подлинности пользователя выглядит следующим образом:

  • сервер присылает на пользовательскую систему число (n-1);
  • пользователь применяет функцию f к секретному ключу K (n-1) раз и отправляет результат по сети на сервер аутентификации;
  • сервер применяет функцию f к полученному от пользователя значению и сравнивает результат с ранее сохраненной величиной. В случае совпадения подлинность пользователя считается установленной, сервер запоминает новое значение (присланное пользователем) и уменьшает на единицу счетчик (n). [11]

На самом деле устроена чуть сложнее,кроме счетчика, сервер посылает затравочное значение, реализация используемое функцией f. Поскольку функция f необратима, перехват пароля, равно как и получение доступа к серверу аутентификации, не позволяют узнать секретный ключ K и предсказать следующий одноразовый пароль.

Система S/KEY имеет статус Internet-стандарта (RFC 1938).

Другой подход к надежной аутентификации состоит в генерации нового пароля через небольшой промежуток времени, например, каждые 60 секунд, для чего могут использоваться программы или специальные интеллектуальные карты (с практической точки зрения такие пароли можно считать одноразовыми). Серверу аутентификации должен быть известен алгоритм генерации паролей и ассоциированные с ним параметры; кроме того, часы клиента и сервера должны быть синхронизированы. [11]

 

Идентификация/аутентификация с помощью биометрических данных

Биометрия представляет собой совокупность автоматизированных методов идентификации и/или аутентификации людей на основе их физиологических и поведенческих характеристик. К числу физиологических характеристик принадлежат особенности отпечатков пальцев, сетчатки и роговицы глаз, геометрия руки и лица и т.п. Можно также в качестве биометрических данных использовать поведенческие характеристикам, к ним относятся динамика подписи (ручной), стиль работы с клавиатурой. К смешанным методам относят анализ особенностей голоса и распознавание речи. [5,10]

Биометрией во всем мире занимаются очень давно. В последнее время спрос на биометрические продукты, в первую очередь в связи с развитием электронной коммерции, постоянно растет. С точки зрения пользователя гораздо удобнее предъявить себя самого, чем что-то запоминать. На рынке в последнее время появились относительно недорогие аппаратно-программные продукты, ориентированные в основном на распознавание отпечатков пальцев.

В общем виде работа с биометрическими данными организована следующим образом. Сначала создается и поддерживается база данных характеристик потенциальных пользователей. Для этого биометрические характеристики пользователя снимаются, обрабатываются, и результат обработки заносится в базу данных. [5,10]

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

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

В настоящий момент активно ведутся работы по стандартизации разных аспектов технологии (формата обмена данными, прикладного программного интерфейса и т.п.), публикуется масса рекламных статей. [5,10]

Однако, необходимо учитывать, что она подвержена тем же угрозам, что и другие методы аутентификации. Во-первых, биометрический шаблон сравнивается не с результатом первоначальной обработки характеристик пользователя, а с тем, что получила система для сравнения. В данном случае во время передачи информации она может быть искажена по каким-либо причинам. Во-вторых, биометрические методы не более надежны, чем база данных шаблонов. В-третьих, следует учитывать разницу между применением биометрии на контролируемой территории, под бдительным оком охраны, и в "полевых" условиях, когда, например к устройству сканирования роговицы могут поднести муляж и т.п. В-четвертых, биометрические данные человека могут измениться, так что база шаблонов нуждается в сопровождении, что создает определенные проблемы и для пользователей, и для администраторов.

Но главная опасность состоит в том, что любой сбой для биометрии оказывается фатальным. Пароли, при всей их ненадежности, в крайнем случае можно сменить. Утерянную аутентификационную карту можно аннулировать и завести новую. Палец же, глаз или голос сменить нельзя. Если биометрические данные окажутся скомпрометированы, придется как минимум производить существенную модернизацию всей системы. [10]

 

 

Глава 3 Основные методы защиты данных в реляционных БД

 

3.1. Основные методы защиты данных на примере СУБД SQL сервер

 

Стабильная система управления пользователями – обязательное условие безопасности данных, хранящихся в любой реляционной системе управления базами данных (СУБД). В языке SQL не существует единственной стандартной команды, предназначенной для создания пользователей базы данных, для каждой реализации процесс проходит индивидуально. В одном случае специальные команды имеют определенное сходство, в другом случае отличия синтаксиса команд могут быть весьма различны. Однако, независимо от конкретной реализации все основные принципы будут одинаковы.

После проектирования логической структуры базы данных, связей между таблицами, ограничений целостности и других структур определяется круг пользователей, которые будут иметь доступ к базе данных. [11]

В системе SQL-сервер используется двухуровневая настройка ограничения доступа к данным. На первом уровне создается учетная запись пользователя -login, что позволяет ему подключиться к самому серверу, но не дает автоматического доступа к базам данных.

На втором уровне для каждой базы данных SQL-сервера на основании учетной записи необходимо создать запись пользователя. На основе прав, выданных пользователю базы данных- user, его регистрационное имя –login, получает доступ к соответствующей базе данных. В разных базах данных login одного и того же пользователя может иметь одинаковые или разные имена user с разными правами доступа. В общем, с помощью учетной записи пользователя осуществляется подключение к SQL-серверу, после чего определяются его уровни доступа для каждой базы данных в отдельности. [11]

В системе SQL-сервер существуют дополнительные объекты, называемые ролями, которые определяют уровень доступа к объектам SQL-сервера. Они разделены на две группы: назначаемые для учетных записей пользователя сервера и используемые для ограничения доступа к объектам базы данных.

Таким образом, на уровне сервера в системе безопасности присутствуют следующие основные понятия: аутентификация; учетная запись; встроенные роли сервера.

На уровне базы данных применяются следующие понятия: пользователь базы данных; фиксированная роль базы данных; пользовательская роль базы данных. [11]

Основные методы защиты данных в реляционных БД