Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Логическое проектирование преобразование концептуалного представления в логическую структуру базы д.html

Работа добавлена на сайт samzan.net:


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

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

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

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

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

• похищение и фальсификация данных;

• утрата конфиденциальности (нарушение тайны);

• нарушение неприкосновенности личных данных;

• утрата целостности;

• потеря доступности.

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

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

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

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

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

Основные типы угроз

Угроза. Любая ситуация (или событие), вызванная намеренно или непреднамеренно, которая способна неблагоприятно повлиять на систему, а следовательно, и на работу всей организации.

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

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

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

  1. Использование прав доступа
  2. Несанкционированное изменение или копирование данных
  3. Изменение программ
  4. Непродуманные методики и процедуры, допускающие смешивание конфиденциальных и обычных данных в одном документе
  5. Подключение к кабельным сетям
  6. Ввод взломщиками некорректных данных
  7. Шантаж
  8. Создание "лазеек" в системе
  9. Похищение данных, программ и оборудования
  10. Отказ систем защиты, вызвавший превышение допустимого уровня доступа
  11. Нехватка персонала
  12. Недостаточная обученность персонала
  13. Просмотр и раскрытие засекреченных данных
  14. Электронные помехи и радиация
  15. Разрушение данных в результате отключения или перенапряжения в сети электропитания
  16. Пожары (по причине коротких замыканий, ударов молний, поджогов), наводнения, диверсии
  17. Физическое повреждение оборудования
  18. Обрыв или отсоединение кабелей
  19. Внедрение компьютерных вирусов

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

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

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

Тем не менее даже столь маловероятные обстоятельства должны быть приняты во внимание, особенно если их влияние может оказаться весьма существенным.

Контрмеры — компьютерные средства контроля

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

Общая схема типичной многопользовательской компьютерной системы представлена на рис. 18.2.

Рис. 18.2. Общая схема типичной многопользовательской компьютерной системы

Различные компьютерные средства контроля, доступные в многопользовательской среде, включают:

• Авторизация пользователей,

• Применение представлений.

• Резервное копирование и восстановление.

• Поддержка целостности.

• Шифрование.

• Применение RAID-массивов.

Обычно для персонального компьютера доступны не все перечисленные ниже типы средств контроля.

Авторизация пользователей

Авторизация. Предоставление прав (или привилегии), позволяющих их владельцу иметь законный доступ к системе или к ее объектам.

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

Аутентификация. Механизм определения того, является ли пользователь тем, за кого себя выдает.

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

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

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

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

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

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

Любой вновь созданный объект автоматически передается во владение его создателю, который и получает весь возможный набор привилегий для данного объекта. Хотя при этом пользователь может быть владельцем некоторого представления, единственной привилегией, которая будет предоставлена ему в отношении этого объекта, может оказаться право выборки данных из данного представления. Причина подобных ограничений состоит в том, что указанный пользователь имеет ограниченный набор прав в отношении базовых таблиц созданного им представления. Принадлежащие владельцу привилегии могут быть переданы им другим авторизованным пользователям. Например, владелец нескольких таблиц базы данных может предоставить другим пользователям право выборки информации из этих таблиц, но не позволить им вносить в таблицы какие-либо изменения. В языке SQL предусмотрено, что если пользователь передает какие-либо привилегии, он может указать, приобретает ли получатель этих привилегий право передавать эти привилегии другим пользователям.

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

С каждым конкретным идентификатором может быть связан конкретный набор привилегий, определяющий тип доступа к отдельным объектам базы данных (например, для выборки (Select), обновления (Update), вставки (Insert), удаления (Delete) или все типы сразу (All)). С каждым типом привилегии связывается некоторое двоичное значение:

SELECT UPDATE INSERT DELETE ALL

0001        0010          0100        1000       1111

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

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

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

Представления (подсхемы)

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

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

Резервное копирование и восстановление

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

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

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

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

Поддержка целостности

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

Шифрование

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

