- •Понятие информационного ресурса. Ит: определение, способы использования
- •2. Цель, методы и средства создания информационных ресурсов(ир)
- •1. Математические – совокупность моделей разного уровня(от глобальных моделей принятия решения до частных моделей реализации информационных процессов);
- •2. Технические – средства реализации информационных процессов. Сюда входят вычислительные машины и средства на их основе;
- •3. Алгоритмические – алгоритмы реализации математических средств;
- •3. Протоколы tcp/ip применительно к ир
- •4. Сеть, структура сети, маска подсети
- •5. Мосты в сетях tcp/ip. Доменные имена узлов.
- •7. Архитектура «Клиент-сервер»
- •Преимущества
- •Недостатки
- •8. Архитектура Intranet.
- •6. Архитектура mainframe
- •9. Программирование в web: доступ к бд на стороне сервера.
- •10. Программирование в web: доступ к бд на стороне клиента.
- •11. Синтаксис url. Протокол http.
- •12. Передача данных форм. Кодирование в url.
- •13. Стандартный ввод и метод Post.
- •14. Интерфейс Windows cgi. Файлы данных cgi.Интерфейс Windows cgi.
- •15 Файлы данных cgi.
- •15. Обработка результатов на сервере в сети при передаче данных.
- •16. Директивы включения на стороне сервера (ssi).
- •17. Понятие безопасности web-сервера. Принципы безопасности web-сервера.
- •18. Решение вопросов безопасности для web-сервера.
- •19. Характеристики языка Java.
- •20 Байткоды.
- •21 Средства разработки Java.
- •22 Базовая модель Java 1.0.
- •23 Типы данных, переменные и массивы в Java. Преобразование типов в Java. Типы данных
- •Массивы
- •24. Область видимости и время жизни переменных в Java.
- •25. Классы Java. Определение класса в Java. Создание объекта класса.
- •26 Методы Java. Определение методов в Java. Конструкторы Java.
- •27 Перегрузка методов в Java. Перегрузка конструкторов в Java.
- •28 Использование объектов в качестве параметров.
- •29 Использование ключевого слова this
- •30 Механизм финализации в Java. Сбор мусора.
- •31 Апплеты в Java. Характеристики апплетов.
- •32 Структура аплета.
- •33 Тэги апплета.
- •34 Обработка событий апплета, методы апплета.
- •События, генерируемые клавиатурой
- •35 Методы апплетов в Java.
- •36 Модели обработки событий Java 1.0.
- •37 Размещение объектов для графического пользовательского интерфейса. Диспетчера компоновки
- •38 Использование меню. Окна Frame
- •39 Работа с изображениями.
- •40 Динамическая диспетчеризация методов в Java.
- •41 Абстрактные классы в Java.
- •42 Классы Vector и Rectangle.
- •43 Многопоточное программирование в Java.
- •44 Создание потока. Синхронизация потоков в Java
- •45 Классы пакетов java.Io и java.Net.
- •46 Ввод и вывод в Java
- •47 Новые пакеты Java и особенности Java 1.1
- •48 Встроенные классы и интерфейсы в Java
- •49 Классы-члены в Java
- •50 Новый синтаксис для классов-членов
- •51 Локальные классы
- •52 Анонимные классы.
- •53 Модель обработки событий Java 1.1.
- •55. Использование jar-файлов
- •61. Безопасность Ява-программ
- •Защита виртуальной машины Ява. Верификация файлов ява-программ
- •62. Контроль доступа в Ява с использованием технологии «песочницы»
55. Использование jar-файлов
Фактически jar-файлы упакованы в формат файлов zip, поэтому к ним применимы такие методы и операции, как сжатие данных без потерь, архивация, развёртывание и распаковка архива. Данные операции достаточны для реализации многих преимуществ jar-файлов, в том числе и использование цифровой подписи, а также применение методов обеспечения безопасности jar-файлов.
Основные операции с jar-файлами:
создание;
просмотр содержимого – jar tf xxx.jar;
выделение содержимого из jar-файла – jar xf xxx.jar;
выделение заданных файлов из jar-архива – jar xf xxx.jar <имена файлов через пробел>;
выполнение приложения, пакетированного как jar-файл (актуально для JDK 1.1) – jre –cp приложение.jar MainClass;
выполнение аплета, пакетированного как jar-файл, содержимое которого подчиняется стандартным правилам описания аплета – java -jar <имя аплета>.jar;
вызов аплета на выполнение с помощью тэга APPLET.
56. JAR-файлы. Технология цифровой подписи
Основная идея цифровой подписи (digital signature) заключается в следующем.
Допустим, отправитель хочет послать получателю некоторые данные. Он "подписывает" документ или код с помощью специального закрытого ключа (private key). Этот ключ генерируется с помощью утилиты keytool или средствами API. В данном случае "подписывает" означает, что генерируется специальная цифровая подпись с помощью утилиты jarsigner или средствами API.
Следует отметить, что в jar-файле могут быть произвольные данные, например, программа, картинка или документ Word.
Диаграмма, иллюстрирующая работу получателя jar-архива
В процессе генерации закрытого ключа, создается и так называемый открытый ключ (public key), который "соответствует" закрытому.
Получателю отправляются следующие данные:
1. исходный документ или код,
2. цифровая подпись (либо отдельно, либо в составе jar-файла),
3. открытый ключ.
Получатель, приняв все три компоненты, с помощью открытого ключа определяет подлинность подписи и целостность документа. Защищенность данного метода заключается в том, что для подделки или взлома необходимо сгенерировать закрытый ключ. При этом для данной задачи не существует "быстрого" алгоритма при условии, что длина ключей довольно велика.
Но указанный простой метод имеет свои недостатки и неточности. Дело в том, что получатель в предложенной схеме заведомо предполагает подлинность и целостность открытого ключа. Однако злоумышленник мог изменить или подменить открытый ключ, а, следовательно, сгенерировать фальшивую подпись и подменить документ. Таким образом, необходим механизм, удостоверяющий подлинность открытого ключа.
57. JAR-файлы. Проверка аутентичности и верификация
Проверка подлинности (верификация).
Завершающим этапом работы получателя является собственно получение ответа на вопрос о правдивости подписи и данных. С помощью метода verify() объекта класса Signature можно получить результатом boolean:
boolean verifies = sig.verify(sigToVerify);
Значение будет true, если данная подпись (sigToVerify) действительная подпись для данных, созданная с использованием открытого ключа (pubKey).
Следует отметить, что первый этап, связанный с работой отправителя, требует некоторого времени для генерации необходимых для отправки данных. Для компьютера класса Intel Pentium III с частотой 733 МГц время генерации составляет приблизительно 10 секунд. Кстати, время, затрачиваемое для верификации на порядок меньше.
Кроме рассмотренного DSA, предоставляются и многие другие средства криптографической защиты, как RSA, DES и другие. Их использование подобно представленному DSA.
