[О блоге]
[наверх]
[пред]
[2019-10-07 23:19:26+03:00]
[1b96b5d043db6fa62ef90354a771298e067faa30]
Темы: [crypto]
Выдержка из моего письма про TLS сертификат на go.cypherpunks.ru
Безусловно я ожидал что мне напишут по поводу сертификата, куда деваться.
package go.cypherpunks.ru/gogost: unrecognized import path "go.cypherpunks.ru/gogost"
(https fetch: Get https://go.cypherpunks.ru/gogost?go-get=1: x509: certificate signed by unknown authority)
Нет, cypherpunks.ru использует не самоподписанный, а выданный CACert.org CA.
Просто среди сертификатов отдаваемых HTTPS сервером и сам CA суётся
тоже, а он, конечно, самоподписанный:
% gnutls-cli -V go.cypherpunks.ru | grep Subject:
Subject: CN=go.cypherpunks.ru
Subject: EMAIL=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA
http://www.cypherpunks.ru/FAQ.html#TLSCA
Он один из первых CA который был бесплатен, кто рулится community, а не
бизнесом. Лично я принципиально не собираюсь платить деньги за
псевдобезопасность PKI-инфраструктуры: ибо она полагается на третью
сторону, к которой в любом случае могут прийти спецслужбы стран и
выпустить сертификат для осуществления MitM-а. Я не против PKI как
такового -- считаю что он вполне себе безопасно и успешно может работать
в пределах enterprise систем, предприятий, но не в глобальном масштабе,
где CA компании всё-равно вынуждены подчиняться силовым структурам. Я,
опять же, ничуть не против силовиков, но я против бизнесменов/корпораций,
врущих и говорящих о безопасности.
Раньше из бесплатных когда-то были StartSSL, StartCom, WoSign, ещё вроде
кто-то, но, так как это всё бизнес, деньги, то автоматом и политика.
Разработка ПО это очень дорого, и ею поэтому рулят бизнесмены. Из-за
полунадуманных (по моему мнению) причин распространённые броузеры и
операционные системы, базирующиеся в США, решили не доверять StartSSL,
WoSign, StartCom, которые китайские, под предлогом их ошибок и
нелегальной выдаче сертификатов. Ибо США не может прийти к китайским CA
для осуществления MitM-а.
Хотя у некитайских были проблемы и пострашнее:
https://www.eff.org/deeplinks/2015/09/symantec-issues-rogue-ev-certificate-googlecom
https://en.wikipedia.org/wiki/Symantec#Sustaining_digital_certificate_security
https://threatpost.com/fraudulent-certificate-google-domains-found-after-mistake-turkish-ca-010313/77361/
https://defcon.org/images/defcon-17/dc-17-presentations/defcon-17-zusman-hacking_pki.pdf
https://www.cnet.com/news/microsoft-warns-of-hijacked-certificates/
https://en.wikipedia.org/wiki/Diginotar#Issuance_of_fraudulent_certificates
https://en.wikipedia.org/wiki/Comodo_Group#2011_breach_incident
но им ничего не было особо за это. CACert.org сертификат много лет
присутствовал в Mozilla Firefox (как минимум), но они решили что не
особо теперь им доверяют и убрали его, ибо это потеря прибыли и
отсутствие рычагов управления со стороны спецслужб.
В итоге, *все* бесплатные CA убраны из распространённых ОС/броузеров, и
недавно, внезапно появился Let's Encrypt, созданный/поддерживаемый этими
же всеми самыми броузерными/ОС компаниями. И активно рекомендуется и
рекламируется везде. Что было не так с прошлыми бесплатными? Одни --
китайцы, а другие тоже не шибко подконтрольные и даже денег не
зарабатывающие. Технические проблемы более серьёзные были и не у
бесплатных и ничего за это им не было. А Let's Encrypt все эти
корпорации удовлетворяет. Это одна из причин почему Let's Encrypt мне не
хотелось бы рассматривать -- не может быть такого, что ни с того, ни с
сего взял и появился святой Грааль бесплатных сертификатов.
Вторая причина это то, что они выпускают сертификаты на относительно
короткий срок в 90 дней, делая крайне сложным использование certificate
pinning. Если бы я получил сертификат выпущенный Let's Encrypt-ом и
убедился от владельца сайта в его достоверности (что буквально именно
вот он действительно выпущен), то я делаю pinning и не боюсь MitM-а
незамеченного. А 90 дней... огромное количество сайтов я посещаю прям
вот не чаще чем 90 дней и каждый заход на такой сайт у меня вызывает в
броузере alert о том, что сертификат сменён, вынуждая меня или снова
как-то выяснять действительно ли это ожидаемый штатный сертификат (по
сторонним каналам связи, вне TLS) или забить и просто его принять.
Третья причина: management hell Let's Encrypt сертификатов. Если раньше
десятилетиями люди просто генерировали приватный ключ, затем PKCS#10
(или там CRMF/CMC/CMS) запрос, получали сертификат, то LE хочет чтобы
был установлен софт, работающий по cron-у, по умолчанию самостоятельно
влезающий в настройки HTTPS-серверов (кстати, обязуя их использовать).
Также я видел что не одна реализация ещё и автоматически себя может
обновлять: скачивать код, подменять себя им, что абсолютно неприемлемо в
терминах безопасности, с моей точки зрения. Чтобы запустить у себя LE, я
вынужден прочитать сотни строк кода какого-нибудь ACME клиента, чтобы
убедиться что он не скачает для исполнения какой-то код извне, что он не
испортит мои конфиги или ещё что-нибудь неположенное сделает. А короткий
срок жизни сертификата подталкивает к использованию этих
автоматизированных решений.
Плюс LE я не смогу использовать для выпуска TLS сертификата для своего
SMTP-сервера например. Придётся настраивать и HTTPS для него.
В итоге LE я не рассматриваю по политическим причинам (поддерживаю
USA-controlled huge MitM-able CA) и по техническим (колоссальная
сложность и недоверие ко всему что делают (а они делают по умолчанию
неприемлемо) все эти LE ACME клиенты). Так как WoSign, StartSSL,
StartCom закрылись, то остаётся только CACert.org CA. Который не в малом
количестве ОС есть из коробки или имеется в виде пакета штатного (не со
сторонних репозиториев скачиваемый, а с родных дистрибутива):
https://wiki.cacert.org/InclusionStatus
>будет ли меняться сертификат для домена cypherpunks.ru?
Я бы советовал установить сертификат далеко не самого маленького CA
CACert.org, особенно учитывая что он в пакетах зачастую доступен самой
ОС. Лично я так и делаю у себя везде. Обновлять не планирую, так как,
повторюсь, платить за воздух и имитацию безопасности не собираюсь
принципиально, Let's Encrypt по сильным политическим и техническим
причинам не рассматриваю, других бесплатных, кроме CACert.org, я не
знаю. Я понимаю что многие посчитают, что я поднасираю удобству
пользователей этим самым выбором, но я человек принципиальный и хочу как
можно меньше поддерживать то, что решения о том, чем могут пользоваться
люди, диктуется и решается бизнесменами софта из США.
[оставить комментарий]