Хочу сделать серверное и клиентское приложение. Все клиенты подключаются к серверу через Wi-Fi. Я хочу защитить сеть с помощью SSL-сертификата.
Я нашел 2 альтернативы:
Используя SSLSocket (javax.net.ssl.SSLSocket).
Используя Radius Server.
Мой вопрос: являются ли две указанные выше альтернативы одинаковыми?
Хотя в вашем вопросе отсутствуют подробности, я предполагаю, что с «использованием SSLSocket» вы имеете в виду использование TLS, реализованного на уровне приложения между клиентским и серверным приложением. Под «использованием Radius Server» вы, вероятно, имеете в виду, что клиенты аутентифицируются на Radius Server, а затем используют полученную информацию для создания соединения WiFi (например, WPA2 Enterprise).
Это совершенно разные варианты как с точки зрения безопасности, так и с точки зрения требований клиента и сервера. WPA2 Enterprise обеспечивает безопасность на уровне сети (то есть между системами), а TLS - на уровне приложений (между приложениями).
Если вы просто хотите защитить связь между клиентским и серверным приложением, тогда TLS - лучший и более простой выбор. Это также более безопасно, поскольку шифрование осуществляется сквозным образом между приложениями, работающими в системах, а не только между самими системами. Также TLS не требует Wi-Fi, он будет работать даже с различными типами сетевых подключений (например, с мобильной сетью) без каких-либо изменений в приложении и без потери защиты.