Как узнать номер свидетельства ип по инн: Свидетельство о государственной регистрации ИП выдают ли еще в налоговой

Содержание

Проверка номера свидетельства ИП по ИНН: порядок и особенности


Есть вопросы? Проконсультируйтесь у юриста (бесплатно, круглосуточно, без выходных):

8 (800) 350-29-83 — Федеральный номер

8 (499) 938-45-81 — Москва и Московская обл.

8 (812) 425-61-42 — Санкт-Петербург и Лен. обл.


Каждый гражданин РФ имеет документ, подтверждающий его личность – паспорт. Предприниматель также обязан получить документ на осуществление предпринимательской деятельности – свидетельство о регистрации в качестве ИП и основной государственный регистрационный номер индивидуального предпринимателя (ОГРНИП). Иногда третьим лицам может потребоваться узнать номер свидетельства ИП по ИНН. Как это сделать описано далее.

Право открыть ИП

Законом утверждены определенные категории граждан, которые вправе осуществлять предпринимательскую деятельность на территории РФ. К ним относятся:

  • все дееспособные граждане России, которые не участвуют в процедуре банкротства;
  • иностранцы при наличии постоянной или временной регистрации в РФ;
  • лица без гражданства, которые находятся в России на законных основаниях, подтвержденных соответствующими разрешениями.

Важным критерием для открытия бизнеса является достижение физлицом возраста 14 лет. В данном случае при регистрации ИП потребуется представить одну из следующих бумаг:

  • согласие родителей или законного опекуна, заверенное нотариально;
  • разрешающий документ органов опеки;
  • свидетельство о браке, если гражданин еще не достиг совершеннолетия. По закону лицо, которое вступило в брак, является эмансипированным и дееспособным;
  • судебное решение о признании полной дееспособности.

Кому запрещено заниматься бизнесом

Существуют некоторые ситуации, когда закон накладывает запрет  на ведения бизнеса. Проведение регистрации запрещено:

  1. Физлицо уже имеет статус ИП. Если требуется изменить данные, то обновленная информация будет отражена в текущей записи госреестра. При закрытии статуса возможна повторная регистрация. Период между ликвидацией и открытием законом не установлен.
  2. Наложен судебный запрет на осуществление предпринимательской деятельности. Это ограничение действует в течение определенного периода времени.
  3. Осуществлена принудительная ликвидации по решению органов ФНС и сотрудников МВФ. С даты закрытия предпринимательского дела не прошло 360 дней.
  4. Гражданин является банкротом меньше года с даты вынесения судебного решения.
  5. Физлицо было осуждено за преступления против общества и имеет планы по ведению деятельности по воспитанию или оказанию образовательных услуг несовершеннолетним.

Также если гражданин является госслужащим, то закон запрещает ему осуществлять любую коммерческую деятельность. Но непосредственного ограничения на получения статуса ИП нет, что может привести к противоречиям после регистрации.

Роль свидетельства в осуществлении юр. деятельности

Свидетельство является подтверждением права гражданина на ведение бизнеса. Физлицо не вправе вести деятельность с целью извлечения прибыли, если он не имеет этой бумаги.

Согласно действующего законодательства РФ лица, которые желают заниматься бизнесом, обязаны зарегистрироваться в фискальных органах. Каждый ИП получает ОГРНИП, который состоит из 15 цифр, находящихся в строгой последовательности. Этот номер используется при ведении хоздеятельности. Эта комбинация цифр и данные об ИП фиксируются в Едином государственном реестре индивидуальных предпринимателей.

Важно  знать: Налоговая служба получает все необходимые сведения о бизнесмене и фиксирует их в своей базе данных.

Как выяснить номер свидетельства?

Как узнать номер свидетельства о регистрации ИП? Этот вопрос зачастую интересует потенциальных контрагентов, с которыми ИП намерен сотрудничать. Найти необходимую информацию можно двумя способами:

  • заказать выписку из ЕГРНИП. Данное действие можно выполнить в подразделении ФНС в том субъекте РФ, где регистрировался бизнесмен;
  • зайти на официальный интернет-портал ФНС. Здесь также можно заказать выписку, но уже в электронном формате. Документ будет включать достоверные сведения, актуальные на текущий момент.

Более подробно об онлайн-способе

Не так давно на официальном веб-ресурсе ФНС появилась функция, которая позволяет найти ИП по идентификационному номеру налогоплательщика. Данное действие выполняется в считанные минуты.

Алгоритм действий

Прежде всего необходимо зайти на сайт www.nalog.ru. Затем следует кликнуть по ссылке «Все сервисы» для вывода более развернутого перечня предоставляемых услуг.

Среди них необходимо выбрать «Риски бизнеса: проверь себя и контрагента». Система выведет страницу с информацией о госрегистрации юрлиц, ИП, фермерских хозяйств. Ниже будет представлено поле с двумя вкладками: «юридическое лицо» и «индивидуальный предприниматель/КФХ». Выбрав второй вариант, следует перейти непосредственно к поиску необходимой информации. Поиск ИП может быть выполнен одним из трех способов:

  • путем ввода ОГРНИП;
  • по ИНН;
  • по ФИО физлица с указанием субъекта РФ, где осуществляется предпринимательская деятельность.

Пользователь может выбрать наиболее удобный для себя метод. После ввода данных необходимо ввести указанный системой код. Далее нужно кликнуть по кнопке «Найти». Таким образом, система принимает заказ в обработку и выдает сведения из Единого госреестра.

Справка: Если физлицо не прошло регистрацию в качестве ИП, то поиск не выдаст результата.

При наличии гражданина в базе данных ИП сервис выведет следующую информацию:

  • ФИО бизнесмена;
  • ИНН;
  • серию и номер свидетельства о регистрации ИП;
  • дату постановки физлица на учет в качестве ИП.

Интересно: Сервис включает сведения не только о действующих в настоящее время предпринимателях, но и о тех, кто уже завершил свою предпринимательскую деятельность. При втором варианте система покажет также дату регистрации о прекращении бизнеса.

Таким образом, получение требуемой информации не займет много времени, достаточно выполнить определенные действия на веб-странице ФНС.

ИНН физического лица – как узнать через интернет номер в налоговой онлайн

Если Вам необходима помощь справочно-правового характера (у Вас сложный случай, и Вы не знаете как оформить документы, в МФЦ необоснованно требуют дополнительные бумаги и справки или вовсе отказывают), то мы предлагаем бесплатную юридическую консультацию:

  • Для жителей Москвы и МО — +7 (499) 110-86-37
  • Санкт-Петербург и Лен. область — +7 (812) 426-14-07 Доб. 366

Реквизиты свидетельства о государственной регистрации ИП Как узнать номер свидетельства ип по инн Именно такое определение дает предпринимательству Гражданский кодекс ст. Что это такое Под регистрацией понимается официальное признание государством нового статуса гражданина. Уполномоченный орган власти, которым в случае регистрации ИП является Федеральная налоговая служба, вносит в государственный реестр сведения о том, что данное лицо в дальнейшем осуществляет предпринимательскую деятельность на законных основаниях. Об этом государственном акте самому предпринимателю выдают на руки определенный документ. Дорогие читатели! Наши статьи рассказывают о типовых способах решения юридических вопросов, но каждый случай носит уникальный характер.

ИНН — Идентификационный номер налогоплательщика. Специальный код, состоящий из двенадцати арабских цифр.

Итак, номер свидетельства о регистрации ИП необходим для осуществления деятельности учредителю, но также он помогает быстро узнать всю интересующую информацию о компании. Зная номер свидетельства любой гражданин имеет возможность получить полную информацию о предпринимателе и о его деятельности.

Как узнать наловый номер свидетельство

ИНН — Идентификационный номер налогоплательщика. Специальный код, состоящий из двенадцати арабских цифр. Присваивается налогоплательщикам — физическим лицам на основании Налогового Кодекса Российской Федерации, с года. ИНН присваивается всем налогоплательщикам в государстве. На это не требуется согласия гражданина. При этом декларируется добровольность присвоения налогового номера. По номеру, компьютеризированному бюрократическому механизму проще вести учет и контроль поступающих, в виде налогов от населения, средств в казну.

ИНН — идентификационный номер налогоплательщика может потребоваться при приеме на работу. Работодатель, по закону, является налоговым агентом. Иными словами, организация в которую трудоустроился гражданин обязана рассчитывать и выплачивать в бюджет все налоги на заработную плату. По Трудовому Кодексу, работодатель не имеет права требовать предоставления ИНН — это с юридической стороны.

В ТК предусмотрен список документов, которые необходимо предоставить при приеме на работу. ИНН в этот список не включен. ИНН в обязательном порядке присваивается индивидуальному предпринимателю. В этом случае предприниматель самостоятельно исчисляет и выплачивает все необходимые налоги. ХХ — первые две цифры означают номер субъекта федерации республика, край, область или город федерального значения.

KK — последние две цифры высчитываются по специальной формуле и называются — контрольные цифры. Свидетельство о постановке на налоговый учет физического лица в налоговом органе на территории Российской Федерации. Это официальный документ, он имеет собственный номер и серию.

Заверен подписью и печатью налоговой службы. Свидетельство выдается в налоговой инспекции по месту жительства налогоплательщика. В отличии от номера и серии паспорта, которые могут быть изменены в связи с получением нового документа, ИНН не меняется. В наше время всем людям, без исключения, присваивается идентификационный номер налогоплательщика ИНН , который в обязательном порядке требуется при устройстве на работу в организации и структуры всех уровней; от государственных до частных, при открытии расчётного счёта в банке, при регистрации ИП и т.

Все материалы сайта защищены авторским правом Средство массовой информации «БизнесГарант» зарегистрировано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций Заказать обратный звонок Оставьте ваши контакты, и наш менеджер свяжется с Вами в ближайшее время.

Все виды юридических услуг в Москве и Московской области Время работы: Инструкция по увеличению уставного капитала в ООО Инструкция по изменению состава учредителей ООО Реорганизация пошаговая инструкция Старые не действующие формы заявлений о гос. Статьи Контакты. Поиск по сайту.

Электронные сервисы ФНС Реестры государственных учреждений Классификаторы Росстата Получение документов о регистрации компании Адреса государственных учреждений и служб Просто полезная информация и сведения Порядок предъявления и приема заявлений и жалоб в суде.

Зачем нужен ИНН в повседневной жизни ИНН — идентификационный номер налогоплательщика может потребоваться при приеме на работу. YY — вторые две цифры — это номер налоговой инспекции. Какие документы подтверждают наличие ИНН у гражданина Свидетельство о постановке на налоговый учет физического лица в налоговом органе на территории Российской Федерации. В этом документе указаны: Фамилия, имя и отчество налогоплательщика.

Дата рождения. Место рождения. ИНН и дата постановки налогоплательщика на учет. Где узнать свой или чужой ИНН? Поделиться в социальных сетях:. Заказать услугу. Я согласен на обработку персональных данных. Консультация по услуге. Все материалы сайта защищены авторским правом Средство массовой информации «БизнесГарант» зарегистрировано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций.

Заказать обратный звонок.

Как узнать инн физического лица по паспорту без даты рождения

Идентификационный номер налогоплательщика, или ИНН, — это значный номер, который вы или ваш работодатель за вас используете для уплаты налогов. Он также понадобится, чтобы проверить , нет ли у вас неуплаченных налогов, и если вы решите зарегистрироваться как индивидуальный предприниматель. Если вы живете не по месту регистрации и подаете документы по почте, сообщите в налоговую адрес вашего фактического места жительства и телефон для связи. Свидетельство ИНН вам вышлют заказным письмом на указанный адрес. Свидетельство ИНН будет готово в течение пяти рабочих дней после того, как налоговая получит пакет документов. Если ребенку 14 лет или больше — а значит, у него уже есть паспорт гражданина РФ — ИНН для него оформляется точно так же, как и для взрослого.

Как узнать инн по номеру паспорта

Нужен идентификационный номер, но под рукой нет паспортных данных! Копия паспорта РФ или другого удостоверяющего документа, содержащего сведения об адресе регистрации лица. При отсутствии информации об адресе регистрации, необходимо также приложить нотариально заверенную копию документа, содержащего в себе сведения об адресе регистрации. Если лицо, получающее свидетельство о присвоении кода налогоплательщика, не проживает по адресу регистрации, налоговый инспектор может потребовать указать также сведения об адресе проживания и номере телефона для связи. Дорогие читатели!

Как получить и узнать ИНН

Порядок предъявления и приема заявлений и жалоб в суде ИНН — Идентификационный номер налогоплательщика. Специальный код, состоящий из двенадцати арабских цифр. Присваивается налогоплательщикам — физическим лицам на основании Налогового Кодекса Российской Федерации, с года. ИНН присваивается всем налогоплательщикам в государстве. Дорогие читатели! Наши статьи рассказывают о типовых способах решения юридических вопросов, но каждый случай носит уникальный характер. Если вы хотите узнать, как решить именно Вашу проблему — обращайтесь в форму онлайн-консультанта справа или звоните по телефонам, представленным на сайте. Это быстро и бесплатно! Как узнать свой ИНН?

Как узнать номер свидетельства о регистрации ип по инн

Невозможно в наше время произвести впечатление успешного и компетентного человека без знания о значении, обрушившихся на нас в последнее время просто лавиной, экономических и политических понятий и аббревиатур. Регистрационный номер ПФР — это номер, который присваивается при постановке на учет Пенсионным Фондом России каждому плательщику страховых взносов, а именно — юридическим лицам, индивидуальным предпринимателям, частным детективам, главам фермерских хозяйств. Как только данные о новом плательщике поступают от регистрирующего налогового органа, Отделение в течение 5 дней на основании этих данных присваивает страхователю свой номер ПФР. Также ПФР обязан в течении 5 дней после присвоения регистрационного номера направить по почте страхователю уведомление о свершившейся процедуре регистрации и извещение, которое содержит не только регистрационный номер, но и всяческую полезную информацию о порядке и сроках платежей на обязательное пенсионное и медицинское страхование. Первые 3 цифры обозначают регион РФ, в котором плательщик встал на учет. Вторая группа цифр — код района этого региона, то есть И третья группа из 6 цифр — порядковый номер регистрации Вашей организации, который ей присвоило районное Управление Пенсионного фонда при постановке на учет.

Приложение требует ввода персональных данных, которые будут переданы на сервер ФНС России. Эти данные могут быть переданы Федеральной налоговой службе ФНС России , территориальным налоговым органам, подведомственным организациям и организациям, привлекаемым на контрактной основе, на обработку, в том числе автоматизированную, своих персональных данных в соответствии с Федеральным законом от

ИНН — это идентификационный номер налогоплательщика, который налоговая инспекция присваивает физическим и юридическим лицам. Уникальный номер налогоплательщика необходим для того, чтобы отслеживать историю его налоговых отчислений, задолженностей перед бюджетом, сдачу отчетности. Обычные граждане хоть и не обязаны его иметь, но тоже сталкиваются с тем, что ИНН запрашивают при устройстве на работу, обращении в банк, совершении сделок.

Номер свидетельства ИП где посмотреть

.

.

.

.

.

ВИДЕО ПО ТЕМЕ: ИНН ПРИСВОЕН БЕЗ МОЕГО ВЕДОМА???

Свидетельство о государственной регистрации ИП и постановке на учет

При успешной регистрации человека в качестве индивидуального предпринимателя учетные органы были обязаны в 2016 году выдать ему свидетельство о государственной регистрации. Но как выглядит свидетельство о государственной регистрации ИП 2020 года? Правда ли, что в 2017 году свидетельство отменили? Ниже мы узнаем ответы на эти вопросы.

Свидетельство о госрегистрации ИП в 2019 году

В 2016 году правительство издало указ, согласно которому свидетельство о госрегистрации ИП в 2017 году выдаваться не будет. Поэтому многие вопросы (например, как получить свидетельство ИП или как восстановить свидетельство ИП при утере) теперь потеряли смысл. Изменения коснулись также и свидетельства о постановке на учет. Теперь свидетельство о постановке на учет в налоговом органе ИП оформляются без использования стандартизированных типографских бланков. Иными словами, в 2017 году правительство уменьшило количество бюрократии, упростив тем самым себе и индивидуальным предпринимателями жизнь.

Впрочем, у многих людей могут остаться вопросы. Например, где посмотреть номер свидетельства о регистрации ИП и как узнать номер свидетельства ИП по ИНН, который указывается в налоговых декларациях? Раньше этот номер можно было узнать, заказав выписку из ЕГРИП в отделении Налоговой службы в своем районе. Также номер можно было узнать при помощи электронного запроса через официальный сайт ФНС. Теперь, по всей видимости, новым индивидуальным предпринимателям этот номер не будет выписываться; индивидуальные предприниматели, которые зарегистрировали свою деятельность до 2017 года, могут указывать в налоговых декларациях этот номер, однако в этом нет необходимости.

Вывод

В 2016 году при оформлении индивидуального предпринимательства и постановке на налоговый учет предпринимателю вручалось свидетельство о государственной регистрации ИП. Однако правительство посчитало, что в этом документе больше нет нужды, поэтому в 2017 году эти свидетельства были отменены. ИП, действующий на основании свидетельства, может заниматься своей деятельностью и без наличия этого документа.

Также правительство внесло и другие изменения. Например, свидетельство о постановке на учет в налоговом органе сохранилось, однако теперь для его оформления не требуется специальный типографских бланк. Эти решения заметно упростили предпринимателям жизнь.

 

как узнать, понятие и расшифровка

Начиная свой бизнес, каждый новоиспеченный предприниматель сталкивается с большим количеством документации и различными отчетностями. Ему присваиваются разные номера и коды. Давайте разберемся в них по порядку.

Наиболее важным номером является ОГРНИП, без которого нельзя обойтись ни в одной декларации, заявлении и пр. Подобный идентификатор несет в себе много полезной информации о его владельце – предпринимателе.

