Remove ads
З Вікіпедії, вільної енциклопедії
Цілісність даних (англ. data integrity) — підтримка та забезпечення точності та цілісності даних протягом всього життєвого циклу[en], що є критично важливим аспектом при проектуванні, впровадженні та експлуатації систем, які зберігають, обробляють та постачають дані. Термін має широке значення і може означати різне в залежності від контексту і розділу комп'ютерних наук (криптографія, теорія електричного зв'язку, теорія інформації, безпека).
В телекомунікації цілісність даних часто перевіряють, використовуючи хеш-суму повідомлення, обчислену алгоритмом MAC (Message authentication code).
У криптографії та інформаційній безпеці цілісність даних (в загальному) — це дані в тому вигляді, в якому вони були створені. Приклади порушень цілісності даних:
У теорії баз даних, цілісність даних означає коректність даних та їх несуперечність. Зазвичай вона також включає цілісність зв'язків, що виключає помилки зв'язків між первинним і вторинним ключем. Приміром, коли існують дочірні записи-сироти, які не мають зв'язку з батьківськими записами. Приклади порушень цілісності даних:
Для перевірки цілісності даних в криптографії використовуються геш-функції, наприклад, MD5. Хеш-функція перетворює сукупність електронних даних довільного розміру в електронні данні фіксованого розміру (число). Якщо дані зміняться, то і число, що генерується хеш-функцією, теж зміниться.
Цілісність даних — властивість, при виконанні якого дані зберігають заздалегідь певний вид і якість.
В Рекомендаціях по стандартизації Р 50.1.053-2005[1] дається наступне визначення:
|
В Рекомендаціях по стандартизації Р 50.1.056-2005[2] уточнено визначення і рознесені по об'єктах додатка:
|
У деяких спеціалізованих стандарти використовуються власні визначення даного поняття:
|
Термін використовується в наступних галузях знань: інформаційна безпека, комп'ютерна безпека, захист інформації, захист комп'ютерних мереж та інформаційних систем, інформаційні технології, корпоративні інформаційні системи. Поняття «цілісність об'єкта»(англ. integrity) використовується як термін в теорії інформаційної безпеки (ІБ). Під об'єктом розуміють інформацію, спеціалізовані дані або ресурси автоматизованої системи. Цілісність інформації (як ресурсу автоматизованої системи) є одним з трьох основних властивостей об'єкта ІБ. Властивості об'єкта ІБ:
Іноді в цей список додають:
Методи і способи реалізації вимог, викладених у визначенні терміна, докладно описуються в рамках єдиної схеми забезпечення інформаційної безпеки об'єкта (захисту інформації).
Основними методами забезпечення цілісності інформації (даних) при зберіганні в автоматизованих системах є:
Одним з дієвих методів реалізації вимог цілісності інформації при її передачі лініями зв'язку є криптографічний захист інформації (шифрування, хешування, електронний цифровий підпис).
При комплексному підході до захисту бізнесу, напрям забезпечення цілісності та доступності інформації (ресурсів бізнес-процесів) переростає в план заходів, що спрямовані на забезпечення безперервності бізнесу.
Шифрування даних саме по собі, не гарантує, що цілісність даних не буде порушена, тому в криптографії використовуються додаткові методи для гарантування цілісності даних. Під порушенням цілісності розуміється наступне:
У криптографії рішення задачі цілісності інформації передбачає застосування заходів, що дозволяють виявляти не стільки випадкові викривлення інформації, так як для цієї мети цілком підходять методи теорії кодування з виявленням і виправленням помилок, скільки цілеспрямоване зміна інформації активним криптоаналітиком. Процес контролю цілісності забезпечується введенням в передану інформацію надмірності. Це досягається додаванням до повідомлення деякої перевірочної комбінації. Така комбінація обчислюється згідно з певним алгоритмом і відіграє роль індикатора, за допомогою якого перевіряється цілісність повідомлення. Саме цей момент дає можливість перевірити, чи були змінені дані третьою стороною. Ймовірність того, що дані були змінені, служить мірою імітостійкості шифру.
Додаткову надлишкову інформацію, внесену до повідомлення, називають імітовставкою. Вироблятися імітовставка може як до початку, так і одночасно з шифруванням повідомлення.
Число двійкових розрядів (число біт у імітовставці у загальному випадку визначається криптографічними вимог з урахуванням того, що ймовірність нав'язування помилкових даних дорівнює 1/2p
, p
— число двійкових розрядів (число біт) в імітовставці.
Імітовставка — число, обчислюване на основі вмісту повідомлення. Тобто, імітовставка є функцією повідомлення:
де:
M
— імітовставка;f
— функція, що обчислює імітовставку;x
— повідомлення.Імітовставка може використовуватися як для перевірки аутентичності повідомлення, так і для перевірки його цілісності. В залежності від призначення імітовставки алгоритми роботи функцій f
(коди) ділять на два класи:
Хеш-функції для обчислення коду перевірки цілісності повідомлень належать до підкласу безключових хеш-функцій. В реально існуючих криптосистемах ці хеш-функції - криптографічні, тобто крім мінімальних властивостей хеш-функцій (стиснення даних, простота обчислення дайджесту (англ. digest) від повідомлення) задовольняють таким властивостям:
В залежності від того, яким із цих властивостей задовольняють MDC хеш-функції, можна виділити два їх підкласи:
Існує три основних типи MDC алгоритмів хеш-функцій, за способом їх побудови:
До MAC хеш-функцій для обчислення кодів аутентифікації повідомлень, підродини ключових хеш-функцій, відносять сімейство функцій, що задовольняють наступним властивостям:
x[i], h(x[i])
), обчислювально неможливо отримати нову пару повідомлення-дайджест (x, h(x)
), для якого-небудь нового повідомлення x
.Якщо не виконується остання властивість, то MAC може бути підроблений. Також остання властивість означає, що ключ неможливо обчислити, тобто, маючи одну або більше пар (x[i], h(x[i])
) з ключем k
, обчислювально неможливо отримати цей ключ.
Алгоритми отримання коду аутентифікації повідомлення можуть бути розділені на наступні групи за їх типом:
Існують методи отримання з MDC кодів автентифікації повідомлень включенням секретного ключа у вхідні дані алгоритму MDC. Недоліком такого підходу є те, що фактично на практиці більшість алгоритмів MDC розроблено так, що вони є або OWHF, або CRHF, вимоги до яких відрізняються від вимог до MAC алгоритмів.
Фактично, у загальному вигляді, процес передачі даних і їх перевірки на цілісність виглядає наступним чином: користувач A додає до свого повідомлення дайджест. Ця пара буде передана другій стороні B. Там виділяється повідомлення, обчислюється для нього дайджест і дайджести порівнюються. У разі збігу значень повідомлення буде вважатися достовірним. Розбіжність буде говорити про те, що дані були змінені.
Від вихідного повідомлення обчислюється MDC, =h(x). Цей дайджест додається до повідомлення С=(x||h(x)). Потім розширене таким чином повідомлення шифрується якимось криптоалгоритмом E з загальним ключем k. Після шифрування отримане повідомлення Cencripted передається другій стороні, яка використовуючи ключ, виділяє з шифрованого повідомлення дані x обчислює значення дайджесту '. Якщо він збігається з отриманим , то вважається, що цілісність повідомлення було збережено.
Метою цього шифрування є захист доданого MDC, щоб третя сторона не могла змінити повідомлення без порушення відповідності між розшифрованим текстом і відновленим кодом перевірки цілісності даних
Якщо при передачі даних конфіденційність не є суттєвою, крім як для забезпечення цілісності даних, то можливі схеми, в яких будуть зашифровані або повідомлення x, або MDC.
Порівняно з попереднім випадком в канал надсилається повідомлення наступного вигляду: Ek(x||hk1(x)). Така схема забезпечення цілісності має перевагу над попередньою схемою з MDC: якщо шифр буде зламаний, MAC все одно буде забезпечувати цілісність даних. Недоліком є те, що використовується два різних ключі, для криптоалгоритма і для MAC. При використанні такої схеми, слід бути впевненим, що будь-які залежності між алгоритмом MAC і алгоритмом шифрування не призведуть до уразливості системи. Рекомендується, щоб ці два алгоритми були незалежними (наприклад, такий недолік системи може проявлятися, коли як алгоритм MAC використовується CBC-MAC, і як схема шифрування CBC).
Взагалі кажучи, шифрування повідомлення при використанні кодів аутентифікації повідомлень не обов'язково з точки зору забезпечення цілісності даних тому в найпростіших випадках у схемі може не відбуватися шифрування повідомлення (x||hk(x)).
З точки зору криптографії основний інтерес представляють завдання забезпечення цілісності даних, в яких здійснюються їх навмисні зміни. Однак методи забезпечення перевірки випадкових змін теж застосовуються. До таких методів відносять використання кодів виявлення і виправлення помилок. До таких, наприклад, належать: коди Хеммінга, коди CRC, коди БЧХ та інші.
Проблема перевірки цілісності даних тісно пов'язана з проблемою перевірки їх автентичності (тобто з проблемою визначення джерела даних). Ці проблеми не можуть розглядатися окремо. Дані, які були змінені, фактично мають нове джерело. Якщо нове джерело невідоме (немає посилання на джерело), питання про зміну даних не може бути дозволено. Таким чином, механізми перевірки цілісності даних забезпечують перевірку їх автентичності і навпаки.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.