Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Все_лекции_Горбенко

.pdf
Скачиваний:
344
Добавлен:
23.02.2015
Размер:
16.96 Mб
Скачать

505

PХ = dХ G, для кожного об’єкта Х. Див. першу частину цього стандарту, де описано як генерувати цю ключову пару;

- доступ до автентифікованої копії відкритого ключа для узгодження ключів іншої сторони для кожного об’єкта.

Кожен об’єкт повинен незалежно перевірити, що відкритий ключ іншого об’єкта є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту, де описано як це робити.

8.2.2 Механізм

8.2.2.1 Формування ключа (А): Об’єкт А обчислює розділюваний ключ,

використовуючи свій особистий ключ узгодження ключів dA та відкритий

ключ узгодження ключів PB об’єкта В таким чином:

KAB = (dA l) (h PB).

8.2.2.2 Формування ключа (В): Об’єкт В обчислює розділюваний ключ, використовуючи свій особистий ключ узгодження ключів dB та відкритий ключ узгодження ключів PA об’єкта А таким чином:

KAB = (dB l) (h PA).

8.2.3 Властивості

Цей механізм узгодження ключів має такі властивості:

а) Число проходів: 0.

б) Механізм забезпечує взаємну неявну автентифікацію ключа.

Примітка. В наслідок першої властивості таємниця що установлюють між двома однаковими користувачами завжди має однакове значення. З цієї причини пропонують у вхідні дані функції вироблення ключа включати інформацію, що змінюється у часі.

8.3 Узгодження ключів типу Ель-Гамаля (KAEG)

Цей механізм узгодження ключів установлює таємницю, що розділюється між двома об’єктами А та В, за один прохід.

8.3.1 Налаштування

Перед процесом узгодження таємниці, що розділюється, додатково до

спільної інформації необхідно установити:

506

-об'єкту B особистий ключ узгодження ключів dB та відкритий ключ узгодження ключів PВ, який є точкою еліптичної кривої, і обчислюється згідно рівнянню PB = dB G. Див. першу частину цього стандарту, де описано як генерувати цю ключову пару;

-доступ до автентифікованої копії відкритого ключа узгодження ключів об’єкта В для об’єкта А.

Об’єкт А повинен перевіряти, що відкритий ключ об’єкта В є дійсно

точкою еліптичної кривої. Див. першу частину цього стандарту, де описано як

це робити.

8.3.2 Механізм

8.3.2.1 Формування маркера ключа (А): Об’єкт А випадково генерує таємне значення r, що належить діапазону 1,..., n 1 , обчислює rG, формує

маркер ключа:

КТA1 = rG

й посилає його об’єкту В.

8.3.2.2 Формування ключа (А): Об’єкт А обчислює розділюваний ключ:

KAB = (r l) (h PB).

8.3.2.3 Формування ключа (В): Об’єкт В повинен перевірити, що КТА1 є

дійсно точкою еліптичної кривої. Див. першу частину цього стандарту, де описано як це робити. Використовуючи свій особистий ключ та маркер КТА1

об’єкт В обчислює розділюваний ключ такимчином:

KAB = (dB l) (h КТА1).

8.3.3 Властивості

Цей механізм має такі властивості:

а) Число проходів: 1.

507

б) Механізм забезпечує неявну автентифікацію ключа об’єктом А об’єкта В, тому що об’єкт В є єдиним об’єктом відмінним від об’єкта А, який може обчислити таємницю, що розділюється.

в) Механізм забезпечує криптографічну живучість ключа об’єкта А.

8.4 Узгодження ключів типу Діффі-Гелмана

Цей механізм узгодження ключів забезпечує установлення таємниці, що розділюється між об’єктами А та В, за два проходи.

8.4.1 Налаштування

Цей механізм узгодження ключів не потребує встановлення будь-якої вхідної інформації відмінної від спільної інформації.

8.4.2 Механізм

