В криптографии гибридная криптосистема — это система, которая сочетает в себе удобство криптосистемы с открытым ключом и эффективность криптосистемы с симметричным ключом . [1] Криптосистемы с открытым ключом удобны тем, что для безопасного общения они не требуют от отправителя и получателя общего секрета . [2] Однако они часто полагаются на сложные математические вычисления и поэтому обычно гораздо более неэффективны, чем сопоставимые криптосистемы с симметричным ключом. Во многих приложениях высокая стоимость шифрования длинных сообщений в криптосистеме с открытым ключом может оказаться непомерно высокой. Эту проблему решают гибридные системы, используя комбинацию того и другого. [3]
Гибридная криптосистема может быть построена с использованием любых двух отдельных криптосистем:
Гибридная криптосистема сама по себе является системой с открытым ключом, открытый и закрытый ключи которой такие же, как и в схеме инкапсуляции ключей. [4]
Обратите внимание, что для очень длинных сообщений основная часть работы по шифрованию/дешифрованию выполняется с помощью более эффективной схемы с симметричным ключом, тогда как неэффективная схема с открытым ключом используется только для шифрования/дешифрования значения короткого ключа. [3]
Сегодня все практические реализации криптографии с открытым ключом используют гибридную систему. Примеры включают протокол TLS [5] и протокол SSH [6] , которые используют механизм открытого ключа для обмена ключами (например, Диффи-Хеллмана ) и механизм симметричного ключа для инкапсуляции данных (например, AES ). Другими примерами являются формат файла OpenPGP [7] и формат файла PKCS#7 [8] .
Гибридное шифрование с открытым ключом (HPKE, опубликовано как RFC 9180) — это современный стандарт общего гибридного шифрования. HPKE используется в нескольких протоколах IETF, включая MLS и TLS Encrypted Hello.
Шифрование конверта — это пример использования гибридных криптосистем в облачных вычислениях . В облачном контексте гибридные криптосистемы также обеспечивают централизованное управление ключами . [9] [10]
Чтобы зашифровать сообщение, адресованное Алисе, в гибридной криптосистеме, Боб делает следующее:
Чтобы расшифровать этот гибридный зашифрованный текст, Алиса делает следующее:
Если и схема инкапсуляции ключа, и схемы инкапсуляции данных в гибридной криптосистеме защищены от атак с использованием адаптивного выбранного зашифрованного текста , то гибридная схема также наследует это свойство. [4] Однако можно построить гибридную схему, защищенную от атак с адаптивным выбранным зашифрованным текстом, даже если инкапсуляция ключа имеет слегка ослабленное определение безопасности (хотя безопасность инкапсуляции данных должна быть немного выше). [12]
Шифрование конверта — это термин, используемый для шифрования с помощью гибридной криптосистемы , используемой всеми основными поставщиками облачных услуг [9] , часто как часть централизованной системы управления ключами в облачных вычислениях. [13]
Шифрование конверта дает имена ключам, используемым в гибридном шифровании: ключи шифрования данных (сокращенно DEK, используются для шифрования данных) и ключи шифрования ключей (сокращенно KEK, используются для шифрования DEK). В облачной среде шифрование с помощью шифрования конверта включает локальное создание DEK, шифрование данных с использованием DEK, а затем выдачу запроса на обертывание (шифрование) DEK с помощью KEK, хранящегося в потенциально более безопасном сервисе . Затем этот завернутый DEK и зашифрованное сообщение составляют зашифрованный текст для схемы. Чтобы расшифровать зашифрованный текст, упакованный DEK разворачивается (расшифровывается) посредством вызова службы, а затем развернутый DEK используется для расшифровки зашифрованного сообщения. [10] В дополнение к обычным преимуществам гибридной криптосистемы, использование асимметричного шифрования для KEK в облачном контексте обеспечивает более простое управление ключами и разделение ролей, но может быть медленнее. [13]
В облачных системах, таких как Google Cloud Platform и Amazon Web Services , система управления ключами (KMS) может быть доступна как услуга. [13] [10] [14] В некоторых случаях система управления ключами будет хранить ключи в аппаратных модулях безопасности , которые представляют собой аппаратные системы, которые защищают ключи с помощью аппаратных функций, таких как устойчивость к вторжению. [15] Это означает, что ключи KEK также могут быть более безопасными, поскольку они хранятся на защищенном специализированном оборудовании. [13] Шифрование конвертов упрощает централизованное управление ключами, поскольку централизованной системе управления ключами нужно хранить только ключи KEK, которые занимают меньше места, а запросы к KMS включают отправку только упакованных и развернутых DEK, которые используют меньшую пропускную способность, чем передача целых сообщений. Поскольку один KEK можно использовать для шифрования множества DEK, это также позволяет использовать меньше места для хранения в KMS. Это также позволяет осуществлять централизованный аудит и контроль доступа в одной точке доступа. [10]