Если в системе с базой данных содержится весьма важная конфиденциальная информация, то имеет смысл зашифровать ее с целью предупреждения возможной угрозы несанкционированного доступа с внешней стороны (по отношению к СУБД). Некоторые СУБД включают средства шифрования, предназначенные для использования в подобных целях. Подпрограммы таких СУБД обеспечивают санкционированный доступ к данным (после их дешифрования), хотя это будет связано с некоторым снижением производительности, вызванным необходимостью двойного преобразования. Шифрование также может использоваться для защиты данных при их передаче по линиям связи. Существует множество различных технологий шифрования данных с целью сокрытия передаваемой информации, причем одни из них называют необратимыми, а другие — обратимыми. Необратимые методы, как и следует из их названия, не позволяют установить исходные данные, хотя последние могут использоваться для сбора достоверной статистической информации. Обратимые технологии используются чаще. Для организации защищенной передачи данных по незащищенным сетям должны использоваться системы шифрования, включающие следующие компоненты:

• ключ шифрования, предназначенный для шифрования исходных данных (обычного текста);

• алгоритм шифрования, который описывает, как с помощью ключа шифрования преобразовать обычный текст в зашифрованный;

• ключ дешифрования, предназначенный для дешифрования зашифрованного текста;

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

Некоторые системы шифрования, называемые симметричными, используют один и тот же ключ как для шифрования, так и для дешифрования, при этом предполагается наличие защищенных линий связи, предназначенных для обмена ключами. Однако большинство пользователей не имеют доступа к защищенным линиям связи, поэтому для получения надежной защиты длина ключа должна быть не меньше длины самого сообщения. Тем не менее большинство эксплуатируемых систем построено на использовании ключей, которые короче самих сообщений. Одна из распространенных систем шифрования называется DES (Data Encryption Standard). В ней используется стандартный алгоритм шифрования, разработанный фирмой IBM. В этой схеме для шифрования и дешифрования применяется один и тот же ключ, который должен храниться в секрете, хотя сам алгоритм шифрования не является секретным. Этот алгоритм предусматривает преобразование каждого 64-битового блока обычного текста с использованием 56-битового ключа шифрования. Система шифрования DES расценивается как достаточно надежная далеко не всеми — некоторые разработчики полагают, что следовало бы использовать более длинное значение ключа. Так, в системе шифрования PGP (Pretty Good Privacy) используется 128-битовый симметричный алгоритм, применяемый для шифрования блоков передаваемых данных.

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

Другой тип систем шифрования предусматривает использование различных ключей для шифровки и дешифровки сообщений — подобные системы принято называть асимметричными. Примером такой системы является система с открытым ключом, предусматривающая использование двух ключей, один из которых является открытым, а другой хранится в секрете. Алгоритм шифрования также может быть открытым, поэтому любой пользователь, желающий направить владельцу ключей зашифрованное сообщение, может использовать его открытый ключ и соответствующий алгоритм шифрования. Однако дешифровать данное сообщение сможет только тот, кто имеет парный закрытый ключ шифрования. Системы шифрования с открытым ключом могут также использоваться для отправки вместе с сообщением "цифровой подписи", подтверждающей, что данное сообщение было действительно отправлено владельцем открытого ключа. Наиболее популярной асимметричной системой шифрования является RSA (это инициалы трех разработчиков данного алгоритма).

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

RAID (массив независимых дисковых накопителей с избыточностью)

Аппаратное обеспечение, на котором эксплуатируется СУБД, должно быть отказоустойчивым. Это означает, что СУБД должна продолжать работать даже при отказе аппаратных компонентов. Для этого необходимо иметь избыточные компоненты, которые могут быть объединены в систему» сохраняющую свою работоспособность при отказе одного или нескольких компонентов, К числу основных аппаратных компонентов, которые должны быть отказоустойчивыми, относятся дисковые накопители, дисковые контроллеры, процессоры, источники питания и вентиляторы охлаждения. Дисковые накопители являются наиболее уязвимыми среди всех аппаратных компонентов и характеризуются самыми низкими показателями непрерывной работы между отказами.

Одним из решений этой проблемы является применение технологии RAID.

