Норенков И.П. - Основы автоматизированного проектирования (1060628), страница 50
Текст из файла (страница 50)
В языке SGML определяетсяструктура документов в виде последовательности объектов данных. Объекты2125.1. Функции сетевого программного обеспеченияданных, представляющие части документа, могут храниться в различных файлах. Их включение в финальный документ происходит в форматах, задаваемых в специальном файле DTD (Document Type Definition).Язык SGML более универсален, чем HTML, но его широкому распространению препятствует сложность освоения и использования. Поэтому в 1996 г.был предложен новый язык разметки XML (extensible Markup Language), который рассматривается как удачное подмножество языка SGML. В настоящеевремя язык XML претендует на роль основного языка представления документов в информационных технологиях, его можно рассматривать как метаязык, служащий основой для создания частных языков разметки в различныхприложениях.Более подробное описание языков разметки приведено в следующей главе.Среди языков создания Web-приложений наиболее известен язык Java—языки технология программирования сетевых приложений, разработанный фирмойSun Microsystems для систем распределенных вычислений.Особенности языка Java: объектно-ориентированный, прототипом является язык C++, но более прост в использовании (так, например, убраны указатели); введены многопотоковость (например, оператор синхронизации), дополнительная защита от вирусов.Для пользователей важны также следующие особенности языка:• аппаратная независимость (мобильность) за счет создания приложений ввиде байт-кодов для некоторой виртуальной машины (рис.
5.2) — каждая платформа интерпретирует эти байт-коды; благодаря введению компиляции потеряэффективности, присущая интерпретации, менее значительна;• интеграция с браузерами;• используемые программные объекты могут располагаться в разных узлах, интерпретатор находит их и загружает в компьютер пользователя.Другими словами, в узле-клиенте достаточно иметь лишь браузер, остальные программы и данные можно получить по сети. Однако при этом обостряется проблема информационной безопасности. В связи с этим загружаемым изсети программам (их называют аплетами) обычно запрещается обновлять ичитать файлы, кроме тех, которые находятся на хосте самого аплета.Java-аплеты доступны из HTML-документов (обращение к ним через тег<applet>), хотя могут использоваться и независимо от них.CGI (Common Gateway Interface — общий шлюзовой интерфейс) — ПО связи HTML-браузеров с другими прикладными программами и (или) текстами,находящимися на серверной стороне.
Программа CGI — посредник между браузером и приложениями. Обычно программа CGI находится на сервере в специальном каталоге CGIJBIN, она является обработчиком запросов, идущих отJ/WA-текст>Компилятор(независимыйот платформы)ьаиткодИнтерпретатор(среда JAVA,зависимаяот платформы)исполняемаяпрограммаРис. 5.2. Компоненты программного обеспечения для языка Java2135.
Методическое и программное обеспечение автоматизированных систембраузера. Обращение к файлу из этого каталога означает запуск соответствующего обработчика. Если браузер обращается к документу не в HTML-формате, то CGI преобразует форму документа в HTML и возвращает ее браузеру. Пример CGI-программы — WebDBC, организующей связь Web-серверачерез ODBC-драйверы с нужными СУБД.Наряду с интерфейсом CGI существуют и более частные интерфейсы, например, ISAPI (Internet Server Application Program Interface) фирмы Microsoftили NSAPI фирмы Netscape.JavaScript — язык и интерпретатор этого языка для генерации и управленияпросмотром составных гипертекстовых документов.
JavaScript более прост,чем Java, и тексты JavaScript исполняются быстрее, чем тексты Java или запросы к CGI, поскольку обработчики событий JavaScript реализованы в браузере, а не в сервере. Тексты на JavaScript записываются непосредственно вHTML-документе с помощью специальных тегов и имеют вид<SCRIPT LANGUAGE="javascript"><!--...//--></SCRIPT>(5.2)где <!--...//—> — текст в виде комментария.
Браузеры, не имеющие JavaScript-обработчиков, просто игнорируют комментарий, а современные браузеры исполняют записанные в (5.2) вместо многоточия команды. В отличие от Java-программ программы на JavaScript полностью интерпретируются в браузере.Рассмотренные языки являются основой для создания программ межплатформенной распределенной среды. При этом в настоящее время создание крупных корпоративных приложений чаще опирается на применение CGI.Информационная безопасностьПри обмене информацией между участниками проектирования возможныкак утечка конфиденциальных данных, так и нарушение целостности данных.Поскольку в САПР зачастую используются связи со смежными предприятиями через сети общего пользования (как правило, через Internet), то существенную опасность представляют собой попытки несанкционированного доступа ккорпоративной сети предприятия извне.
Для нормального функционированияСАПР и других автоматизированных систем необходимо иметь систему информационной безопасности (ИБ) предприятия. В системе ИБ реализуетсяполитика безопасности предприятия, включающая меры административные,правовые, физические (например, экранирование помещений от электромагнитных излучений) и технические (использование аппаратно-программных средствзащиты).Проблема ИБ выходит за рамки сетевой ОС, хотя именно в сетях защитаданных от несанкционированного доступа является наиболее актуальной. Назначение систем ИБ сводится к защите от несанкционированных чтения и модификации информации, а также к восстановлению информации после разрушений.
Основные функции систем ИБ: аутентификация, разграничение доступа,защита на сетевом уровне.2145.1. Функции сетевого программного обеспеченияАутентификация чаще всего выполняется с помощью паролей. Разработаны специальные программы (например, сервер Kerberos), предназначенныедля аутентификации пользователя, выходящего в сеть с любого узла. Целесообразна периодическая смена паролей, доступ к файлам пароля должен бытьтолько у администратора и т. п.Разграничение доступа должно обеспечиваться на нескольких уровнях.Так, существует четырехуровневая модель.
На внешнем уровне устанавливаются права доступа к корпоративной сети извне и выхода из нее. На сетевом, системном и прикладном уровнях регламентируются права доступа к сетевым информационным ресурсам, ресурсам ОС и пользовательским даннымсоответственно. Другая модель устанавливает уровни входа в систему, доступа к базам данных, доступа к приложениям. Права доступа часто представляются трехразрядным восьмеричным кодом ABC, в котором А — права владельца, В— членов группы, С—остальных пользователей, а три бита выражаютправо чтения, записи и исполнения соответственно.Например, в САПР Euclid Quantum права доступа контролирует администратор системы, задавая список ACL (Access Control List).
В ACL указываются имена, роли пользователей и их права доступа, которые выбираются средиследующих вариантов: просмотр, копирование, модификация, стирание данных,создание новых версий проектов, редактирование самого ACL, изменение статуса данных (варианты статуса - данные, доступные только конкретному разработчику, доступные членам рабочей группы, представленные на утверждение, уже утвержденные).Между общедоступными и секретными объектами в сети (например, между Intrenet и корпоративной сетью), как правило, устанавливают специальноеПО, называемое сетевым экраном (брандмауэром win firewall}, которое фильтрует пакеты, разрешая проход пакетов только с портами и IP-адресами, отмеченными в таблице сетевого экрана.Борьба с перехватом сообщений на сетевом уровне осуществляется методами криптографии.
Криптография — это наука об обеспечении безопасностиданных путем их шифрования.Различают симметричную и асимметричную схемы шифрования.В симметричных схемах шифрования (другое название — схемы с закрытым ключом) секретный ключ должен быть известен как отправителю, таки получателю. Ключ — это дополнение к правилу шифрования, представленноенекоторым набором символов (например, двоичным кодом), управляющее преобразованием сообщения из исходного в зашифрованный вид.
Например, ключможет быть операндом в действиях, выполняемых алгоритмом шифрования.Различают следующие приемы шифрования: 1) перестановка символов (илиблоков символов) At исходного текста; 2) замены (подстановки) At символамитого же или другого алфавита; 3) гаммирование (сложение кодов А:с кодамиключа; в частности, шифрование сообщения, выраженного двоичным кодом,может сводиться к поразрядной операции логического сложения кодов ключа и2155. Методическое и программное обеспечение автоматизированных системисходного текста); 4) аналитические преобразования А;, 5) комбинации перечисленных выше приемов.
Чаще всего используются блочные алгоритмы шифрования, в которых указанные приемы применяются отдельно по отношению ккаждому блоку, на которые предварительно разделен исходный текст (обычнотакие .блоки являются 64-битовыми).Чем чаще обновляются ключи, чем они длиннее, тем труднее злоумышленнику их рассекретить. Поэтому очевидна полезность периодической сменыключей. Однако в симметричных схемах их обновление требует передачи вновьвводимого секретного ключа К участникам связи. Если эта передача осуществляется по каналу связи, то требуется шифрование К с помощью некоторогодругого секретного ключа С.В асимметричных схемах (схемах с открытым ключом) шифрование производится открытым ключом, а дешифрование — секретным ключом, известным только получателю. Возможность асимметричного шифрования вытекает из наличия так называемых односторонних функций Y =/(Х), для которыхобратное преобразование X = / '00 относится к трудным задачам, требующим полного перебора вариантов.
Однако использование в обратном преобразовании ключа, который и является секретным, делает вычисление Xсравнительно простой процедурой. Случайно подобрать секретный ключ злоумышленник не может, так как полный перебор при достаточной длине ключаза приемлемое время практически не осуществим.В настоящее время все большее распространение получает комбинация симметричных и асимметричных схем. При этом сообщение кодируется закрытым ключом К по симметричной схеме, но сам ключ К для каждого сообщения новый и передается в закодированном по асимметричной схеме виде вместес сообщением. Получатель декодирует сначала ключ К своим закрытым ключом С, а затем и все сообщение ключом К.