2016-09-12 5 views
0

Я хочу создать решение стека LAMP для доставки защищенного контента, но я не хочу знать, что это за контент. Я разработал шифрование файлов, но теперь у меня возникла проблема переноса защищенного контента в удаленный браузер для просмотра. Я хочу, чтобы избежать отправки зашифрованного файла, как Mega, я хочу использовать HTTPS с сильным SSL вместо этого.Несколько сертификатов SSL для одного домена - как?

Использование единого сертификата SSL для всего домена позволит мне (владельцу сертификата) расшифровать поток.

Я хотел бы решить эту проблему, имея сертификат SSL для каждого пользователя, который зашифрован на стороне сервера паролем пользователя.

Проблема только в том, как сделать один домен более чем одним сертификатом SSL. Как это сделать?

Я открыт для использования Ngnix, но предпочел бы использовать Apache.

+0

Это выглядит очень неосуществимым, как есть. Сертификат SSL должен быть проверен авторитетом и по-прежнему очень постоянный и не может быть создан «на лету». Может быть, кто-то знает лучше, но это звучит не так. –

+0

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

+0

Я не планирую использовать сертификаты SSL от корневого центра, я планирую настроить собственный CA, посредник CA и самоподписать. Идея состоит в том, чтобы гарантировать безопасность, и я не могу гарантировать, что NSA не поставит под угрозу несколько корней/посредников. Я не шифрую файлы в ОЗУ, а затем отправляю их. Я очень затрудняюсь для получения незашифрованного контента, это идея. Можем ли мы не думать о технических особенностях других вещей, как я могу использовать более одного сертификата SSL в одном домене? –

ответ

0

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

Но даже если вам удастся создать такой сервер, это, вероятно, не поможет обеспечить главную цель, которую вы, кажется, имеете, то есть скрываете обслуживаемый контент от владельца самого веб-сервера. SSL/TLS - это шифрование от конца до конца, что означает, что контент должен быть доступен на сервере сначала как обычный текст, прежде чем он может быть зашифрован для транспорта. А это означает также, что владелец сервера может иметь доступ к контенту.

Единственный способ убедиться, что владелец сервера не имеет доступа - это зашифровать файлы ключом, известным только отправителю и получателю, но не владельцу сервера. Это концепция, которую использует Mega.

+0

Благодарим вас за ответ, вот что я искал. –

Смежные вопросы