Поэтому данная статья заинтересует и уже зарегистрированных индивидуальных предпринимателей, и новичков, которые только планируют открыть свое дело.

Содержание статьи

Что такое ОГРНИП и для чего он нужен ИП?

Аббревиатура ОГРНИП расшифровывается как основной государственный регистрационный номер индивидуального предпринимателя. Каждый индивидуальный предприниматель (далее – ИП) во время государственной регистрации и после внесения в Единый государственный реестр сведений о нем, получает в налоговой инспекции ОГРНИП. Он присваивается один раз и не подлежит изменению.

Подобный номер и реестр создан и для юридических лиц – ОГРН. Они подобны по своей сути, но имеют некоторые формальные отличия.

Единый реестр как юридических лиц, так и индивидуальных предпринимателей, их регистрационные номера созданы для систематизации во Всероссийской базе данных, которая предоставляет возможность проверки добросовестности контрагента и информации о нем. Налоговые органы контролируют их деятельность при помощи ОГРН и отслеживают регистрацию новых предпринимателей и юридических лиц.

Этот идентификатор имеет огромное значение, поскольку используется как регистрационный номер дела для индивидуального предпринимателя. Обязательное указание на ОГРНИП должно содержаться в любой записи госреестра на данного предпринимателя: в свидетельствах или иных документах, которые подтверждают внесение какой-либо информации в государственный реестр, а также используется в тех документах, которые связаны с предпринимательской деятельностью. Обычно номер указывается рядом с фамилией, именем и отчеством бизнесмена.

Расшифровка номера

ОГРНИП состоит из 15 символов, каждый из которых имеет определенное назначение:

  • Первый знак – тройка или четверка. 3 означает, что данный государственный регистрационный номер ИП относится к основному, 4 – к другому государственному регистрационному номеру записи.
  • Второй и третий символы указывают на год (последние его цифры), в котором запись об ИП внесена в соответствующий реестр.
  • Четвертый и пятый знаки представляют собой субъект Российской Федерации. Код каждого из субъектов установлен ФНС России.
  • Шестая и седьмая цифра – код отделения налоговой инспекции, которая зарегистрировала индивидуального предпринимателя.
  • С восьмого по четырнадцатый символ – непосредственный номер предпринимателя. Они распределяются по порядку в течение года.
  • Пятнадцатый – последний знак, равный последней цифре остатка от деления четырнадцатизначного числа на 13.

Такое комбинирование цифр невозможно повторить, поэтому номер уникален у каждого бизнесмена. Одинаковых номеров у двух предпринимателей из Российской Федерации быть не может.

Проверка путем деления важна для контрагентов. Прежде чем заключать договора, осуществлять любые виды сделок, представляются документы предпринимателя и указывается его ОГРНИП. Первое, что следует сделать – проверить количество цифр в номере, а затем пятнадцатый символ. Это позволит избежать мошенников и подставных предпринимателей. Не следует забывать и о проверке данных в интернете и судебном реестре. Об этом в следующих пунктах статьи.

Где его взять и как проверить?

ОГРНИП присваивается индивидуальному предпринимателю во время узаконивания его деятельности или же после внесения его данных в Единый госреестр предпринимателей. Номер предпринимателю присваивается налоговой инспекцией.

Многие начинающие бизнесмены задаются вопросом – какой документ подтверждает его ОГРНИП. Отдельного документа нет, данный идентификатор указывается в специальном выданном свидетельстве индивидуального предпринимателя. Также узнать его можно в ЕГРИП или же запросить справку из отдела статистики.

Получить выписку из ЕГРИП довольно просто – посмотреть на сайте или отправить запрос в налоговую инспекцию. В течение недели вам выдадут выписку.

Учитывайте, что данная процедура не бесплатная, а размер государственной пошлины зависит от скорости ее выполнения. За справку статистики также придется уплатить госпошлину.

Проверить правильность ОГРНИП несложно, нужно произвести небольшой математический расчет, воспользовавшись калькулятором. Последовательность операций такая:

  1. Первые четырнадцать знаков делим на число 13 и округляем то, что получилось, убрав остаток.
  2. Полученное число умножаем на 13.
  3. Из числа, полученного в результате операции 1, вычитаем число, полученное во 2-ой операции.
  4. Данная разница должна быть равна пятнадцатому знаку – контрольному. Если все верно, значит ОГРНИП корректный.

Также в интернете есть различные сервисы, позволяющие сэкономить время. При помощи калькулятора они сами проверят корректность ОГРНИП, достаточно просто вбить все пятнадцать символов и подождать минуту.

Что такое ОГРН организации?

Как уже упоминалось ранее, ОГРН юридических лиц – основной государственный регистрационный номер предприятия. В нем содержатся все сведения об организации. ОГРН присваивается юридическим лицам во время внесения записи о госрегистрации в ЕГРЮЛ и выдается налоговым органом.

Информация об ОГРН содержится во всех реестрах юридического лица, при внесении в них изменений, в любых документах предприятия. ОГРН также указывается на гербовой печати юр. лица.

В отличие от ИП, идентификатор юридических лиц состоит из 13 цифр:

  • первая сообщает об отнесению к основному или иному регистрационному номеру;
  • вторая и третья – год внесения записи в реестр;
  • четвертая, пятая определяют номер субъекта РФ;
  • шестой и седьмой знак соответствуют коду налоговой инспекции, выдавшей ОГРН;
  • восьмая-двенадцатая означает сам номер по порядку, внесенный в реестр;
  • тринадцатый символ – контрольный.

Таким образом, ОГРН содержит меньше цифр, нежели ОГРНИП. Вместо семи цифр номер записи состоит из пяти. Это связано с меньшим количеством юридических лиц, чем ИП, поскольку проще зарегистрироваться индивидуально, чем создавать юр. лицо.

Контроль последнего символа осуществляется путем деления на 11, а не на 13. Алгоритм самой проверки остается неизменным. ОГРН с номером 2 обозначает, что была произведена регистрация изменений в информацию о юридическом лице.

Как удостовериться в подлинности ОГРН контрагента?

Различные реквизиты ИП тесно связаны, поэтому доступны различные сервисы, позволяющие найти предпринимателя по ОГРНИП или же вычислить ОГРНИП по ИНН (идентификационному номеру). Точно также, при помощи ОГРН юридического лица, осуществляется и его проверка.

Проверка контрагента чрезвычайно важна, поэтому нужно не только убедиться в корректности указанного ОГРН, но и проверить остальные данные. Конечно, самый удобный и быстрый способ – воспользоваться интернетом. На сайте Федеральной налоговой службы содержится раздел, посвященный и индивидуальным предпринимателям, и юридическим лицам. Именно здесь можно найти предпринимателя или организацию, зная ОГРН.

Более сложным способом, предоставляющим стопроцентную гарантию, является обращение в налоговую службу, которая подтвердит данные о вашем контрагенте соответствующей выпиской. Также можно по фамилии предпринимателя узнать его ОГРНИП.

Для чего же следует так тщательно изучать данные об ОГРН?

  • чтобы удостовериться в самом факте существования ИП или юр. лица;
  • проверить достоверность подаваемых контрагентом документов;
  • проверить  полномочия директора юр. лица и юридический адрес;
  • проверить отсутствие в «черных списках» налоговой службы;
  • проверить ИНН.

Обращаем ваше внимание, что код налоговой инспекции в ИНН и ОГРН может быть разным, это не означает наличие подделки, так как их выдают разные налоговые: ИНН – местная, а ОГРН – межрайонная.

Как узнать свой номер СНИЛС

Полис пенсионного страхования СНИЛС является одним из обязательных документов граждан, проживающих в России. Его выдают малолетним детям, пенсионерам и тем, кто получает на свой лицевой счет отчисления от работодателей. Когда появляется необходимость предоставить номер пенсионного полиса в определенный орган, возникает вопрос о том, как узнать свой СНИЛС. Есть несколько способов сделать это, о которых и рассказано в статье.

СНИЛС — что это такое и зачем нужен?

Сокращение СНИЛС означает «страховой номер индивидуального лицевого счёта». На нем отражаются данные о рабочем стаже и взносах, которые начисляют на имя человека. Трудовая пенсия россиян рассчитывается на основе именно этого важного документа.

Каждый номер СНИЛС является уникальным и присваивается только 1 гражданину. Выглядит как зеленая карточка, номер СНИЛС — это 11-значное число, 9 цифр которого — это номер документа и два остальных — проверочный номер, рассчитываемый по специальному алгоритму.

Уникальный номер может получить каждый человек в Российской Федерации

Зачем нужен страховой номер

  • Для учета отчислений работника, начисляемых в счет будущей пенсии.
  • Для получения сведений о человеке при взаимодействии с другими гос. органами.
  • Для создания учетной записи на оф. сайте gosuslugi.ru.
  • Для выдачи УЭК (универсальной электронной карты).
  • Для начисления соц. выплат.
  • Для получения государственных льгот.

Как получить СНИЛС

Официально не работающие граждане получить СНИЛС могут в Пенсионном Фонде по адресу их прописки. Для этого потребуется заполнить анкету (АДВ-1) и предоставить свой паспорт. Через 2 недели с момента подачи документов свидетельство оформляется и выдается на руки гражданину.

При официальном трудоустройстве работодатель должен сам оформить СНИЛС своему работнику в период 14 дней с даты его принятия на работу. Для этого также заполняется анкета и предъявляется паспорт. Через 3 недели документ оформляется в ПФР и выдается работодателю, а он в свою очередь обязан в течение 7 дней после получения СНИЛС передать его владельцу.

При утрате документа или смене фамилии потребуется обращение в ПФР по месту вашей прописки и подача заявление о смене или восстановлении СНИЛС или обращение с той же просьбой к своему работодателю. Номер документа при перевыпуске остается прежним.

Как узнать свой СНИЛС: все доступные способы

На официальном сайте ПФР о том, как узнать СНИЛС сказано следующее:

Номер СНИЛС указан на карте, также за информацией можно обратиться в ближайшее отделение Пенсионного Фонда.

Есть ли другие способы проверки? Да, есть, и давайте их разберем подробнее.

По номеру паспорта

При использовании этого способа подразумевается, что вы должны прийти в офис ПФР со своим паспортом и узнать интересующую информацию у его сотрудников.

Но узнать номер свидетельства в режиме online по номеру своего паспорта официально не получится, т.к. все сведения об этом документе хранятся именно в ПФР, который не открывает доступ к своей информации через интернет.

Узнать онлайн

Проверить номер СНИЛС онлайн можно на сайте gosuslugi.ru в разделе «Пенсии, пособия и льготы». Там запрашивается данные о состоянии вашего лицевого счета.

В присланном вам отчете, помимо состояния вашего л/с, будет указан и СНИЛС, закрепленный за вашей фамилией.

Внимание: этот способ подходит только тем, кто уже зарегистрировался на госуслугах (а как вы знаете, регистрация там проходит как раз по СНИЛС).

По ИНН

Проверить свой СНИЛС можно только при предъявлении российского паспорта и лишь для себя. Зная только номер ИНН, проверить номер свидетельства нельзя по причине того, что ПФР не выдает свои данные третьим лицам.

Узнать номер своего СНИЛС можно только при личном обращении в ПФР либо на портале Госуслуг

Другими словами, ни по интернету, ни в ПФР, ни в каких-либо других государственных службах и органах СНИЛС по ИНН узнать не выйдет. Причем, любые действия и услуги подобного характера приравниваются к незаконным.

Еще один вариант, как можно узнать СНИЛС для тех, кто работает официально — это пойти в бухгалтерию своей фирмы и спросить об этом у бухгалтера.

Как узнать сумму пенсионных накоплений по страховому номеру

Услуга проверки суммы пенсионных накоплений есть на сайте Госуслуги.ру, и появилась она относительно недавно.

Сумму своих пенсионных накоплений можно узнать, только лишь зная номер страхового номера

Чтобы узнать эту сумму по СНИЛС, нужно:

  1. Зайти на gosuslugi.ru, и выбрать пункт «Пенсионные накопления» в каталоге предложенных услуг.
  2. Затем нужно сделать запрос расширенной выписки из ПФР.
  3. Процесс формирования выписки занимает несколько минут, а по окончании процедуры вам пришлют письмо по e-mail, где будут содержаться нужные вам данные (сумма накоплений).

Выданную выписку вы можете распечатать. Клиенты НПФ (негосударственных пенсионных фондов) не имеют доступа к данной услуге.

Видео: всё о страховом номере индивидуального лицевого счёта

Процедура проверки СНИЛС и пенсионных накоплений, как вы могли заметить, проста и проводится без сбора справок и других бумаг. Помните о том, что есть только 2 законных и простых способа узнать нужную вам информацию — это личное обращение в Пенсионный Фонд России и онлайн запрос на официальном сайте госуслуг. Все это бесплатно и занимает мало времени.

Оцените статью: Поделитесь с друзьями!

ИНН для ИП: как получить, проверить, заменить

Налоговой службой России каждый житель страны посчитан и имеет идентификационный номер налогоплательщика (ИНН). Он является также одним из основных документов любого индивидуального предпринимателя. Как получить ИНН ИП?

Что такое ИНН?

Что собой представляет идентификационный номер налогоплательщика? Это набор из 12 арабских цифр, каждая из которых имеет свое значение.

Если раньше ИНН вы не имели, что, конечно, практически фантастика, цифровой налоговой код присвоят вам при регистрации ИП. Если, как у любого законопослушного гражданина, он у вас есть – то будете использовать в дальнейшем уже имеющийся. ИНН индивидуального предпринимателя и налоговой код физического лица – это одно и то же. А вот ИНН юридического лица, если вы захотите открыть в дальнейшем ООО или АО, – это абсолютно другой документ.

Как получить?

Если предположить, что ИНН у вас все-таки нет, то порядок действий такой:

  1. Готовим документы для регистрации ИП.
  2. Пишем заявление и сдаем в налоговую пакет документов.
  3. В течение 5 рабочих дней забираем следующие документы:
  • свидетельство о постановке на учет;
  • уведомление о факте постановки на учет физического лица;
  • свидетельство, которое подтверждает, что вы являетесь ИП.

Теперь ИНН, по которому будете работать, у вас есть.

Менять или не менять?

Нужно ли в течение жизни менять ИНН? Замена самого номера ИНН у предпринимателя не требуется, даже если вы меняете любые личные данные: место жительства, фамилию, имя, отчество, пол, дату и место рождения. Можно лишь заменить сам документ, то есть получить новое свидетельство о постановке на учет в налоговом органе с измененными данными, но с прежним номером. Но эта процедура не является обязательной, то есть вы вполне можете работать и со старым документом.

Замена самого номера ИНН у предпринимателя не требуется, даже если вы меняете любые личные данные.

Меняют ИНН на основании вашего заявления в налоговую. Заполнить заявление можно также на официальном сайте ФНС России. Госпошлиной обмен не облагается, так как это не повторная выдача документа.

Обо всем, что нужно знать про ИНН, вы в курсе. Постарайтесь не упустить ничего, даже в мелочах.

SSL и SSL-сертификаты для начинающих

Secure Sockets Layer (SSL) и Transport Layer security (TLS) — это протоколы, которые обеспечивают безопасную связь по компьютерной сети или каналу.

Они обычно используются при просмотре веб-страниц и электронной почте.

В этом туториале мы посмотрим:

  • TLS и SSL
  • Открытый и закрытый ключи
  • Зачем нужны сертификаты и для чего они нужны
  • Как получить цифровой сертификат и понять различные распространенные типы сертификатов.
Что такое TLS

TLS основан на SSL и был разработан как замена в ответ на известные уязвимости в SSLv3.

SSL — это широко используемый термин, который сегодня обычно относится к TLS.

Обеспечена безопасность

SSL / TLS обеспечивает шифрование данных, целостность данных и аутентификацию.

Это означает, что при использовании SSL / TLS вы можете быть уверены, что

  • Ваше сообщение никто не читал
  • Ваше сообщение никто не изменил
  • Вы общаетесь с предполагаемым человеком (сервером)

При отправке сообщения между двумя сторонами возникают две проблемы, которые необходимо решить.

  • Как узнать, что сообщение никто не прочитал?
  • Как узнать, что никто не менял сообщение?

Решения этих проблем:

  • Зашифруйте его. — это делает контент нечитаемым, так что для любого, кто просматривает сообщение, это просто тарабарщина.
  • Подпишите — это позволяет получателю быть уверенным, что это вы отправили сообщение и что сообщение не было изменено.

Оба эти процесса требуют использования ключей.

Эти ключи представляют собой простые числа (обычно 128 бит), которые затем объединяются с сообщением с использованием определенного метода, обычно известного как алгоритм, например RSA, чтобы либо зашифровать, либо подписать сообщение.

Симметричные ключи и открытые и частные ключи

Практически все используемые сегодня методы шифрования используют открытых и закрытых ключей .

Они считаются намного более безопасными, чем старые симметричные ключи.

С симметричным ключом ключ используется для шифрования или подписи сообщения, а тот же ключ используется для дешифрования сообщения.

Это то же самое, что и ключи (двери, ключи от машины), с которыми мы имеем дело в повседневной жизни.

Проблема с этим типом расположения ключей в том, что если вы потеряете ключ, любой, кто его найдет, сможет открыть вашу дверь.

Для открытого и закрытого ключей используются два ключа , которые математически связаны (они принадлежат к паре ключей ), но отличаются друг от друга.

Это означает, что сообщение , зашифрованное открытым ключом , не может быть расшифровано тем же открытым ключом .

Для расшифровки сообщения вам потребуется закрытый ключ .

Если этот тип расположения ключей использовался в вашем автомобиле. Затем вы можете запереть автомобиль и оставить ключ в замке, так как тот же ключ не может отпереть автомобиль .

Этот тип расположения ключей очень безопасен и используется во всех современных системах шифрования / подписи.

Ключи и SSL-сертификаты

