Ноу Інти, лекція, протоколювання і аудит, шифрування, контроль цілісності

контроль цілісності

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

В основі криптографічного контролю цілісності лежать два поняття:

  • хеш-функція;
  • електронний цифровий підпис (ЕЦП).

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

Нехай є дані, цілісність яких потрібно перевірити, хеш функція і раніше обчислений результат її застосування до вихідних даних (так званий дайджест). Позначимо хеш-функцію через h, вихідні дані - через T, перевіряються дані - через T '. Контроль цілісності даних зводиться до перевірки рівності h (T ') = h (T). Якщо воно виконано, вважається, що T '= T. Збіг дайджестів для різних даних називається колізією. В принципі, колізії, звичайно, можливі, оскільки потужність множини дайджестів менше, ніж потужність безлічі хешіруемих даних, однак те, що h є функція одностороння, означає, що за прийнятний час спеціально організувати колізію неможливо.

Розглянемо тепер застосування асиметричного шифрування для вироблення і перевірки електронного цифрового підпису. Нехай E (T) позначає результат шифрування тексту T за допомогою відкритого ключа, а D (T) - результат розшифрування тексту Т (як правило, шифрованого) за допомогою секретного ключа. Щоб асиметричний метод міг застосовуватися для реалізації ЕЦП. необхідним є дотримання тотожності

На рис. 11.5 показана процедура вироблення електронного цифрового підпису, що складається в шифруванні перетворенням D дайджесту h (T).

випливає, що S '= D (h (T')) (для доказу досить застосувати до обох частин перетворення D і викреслити в лівій частині тотожне перетворення D (E ())). Таким чином, електронний цифровий підпис захищає цілісність повідомлення та засвідчує особу відправника, тобто захищає цілісність джерела даних і служить основою неспростовності.

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

цифрові сертифікати

При використанні асиметричних методів шифрування (і, зокрема, електронного цифрового підпису) необхідно мати гарантію автентичності пари (ім'я користувача, відкритий ключ користувача). Для вирішення цього завдання в специфікаціях X.509 вводяться поняття цифрового сертифікату та засвідчувального центру.

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

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

Цифрові сертифікати мають наступні властивості:

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

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

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

Цифрові сертифікати у форматі X.509 версії 3 стали не тільки формальним, але і фактичним стандартом, підтримуваним численними засвідчують центрами.