bcrypto / btok

Cryptographic tokens
4 stars 4 forks source link

Обновление сертификатов ПУЦ КТ #70

Closed andrewkostevich closed 5 years ago

andrewkostevich commented 5 years ago

В ответ КТ отправляет терминалу свой сертификат. Терминал самостоятельно восстанавливает маршрут сертификации КТ и после этого проверяет его.

Для минимизации последствий от компрометации ПУЦ, выпускающего сертификаты КТ, должно проводится периодическое обновление ключа/сертификата ПУЦ.

Обновление сертификата ПУЦ для КТ требует смены имени ПУЦ: иначе терминал не сможет найти сертификат ПУЦ для КТ с сертификатом, выпущенным ПУЦ с предыдущим ключом/сертификатом.

То есть регулярное обновление ключей/сертификатов ПУЦ приводит к регулярному вводу в эксплуатацию новых ПУЦ.

Рекомендации ICAO по выпуску сертификатов document signer: смена через 3 месяца или через 150000 сертификатов (что наступит раньше). Применительно к Беларуси: обновление ключа каждые 1,5 месяца.

Терминал восстанавливает маршрут сертификации КТ, используя предустановленные сертификаты УЦ или онлайндоступ к сервисам получения таких сертификатов.

Терминалы вынуждены иметь онлайн доступ к сервисам получения таких сертификатов. Для удаленных сертификатов это не составляет проблемы (хотя есть риск offline), но для локальных терминалов это может быть проблемой.

КТ мог бы хранить сертификат своего ПУЦ для обеспечения offline-источника сертификата ПУЦ для терминалов в режиме offline

agievich commented 5 years ago

Сертификат ПУЦ_КТ должен передаваться в момент аутентификации. Нужно усложнять BAUTH, делать команды управления им более громоздкими. Нужно ли это делать? Считаю, что нет.

Во-первых, не вижу необходимости в столь частой смене ПУЦ_КТ. Кажется странной ситуация, когда сертификата ПУЦ закончит действовать раньше, чем подчиненный сертификат КТ. В этой ситуации проверка маршрута в модели X.509 ("все сертификаты должны быть действительны в момент проверки") будет завершаться с ошибкой.

Во-вторых, для полноценной проверки маршрута все равно нужен онлайн-доступ к службам (по крайней мере, нужно проверять статус отзыва). Терминал без онлайн-доступа кажется довольно искусственным.