Название: Безопасное общение между клиентом и сервером Отправлено: onlik от Февраль 07, 2009, 17:47 Есть два сервера TCP и UDP, нужно шифровать все пакеты и датаграммы, которые идут на эти сервера. Как я себе это думаю:
1. Клиент делает запрос серверу 2. Сервер отправляет открытый ключ 3. Клиент отправляет тот же открытый ключ серверу 4. Сервер отправляет сообщение, что все ок и устанавливает соединение 5. Клиент начинает отправлять шифрованные сообщения серверу Вопрос 1: может ли быть подмена пунктов 2 и 4, т.е. пользователь получит пакеты не от сервера? Соответсвенно когда пользователь отправит шифрованные данные, их можно будет перехватить и расшифровать. Вопрос 2: какой алгоритм шифрования выбрать, есть ли у кого реализация в виде маленькой библиотечки, набора функций? Я искал уже готовые алгоритмы, нашел библиотеки QCA, OpenSSL, все довольно громоздкие, мне ж нужно самое простое и что бы работало с двумя протоколами. В QT есть класс QSslSocket, но не понимаю что такое сертификат и как его может генерировать программа (сервер - это не сервер, а клиент, который сможет принимать пакеты на статический порт) и как его прикрутить к UDP. Буду благодарен за любую помощью. Спасибо Название: Re: Безопасное общение между клиентом и сервером Отправлено: Dendy от Февраль 08, 2009, 00:00 Вам нужен OpenSSL, благо используя Qt всё становится тривиально просто, почитайте документацию к классам. Сертификат нужен для проверки достоверности что это именно тот сервер, к которому вы хотели подключиться. Чтобы не попасться на фишинг. Если вам эта проверка достоверности не нужна, а важно только шифрование - то сертификат можно игнорировать.
|