SSL / TLS использует систему с открытым и закрытым ключом для шифрования и обеспечения целостности данных.

Открытые ключи могут быть доступны любому, отсюда и термин открытый.

В связи с этим возникает вопрос о доверии, а именно:

Как узнать, что конкретный открытый ключ принадлежит тому физическому или юридическому лицу, которое он утверждает.

Например, вы получили ключ, утверждающий, что он принадлежит вашему банку.

Как узнать, что он принадлежит вашему банку?

Ответ — использовать цифровой сертификат.

Сертификат служит той же цели, что и паспорт в повседневной жизни.

Паспорт устанавливает связь между фотографией и человеком, и эта ссылка проверена доверенным органом (паспортный стол).

Цифровой сертификат обеспечивает связь между открытым ключом и объектом (бизнес, доменное имя и т. Д.), Который был проверен ( подписан ) доверенной третьей стороной (центр сертификации )

Цифровой сертификат обеспечивает удобный способ распространения доверенных открытых ключей шифрования .

Получение цифрового сертификата

Вы получаете цифровой сертификат от признанного центра сертификации (CA). Так же, как паспорт в паспортном столе.

На самом деле процедура очень похожа.

Вы заполняете соответствующие формы, добавляете свои открытые ключи (это просто числа) и отправляете их / их в центр сертификации. (это запрос сертификата )

Центр сертификации выполняет некоторые проверки (в зависимости от центра) и отправляет вам обратно ключи, содержащиеся в сертификате .

Сертификат , подписанный центром сертификации , и это то, что гарантирует ключи.

Теперь, когда кому-то нужны ваши открытые ключи, вы отправляете им сертификат, они проверяют подпись на сертификате, и если она проверяет, то они могут доверять вашим ключам .

Пример использования

Для иллюстрации рассмотрим типичный веб-браузер и соединение с веб-сервером с использованием SSL . ( https ).

Это соединение используется в Интернете для отправки электронной почты в Gmail и т. Д., А также при онлайн-банкинге, покупках и т. Д.

  1. Браузер подключается к серверу с помощью SSL (https)
  2. Сервер отвечает сертификатом сервера, содержащим открытый ключ веб-сервера.
  3. Браузер проверяет сертификат, проверяя подпись ЦС. Для этого сертификат CA должен находиться в надежном хранилище браузера (см. Далее)
  4. Браузер
  5. использует этот открытый ключ для согласования сеансового ключа с сервером.
  6. Веб-браузер и сервер шифруют данные через соединение с помощью сеансового ключа .

Вот видео, в котором все вышесказанное рассматривается более подробно:

Типы цифровых сертификатов

Если вы пытаетесь приобрести сертификат для веб-сайта или использовать для шифрования MQTT, вы столкнетесь с двумя основными типами:

  • Сертификаты с подтверждением домена (DVC)
  • Сертификаты расширенной проверки (EVC)

Разница между двумя типами заключается в степени доверия к сертификату, который требует более строгой проверки.

Уровень шифрования идентичен

Сертификат , подтвержденный доменом ( DV ) — это цифровой сертификат X.509 , обычно используемый для безопасности транспортного уровня (TLS), где личность заявителя была подтверждена путем подтверждения некоторого контроля над доменом DNS. Вики

Процесс проверки обычно полностью автоматизирован, что делает их самой дешевой формой сертификата. Они идеально подходят для использования на таких веб-сайтах, как этот, которые предоставляют контент, и не используются для конфиденциальных данных.

Сертификат расширенной проверки (EV) — это сертификат, используемый для веб-сайтов HTTPS и программного обеспечения, подтверждающий, что юридическое лицо контролирует веб-сайт или программный пакет. Получение сертификата EV требует проверки личности запрашивающего объекта центром сертификации (CA).

Они, как правило, дороже, чем сертификаты, подтвержденные доменом, поскольку требуют ручной проверки.

Ограничения на использование сертификатов — подстановочные знаки и SAN

Обычно сертификат действителен для использования на одном полном доменном имени ( FQDN ).

Это сертификат, приобретенный для использования на www.mydomain.com нельзя использовать на mail.mydomain.com или www.otherdomain.com.

Однако, если вам нужно защитить несколько поддоменов, а также главное доменное имя, вы можете приобрести сертификат Wildcard.

Подстановочный сертификат охватывает всех поддоменов под определенным доменным именем.

Например, подстановочный сертификат для *.mydomain.com можно использовать на:

  • mail.mydomain.com
  • www.mydomain.com
  • ftp.mydomain.com
  • и т. Д.

Его нельзя использовать для защиты одновременно mydomain.com и myotherdomain.com .

Чтобы охватить несколько разных доменных имен одним сертификатом, вы должны приобрести сертификат с SAN (альтернативное имя субъекта).

Обычно они позволяют защитить 4 дополнительных доменных имени в дополнение к основному доменному имени.Например, вы можете использовать тот же сертификат на:

  • www.mydomain.com
  • www.mydomain.org
  • www.mydomain.net
  • www.mydomain.co
  • www.mydomain.co.uk

Вы также можете изменить зарегистрированное доменное имя, но вам потребуется перевыпустить сертификат.

Зачем нужны коммерческие сертификаты?

очень просто создать собственные SSL-сертификаты и ключи шифрования с помощью бесплатных программных инструментов.

Эти ключи и сертификаты так же безопасны , как и коммерческие, и в большинстве случаев могут считаться даже более безопасными.

Коммерческие сертификаты необходимы, когда вам нужна широкая поддержка вашего сертификата.

Это связано с тем, что поддержка основных коммерческих центров сертификации встроена в большинство веб-браузеров и операционных систем.

Если бы я установил на этот сайт свой собственный сертификат, когда вы его посетили, вы бы увидели сообщение, подобное приведенному ниже, о том, что этому сайту не доверяют.

===============

Кодировки сертификатов и расширения файлов

Сертификаты можно закодировать как:

  • Двоичные файлы
  • Файлы ASCII (base64)

Общие используемые расширения файлов:

  • .DER
  • .PEM (электронная почта с улучшенной конфиденциальностью)
  • .CRT
  • .CERT

Примечание: Нет реальной корреляции между расширением файла и кодировкой. Это означает, что файл .crt может быть либо файлом в кодировке .der , либо файлом в кодировке .pem .

Вопрос — Как узнать, есть ли у вас файл в кодировке .der или .pem ?

Answer- Вы можете использовать openssl tools , чтобы найти тип кодировки и преобразовать между кодировками.См. Это руководство — DER против CRT против CER против сертификатов PEM

Примеры сертификатов

Поскольку сертификаты в формате .pem представляют собой файлы ASCII, их можно прочитать с помощью простого текстового редактора.

Важно отметить, что они начинаются и заканчиваются строками Начальный сертификат и Конечный сертификат .

Сертификаты

могут храниться в отдельном файле или вместе в одном файле, который называется пакетом .

Пакет корневого ЦС и хэшированные сертификаты

Хотя корневые сертификаты существуют в виде отдельных файлов, их также можно объединить в пакет.

В системах Linux на базе Debian эти корневые сертификаты хранятся в папке / etc / ssl / certs вместе с файлом с именем ca-Certific.crt .

Этот файл представляет собой набор всех корневых сертификатов в системе.

Он создается системой и может быть обновлен при добавлении новых сертификатов с помощью команды update-ca-Certific .Смотрите здесь

Файл ca-certifcates.crt выглядит так:

Папка сертификатов также содержит каждый отдельный сертификат или символическую ссылку на сертификат вместе с хешем.

Хеш-файлы создаются командой c_rehash и используются, когда указан каталог, а не файл. Например, инструмент mosquitto_pub может быть запущен как:

 mosquitto_pub --cafile /etc/ssl/certs/ca-certificates.crt

или же

mosquitto_pub --capath / etc / ssl / certs /
 

Корневые сертификаты, промежуточные сертификаты, цепочки и пакеты сертификатов.

Центр сертификации может создавать подчиненные центры сертификации, которые отвечают за выдачу сертификатов клиентам.

Чтобы клиент мог проверить подлинность сертификата, он должен иметь возможность проверять подписи всех центров сертификации в цепочке, это означает, что клиенту необходим доступ к сертификатам всех центров сертификации в цепочке.

На клиенте может уже быть установлен корневой сертификат, но, вероятно, не сертификаты промежуточных центров сертификации.

Таким образом, сертификаты часто предоставляются как часть пакета сертификатов .

Этот пакет будет состоять из всех сертификатов CA в цепочке в одном файле, обычно называемом CA-Bundle.crt .

Если ваши сертификаты отправляются индивидуально, вы можете создать свой собственный комплект, выполнив следующие действия.

Видео

Общие вопросы и ответы

Q- Что такое надежный магазин?

A- Это список сертификатов CA, которым вы доверяете.Все веб-браузеры поставляются со списком доверенных центров сертификации.

Q- Могу ли я добавить свой собственный ЦС в надежное хранилище моего браузера?

A- Да в Windows, если вы щелкните правой кнопкой мыши сертификат, вы должны увидеть вариант установки

Q- Что такое самоподписанный сертификат?

A- Самоподписанный сертификат — это сертификат, подписанный тем же лицом, которое проверяет сертификат. Это как если бы вы утверждали собственное заявление на паспорт. см. вики

Q Что такое отпечаток сертификата?

A- Это хэш фактического сертификата, который может использоваться для проверки сертификата без необходимости установки сертификата CA.

Это очень полезно на небольших устройствах, у которых мало памяти для хранения файлов CA.

Он также используется при проверке сертификата вручную.

Подробнее см. Здесь

Q- Что произойдет, если сертификат сервера будет украден?

A- Может быть отозван. Существует несколько способов, которыми клиент (браузер) может проверить, отозван ли сертификат, см. Здесь

Ресурсы

Связанные руководства:

Оцените? И используйте Комментарии, чтобы сообщить мне больше

[Всего: 78 Среднее: 4.7/5] Обзор

SSL-сертификатов | Балансировка нагрузки | Google Cloud

Transport Layer Security (TLS) — это протокол шифрования, используемый в SSL. сертификаты для защиты сетевых коммуникаций.

Google Cloud использует сертификаты SSL для обеспечения конфиденциальности и безопасности клиента. к балансировщику нагрузки. Для этого балансировщик нагрузки должен иметь SSL. сертификат и соответствующий закрытый ключ сертификата. Коммуникация между клиентом и балансировщиком нагрузки остается закрытым — неразборчиво для любого третья сторона, у которой нет этого закрытого ключа.

Балансировщики нагрузки

В следующей таблице приведены типы балансировщиков нагрузки Google Cloud. которые требуют сертификатов SSL.

Тип балансировщика нагрузки Протокол от клиента к балансировщику нагрузки
Внутренние балансировщики нагрузки HTTPS HTTPS или HTTP / 2
Внешние балансировщики нагрузки HTTPS HTTPS или HTTP / 2
Балансировщики нагрузки прокси SSL SSL (TLS)

Самоуправляемые и управляемые Google сертификаты SSL

Вы можете получить свои собственные самоуправляемых сертификатов или использовать сертификатов, управляемых Google, , которые Google получает и управляет для вас.

  • Самоуправляемые SSL-сертификаты — это сертификаты, которые вы получаете, предоставляете и обновите себя. Этот тип может быть любым из:

    • Проверка домена (DV)
    • Проверка организации (OV)
    • Сертификаты расширенной проверки (EV)

    Для получения дополнительной информации см. Открытый ключ. сертификат.

  • SSL-сертификаты, управляемые Google, — это сертификаты, которые Google Cloud получает и управляет вашими доменами, автоматически продлевая их.Сертификаты, управляемые Google, — это сертификаты проверки домена (DV). Они не демонстрируют идентичность организации или лица, связанного с с сертификатом, и они не поддерживают общие имена с подстановочными знаками.

Для внешнего балансировщика нагрузки HTTP (S) и балансировщика нагрузки прокси-сервера SSL можно указать Управляемые Google, самоуправляемые или комбинация обоих типов SSL-сертификатов. на одном целевом прокси. На сертификаты можно ссылаться в любом порядке. Для внутренний балансировщик нагрузки HTTP (S), необходимо использовать самоуправляемые сертификаты.

Для получения информации о настройке SSL-сертификатов для балансировщиков нагрузки см. следующие руководства:

Несколько сертификатов SSL

Вы можете настроить максимальное количество сертификатов SSL для каждого целевого HTTPS. или целевой SSL-прокси. Используйте несколько сертификатов SSL, когда вы обслуживаете несколько доменов, используя тот же IP-адрес и порт балансировщика нагрузки, и вы хотите использовать другой SSL сертификат для каждого домена.

Если вы укажете более одного сертификата SSL, первый сертификат в список SSL-сертификатов считается основным связанным SSL-сертификатом с целевым прокси.

Когда клиент отправляет запрос, балансировщик нагрузки использует указанное имя хоста SNI. клиентом, чтобы выбрать сертификат для использования при согласовании SSL связь.

По возможности балансировщик нагрузки выбирает сертификат, общее имя которого (CN) или альтернативное имя субъекта (SAN) совпадает с именем хоста SNI, которое уточняется заказчиком. RSA и ECDSA — это типы цифровых подписей, а клиентское программное обеспечение должно уметь их использовать.

Если ни один из доступных сертификатов не может быть выбран или клиент не может укажите имя хоста SNI, балансировщик нагрузки согласовывает SSL, используя основной сертификат (первый сертификат в списке).

Несколько сертификатов SSL (щелкните, чтобы увеличить)

Шифрование от балансировщика нагрузки до серверных модулей

Для получения информации по этой теме см. Шифрование бэкэнды.

Балансировщики нагрузки, сертификаты SSL и целевые прокси-серверы

SSL-сертификат Google Cloud ресурс содержит как закрытый ключ и сам сертификат SSL.

Целевые прокси-серверы представляют собой логическое соединение между балансировщиком нагрузки. интерфейс и его внутренняя служба (для балансировщиков нагрузки прокси SSL) или сопоставление URL-адресов (для HTTPS балансировщики нагрузки).

На следующей диаграмме показано, как целевой прокси и связанный с ним SSL сертификаты вписываются в архитектуру балансировки нагрузки.

Целевой прокси, сертификат SSL и другие компоненты балансировщика нагрузки (щелкните, чтобы увеличить)

Область действия сертификата SSL

Google Cloud имеет две области для ресурсов сертификатов SSL: региональную и Глобальный.

Примечание: Для внешних балансировщиков нагрузки HTTP (S) и балансировщиков нагрузки прокси SSL, глобальный сертификат SSL ресурсы требуются как на уровне Standard, так и на уровне Premium.Это означает, что в Стандартный уровень, правило региональной переадресации указывает на глобальный целевой прокси.

Целевые прокси

Сертификаты SSL

связаны со следующими типами целевых прокси:

Ограничения

  • Для каждого целевого прокси-сервера поддерживается ограниченное количество сертификатов SSL. Для получения дополнительной информации см. Ограничение для сертификатов SSL на целевой HTTPS или целевой SSL-прокси.

  • Для каждого сертификата, управляемого Google, поддерживается ограниченное количество доменов.Для получения дополнительной информации см. Ограничение на количество доменов на SSL, управляемый Google. сертификат.

  • При использовании сертификатов, управляемых Google, с балансировкой нагрузки прокси-сервера SSL, правило переадресации балансировщика нагрузки должно использовать TCP-порт 443 для управляемой Google сертификат будет обновляться автоматически.

  • Балансировщики нагрузки Google Cloud не поддерживают клиентские сертификаты аутентификация (взаимный TLS, mTLS).

  • SSL-сертификаты, управляемые Google, не поддерживают использование подстановочных знаков.

Что дальше

Попробуйте сами

Если вы новичок в Google Cloud, создайте учетную запись, чтобы оценить, насколько продукты работают в реальных сценариях. Новые клиенты также получают 300 долларов США в бесплатные кредиты для запуска, тестирования и развертывания рабочих нагрузок.

Начни бесплатно

Размещение нескольких SSL-сертификатов на одном IP-адресе с SNI

Обзор

Все наши услуги хостинга поддерживают расширение Server Name Indication (SNI) для протокола безопасности транспортного уровня.Это позволяет Apache использовать подлинные сертификаты SSL для сайтов, размещенных на общих IP-адресах. SNI помогает эффективно использовать ресурсы IPv4 и дает следующие преимущества:

  • Вы можете запустить любое количество сайтов SSL с независимыми сертификатами на одном IPv4-адресе.
  • Вы можете установить независимые SSL-сертификаты на каждом из ваших сайтов. Теперь нет необходимости создавать новую подписку. Каждая подписка может установить сертификат SSL, даже если на всем сервере есть только один общий IP-адрес.

Поддерживаемые браузеры

Для поддержки

SSL с SNI на общих IP-адресах необходимо, чтобы браузер пользователя поддерживал SNI. Его поддерживают большинство современных веб-браузеров (например, IE 7 и выше, Firefox, Opera и Chrome). Однако есть несколько исключений:

  • Любой браузер Internet Explorer в Windows XP
  • Chrome 5 и старше в Windows XP
  • Веб-браузер Blackberry
  • Телефоны Windows Mobile до версии 6.5
  • Браузер по умолчанию для мобильного телефона Android на ОС Android 2.х

Большинство этих исключений обнаруживаются, когда конечный пользователь запускает программное обеспечение, которое чрезвычайно устарело. Чтобы узнать больше о SNI и клиентском программном обеспечении, которое его поддерживает, см. Http://en.wikipedia.org/wiki/Server_Name_Indication.

SNI в сети

SNI был включен в Grid с сентября 2013 года. Это позволяет установить несколько SSL-сертификатов в одну службу хостинга Grid через панель управления каждого домена в AccountCenter.Для получения дополнительной информации см. Нашу статью об установке сертификата SSL.

SNI на DV сервере

