[about] [index] [prev] [2019-10-07 23:19:26+03:00] [1b96b5d043db6fa62ef90354a771298e067faa30]
Topics: [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, я не
    знаю. Я понимаю что многие посчитают, что я поднасираю удобству
    пользователей этим самым выбором, но я человек принципиальный и хочу как
    можно меньше поддерживать то, что решения о том, чем могут пользоваться
    люди, диктуется и решается бизнесменами софта из США.

[leave comment]