stringtranslate.com

Значение контрольной суммы ключа

В криптографии значение контрольной суммы ключа ( KCV) — это контрольная сумма криптографического ключа . [1] Он используется для проверки целостности ключа или сравнения ключей без знания их фактических значений. KCV вычисляется путем шифрования блока байтов, каждый со значением «00» или «01», с помощью криптографического ключа и сохранения первых 6 шестнадцатеричных символов зашифрованного результата. Он используется для управления ключами в различных устройствах шифрования, таких как SIM-карты или аппаратные модули безопасности (HSM) .

В технических спецификациях GlobalPlatform KCV определен для ключей DES/3DES и AES следующим образом: [2]

Для ключа DES значение проверки ключа вычисляется путем шифрования 8 байтов, каждый со значением «00», с использованием проверяемого ключа и сохранением 3 байтов высшего порядка зашифрованного результата. Для ключа AES значение проверки ключа вычисляется путем шифрования 16 байтов, каждый со значением «01», с использованием проверяемого ключа и сохранением 3 байтов высшего порядка зашифрованного результата.

То же определение использует GSMA . [3]

KCV для симметричного управления ключами в сфере розничных финансовых услуг

В индустрии платежных карт используется следующее определение, как указано в требовании 15-1 стандарта безопасности PIN-кода PCI . [4] Те же определения можно также найти в стандартах ASC X9 в соответствии с ANSI x9.24-1-2017 Управление симметричными ключами для розничных финансовых услуг, часть 1 [5]

Проверочные значения могут быть рассчитаны двумя методами. TDEA может использовать любой метод. AES должен использовать только метод CMAC . В первом методе контрольные значения вычисляются путем шифрования блока, состоящего из двоичных нулей, с использованием ключа или компонента в качестве ключа шифрования с использованием крайних левых n битов результата; где n не превышает 24 бит (6 шестнадцатеричных цифр/3 байта). Во втором методе KCV рассчитывается путем MAC-анализа блока, состоящего из всех двоичных нулей, с использованием алгоритма CMAC , как указано в ISO 9797-1 (см. также NIST SP 800-38B). Проверочным значением будут самые левые n бит результата, где n не превышает 40 бит (10 шестнадцатеричных цифр). Блочный шифр, используемый в функции CMAC, такой же, как и блочный шифр самого ключа. Ключ TDEA или компонент ключа TDEA будет иметь MAC-код с использованием блочного шифра TDEA , а 128-битный ключ или компонент AES будет иметь MAC-код с использованием блочного шифра AES -128 .

Рекомендации

  1. ^ «Криптография — обнаружение неправильного ключа с использованием AES/GCM в JAVA» .
  2. ^ GPC_SPE_034, «Спецификация карты GlobalPlatform 2.3.1», GlobalPlatform , март 2018 г., Раздел B5
  3. ^ «Архитектура удаленного обеспечения для встроенного UICC 3.1», GSMA , май 2016 г., Приложение F
  4. ^ Безопасность PIN-кода PCI, требования и процедуры тестирования, версия 3.1, PCI , март 2021 г., требование 15-1.
  5. ^ ANSI x9.24-1-2017 Управление симметричными ключами розничных финансовых услуг, часть 1, ASC X9, 2017, Приложение A