КріптоПро, цифровий сертифікат

Необхідність захисту інформації

Триваюче бурхливий розвиток комп'ютерних технологій і повсюдне впровадження в бізнес з використанням Інтернету докорінно змінює усталені способи ведення бізнесу. Системи корпоративної безпеки, що забезпечують бізнес, теж не можуть залишатися осторонь.

Для чого потрібна криптографія

Система криптографічного захисту повинна забезпечувати:

Що таке криптографія з відкритими ключами

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

Криптографія ділиться на два класи: з симетричними ключами і відкритими ключами.

У криптографії з симетричними ключами відправник і одержувач використовують один і той же (загальний) ключ, як для шифрування, так і для розшифрування.

Переваги криптографії з симетричними ключами:

  • Продуктивність - Продуктивність алгоритмів із симетричними ключами дуже велика.
  • Стійкість - Криптографія з симетричними ключами дуже стійка, що робить практично неможливим процес дешифрування. За інших рівних умов (загальний алгоритм) стійкість визначається довжиною ключа. При довжині ключа 256 біт необхідно провести 10 в 77 ступені переборовши для визначення ключа.

Недоліки криптографії з симетричними ключами:

  • Розподіл ключів - Так як для шифрування і розшифрування використовується один і той же ключ, при використанні криптографії з симетричними ключами потрібні дуже надійні механізми для розподілу ключів.
  • Масштабованість - Так як використовується єдиний ключ між відправником і кожним з одержувачів, кількість необхідних ключів зростає в геометричній прогресії. Для 10 користувачів потрібно 45 ключів, а для 100 вже 499500.
  • Обмежене використання - Так як криптографія з симетричними ключами використовується тільки для шифрування даних і обмежує доступ до них, при її використанні неможливо забезпечити аутентифікацію і неотрекаемость.

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

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

Криптографія з відкритими ключами вимагає наявності Інфраструктури Відкритих Ключів (PKI - Public Key Infrastructure) - невід'ємного сервісу для управління електронними сертифікатами і ключами користувачів, прикладного забезпечення і систем.

Верифікація відкритого ключа

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

Електронний сертифікат являє собою цифровий документ, який пов'язує відкритий ключ з певним користувачем або додатком. Для запевнення електронного сертифіката використовується електронний цифровий підпис довіреної центру - Центру Сертифікації (ЦС). Виходячи з функцій, які виконує ЦС, він є основним компонентом всієї Інфраструктури Відкритих Ключів. Використовуючи відкритий ключ ЦС, кожен користувач може перевірити достовірність електронного сертифіката, випущеного ЦС, і скористатися його вмістом.

Верифікація ланцюжка сертифікатів

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

Процедура верифікації ланцюжка сертифікатів описана в рекомендаціях X.509 і RFC 2459 і перевіряє зв'язаність між ім'ям Власника сертифіката та його відкритим ключем. Процедура верифікації ланцюжка має на увазі, що всі "правильні" ланцюжка починаються з сертифікатів, виданих одним довіреною центром сертифікації. Під довіреною центром розуміється головний ЦС, відкритий ключ якого міститься в самоподпісанного сертифікаті. Таке обмеження спрощує процедуру верифікації, хоча наявність самоподпісанного сертифіката і його криптографічний перевірка не забезпечують безпеки. Для забезпечення довіри до відкритого ключа такого сертифіката повинні бути застосовані спеціальні способи його поширення та зберігання, так як на даному відкритий ключ перевіряються всі інші сертифікати.

Алгоритм верифікації ланцюжків використовує такі дані:

  • Х.500 ім'я Видавця сертифіката;
  • Х.500 ім'я Власника сертифіката;
  • відкритий ключ Видавця;
  • термін дії відкритого (секретного) ключа Видавця і Власника;
  • обмежують доповнення, які використовуються при верифікації ланцюжків (basicConstraints, nameConstraints, policyConstrains);
  • СОС для кожного Видавця (навіть якщо він не містить відкликаються сертифікатів).

Ланцюжок сертифікатів є послідовність з n сертифікатів, в якій:

  • для всіх x в, Власник сертифіката x є Видавець сертифіката x + 1;
  • сертифікат x = 1 є самоподпісанний сертифікат;
  • сертифікат x = n є сертифікат кінцевого користувача;

Одночасно з ланцюжком сертифікатів використовується ланцюжок СОС, що представляє собою послідовність з n СОС, в якій:

  • для всіх СОС x в, Видавець сертифіката x є Видавець СОС x;
  • СОС x = 1 є СОС, виданий Власником самоподпісанного сертифіката;
  • СОС x = n є СОС, виданий Видавцем сертифікат кінцевого користувача;

Після побудови двох ланцюжків (сертифікатів і СОС) виконується:

  • криптографічний перевірка сертифікатів і СОС в ланцюжках;
  • перевірка термінів дії сертифікатів і СОС;
  • перевірка відповідності імен Видавця і Власника з використанням доповнення nameConstraints;
  • перевірка довжини ланцюжка з використанням доповнення basicConstraints;
  • перевірка на відгук сертифікатів, причому, якщо сертифікат проміжного центру був відкликаний СОС вищестоящого центру, всі сертифікати, видані проміжним центром, вважаються недійсними;
  • перевірка прийнятних регламентів використання сертифіката і прийнятних областей використання ключа з використанням доповнень certificatesPolicies і extendedKeyUsage.

Компоненти ІВК і їх функції

