Криптография с открытым ключом
Криптография с открытым ключом использует связанные открытый и закрытый ключи. Открытым ключом можно делиться. Закрытый ключ должен оставаться под контролем уполномоченной стороны. Безопасность зависит от использования поддерживаемого алгоритма, безопасной случайности при создании ключей и защиты закрытого ключа.
Цифровые подписи
Подписант создает цифровую подпись с помощью закрытого ключа. Проверяющий проверяет подпись соответствующим открытым ключом.
Действительная подпись свидетельствует о том, что подписанные байты не были изменены и что владелец закрытого ключа одобрил их. Сама по себе она не идентифицирует человека. Идентичность зависит от того, как были зарегистрированы открытый ключ или контроллер счета и как ими управляют.
Подпись предоставляет доказательства целостности и авторизации, но не шифрует подписанное содержание.
Шифрование с открытым ключом
Некоторые схемы с открытым ключом шифруют данные для открытого ключа получателя. Получатель расшифровывает эти данные соответствующим закрытым ключом. Шифрование и подписи являются отдельными операциями и могут использовать разные ключи или алгоритмы.
Подписание транзакции Iroha не делает данные публичной книги конфиденциальными. Используйте утвержденный механизм конфиденciальности развертывания, когда содержание полезной нагрузки должно оставаться частным.
Ключи на стороне клиента
Каждая сделка должна соответствовать конфигурированной политике контролера счетов. Простые счета могут использовать один ключ подписи. Управляемый счет может использовать более сложную политику контролера.
Клиентское программное обеспечение должно защищать закрытые ключи и другие материалы контроллера. Конфигурация клиента в виде открытого текста подходит только для локальной разработки и контролируемых тестов. Производственные интеграции должны использовать менеджер секретов, хранилище ключей с аппаратной поддержкой, изолированную службу подписания или другую проверенную границу подписания.
Используйте отдельные ключи для отдельных условий и целей. Повторное использование одного ключа связывает эти применения и увеличивает влияние воздействия.
См. Создание криптографических ключей, Хранить криптографические ключи и Операционная безопасность .