Я надеюсь нет, ведь есть простая схема, позволяющая не выдавать пароль при отправке команд на сервер и заодно проверить подлинность команд.
В кратце поясню:
На сервере и клиенте храниться пароль от админки.
Если клиент хочет послать команду серверу, то сервер должен убедиться в подлинности полученной команды от клиента и в её неподмене со стороны, шифровать не обязательно.
Когда клиент хочет отправить команду серверу, сервер генерирует случайную длинную цифробуквенную фразу и отправляет её клиенту в открытом виде, далее клиент сливает в одну строку пароль + полученную фразу + строку с командой серверу, далее расчитывает хешсумму (MD5 или SHA256), далее генерирует пакет, первая часть которого - этот хеш, вторая - строка с командами серверу, и этот пакет отправляет на сервер.
Сервер получает данный пакет, далее сервер также сливает в одну строку пароль + фразу + полученную строку с командами серверу черер полученный пакет (вторая часть пакета), затем расчитывает хеш, и если он совпал с хешем в первой части полученного пакета, то всё ок, пароль не передавался и данные действительно пришли от клиента и не были подменены (ошибки при передаче также проверяются, ведь ошибка частный случай подмены)...
Такая схема надеюсь реализована в УТ, только не говорите что всё в открытом виде... это тупо со стороны разработчиков... Я так считаю, может я и не прав, что это тупо...
Совсем не обязательно использовать openssl, я уже делал нечто подобное, это очень простой код, дающий защиту, равную по криптостойкости самой криптографической хеш-функции. В курсе подобного EverybodyLies. Сложности появляются когда надо шифровать...
Что думаешь по этому поводу Ксанг, у вас уже был курс по криптографии?
Добавлено (29 Апреля 14, 03:04)
---------------------------------------------
Кстати, если записать в виде кода, условно это можно выразить так:
client: отправка стандартного запроса серверу о том, что клиент хочет производить передачу команд.
server: fraze=gen_random_string(); fraze ---> client (передача случайной фразы клиенту)
client: packet=hash(key & fraze & command) & command; packet ---> server (передача пакета серверу)
server: s=hash(key & fraze & get_packet_command(packet)); if s=get_packet_hash(packet) then run(get_packet_command(packet)).
Ну простая же безопасная схема блин...
В кратце поясню:
На сервере и клиенте храниться пароль от админки.
Если клиент хочет послать команду серверу, то сервер должен убедиться в подлинности полученной команды от клиента и в её неподмене со стороны, шифровать не обязательно.
Когда клиент хочет отправить команду серверу, сервер генерирует случайную длинную цифробуквенную фразу и отправляет её клиенту в открытом виде, далее клиент сливает в одну строку пароль + полученную фразу + строку с командой серверу, далее расчитывает хешсумму (MD5 или SHA256), далее генерирует пакет, первая часть которого - этот хеш, вторая - строка с командами серверу, и этот пакет отправляет на сервер.
Сервер получает данный пакет, далее сервер также сливает в одну строку пароль + фразу + полученную строку с командами серверу черер полученный пакет (вторая часть пакета), затем расчитывает хеш, и если он совпал с хешем в первой части полученного пакета, то всё ок, пароль не передавался и данные действительно пришли от клиента и не были подменены (ошибки при передаче также проверяются, ведь ошибка частный случай подмены)...
Такая схема надеюсь реализована в УТ, только не говорите что всё в открытом виде... это тупо со стороны разработчиков... Я так считаю, может я и не прав, что это тупо...
Совсем не обязательно использовать openssl, я уже делал нечто подобное, это очень простой код, дающий защиту, равную по криптостойкости самой криптографической хеш-функции. В курсе подобного EverybodyLies. Сложности появляются когда надо шифровать...
Что думаешь по этому поводу Ксанг, у вас уже был курс по криптографии?
Добавлено (29 Апреля 14, 03:04)
---------------------------------------------
Кстати, если записать в виде кода, условно это можно выразить так:
client: отправка стандартного запроса серверу о том, что клиент хочет производить передачу команд.
server: fraze=gen_random_string(); fraze ---> client (передача случайной фразы клиенту)
client: packet=hash(key & fraze & command) & command; packet ---> server (передача пакета серверу)
server: s=hash(key & fraze & get_packet_command(packet)); if s=get_packet_hash(packet) then run(get_packet_command(packet)).
Ну простая же безопасная схема блин...
Ушёл навсегда.
Сообщение отредактировал Redex - Вторник, 29 Апреля 14, 03:12