Алгоритм подготовки сообщения к отправке в защищенный канал.



 

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

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

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

1. LZW (замена кодами повторяющихся цепочек символов);

2. RLE (замена кодами цепочек одинаковых символов);

3. эффективное кодирование по методу Хоффмана (Haffman) (замена часто повторяющихся символов более короткими цепочками битов).

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

Рисунок 2 – Схема алгоритма подготовки к отправке в защищенный канал.

 

Алгоритм может быть реализован следующим образом (рисунок 2):

1. Исходный текст сжимается с помощью алгоритма LZW;

2. Параллельно этому процессу происходит подпись исходного текста закрытым ключом отправителя;

3. Сжатый текст шифруется симметричным КС;

4. Зашифрованный и сжатый текст подписывается цифровой подписью;

5. Сообщение готово и может быть передано по каналу связи.


17. Алгоритм обработки сообщения при приеме из защищенного канала

 

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

 

Рисунок 3 – Схема алгоритма обработки сообщения при приеме из защищенного канала.

 

Алгоритм обработки сообщения при приеме из защищенного канала (рисунок 3):

1. Из полученного зашифрованного сжатого и подписанного сообщения выделяется цифровая подпись;

2. Текст без цифровой подписи дешифруется ключом сессии;

3. Декодированный текст проходит процедуру распаковки с использованием алгоритма LZW;

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

5. На выходе алгоритма имеем исходное открытое сообщение и результат проверки подписи.


Технология клиент – сервер и язык Java.1

 

Технология клиент – сервер предполагает обработку запросов клиентов – Web – браузеров, Web – серверами. Для обмена информацией Web – серверы и Web – браузеры используют протокол HTTP (Hypertext Transfer Protocol - протокол передачи гипертекста). Протокол HTTP работает на уровне приложений и строится на основе протокола ТСР/IP. Информацию, полученную от Web – серверов, браузеры форматируют и выводят на экран с помощью языка HTML (Hypertext Markup Language – язык разметки гипертекста), который, в свою очередь, является производным от языка SGML (Standard Generalized Markup Language). Для вызова приложения пользователь с помощью своего браузера попадает на нужную Web – страницу, и нажатием на кнопку приложения запускает его на сервере. сервер и приложение общаются с помощью интерфейса CGI (Common Gateway Interface – общий шлюзовой интерфейс). Когда приложение заканчивает работу, оно возвращает результаты серверу, который, в свою очередь, передает их браузеру, что и показано на рисунке:

 

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

Java – это интерпретированный язык и каждая программа Java транслируется для гипотетической машины, называемой виртуальная машина Java. результатом такой трансляции является байт – код Java (Java byte code), который может выполняться с любой операционной системой: Windows 95, 98, NT и Solaris, при наличии там системы времени выполнения Java (Java Runtime System), которая интерпретирует байт – код в реальный машинный код.

Java Runtime System выполняет интерпретацию байт – кода и перевод его машинный код конкретной системы. Этот процесс происходит в несколько стадий:

 

Рисунок – Система времени выполнения Java.

 

Прежде всего байт – код Java загружается в систему времени выполнения загрузчиком классов (class loader). Он загружает все классы, необходимые для выполнения приложения. Затем байт – код проверяется верификатором байт – кода (byte code verifier) на отсутствие операций, которые могли бы нарушить безопасность системы и вызвать аварию. Java обеспечивает такие освобождения динамически выделенной памяти, освобождая от этого разработчика. Такая выделенная и вовремя не освобожденная память – причина утечек памяти в программах на С и С++.


 


Дата добавления: 2018-04-15; просмотров: 643; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!