SNI включен по умолчанию на всех серверах DV. На одном IP-адресе можно разместить несколько сертификатов SSL, установив их с помощью инструмента «Сайты и домены» в панели управления Plesk. Для получения дополнительной информации см. Нашу статью об установке сертификата SSL.

https — Можно ли иметь сертификат SSL для IP-адреса, а не для имени домена?

Ответ — да.Короче говоря, это сертификат альтернативного имени субъекта (SAN), который содержит IP-адреса, на которых вы обычно видите записи DNS. Тип сертификата не ограничивается общедоступными IP-адресами — это ограничение налагается только органом подписи, а не технологией. Я просто хотел прояснить этот момент. Я подозреваю, что вы действительно хотите избавиться от этого надоедливого небезопасного запроса на своих внутренних веб-сайтах и ​​устройствах без затрат и хлопот, связанных с предоставлением им DNS-имен, а затем платой за выдачу сертификата центру сертификации каждые год или два.Вы НЕ должны пытаться убедить мир, что ваш IP-адрес является авторитетным веб-сайтом, и люди должны чувствовать себя комфортно, предоставляя свою платежную информацию. Теперь, когда мы выяснили, почему ни одна уважаемая организация не хочет выпускать этот тип сертификата, давайте просто сделаем это сами с помощью самоподписанного сертификата SAN. Внутри у меня есть доверенный сертификат, который развертывается на всех наших хостах, затем я подписываю этот тип сертификата, и все устройства становятся доверенными. Это выходит за рамки вопроса, но я думаю, что это актуально для обсуждения, поскольку вопрос и решение идут рука об руку.Чтобы быть кратким, вот как сгенерировать индивидуальный самоподписанный сертификат SAN с IP-адресами. Разверните список IP-адресов, включив в него всю подсеть, и используйте один сертификат для всего.

  #! / Bin / bash
# using: OpenSSL 1.1.1c FIPS 28 мая 2019 г. / CentOS Linux, выпуск 8.2.2004

C = США; ST = замешательство; L = где угодно; O = Частная \ Подсеть; [email protected]
БИТЫ = 2048
CN = RFC1918
DOM = company.com
SUBJ = "/ C = $ C / ST = $ ST / L = $ L / O = $ O / CN = $ CN. $ DOM"

openssl genrsa -out ip.key $ BITS

SAN = '\ n [SAN] \ nsubjectAltName = IP: 192.168.1.0, IP: 192.168.1.1, IP: 192.168.1.2, IP: 192.168.1.3, IP: 192.168.1.4, IP: 192.168.1.5, IP: 192.168.1.6, IP: 192.168.1.7, IP: 192.168. 1.8, IP: 192.168.1.9, IP: 192.168.1.10 '

cp /etc/pki/tls/openssl.cnf /tmp/openssl.cnf
echo -e "$ SAN" >> /tmp/openssl.cnf

openssl req -subj "$ SUBJ" -new -x509 -days 10950 \
    -key ip.key -out ip.crt -batch \
    -set_serial 168933982 \
    -config /tmp/openssl.cnf \
    -расширения SAN

openssl x509 -in ip.crt -noout -text
  

Все Инфраструктура открытых ключей (PKI) — Отсутствующее руководство

Сертификаты

и инфраструктура открытых ключей (PKI) — это непросто.Дерьмо, да? Я знаю много умных людей, которые избегали именно этой кроличьей норы. Лично я долгое время избегал этого, и мне было стыдно, что я не знал большего. Очевидным результатом стал порочный круг: я слишком стеснялся задавать вопросы, поэтому так и не узнал.

В конце концов я был вынужден изучить этот материал из-за того, что он позволяет: PKI позволяет вам определять систему криптографически. Он универсален и не зависит от производителя. Он работает везде, поэтому части вашей системы могут работать где угодно и безопасно обмениваться данными.Это концептуально просто и очень гибко. Это позволяет вам использовать TLS и отказаться от VPN. Вы можете игнорировать все, что касается вашей сети, и при этом иметь высокие характеристики безопасности. Это здорово.

Теперь, когда я узнал, я сожалею, что не сделал этого раньше. PKI действительно мощный и действительно интересный инструмент. Математика сложна, и стандарты тупо причудливы, но основные концепции на самом деле довольно просты. Сертификаты — лучший способ идентифицировать код и устройства, а идентификация очень полезна для безопасности, мониторинга, метрик и миллиона других вещей.Использовать сертификаты не так уж и сложно. Нет сложнее, чем выучить новый язык или базу данных. Это просто немного раздражает и плохо задокументировано.

Это недостающее руководство. Я считаю, что большинство инженеров могут осмыслить все наиболее важные концепции и общие причуды менее чем за час. Это наша цель. Час — довольно небольшое вложение, чтобы научиться чему-то, что вы буквально не можете сделать по-другому.

Мои мотивы в основном дидактические. Но я буду использовать два проекта с открытым исходным кодом, которые мы создали на smallstep, в различных демонстрациях: step CLI и ступенчатые сертификаты.Если вы хотите продолжить, вы можете выполнить brew install step , чтобы получить и то, и другое (см. Полные инструкции по установке здесь).

Начнем с одного предложения tl; dr: цель сертификатов и PKI — привязать имена к открытым ключам. Вот и все. Остальное — это просто детали реализации.

Общий обзор и несколько слов, которые вы должны знать

Я собираюсь использовать некоторые технические термины, поэтому давайте определимся с ними, прежде чем мы начнем.

Объект — это все, что существует, даже если оно существует только логически или концептуально.Ваш компьютер — это сущность. Так что это код, который вы написали. Так ты. Как и буррито, которое вы съели на обед. То же самое и с призраком, которого вы видели, когда вам было шесть — даже если ваша мама была права и это было всего лишь плодом вашего воображения.

Каждый объект имеет идентификатор . Это сложно определить. Личность — это то, что делает тебя тобой, понимаешь? На компьютерах идентичность обычно представляется в виде набора атрибутов, описывающих некую сущность: группу, возраст, местоположение, любимый цвет, размер обуви и т. Д.Идентификатор — это не то же самое, что идентификатор. Скорее, это уникальная ссылка на некую сущность, у которой есть личность. Я Майк, но Майк не моя личность. Это имя — идентификатор и имя являются синонимами (по крайней мере, для наших целей).

Субъекты могут заявить , что у них есть какое-то конкретное имя. Другие объекты могут подтвердить это утверждение, подтвердив его истинность. Но заявление не обязательно должно быть связано с именем: я могу заявить о чем угодно: о моем возрасте, вашем возрасте, правах доступа, смысле жизни и т. Д. Аутентификация , как правило, представляет собой процесс подтверждения истинности некоторого утверждения.

Абонент или конечный объект — это объект, который участвует в PKI и может быть субъектом сертификата. Центр сертификации (ЦС) — это организация, которая выдает сертификаты подписчикам — это орган, выдавший сертификат , . Сертификаты, принадлежащие подписчикам, иногда называют сертификатами конечных объектов или листовыми сертификатами по причинам, которые станут яснее, когда мы обсудим цепочки сертификатов.Сертификаты, которые принадлежат ЦС, обычно называются корневыми сертификатами или промежуточными сертификатами в зависимости от типа ЦС. Наконец, проверяющая сторона — это пользователь сертификата, который проверяет сертификаты, выданные ЦС, и доверяет им. Чтобы немного запутать ситуацию, объект может быть как подписчиком, так и полагающейся стороной. То есть один объект может иметь свой собственный сертификат и использовать другие сертификаты для аутентификации удаленных одноранговых узлов (например, это то, что происходит с взаимным TLS).

Этого достаточно, чтобы начать работу, но если педагогика волнует, подумайте о том, чтобы включить RFC 4949 в свой Kindle. Для всех остальных давайте конкретизируем. Как мы предъявляем претензии и удостоверяем подлинность материалов на практике? Поговорим о криптовалюте.

MAC и подписи аутентифицируют материал

Код аутентификации сообщения (MAC) — это бит данных, который используется для проверки того, какой объект отправил сообщение, и для гарантии того, что сообщение не было изменено. Основная идея состоит в том, чтобы передать общий секрет (пароль) вместе с сообщением через хеш-функцию.Выходной хеш-код — это MAC. Вы отправляете MAC вместе с сообщением какому-либо получателю.

Получатель, который также знает общий секрет, может создать свой собственный MAC и сравнить его с предоставленным. У хеш-функций есть простой контракт: если вы введете им один и тот же вход дважды, вы получите точно такой же результат. Если вход отличается — даже на один бит — выход будет совершенно другим. Таким образом, если MAC-адрес получателя совпадает с MAC-адресом, отправленным с сообщением, можно быть уверенным, что сообщение было отправлено другим объектом, который знает общий секрет.Если предположить, что общий секрет известен только доверенным объектам, получатель может доверять сообщению.

Хеш-функции также односторонние: с вычислительной точки зрения невозможно взять выходные данные хеш-функции и восстановить их входные данные. Это очень важно для сохранения конфиденциальности общего секрета: в противном случае какой-нибудь злоумышленник может перехватить ваши MAC-адреса, изменить вашу хеш-функцию и выяснить ваши секреты. Это не хорошо. Выполнение этого свойства во многом зависит от тонких деталей того, как хеш-функции используются для построения MAC.Тонкие детали, которые я не буду здесь вдаваться. Так что будьте осторожны: не пытайтесь изобрести собственный алгоритм MAC. Используйте HMAC.

Все эти разговоры об MAC — пролог: наша реальная история начинается с подписей . Подпись концептуально похожа на MAC, но вместо использования общего секрета вы используете пару ключей (скоро она будет определена). При использовании MAC по крайней мере два объекта должны знать общий секрет: отправитель и получатель. Действительный MAC-адрес мог быть сгенерирован любой стороной, и вы не можете сказать, какая именно.Подписи разные. Подпись может быть проверена с помощью открытого ключа, но может быть сгенерирована только с помощью соответствующего закрытого ключа. Таким образом, получатель, у которого есть только открытый ключ, может проверять подписи, но не может их создавать. Это дает вам более жесткий контроль над тем, кто может подписывать материалы. Если только одна организация знает закрытый ключ, вы получите свойство без отказа от авторства : владелец закрытого ключа не может отрицать (опровергать) тот факт, что они подписали некоторые данные.

Если вы уже запутались, расслабьтесь.Их не зря называют подписями: они похожи на подписи в реальном мире. У вас есть вещи, с которыми вы хотите, чтобы кто-то согласился? Хотите убедиться, что сможете доказать, что они согласились позже? Здорово. Запишите это и попросите их подписать.

Криптография с открытым ключом позволяет компьютерам видеть

Сертификаты и PKI построены на криптографии с открытым ключом (также называемой асимметричной криптографией ), которая использует пар ключей . Пара ключей состоит из открытого ключа , который может распространяться и совместно использоваться со всем миром, и соответствующего закрытого ключа , который владелец должен хранить в тайне.

Давайте повторим эту последнюю часть, потому что она важна: безопасность криптосистемы с открытым ключом зависит от сохранения закрытых ключей в секрете.

С парой ключей можно сделать две вещи:

  • Вы можете зашифровать некоторых данных с помощью открытого ключа. Единственный способ расшифровать эти данные — использовать соответствующий закрытый ключ.
  • Вы можете подписать некоторые данные с помощью закрытого ключа. Любой, кто знает соответствующий открытый ключ, может проверить подпись, доказав, какой закрытый ключ ее создал.

Криптография с открытым ключом — это волшебный дар математики информатике. Математика, конечно, сложна, но вам не нужно разбираться в ней, чтобы оценить ее ценность. Криптография с открытым ключом позволяет компьютерам делать то, что иначе было бы невозможно: криптография с открытым ключом позволяет компьютерам видеть .

Хорошо, позвольте мне объяснить … Криптография с открытым ключом позволяет одному компьютеру (или фрагменту кода) доказать другому, что он что-то знает, не делясь этими знаниями напрямую.Чтобы доказать, что вы знаете пароль, вы должны поделиться им. Кто бы ни поделился им, может использовать его сам. Не так с закрытым ключом. Это похоже на видение. Если вы знаете, как я выгляжу, вы можете сказать, кто я, — подтвердить мою личность — посмотрев на меня. Но ты не можешь измениться, чтобы выдать себя за меня.

Криптография с открытым ключом делает нечто подобное. Если вы знаете мой открытый ключ (как я выгляжу), вы можете использовать его, чтобы видеть меня в сети. Например, вы можете прислать мне большое случайное число. Я могу подписать ваш номер и отправить вам свою подпись.Проверка этой подписи — хорошее доказательство того, что вы со мной разговариваете. Это позволяет компьютерам видеть, с кем они разговаривают по сети. Это настолько безумно полезно, что мы принимаем это как должное в реальном мире. В сети это настоящая магия. Спасибо математике.

Сертификаты: водительские права для компьютеров и код

Что делать, если вы еще не знаете мой открытый ключ? Вот для чего нужны сертификаты.

Сертификаты принципиально действительно простые. Сертификат — это структура данных, содержащая открытый ключ и имя.Тогда структура данных будет со знаком . Подпись связывает открытый ключ с именем. Субъект, подписывающий сертификат, называется издателем (или центром сертификации), а объект, указанный в сертификате, называется субъектом .

Если Некий эмитент подписывает сертификат для Боба , этот сертификат можно интерпретировать как утверждение: « Некий эмитент сообщает, что открытый ключ Боба — 01: 23: 42 & mldr;».Это заявление, сделанное Some Issuer в отношении Bob . Заявление подписано Some Issuer , поэтому, если вам известен открытый ключ Some Issuer , вы можете подтвердить его подлинность, проверив подпись. Если вы доверяете Some Issuer , вы можете доверять иску. Таким образом, сертификаты позволяют вам использовать доверие и знание открытого ключа эмитента, чтобы узнать открытый ключ другого объекта (в данном случае Bob ). Вот и все. По сути, это все, что есть сертификат.

Сертификаты похожи на водительские права или паспорта для компьютеров и кода. Если вы никогда не встречались со мной раньше, но доверяете DMV, вы можете использовать мою лицензию для аутентификации: проверить действительность лицензии (проверить голограмму и т. Д.), Посмотреть на картинку, посмотреть на меня, прочитать имя. Компьютеры используют сертификаты, чтобы делать то же самое: если вы никогда раньше не встречали какой-либо компьютер, но доверяете какому-либо центру сертификации, вы можете использовать сертификат для аутентификации: убедитесь, что сертификат действителен (проверьте подпись и т. Д.), Посмотрите общедоступный ключ, «посмотрите на закрытый ключ» в сети (как описано выше), прочтите имя.

Давайте взглянем на настоящий сертификат:

Да, поэтому я мог бы немного упростить историю. Как и в случае с водительскими правами, в сертификатах есть и другие вещи. В лицензиях указано, являетесь ли вы донором органов и имеете ли вы право управлять коммерческим транспортным средством. Сертификаты говорят о том, являетесь ли вы центром сертификации и предполагается, что ваш открытый ключ будет использоваться для подписи или шифрования. У обоих тоже есть срок годности.

Здесь много деталей, но это не меняет того, что я сказал ранее: по сути, сертификат — это просто вещь, которая связывает открытый ключ с именем.

X.509, ASN.1, OID, DER, PEM, PKCS, о боже…

Давайте посмотрим, как сертификаты представлены в виде битов и байтов. Эта часть на самом деле досадно сложна. Фактически, я подозреваю, что эзотерический и плохо определенный способ кодирования сертификатов и ключей является источником наибольшей путаницы и разочарования в отношении PKI в целом. Это глупо. Извиняюсь.

Обычно, когда люди говорят о сертификатах без дополнительной квалификации, они имеют в виду сертификаты X.509 v3.В частности, они обычно говорят о варианте PKIX, описанном в RFC 5280 и дополнительно уточненном базовыми требованиями CA / Browser Forum. Другими словами, они имеют в виду сертификаты, которые браузеры понимают и используют для HTTPS (HTTP через TLS). Существуют и другие форматы сертификатов. Примечательно, что у SSH и PGP есть свои собственные. Но мы сосредоточимся на X.509. Если вы поймете X.509, вы сможете понять все остальное.

Поскольку эти сертификаты очень широко поддерживаются — у них есть хорошие библиотеки и все такое, — они также часто используются в других контекстах.Это, безусловно, наиболее распространенный формат для сертификатов, выдаваемых внутренней PKI (немного определен). Важно отметить, что эти сертификаты сразу работают с клиентами и серверами TLS и HTTPS.

Вы не сможете полностью оценить X.509 без небольшого урока истории. X.509 был впервые стандартизирован в 1988 году как часть более широкого проекта X.500 под эгидой ITU-T (органа по стандартизации Международного союза электросвязи). X.500 был попыткой телекоммуникационных компаний создать глобальную телефонную книгу.Этого никогда не было, но остались следы. Если вы когда-нибудь смотрели на сертификат X.509 и задавались вопросом, почему что-то, разработанное для Интернета, кодирует местонахождение, штат и страну, вот ваш ответ: X.509 не был разработан для Интернета. Он был разработан тридцать лет назад для создания телефонной книги.

X.509 основан на ASN.1, другом стандарте ITU-T (определенном X.208 и X.680). ASN означает абстрактную синтаксическую нотацию (1 означает единицу). ASN.1 — это обозначение для определения типов данных. Вы можете думать об этом как о JSON для X.509, но на самом деле это больше похоже на protobuf, thrift или SQL DDL. RFC 5280 использует ASN.1 для определения сертификата X.509 как объекта, который содержит различные биты информации: имя, ключ, подпись и т. Д.

ASN.1 имеет обычные типы данных, такие как целые числа, строки, наборы и последовательности. . У него также есть необычный тип, который важно понимать: идентификаторы объектов (OID). OID похож на URI, но больше раздражает. Они (должны быть) универсально уникальные идентификаторы. Структурно OID представляют собой последовательность целых чисел в иерархическом пространстве имен.Вы можете использовать OID для тега бит данных с типом. Строка — это просто строка, но если я помечу строку с OID 2.5.4.3 , то это уже не обычная строка — это обычное имя X.509 .

