Russian Qt Forum
Ноябрь 23, 2024, 01:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Безопасное общение между клиентом и сервером  (Прочитано 3932 раз)
onlik
Гость
« : Февраль 07, 2009, 17:47 »

Есть два сервера TCP и UDP, нужно шифровать все пакеты и датаграммы, которые идут на эти сервера. Как я себе это думаю:
1. Клиент делает запрос серверу
2. Сервер отправляет открытый ключ
3. Клиент отправляет тот же открытый ключ серверу
4. Сервер отправляет сообщение, что все ок и устанавливает соединение
5. Клиент начинает отправлять шифрованные сообщения серверу
Вопрос 1: может ли быть подмена пунктов 2 и 4, т.е. пользователь получит пакеты не от сервера? Соответсвенно когда пользователь отправит шифрованные данные, их можно будет перехватить и расшифровать.

Вопрос 2: какой алгоритм шифрования выбрать, есть ли у кого реализация в виде маленькой библиотечки, набора функций? Я искал уже готовые алгоритмы, нашел библиотеки QCA, OpenSSL, все довольно громоздкие, мне ж нужно самое простое и что бы работало с двумя протоколами. В QT есть класс QSslSocket, но не понимаю что такое сертификат и как его может генерировать программа (сервер - это не сервер, а клиент, который сможет принимать пакеты на статический порт) и как его прикрутить к UDP.

Буду благодарен за любую помощью.

Спасибо
Записан
Dendy
Гость
« Ответ #1 : Февраль 08, 2009, 00:00 »

Вам нужен OpenSSL, благо используя Qt всё становится тривиально просто, почитайте документацию к классам. Сертификат нужен для проверки достоверности что это именно тот сервер, к которому вы хотели подключиться. Чтобы не попасться на фишинг. Если вам эта проверка достоверности не нужна, а важно только шифрование - то сертификат можно игнорировать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 20.