lab5
This commit is contained in:
68
lab5/lab5.md
Normal file
68
lab5/lab5.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# Практическая работа №5
|
||||
|
||||
по дисциплине «Защита информации»
|
||||
**Тема работы:** «Разработка клиент-серверного приложения для конфиденциального обмена сообщениями»
|
||||
**Преподаватель:** Силиненко А.В.
|
||||
**Email:** a_silinenko@mail.ru
|
||||
|
||||
## 1. Цель и задачи работы
|
||||
|
||||
### 1.1. Цель работы
|
||||
|
||||
Разработка клиент-серверного приложения для конфиденциального обмена сообщениями с использованием шифрования и контроля целостности.
|
||||
|
||||
### 1.2. Задачи работы
|
||||
|
||||
- получение базовых знаний по использованию криптографических функций библиотеки `crypto` в ОС Linux или другой библиотеки, обеспечивающей реализацию требований задания;
|
||||
- разработка клиент-серверного приложения для обмена шифрованными сообщениями с контролем целостности;
|
||||
- проверка работы приложения в различных режимах использования с помощью программы анализа трафика.
|
||||
|
||||
## 2. Требования к приложению
|
||||
|
||||
### 2.1. Общие требования
|
||||
|
||||
Разработать приложение типа «клиент-сервер», позволяющее обмениваться короткими сообщениями между клиентской и серверной частями приложения с обеспечением шифрования и контроля целостности.
|
||||
|
||||
### 2.2. Общие требования
|
||||
|
||||
- протокол взаимодействия: TCP;
|
||||
- длина сообщения: не более 80 символов;
|
||||
- полнодуплексный обмен сообщениями: возможность одновременного приема и передачи сообщений;
|
||||
- IP-адрес и порт серверной части передается клиентской части приложения в качестве параметров запуска в командной строке;
|
||||
- приложение должно быть способно функционировать как при запуске клиентской и серверной частей приложения на одном компьютере, так и на разных сетевых узлах;
|
||||
- язык написания программы: любой.
|
||||
|
||||
### 2.3. Требования к функции шифрования
|
||||
|
||||
- приложение должно поддерживать функцию шифрования сообщений на основе симметричного шифрования с использованием библиотеки `crypto`, входящей в API `openssl`, или другой аналогичной библиотеки;
|
||||
- алгоритм симметричного шифрования: согласно индивидуальному заданию;
|
||||
В моём варианте это 3DES
|
||||
- ключ шифрования длиной не менее 32 символов задается в файле;
|
||||
- права доступа к файлу: чтение только владельцем;
|
||||
- использование опции шифрования задается ключом командной строки при запуске программы.
|
||||
|
||||
### 2.4. Требования к функции контроля целостности
|
||||
|
||||
- приложение должно поддерживать функцию контроля целостности на основе подсчета хэш-значения передаваемого сообщения;
|
||||
- алгоритм вычисления хэш-значения - в соответствии с индивидуальным заданием (см. практическую работу №2);
|
||||
- использование опции контроля целостности задается ключом командной строки при запуске программы;
|
||||
- предусмотреть режим тестирования, в котором при включенной опции контроля целостности отправляются сообщения с некорректным хэш-значением.
|
||||
|
||||
### 2.5. Необязательные требования
|
||||
|
||||
- реализовать шифрование с «затравкой» («солью»), обеспечивающей разные шифрованные сообщения при одном и том же открытом тексте;
|
||||
- реализовать для разработанного приложения опцию выработки и использования сессионного ключа на основе алгоритма Диффи-Хеллмана вместо заранее заданного ключа.
|
||||
|
||||
## 3. Требования к отчету
|
||||
|
||||
### 3.1. В разделе отчета, посвященном данной работе, должны быть приведены
|
||||
|
||||
- актуальность темы работы в контексте курса;
|
||||
- цели и задачи работы;
|
||||
- краткое описание особенностей используемого алгоритма симметричного шифрования, а также шифрования «с затравкой» и алгоритма Диффи-Хеллмана, если реализованы соответствующие требования;
|
||||
- команды компиляции и сборки исполняемых модулей приложения;
|
||||
- описание процедуры проверки работы приложения с примерами, включая выводы программы анализа трафика, подтверждающие реализацию требований передачи сообщений без шифрования, с шифрованием, с шифрованием и контролем целостности;
|
||||
- описание проверки опции контроля целостности, в которой отправляются сообщения с некорректным хэш-значением;
|
||||
- описание проверки шифрования «с затравкой» и алгоритма Диффи-Хеллмана, если реализованы соответствующие требования;
|
||||
- текст разработанного приложения (клиентской и серверной частей) с комментариями - в приложении к отчету;
|
||||
- выводы по проделанной работе.
|
||||
Reference in New Issue
Block a user