Відповідь певною мірою залежить від того, що ви маєте на увазі під "безпечним".
По-перше, ваше резюме не зовсім фіксує різницю між SSL / TLS та STARTTLS.
- За допомогою SSL / TLS клієнт відкриває TCP-з'єднання до "порту SSL", призначеного протоколу програми, який він хоче використовувати, і негайно починає говорити TLS.
- За допомогою STARTTLS клієнт відкриває TCP-з'єднання до "порту очищення тексту", пов'язаного з протоколом програми, який він хоче використовувати, а потім запитує сервер "які розширення протоколу ви підтримуєте?". Потім сервер відповідає за допомогою списку розширень. Якщо одним із цих розширень є "STARTTLS", то клієнт може сказати "добре, давайте скористаємося TLS", і обидва почнемо говорити TLS.
Якщо клієнт налаштований вимагати TLS, два підходи є більш-менш однаково безпечними. Але є деякі тонкощі того, як потрібно використовувати STARTTLS, щоб зробити його безпечним, і для впровадження STARTTLS трохи складніше виправити ці деталі.
З іншого боку, якщо клієнт налаштований використовувати TLS лише тоді, коли TLS доступний, і використовувати cleartext, коли TLS недоступний, що може зробити клієнт, спершу спробуйте підключитися до порту SSL, використовуваного протоколом, і якщо це не вдається, потім підключіться до порту очищення тексту та спробуйте використовувати STARTTLS, і, нарешті, поверніться до очищення тексту, якщо TLS недоступний в будь-якому випадку. Зловмисникові досить легко призвести до виходу з ладу підключення до порту SSL (все, що потрібно, - це декілька своєчасних пакетів TCP RST або блокування порту SSL). Трохи важче - але лише трохи - для зловмисника перемогти переговори щодо STARTTLS і змусити рух трафіку в чіткому тексті. І тоді зловмисник не тільки читає вашу електронну пошту, але й отримує захоплення вашого імені користувача / пароля для подальшого використання.
Тож проста відповідь - якщо ви підключаєтесь до сервера, який ви вже знаєте, підтримує TLS (як це має бути у випадку надсилання чи читання електронної пошти), ви повинні використовувати SSL / TLS. Якщо підключення атакується, спроба з'єднання не вдасться, але ваш пароль та електронна пошта не будуть порушені.
З іншого боку, якщо ви підключаєтесь до якоїсь служби, яка не знає, чи підтримує вона TLS, STARTTLS може бути незначно кращим.
Коли було придумано STARTTLS, "пасивні" атаки лише для прослуховування були дуже поширеними, "активні" атаки, в яких зловмисник вводив трафік, щоб спробувати знизити рівень безпеки, були менш поширеними. За 20 або більше років з того часу активні напади стали більш здійсненними та більш поширеними.
Наприклад, якщо ви намагаєтесь використовувати ноутбук в аеропорту чи іншому громадському місці і намагаєтесь прочитати вашу пошту через наданий там wifi, ви не маєте поняття, що ця мережа Wi-Fi робить з вашим трафіком. У мережах Wi-Fi дуже часто трафікувати певний тип трафіку на "проксі", які розміщуються між вашими клієнтськими програмами та серверами, з якими вони намагаються спілкуватися. Для цих проксі-серверів нереально вимкнути і STARTTLS, і "спробувати один порт, потім інший", намагаючись змусити вашого клієнта повернутися до ясного тексту. Так, це трапляється, і це лише один приклад того, як ваш трафік може шпигувати мережею. І такі напади не обмежуються трибуквенними державними агенціями,