До складу компонент ІВК входять наступні компоненти:

  • Центр Сертифікації;
  • Центр Реєстрації;
  • Кінцеві користувачі;
  • Мережевий довідник.

центр Сертифікації

Центр Сертифікації (або Засвідчувальний Центр) - основна керуюча компонента ІВК, призначена для формування електронних сертифікатів підлеглих Центрів і кінцевих користувачів. Крім сертифікатів, ЦС формує список відкликаних сертифікатів X.509 CRL (СОС) з регулярністю, визначеної Регламентом системи.

До основних функція ЦС відносяться:

  • Формування власного секретного ключа і сертифіката ЦС;
  • Формування сертифікатів підлеглих Центрів;
  • Формування сертифікатів відкритих ключів кінцевих користувачів;
  • Формування списку відкликаних сертифікатів;
  • Ведення бази всіх виготовлених сертифікатів та списків відкликаних сертифікатів;

центр Реєстрації

Опциональная компонента ІВК, призначена для реєстрації кінцевих користувачів. Основне завдання ЦР - реєстрація користувачів і забезпечення їх взаємодії з ЦС. До завдань ЦР може також входити публікація сертифікатів і СОС в мережевому довіднику LDAP.

користувачі

Користувач, додаток або система, що є Власниками сертифікату і використовують ІВК.

Мережевий довідник

Опциональная компонента ІВК, що містить сертифікати і списки відкликаних сертифікатів і служить для цілей розповсюдження цих об'єктів серед користувачів з використанням протоколу LDAP (HTTP, FTP).

Використання ІВК в додатках

Web додатки

Web браузери і сервера використовують ІВК для аутентифікації і конфіденційності сесії, а також для онлайнових банківських додатків і електронних магазинів. Найбільш поширеним протоколом в цій сфері є протокол SSL (Secure Sockets Layer). Протокол SSL не обмежується застосуванням тільки для захисту HTTP (Hypertext Transfer Protocol), а також може бути використаний для FTP (File Transfer Protocol) і Telnet.

ЕЦП файлів і додатків

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

Стандарти в області ІВК

Стандарти в області ІВК діляться на дві групи: частина з них описує власне реалізацію ІВК, а друга частина, яка відноситься до призначеного для користувача рівня, використовує ІВК, не визначаючи її. На наведеному малюнку показана зв'язок додатків до стандартів. Стандартизація в області ІВК дозволяє різним додаткам взаємодіяти між собою з використанням єдиної ІВК.

Особливо стандартизація важлива в області:

  • процедури реєстрації та вироблення ключа;
  • опису формату сертифіката;
  • опису формату СОС;
  • опису формату криптографически захищених даних;
  • опису онлайнових протоколів.

Основним центром з випуску узгоджених стандартів в області ІВК є робоча група ІВК (PKI working group) організації IETF (Internet Engineering Task Force), відома як група PKIX (від скорочення PKI for X.509 certificates).

стандарти PKIX

Специфікації PKIX засновані на двох групах стандартів: X.509 ITU-T (Міжнародний комітет з телекомунікацій) і PKCS (Public Key Cryptography Standards) firmy RSA Data Security. X.509 спочатку був призначений для специфікації аутентифікації при використанні в складі сервісу X.500 директорії. Фактично ж, синтаксис електронного сертифіката, запропонований в X.509 визнаний стандартом де-факто і отримав загальне поширення незалежно від X.500. Однак X.509 ITU-T не був призначений для повного визначення ІВК. З метою застосування стандартів X.509 в повсякденній практиці користувачі, постачальники і комітети зі стандартизації звертаються до стандартів PKCS. PKIX група видала такі нормативні документи Internet (RFC):

Стандарт X.509 ITU-T є фундаментальним стандартом, що лежить в основі всіх інших, які використовуються в ІВК. Основне його призначення - визначення формату електронного сертифіката та списків відкликаних сертифікатів.

Із серії стандартів, виданих фірмою RSA Data Security, найбільш важливими і використовуваними в ІВК є:

Стандарти, засновані на ІВК

Більшість стандартів, що використовують криптографію, розроблено з урахуванням використання ІВК.

Стандарт S / MIME визначений IETF для забезпечення захищеного обміну повідомленнями. S / MIME використовує ІВК для формування ЕЦП та шифрування інформації. У групі стандартів S / MIME найбільш важливими є наступні: Cryptographic Message Syntax, Message Specification, Certificate Handling і Certificate Request Syntax.

Протокол SSL (розроблений фірмою Netscape) і відповідний йому стандарт IETF TLS (RFC 2246) є найбільш розповсюдженими стандартами для забезпечення захищеного доступу до Web. Разом з цим, SSL і TLS широко використовуються для створення клієнт - серверних додатків, що не використовують Web. Обидва ці протоколу в своїй основі використовують ІВК.

Secure Electronic Transactions (SET)

Протокол SET був розроблений фірмами Visa і MasterCard і призначений для забезпечення системи електронних банківських розрахунків з використанням пластикових карт. В даному протоколі ІВК є фундаментом, на якому базується вся система аутентифікації учасників розрахунків.

Протокол IPSEC (Internet Protocol Security Protocol) розроблений IETF як протокол для шифрування IP і є одним з основних протоколів, використовуваних для побудови VPN. ІВК в протоколі IPSEC використовується для аутентифікації і шифрування. В даний час протокол ще широко не поширений, але повсюдне розвиток ІВК призводить до зростання кількості реалізацій IPSEC.

висновок

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