DDDDRRRRR 1 November 9 Posted November 9 · Report post Необходимо зашифровать передаваемые по HTTP данные, но шифровать весь поток нет необходимости, вполне достаточно сделать это для передаваемых логин/пароль и двоичного файла прошивки (разбитого на более мелкие файлы). Добавлять для этого TLS думаю как-то излишне. Помимо TLS какие еще могут быть механизмы шифрования передаваемых данных? Quote Share this post Link to post Share on other sites More sharing options...
makc 354 November 9 Posted November 9 · Report post TLS - это протокол, а не механизм шифрования. Всё зависит от того, как вы хотите управлять ключами шифрования и от кого (чего) защищаетесь. В самом первом приближении можно просто заранее ввести ключи симметричного алгоритма и дальше использовать их при обмене. TLS же и ему подобные обеспечивают не только выработку ключей для шифрования, но и аутентификацию участников обмена, поэтому в частности они такие сложные. Quote Share this post Link to post Share on other sites More sharing options...
DDDDRRRRR 1 November 9 Posted November 9 · Report post 21 минуту назад, makc сказал: TLS - это протокол, а не механизм шифрования. Всё зависит от того, как вы хотите управлять ключами шифрования и от кого (чего) защищаетесь. В самом первом приближении можно просто заранее ввести ключи симметричного алгоритма и дальше использовать их при обмене. TLS же и ему подобные обеспечивают не только выработку ключей для шифрования, но и аутентификацию участников обмена, поэтому в частности они такие сложные. Вот с аутентификацией как раз проблема, мне не подходит участие 3х лиц, которые выдают цифровые сертификаты (не хочу чтобы система была в зависимости от кого-то). Т.е. просто 2 участника: сервер (мк) и клиент (браузер). Допустим в момент подключения к серверу кто-то получает весь трафик, да и пусть, но мне надо защитить введенные и переданные на мк логин/пароль и файл прошивки. По поводу ключей: на мк можно записать ключ и в теории его будет невозможно получить, но ключ клиента (браузера), насколько я понимаю, получить не составит никакого труда. Я не особо знаю какие сейчас методы шифрования котируются. Может есть что-то где достаточно одного закрытого ключа Quote Share this post Link to post Share on other sites More sharing options...
DDDDRRRRR 1 November 9 Posted November 9 · Report post В целом ключ для клиента можно не передавать от сервера, где в момент передачи он может быть получен кем-либо, а хранить на пк и подгружать вместе с прошивкой Quote Share this post Link to post Share on other sites More sharing options...
makc 354 November 9 Posted November 9 · Report post 1 час назад, DDDDRRRRR сказал: Вот с аутентификацией как раз проблема, мне не подходит участие 3х лиц, которые выдают цифровые сертификаты (не хочу чтобы система была в зависимости от кого-то). Вы можете сами генерировать сертификаты для своей системы, никакого третьего лица не нужно. EasyRSA или просто openssl в помощь. 1 час назад, DDDDRRRRR сказал: Т.е. просто 2 участника: сервер (мк) и клиент (браузер). Допустим в момент подключения к серверу кто-то получает весь трафик, да и пусть, но мне надо защитить введенные и переданные на мк логин/пароль и файл прошивки. Это понятно. 1 час назад, DDDDRRRRR сказал: По поводу ключей: на мк можно записать ключ и в теории его будет невозможно получить, но ключ клиента (браузера), насколько я понимаю, получить не составит никакого труда. Поэтому можно сделать две пары ключей, для каждой связи отдельно. 1 час назад, DDDDRRRRR сказал: Я не особо знаю какие сейчас методы шифрования котируются. Может есть что-то где достаточно одного закрытого ключа Всё зависит от целей и от системы. Обычно люди начинают с того, что определяются с перечнем угроз (формируют модель нарушителя). Далее под это описание уже подбирается вариант (схема) защиты. В противном случае можно очень долго и безрезультатно ходить по кругу. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 344 November 9 Posted November 9 · Report post 3 часа назад, DDDDRRRRR сказал: Помимо TLS какие еще могут быть механизмы шифрования передаваемых данных? Просто зашифровать файл прошивки постоянным ключом. И расшифровать на клиенте таким же ключом. 1 час назад, DDDDRRRRR сказал: В целом ключ для клиента можно не передавать от сервера, где в момент передачи он может быть получен кем-либо, а хранить на пк и подгружать вместе с прошивкой Можно распространять прошивку уже в зашифрованном виде. Сразу после компиляции - шифруем. И далее уже передаём куда угодно в зашифрованном виде. 2 часа назад, DDDDRRRRR сказал: По поводу ключей: на мк можно записать ключ и в теории его будет невозможно получить Тогда в чём проблема? Делаем вышеописанным способом и всех делов. Обычного AES хватит на всё про всё. Quote Share this post Link to post Share on other sites More sharing options...
DDDDRRRRR 1 November 10 Posted November 10 · Report post 22 часа назад, makc сказал: Вы можете сами генерировать сертификаты для своей системы, никакого третьего лица не нужно. EasyRSA или просто openssl в помощь. 20 часов назад, jcxz сказал: Можно распространять прошивку уже в зашифрованном виде. Сразу после компиляции - шифруем. И далее уже передаём куда угодно в зашифрованном виде. Благодарю за советы, в целом с чего начать понятно. Если вдруг у кого-нибудь будут интересные идеи, буду рад услышать. Ну или просто будет интересно узнать кто как на практике реализует шифрование данных Quote Share this post Link to post Share on other sites More sharing options...