Конфигурация безопасности Java для SSL - PullRequest
0 голосов
/ 16 января 2011

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

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

Но я не понимаю, чтоэто значит сказать, что это зависит от комплекта шифрования.
Так что я понимаю, что либо ServerKeyExchange, либо Certificate следует за ServerHello.
Так что мой вопрос, может ли аутентификация сервера быть опущенавместе?
Например, чтобы исключить аутентификацию клиента в Tomcat, вы просто настраиваете соединитель так, чтобы он не запрашивал его.
Как можно опустить аутентификацию сервера?Зависит ли это от используемого Java-фреймворка, если он его поддерживает?
И что значит пропустить аутентификацию сервера?Если сертификат не отправляется, то ServerKeyExchange становится обязательным, или обычно фреймворки разрешают вместо этого предоставлять локальный открытый ключ, если кто-то хочет пройти этап аутентификации для производительности или потому что это не имеет никакого смысла?
Илиэто как-то зависит от комплекта шифрования, как, по-видимому, подразумевает вики?
ПРИМЕЧАНИЕ:
Я понимаю, что сервер всегда должен проходить аутентификацию.Хотя контекст моей проблемы заключается в том, что клиентское приложение и сервер работают на одном компьютере (и я полагаю, что это среда выполнения Java), поэтому можно считать безопасным обход аутентификации сервера (я думаю).

Любые пожелания приветствуются!
Спасибо!

Ответы [ 3 ]

1 голос
/ 16 января 2011

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

1 голос
/ 16 января 2011

В TLS / SSL аутентификация сервера не обязательна.Если вы выберете набор шифров TLS / SSL без аутентификации (например, TLS_NULL_WITH_NULL_NULL (отключает аутентификацию и шифрование) или TLS_DH_anon_XXXX (используйте только шифрование) в спецификации TLS), сертификат сервера отправляться не будет.

TLS / SSL без authn не поддерживается чистым соединителем Java.Но я думаю, что нативный коннектор с SSLCipherSuite=aNULL поддерживает его.

Я не знаю, безопасно ли отключать authn, то есть такие атаки, как спуфинг DNS, могут быть угрозами.Я думаю, что вам лучше использовать аутентификацию сервера, если производительность не является проблемой.Или отключение TLS / SSL само по себе может быть выбором.(Шифрование обмена данными между сервером и клиентом может быть бессмысленным, поскольку администратор компьютера может украсть файлы сертификатов и выгрузить кучу JVM.)

0 голосов
/ 20 января 2011

вы можете получить конфигурацию ssl для tomcat 6 из

http://nayanmali.blogspot.com/

у вас есть вся конфигурация и как создать keytool и как сгенерировать сертификат, который

...