LINUX.ORG.RU
ФорумTalks

Client TLS и mutual TLS — одно и то же?

 ,


0

1

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

Как это называется: client TLS, или mutual TLS?

Какой в этом смысл, если все сертификаты самоподписанные и их всё равно нужно всюду регистрировать?

Или с этим в Admin?

★★★

mutual TLS = client TLS + server TLS

Какой в этом смысл, если все сертификаты самоподписанные и их всё равно нужно всюду регистрировать?

Без поднятого УдостоверяющийЦентр (CertificateAuthority) - мало смысла. Т.к. как минимум непонятно как отзывать такое. Читай про ИПК(PKI).

Есть такие варианты:

  • тебя просят сделать модель на самоподписанных, а УЦ будет внешний, типа НУЦ или GlobalSign
  • кастомер не знает или плохо понимает про ИПК, ему нужно объяснить чего как
  • кастомер шарит, и хочет sertificate pinning
faq2
()
Ответ на: комментарий от faq2

ИПК

Что это такое?

кастомер шарит, и хочет sertificate pinning

Что такое certificate pinning? Проверка всех метаданных сертификата? Может ли, например, та же библиотека OpenSSL включить режим недоверия общесистемным сертификатам и доверять только одному конкретному?

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

ИПК == PKI

certificate pinning - морской термин, почитай

faq2
()

Ну да смысл в том чтоб отзывать и не регать все сертификты на клиенте.

Самоподписанные у тебя разобьются на пары

ca.crt+server.crt

ca.crt+client.crt

server и client будешь подписывать ca.crt и регистрировать будешь не все, а только два на каждом сервере/клиенте.

cylon17
()

Client TLS. Смысл, как вариант, аутентификация через аппаратный токен.

snizovtsev ★★★★★
()
Ответ на: комментарий от olegd

давай на примере, настройки для apache:

SSLEngine on

SSLCertificateFile /pki/server.crt

SSLCertificateKeyFile /pki/server.key

SSLCACertificateFile /pki/ca.crt

SSLVerifyClient require

са - это корневой сертификат. Сертификат это публичный ключ с доп. информацией. Качни easyrsa и почитай это баш скрипт для создания свойей pki.

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

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

В этой схеме центр авторизации CA не знает приватных ключей тех кому он подписывет запросы, и клиенты CA не знают приватный ключ CA.

Короче еще раз :) сертификат это публичный ключ + доп. инфо.

cylon17
()
Последнее исправление: cylon17 (всего исправлений: 4)
Ответ на: комментарий от olegd

тут еще путаница в том что когда ты ставишь сертификаты в windows, то для корневого сертификата, тебе не нужен приватный ключ, а для клиентского сертификата нужен клиентский приватный ключ

Для этого пара упаковывается в .p12 файлик и называется сертификатом, но на самом деле это сертификат с приватным ключом в одном файле. :)

cylon17
()
Последнее исправление: cylon17 (всего исправлений: 1)
Ответ на: комментарий от cylon17

сертификат это публичный ключ + доп. инфо.

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

Для этого пара упаковывается в .p12 файлик – сертификат с приватным ключом в одном файле.

Спасибо. Я это уже неоднократно делал. Только не вполне понимал зачем :)

olegd ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.