Первоначально эта аббревиатура расшифровывалась как Redundant Array of Inexpensive Disks (Массив недорогих дисковых накопителей с избыточностью), но в дальнейшем букву "I" в этой аббревиатуре стали рассматривать как сокращение от "independent" (независимый). RAID-массив представляет собой массив дисковых накопителей большого объема, состоящий из нескольких независимых дисков, совместное функционирование которых организовано таким образом, что при этом повышается надежность и вместе с тем увеличивается производительность.

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

Повышенная надежность RAID-массива обеспечивается благодаря дублированию данных (такие дубликаты называются зеркальными копиями) и хранению на дисках избыточной информации, сформированной с использованием схем контроля четности или схем исправления ошибок, таких как код РидаСоломона (Reed-Solomon). В схеме контроля четности каждый байт должен иметь связанный с ним бит четности, который принимает значение 0 или 1, в зависимости от того, является ли четным или нечетным количество битов 1 в байте, которому соответствует этот бит контроля четности. Если в контролируемом байте некоторые биты будут искажены, значение бита четности не совпадет со значением, соответствующим новому составу битов 1 в этом байте. Аналогичным образом, при искажении хранимого бита контроля четности он не будет соответствовать данным в байте, что позволит обнаружить ошибку. С другой стороны, схемы корректировки ошибок предусматривают хранение двух или больше дополнительных битов и позволяют восстанавливать первоначальные данные, если один из битов будет искажен. Схемы контроля четности и корректировки ошибок могут применяться при полосовом распределении данных по дискам.

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

• RAID 0 (неизбыточный массив). На этом уровне не применяется дублирование данных и поэтому обеспечивается наивысшая производительность записи, поскольку не приходится копировать по дискам обновляемые данные. Полосовое распределение данных осуществляется на уровне дисковых блоков.

• RAID 1 (массив с зеркальным отображением). На этом уровне ведутся две идентичные (зеркальные) копии данных на разных дисках. Для обеспечения сохранности данных на случай отказа диска запись на разные диски в некоторых вариантах реализации такого массива не выполняется одновременно. Этот вариант организации хранения данных во внешней памяти является наиболее дорогостоящим.

• RAID 0+1 (неизбыточный массив с зеркальным отображением). На этом уровне применяется сочетание методов полосового распределения и зеркального отображения данных.

• RAID 2 (массив с применением кодов корректировки ошибок, хранящихся во внешней памяти). На этом уровне единицей полосового распределения является один бит и для реализации схемы избыточности применяются коды Хэмминга.

• RAID 3 (массив, обеспечивающий контроль четности с чередованием битов). На этом уровне предусматривается хранение избыточных данных  (представляющих собой информацию контроля четности) на отдельном диске массива. Эта информация может применяться для восстановления данных, хранящихся на других дисках, в случае отказа этих дисков. На этом уровне используется меньший дополнительный объем пространства внешней памяти по сравнению с уровнем RAID 1, но доступ к диску с информацией контроля четности может стать узким местом, ограничивающим производительность.

• RAID 4 (массив, обеспечивающий контроль четности с чередованием блоков). На этом уровне единицей полосового распределения является блок диска; блоки с информацией контроля четности хранятся на ином диске, чем соответствующие блоки данных с нескольких других дисков. При отказе одного из дисков с данными блок контроля четности может применяться в сочетании с соответствующими блоками с других дисков для восстановления данных, которые хранились на отказавшем диске.

• RAID 5 (массив, обеспечивающий контроль четности с чередованием блоков и распределением информации контроля четности). На этом уровне информация контроля четности применяется в качестве избыточной и обеспечивающей восстановление первоначальных данных по такому же принципу, как в массиве RAID 3, но данные контроля четности распределяются с помощью метода полосового распределения по всем дискам таким же образом, как происходит распределение исходных данных. Это позволяет устранить узкое место, возникающее, если вся информация контроля четности хранится на одном диске.

