Как реализовать клиент KMS как можно более независимым от сервера?
Учитывая приложение, которое должно получить закрытые ключи (в основном RSA) из системы управления ключами ( KMS
), который может быть модулем аппаратной безопасности ( HSM
), что может быть лучшим способом для реализации такого клиента, если нет возможности узнать заранее KMS
С реализацией приложения придется иметь дело?
Подвопросы возникают из основного:
- Существует ли единая клиентская библиотека, которая пытается сократить разрыв между различными реализациями?
- Тот, который нацелен
KMIP
https://en.wikipedia.org/wiki/Key_Management_Interoperability_Protocol_(KMIP) реализации, по крайней мере, будет хорошим примером. - На каком языке это? Чем больше цель одной и той же библиотеки, тем лучше.
- Есть ли один для
Java
(на чем будет работать мое приложение, но я пытаюсь оставить вопрос открытым)?
- Тот, который нацелен
- Если нет ничего или мало, что предназначено для нескольких реализаций сервера, существуют ли конкретные клиенты для конкретных реализаций? Я думаю в основном о наиболее используемых среди
SMBs
(Малый и средний бизнес) и крупные компании.- На каком языке это? Чем больше цель одной и той же библиотеки, тем лучше.
- Есть ли для
Java
?
- Если ни одна из них на самом деле не существует или если для наиболее необходимой реализации не существует клиентской библиотеки, каков будет лучший способ спроектировать приложение, которое будет легко адаптироваться в будущем к другим реализациям, при этом основное внимание будет уделено первой?
- Я думаю, что было бы неплохо сосредоточиться на
KMIP
первый послушный?
- Я думаю, что было бы неплохо сосредоточиться на
- Существуют ли реальные примеры работающего кода в интернете? Четное
UML
диаграммы? Этот вид ресурсов ощущается довольно скудно. - Я просто глуп, чтобы думать, что все, что существует, и все эти реализации на самом деле используют
RESTful
API-интерфейсы и все, что нужно реализовать на стороне клиента, чтобы адаптироваться к любой реализации сервера?
Бонусный вопрос:
Является ли Google Cloud Key Management Service
KMIP
соответствует или нет? Кажется, дело не в этом, но я не смог найти yes
ни ясно no
,
Другие полезные ресурсы:
- Спецификация KMIP, версия 1.4
- Руководство от Townsend Security по
Encryption Key Management