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