Чому я повинен платити за сертифікат SSL?
Для більшості застосувань немає вагомих причин платити за них.
Див. Саме дно для підсумків винятків.
Давайте зробимо крок назад і пояснимо, що сертифікати роблять і приблизно як.
Що зазвичай називають "сертифікатами", складаються з двох пов'язаних фрагментів:
- Сертифікат власне , який містить відкритий ключ і деяку ідентифікацію (наприклад, ім'я домену).
- Закритий ключ , який дозволяє власникові (і тільки держатель) для цифрового підпису повідомлень таким чином , що вони можуть бути перевірені з використанням вищевказаного сертифіката.
Якщо ви хочете отримати сертифікат yourdomain.com
, ви:
- Створіть приватний / публічний ключ, а приватну частину - добре, приватну.
- Попросіть надійну третю сторону ("CrediCorp") створити сертифікат для
yourdomain.com
свого відкритого ключа.
- Доведіть якимось чином CrediCorp, яким ви керуєте
yourdomain.com
.
- Покладіть приватний ключ та отриманий сертифікат на свій сервер та налаштуйте веб-сервер на їх використання.
Потім, якщо Аліса відвідує yourdomain.com
, її браузер отримує сертифікат від вашого веб-сервера разом із повідомленням, підписаним вашим приватним ключем. Потім її браузер перевіряє три речі:
- Що підписане повідомлення може бути підтверджено вашим сертифікатом (доказуючи, що він був підписаний відповідним приватним ключем, який
yourdomain.com
повинен бути лише ).
- Що домен сертифіката - це домен, який браузер намагається відвідати (
yourdomain.com
).
- Це сертифікат від CrediCorp.
Поєднання цих трьох речей гарантує Алісі, що вона насправді розмовляє yourdomain.com
, а не з якимсь самозванцем ... За умови, що Аліса довіряє CrediCorp .
(Тут також слід кілька криптовалютного танцю вуду, щоб перетворити цю автентичність у конфіденційність.)
Як же Аліса довіряє CrediCorp?
Ось тут справжня суть. Коротше кажучи, в якийсь момент CrediCorp сказав: "Ей, ми збираємось робити сертифікати". Доклавши чимало зусиль, дотримуючись багатьох правил , їм вдалося переконати деяких людей, що CrediCorp справді є надійними, і вони видаватимуть сертифікати лише правильно.
Зокрема, їм вдалося переконати виробників, скажімо, Firefox. В результаті CrediCorp потрапляє до A-списку Firefox, а їх сертифікати довіряють Firefox за замовчуванням. Так справді, Аліса довіряє Firefox, Firefox довіряє CrediCorp, а CrediCorp довіряє (після перевірки) вам, коли ви заявили, що ви контролюєте yourdomain.com
. Це майже як ланцюжок .
Але, Firefox не просто довіряє CrediCorp видавати сертифікати yourdomain.com
, вона довіряє сертифікатам CrediCorp для будь-якого домену. Firefox також довіряє ShabbyCorp для будь-якого домену.
Це має наслідки. Якщо комусь вдасться переконати ShabbyCorp у тому, що вони контролюють yourdomain.com
(оскільки ShabbyCorp не дуже ретельний), він може отримати сертифікат ShabbyCorp для yourdomain.com
відповідного приватного ключа. І за допомогою цього сертифіката вони можуть представити себе вашим веб-сервером. Зрештою, у них є сертифікат (плюс ключ), на yourdomain.com
який довіряють Firefox!
CrediCorp і ShabbyCorp - це те, що називається органами сертифікації, коротко. У реальному світі ComodoSSL та Let's Encrypt - приклади ЦО. Але їх набагато більше; станом на цей текст, Firefox довіряє 154 ЦП .
Вау. Але як це відповідає на моє запитання?
Я е-е, добираюся до цього ...
Ось річ. Механіка, яку я описав вище, стосується всіх сертифікатів. Якщо у вас є правильний, надійний сертифікат для вашого веб-сайту, він буде працювати. Немає нічого особливого в сертифікатах торгової марки А порівняно з сертифікатами марки Б; всі вони підпадають під однакові вимоги ЦА та таку саму крипто-математику.
І навіть якщо вам більше подобається CrediCorp - адже ви знаєте, вони просто звучать так набагато надійніше - використання їх не дуже допоможе вам. Якщо зловмисник може переконати ShabbyCorp дати йому сертифікат для вашого сайту, зловмисник може використовувати цей сертифікат, щоб видати себе за ваш сайт незалежно від того, де ви отримали свій.
Поки Firefox довіряє ShabbyCorp, відвідувачі не побачать різниці. (Так, відвідувачі можуть витягнути сертифікат і викопати там, подивитися, хто його видав. Але хто це робить?) Що стосується підробки сертифікатів, це робить усю систему слабкою, як найслабші з 150+ ЦО. Чому так, це страшно, і це, мабуть, найбільша критика у всіх цієї схеми. І все-таки це ми застрягли.
Справа в тому, що якщо ви не довіряєте ЦА видавати "хороші" сертифікати, отримання ваших сертифікатів в іншому місці не дуже допоможе вам.
Є, все однаково приречене. Немає застережень?
Weeeelllll ...
Почнемо з вбивства моменту, який я зробив в останньому розділі. На сьогоднішній день можна зафіксувати свій домен лише на ЦО на ваш вибір за допомогою DNS-CAA . Припустимо, що ви довіряєте Comodo та не довіряєте іншим ЦО, можна попросити всіх ЦЗ, окрім Comodo, не видавати сертифікати для вашого домену. В теорії. (Оскільки веб-переглядачі DNS-CAA не перевіряються, лише видаючи ЦС. Таким чином, компрометований ЦО може ігнорувати цю захисну функцію.)
Якщо ви готові пережити цю проблему, тоді виникає питання: чи давайте шифрувати насправді менш надійні? Або менш безпечний? Надійність - це важка думка, як це можна оцінити? Все, що я можу сказати, - це те, що в моєму сприйнятті давайте шифрувати не менш надійно, ніж інші ЦО. Що стосується безпеки їх перевірки, вони дуже схожі на те, що роблять комерційні ЦА (для сертифікатів DV у будь-якому випадку). Дивіться також це питання .
Для чого це варто: мережа StackExchange, до складу якої входить цей сайт, наразі використовує сертифікати Let’s Encrypt. Більшість людей цього ніколи не помітять, і якби вони це зробили, я щиро сумнівався, чи значить це для них багато чого.
Щоб сертифікат мав сенс, сертифікатору, що видає, слід довіряти постачальникам програмного забезпечення , інакше сертифікат марний. Я використовував Firefox в якості прикладу, але ви дійсно хочете, щоб довіряти ЦА принаймні нинішніми та дещо старими версіями Firefox, Chrome, Windows, Mac OS X, iOS та Android. І десятки менших гравців. Усі ці структури довіряють ЦП (які включають ComodoSSL та Let's Encrypt).
Якщо КА погано поводиться або виявляється ненадійним, він буде видалений з різних довірчих магазинів досить швидко, щоб зіпсувати день власників сертифікатів. Два відомих мені прикладу - DigiNotar та StartCom / WoSign (ознайомтеся зі статтями, вони дають цікаву інформацію про динаміку довіри!). Тож якщо ви думаєте, що давайте шифруватиметься, або випаде з якоїсь іншої причини, їх використання не дозволить вам потрапити в цю конкретну падіння.
Сертифікати використовують деякі крипто-математичні магії ; питання в тому, яка крипто- математична магія ? Що робити, якщо це слабка магія? Це насправді викликає серйозне занепокоєння, і КА показали, що вони також перетягують ноги на покращення цього. На щастя, продавці браузерів підняли слабкість, встановивши тут мінімум для отримання сертифікатів. Наприклад, сертифікати, що використовують RSA-1024 або SHA-1 , тепер відхиляються більшістю браузерів, тому жоден сертифікат, який працює на практиці, не використовує ці застарілі криптоприміти. Підсумок полягає в тому, що будь-який КА (давайте шифрувати включено) досить важко розчарувати в цій частині.
Раніше я більш-менш говорив, що всі сертифікати створюються рівними. Я збрехав, вони ні. Зокрема, я обговорював дотепер " сертифікати домену (DV)", якими користується переважна більшість веб-сайтів. Вони забезпечують міру визначеності того, що ваш веб-переглядач насправді спілкується з доменом, який він відображає в URL-рядку. Існують також " Сертифіковані організацією (OV)" та " Extended Validation (EV)" сертифікати, які вимагають набагато більш детальних перевірок з боку ЦО. Зокрема, ви повинні бути в змозі отримати сертифікат EV тільки для somebank.com
/ SomeBank Inc., якщо ви можете довести , що ви перебуваєте SomeBank, Inc.
Сертифікати EV набагато дорожче отримати (бальний парк: сотні євро / долар на рік), і вони можуть бути нагороджені зеленим рядком URL-адресою або замком у браузері, можливо, відображаючи "SomeBank, Inc." так само. На відміну від сертифікатів DV, вони також пропонують певну ідею щодо того, кому веб-сайт насправді може належати. Перевернуто, вони можуть виглядати законніше. Розчарування в тому, що користувачі рідко звертають на них увагу, тому їх ефективність обмежена.
Зловмисник із підробленим сертифікатом DV все ще може себе представити на сайті, лише без додаткової візуальної підказки, яку може запропонувати сертифікат EV, і користувачі, як правило, не помічають цього розрізнення. І навпаки, можна отримати оманливий сертифікат EV для полегшення фішингу. Як результат, і Chrome, і Firefox скидають свої візуальні кивки на сертифікати EV, а деякі люди вірять, що вони повністю відійдуть.
Якщо ви банк, напевно, все ще хочете отримати сертифікат EV. Інакше не так вже й багато. Але якщо зробити потрібно EV, Давайте шифрувати не для вас , тому що вони просто не пропонують сертифікати EV.
Сертифікати дійсні лише обмежений час . Сертифікати типових комерційних підприємств, як правило, діють протягом одного року, але я бачив що-небудь від трьох місяців до трьох років. Давайте шифрувати сертифікати дійсні протягом 90 днів , що знаходиться на короткій стороні цього діапазону, тому вам потрібно буде часто поновлювати їх. Для користувачів Let’s Encrypt це, як правило, автоматизовано, так що сертифікати замінюються кожні 60 днів.
Можливість автоматичного оновлення за допомогою широко доступного програмного забезпечення насправді приємніше, ніж щорічний Ой лайно мій сертифікат минув? Який мій логін в CA? Як це працює знову? ритуал, який, здається, більшість невеликих сайтів закінчується на комерційних центрах.
Раніше я назвав це страшно, що існує так багато ЦС, яким ми всі повинні довіряти. Наявність багатьох ЦА також є перевагою, хоча в тому сенсі, що вилучення одного з наших довірчих магазинів має обмежений вплив на користувачів. Зокрема, виключення одного КА вплине лише на сертифікати, видані цим КА. Якщо всі в кінцевому підсумку використовують один єдиний ЦС (який деякі люди бояться, що це може статися з Let's Encrypt ), ми зосереджуємо всю свою довіру там і втрачаємо переваги цієї фрагментації.
І нарешті, є інші переваги, які може запропонувати платний АТ , наприклад, комерційна підтримка або гарантія SSL на мільйон доларів . Я мало вірю в обидва ці аспекти, але це речі, які не пропонують.
У мене болить голова ... У мене було питання, я думаю?
Використовуйте те, що вам комфортно! Що стосується сертифікатів DV, то мало що насправді відрізняє різні ЦТ. Я використовую Let’s Encrypt як професійно, так і приватно, і я задоволений цим.
Насправді є лише чотири потенційні причини, які я бачу уникати Давайте шифрувати:
- Якщо вам потрібні сертифікати EV (або OV).
- Якщо ви не можете або не хочете автоматизувати оновлення сертифікату, і термін дії сертифіката три місяці для вас занадто короткий.
- Якщо ви не довіряєте Let’s Encrypt (але не забудьте також врахувати інші заходи, такі як DNS-CAA, і ви, мабуть, вам також слід отримати чорний список Let’s Encrypt у вашому браузері).
- Якщо ви вірите, що давайте шифруємо, чомусь буде припинено або видалено із веб-переглядачів.
Якщо ніхто з них не стосується вас, сміливо не платите за ваші сертифікати.