Jump to content
    

Шифрование данных HTTP

Необходимо зашифровать передаваемые по HTTP данные, но шифровать весь поток нет необходимости, вполне достаточно сделать это для передаваемых логин/пароль и двоичного файла прошивки (разбитого на более мелкие файлы). Добавлять для этого TLS думаю как-то излишне. 
Помимо TLS какие еще могут быть механизмы шифрования передаваемых данных?

Share this post


Link to post
Share on other sites

TLS - это протокол, а не механизм шифрования. Всё зависит от того, как вы хотите управлять ключами шифрования и от кого (чего) защищаетесь. В самом первом приближении можно просто заранее ввести ключи симметричного алгоритма и дальше использовать их при обмене. TLS же и ему подобные обеспечивают не только выработку ключей для шифрования, но и аутентификацию участников обмена, поэтому в частности они такие сложные.

Share this post


Link to post
Share on other sites

21 минуту назад, makc сказал:

TLS - это протокол, а не механизм шифрования. Всё зависит от того, как вы хотите управлять ключами шифрования и от кого (чего) защищаетесь. В самом первом приближении можно просто заранее ввести ключи симметричного алгоритма и дальше использовать их при обмене. TLS же и ему подобные обеспечивают не только выработку ключей для шифрования, но и аутентификацию участников обмена, поэтому в частности они такие сложные.

Вот с аутентификацией как раз проблема, мне не подходит участие 3х лиц, которые выдают цифровые сертификаты (не хочу чтобы система была в зависимости от кого-то). Т.е. просто 2 участника: сервер (мк) и клиент (браузер). Допустим в момент подключения к серверу кто-то получает весь трафик, да и пусть, но мне надо защитить введенные и переданные на мк логин/пароль и файл прошивки.
По поводу ключей: на мк можно записать ключ и в теории его будет невозможно получить, но ключ клиента (браузера), насколько я понимаю, получить не составит никакого труда.
Я не особо знаю какие сейчас методы шифрования котируются. Может есть что-то где достаточно одного закрытого ключа

Share this post


Link to post
Share on other sites

В целом ключ для клиента можно не передавать от сервера, где в момент передачи он может быть получен кем-либо, а хранить на пк и подгружать вместе с прошивкой

Share this post


Link to post
Share on other sites

1 час назад, DDDDRRRRR сказал:

Вот с аутентификацией как раз проблема, мне не подходит участие 3х лиц, которые выдают цифровые сертификаты (не хочу чтобы система была в зависимости от кого-то).

Вы можете сами генерировать сертификаты для своей системы, никакого третьего лица не нужно. EasyRSA или просто openssl в помощь.

1 час назад, DDDDRRRRR сказал:

Т.е. просто 2 участника: сервер (мк) и клиент (браузер). Допустим в момент подключения к серверу кто-то получает весь трафик, да и пусть, но мне надо защитить введенные и переданные на мк логин/пароль и файл прошивки.

Это понятно.

1 час назад, DDDDRRRRR сказал:

По поводу ключей: на мк можно записать ключ и в теории его будет невозможно получить, но ключ клиента (браузера), насколько я понимаю, получить не составит никакого труда.

Поэтому можно сделать две пары ключей, для каждой связи отдельно. 

1 час назад, DDDDRRRRR сказал:

Я не особо знаю какие сейчас методы шифрования котируются. Может есть что-то где достаточно одного закрытого ключа

Всё зависит от целей и от системы. Обычно люди начинают с того, что определяются с перечнем угроз (формируют модель нарушителя). Далее под это описание уже подбирается вариант (схема) защиты. В противном случае можно очень долго и безрезультатно ходить по кругу.

Share this post


Link to post
Share on other sites

3 часа назад, DDDDRRRRR сказал:

Помимо TLS какие еще могут быть механизмы шифрования передаваемых данных?

Просто зашифровать файл прошивки постоянным ключом. И расшифровать на клиенте таким же ключом.

1 час назад, DDDDRRRRR сказал:

В целом ключ для клиента можно не передавать от сервера, где в момент передачи он может быть получен кем-либо, а хранить на пк и подгружать вместе с прошивкой

Можно распространять прошивку уже в зашифрованном виде. Сразу после компиляции - шифруем. И далее уже передаём куда угодно в зашифрованном виде.

2 часа назад, DDDDRRRRR сказал:

По поводу ключей: на мк можно записать ключ и в теории его будет невозможно получить

Тогда в чём проблема? Делаем вышеописанным способом и всех делов. Обычного AES хватит на всё про всё.

Share this post


Link to post
Share on other sites

22 часа назад, makc сказал:

Вы можете сами генерировать сертификаты для своей системы, никакого третьего лица не нужно. EasyRSA или просто openssl в помощь.

20 часов назад, jcxz сказал:

Можно распространять прошивку уже в зашифрованном виде. Сразу после компиляции - шифруем. И далее уже передаём куда угодно в зашифрованном виде.

Благодарю за советы, в целом с чего начать понятно. Если вдруг у кого-нибудь будут интересные идеи, буду рад услышать. Ну или просто будет интересно узнать кто как на практике реализует шифрование данных

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...