• Для общего отображения «s» должно иметь длину, кратную длине блока шифрования;

• Для интегрированного сопоставления «s» должно иметь длину n байтов, где n является наименьшим кратным размера блока (в битах) соответствующего блочного шифрования, так что l ≥ k (k - размер ключей сеанса ); Вычисление описано в п.8.3.6.2.

8.3.5. Шаг 4.1. Отображение точки нечетного и вычислительного генераторов для общего отображения

В этом разделе описывается общая функция отображения протокола PACEv2 (PACEv2 GM). И ICC, и IFD создают эфемерную пару открытых ключей и обменивают соответствующие открытые ключи для выполнения соглашения о ключах Диффи-Хеллмана. Исходя из результата соглашения о ключах и несовпадающих, вычислите точку генератора G '

Таблица 43 - Составление карт nonce acc. к обобщенному отображению


Фаза

Шаг

IFD

Трасмиссия

ICC

B

4

GA: MAP NONCE
a) Создание пары эфемерных ключей
PuK. IFD. DH1 = PrK. IFD. DH1 • G
b) Вычислить точку ослепления
H = PrK. IFD. DH1 • PuK. IC C. DH1
c) Вычислить точку генератора
G '= s • G + H

a) Создание пары эфемерных ключей
PuK. IC C. DH1 = PrK. IC C. DH1 • G
b) Вычислить точку ослепления
H = PrK. IC C. DH1 • PuK. IFD. DH1
c) Вычислить точку генератора
G '= s • G + H
Реакция: PuK. IC C. DH1

Поток выполнения


Таблица 44 - Вычислить точку генератора согласно обобщенному отображению - команда APDU


Параметры команды

Значение

CLA

в соответствии с ISO / IEC 7816 4 с командованием

INS

'86'        ОБЩИЙ АУТЕНТИФИКАТ

P1

'00'        

P2

'00'        

Поля Lc

'xx'

Данные поля

'7C' L7C '81' L81 <эфемерный открытый ключ PuK. IFD. DH1>
Для эллиптических кривых поле данных кодируется как
'7C' L7C '81' L81 ['04' || x (PuK. IFD. DH1) || у (PuK. IFD. DH1)]

Поля Le

'xx'


Структура и содержание APDU относятся к ISO / IEC 7816-4, 11.5.5.

НЕ нашли? Не то? Что вы ищете?


Таблица 45 - Вычислить точку генератора согласно обобщенному отображению - ответ APDU


Параметры отклика

Значение

Data field

'7C' L7C '82' L82        [ '04' || x(PuK. IC C. DH1) || y(PuK. IC C. DH1) ]

SW1-SW2

Согласно  ISO/IEC 7816‑4


8.3.6. Шаг 4.2. Отображение точки нечетного и вычислительного генераторов для интегрированного отображения.

8.3.6.1 Общие положения

В этом разделе описывается интегрированная функция отображения протокола PACEv2 IM. И ICC, и IFD генерируют эфемерный секретный ключевой материал с высокой энтропией (одноразовые ключи сеанса и векторы инициализации для безопасного обмена сообщениями) [40].

Таблица 46 - Составление карт nonce acc. интегрированного картографирования


Фаза

Шаг

IFD

Трасмиссия

ICC

B

4

GA: MAP NONCE
a) Вычислить случайный t ответа <бит размера s> бит t.
b) вычислить точку генератора
G '= map2point (s, t)
= fa, b (R (s, t))
где R и fa, b определены ниже

Вычислить точку генератора
G '= map2point (s, t)


8.3.6.2 Описание функции R

Конструкция основана на соответствующем блочном шифре E (TDES или AES) в режиме CBC с ICV = 0, где l кратно размеру блока (в битах) соответствующего блочного шифра E.

Функция R описана в [37]. Функция R (s, t) - это функция, которая отображает строки байтов s (случайная двоичная строка бит длины l) и t (случайная бинарная битовая строка длины k), где k - размер ключа в битах соответствующего блочного шифра (в битах), а l является наименьшим кратным размера блока (в битах) соответствующего блочного шифра, такого, что l> = k, для элемента int (x1 || x2 || ... || xn) mod п. c0 и c1 - константы, определенные в [37]. Функция R (s, t) указана на рисунке ниже, с AES в качестве функции блочного шифрования.

Рисунок 7 - Функция R (s, t) с использованием AES в качестве блочного шифра

Initialization - инициализация

First iteration - Первая итерация

Second iteration - Вторая итерация

Описание функции fa, b

Функция R описана в [23]. Следующее описание применяется для аффинных координат. Обратитесь к [23] для jacobian координат.

Функция принимает на вход общедоступные параметры (a, b, p) эллиптической кривой и число z такое, что для z справедливо 0 <z <p.

Функция возвращает в постоянное время точку (x, y) в подгруппе простого порядка в E.

1. Вычислить б = - z2 mod p

2. Вычислить X2 = - ba-1 (1+ (б + б2) -1) mod p

3. Вычислить X3 = б X2mod p

4. Вычислить h2 = (X2) 3 + a X2 + b mod p

5. Вычислить h3 = (X3) 3 + a X3 + b mod p

6. Вычислить U = z3 h2mod p

7. Вычислите A = (h2) p-1- (p + 1) / 4mod p, где P = 3 mod 4

8. Если A2 h2 = 1 mod p, определите: (x, y) = (X2, A h2mod p)

9. В противном случае определите: (x, y) = (X3, A U mod p)

ПРИМЕЧАНИЕ. PACEv2 IM имеет повышенные характеристики по сравнению с PACEv2 GM: PACEv2 GM требует 5 скалярных умножений на чипе и терминальной стороне, тогда как PACEv2 IM требует только 2. Операции с эллиптической кривой составляют основную часть времени выполнения обоих протоколов, поскольку другие примитивы являются пренебрежимо мало.

Поток выполнения

Таблица 47 - Вычислить точку генератора согласно. для интегрированного картографирования - команда APDU

Параметры команды

Значение

CLA

в соответствии с ISO / IEC 7816-4 с командованием

INS

'86'        ОБЩИЙ АУТЕНТИФИКАТ (см. Поле данных)

P1

'00'        

P2

'00'        

Поле Lc

'xx'

Данные поля

'7C' L7C '81' L81 < Randomt >

Поле Le

'xx'


Структура и содержание APDU относятся к ISO / IEC 7816-4, 11.5.5.

Таблица 48 - Вычислить точку генератора согласно. к интегрированному картографированию - ответ APDU


Параметры отклика

Значение

Данныые поля

'7C' L7C '82' L82 '00'

SW1-SW2

Согласно ISO/IEC 7816‑4


8.3.7 Шаг 5 - Создание ключей сеанса

Ключи сеанса генерируются из эфемерных открытых ключей PuK. IFD. DH2 и PuK. IC C. DH2, которые были вычислены на предыдущих этапах.

Поток выполнения

Таблица 49 - Создание сеансовых клавиш - команда APDU


Параметры команды

Значение

CLA

в соответствии с ISO / IEC 7816-4 с командованием

INS

'86'        ОБЩИЙ АУТЕНТИФИКАТ

P1

'00'        

P2

'00'        

Поле Lc

'xx'

Данные поля

'7C' L7C '83' L83 <эфемерный публичный ключ PuK. IFD. DH2>
Для эллиптических кривых поле данных кодируется как

'7C' L7C '83' L83 ['04' || x(PuK. IFD. DH2) || y(PuK. IFD. DH2)]

Поле Le

'xx'


Структура и содержание APDU относятся к ISO / IEC 7816-4, 11.5.5.


Таблица 50 - Создание сеансовых ключей – ответ


Параметры отклика

Значение

Data field

'7C' L7C '84' L84        [ '04' || x(PuK. IC C. DH2) || y(PuK. IC C. DH2) ]

SW1-SW2

Refer to ISO/IEC 7816‑4


8.3.8. Шаг 6 - Явная аутентификация ключа


После того, как ключи сеанса доступны с обеих сторон, безопасные сообщения могут быть реализованы с помощью новых ключей сеанса. В соответствии с этим безопасным обменом сообщениями проверяется аутентификация ключа, то есть наличие правильного ключа проверяется в соответствии с ключом противоположного устройства. Этот шаг сражается с возможным человеком в середине.

Поток выполнения


Таблица 51 - Явная аутентификация ключа - команда APDU


Параметры команды

Значение

CLA

согласно ISO/IEC 7816‑4

INS

'86'        ОБЩИЙ АУТЕНТИФИКАТ

P1

'00'        

P2

'00'        

Поле Lc

'xx'

Данные поля

'7C' L7C '85' L85 < MAC[KMAC] (PuK. IC C. DH2) >

Le

'xx'


Структура и содержание APDU относятся к ISO / IEC 7816-4, 11.5.5.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20