Могу ли я сделать собственное безопасное соединение HTTP с конкретным сервером - PullRequest
1 голос
/ 13 сентября 2011

Я думаю о создании защищенного соединения между конкретным клиентом и конкретным сервером через HTTP. Конечно, SSL - лучший и самый очевидный выбор. Но я продолжаю думать, что смогу сделать криптографию сам.

Обратите внимание, что речь идет не о подключении какого-либо клиента к определенному серверу, а о конкретном клиенте (например, клиентском приложении Java на моем ПК) к определенному серверу (мой веб-сайт размещен где-то еще). Так что сторонняя сертификация не кажется необходимой, поскольку сервер точно знает, какого клиента искать, а клиент точно знает, какой сервер найти.

Если я хочу загрузить файл с клиента на сервер. Я мог бы зашифровать его вручную (AES или другой) и получить ключ, жестко запрограммированный в клиентском приложении, а также поместить его в файл на сервере вне публичного просмотра.

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

Ответы [ 3 ]

1 голос
/ 13 сентября 2011

Короткий ответ: «Нет, ты не можешь». Вы можете написать некоторый код, который, по вашему мнению, реализует безопасное соединение, но на самом деле он будет небезопасным. Разработка и внедрение безопасного соединения - очень квалифицированная работа; просто посмотрите, что консультант по безопасности будет взимать с вас плату за это.

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

Используйте существующие стандарты, в которых все очевидные ошибки и многие не столь очевидные были исключены для вас.

0 голосов
/ 17 сентября 2011

Попытка свернуть собственную замену SSL - плохая идея. Не катите свою собственную криптографию.Вместо этого вы должны использовать SSL.Он делает то, что вам нужно.

Учитывая, что вам нужно аутентифицировать и клиента, и сервер, вы должны использовать SSL с сертификатами клиента (а также сертификатами сервера, которые являются стандартными).

0 голосов
/ 13 сентября 2011

Ваша идея возможна, и на самом деле, если вам просто нужно отправить файл по определенному URL, было бы проще сделать запрос POST с зашифрованными данными (если URL / заголовки не должны быть безопасными для вас).

...