ASN.1 — это аннотация в том смысле, что в стандарте ничего не говорится о том, как данные должны быть представлены в виде битов и байтов. Для этого существуют различные правила кодирования , которые определяют конкретные представления для значений данных ASN.1.Это дополнительный уровень абстракции, который должен быть полезным, но в основном просто раздражает. Это похоже на разницу между юникодом и utf8 (eek).

Существует множество правил кодирования для ASN.1, но есть только одно, которое обычно используется для сертификатов X.509 и других криптографических материалов: особые правила кодирования или DER (хотя неканонические базовые правила кодирования (BER) также являются иногда используется). DER — это довольно простая кодировка типа длина-значение, но вам действительно не нужно о ней беспокоиться, поскольку большую часть тяжелой работы берут на себя библиотеки.

К сожалению, на этом история не заканчивается. Вам не нужно сильно беспокоиться о кодировании и декодировании DER, но вам, , определенно понадобится , чтобы выяснить, является ли конкретный сертификат простым сертификатом X.509 с кодировкой DER или чем-то более интересным. Есть два возможных аспекта прихоти: мы можем смотреть на что-то большее, чем необработанный DER, и мы можем смотреть на что-то большее, чем просто сертификат.

Начиная с первого измерения, DER является прямым двоичным, а двоичные данные трудно копировать и вставлять, а иначе они распространяются по сети.Таким образом, большинство сертификатов упаковано в файлы PEM (что означает Privacy Enhanced EMail , еще один странный исторический пережиток). Если вы когда-либо работали с MIME, PEM похож на него: полезная нагрузка в кодировке base64 зажата между верхним и нижним колонтитулами. Заголовок PEM имеет метку, которая должна описывать полезную нагрузку. Поразительно, но эта простая работа по большей части неудачна, и метки PEM часто несовместимы между инструментами (RFC 7468 пытается стандартизировать использование PEM в этом контексте, но он не полон и не всегда соблюдается).Без лишних слов, вот как выглядит сертификат X.509 v3 в кодировке PEM:

  ----- НАЧАТЬ СЕРТИФИКАТ -----
MIIBwzCCAWqgAwIBAgIRAIi5QRl9kz1wb + SUP20gB1kwCgYIKoZIzj0EAwIwGzEZ
MBcGA1UEAxMQTDVkIFRlc3QgUm9vdCBDQTAeFw0xODExMDYyMjA0MDNaFw0yODEx
MDMyMjA0MDNaMCMxITAfBgNVBAMTGEw1ZCBUZXN0IEludGVybWVkaWF0ZSBDQTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABAST8h + JftPkPocZyuZ5CVuPUk3vUtgo
cgRbkYk7Ong7ey / fM5fJdRNdeW6SouV5h4nF9JvYKEXuoymSNjGbKomjgYYwgYMw
DgYDVR0PAQH / BAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAS
BgNVHRMBAf8ECDAGAQH / AgEAMB0GA1UdDgQWBBRc + LHppFk8sflIpm / XKpbNMwx3
SDAfBgNVHSMEGDAWgBTirEpzC7 / gexnnz7ozjWKd71lz5DAKBggqhkjOPQQDAgNH
ADBEAiAejDEfua7dud78lxWe9eYxYcM93mlUMFIzbWlOJzg + rgIgcdtU9wIKmn5q
FU3iOiRP5VyLNmrsQD3 / ItjUN1f1ouY =
----- КОНЕЦ СЕРТИФИКАТА -----
  

Сертификаты с кодировкой PEM обычно содержат .pem , .crt или .cer extension. Необработанный сертификат, закодированный с использованием DER, обычно имеет расширение .der . Опять же, здесь нет особой последовательности, поэтому ваш опыт может отличаться.

Возвращаясь к нашему другому измерению изящности: помимо более изящного кодирования с использованием PEM, сертификат может быть упакован в более изящную упаковку. Несколько форматов конвертов определяют более крупные структуры данных (все еще использующие ASN.1), которые могут содержать сертификаты, ключи и другой материал.Некоторые вещи просят «сертификат», когда им действительно нужен сертификат в одном из этих конвертов. Так что будьте осторожны.

Форматы конвертов, с которыми вы, вероятно, столкнетесь, являются частью набора стандартов под названием PKCS (стандарты шифрования с открытым ключом), опубликованных лабораториями RSA (на самом деле история немного сложнее, но неважно). Первый — это PKCS # 7, ребрендированный синтаксис криптографических сообщений (CMS) от IETF, который может содержать один или несколько сертификатов (кодирование полной цепочки сертификатов, описанное вкратце).PKCS # 7 обычно используется Java. Общие расширения: .p7b и .p7c . Другой распространенный формат конверта — PKCS # 12, который может содержать цепочку сертификатов (например, PKCS # 7) вместе с (зашифрованным) закрытым ключом. PKCS # 12 обычно используется продуктами Microsoft. Общие расширения: .pfx и .p12 . Опять же, конверты PKCS # 7 и PKCS # 12 также используют ASN.1. Это означает, что оба могут быть закодированы как необработанные DER, BER или PEM. Тем не менее, по моему опыту, они почти всегда сырые DER.

Кодирование ключа аналогично запутанному, но шаблон в целом тот же: некоторая структура данных ASN.1 описывает ключ, DER используется как двоичное кодирование, а PEM (надеюсь, с полезным заголовком) может использоваться как немного более дружелюбный представление. Расшифровка ключа, на который вы смотрите, — это наполовину искусство, наполовину наука. Если вам повезет, RFC 7468 даст хорошее руководство, чтобы выяснить, какова ваша полезная нагрузка PEM. Клавиши с эллиптическими кривыми обычно обозначаются соответствующим образом, хотя, похоже, нет никакой стандартизации.Другие ключи — это просто «ЧАСТНЫЙ КЛЮЧ» от PEM. Обычно это указывает на полезную нагрузку PKCS # 8, конверт для закрытых ключей, который включает тип ключа и другие метаданные. Вот пример ключа эллиптической кривой в кодировке PEM:

  $ step crypto keypair --kty EC --no-password --insecure ec.pub ec.prv
$ cat ec.pub ec.prv
----- НАЧАТЬ ОБЩЕСТВЕННЫЙ КЛЮЧ -----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc73 / + JOESKlqWlhf0UzcRjEe7inF
uu2z1DWxr + 2YRLfTaJOm9huerJCh71z5lugg + QVLZBedKGEff5jgTssXHg ==
----- КОНЕЦ ОБЩЕСТВЕННОГО КЛЮЧА -----
----- НАЧАТЬ ЧАСТНЫЙ КЛЮЧ EC -----
MHcCAQEEICjpa3i7ICHSIqZPZfkJpcRim / EAmUtMFGJg6QjkMqDMoAoGCCqGSM49
AwEHoUQDQgAEc73 / + JOESKlqWlhf0UzcRjEe7inFuu2z1DWxr + 2YRLfTaJOm9hue
rJCh71z5lugg + QVLZBedKGEff5jgTssXHg ==
----- КОНЕЦ ЧАСТНЫЙ КЛЮЧ EC -----
  

Также довольно часто можно увидеть закрытые ключи, зашифрованные с использованием пароля (общего секретного или симметричного ключа).Они будут выглядеть примерно так ( Proc-Type и DEK-Info являются частью PEM и указывают, что полезная нагрузка PEM зашифрована с использованием AES-256-CBC ):

  ----- BEGIN EC ЧАСТНЫЙ КЛЮЧ -----
Тип процесса: 4, ЗАШИФРОВАНО
DEK-информация: AES-256-CBC, b3fd6578bf18d12a76c98bda947c4ac9

qdV5u + wrywkbO0Ai8VUuwZO1cqhwsNaDQwTiYUwohvot7Vw851rW / 43poPhH07So
sdLFVCKPd9v6F9n2dkdWCeeFlI4hfx + EwzXLuaRWg6aoYOj7ucJdkofyRyd4pEt +
Mj60xqLkaRtphh9HWKgaHsdBki68LQbObLOz4c6SyxI =
----- КОНЕЦ ЧАСТНЫЙ КЛЮЧ EC -----
  

Объекты PKCS # 8 также могут быть зашифрованы, и в этом случае метка заголовка должна быть «ЗАШИФРОВАННЫЙ ЧАСТНЫЙ КЛЮЧ» согласно RFC 7468.В этом случае у вас не будет заголовков Proc-Type и Dek-Info , поскольку вместо этого эта информация закодирована в полезной нагрузке.

Открытые ключи обычно имеют расширение .pub или .pem . Закрытые ключи могут иметь расширение .prv, .key или .pem . Опять же, ваш пробег может отличаться.

Краткое описание. ASN.1 используется для определения типов данных, таких как сертификаты и ключи. DER — это набор правил кодирования для включения ASN.1 в биты и байты. X.509 определен в ASN.1. PKCS # 7 и PKCS # 12 — это более крупные структуры данных, также определенные с использованием ASN.1, которые могут содержать сертификаты и другой материал. Они обычно используются Java и Microsoft соответственно. Поскольку необработанный двоичный файл DER сложно распространять по сети, большинство сертификатов закодированы в формате PEM, а base64 кодирует DER и маркирует его. Закрытые ключи обычно представлены как объекты PKCS # 8 в кодировке PEM. Иногда они также зашифрованы паролем.

Если это сбивает с толку, то это не вы.Это мир. Я старался.

Инфраструктура открытых ключей

Хорошо знать, что такое сертификат, но это еще не половина дела. Давайте посмотрим, как создаются и используются сертификаты.

Инфраструктура открытых ключей (PKI) — это общий термин для всего того, что нам нужно для выпуска, распространения, хранения, использования, проверки, отзыва и иного управления сертификатами и ключами и взаимодействия с ними. Это намеренно расплывчатый термин, например «инфраструктура базы данных».Сертификаты являются строительными блоками большинства PKI, а центры сертификации — основой. Тем не менее, PKI — это намного больше. Он включает библиотеки, задания cron, протоколы, соглашения, клиенты, серверы, людей, процессы, имена, механизмы обнаружения и все остальное, что вам понадобится для эффективного использования криптографии с открытым ключом.

Если вы создадите собственную PKI с нуля, у вас будет масса свободы действий. Так же, как если бы вы создали свою собственную инфраструктуру базы данных. Фактически, многие простые PKI даже не используют сертификаты.Когда вы редактируете ~ / .ssh / authorized_keys , вы настраиваете простую форму PKI без сертификата, которую SSH использует для привязки открытых ключей к именам в плоских файлах. PGP использует сертификаты, но не использует центры сертификации. Вместо этого он использует модель сети доверия. Вы даже можете использовать блокчейн для присвоения имен и привязки их к открытым ключам. Единственное, что действительно обязательно, если вы создаете PKI с нуля, — это то, что по определению вы должны использовать открытые ключи. Все остальное может измениться.

Тем не менее, вы, вероятно, не хотите строить PKI полностью с нуля.Мы сосредоточимся на типах PKI, используемых в Интернете, и внутренних PKI, которые основаны на технологиях веб-PKI и используют существующие стандарты и компоненты.

По мере продвижения помните простую цель сертификатов и PKI: привязать имена к открытым ключам.

Web PKI против внутреннего PKI

Вы взаимодействуете с Web PKI через свой браузер всякий раз, когда вы получаете доступ к URL-адресу HTTPS — например, когда вы загружали этот веб-сайт. Это единственная PKI, с которой многие люди (хотя бы смутно) знакомы. Он скрипит, лязгает и трясется, но в основном работает.Несмотря на свои проблемы, он существенно повышает безопасность в Интернете и в основном прозрачен для пользователей. Вы должны использовать его везде, где ваша система общается с внешним миром через Интернет.

Web PKI в основном определяется RFC 5280 и уточняется CA / Browser Forum (также известным как CA / B или CAB Forum). Иногда его называют «Internet PKI» или PKIX (в честь создавшей его рабочей группы). Документы PKIX и CAB Forum охватывают множество вопросов. Они определяют разнообразие сертификатов, о которых мы говорили в предыдущем разделе.Они также определяют, что такое «имя» и где оно находится в сертификате, какие алгоритмы подписи могут использоваться, как полагающаяся сторона определяет эмитента сертификата, как указывается срок действия сертификата (даты выпуска и истечения срока действия), как работает отзыв и проверка пути сертификата, процесс, который используют центры сертификации, чтобы определить, владеет ли кто-то доменом, и многое другое.

Web PKI важен, потому что сертификаты Web PKI по умолчанию работают с браузерами и почти со всем остальным, что использует TLS.

Внутренний PKI — это PKI, который вы запускаете самостоятельно, для своих собственных вещей: производственная инфраструктура, такая как службы, контейнеры и виртуальные машины; корпоративные ИТ-приложения; корпоративные оконечные устройства, такие как ноутбуки и телефоны; и любой другой код или устройство, которое вы хотите идентифицировать. Он позволяет вам аутентифицировать и устанавливать криптографические каналы, чтобы ваши данные могли работать где угодно и безопасно обмениваться данными, даже через общедоступный Интернет.

Зачем запускать собственную внутреннюю PKI, если веб-PKI уже существует? Простой ответ заключается в том, что веб-PKI не была разработана для поддержки внутренних сценариев использования.Даже с таким центром сертификации, как Let’s Encrypt, который предлагает бесплатные сертификаты и автоматическую инициализацию, вам придется иметь дело с ограничениями скорости и доступности. Это бесполезно, если у вас есть множество сервисов, которые вы постоянно развертываете.

Кроме того, с помощью веб-PKI у вас практически нет контроля над важными деталями, такими как срок действия сертификата, механизмы отзыва, процессы обновления, типы ключей и алгоритмы (все важные вещи мы объясним позже).

Наконец, базовые требования CA / Browser Forum фактически запрещают CA Web PKI связывать внутренние IP-адреса (например,g., материал в 10.0.0.0/8 ) или внутренние DNS-имена, которые не являются полностью определенными и разрешаемыми в общедоступном глобальном DNS (например, вы не можете привязать DNS-имя кластера kubernetes, например foo.ns.svc .cluster.local ). Если вы хотите привязать такое имя к сертификату, выпустить множество сертификатов или управлять данными сертификата, вам понадобится собственная внутренняя PKI.

В следующем разделе мы увидим, что доверие (или его отсутствие) — это еще еще одна причина избегать использования веб-PKI для внутреннего использования.Короче говоря, используйте веб-PKI для своего общедоступного веб-сайта и API. Для всего остального используйте собственную внутреннюю PKI.

Доверие и надежность

Доверительные магазины

Ранее мы научились интерпретировать сертификат как утверждение или утверждение, например: «Эмитент сообщает, что открытый ключ субъекта — это бла-бла-бла ». Это требование подписывается эмитентом, поэтому оно может быть аутентифицировано проверяющими сторонами. В этом описании мы упустили кое-что важное: «как полагающаяся сторона узнает открытый ключ эмитента ?

Ответ прост, хотя и не удовлетворителен: проверяющие стороны предварительно настроены со списком доверенных корневых сертификатов (или якорей доверия) в хранилище доверенных сертификатов .Способ, которым происходит эта предварительная конфигурация, является важным аспектом любой PKI. Один из вариантов — запустить другую PKI: у вас может быть какой-нибудь инструмент автоматизации, использующий SSH для копирования корневых сертификатов на доверяющие стороны, используя SSH PKI, описанный ранее. Если вы работаете в облаке, ваша SSH PKI, в свою очередь, загружается из веб-PKI плюс аутентификация, которую сделал ваш облачный поставщик, когда вы создали свою учетную запись и предоставили ему свою кредитную карту. Если вы проследите за этой цепочкой доверия достаточно далеко, вы всегда найдете людей: каждая цепочка доверия заканчивается мясным пространством.

Корневые сертификаты в доверенных хранилищах — это самоподписанные . Эмитент и субъект совпадают. Логически это утверждение вроде « Майк говорит, что открытый ключ Майка — это бла-бла-бла ». Подпись на самозаверяющем сертификате обеспечивает уверенность в том, что субъект / издатель знает соответствующий закрытый ключ, но любой может сгенерировать самозаверяющий сертификат с любым именем, которое он хочет в нем. Поэтому происхождение имеет решающее значение: самозаверяющему сертификату следует доверять только постольку, поскольку доверяют процессу, посредством которого он попал в хранилище доверенных сертификатов.В macOS хранилище доверенных сертификатов управляется связкой ключей. Во многих дистрибутивах Linux это просто файлы в / etc или в другом месте на диске. Если ваши пользователи могут изменять эти файлы, вы лучше доверяете всем своим пользователям.

Так откуда же берутся доверительные магазины? Для веб-PKI наиболее важными сторонами являются браузеры. Хранилища доверия, используемые по умолчанию в основных браузерах — и почти все остальное, что использует TLS — обслуживаются четырьмя организациями:

Хранилища доверенных сертификатов операционной системы обычно поставляются вместе с ОС.Firefox поставляется со своим собственным хранилищем доверенных сертификатов (распространяется с использованием TLS с сайта mozilla.org — загрузка веб-инфраструктуры PKI с использованием другого хранилища доверенных сертификатов). Языки программирования и другие вещи, не относящиеся к браузеру, такие как curl , обычно по умолчанию используют хранилище доверенных сертификатов ОС. Таким образом, доверенные хранилища, обычно используемые по умолчанию почти всем, поставляются предустановленными и обновляются с помощью обновлений программного обеспечения (которые обычно подписываются кодом с использованием еще одного PKI).

В хранилища доверия, поддерживаемые этими программами, обычно входит более 100 центров сертификации.Вы, наверное, знаете самые крупные: Let’s Encrypt, Symantec, DigiCert, Entrust и т. Д. Их может быть интересно просмотреть. Если вы хотите сделать это программно, проект cfssl Cloudflare поддерживает репозиторий github, который включает доверенные сертификаты из различных хранилищ доверенных сертификатов, чтобы помочь с объединением сертификатов (что мы обсудим в ближайшее время). Для более удобного использования вы можете запросить Censys, чтобы узнать, каким сертификатам доверяют Mozilla, Apple и Microsoft.