8.4.2.1 Формування маркера ключа (А): Об’єкта А випадково генерує таємне значення rА , що знаходиться у діапазоні 1,..., n 1 , обчислює rAG,

формує маркер ключа:

КТA1 = rAG

й посилає його об’єкту В.

8.4.2.2 Формування маркера ключа (В): Об’єкт В випадково генерує таємне значення rВ , що знаходиться у діапазоні 1,..., n 1 , обчислює rBG,

формує маркер ключа:

КТВ1 = rBG

й посилає його об’єкту А.

8.4.2.3 Формування ключа (А): Об’єкт А повинен перевірити, що маркер

КТВ1. є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту,

де описано як це робити. Об’єкт Aобчислюєрозділюваний ключ:

KAB = (rА l) (h КТВ1).

508

8.4.2.4 Формування ключа (В): Об’єкт В повинен перевірити, що маркер

КТА1 є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту,

де описано як це робити. Об’єкт В обчислюєрозділюваний ключ:

KAB = (rB l) (h КТА1).

8.4.3 Властивості

Цей механізм узгодження ключів маєтакі властивості:

а) Число проходів: 2.

б)механізм забезпечує взаємну криптографічну живучість ключів.

8.5 Узгодження ключів типу Діффі-Гелмана за допомогою двох пар ключів (KADH2KP)

Цей механізм узгодження ключів установлює розділювану таємницю між об’єктами Ата В за два проходи.

8.5.1 Налаштування

Перед процесом узгодження таємниці, що розділюється, у додаток до спільної інформації необхідно установити:

- особистий ключ узгодження ключів dХ та відкритий ключ узгодження ключів PХ, який є точкою еліптичної кривої, що відповідає рівнянню

PХ = dХ G. Див. першу частину цього стандарту, де описано як генерувати цю ключову пару;

- доступ до автентифікованої копії відкритого ключа для узгодження ключів об’єкта В для об’єкта А.

Об’єкт А повинен перевіряти, що відкритий ключ об’єкта В є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту, де описано як це робити.

8.5.2 Механізм

509

8.5.2.1 Формування маркера ключа (А): Об’єкт А генерує випадково

таємне значення rА, , що знаходиться у діапазоні 1,..., n 1 , обчислює rAG та

формує маркер ключа:

КТA1 = rAG

й посилає його об’єкту В.

8.5.2.2 Формування маркера ключа (В): Об’єкт В генерує випадково таємне значення rВ ,що знаходиться у діапазоні 1,..., n 1 , обчислює rBG та

формує маркер ключа:

КТВ1 = rBG

й посилає його об’єкту А.

8.5.2.3 Формування ключа (А): Об’єкт А повинен перевірити, що маркер

КТВ1 є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту,

де описано як це робити. Об’єкт Аобчислюєрозділюваний ключ:

KAB = (dA l) (h КТВ1) || (rA l) (h PB)

8.5.2.4 Формування ключа (В): Об’єкт В повинен перевірити, що КТА1 є

дійсно точкою еліптичної кривої. Див. першу частину цього стандарту, де описано як це робити. Об’єкт В обчислює розділюваний ключ:

KAB = (rB l) (h PA) || (dB l) (h КТА1).

Примітка. Об’єднання точок у вигляді конкатенації не є єдиним способом формування ключа. Будь-які доступні подання у префіксному вигляді(наприклад, ASN.1) будуть також працювати. Тому є вибір, а метод для об’єднання двох значень стає частиною того, що необхідно узгодити всіма сторонами. Див. також Додаток А для більш детального пояснення.

8.5.3 Властивості

Цей механізм узгодження ключів має такі властивості:

a)Число проходів: 2.

b)Механізм забезпечує криптографічну живучість ключів суб’єктів А і В окремо.

c)Механізм забезпечує взаємну неявну автентифікацію ключа.

8.6Узгодження ключів типу Діффі-Гелмана з двома електронними цифровими підписами та підтвердженням ключів (KADH2SKC)

Цей механізм узгодження ключів установлює розділювану таємницю між об’єктами А і В за три проходи.

8.6.1 Налаштування

KTA1

510

Перед процесом узгодження розділюваної таємниці у додаток до спільної інформації повинно бути установлено:

особистий ключ електронного цифрового підпису та відкритий ключ перевіряння, що відповідає взаємній узгодженості щодо алгоритму електронного цифрового підпису, для кожного об’єкту;

доступ до автентифікованої копії відкритого ключа перевіряння іншої сторони для кожного об’єкта;

будь-які параметри для використання у перетвореннях електронного цифрового підпису;

функцію криптографічного контрольного значення, f .

Національна примітка

У контексті під ключем перевіряння розуміється відкритий ключ ключової пари для перевіряння електронного цифрового підпису.

8.6.2 Механізм

Нехай особисте та відкрите перетворення електронного цифрового підпису об’єкта X визначають Sx та Vx ,

відповідно; пара (Sx ,Vx ) може позначати будь-яку систему електронного цифрового підпису, наприклад одну з таких систем визначено у стандартах ISO/IEC 9796, ДСТУ ISO/IEC 14888 або ISO/IEC 15946-2.

8.6.2.1 Побудування маркера ключа (A): Об’єкт А генерує випадково таємне значення rA , що знаходиться у діапазоні [1,n 1], обчислює rAG та формує маркер ключа

KTA1 rAG

й посилає його суб’єкту В.

8.6.2.2 Формування маркера ключа (B): Об’єкт B повинен перевірити, що маркер є дійсно точкою

еліптичної кривої. Див. першу частину стандарту, де описано як це робити. Об’єкт В випадково генерує таємне значення rB , що знаходиться у діапазоні {1,...,n 1}, обчислює rBG та обчислює розділювану таємницю

KAB (rB l)(hKTA1) ,

формує підписаний маркер ключа

KTB1 SB(DB1)|| fKAB (DB1),

де

DB1 rBG|| KTA1 || A[|| Text1]

й посилає його об’єкту A.

Примітка. Для зменшення кількості переданих даних при використанні схем електронного цифрового підпису з додаванням, надмірне значення KTA1 разом з блоком KTB1 можна не повертати, незважаючи на те що воно усе ще повинно включатися у сферу обчислення електронного цифрового підпису.

8.6.2.3 Обробка маркера ключа (A): Об’єкт А перевіряє електронний цифровий підпис маркера ключа KTB1

об’єкта В використовуючи відкритий ключ перевіряння об’єкта В. Якщовикористовується схема електронного

DB2 з
KTA2
підпис KTA1
DB1 з

511

цифрового підпису з відновлення повідомлення, тоді дана обробка включає відновлення блоку даних

підпису і перевіряння того, що розрізнювальний ідентифікатор об’єкта А та значення rAG містяться у цьому блоку. Якщо використовується схема електронного цифрового підпису з додаванням, тоді дана обробка включає перетворення блоку даних DB1, використовуючи значення у KTA1, розрізнювального

ідентифікатора об’єкта А та одержаного значення rBG, і перевіряння електронного цифрового підпису цього блоку даних.

Об’єкт A повинен перевірити, що значення rBG, одержане з KTB1 є дійсно точкою еліптичної кривої. Див.

першу частину, де описано як це робити. Якщо перевірка пройшла успішно, то об’єкт A обчислює розділюваний ключ

KAB (rA l)(h rBG).

Використовуючи KAB , об’єкт A перевіряє криптографічне контрольне значення fKAB (DB1).Потім об’єкт

A формує підписаний маркер ключа

KTA2 SA(DB2 )|| fKAB (DB2 ),

де

DB2 rAG ||rBG || B [|| Text2]

й посилає його об’єкту B.

Національна примітка.

Контроль цілісності та справжності маркера ключа KTA1 здійснюється суб’єктом В тільки перевіркою, що

KTA1 є точкою еліптичної кривої. Але це не є достатньою умовою забезпечення цілісності та справжності,

тому що, якщо відомо G, то порушник завжди може сформувати хибне значення KTA1 та нав’язати його на першому кроці передачі KTA1 суб’єкту В. Тому вже на першому кроці передачі бажано прийняти заходи з забезпечення цілісності та справжності KTA1. Інакше при відповіді об’єкта В розділюваний ключ KAB буде

хибним завдяки хибності KTA1. Далі порушник Ax може прийняти та перевірити KTB1, оскільки йому доступним є відкритий ключ електронного цифрового підпису об’єкта В тощо. Вирішенням цього протиріччя є

своїм особистим ключем.

Примітка. Для зменшення кількості переданих даних при використанні схем електронного цифрового підпису з додаванням, можна не повертати надмірне значення rAG та rbG разом з блоком KTA2 , незважаючи на те що його необхідно і включати у сферу обчислення електронного цифрового підпису.

8.6.2.4 Обробка маркера ключа (B): Об’єкт В перевіряє електронний цифровий підпис маркера ключа об’єкта А використовуючи відкритий ключ перевіряння об’єкта А. Якщовикористовується схема електронного цифрового підпису з відновлення повідомлення, тоді дана обробка включає відновлення блоку даних

підпису і перевіряння, що розрізнювальний ідентифікатор об’єкта В та значення rAG і rBG містяться у цьому блоку. Якщо використовується схема електронного цифрового підпису з додаванням, тоді дана обробка включає перетворення блоку даних DB2, використовуючи значення у KTA1 і KTB1 та розрізнювального ідентифікатора об’єкта В, і перевіряння електронного цифрового підпису цього блоку даних.

Якщо перевірки пройшли успішно об’єкт В перевіряє криптографічне контрольне значення fKAB (DB2) ,

використовуючи розділюваний ключ

KAB (rB l)(hKTA1).

8.6.3 Властивості

Цей механізм узгодження ключів має такі властивості:

a)Число проходів: 3.

b)Механізм забезпечує взаємну криптографічну живучість ключів.

512

c) Механізм забезпечує взаємну неявну автентифікацію ключа і взаємну автентифікацію об’єктів.

9 МЕХАНІЗМИ УЗГОДЖЕННЯ КЛЮЧІВ, ЩО НЕ ВКЛЮЧЕНІ В ISO/IEC 11770-3

Механізми узгодження ключів, що наведено уцьому розділі не включені в стандарт управління ключами

ISO/IEC 11770-3.

Якщо необхідні автентифіковані копії відкритих ключів інших об’єктів, тоді вони можуть бути одержані використовуючи методи, що наведено урозділі 9 стандарту ISO/IEC 11770-3.

Примітка. Всі обчислення в цьому розділі повинні виконуватися згідно наведених формул.

9.1 Спільна інформація

Для всіх механізмів узгодження ключів перед процесом узгодження розділюваної таємниці необхідно установити між сторонами та в разі необхідності перевірити таку спільну інформацію (див. першу частину цього стандарту, де описано параметри перевіряння):

- параметри еліптичної кривої, з якими пов’язані ключові пари, повинні бути однаковими для ключових пар обох сторін. Вони включають модулі p, pm

або 2m, опис полів F(p), F(pm) або F(2m), базис, що використовується, криву E ,

порядок базової точки п та базову точку G.

У кожному механізмі, що наведені нижче, результат узгодження ключів не повинен використовуватись безпосередньо у якості криптографічного ключа. Замість цього, він повинен використовуватись у якості вхідного значення для функції вироблення ключа, дозволяючи обом сторонам виробляти однакові криптографічні ключі. Тому, для обох сторін необхідно узгодити таку інформацію:

-функцію вироблення ключа, kdf;

-будь-які параметри для функції вироблення ключа;

-тип кофакторного множення, що необхідно виконувати (якщо потрібно).

9.2 Узагальнена повна модель

Цей механізм узгодження ключів установлює розділювану таємницю між об’єктами А і В за два проходи.

9.2.1 Налаштування

Перед процесом узгодження розділюваної таємниці, у додаток до

спільної інформації повинно бути установлено:

- особистий ключ для узгодження ключів dХ, який є цілим числом у

діапазоні {1,...,n 1} та відкритий ключ для узгодження ключів PХ, який є

513

точкою еліптичної кривої, що обчислюється для кожного об’єкта Х за допомогою рівняння PХ = dХ G;

- доступ до автентифікованої копії відкритого ключа для узгодження ключів іншої сторони для кожного об’єкта.

Кожен об’єкт повинен незалежно перевіряти, що відкритий ключ іншої сторони є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту, де описано як це робити.

9.2.2Механізм

9.2.2.1Формування маркера ключа (А): Об’єкт А випадково генерує

таємне значення rА , що знаходиться у діапазоні 1,..., n 1 , обчислює rAG та

формує маркер ключа:

КТA1 = rAG

й посилає його об’єкту В.

9.2.2.2 Формування маркера ключа (В): Об’єкт В генерує випадково таємне значення rВ ,що знаходиться у діапазоні 1,..., n 1 , обчислює rBG та

формує маркер ключа:

КТВ1 = rBG

й посилає його об’єкту А.

9.2.2.3 Формування ключа (А): Об’єкт А повинен перевірити, що маркер

КТВ1 є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту,

де описано як це робити. Об’єкт Аобчислюєрозділюваний ключ:

KAB (rA l)(hKTB1)||(dA l)(hPB ).

9.2.2.4 Формування ключа (В): Об’єкт В повинен перевірити, що маркер

КТА1 є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту,

де описано як це робити. Об’єкт В обчислюєрозділюваний ключ:

KAB (rB l)(hKTA1)||(dB l)(hPA).

9.2.3 Властивості

Цей механізм узгодження ключів маєтакі властивості:

514

а) Число проходів: 2.

b)Механізм забезпечує взаємну криптографічну живучість ключів.

c)Механізм забезпечуєвзаємну неявну автентифікацію ключа.

Примітка. Об’єднання точок у вигляді конкатенації не є єдиним способом формування ключа. Будь-які доступні префіксні подання (наприклад, ASN.1) будуть також працювати. Тому є вибір, а метод для об’єднання двох значення стає частиною того, що необхідно узгодити всіма сторонами. Див. також Додаток А для більш детального пояснення.

9.3 Узгодження ключів типу MQV за 1 прохід (KAMQV1P)

Цей механізм узгодження ключів установлює розділювану таємницю між двома об’єктами А і В за один прохід.

9.3.1 Налаштування

Перед процесом узгодження розділюваної таємниці, у додаток до

спільної інформації повинно бути установлено:

- особистий ключ узгодження ключів dХ та відкритий ключ узгодження ключів PХ, який є точкою еліптичної кривої, і обчислений для кожного об’єкта

X з використанням рівняння PХ = dХ G. Див. першу частину цього стандарту,

де описано як це робити. ; - доступ до автентифікованої копії відкритого ключа для узгодження

ключів іншого об’єкта для кожного об’єкту.

Кожен об’єкт повинен незалежно перевіряти, що відкритий ключ іншого об’єкту є дійсно точкою еліптичної кривої. Див. першу частину цього стандарту, де описано як це робити.

9.3.2Механізм

9.3.2.1Формування маркера ключа (А): Об’єкт А генерує випадкове

таємне значення r ,що знаходиться у діапазоні 1,..., n 1 , обчислює r G та

формує маркер ключа:

КТA1 = rG

й посилає його об’єкту В.

9.3.2.2 Формування маркера ключа і(А): Об’єкт А обчислює розділюваний

ключ

KAB ((r (KTA1)dA) l)(h (PB (PB)PB )).