Безопасная аутентификация с использованием цифрового сертификата и цифровой подписи - PullRequest
0 голосов
/ 14 мая 2019

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

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

Теперь я запутался, как это будет сделано прагматично.

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

Извините, я новичок в цифровом сертификате и цифровой подписи.

1 Ответ

1 голос
/ 14 мая 2019

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

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

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

  • Вы должны связать открытый ключ с учетной записью пользователя при регистрации

  • с https, дополнительное шифрование избыточно и бесполезно

  • шифрование с открытым ключом (при условии RSA) ограничено размером ключа.

Откуда я могу получить цифровой сертификат, в основном это доверенный CA?

У каждого браузера есть свой список доверенных. Кроме того, в ЕС существует список квалифицированных поставщиков сертификатов. Списки разные.

Вы также можете создать свой собственный CA

Существует ли REST API Центром сертификации, куда я отправляю сертификат для подтверждения сертификата?

формат сообщения для запроса сертификата стандартизирован (pkcs # 10), но протокол соединения с ЦС - нет. Возможно, что CA имеет службы REST, но в любом случае CA никогда не выдаст сертификат без проверки пользовательских данных, включенных в сертификат

.

Есть ли какая-нибудь библиотека для анализа сертификата для извлечения информации?

Конечно, ищите ваш язык программирования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...