Надежность

Этим 100+ центрам сертификации доверяют в описательном смысле — браузеры и другое оборудование доверяют сертификатам, выпущенным этими центрами сертификации по умолчанию.Но это не значит, что они заслуживают доверия в моральном смысле. Напротив, существуют задокументированные случаи, когда центры сертификации Web PKI предоставляют правительствам поддельные сертификаты для отслеживания трафика и выдачи себя за веб-сайты. Некоторые из этих «доверенных» центров сертификации действуют за пределами авторитарных юрисдикций, таких как Китай. У демократии и здесь нет морального превосходства. АНБ использует любую доступную возможность, чтобы подорвать сеть PKI. В 2011 году были скомпрометированы «доверенные» центры сертификации DigiNotar и Comodo.Взлом DigiNotar, вероятно, был вызван АНБ. Существует также множество примеров того, как центры сертификации по ошибке выпускают неверные или несовместимые сертификаты. Таким образом, хотя эти центры сертификации де-факто заслуживают доверия, как группа они эмпирически не заслуживают доверия . Вскоре мы увидим, что Web PKI в целом безопасна ровно настолько, насколько безопасен наименее защищенный центр сертификации, так что это нехорошо.

Сообщество браузеров предприняло определенные действия для решения этой проблемы. Базовые требования CA / Browser Forum рационализируют правила, которым доверенные центры сертификации должны следовать перед выдачей сертификатов.Центры сертификации проверяются на соответствие этим правилам в рамках программы аудита WebTrust, которая требуется некоторыми программами корневых сертификатов для включения в их хранилища доверенных сертификатов (например, Mozilla).

Тем не менее, если вы используете TLS для внутренних целей, вы, вероятно, не захотите доверять этим общедоступным центрам сертификации больше, чем должны. Если вы это сделаете, вы, вероятно, откроете дверь для АНБ и других. Вы признаете тот факт, что ваша безопасность зависит от дисциплины и щепетильности более 100 других организаций.Может быть, вам все равно, но справедливое предупреждение.

Federation

Что еще хуже, доверяющие стороны (RP) Web PKI доверяют каждому ЦС в своем хранилище доверенных сертификатов подписывать сертификаты для любого подписчика. В результате общая безопасность веб-PKI настолько хороша, насколько хороша наименее безопасная веб-инфраструктура PKI CA. Атака DigiNotar 2011 года продемонстрировала здесь проблему: в рамках атаки был мошенническим образом выдан сертификат для google.com. Этому сертификату доверяли основные веб-браузеры и операционные системы, несмотря на то, что Google не имел отношения к DigiNotar.Еще десятки поддельных сертификатов были выпущены для таких компаний, как Yahoo !, Mozilla и The Tor Project. В конечном итоге корневые сертификаты DigiNotar были удалены из основных хранилищ доверия, но почти наверняка уже был нанесен большой ущерб.

Совсем недавно Sennheiser вызвали за установку самозаверяющего корневого сертификата в доверенных хранилищах с помощью своего приложения HeadSetup, а затем встраивание соответствующего закрытого ключа в конфигурацию приложения. Кто угодно может извлечь этот закрытый ключ и использовать его для выдачи сертификата для любого домена.Любой компьютер, имеющий сертификат Sennheiser в своем хранилище доверенных сертификатов, будет доверять этим поддельным сертификатам. Это полностью подрывает TLS. Ой.

Существует ряд механизмов смягчения, которые могут помочь снизить эти риски. Авторизация центра сертификации (CAA) позволяет ограничить, какие центры сертификации могут выдавать сертификаты для вашего домена с помощью специальной записи DNS. Прозрачность сертификатов (CT) (RFC 6962) требует, чтобы центры сертификации отправляли каждый выданный ими сертификат беспристрастному наблюдателю, который ведет общедоступный журнал сертификатов для обнаружения сертификатов, выпущенных мошенничеством.Криптографическое подтверждение подачи КТ включено в выданные сертификаты. Закрепление открытого ключа HTTP (HPKP или просто «закрепление») позволяет подписчику (веб-сайту) указывать RP (браузер) принимать только определенные открытые ключи в сертификатах для определенного домена.

Проблема со всеми этими вещами — поддержка RP или ее отсутствие. CAB Forum теперь требует проверки CAA в браузерах. Некоторые браузеры также поддерживают CT и HPKP. Для других RP (например, большинства реализаций стандартной библиотеки TLS) это почти никогда не применяется.Эта проблема будет возникать неоднократно: многие политики сертификатов должны выполняться RP, а RP редко могут беспокоить. Если RP не проверяют записи CAA и не требуют подтверждения представления CT, это не принесет никакой пользы.

В любом случае, если вы запускаете свою собственную внутреннюю PKI, вы должны поддерживать отдельное хранилище доверенных сертификатов для внутренних вещей. То есть вместо добавления корневых сертификатов в существующее системное хранилище доверенных сертификатов настройте внутренние запросы TLS для использования только ваших корневых сертификатов. Если вы хотите улучшить внутреннюю федерацию (например,g., вы хотите ограничить количество сертификатов, которые могут выдавать ваши внутренние CA) вы можете попробовать записи CAA и правильно настроенные RP. Вы также можете ознакомиться с SPIFFE, развивающимся проектом по стандартизации, который решает эту и ряд других проблем, связанных с внутренней PKI.

Что такое центр сертификации

Мы много говорили о центрах сертификации (ЦС), но на самом деле не определили, что это такое. ЦС является надежным издателем сертификатов. Он подтверждает связь между открытым ключом и именем путем подписания сертификата.По сути, центр сертификации — это просто еще один сертификат и соответствующий закрытый ключ, который используется для подписи других сертификатов.

Очевидно, что вокруг этих артефактов нужно обернуть некоторую логику и процесс. ЦС должен распространять свой сертификат в доверенных хранилищах, принимать и обрабатывать запросы сертификатов и выдавать сертификаты подписчикам. Центр сертификации, который предоставляет удаленно доступные API-интерфейсы для автоматизации этого процесса, называется онлайн-центром сертификации . ЦС с самозаверяющим корневым сертификатом, включенным в доверенные хранилища, называется корневым ЦС .

Промежуточные звенья, цепочки и связывание

Базовые требования CAB Forum предусматривают, что корневой закрытый ключ, принадлежащий корневому CA Web PKI, может использоваться только для подписи сертификата путем выдачи прямой команды (см. Раздел 4.3.1). Другими словами, корневые ЦС веб-PKI не могут автоматизировать подписание сертификатов. Они не могут быть в сети. Это проблема для любой крупномасштабной операции CA. Вы не можете заставить кого-то вручную вводить в машину команду для выполнения каждого заказа на сертификат.

Причина этого условия — безопасность.Корневые веб-сертификаты PKI широко распространены в доверенных хранилищах, и их трудно отозвать. Взлом закрытого ключа корневого ЦС затронет буквально миллиарды людей и устройств. Поэтому лучше всего хранить корневые закрытые ключи в автономном режиме, в идеале на каком-то специализированном оборудовании, подключенном к машине с воздушным зазором, с хорошей физической безопасностью и строго соблюдаемыми процедурами использования.

Многие внутренние PKI также следуют тем же методам, хотя в этом гораздо меньше необходимости. Если вы можете автоматизировать ротацию корневых сертификатов (например,g., обновите доверенные хранилища с помощью инструментов управления конфигурацией или оркестровки), вы можете легко заменить скомпрометированный корневой ключ. Люди настолько зациклены на управлении закрытым корневым ключом для внутренних PKI, что это задерживает или препятствует внутреннему развертыванию PKI. Учетные данные вашего корневого аккаунта AWS не менее важны, если не больше. Как вы управляете этими учетными данными?

Чтобы сделать выдачу сертификатов масштабируемой (т. Е. Сделать возможной автоматизацию), когда корневой ЦС не подключен к сети, корневой закрытый ключ используется нечасто для подписи нескольких промежуточных сертификатов .Соответствующие промежуточные частные ключи используются промежуточными центрами сертификации (также называемыми подчиненными центрами сертификации) для подписи и выдачи конечных сертификатов подписчикам. Промежуточные звенья обычно не включаются в трастовые хранилища, что упрощает их отзыв и ротацию, поэтому выдача сертификатов посредником обычно происходит онлайн и автоматически.

Этот пакет сертификатов — листовых, промежуточных, корневых — образует цепочку (называемую цепочкой сертификатов ). Лист подписывается промежуточным звеном, промежуточное звено — корнем, а корень подписывается сам.

Технически это еще одно упрощение. Вам ничего не мешает создавать более длинные цепочки и более сложные графики (например, путем перекрестной сертификации). Однако это обычно не рекомендуется, так как это может очень быстро стать очень сложным. В любом случае сертификаты конечных объектов являются конечными узлами в этом графе. Отсюда и название «листовой сертификат».

Когда вы настраиваете подписчика (например, веб-сервер, такой как Apache или Nginx, Linkerd или Envoy), вам обычно необходимо предоставить не только конечный сертификат, но и комплект сертификатов, который включает промежуточные звенья.Здесь иногда используются PKCS # 7 и PKCS # 12, потому что они могут включать полную цепочку сертификатов. Чаще всего цепочки сертификатов кодируются как простая последовательность объектов PEM, разделенных строками. Одни ожидают, что сертификаты будут упорядочены от листа к корню, другие ожидают от корня к листу, а некоторым все равно. Более досадная непоследовательность. Здесь помогают Google и Stack Overflow. Или методом проб и ошибок.

В любом случае вот пример:

  $ cat server.crt
----- НАЧАТЬ СЕРТИФИКАТ -----
MIICFDCCAbmgAwIBAgIRANE187UXf5fn5TgXSq65CMQwCgYIKoZIzj0EAwIwHzEd
MBsGA1UEAxMUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwHhcNMTgxMjA1MTc0OTQ0WhcN
MTgxMjA2MTc0OTQ0WjAUMRIwEAYDVQQDEwlsb2NhbGhvc3QwWTATBgcqhkjOPQIB
BggqhkjOPQMBBwNCAAQqE2VPZ + uS5q / XiZd6x6vZSKAYFM4xrYa / ANmXeZ / gh / n0
vhsmXIKNCg6vZh69FCbBMZdYEVOb7BRQIR8Q1qjGo4HgMIHdMA4GA1UdDwEB / wQE
AwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFHee
8N698LZWzJg6SQ9F6 / gQBGkmMB8GA1UdIwQYMBaAFAZ0jCINuRtVd6ztucMf8Bun
D ++ sMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDBWBgwrBgEEAYKkZMYoQAEERjBEAgEB
BBJtaWtlQHNtYWxsc3RlcC5jb20EK0lxOWItOEdEUWg1SmxZaUJwSTBBRW01eHN5
YzM0d0dNUkJWRXE4ck5pQzQwCgYIKoZIzj0EAwIDSQAwRgIhAPL4SgbHIbLwfRqO
HO3iTsozZsCuqA34HMaqXveiEie4AiEAhUjjb7vCGuPpTmn8HenA5hJplr + Ql8s1
d + SmYsT0jDU =
----- КОНЕЦ СЕРТИФИКАТА -----
----- НАЧАТЬ СЕРТИФИКАТ -----
MIIBuzCCAWKgAwIBAgIRAKBv / 7Xs6GPAK4Y8z4udSbswCgYIKoZIzj0EAwIwFzEV
MBMGA1UEAxMMVGVzdCBSb290IENBMB4XDTE4MTIwNTE3MzgzOFoXDTI4MTIwMjE3
MzgzOFowHzEdMBsGA1UEAxMUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwWTATBgcqhkjO
PQIBBggqhkjOPQMBBwNCAAT8r2WCVhPGeh3J2EFdmdMQi5YhpMp3hyVZWu6XNDbn
xd8QBUNZTHqdsMKDtXoNfmhH // dwz78 / kRnbka + acJQ9o4GGMIGDMA4GA1UdDwEB
/ wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH /
BAgwBgEB / wIBADAdBgNVHQ4EFgQUBnSMIg25G1V3rO25wx / wG6cP76wwHwYDVR0j
BBgwFoAUcITNjk2XmInW + xfLJjMYVMG7fMswCgYIKoZIzj0EAwIDRwAwRAIgTCgI
BRvPAJZb + soYP0tnObqWdplmO + krWmHqCWtK8hcCIHS / es7GBEj3bmGMus + 8n4Q1
x8YmK7ASLmSCffCTct9Y
----- КОНЕЦ СЕРТИФИКАТА -----
  

Опять надоедает и барокко, но не ракетостроение.

Проверка пути сертификата

Поскольку промежуточные сертификаты не включаются в доверенные хранилища, их необходимо распространять и проверять так же, как конечные сертификаты. Вы предоставляете эти промежуточные звенья при настройке подписчиков, как описано выше. Затем подписчики передают их RP. С TLS это происходит как часть рукопожатия, которое устанавливает соединение TLS. Когда подписчик отправляет свой сертификат проверяющей стороне, он включает в себя любые промежуточные звенья, необходимые для цепочки резервного копирования к доверенному корню.Проверяющая сторона проверяет конечный и промежуточный сертификаты в процессе, называемом проверка пути сертификата .

Полный алгоритм проверки пути сертификата сложен. Он включает в себя проверку истечения срока действия сертификата, статуса отзыва, различных политик сертификатов, ограничений на использование ключей и множество других вещей. Правильная реализация этого алгоритма RPI PKI абсолютно необходима. Люди шокирующе небрежно относятся к отключению проверки пути сертификата (например,g., передав флаг -k в curl ). Не делай этого.

Не отключайте проверку пути сертификата. Это не так сложно сделать правильно, а проверка пути сертификата — это часть TLS, которая выполняет аутентификацию. Иногда люди утверждают, что канал по-прежнему зашифрован, поэтому это не имеет значения. Это неверно. Это имеет значение. Шифрование без аутентификации бесполезно. Это похоже на слепую исповедь: ваш разговор личный, но вы не знаете, кто по ту сторону занавеса.Только это не церковь, это интернет. Таким образом, не отключает проверку пути сертификата .

Ключ и жизненный цикл сертификата

Прежде чем вы сможете использовать сертификат с таким протоколом, как TLS, вам необходимо выяснить, как получить его в ЦС. Абстрактно это довольно простой процесс: подписчик, которому нужен сертификат, генерирует пару ключей и отправляет запрос в центр сертификации. ЦС проверяет правильность имени, которое будет связано в сертификате, и, если это так, подписывает и возвращает сертификат.

Срок действия сертификатов

истекает, после чего они перестают доверять RP. Если вы все еще используете сертификат, срок действия которого истекает, вам нужно будет его обновить и повернуть. Если вы хотите, чтобы RP перестали доверять сертификату до истечения срока его действия, его можно (иногда) отозвать.

Как и большая часть PKI, этот простой процесс обманчиво запутан. В деталях кроются две самые сложные проблемы информатики: недействительность кеша и именование вещей. Тем не менее, если вы понимаете, что происходит, об этом достаточно легко рассуждать.

Именование вещей

Исторически в X.509 использовались отличительные имена X.500 (DN) для именования субъекта сертификата (подписчика). DN включает общее имя (для меня это будет «Майк Мэлоун»). Он также может включать в себя населенный пункт , страна , организация , организационная единица и целую кучу другой нерелевантной чуши (напомним, что этот материал изначально предназначался для цифровой телефонной книги). Никто не понимает выдающихся имен.На самом деле они не имеют смысла для Интернета. Избежать их. Если вы все же используете их, делайте их простыми. Необязательно использовать все поля. Фактически, не должно быть . Вам, вероятно, понадобится обычное имя и, возможно, название организации, если вы любите острые ощущения.

PKIX изначально указывал, что имя хоста DNS веб-сайта должно быть связано с общим именем DN . Совсем недавно CAB Forum отказался от этой практики и сделал все DN необязательным (см. Разделы 7.1.4.2 Базовых требований). Вместо этого современные передовые практики заключаются в использовании расширения X.509 альтернативного имени субъекта (SAN) для привязки имени в сертификате.

Обычно используются четыре типа сетей SAN, каждая из которых связывает широко используемые и понятные имена: доменные имена (DNS), адреса электронной почты, IP-адреса и URI. Они уже должны быть уникальными в интересующем нас контексте, и они довольно хорошо соответствуют тому, что мы хотим идентифицировать: адреса электронной почты для людей, доменные имена и IP-адреса для машин и кода, URI, если хотите. получить фантазию.Используйте SAN.

Обратите внимание, что веб-PKI позволяет связывать несколько имен в сертификате и допускает использование подстановочных знаков в именах. Сертификат может иметь несколько сетей SAN, а также таких сетей SAN, как * .smallstep.com . Это полезно для веб-сайтов, которые отвечают на несколько имен (например, smallstep.com и www.smallstep.com ).

Создание пар ключей

После того, как мы получили имя, нам нужно сгенерировать пару ключей, прежде чем мы сможем создать сертификат.Напомним, что безопасность PKI критически зависит от простого инварианта: единственный объект, который знает данный закрытый ключ, — это подписчик, указанный в соответствующем сертификате. Чтобы быть уверенным, что этот инвариант соблюдается, лучше всего, чтобы подписчик сгенерировал свою собственную пару ключей, чтобы это единственное, что когда-либо знал . Определенно избегайте передачи закрытого ключа по сети.

