Почему у swarm-node.key есть два ключа

После этой статьи я понимаю, что этот файл содержит закрытый ключ, который используется для шифрования журналов Raft и обеспечения безопасной связи TLS между узлами.

Это файл: /var/lib/docker/swarm/certificates/swarm-node.key
Заглядывая внутрь его содержания:
введите описание изображения здесь

Похоже, что он состоит из двух частей.
Первая 1 (отмечена зеленым) - это плот-дек.
Согласно этой статье:

На хостах менеджера секреты всегда шифруются в покое. По умолчанию ключ, который шифрует эти секреты (известный как ключ шифрования данных, DEK), также хранится в незашифрованном виде на диске.

Какой второй ключ? Это ключ, который отвечает за шифрование журналов плота?

Имеет ли этот файл два ключа:

  1. Шифровать секреты
  2. Зашифруйте данные на Плот

?

1 ответ

Решение

Существует два вида данных, которые необходимо зашифровать:

  1. Общие данные трафика между узлами.
  2. Чувствительные секреты.

Данные трафика между узлами зашифрованы TLS. Рой использует MTLS для защиты связи между узлами.

Секретные секреты зашифрованы DEK.

это swarm-node.key Файл содержит только один закрытый ключ, который является ключом, используемым в TLS. Этот файл состоит из двух частей: части заголовка и части тела. Часть тела содержит фактический закрытый ключ. И часть заголовка может нести дополнительную информацию. В этом случае DEK находится в части заголовка.

Исходный код:

// the raft DEK (data encryption key) is stored in the TLS key as a header
// these are the header values
pemHeaderRaftDEK              = "raft-dek"
...
Другие вопросы по тегам