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

В телекомунікації цілісність даних часто перевіряють, використовуючи хеш-суму повідомлення, обчислену алгоритмом MAC (Message authentication code).

У криптографії та інформаційній безпеці цілісність даних (в загальному) — це дані в тому вигляді, в якому вони були створені. Приклади порушень цілісності даних: спроба зловмисника змінити номер аккаунта в банківській транзакції, або спроба підробки документа;

випадкове зміна інформації при передачі або при несправної роботі жорсткого диска;

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

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

Цілісність даних — властивість, при виконанні якого дані зберігають заздалегідь певний вид і якість.

Визначення поняття

В Рекомендаціях по стандартизації Р 50.1.053-2005 Рекомендації по стандартизації. «Технічний захист інформації. Основні терміни і визначення». Р 50.1.053-2005.. дається наступне визначення: Цілісність інформації (ресурсів автоматизованої інформаційної системи) — стан інформації (ресурсів автоматизованої інформаційної системи), при якому її (їх) зміна здійснюється тільки навмисно суб'єктами, що мають на нього право.

В Рекомендаціях по стандартизації Р 50.1.056-2005 Рекомендації по стандартизації. «Технічний захист інформації. Основні терміни і визначення». Р 50.1.056-2005.. уточнено визначення і рознесені по об'єктах додатка: Цілісність інформації — стан інформації, при якому відсутня будь-яка її зміна або зміна здійснюється тільки навмисно суб'єктами, що мають на нього право.

Цілісність ресурсів інформаційної системи — стан ресурсів інформаційної системи, при якому їх зміна здійснюється тільки навмисно суб'єктами, що мають на нього право, при цьому зберігаються їх склад, зміст та організація взаємодії. У деяких спеціалізованих стандарти використовуються власні визначення даного поняття: Цілісність () Национальный стандарт РФ. «Методы и средства обеспечения безопасности. Часть 1. Концепция и модели менеджмента безопасности информационных и телекоммуникационных технологий». ГОСТ Р ИСО/МЭК 13335-1 — 2006. — властивість збереження правильності і повноти активів.

Цілісність інформації Национальный стандарт Российской федерации. «Информационная технология. Практические правила управления информационной безопасностью» (ГОСТ Р ИСО/МЭК 17799—2005). — забезпечення достовірності та повноти інформації та методів її обробки.

Цілісність документаНациональный стандарт Российской федерации. «Информационная технология. Электронный обмен информацией. Термины и определения». ГОСТ Р 52292-2004. — властивість документа, що складається в тому, що при будь демонстрації документа задані значення параметрів демонстрованого подання документа відповідають специфікованим вимогам.

Область використання Термін використовується в наступних галузях знань: інформаційна безпека, комп'ютерна безпека, захист інформації, захист комп'ютерних мереж та інформаційних систем, інформаційні технології, корпоративні інформаційні системи. Поняття «цілісність об'єкта»() використовується як термін в теорії інформаційної безпеки (ІБ). Під об'єктом розуміють інформацію, спеціалізовані дані або ресурси автоматизованої системи. Цілісність інформації (як ресурсу автоматизованої системи) є одним з трьох основних властивостей об'єкта ІБ. Властивості об'єкта ІБ: доступність (); цілісність (); конфіденційність ().

Іноді в цей список додають:

неспростовності (); підзвітність (); автентичність або справжність (); достовірність ().

Методи забезпечення цілісності інформації

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

Основними методами забезпечення цілісності інформації (даних) при зберіганні в автоматизованих системах є:

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

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

При комплексному підході до захисту бізнесу, напрям забезпечення цілісності та доступності інформації (ресурсів бізнес-процесів) переростає в план заходів, що спрямовані на забезпечення безперервності бізнесу.

Цілісність даних в криптографії Шифрування даних саме по собі, не гарантує, що цілісність даних не буде порушена, тому в криптографії використовуються додаткові методи для гарантування цілісності даних. Під порушенням цілісності розуміється наступне: інверсія бітів; додавання нових бітів (зокрема абсолютно нових даних) третьою стороною; видалення яких-небудь бітів даних; зміна порядку слідування біт або груп біт.

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

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

Імітовставки

Число двійкових розрядів (число біт у імітовставці у загальному випадку визначається криптографічними вимог з урахуванням того, що ймовірність нав'язування помилкових даних дорівнює 1/2p, p — число двійкових розрядів (число біт) в імітовставці.

Імітовставка — число, обчислюване на основі вмісту повідомлення. Тобто, імітовставка є функцією повідомлення: M = f (x ), де: M — імітовставка; f — функція, що обчислює імітовставку; x — повідомлення.

Імітовставка може використовуватися як для перевірки аутентичності повідомлення, так і для перевірки його цілісності. В залежності від призначення імітовставки алгоритми роботи функцій f (коди) ділять на два класи: коди перевірки цілісності повідомлень (MDC, ). Алгоритми обчислюють імітовставку, придатну для перевірки цілісності (але не достовірності) даних, шляхом хешування повідомлення; коди аутентифікації (перевірки достовірності) повідомлення (MAC, ). Алгоритми обчислюють імітовставку, придатну для захисту даних від фальсифікації, шляхом хешування повідомлення з використанням секретного ключа.

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

В залежності від того, яким із цих властивостей задовольняють MDC хеш-функції, можна виділити два їх підкласи: односпрямовані хеш-функції (OWHF, від ), які задовольняють властивості безповоротності та стійкі до колізій першого роду; стійкі до колізій хеш-функції (CRHF, від ), які стійкі до колізій першого і другого роду (взагалі кажучи, на практиці CRHF хеш-функції задовольняють і властивості незворотності).

Існує три основних типи MDC алгоритмів хеш-функцій, за способом їх побудови: на блокових шифрах; наприклад: алгоритм «Matyas-Meyer-Oseas», алгоритм «Davies-Meyer», алгоритм «Miyaguchi-Preneel», MDC-2, MDC-4; спеціальні () алгоритми хешування, в яких робиться наголос на швидкість, і які незалежні від інших компонент системи (в тому числі блочних шифрів або компонент модульного множення, які можуть бути використані для інших цілей). Наприклад: MD4, MD5, SHA-1, SHA-2, RIPEMD-128, RIPEMD-160; на модульної арифметики; наприклад: MASH-1, MASH-2.

MAC До MAC хеш-функцій для обчислення кодів аутентифікації повідомлень, підродини ключових хеш-функцій, відносять сімейство функцій, що задовольняють наступним властивостям: простота обчислення дайджесту () від повідомлення; стиснення даних — вхідне повідомлення довільної бітової довжини перетворюється в дайджест фіксованої довжини; стійкість до злому — маючи одну і більше пар повідомлення-дайджест (x[i], h(x[i])), обчислювально неможливо отримати нову пару повідомлення-дайджест (x, h(x)), для якого-небудь нового повідомлення x. Якщо не виконується остання властивість, то MAC може бути підроблений. Також остання властивість означає, що ключ неможливо обчислити, тобто, маючи одну або більше пар (x[i], h(x[i])) з ключем k, обчислювально неможливо отримати цей ключ.

Алгоритми отримання коду аутентифікації повідомлення можуть бути розділені на наступні групи за їх типом: на блокових шифрах. Наприклад, CBC-MAC, RIPE-MAC1, RIPE-MAC3; отримання MAC з MDC; спеціальні () алгоритми. Наприклад, MAA(Message authentication algorithm), MD5-MAC; на потокових шифрах. Наприклад, CRC-based MAC.

Отримання MAC на основі MDC Існують методи отримання з MDC кодів автентифікації повідомлень включенням секретного ключа у вхідні дані алгоритму MDC. Недоліком такого підходу є те, що фактично на практиці більшість алгоритмів MDC розроблено так, що вони є або OWHF, або CRHF, вимоги до яких відрізняються від вимог до MAC алгоритмів. secret prefix method: До послідовності блоків даних =x1x2x3..xn в початок приписується секретний ключ k: k||x. Для даної послідовності даних за допомогою ітераційної хеш-функції обчислюється MDC, наприклад, такий, що H0=IV (), Hі=f(Hi-1,xі) h(x) = Hn. Таким чином, MAC = h(k||x). Недоліком такого підходу є те, що третя сторона може дописати в кінець послідовності блоків додаткові дані y: k||x||y. Новий MAC може бути обчислений без знання ключа k: 1 = f(,y). secret suffix method: Секретний ключ приписується в кінець послідовності даних: x||k. У цьому випадку MAC =h(x||k). В цьому випадку може бути застосована атака методом днів народження. При довжині дайджесту n біт. Третій стороні знадобиться близько 2n/2 операцій, щоб для повідомлення x знайти повідомлення x’ таке, що h (x)= h (x'). При цьому знання ключа k буде не обов'язково. Дізнавшись значення MAC повідомлення x, третя сторона зможе згенерувати коректну пару (x',).