Вам нужно будет решить, какой тип ключа вы хотите использовать. Это совсем другой пост, но вот краткое руководство (по состоянию на декабрь 2018 г.).Происходит медленный, но продолжающийся переход от RSA к клавишам с эллиптическими кривыми (ECDSA или EdDSA). Если вы решите использовать ключи RSA, сделайте их не менее 2048 бит и не беспокойтесь о том, что больше 4096 бит. Если вы используете ECDSA, то, вероятно, лучше всего подойдет кривая P-256 ( secp256k1 или prime256v1 в openssl) & mldr; если вас не беспокоит АНБ, и в этом случае вы можете использовать что-нибудь более интересное, например, EdDSA с Curve25519 (хотя поддержка этих ключей невысока).

Вот пример создания пары ключей P-256 с эллиптической кривой с использованием openssl :

  openssl ecparam -name prime256v1 -genkey -out k.прв
openssl ec -in k.prv -pubout -out k.pub
  

Вот пример генерации такой же пары ключей с использованием step :

  step crypto keypair --kty EC --curve P-256 k.pub k.prv
  

Вы также можете сделать это программно и никогда не позволять вашим личным ключам касаться диска.

Выберите свой яд.

Выдача

После того, как подписчик получит имя и пару ключей, следующим шагом будет получение листового сертификата от ЦС. ЦС захочет подтвердить (доказать) две вещи:

  • Открытый ключ, который должен быть привязан в сертификате, является открытым ключом подписчика (т. Е.е., подписчик знает соответствующий закрытый ключ)
  • Имя, которое должно быть привязано в сертификате, — это имя подписчика

Первое обычно достигается с помощью простого технического механизма: запроса на подпись сертификата. Последнее сложнее. Абстрактно этот процесс называется подтверждением личности или регистрацией.

Запросы на подпись сертификата

Чтобы запросить сертификат, подписчик отправляет запрос на подпись сертификата (CSR) в центр сертификации.CSR — это еще одна структура ASN.1, определенная PKCS # 10.

Подобно сертификату, CSR представляет собой структуру данных, которая содержит открытый ключ, имя и подпись. Он самоподписан с использованием закрытого ключа, который соответствует открытому ключу в CSR. Эта подпись доказывает, что все, что было создано CSR, знает закрытый ключ. Это также позволяет копировать и перемещать CSR без возможности модификации каким-либо злоумышленником.

CSR включают множество опций для указания деталей сертификата.На практике большая часть этого материала игнорируется центрами сертификации. Вместо этого большинство центров сертификации используют шаблон или предоставляют административный интерфейс для сбора этой информации.

Вы можете сгенерировать пару ключей и создать CSR, используя step в одной команде, например:

step certificate create –csr test.smallstep.com test.csr test.key

OpenSSL супер мощный, но много раздражает больше.

Проверка подлинности

После того, как CA получает CSR и проверяет свою подпись, следующее, что ему нужно сделать, это выяснить, действительно ли имя, которое будет привязано в сертификате, является правильным именем подписчика.Это сложно. Вся суть сертификатов состоит в том, чтобы позволить RP аутентифицировать подписчиков, но как CA должен аутентифицировать подписчика до того, как сертификат будет выпущен?

Ответ: это зависит от обстоятельств. Для веб-PKI существует три типа сертификатов, и самые большие различия заключаются в том, как они идентифицируют подписчиков, и в том, какой вид проверки личности используется. К ним относятся: сертификаты проверки домена (DV), проверки организации (OV) и расширенной проверки (EV).

Сертификаты DV связывают DNS-имя и выдаются на основании подтверждения контроля над доменным именем.Подтверждение обычно происходит с помощью простой церемонии, такой как отправка электронного письма с подтверждением административному контакту, указанному в записях WHOIS. Протокол ACME, изначально разработанный и используемый Let’s Encrypt, улучшает этот процесс за счет большей автоматизации: вместо использования проверки электронной почты ЦС ACME выдает задачу, которую подписчик должен выполнить, чтобы доказать, что он контролирует домен. Часть запроса спецификации ACME — это точка расширения, но общие проблемы включают обслуживание случайного числа по заданному URL-адресу (запрос HTTP) и размещение случайного числа в записи TXT DNS (запрос DNS).

Сертификаты OV и EV основаны на сертификатах DV и включают имя и местонахождение организации, которой принадлежит связанное доменное имя. Они связывают сертификат не только с доменным именем, но и с юридическим лицом, которое его контролирует. Процесс проверки сертификатов OV не согласован между центрами сертификации. Чтобы решить эту проблему, CAB Forum представил сертификаты электромобилей. Они включают ту же основную информацию, но требуют строгой проверки (подтверждения личности). Процесс EV может занять дни или недели и может включать в себя поиск публичных записей и аттестации (на бумаге), подписанные корпоративными должностными лицами (ручками).После всего этого, когда вы посещаете веб-сайт, который использует сертификат EV, некоторые браузеры отображают название организации в строке URL-адреса. Помимо этого ограниченного использования в браузерах, сертификаты EV не используются широко и не требуются для доверяющих сторон PKI в Интернете.

По сути, для каждой RP Web PKI требуется только гарантия уровня DV, основанная на «доказательстве» контроля над доменом. Важно учитывать, что именно подтверждает сертификат DV на самом деле . Предполагается, что доказывает, что объект, запрашивающий сертификат, владеет соответствующим доменом.Это на самом деле доказывает, что в какой-то момент объект, запрашивающий сертификат, смог прочитать электронное письмо или , настроить DNS или , обслуживающие секрет через HTTP. Базовая безопасность DNS, электронной почты и BGP, на которую полагаются эти процессы, невелика. Атаки на эту инфраструктуру произошли с целью получения поддельных сертификатов.

Для внутренней PKI вы можете использовать любой процесс для подтверждения личности. Вероятно, вы можете добиться большего успеха, чем полагаться на DNS или электронную почту, как это делает Web PKI.Сначала это может показаться трудным, но на самом деле это не так. Вы можете использовать существующую надежную инфраструктуру: все, что вы используете для подготовки своих материалов, также должно иметь возможность измерять и подтверждать идентичность того, что предоставляется. Если вы доверяете Chef, Puppet, Ansible или Kubernetes размещать код на серверах, вы можете доверять им для подтверждения личности. Если вы используете необработанные AMI на AWS, вы можете использовать документы, удостоверяющие личность (GCP и Azure имеют схожие функции).

Ваша инфраструктура инициализации должна иметь какое-то представление об идентичности, чтобы поместить правильный код в нужное место и начать работу.И вы должны ему доверять. Вы можете использовать эти знания и доверие для настройки доверенных хранилищ RP и начальной загрузки подписчиков во внутреннюю PKI. Все, что вам нужно сделать, — это придумать способ для вашей инфраструктуры предоставления услуг, чтобы сообщить вашему центру сертификации идентификационные данные того, что запускается. Между прочим, именно этот пробел и призваны восполнить сертификаты ступени.

Срок действия

Срок действия сертификатов истекает… обычно. Само по себе это не строгое требование, но почти всегда верно.Включение истечения срока действия сертификата важно, потому что использование сертификата дезагрегировано: как правило, нет центрального органа, который опрашивается, когда сертификат проверяется RP. Без даты истечения срока действия сертификаты будут доверять вечно. Эмпирическое правило безопасности заключается в том, что по мере того, как мы приближаемся навсегда, вероятность того, что учетные данные будут скомпрометированы, приближается к 100%. Таким образом, срок действия сертификатов истекает.

В частности, сертификаты X.509 включают период действия: выдан в раз, не раньше и не позже .Время идет вперед, в конце концов проходит , а не время , и сертификат умирает. В этой, казалось бы, безобидной неизбежности есть пара важных тонкостей.

Во-первых, ничто не мешает конкретному RP принять просроченный сертификат по ошибке (или с плохим дизайном). Опять же, использование сертификатов дезагрегировано. Каждый RP должен проверить, не истек ли срок действия сертификата, и иногда они ошибаются. Это может произойти, если ваш код зависит от системных часов, которые не синхронизированы должным образом.Распространенным сценарием является система, часы которой сброшены на эпоху unix, которая не доверяет никаким сертификатам, потому что думает, что это 1 января 1970 года — задолго до , но не раньше времени для любого недавно выпущенного сертификата. Так что убедитесь, что ваши часы синхронизированы!

На стороне подписчика необходимо правильно обрабатывать материал закрытого ключа после истечения срока действия сертификата. Если для подписи / аутентификации использовалась пара ключей (например, с помощью TLS), вы захотите удалить закрытый ключ, когда он больше не нужен.Хранение ключа подписи — ненужный риск для безопасности: он бесполезен ни для чего, кроме мошеннических подписей. Однако, если ваша пара ключей использовалась для шифрования, ситуация иная. Вам нужно будет хранить закрытый ключ, пока есть данные, зашифрованные под ним. Если вам когда-либо говорили не использовать одну и ту же пару ключей для подписи и шифрования, это основная причина. Использование одного и того же ключа для подписи и шифрования делает невозможным внедрение передовых методов управления жизненным циклом ключей, когда закрытый ключ больше не нужен для подписи: это заставляет вас подписывать ключи дольше, чем необходимо, если это все еще необходимо для расшифровки данных.

Продление

Если вы все еще используете сертификат, срок действия которого истекает, вы захотите обновить его до того, как это произойдет. На самом деле нет стандартного процесса продления для веб-PKI — нет формального способа продлить срок действия сертификата. Вместо этого вы просто заменяете устаревший сертификат новым. Таким образом, процесс продления такой же, как и процесс выдачи: сгенерируйте и отправьте CSR и выполните все обязательства по проверке личности.

Для внутренней PKI мы можем сделать лучше.Самый простой способ — использовать старый сертификат с протоколом, таким как взаимный TLS, для продления. CA может аутентифицировать сертификат клиента, представленный подписчиком, повторно подписать его с продленным сроком действия и вернуть новый сертификат в ответ. Это делает автоматическое продление очень простым и по-прежнему заставляет подписчиков периодически проверяться в центральном органе. Вы можете использовать этот процесс регистрации, чтобы легко создать средства мониторинга и отзыва.

В любом случае самое сложное — просто не забыть обновить сертификаты до истечения срока их действия.Практически у всех, кто управляет сертификатами для общедоступных веб-сайтов, неожиданно истек срок их действия, что приводило к подобной ошибке. Мой лучший совет: если что-то болит, делайте это больше. Используйте недолговечные сертификаты. Это заставит вас улучшить свои процессы и автоматизировать эту проблему. Let’s Encrypt упрощает автоматизацию и выдает 90-дневные сертификаты, что очень хорошо для Web PKI. Для внутренней PKI вам, вероятно, следует пойти еще короче: двадцать четыре часа или меньше. Есть некоторые проблемы с реализацией — беспроблемная ротация сертификатов может быть немного сложной, но это того стоит.

Подсказка, вы можете использовать step , чтобы проверить время истечения срока действия сертификата из командной строки:

  step certificate inspect cert.pem --format json | jq .validity.end
сертификат шага проверить https://smallstep.com --format json | jq .validity.end
  

Это мелочь, но если вы объедините это с передачей зоны DNS в небольшом сценарии bash, вы можете получить достойный мониторинг истечения срока действия сертификатов для всех ваших доменов, чтобы помочь выявить проблемы до того, как они перестанут работать.

Отзыв

Если закрытый ключ скомпрометирован или сертификат больше не нужен, вы можете отозвать его. То есть вы можете захотеть пометить его как недействительный, чтобы RP сразу перестали доверять ему, даже до истечения срока его действия. Отзыв сертификатов X.509 — это большой беспорядок. Как и в случае истечения срока действия, обязательство по принудительному аннулированию ложится на RP. В отличие от срока действия, статус отзыва не может быть закодирован в сертификате. RP должен определить статус отзыва сертификата с помощью некоторого внеполосного процесса.Если явно не настроено, большинство RP TLS веб-PKI не беспокоят. Другими словами, по умолчанию большинство реализаций TLS с радостью принимают отозванные сертификаты.

Для внутренней PKI тенденция заключается в принятии этой реальности и использовании пассивного отзыва . То есть выпуск сертификатов, срок действия которых истекает достаточно быстро, чтобы в отзыве не было необходимости. Если вы хотите «отозвать» сертификат, вы просто запрещаете его продление и ждете, пока он истечет. Чтобы это работало, вам нужно использовать недолговечные сертификаты.Насколько коротко? Это зависит от вашей модели угроз (так специалисты по безопасности говорят ¯ \ (ツ) / ¯). Двадцать четыре часа — это довольно типично, но гораздо меньше времени истекает, например, пять минут. Если вы слишком сократите срок службы, возникают очевидные проблемы, связанные с масштабируемостью и доступностью: каждое обновление требует взаимодействия с онлайн-центром сертификации, поэтому ваша инфраструктура центра сертификации должна быть масштабируемой и высокодоступной. По мере того, как вы сокращаете срок действия сертификата, не забывайте синхронизировать все свои часы, иначе у вас будут плохие времена.

Для Интернета и других сценариев, где пассивное аннулирование не работает, первое, что вам следует сделать, это остановить и пересмотреть пассивное аннулирование. Если у вас действительно должен иметь отзыв, у вас есть два варианта:

  • Списки отозванных сертификатов (CRL)
  • Online Certificate Signing Protocol (OCSP)

CRL определены вместе с миллионом других вещей в RFC 5280. Они есть просто подписанный список серийных номеров, идентифицирующих отозванные сертификаты.Список подается из точки распространения CRL. : URL-адрес, включенный в сертификат. Ожидается, что доверяющие стороны загрузят этот список и будут запрашивать у него статус отзыва всякий раз, когда они проверяют сертификат. Здесь есть некоторые очевидные проблемы: списки отзыва сертификатов могут быть большими, а точки распространения могут выходить из строя. Если RP вообще проверяют списки отзыва сертификатов, они будут сильно кэшировать ответ от точки распространения и выполнять синхронизацию только периодически. В Интернете списки отзыва сертификатов часто кэшируются на несколько дней. Если распространение списков отзыва сертификатов займет так много времени, можно просто использовать пассивный отзыв.Для RP также характерна ошибка при открытии — принятие сертификата, если точка распространения CRL не работает. Это может быть проблемой безопасности: вы можете обманом заставить RP принять отозванный сертификат, организовав атаку отказа в обслуживании против точки распространения CRL.

Как бы то ни было, даже если вы используете CRL, вам следует подумать об использовании краткосрочных сертификатов, чтобы уменьшить размер CRL. CRL должен включать только серийные номера для отозванных сертификатов и , срок действия которых еще не истек.Если ваши сертификаты имеют более короткий срок службы, ваши CRL будут короче.

Если вам не нравится CRL, другим вариантом является OCSP, который позволяет RP запрашивать ответчик OCSP с серийным номером сертификата, чтобы получить статус аннулирования конкретного сертификата. Как и точка распространения CRL, URL-адрес ответчика OCSP включен в сертификат. OCSP звучит мило (и очевидно), но у него есть свои проблемы. Это создает серьезные проблемы с конфиденциальностью для веб-PKI: респондент OCSP может видеть, какие сайты я посещаю, на основе проверок статуса сертификата, которые я отправил.Это также увеличивает накладные расходы на каждое соединение TLS: необходимо сделать дополнительный запрос для проверки статуса отзыва. Как и CRL, многие RP (включая браузеры) не открываются и предполагают, что сертификат действителен, если респондент OCSP не работает или возвращает ошибку.

Сшивание OCSP — это вариант OCSP, который должен исправить эти проблемы. Вместо того, чтобы проверяющая сторона ударила по респонденту OCSP, это делает подписчик, владеющий сертификатом. Ответ OCSP представляет собой подписанное свидетельство с коротким сроком действия, в котором указано, что сертификат не отозван.Аттестация включается в рукопожатие TLS («прикрепляется к сертификату») между подписчиком и RP. Это обеспечивает RP достаточно актуальным статусом отзыва без необходимости напрямую запрашивать ответчик OCSP. Подписчик может использовать подписанный ответ OCSP несколько раз, пока не истечет срок его действия. Это снижает нагрузку на респондента, в основном устраняет проблемы с производительностью и решает проблему конфиденциальности с помощью OCSP. Однако все это немного похоже на прием Руба Гольдберга. Если подписчики обращаются к некоему органу власти, чтобы получить недолговечное подписанное свидетельство о том, что срок действия сертификата еще не истек, почему бы не вырезать посредника: просто используйте краткосрочные сертификаты.

Использование сертификатов

При всей этой предыстории, на самом деле с использованием сертификатов действительно просто. Мы продемонстрируем это с помощью TLS, но большинство других применений очень похожи.

  • Чтобы настроить полагающуюся сторону PKI, вы указываете ей, какие корневые сертификаты использовать
  • Чтобы настроить подписчика PKI, вы указываете ему, какой сертификат и закрытый ключ использовать (или указываете ему, как сгенерировать свою собственную пару ключей и обменять CSR для сам сертификат)

Довольно часто одна сущность (код, устройство, сервер и т. д.) одновременно является и RP, и подписчиком.Такие объекты необходимо настроить с помощью корневого сертификата (ов), сертификата и закрытого ключа. Наконец, для веб-PKI правильным корневым сертификатам по умолчанию обычно доверяют, поэтому эту часть можно пропустить.

Вот полный пример, демонстрирующий выпуск сертификата, распространение корневого сертификата и конфигурацию TLS-клиента (RP) и сервера (подписчика):

Надеюсь, это показывает, насколько простыми и правильными могут быть внутренние PKI и TLS. Вам не нужно использовать самозаверяющие сертификаты или выполнять такие опасные действия, как отключение проверки пути сертификата (передача -k на curl ).

Практически каждый клиент и сервер TLS принимает одни и те же параметры. Почти все они работают с битом жизненного цикла ключа и сертификата: обычно они предполагают, что сертификаты волшебным образом появляются на диске, меняются местами и т. Д. Опять же, если вам это нужно, это то, что делают сертификаты шагов.

Вкратце

