Как убедиться, что клиент использует (или может использовать) TLS v1.2 при посещении некоторых страниц приложения?

Я работаю над модулем поддержки кредитных карт в веб-приложении на основе Java. В целях безопасности мы хотим, чтобы пользователи использовали браузеры с поддержкой TLS v1.2 при просмотре страниц кредитных карт. Как убедиться, что они совместимы? Примечание. Мы не хотим ограничивать пользователей доступом к другим страницам, если они несовместимы.


person Kashif Ibrahim    schedule 06.08.2018    source источник
comment
Это приложение Spring?   -  person Dan    schedule 06.08.2018
comment
@ Дэн, да, это весна.   -  person Kashif Ibrahim    schedule 06.08.2018
comment
@Andreas: я изменил свой вопрос, и этот вопрос не является дубликатом. Другой вопрос не решает мою проблему.   -  person Kashif Ibrahim    schedule 07.08.2018
comment
Вы можете написать фильтр и каким-то образом получить доступ к docs.oracle.com/javase/7/docs/api/javax/net/ssl/ для программной проверки страницы и версии TLS сеанса.   -  person rodrigoap    schedule 07.08.2018
comment
Ссылка на дубликат Как заставить сервер Java принимать только tls 1.2 и отклонять соединения tls 1.0 и tls 1.1 удалена   -  person Andreas    schedule 07.08.2018
comment
@rodrigoap Объясните, пожалуйста, как мне получить версию TLS сеанса из объекта сеанса/запроса? Спасибо за всю помощь здесь.   -  person Kashif Ibrahim    schedule 07.08.2018
comment
Не уверены, что это отличная идея? Сессия может быть скомпрометирована при более низком шифровании до достижения безопасной зоны. Если злоумышленник может заранее скомпрометировать, он может запустить MITM, установить TLS 1.2 с сервером и поддерживать более низкое скомпрометированное шифрование с пользователем-жертвой. Не уверен, что это ваш вариант использования, поэтому не уверен, применимо ли это, но будьте осторожны, когда умничаете с шифрованием, многие альфа-ботаники вкладывают массу труда в разработку текущих схем, проявлять творческий подход к ним опасно.   -  person Taylor    schedule 08.08.2018


Ответы (1)


Это старый вопрос. Вот некоторая информация

Как определить TLS-версию HttpServletRequest?< /а>

Могу ли я определить версию SSL, поддерживаемую браузером?< /а>

https://gist.github.com/SamuelChristie/13a2a29e74c189bcfd9b – изящное прекращение поддержки TLS 1.0

person John    schedule 08.08.2018
comment
спасибо, @Джон. У нас есть сервер f5, и мы добавим переменную заголовка, чтобы мы могли проверить то же самое при загрузке страницы. Для будущих просмотров этой страницы: Это код: when HTTP_REQUEST { HTTP::header вставить X-SSL-протокол [SSL::cipher version] HTTP::header вставить X-SSL-Cipher [SSL::cipher name] } - person Kashif Ibrahim; 08.08.2018