• RAID 6 (массив с избыточностью P+Q). Этот уровень аналогичен уровню RAID 5, но предусматривает хранение дополнительных избыточных данных для защиты от отказа сразу нескольких дисков. При этом вместо информации контроля четности используются коды исправления ошибок.

Например, корпорация Oracle рекомендует использовать уровень RAID 1 для файлов журнала восстановления. А для файлов базы данных рекомендуется применение уровня RAID 5, если он обеспечивает приемлемые задержки при записи, а в ином случае рекомендуется уровень RAID 1 или RAID 04-1.

Защита СУБД в Web

В основе средств обмена данными в Internet лежат протоколы TCP/IP и HTTP. Но эти протоколы разрабатывались без учета необходимости применения средств защиты. Поэтому весь трафик в Internet передается в открытом виде (если не используется специальное программное обеспечение) и передаваемые в его составе данные может прочитать любой желающий. Чтение данных, передаваемых по сети, является одной из форм нарушения защиты, и ее можно относительно легко осуществить с использованием свободно доступного программного обеспечения перехвата пакетов, поскольку Internet с самого начала создавалась как открытая сеть. Тем не менее последствия такого нарушения могут быть очень серьезными. Представьте себе, например, к чему приведет перехват номеров кредитных карточек при их передаче заказчиками во время покупки товаров по Internet. Таким образом, задача состоит в том, чтобы обеспечивались бесперебойная передача и прием информации по Internet и при этом гарантировалось соблюдение следующих требований:

• информация должна быть недоступной для всех, кроме отправителя и получателя (секретность);

• информация должна остаться неизменной после передачи (целостность);

• получатель должен быть уверен, что информация действительно поступила от отправителя (аутентичность);

• отправитель должен быть уверен, что получатель является подлинным (отсутствие возможности имитации подлинного получателя);

• отправитель не может отрицать факт передачи им информации (отсутствие возможности уйти от ответственности за переданную информацию, например заказ).

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

Еще одним аспектом защиты, с которым приходится сталкиваться в среде Web, является то, что информация, передаваемая на клиентский компьютер, может иметь выполняемое информационное наполнение. Например, HTML-страницы могут включать элементы управления ActiveX, сценарии JavaScript/VBScript, а также один или несколько аплетов Java. С помощью выполняемого информационного наполнения могут быть осуществлены следующие злонамеренные действия, и поэтому должны быть приняты меры по их предотвращению:

• повреждение данных или нарушение хода выполнения программ;

• переформатирование целых дисков;

• выполнение общего останова системы;

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

• присвоение себе чужого идентификатора и выполнение действий от имени пользователя или операционной системы компьютера пользователя для нападения на другие объекты в сети;

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

• создание безаварийных, но нежелательных эффектов, особенно на устройствах вывода.

Прокси-серверы

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

Прокси-сервер записывает в память результаты всех выполненных запросов и хранит их определенное время, поэтому он позволяет намного повысить производительность выполнения запросов группы пользователей. Например, предположим, что пользователи А и В обращаются в Web через прокси-сервер. Вначале пользователь А запрашивает некоторую Web-страницу, а немного позже к той же странице обращается пользователь В. Вместо перенаправления последнего запроса к Web-серверу, на котором находится страница, прокси-сервер просто возвращает из кэша копию страницы, которая перед этим была отправлена пользователю А. Прокси-сервер чаще всего находится в той же сети, что и сам пользователь, поэтому позволяет намного ускорить работу. Мощные прокси-серверы, например, которые установлены на сетевых узлах компаний CompuServe и America Online, способны поддерживать работу тысяч пользователей.

Прокси-серверы могут также применяться для фильтрации запросов. Например, в организации прокси-сервер может служить для предотвращения доступа служащих к определенному ряду Web-узлов.

Брандмауэры

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

Брандмауэр — это система, предназначенная для предотвращения несанкционированного доступа к ресурсам закрытой сети или доступа из закрытой сети к ресурсам другой сети. Брандмауэры могут быть реализованы на основе аппаратных или программных средств, а также сочетания тех и других. Они часто применяются для предотвращения несанкционированного доступа пользователей Internet к ресурсам закрытых сетей, подключенных к Internet (прежде всего, внутренних сетей компаний). Все сообщения, поступающие или исходящие из внутренней сети, проходят через брандмауэр, который анализирует каждое сообщение и блокирует те из них, которые не отвечают определенным критериям защиты. Ниже перечислены основные категории брандмауэров.

• Фильтры пакетов. Этот метод организации работы брандмауэра предусматривает анализ каждого пакета, входящего или исходящего из сети, после чего пакет принимается или отвергается в соответствии с правилами, определяемыми пользователем. Фильтрация пакетов представляет собой довольно эффективный механизм, прозрачный для пользователей, но его настройка может быть связана с определенными сложностями. Кроме того, фильтрация пакетов не позволяет предотвратить имитацию IP-адреса. (Метод имитации IP-адреса применяется для получения несанкционированного доступа к компьютеру. При использовании этого метода нарушитель отправляет на компьютер сообщения с IP-адресом, указывающим» что эти сообщения поступают из источника, заслуживающего доверия.)

• Прикладные шлюзы. Этот метод предусматривает применение механизмов защиты к конкретным приложениям, таким как серверы FTP и Telnet. Это — очень эффективный механизм, но его применение может привести к снижению производительности.

• Шлюзы сетевого уровня. Этот метод предусматривает применение механизмов защиты во время установления соединения TCP или UDP (User Datagram Protocol — протокол пользовательских дейтаграмм). После установления соединения пакеты передаются между хостами без дальнейшей проверки.

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

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

Алгоритмы получения дайджестов сообщений и цифровые подписи

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

• не должен допускать выработку одного и того же дайджеста из разных сообщений;

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

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

• ее подлинность можно проверить с помощью соответствующего открытого ключа;

• ее невозможно подделать (при условии, что секретный ключ хранится в надежном месте);

• она формируется на основе содержимого подписываемых данных и поэтому не может применяться в качестве подписи для любых других данных;

• подписанные данные не подлежат изменению, поскольку в противном случае подпись больше не будет подтверждать их подлинность.

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

Цифровые сертификаты

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

Лицо, желающее отправить зашифрованное сообщение, обращается для получения цифрового сертификата к уполномоченной организации по цифровым сертификатам (СА — Certificate Authority). Организация СА выпускает зашифрованный цифровой сертификат, содержащий открытый ключ заявителя и много другой идентификационной информации. Сама организация предоставляет собственный открытый ключ для всеобщего доступа с помощью публикаций в открытой печати или в Internet.

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

Очевидно, что организация СА выполняет в этом процессе исключительно важную роль, поскольку действует в качестве посредника между заинтересованными сторонами. В такой крупной и сложной распределенной сети, как Internet, подобная модель установления доверительных отношений с участием третьей стороны является крайне необходимой, поскольку между участниками соединения могут еще не установиться отношения взаимного доверия, но обе эти стороны стремятся обмениваться данными в защищенном сеансе. Но поскольку обе стороны доверяют организации СА, которая подтверждает подлинность и надежность каждого партнера, подписывая их сертификаты, то участники сеанса признают подлинность Друг друга и тем самым неявно выражают свое доверие к партнеру. Наиболее часто для создания цифровых сертификатов применяется стандарт Х.509.

Сервер Kerberos

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

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

Уровень защищенных сокетов и безопасный протокол HTTP

Многие крупные компании, которые занимаются разработкой продуктов для Internet, выразили свое согласие на использование протокола шифрования SSL (Secure Sockets Layer — протокол защищенных сокетов), предложенного компанией Netscape для передачи секретных документов по Internet. В основе функционирования SSL лежит применение секретного ключа для шифрования данных, передаваемых через соединение SSL. Протокол SSL поддерживается броузерами Netscape Navigator и Internet Explorer, а на многих Web-узлах этот протокол применяется для получения конфиденциальной информации о пользователе, такой как номера кредитных карточек. Этот протокол занимает промежуточный уровень между прикладными протоколами (такими как HTTP) и транспортными протоколами TCP/IP. Он предназначен для предотвращения перехвата, искажения и подделки сообщений. SSL находится на более низком уровне, чем прикладные протоколы, поэтому может применяться в других протоколах прикладного уровня, таких как FTP и NNTP.