Криптография с открытым ключом позволяет компьютерам «видеть» в разных сетях. Если у меня есть открытый ключ, я могу «видеть», что у вас есть соответствующий закрытый ключ, но я не могу его использовать.Если у меня нет вашего открытого ключа, сертификаты могут помочь. Сертификаты привязывают открытые ключи к имени владельца соответствующего закрытого ключа. Они похожи на водительские права для компьютеров и кода. Центры сертификации (ЦС) подписывают сертификаты своими закрытыми ключами, ручаясь за эти привязки. Они как DMV. Если вы единственный, кто похож на вас, и вы покажете мне водительские права, выданные в DMV, которому я доверяю, я смогу узнать ваше имя. Если вы единственный, кто знает закрытый ключ, и отправите мне сертификат из центра сертификации, которому я доверяю, я смогу узнать ваше имя.

В реальном мире большинство сертификатов — это сертификаты X.509 v3. Они определены с использованием ASN.1 и обычно сериализуются как DER в кодировке PEM. Соответствующие закрытые ключи обычно представлены как объекты PKCS # 8, также сериализованные как DER в кодировке PEM. Если вы используете Java или Microsoft, вы можете столкнуться с форматами конвертов PKCS # 7 и PKCS # 12. Здесь много исторического багажа, с которым может быть неприятно работать, но это скорее раздражает, чем сложно.

Инфраструктура открытых ключей — это общий термин для всего, что вам нужно создать и согласовать для эффективного использования открытых ключей: имена, типы ключей, сертификаты, центры сертификации, задания cron, библиотеки и т. Д.Веб-PKI — это общедоступная PKI, которая по умолчанию используется веб-браузерами и почти всем остальным, что использует TLS. ЦС веб-PKI заслуживают доверия, но не заслуживают доверия. Внутренняя PKI — это ваша собственная PKI, которую вы создаете и запускаете самостоятельно. Он вам нужен, потому что веб-PKI не была разработана для внутренних сценариев использования, а также потому, что внутреннюю PKI проще автоматизировать, легче масштабировать и дает вам больше контроля над многими важными вещами, такими как присвоение имен и срок действия сертификата. Используйте Web PKI для общедоступных материалов. Используйте свой собственный внутренний PKI для внутренних вещей (например,g., чтобы использовать TLS для замены VPN). smallstep / Certificates значительно упрощает создание внутренней PKI.

Чтобы получить сертификат, вам необходимо дать имя и сгенерировать ключи. Используйте SAN для имен: DNS SAN для кода и машин, EMAIL SAN для людей. Если они не работают, используйте сети SAN с URI. Тип ключа — это большая тема, которая по большей части не важна: вы можете изменять типы ключей, и фактическая криптография не будет самым слабым звеном в вашей PKI. Чтобы получить сертификат от ЦС, вы отправляете CSR и подтверждаете свою личность. Используйте краткосрочные сертификаты и пассивный отзыв.Автоматическое продление сертификата. Не отключайте проверку пути к сертификату.

Помните: сертификаты и PKI связывают имена с открытыми ключами. Остальное — это просто детали.

Теперь, когда вы понимаете основы PKI, узнайте, как применить эту технологию в нашем проектном документе, или просто начните прямо сейчас!

Как создать сертификаты SSL для разработки | Патрик Калкман

Самозаверяющий сертификат можно создать на любом компьютере. Я использую macOS с версией 1.1.1 OpenSSL.OpenSSL — это полнофункциональный инструментарий и библиотека криптографии. Для большинства операционных систем существуют готовые бинарные пакеты OpenSSL.

Для создания самозаверяющего сертификата необходимы следующие шаги.

  • Создайте закрытый ключ.
  • Создайте запрос на подпись сертификата.
  • Сгенерировать сертификат.

1. Создание закрытого ключа

Первый шаг — создать закрытый ключ, выполнив следующую команду.

 openssl genpkey -алгоритм RSA -des3 -out закрытый-ключ.pem -pkeyopt rsa_keygen_bits: 4096 

genpkey — Команда OpenSSL для выполнения, в данном случае сгенерировать закрытый ключ.

алгоритм RSA — Какой алгоритм открытого ключа использовать. Доступны и другие варианты, такие как RSA-PSS, EC, X25519, X448, ED25519 и ED448.

-des3 — Этот параметр указывает, что OpenSSL должен шифровать закрытый ключ с помощью Triple-DES. После выполнения команды он спрашивает, какой пароль использовать.

из privateKey.pem — OpenSSL должен хранить закрытый ключ в файле с именем privateKey.pem .

pkeyopt rsa_keygen_bits: 4096 — Задает количество бит, которое должно использоваться сгенерированным ключом. Я использую 4096 бит.

Формат выходного файла privateKey.pem по умолчанию — файл PEM. С genpkey OpenSSL использует синтаксис PKCS # 8 для хранения ключа в файле.

Я использую genpkey вместо genrsa , потому что он использует более разумные значения по умолчанию.

Например, количество битов по умолчанию сгенерированного ключа genrsa составляет 512 бит. Которая, согласно ars TECHNICA в 2015 году, могла быть взломана за четыре часа с помощью Amazon EC2 за 75 долларов.

2. Создание запроса на подпись сертификата (CSR)

CSR подобен порядку создания сертификата. Если вам нужен официальный сертификат SSL, вы отправляете его в официальный центр сертификации (ЦС). Они используют CSR для создания официального сертификата.

Однако мы будем использовать этот запрос для создания сертификата самостоятельно, самозаверяющего сертификата.

Ранее я описал две основные причины использования сертификата: шифрование и идентификацию. OpenSSL задаст ряд вопросов, чтобы узнать, какую информацию поместить в CSR.

Вопрос, который задает ваше общее имя , важен для идентификации. Вам следует указать полное доменное имя, для которого вы хотите использовать сертификат. Это также может быть внутренний домен, localhost или IP-адрес.

 openssl req -new -key закрытый ключ.pem -out csr.pem 

req — Создать запрос сертификата в формате PKCS # 10.

-new — Создать новый запрос сертификата. Спросите у пользователя всю необходимую информацию.

-key — Имя используемого закрытого ключа. Закрытый ключ был сгенерирован на предыдущем шаге.

-out — Имя файла созданного запроса сертификата.

OpenSSL задаст следующие вопросы:

  • Общее имя: полное доменное имя (полное доменное имя), которое вы хотите защитить с помощью сертификата.
  • Организация: полное название вашей организации. Важно только для доверенных сертификатов.
  • Организационное подразделение (OU): Ваш отдел. Важно только для доверенных сертификатов.
  • Город или населенный пункт: город, в котором расположена ваша организация.
  • Штат или провинция: штат или провинция, в которой расположена ваша организация.
  • Страна: официальный двухбуквенный код страны, в которой расположена ваша организация.

3. Создание самозаверяющего сертификата

С помощью закрытого ключа из шага 1 и запроса сертификата из шага 2 вы можете создать самозаверяющий сертификат.Следующая команда OpenSSL создает сертификат.

 openssl x509 -in csr.pem -out certificate.pem -req -signkey private-key.pem -days 365 

x509 — Выполнить команду сертификата.

-in — указывает запрос на подпись сертификата ( csr.pem ).

-out — Имя файла для сохранения сгенерированного сертификата. В данном случае certificate.pem .

-req — Указывает OpenSSL, что ввод является CSR.

-signkey — Самостоятельная подпись запроса сертификата с использованием данного файла private-key.pem .

-дней — количество дней, в течение которых сгенерированный сертификат действителен. Нормальные значения — 365, 730 и 1095 дней, чтобы указать продолжительность в один, два или три года.

Теперь у вас есть файл certificate.pem , который можно использовать для локальной разработки. В зависимости от вашей среды разработки вам может потребоваться преобразовать сертификат в другой формат.

Для разработки на Node.js вы можете напрямую использовать файл certificate.pem .

Создание зашифрованных URL-адресов на основе HTTPS с использованием маршрутов

Введение

Let’s Encrypt — это глобальный поставщик центров сертификации (CA). Он предлагает сертификаты проверки домена и позволяет организациям получать, обновлять и управлять сертификатами SSL / TLS. Вы можете запросить сертификат и использовать его в качестве действующего сертификата SSL / TLS на своем веб-сайте или в приложении, для которого требуется действующий сертификат SSL / TLS, без необходимости создания самозаверяющего сертификата.Все это автоматизировано и предоставляется бесплатно.

Короче говоря, вы можете запрашивать и использовать сертификаты SSL / TLS бесплатно!

Одно важное предостережение заключается в том, что сертификаты действительны только в течение 90 дней, но обновление сертификатов выполняется легко и может быть автоматизировано.

В этом посте мы рассмотрим, как использовать эти сертификаты при тестировании OpenShift в своей среде. Я предполагаю следующее (то есть это предварительные условия):

  • У вас работает OpenShift (Enterprise или Origin).
  • Ваша установка доступна в Интернете. То есть он «публичный» (подробнее об этом позже).
  • У вас есть маршрутизатор, уже развернутый в вашей установке OpenShift.

Настройка

Certbot — это утилита командной строки, которая автоматизирует создание и обновление сертификатов SSL / TLS в Let’s Encrypt. Эта утилита доступна в репозиториях EPEL; поэтому его можно установить в любой системе Fedora / EL7. Установка проста. Вам необходимо запустить эту установку на узле (или одном из узлов в установке высокой доступности (HA)), на котором работает ваш маршрутизатор.Ниже приведен пример моей установки.

  # oc get pods 
NAME READY STATUS RESTARTS AGE
docker-registry-3-mjkqz 1/1 Выполняется 0 2d
registry-console-1-0q9xs 1/1 Выполняется 0 2d
router-3-rw077 1/1 Выполняется 0 2д

# oc get pod router-3-rw077 -o jsonpath = '{. Spec.nodeName} {"\ n"}'
ip-172-31-25-173.us-west-1.compute.internal

Как видите, мой маршрутизатор работает на узле ip-172-31-25-173.us-west-1.compute.internal , поэтому я установлю туда certbot . Установка не слишком сложна.

Если вы используете OpenShift в Fedora:

  dnf -y install \ 
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
dnf -y install certbot

Если вы используете OpenShift на EL7 (RHEL / CentOS):

  yum -y install \ 
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y установить certbot

Сценарий использования 1: приложения с нуля

Я начну с самого простого и понятного варианта использования: приложения с нуля. Есть 4 основных шага:

  1. Масштабируйте маршрутизатор до 0.
  2. Запросить сертификат.
  3. Верните масштаб маршрутизатора к 1.
  4. Загрузите свой сертификат.

Прежде чем мы перейдем к этому, давайте создадим тестовый проект и приложение для тестирования:

  # oc new-project test 
# oc new-app openshift / php ~ https: // github.com / RedHatWorkshops / welcome-php -n test

Запрос сертификата

Certbot создает «фиктивный» веб-сервер при запросе сертификата; он делает это для проверки сертификата после его создания. Поскольку это делается на порту 80, это будет мешать работе маршрутизатора. Поскольку мы тестируем это только на системе разработки, мы уменьшим масштаб маршрутизатора, чтобы избежать конфликта портов:

  # oc scale dc / router --replicas = 0 -n default 
deploymentconfig «router» scaled

Теперь запросим сертификат; приведенные ниже сведения не требуют пояснений.При необходимости замените свой домен и адрес электронной почты:

  certbot certonly \ 
--standalone \
-d welcome-php.apps.example.com \
--agree-tos -m [email protected]

Если вы застряли, используйте certbot --help , поскольку он хорошо документирован.

В случае успеха вы получите сообщение «Поздравляю». Как только вы это увидите, увеличьте масштаб маршрутизатора до 1 (или любого другого числа, которое было раньше):

  # oc scale dc / router --replicas = 1 -n default 
deploymentconfig "router" scaled

# oc get pods
NAME READY STATUS RESTARTS AGE
docker-registry-3-mjkqz 1/1 Выполняется 0 2d
registry-console-1-0q9xs 1/1 Выполняется 0 2d
router-3-qrq9z 1/1 Бег 0 1 с

Сертификаты (вместе с README) находятся в каталоге / etc / letsencrypt / live / welcome-php.apps.example.com/ :

  # ls -1 /etc/letsencrypt/live/welcome-php.apps.example.com/ 
cert.pem
chain.pem
fullchain.pem
privkey.pem
README

Загрузка сертификата

Теперь создайте маршрут, выгружающий SSL в маршрутизатор. Сначала выясните, на какую службу вы хотите указать:

  # oc get svc -n test 
ИМЯ КЛАСТЕР-IP ВНЕШНИЙ IP-ПОРТ (И) ВОЗРАСТ
welcome-php 172.30.157.92 8080 / TCP 12 м

Затем создайте маршрут загрузки сертификата. Ниже я использовал «Перенаправление» для трафика без HTTPS:

  oc создать границу маршрута welcome-php \ 
--service = welcome-php \
--cert = / etc / letsencrypt / live / welcome-php.apps.example.com / fullchain.pem \
--key = /etc/letsencrypt/live/welcome-php.apps.example.com/privkey.pem \
--hostname = welcome-php.apps.example.com \
--insecure-policy = Redirect -n test

Самый быстрый способ проверить это с помощью curl :

  # curl -I https: // welcome-php.apps.example.com 
HTTP / 1.1 200 ОК

Обратите внимание, что вам не нужно было использовать -k для небезопасных? Зайдите в браузер и убедитесь, что SSL действителен!

Продление

Эти сертификаты SSL действительны только в течение 90 дней, и их рекомендуется обновлять каждые 60. Вы можете настроить cron каждые 30 дней, чтобы продлевать свой сертификат. Запустить его до даты продления — это нормально, поскольку он ничего не делает, если он еще не наступил.

  # certbot refresh 
Сохранение журнала отладки в / var / log / letsencrypt / letsencrypt.журнал

------------------------------------------------- ------------------------------
Обработка /etc/letsencrypt/renewal/welcome-php.example.com.conf
- -------------------------------------------------- ----------------------------
Сертификат еще не подлежит продлению

Следующие сертификаты еще не подлежат продлению:
/etc/letsencrypt/live/welcome-php.example.com/fullchain.pem (пропущено)

Ваш cron-скрипт должен выполнять следующее:

  • Масштабируйте маршрутизатор до 0.
  • Запускаем обновление.
  • Масштабируйте маршрутизатор до 1.
  • Удалить старый маршрут.
  • Восстановить маршрут; загрузка сертификатов.

Вкратце:

  # oc scale dc / router --replicas = 1 -n default 
# certbot refresh
# oc scale dc / router --replicas = 1 -n default
# oc delete route welcome-php -n test
# oc create край маршрута welcome-php \
--service = welcome-php \
--cert = / etc / letsencrypt / live / welcome-php.apps.example.com/fullchain.pem \
--key = / etc / letsencrypt / live / welcome-php.apps.example.com / privkey.pem \
--hostname = welcome-php.apps.example.com \
--insecure-policy = Перенаправить -n test

«А что, если у меня уже запущено приложение с самозаверяющим сертификатом?» вы можете спросить. Вы можете легко удалить маршрут и добавить сгенерированный сертификат.

Но давайте рассмотрим более сложный вариант использования.

При развертывании OpenShift вы можете настроить метрики для развертывания установщика при установке.Это обеспечивает следующее:

  • Стек показателей работает в OpenShift.
  • Самоподписанный сертификат SSL для стека.
  • Перегружает сертификат SSL API Hawkular с сертификатом маршрутизатора по умолчанию.

Мы хотим заменить сертификат маршрутизатора по умолчанию (самоподписанный) новым сертификатом. Бэкэнд-сертификат может оставаться на месте.

Запрос сертификата

Процесс запроса сертификата такой же.

Сначала масштабируйте маршрутизатор до 0:

  # oc scale dc / router --replicas = 0 -n default 
deploymentconfig «router» scaled

Взгляните на маршруты, чтобы узнать, какой URL-адрес вы будете запрашивать:

  # oc get routes -n openshift-infra -o jsonpath = '{. Items [*]. Spec.host} {"\ n"}' 
hawkular-metrics.apps.example.com

Запросить сертификат с этим именем хоста / URL:

  # certbot certonly \ 
--standalone \
-d hawkular-metrics.apps.example.com \
--agree-tos -m [email protected]

Как только вы получите сообщение об успехе; масштабируйте маршрутизатор обратно до 1:

  # oc scale dc / router --replicas = 1 -n default 
deploymentconfig «router» scaled

Убедитесь, что сертификаты находятся на сервере:

  # ls -1 /etc/letsencrypt/live/hawkular-metrics.apps.example.com/ 
cert.pem
chain.pem
fullchain.pem
privkey.pem
README

Загрузка сертификата

Если вы посмотрите на завершение tls, вы увидите, что для него установлено значение reencrypt :

  # oc получить маршруты -n openshift-infra \ 
-o jsonpath = '{.items [*]. spec.tls.termination} {"\ n"} '
повторно зашифровать

Это означает, что прокси-маршрутизатор HA принимает запрос и повторно шифрует его перед отправкой обратно на адрес серверной службы, используя свой собственный сертификат CA. Вы можете экспортировать этот сертификат CA. Взгляните на это, запустив:

  # oc get secret hawkular-metrics-certificate -n openshift-infra \ 
-o jsonpath = '{. Data.hawkular-metrics-ca \ .certificate}' | base64 -d

Вы можете перенаправить это в файл, чтобы использовать его позже:

  oc получить секреты hawkular-metrics-certificate -n openshift-infra \ 
-o jsonpath = '{.data.hawkular-metrics-ca \ .certificate} '| base64 -d> ~ / hawkular-metrics.ca

Теперь, когда вы экспортировали этот сертификат, удалите текущий маршрут:

  oc удалить маршрут hawkular-metrics-reencrypt -n openshift-infra 

Используйте экспортированный сертификат CA для создания нового маршрута с новыми сертификатами:

  oc create route reencrypt hawkular-metrics-reencrypt -n openshift-infra \ 
--hostname hawkular-metrics.apps.example.com \
--cert /etc/letsencrypt/live/hawkular-metrics.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *