Основні положення управління ключами ISO/IEC 11770
1. Класифікація ключів, ієрархія ключів і криптоперіод
Стандарт ISO/IEC 10770 здійснює класифікацію ключів за такими класифікаційними ознаками (рис. 1).
По-перше, ключі розподіляються в залежності від того, у якій криптографічній системі вони використовуються – симетричній або несиметричній. Як відомо, в симетричних криптографічних системах здійснюється два перетворення, одне на передаючій стороні, інше – на прийомній, які використовують той самий ключ. У несиметричних же криптосистемах одне перетворення (відкрите) виконується на одному (відкритому) ключі, а інше, закрите перетворення, виконується на іншому (особистому) ключі. У зв'язку з цим усі ключі можна розділити на такі типи:
Особистий ключ (private key) – ключ із пари несиметричних ключів об'єкта, що повинен використовуватися тільки даним об'єктом.
Відкритий ключ (public key) – ключ із пари несиметричних ключів об'єкта, який зроблений загальнодоступним.
Особистий і відкритий ключі використовуються в несиметричних криптографічних системах.
Симетричний ключ (symmetric key) – ключ, що використовується у симетричних (одноключових) криптографічних системах.
Секретний ключ (secret key) – ключ, що тримається в секреті і використовується тільки певною множиною об'єктів. Секретні ключі це зазвичай симетричні й особисті ключі.
Як симетрична, так і несиметрична криптосистема в найзагальнішому випадку реалізує послуги конфіденціальності (системи шифрування) і автентифікації об'єктів і повідомлень (системи автентифікації). У цьому випадку можна розглядати ключі, що необхідні для реалізації задач цих систем.
Системи автентифікації містять механізми забезпечення цілісності повідомлень (МАС-коди, MDC-коди і т.п.) і цифрові підписи. Дані механізми припускають виконання таких дій:
- постановка цифрової печатки (seal), тобто обчислення симетричної криптографічної контрольної суми (МАС-код);
- підпис – обчислення цифрового підпису;
- перевірка цифрової печатки – повторне обчислення криптографічної контрольної функції;
- перевірка підпису – перевірка несиметричного цифрового підпису.
Таким чином, системи автентифікації використовують три основних типи ключів:
- ключ печатки (sealing key) – симетричний секретний ключ;
- ключ підпису (signature key) – особистий ключ;
- ключ перевірки (verification key) – або відкритий ключ (для несиметричних систем), або симетричний секретний ключ (для симетричних систем).
Системи шифрування містять симетричні й несиметричні системи й основними типами ключів тут є:
- ключ шифрування – або секретний ключ, або відкритий ключ;
- ключ дешифрування – або секретний ключ, або особистий ключ.
За типом закриття інформації задачу забезпечення конфіденціальності можна розбити на дві підзадачі:
– забезпечення конфіденціальності даних користувача;
– забезпечення конфіденціальності ключового матеріалу.
У зв'язку з цим ключі звичайно, організовуються в ієрархію ключів (key hierarchies).
На верхьому рівні ієрархії розташовується головний або майстер ключ (master key). Головні ключі не можуть бути криптографічно захищені. Вони захищаються прийняттям відповідних організаційних заходів при їхньому розподілі, збереженні, введенні в дію. Розподіл здійснюється ручним способом через довірених кур'єрів чи спеціальну пошту, або шляхом безпосередньої інсталяції в криптографічне устаткування при його виготовленні або постачанні. Захист у цьому випадку здійснюється через фізичну або електричну ізоляцію пристрою збереження ключа.
На наступному рівні ієрархії знаходяться ключі шифрування ключів (key-encrypting keys). Це симетричні ключі або відкриті ключі шифрування, що використовуються для збереження й передачі інших ключів. Якщо такі ключі застосовуються в протоколах доставки ключів, то вони ще називаються транспортними ключами (key-transport keys).
Нарешті, на нижньому рівні ієрархії розташовуються ключі даних (data keys), що застосовуються для реалізації різних криптографічних операцій над даними користувача. Найчастіше до таких ключів відносяться симетричні короткочасні ключі. До таких ключів можна віднести і ключі генерації цифрового підпису, які найчастіше є довгостроковими ключами.
Для захисту ключів одного рівня ієрархії можуть використовуватися ключі тільки вищого рівня ієрархії. Безпосередньо для реалізації послуг забезпечення безпеки даних використовуються ключі тільки найнижчого рівня ієрархії. Такий підхід дозволяє обмежити використання конкретного ключа, тим самим зменшити ризик розкриття ключа й ускладнити проведення криптоаналітичних атак. Наприклад, компрометація одного ключа даних (тобто ключа на нижньому рівні ієрархії) призведе до компрометації тільки захищених цим ключем даних. Розкриття головного ключа потенційно дає можливість розкрити або маніпулювати всіма ключами, що захищені цим ключем (тобто всіма ключами ієрархії). Отже, бажано мінімізувати доступ до цього ключа. Можна побудувати систему таким чином, щоб жодний із користувачів не мав доступу до значення головного ключа.
Наступною ознакою класифікації ключів є термін їхньої дії або криптоперіод.
Криптоперіод це визначений період часу, протягом якого конкретний криптографічний ключ затверджується до використання або протягом якого криптографічні ключі залишаються в силі для даної системи та придатні для використання авторизованими сторонами.
Криптоперіод служить для того, щоб:
– обмежити кількість інформації, пов'язаної з ключами, доступної для криптоаналізу;
– зменшити ризик порушення безпеки у випадку компрометації ключа;
– обмежити використання конкретних методів і технологій для ефективної оцінки значення ключа протягом його життєвого циклу;
– обмежити доступний обчислювальний час для проведення інтенсивних криптоаналітичних атак (це відноситься тільки до короткочасних ключів).
За тимчасовою ознакою ключі можна розділити на два класи – довгострокові й короткочасні.
До довгострокових ключів належать головні ключі, а також можуть бути віднесені ключі шифрування ключів і ключі, використовувані в схемах угоди про ключі.
Короткочасними ключами є ключі, що вводяться в дію транспортними ключами або шляхом застосування схем угоди про ключі. Найчастіше короткочасні ключі використовуються як ключі даних або як сеансові ключі (session key), що використовуються одним сеансом зв'язку.
З точки зору застосування короткочасні ключі, звичайно, використовують у комунікаційних додатках, тоді як довгострокові ключі використовуються в додатках, орієнтованих на збереження даних, а також для захисту короткочасних ключів.
Терміни короткочасний і довгостроковий відносяться тільки до часу безпосереднього використання ключа для реалізації криптографічної операції, що виконують авторизовані сторони. Ці терміни не можна віднести до більш загальної системної характеристики ключа, як-от до життєвого циклу ключа. Так ключ шифрування, що використовується для одного сеансу зв'язку, тобто короткочасний ключ, може проте, вимагати забезпечення такої захищеності, щоб протистояти криптонападам досить довгий період. З іншого боку, якщо сигнатура буде перевірена негайно й у подальшому перевірки вона не потребує, то і ключ підпису може бути захищений тільки на відносно короткий термін.
2.
Життєвий цикл ключа, функції управління ключами, життєвий цикл управління ключами
Криптографічний ключ може знаходитися в різних станах, які визначають життєвий цикл ключа. Стандарт ISO/IEC 11770 розрізняє основні та перехідні стани. Основними станами є:
– стан очікування (черговий стан) (pending active) – стан, у якому ключ не використовується для звичайних операцій;
– активний стан (active) – стан, у якому ключ використовується для криптографічного опрацювання інформації;
– постактивний стан (post active) – стан, у якому ключ може використовуватися тільки для дешифрування або верифікації. У разі потреби використання ключа за призначенням він переводиться з постактивного в активний стан. Ключ, про котрий відомо, що він скомпрометований, повинен бути негайно переведеним у постактивний стан.
При переході з одного основного стану в інший, ключ може знаходитися в одному з перехідних станів (transition). Такими перехідними станами є:
– генерація – процес генерації ключа, у ході якого відповідно до запропонованих правил генерується ключ;
– активізація (activation) – процес або сукупність процесів, у ході яких ключ стає придатним для використання, тобто переводиться зі стану очікування в активний стан;
– деактивізація (deactivation) – процес або сукупність процесів, що обмежують використання ключа, наприклад, через закінчення терміну дії ключа чи його анулювання або які переводять ключ з активного стану в постактивний;
– реактивізація (reactivation) – процес або сукупність процесів, що дозволяє перевести ключ із постактивного в активний стан для повторного використання;
– знищення (destruction) – завершує життєвий цикл ключа.
На рисунку 2 схематично поданий взаємозв'язок основних станів і перехідних станів.
Життєвий цикл ключа підтримується одинадцятьма функціями управління ключами (key management services). Коротко охарактеризуємо ці функції.
1. Генерація ключа забезпечує генерацію криптографічного ключа з заданими властивостями для конкретних криптографічних додатків.
2. Реєстрація ключа зв'язує ключ з об'єктом (звичайно тільки відповідні секретні ключі). Об'єкт, що бажає зареєструвати ключ, контактує з адміністратором реєстрації.
3. Створення сертифікату ключа гарантує взаємозв'язок відкритого ключа з об'єктом і забезпечується уповноваженим органом сертифікації (crtification authority), що генерує відповідні сертифікати.
4. Розподіл ключа (distribute key) множина процедур безпечного (секретного) забезпечення ключами і пов'язаної з ними інформації уповноважених об'єктів.
5. Інсталяція ключа (install-key) розміщення ключа в устаткуванні управління ключами безпечним способом і готовим до використання.
6. Збереження ключа (store-key) безпечне збереження ключів для подальшого використання або відновлення ключа для повторного використання.
7. Похідна ключа (derive-key) формування великої кількості ключів, що називаються похідними ключами, шляхом комбінування секретного вихідного ключового матеріалу, називає мого ключем деривації, із несекретними даними на основі використання необоротних процесів.
Рисунок 2 – Взаємозв'язок основних і перехідних станів
криптографічний ключ криптоперіод симетричний
8. Архівуваня ключа (archive-key) забезпечення безпечного збереження ключів після їх, використання. Дана функція використовує функцію збереження ключа та інші засоби, наприклад, зовнішні сховища.
9. Скасування (анулювання) ключа (revoke-key) (відомо як вилучення ключа (delete key)) у випадках компрометації ключа функція забезпечує безпечну деактивізацію ключа.
10. Дерегістрація ключа (deregister-key) функція реалізується повноважним органом реєстрації, що вбиває запис про те, що даний секретний ключ, пов'язаний з об'єктом.
1 Знищення ключа (destroy-key) забезпечує безпечне знищення ключів, у яких закінчився термін дії. Ця функція включає і знищення всіх архівних копій ключа.
Послідовність станів, у яких може знаходитись ключовий матеріал, функції управління ключами, інші функції й процеси, що протікають протягом усього життєвого циклу ключів, утворюють життєвий цикл управління ключами. На рис. 3. поданий життєвий цикл управління ключами і його взаємозв'язок з основними станами ключів.
Життєвий цикл управління ключами містить такі основні етапи й процеси.
1. Реєстрація користувача – процес, у ході якого об'єкт стає авторизованим членом домену безпеки. Це передбачає придбання (створення) і обмін первинним ключовим матеріалом між користувачем і доменом безпеки, що, наприклад, розділяється паролем або персональним ідентифікаційним номером (PIN). Усі дії в ході реєстрації здійснюються безпечними одноразовими способами, наприклад через особистий обмін, заказною поштою, довіреним кур'єром.
2. Ініціалізація користувача – процес, у ході якого об'єкт ініціалізує свій криптографічний додаток (наприклад, інсталює та ініціалізує програмне або апаратне забезпечення), включаючи використання або інсталяцію первинного ключового матеріалу, що був отриманий під час реєстрації користувача.
Рисунок 3 – Життєвий цикл управління ключами
3. Генерація ключа. Генерація криптографічних ключів обов'язково повинна містити заходи, спрямовані на забезпечення відповідних властивостей ключа і його випадковість. Ці властивості забезпечуються шляхом використання методів генерації випадкових або псевдовипадкових чисел. Об'єкт може генерувати собі ключі або самостійно, або запитувати їх у довірчої сторони.
4. Інсталяція ключа. Ключовий матеріал інсталюється в програмне або апаратне забезпечення об'єкта за допомогою різних методів, наприклад ручне введення пароля або PIN, передача даних із використанням диску, постійного запам'ятовуючого пристрою, чіпкарти або інших апаратних пристроїв (наприклад, завантажника ключа). Первинний ключовий матеріал може служити для організації безпечного on-line сеансу зв'язку, за допомогою якого вводяться в дію основні робочі криптографічні ключі. У подальшому, відновлення ключового матеріалу повинно здійснюватися за допомогою безпечних on-line методів відновлення.
5. Реєстрація ключа здійснюється в тісному зв'язку з інсталяцією ключа і полягає в тому, що ключовий матеріал офіційно заноситься під унікальним ім'ям об'єкта в закриту базу ключів адміністратором реєстрації. Для відкритих ключів адміністратор сертифікації створює сертифікати відкритих ключів, що виступають у ролі гарантів істиності й цілісності ключа. Сертифікати заносяться у довідник відкритих ключів і є загальнодоступними.
6. Нормальне використання. На даному етапі ключі знаходяться в оперативній досяжності для стандартних криптографічних додатків, включаючи контроль використання криптографічних ключів. За нормальних умов функціонування системи період нормального використання ключів співпадає з криптоперіодом ключів. У несиметричних криптосистемах ключі з однієї пари можуть знаходитися на різних етапах свого існування. Наприклад, у деякий момент часу відкритий ключ шифрування може вважатися недійсним, у той час як закритий особистий ключ залишається в активному стані і може використовуватися для дешифрування.
7. Резервування ключа є резервуванням ключового матеріалу в незалежному, безпечному сховищі з метою здійснення, у разі потреби, відновлення ключа. Резервні копії ключа в основному відправляються на короткочасне збереження під час нормального використання ключа.
8. Відновлення ключа. Наприкінці криптоперіоду оперативний ключовий матеріал заміняється новим. Це припускає використання комбінації функції генерації ключів, розроблення або встановлення нових ключів, реалізації двосторонніх протоколів введення в дію ключів або організації зв'язку з залученням довірчої третьої сторони. Для відкритих ключів відновлення і реєстрація нових ключів звичайно припускає реалізацію безпечних комунікаційних протоколів за участю адміністратора сертифікації.
9. Архівування ключового матеріалу, що надалі не буде використовуватися для здійснення криптографічних операцій, здійснюється з метою забезпечення можливості пошуку ключа при виникненні особливих умов, наприклад, розв'язання суперечок, включаючи реалізацію функції причетності. Архівування припускає довгострокове автономне збереження ключа, що виводиться при цьому в постактивний стан.
10. Перед знищенням ключа здійснюється його дерегістрація, тобто вилучення відповідного запису з довідника, у результаті чого знищується взаємозв'язок значення конкретного ключа з об'єктом. Якщо здійснюється знищення секретного ключа, необхідно забезпечити безпечне й надійне знищення всіх його слідів (залишків).
11 Відновлення ключа здійснюється у випадку, коли ключовий матеріал був загублений у результаті не примусової (ненавмисної) компрометації (збої, несправність устаткування, забування (втрата) пароля). У цьому випадку використовуються резервні копії ключа.
12. Вилучення (анулювання) ключа припускає вивід ключа з активного стану в постактивний у результаті, наприклад, його компрометації. При цьому безпосередньо ключ не знищується. Для відкритих ключів у цьому випадку здійснюється вилучення (анулювання) сертифікату.
Поданий життєвий цикл управління ключами є найбільш загальним і характерним для несиметричних криптосистем. У симетричних криптосистемах управління ключами в загальному випадку менш складне. Так сеансові ключі можуть не реєструватися, не резервуватися, не вилучатися і не архівуватися.