Еще одним протоколом для передачи конфиденциальных данных по Web является S-HTTP (Secure HTTP — протокол защищенной передачи гипертекста), который представляет собой модифицированную версию стандартного протокола HTTP.

Протокол S-HTTP разработан компанией Enterprise Integration Technologies (EIT), которая была приобретена корпорацией Verifone в 1995 году. Протокол SSL предусматривает создание защищенного соединения между клиентом и сервером, по которому может безопасно передаваться большой объем данных, тогда как протокол S-HTTP предназначен для безопасной передачи отдельных сообщений. Поэтому технологии SSL и S-HTTP могут рассматриваться скорее не как конкурирующие, а как дополняющие друг друга. Спецификации обоих протоколов были переданы в IETF (Internet Engineering Task. Force — Проблемная группа проектирования Internet) для утверждения в качестве стандартов. В соответствии с общепринятым соглашением, адреса Web-страниц, для которых требуются соединения SSL, начинаются с идентификатора протокола https:, а не http:. Протоколы SSL/S-HTTP поддерживаются не всеми Web-броузерами и серверами.

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

• позволяют Web-броузерам и серверам проверить подлинность друг друга;

• дают возможность владельцам Web-узлов контролировать доступ к конкретным серверам, каталогам, файлам и службам;

• обеспечивают передачу между броузером и сервером конфиденциальной информации (например, номеров кредитных карточек), которая при этом остается недоступной для посторонних лиц;

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

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

Защищенные электронные транзакции и технология защищенных транзакций

Протокол SET (Secure Electronic Transactions — протокол защищенных электронных транзакций) — открытый, обеспечивающий взаимодействие различных технологий стандарт выполнения транзакций с кредитными карточками по Internet, созданный совместно компаниями Netscape, Microsoft, Visa, Mastercard, GTE, SAIC, Terisa Systems и VeriSign. Назначение протокола SET состоит в обеспечении возможности заключать в Internet сделки с применением кредитных карточек. Чтобы при проведении транзакции, лежащей в основе конкретной сделки, не возникало сомнений, что может быть разглашена секретная информация, транзакция разделяется на части таким образом, что продавец имеет информацию только о том, какие товары у него приобретаются, сколько они стоят и гарантирован ли платеж, но не знает, какой способ платежа выбран покупателем. Аналогичным образом, компания, которая выпустила кредитную карточку (например, Visa), имеет доступ к информации об общей стоимости покупки, но не получает сведений о приобретаемых товарах.

В протоколе SET широко используются сертификаты как для проверки подлинности владельца кредитной карточки, так и для подтверждения того, что продавец имеет надежную связь с финансовым учреждением. Весь этот механизм показан на рис. 18.9. Несмотря на то что основными участниками разработки спецификаций SET являются компания Microsoft и Visa International, они в настоящее время предоставляют в общее пользование протокол STT (Secure Transaction Technology — технология защищенных транзакций), который был разработан для обеспечения безопасного выполнения банковских платежей в Internet. В протоколе STT применяется шифрование данных по методу DES, шифрование информации банковской карточки по методу RSA, а также надежная аутентификация всех сторон, участвующих в транзакции.


Принципы работы протокола защищенных электронных транзакций

(Secure Electronic Transactions — SET)

Рис. 18.9. Транзакция SET

Средства защиты Java

Язык Java приобретает все более важное значение для разработки в среде Web.

Средства обеспечения безопасности и защиты представляют собой неотъемлемые компоненты проекта Java, в котором реализовано понятие безопасной среды (так называемой "песочницы"), которая исключает возможность получения доступа к системным ресурсам с помощью приложений, не заслуживающих доверия и, возможно, созданных с враждебными намерениями. Для реализации такой "песочницы" применяются три компонента: загрузчик классов, верификатор байт-кода и диспетчер защиты. Эти средства защиты поддерживаются языком Java и виртуальной машиной Java (Java Virtual Machine -— JVM), а их реализация осуществляется с помощью компилятора и системы времени выполнения.

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

К числу средств защиты языка Java относятся также строгий контроль типов и автоматическая сборка "мусора". В настоящем разделе рассматриваются два других средства: загрузчик классов и верификатор байт-кода.

Загрузчик классов выполняет функции по загрузке в оперативную память всех необходимых классов и проверке правильности формата файлов классов; кроме того, он проверяет, не нарушает ли загруженный класс приложения/аплета защиту системы, путем распределения пространств имен. Пространства имен являются иерархическими и позволяют виртуальной машине Java распределять классы по группам с учетом того, из какого источника они были получены (локального или удаленного). Загрузчик классов позволяет исключить вероятность того, что класс из "менее защищенного" пространства имен будет загружен в оперативную память вместо класса, принадлежащего более защищенному пространству имен. Таким образом предотвращается возможность того, что примитивы ввода-вывода файловой системы, которые определены в локальном классе Java, могут быть вызваны или даже перекрыты классами, полученными из источника, находящегося за пределами локального компьютера. Работающая на компьютере машина JVM позволяет применять одновременно несколько загрузчиков классов, имеющих собственные пространства имен.

Поскольку в броузерах и приложениях Java обычно предусмотрены собственные загрузчики классов, пусть даже имеющие структуру, рекомендованную компанией Sun Microsystems (разработчиком языка Java), такая организация работы может рассматриваться как слабое место в модели защиты. Но многие специалисты доказывают, что в этом как раз и состоит преимущество языка Java, который позволяет системным администраторам вводить в действие свои собственные (возможно, более жесткие) меры защиты.

Прежде чем машина JVM сможет вызвать приложение/аплет на выполнение, его код должен быть проверен. Работа верификатора (программы проверки) основана на предположении, что вызвать аварийный останов или нарушить защиту системы способен любой код, поэтому верификатор выполняет ряд проверок, включая выполнение алгоритмов автоматического доказательства теорем, которые позволяют исключить вероятность подобного развития событий. Как правило, верификатор обеспечивает выполнение следующих проверок:

• оттранслированная программа имеет правильный формат;

• не происходит переполнение/опустошение внутренних стеков;

• не выполняются какие-либо недопустимые преобразования данных

(например, целых чисел в указатели); это позволяет исключить возможность получения в программе доступа к защищенным областям памяти;

• команды байт-кода имеют допустимый тип;

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

Правила защиты Java зависят от приложения. В каждом приложении Java например, в Web-броузере или в Web-сервере с поддержкой Java) должны быть определены и реализованы собственные правила защиты. Чаще всего в приложениях Java средства защиты реализованы в виде отдельного диспетчера защиты Security Manager. Например, Web-броузер с поддержкой Java может включать собственный аплет Security Manager, и любой аплет, загруженный этим броузером, проверяется на соответствие правилам защиты с помощью аплета Security Manager. Программный компонент Security Manager проводит проверку во время выполнения потенциально "опасных" методов, иными словами, методов, которые обращаются к функциям ввода-вывода, требуют доступа к сети или предусматривают определение нового загрузчика классов. Как правило, аплеты, полученные из внешнего источника, не должны выполнять действия, перечисленные ниже.

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

• Создание сетевых соединений с компьютерами, отличными от хосткомпьютера, с которого поступили откомпилированные файлы с расширением .class данного аплета. Таким компьютером может быть либо хост, с которого получена HTML-страница с аплетом, либо хост, указанный в параметре CODEBASE дескриптора аплета. При наличии обоих вариантов более высокий приоритет имеет вариант с использованием параметра CODEBASE.

•  Запуск других программ на клиентском компьютере.

• Загрузка библиотек.

• Определение вызовов методов. Если бы в аплете была предусмотрена возможность определять собственные вызовы методов, это могло бы позволить получить из кода аплета непосредственный доступ к базовой операционной системе клиентского компьютера.

Эти ограничения распространяются на аплеты, загруженные по открытой сети Internet или по закрытой внутренней сети компании. Но они не применяются к аплетам, загружаемым с локального диска клиентского компьютера и находящимся в каталоге, который указан в параметре среды CLASSPATH. Локальные аплеты загружаются загрузчиком файловой системы и обладают способностью выполнять чтение и запись файлов, поэтому могут выйти из-под управления виртуальной машины и не проходят проверку верификатором байт-кода. Описанные выше ограничения могут быть также немного ослаблены при использовании программы Appletviewer, которая входит в состав JDK (Java Development Kit — инструментальный комплект поддержки разработок в среде Java), поскольку эта программа позволяет пользователю явно определить список файлов, к которым может быть предоставлен доступ для загруженных аплетов. Аналогичным образом, в броузере Internet Explorer 4.0 компании Microsoft введено понятие зоны, причем некоторые из них могут рассматриваться как заслуживающие, а другие как не заслуживающие доверия. Аплеты Java, загруженные из определенных зон, могут выполнять чтение и запись в файлы на жестком диске клиентского компьютера. Зоны, для которых предоставляется такая возможность, определяются сетевыми администраторами.

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

API-интерфейс защиты Java (Java Security API), который входит в состав комплекта JDK 1.1, содержит API-интерфейсы для формирования цифровых подписей, дайджестов сообщений, управления ключами, а также шифрования/дешифрования (с учетом законодательных требований, которые распространяются на экспорт продукции из США). В настоящее время ведется работа по определению инфраструктуры, позволяющей вводить гибкие правила защиты аплетов цифровой подписью.

Средства защиты ActiveX

Модель защиты ActiveX имеет существенные отличия от модели, применяемой для аплетов Java. В языке Java защита осуществляется путем ограничения набора инструкций, которые могут быть выполнены аплетами без нарушения правил защиты. В технологии ActiveX, в отличие от этого, не устанавливаются какие-либо ограничения, регламентирующие действия, которые могут быть выполнены элементом управления. Вместо этого разработчику любого элемента управления ActiveX предоставляется возможность снабдить свой программный продукт цифровой подписью с использованием системы Authenticode. Затем цифровые подписи утверждаются в организации СА. Такая модель защиты возлагает ответственность за защиту компьютера на пользователя. Прежде чем броузер загрузит элемент управления ActiveX, который не был сертифицирован (или сертифицирован, но неизвестной организацией СА), броузер выводит на экран диалоговое окно, предупреждая пользователя, что применение такого элемента управления может оказаться небезопасным. После этого пользователь может прервать передачу или продолжить ее и взять на себя всю ответственность за последствия.




1. Дари Добро её питомцев ~ бывших бездомышей часто показывают на Первом городском канале в программе Вятка
2. Технологическая карта конструирования урока с использованием средств ИКТ
3. 2004 году выполнила команда под руководством Евгении Шамис координатора проекта Rugenertions.
4. Аэропортов Практическая работы ’2-.html
5. компенсация 2 субкомпенсации 3 декомпенсации
6. Ценообразование
7. продажу починається пошук більш зручних товарних грошей тобто відмовою від мало транспортабельних та неод
8. Тема 1 Философия круг ее проблем и роль в обществе
9. Объект ЛОКАЛЬНАЯ СМЕТА на возведение подзем
10. Кубанский государственный университет Физикотехнический факультет Кафедра физики и информацио.
11. Кризис образования в контексте глобальных проблем
12. Не русская ~ абсолютное большинство ~ переводы 90-99 многие оригинальные произведения были общими для Руси
13. Святой Грааль джунглей для каждого сердца пустыни ~ Разбился
14.  Определение предмет цель и задачи военной гигиены её место в медицине
15. 2.где k константа; 3
16. Статья- Иероним Кардан
17. ТЕМА 11 Валюта- понятие виды функции
18. IQ DNS Обычно у людей работает 5 мозга
19. к.м.н. ~ кандидат медицинских наук Федоров Михаил Иванович родился 1 августа 1921 г.
20. Бухгалтерская отчетность предприятия.html