
Телекоммуникационные системы и сети. Структура и основные функции. Том 1 / Содержание / Раздел 12. Методы обеспечения информационной безопасности объектов телекоммуникационной системы / Тема 12.3. Криптографическая защита информации
- Раздел 1. Основы построения телекоммуникационных систем
- Тема 1.1. Місце систем телекомунікацій в інформаційній інфраструктурі сучасного суспільства
- Тема 1.2. Общая архитектура и задачи телекоммуникационных систем
- Тема 1.3. Классификация сетей, клиентов, операторов и услуг связи
- Тема 1.4. Краткая характеристика существующих телекоммуникационных технологий
- Тема 1.5. Требования к современным и перспективным ТКС
- Тема 1.6. Контрольные вопросы и задания
- Раздел 2. Сети связи последующего поколения: архитектура, основные характеристики и услуги
- Тема 2.1. Определение и характеристика основных возможностей NGN
- Тема 2.2. Инфокоммуникационные услуги. Особенности услуг связи следующего поколения
- Тема 2.3. Многоуровневая архитектура и функциональный состав NGN
- Тема 2.4. Перспективы концепции NGN
- Тема 2.5. Контрольные вопросы и задания
- [→] Раздел 3. Стандартизация сетевых протоколов и телекоммуникационного оборудования
- Тема 3.1. Открытые системы и их взаимодействие
- Тема 3.2. Основные организации по стандартизации сетевых решений
- [→] Тема 3.3. Эталонная модель взаимодействия открытых систем
- 3.3.1. Многоуровневый подход и декомпозиция задачи сетевого взаимодействия
- 3.3.2. Интерфейс, протокол, стек протоколов
- 3.3.3. Общая характеристика модели OSI
- 3.3.4. Физический уровень. Функции и примеры протоколов
- 3.3.5. Канальный уровень. Функции и примеры протоколов
- 3.3.6. Сетевой уровень. Функции и примеры протоколов
- 3.3.7. Транспортный уровень. Функции и примеры протоколов
- 3.3.8. Сеансовый уровень. Функции и примеры протоколов
- 3.3.9. Представительский уровень. Функции и примеры протоколов
- 3.3.10. Прикладной уровень. Функции и примеры протоколов
- [→] 3.3.11. Деление ЭМВОС на сетенезависимые и сетезависимые уровни
- Тема 3.4. Стандартные стеки сетевых протоколов
- 3.4.1. Стек протоколов OSI
- 3.4.2. Стек протоколов TCP/IP
- 3.4.3. Стек протоколов IPX/SPX
- 3.4.4. Стек протоколов NetBIOS/SMB
- 3.4.5. Стек протоколов технологии Х.25
- 3.4.6. Стек протоколов технологии Frame Relay
- 3.4.7. Стек протоколов технологии B-ISDN и АТМ
- 3.4.8. Семейство протоколов DECnet
- 3.4.9. Сетевая модель DoD
- 3.4.10. Связь стандартов IEEE 802 с моделью OSI
- 3.4.11. Стек протоколов сетей следующего поколения
- Тема 3.5. Стандартизация сетевого оборудования
- Тема 3.6. Контрольные вопросы и задания
- Раздел 4. Линии связи
- Тема 4.1. Физические параметры среды распространения электромагнитных волн
- Тема 4.2. Общие сведения о линиях связи
- Тема 4.3. Основные свойства кабельных линий связи
- Тема 4.4. Линии связи на основе медных кабелей
- Тема 4.5. Теория волоконных световодов
- Тема 4.6. Свойства неоднородных линий
- Тема 4.7. Конструкции кабелей связи
- Тема 4.8. Электромагнитные влияния в линиях связи
- Тема 4.9. Структурированные кабельные системы
- Тема 4.10. Атмосферная лазерная связь
- Тема 4.11. Особенности радиолиний, радиорелейных и спутниковых линий связи
- 4.11.1. Общие принципы построения радиолиний связи
- 4.11.2. Распространение радиоволн в радиолиниях связи
- 4.11.3. Особенности распространения радиоволн в радиорелейных линиях связи
- 4.11.4. Особенности распространения радиоволн в спутниковых линиях связи
- 4.11.5. Особенности построения радиолиний связи
- 4.11.6. Общие характеристики построения спутниковых линий связи
- 4.11.7. Зоны видимости для систем спутниковой связи
- 4.11.8. Статистическая структура сигналов СЛС
- 4.11.9. Основные составляющие систем спутниковой связи
- 4.11.10. Методы организации спутниковой связи
- 4.11.11. Обоснование выбора параметров аппаратуры при проектировании радиорелейных линий
- 4.11.12. Выбор энергетических характеристик радиорелейных линий
- 4.11.13. Устойчивость функционирования радиорелейных линий
- Тема 4.12. Контрольные вопросы и задания
- Раздел 5. Способы формирования групповых сигналов
- Тема 5.1. Краткая характеристика способов формирования групповых сигналов
- Тема 5.2. Способы формирования аналоговых групповых сигналов
- Тема 5.3. Способы формирования цифровых групповых сигналов
- Тема 5.4. Объединение синхронных цифровых потоков
- Тема 5.5. Объединение асинхронных цифровых потоков
- Тема 5.6. Объединение низкоскоростных потоков
- Тема 5.7. Кодовое уплотнение сигналов
- Тема 5.8. Виды сигналов в системах с кодовым разделением
- Тема 5.9. Технология спектрального уплотнения
- Тема 5.10. Формирование группового сигнала с использованием IP-технологий
- Тема 5.11. Контрольные вопросы и задания
- Раздел 6. Методы доступа
- Тема 6.1. Общая характеристика методов доступа
- Тема 6.2. Методы решения конфликтов в алгоритмах доступа
- Тема 6.3. Модели и архитектура сети доступа
- Тема 6.4. Оптические технологии в сети доступа
- Тема 6.5. Методы использования физических ресурсов в сетях доступа
- Тема 6.6. Особенности использования пространственно-поляризационных параметров при радиодоступе
- Тема 6.7. Контрольные вопросы и задания
- Раздел 7. Методы распределения информации
- Тема 7.1. Общие положения
- Тема 7.2. Системы распределения в сетях следующего поколения
- Тема 7.3. Системы коммутации каналов
- 7.3.1. Требования к системам коммутации ISDN
- 7.3.2. Структура узла коммутации каналов ISDN
- Принцип работы цифрового коммутационного поля типа ПВП
- 7.3.4. Общие требования к коммутационным системам в Ш-ЦСИО
- 7.3.5. Выбор коммутационной технологии для Ш-ЦСИО
- 7.3.6. Системы коммутации для АТМ
- 7.3.7. Архитектура и характеристики коммутационных систем на базе быстрой коммутации пакетов (БКП)
- Тема 7.4. Коммутационные системы в NGN
- Тема 7.5. Системы коммутации Ш-ЦСИО на базе асинхронного режима доставки (АТМ)
- Тема 7.6. Пропускная способность систем распределения информации
- 7.6.1. Основные положения пропускной способности систем распределения информации
- 7.6.2. Пропускная способность полнодоступного пучка с потерями простейшего потока вызовов
- 7.6.3. Пропускная способность полнодоступного пучка с потерями примитивного потока вызовов (потока ВОЧИ)
- 7.6.4. Расчет вероятности условных потерь и среднего времени ожидания при случайной продолжительности обслуживания
- 7.6.5. Поток с повторными вызовами
- Тема 7.7. Способы распределения нагрузки в сетях связи
- Тема 7.8. Контрольные вопросы и задания
- Раздел 8. Системы синхронизации
- Тема 8.1. Виды синхронизации, их роль, место и задачи в современных цифровых системах связи
- Тема 8.2. Фазовая (частотная) синхронизация
- Тема 8.3. Тактовая (символьная) синхронизация
- Тема 8.4. Джиттер и вандер цифровых сигналов
- Тема 8.5. Цикловая (кадровая) синхронизация
- Тема 8.6. Сетевая синхронизация цифровой связи
- Тема 8.7. Контрольные вопросы и задания
- Раздел 9. Системы сигнализации
- Тема 9.1. Виды и состав сигналов
- Тема 9.2. Классификация протоколов сигнализации
- Тема 9.3. Внутрисистемная сигнализация в ЦСК
- Тема 9.4. Особенности сигнализации в стыках V.5
- Тема 9.5. Абонентская сигнализация
- Тема 9.6. Оборудование сигнализации современных ЦСК
- Тема 9.7. Специфические особенности украинских систем сигнализации
- Тема 9.8. Методология спецификации и описания систем сигнализации
- Тема 9.9. Цифровая многочастотная сигнализация R2D
- Тема 9.10. Общеканальная система сигнализации № 7
- Тема 9.11. Сигнализация DSS1
- Тема 9.12. Сигнализация в корпоративных сетях
- Тема 9.13. Сигнализация в сетях с коммутацией пакетов
- Тема 9.14. Сигнализация в сетях B-ISDN/ATM
- Тема 9.15. Сигнализация в сети ІР-телефонии
- Тема 9.16. Контрольные вопросы и задания
- Раздел 10. Технологии и протоколы управления в ТКС
- Тема 10.1. Содержание задач управления в сетях следующего поколения
- Тема 10.2. Подсистема управления услугами
- Тема 10.3. Подсистема контроля и управления сетью
- Тема 10.4. Подсистема сетевого управления на уровнях транспорта и доступа
- 10.4.1. Базовая архитектура управления на уровнях транспорта и доступа ТКС
- 10.4.2. Классификация и маркировка пакетов трафика
- 10.4.3. Управление интенсивностью трафика
- 10.4.4. Управление очередями на сетевых узлах
- 10.4.5. Маршрутизация: цели, основные задачи и протоколы
- 10.4.6. Сигнальные протоколы резервирования сетевых ресурсов
- 10.4.7. Функции управления канального уровня относительно обеспечения QoS
- 10.4.8. Уровни качества обслуживания и соответствующие им модели обслуживания
- Тема 10.5. Перспективы развития технологий сетевого управления
- Тема 10.6. Контрольные вопросы и задания
- Раздел 11. Конвергенция в телекоммуникационных системах
- Тема 11.1. Конвергенция в ТКС: история, цели и задачи
- Тема 11.2. Виды конвергенции
- Тема 11.3. Примеры решений относительно конвергенции в системах телекоммуникаций
- Тема 11.4. Качество конвергентных услуг
- Тема 11.5. Контрольные вопросы и задания
- Раздел 13. Электропитание телекоммуникационных систем связи
- Тема 13.1. Общие положения
- Тема 13.2. Системы электропитания предприятий электросвязи
- Тема 13.3. Типовое оборудование электроустановок предприятий электросвязи
- Тема 13.4. Дистанционное электропитание
- Тема 13.5. Источники бесперебойного питания (ИБП)
- Тема 13.6. Электромагнитная совместимость источников электропитания
- Тема 13.7. Перспективы развития электропитания ТКС
- Тема 13.8. Контрольные вопросы и задания
12.3.1. Криптографическая защита информации
Радикальне розв’язання проблем захисту інформації, що циркулює у високопродуктивних телекомунікаційних системах, може бути отримане на базі використання криптографічного захисту інформації. Криптографічний захист може забезпечити виконання умов збереження конфіденційності й цілісності даних, що передаються у відкритих мережах, а також анонімність об’єкта й умови його причетності до дій, що здійснюються в ТКС.
Криптографія — це сукупність методів перетворення даних, спрямованих на приховання їх інформаційного змісту.
Криптографічна система захисту інформації — це сукупність криптографічних алгоритмів, протоколів і процедур формування, розподілу, передачі й використання криптографічних ключів.
Припустимо, що відправник хоче послати повідомлення одержувачеві. Більш того, цей відправник хоче послати своє повідомлення безпечно: він хоче бути впевнений, що в разі перехоплення повідомлення зловмисник не зможе довідатися про зміст повідомлення. У цьому разі відправникові доцільніше використати криптографічні перетворення.
Саме повідомлення називається відкритим текстом. Зміна виду повідомлення з метою приховати його суть називається шифруванням. Шифроване повідомлення називається шифротекстом. Процес перетворення шифротексту у відкритий текст називається розшифруванням. Узагальнену схему криптографічної системи, що забезпечує шифрування переданої інформації, показано на рис. 12.3.1.
Рис. 12.3.1. Узагальнена схема криптосистеми
Криптоаналізом називається розділ прикладної математики, що вивчає моделі, методи, алгоритми, програмні й апаратні засоби аналізу криптосистеми або її вхідних і вихідних сигналів з метою отримання секретних параметрів, включаючи відкритий текст. Криптоаналіз займається завданнями, які в математичному змісті зворотні завданням криптографії. Система криптографії й криптоаналізу утворює криптологію.
Позначимо відкритий текст (повідомлення) як M. Це може бути потік бітів, текстовий файл, бітове зображення, оцифрований звук, цифрове відеозображення й ін. Далі розглядатимуться тільки двійкові дані й комп’ютерна криптографія.
Позначимо шифротекст як C. Це теж двійкові дані, іноді того ж розміру, що й M, іноді більше. (Якщо шифрування супроводжується стисненням, C може бути менше M. Однак саме шифрування не забезпечує стиснення інформації.) Функція шифрування E діє на відкритий текст, створюючи шифротекст E(M) = C.
Процес відновлення відкритого тексту по шифротексту є розшифруванням і виконується за допомогою функції розшифрування D:D(C) = M.
Оскільки змістом шифрування й наступного розшифрування повідомлення є відновлення первісного відкритого тексту, то має виконуватися тотожність D(E(M)) = M.
Криптографічний алгоритм, також називаний шифром, являє собою математичну функцію, яка використовується для шифрування й розшифрування. Якщо безпека алгоритму заснована на збереженні самого алгоритму в таємниці, це обмежений алгоритм. Обмежені алгоритми являють тільки історичний інтерес, але вони зовсім не відповідають сьогоднішнім стандартам. Велика або непостійна група користувачів не може використати такі алгоритми, оскільки коли користувач залишає групу, її члени мають переходити на інший алгоритм. Алгоритм також має бути замінений, якщо хто-небудь ззовні випадково довідається секрет.
Сучасна криптографія розв’язує проблеми обмежених алгоритмів за допомогою ключа K. Ключ — це конкретний секретний стан певних параметрів алгоритму криптографічного перетворення даних, що забезпечує вибір тільки одного варіанта перетворення з усіх можливих для даного алгоритму. Множину можливих ключів називають простором ключів. Ключ, що використовується для ініціалізації системи, часто називають майстер-ключем системи.
З урахуванням використання ключа, функції шифрування й розшифрування запишуться як C = EK(C) і DK(C) = M. При цьому має виконуватися тотожність DK(EK(M)) = M. Однак для деяких алгоритмів при шифруванні й розшифруванні використовуються різні ключі. У цьому разі C = EK1(M), DK2(C) = M, a DK2(EK1(M)) ≡ M. Якщо алгоритм перетворення даних залежить від ключа, тобто застосовуються управляючі операції, шифр називається шифром, що управляється.
Криптографічні системи, у загальному випадку, класифікуються на основі таких трьох незалежних характеристик:
1) тип операцій з перетворення відкритого тексту в шифрований;
2) число ключів, що використовуються;
3) метод обробки відкритого тексту.
Якщо і відправник, і одержувач інформації використовують той самий ключ, система називається симетричною, системою з одним ключем, системою із секретним ключем або схемою традиційного шифрування. Якщо відправник і одержувач використають різні ключі (один відкритий, а інший секретний), система називається асиметричною, системою із двома ключами або схемою шифрування з відкритим ключем.
Блочне шифрування передбачає обробку відкритого тексту блоками, так що в результаті обробки кожного блоку виходить блок шифрованого тексту. При потоковому шифруванні шифрування всіх елементів відкритого тексту здійснюється послідовно, одне за іншим, у результаті чого на кожному етапі отримують по одному елементу шифрованого тексту.
До шифрів, які використовуються для криптографічного захисту інформації, висувають низку вимог:
- статистична безпека алгоритмів;
- надійність математичної бази алгоритмів;
- простота процедур шифрування й розшифрування;
- незначна надмірність інформації за рахунок шифрування;
- простота реалізації алгоритмів на різній апаратній базі.
Тією чи іншою мірою цим вимогам відповідають:
- шифри перестановок;
- шифри заміни;
- шифри гамування;
- шифри, засновані на аналітичних перетвореннях даних.
Основним питанням аналізу будь-якої криптографічної системи захисту інформації є визначення ступеня її стійкості. Стійкість криптографічної системи захисту інформації є її здатність протистояти атакам порушника на інформацію, що захищається.
Таблиця 12.3.1 Приклади популярних криптоалгоритмів/схем шифрування
Назва
|
Довжина ключа, біт
|
Примітка
|
Симетричні
|
||
Rijndael (AES)
|
128—256
|
J. Daemon, V.Rijmen, Бельгія
|
SNOW
|
128, 256
|
Lund University, Швеція
|
RC6
|
128—256
|
RSA Security, США
|
3DES
|
168
|
Стандарт ANSI X9.52-1998
|
MARS
|
128—400
|
IBM Corporation, США
|
TwoFish
|
128—256
|
B. Schneir, США
|
SERPENT
|
128—256
|
R. Anderson, E. Biham, L. Knudsen
|
ГОСТ 28147-89
|
256
|
Держстандарт СРСР. В Україні
стандарт гармонізовано (ДСТУ 28147:2009) |
Асиметричні
|
||
RSA
|
1024—4096+
|
RSA Laboratories, США
|
RSA-OAEP
|
1024—4096+
|
RSA Laboratories Europe, Швеція
|
ACE Encrypt
|
1024—4096+
|
IBM Zurich Research Laboratory, Швейцарія
|
EPOC
|
1024—4096+
|
Nippon Telegraph and Telephone, Японія
|
Під час оцінювання стійкості довільних криптографічних систем захисту інформації зазвичай дотримуються принципу Керкхофа: стійкість криптосистеми має бути забезпечена навіть тоді, коли порушникові відомий її повний опис. Тому в процесі аналізу стійкості криптосистем передбачається, що порушникові відомий детальний опис системи, статистичні характеристики алфавіту повідомлення, простір можливих ключів і криптограм, контекст повідомлення тощо. Єдине, чого не знає порушник — це секретний ключ, який використовується законними користувачами системи захисту інформації.
Популярними алгоритмами, що забезпечують найбільш надійний захист інформації, на сьогодні є криптоалгоритми, що наведено в табл. 12.3.1.
Ці криптоалгоритми здатні забезпечити захист від:
- диференційного криптоаналізу;
- пошуку найкращої диференційної характеристики;
- лінійного криптоаналізу;
- інтерполяційного вторгнення;
- вторгнення із частковим угадуванням ключа;
- вторгнень на основі обробки апаратних помилок;
- пошуку лазівок.
Відповідно до інформаційно-теоретичного підходу до оцінки стійкості криптографічних систем вони можуть бути поділені на безумовно стійкі (стійкість не залежить ні від яких можливостей порушника й умов її визначення й не може бути зменшена за жодних умов) і на умовно стійкі системи (стійкість залежить від можливостей протиборчої сторони й умов її визначення, а її оцінки можуть змінюватися залежно від багатьох факторів). З’ясування питання, чи є криптосистема безумовно або умовно стійкою, становить основне завдання інформаційно-теоретичного підходу до оцінювання стійкості криптографічних систем захисту інформації.
Стійкість реалізацій криптосистем, як правило, нижче теоретичної, оскільки в реальній системі існує безліч додаткових факторів, що знижують стійкість криптосистеми. Більшість із цих факторів пов’язані з процедурами роботи з ключовою інформацією. Крім безпосередньо застосування ключа необхідно забезпечити коректність таких процедур: генерації, поширення, зберігання, заміни, депонування та знищення ключів. Правильне проведення всіх названих процедур має величезне значення, оскільки в більшості випадків супротивникові набагато простіше провести атаку на підсистему роботи із ключами або на конкретну реалізацію криптоалгоритму, а не на сам цей алгоритм криптографічного захисту. Контроль процедур роботи із ключами дуже складно здійснити в розподіленій системі з багатьма користувачами, але неправильне проведення хоча б однієї з них може скомпрометувати систему криптографічного захисту ТКС.
Якісний ключ, призначений для використання в рамках симетричної криптосистеми, являє собою випадковий двійковий набір. Якщо потрібен ключ розрядністю n, у процесі його генерації з однаковою ймовірністю повинен виходити кожен з 2n можливих кодів. Генерація ключів для асиметричних криптосистем — процедура більш складна, оскільки ключі, які застосовуються в таких системах, повинні мати унікальні властивості.
Рис. 12.3.2. Класифікація програмних генераторів псевдовипадкових послідовностей
Для генерації ключової інформації, яка призначається для використання в рамках симетричної криптосистеми, можна застосовувати такі методи (у порядку зростання якості):
- програмна генерація, що передбачає обчислення чергового псевдовипадкового числа як функції часу, послідовності символів, заданих користувачем, особливостей його клавіатурного почерку тощо;
- програмна генерація, заснована на моделюванні якісного генератора псевдовипадкових послідовностей (ГПВП) з рівномірним законом розподілу;
- апаратна генерація з використанням якісного ГПВП;
- апаратна генерація з використанням генераторів випадкових послідовностей, побудованих на основі фізичних генераторів шуму і якісних ГПВП.
Поняття якісного ГПВП означає, що використання ключа, отриманого на підставі даних від такого ГПВП, не знижує теоретичну стійкість криптосистеми. Класифікувати програмні ГПВП можна, наприклад, таким чином, як показано на рис. 12.3.2.
Перед застосуванням ГПВП і їхньої реалізації мають бути всебічно протестовані. Для перевірки якості ГПВП можна використати, наприклад, керівний документ NIST Special Pub 800-22. Тести, які рекомендовані в цьому документі, — це: частотний однобітовий тест, частотний блоковий тест, перевірка накопичених сум, тест серій, тест довжини серії в блоці, перевірка рангу бінарної матриці, спектральний аналіз на основі перетворення Фур’є, визначення шаблонів, що перекриваються, універсальний тест Маурера, тест стиснення Лемпеля-Зіва, ентропійний тест, тест кумулятивних сум тощо.
Ще одним важливим завданням, неправильна реалізація якого може значно знизити захищеність елементів ТКС, є завдання формування загальних сеансових ключів для шифрування даних, якими обмінюються елементи мережі. Найпопулярнішим алгоритмом формування спільного ключа в розподілених системах є схема (протокол) Діффі — Хеллмана. У цій схемі обміну ключами є два відкритих для всіх числа: просте число q й ціле число a, що є первинним коренем q. Припустимо, користувачі A й B мають намір обмінятися ключами. Користувач A вибирає випадкове ціле число XA < q й обчислює . Так само користувач B незалежно вибирає випадкове ціле число XB < q й обчислює
. Кожна сторона зберігає значення X в таємниці й робить значення Y вільно доступним іншій стороні. Користувач A обчислює ключ за формулою
, а користувач B — за формулою
. Ці дві формули обчислення дають однакові результати.
Обидві сторони обмінялися секретним ключем. А оскільки при цьому XA й XB були тільки в особистому використанні й тому збереглися в таємниці, противник вимушений працювати тільки з q, a, YA і YB. Таким чином, йому доведеться обчислювати дискретний логарифм, щоб визначити ключ. Захищеність формування спільного ключа за схемою Діффі — Хеллмана опирається фактично на те, що ступінь за модулем деякого простого числа обчислюється відносно легко, але при цьому обчислювати дискретні логарифми виявляється дуже важко. Для великих простих чисел порядку останнє вважається обчислювально складним завданням. Також існує модифікація схеми Діффі — Хеллмана з використанням еліптичних кривих.
У багатосерверних системах з великою кількістю користувачів часто виникає ситуація коли система має функціонувати за участі й згоді не одного, а багатьох об’єктів. Ця проблема може бути розв’язана за допомогою схем поділу майстер-ключа системи між декількома учасниками інформаційної взаємодії. Такі схеми відомі також за назвою m-з-n-схем або (m, n)-граничних схем для якогось 1 ≤ m ≤ n. Передбачається, що схема поділу секрету включає n учасників й управляється авторизованим дилером. Основне завдання дилера — поділ секрету на компонентів («тіней») і розподіл їх серед учасників так, що будь-які m (і більше) учасників, зібравшись разом і пред’явивши тіні, можуть відновити секретний ключ. Але будь-які (m – 1) і менше учасників не можуть це зробити. Компроміс між крипостійкістю й гнучкістю схеми регулюється вибором параметрів m і n. Схема поділу секрету називається ідеальною, якщо довільна коаліція або повністю розкриває секрет, або в результаті не одержує про нього ніякої апостеріорної інформації.
Найпопулярнішими схемами поділу секрету є схеми розшарування зображень, схеми на основі кодів Ріда — Соломона, схеми Блеклі та Шаміра. Розглянемо як приклад схему Шаміра, побудовану за принципом поліноміальної інтерполяції. У ній задається поліном ступеня (m – 1) над кінцевим полем GF(q) з q елементів
F(x) = a0 + a1x +...+ am – 1xm – 1. | (12.3.1) |
Секретний ключ задається вільним членом a0, усі інші коефіцієнти полінома — випадкові елементи поля. Поле GF(q) відоме всім учасникам. Кожна з n тіней являє собою точку (xi, yi) кривої, яка описується поліномом F(x), xi ≠ 0. Скориставшись інтерполяційною формулою Лагранжа, можна відновити вихідний поліном (а отже, секрет a0) за будь-якими m точками (тінями). При цьому ймовірність розкриття секрету у разі довільних (m – 1) тіней оцінюється як q– 1, тобто в результаті інтерполяції по (m – 1) точці секретом може бути будь-який елемент поля з рівною ймовірністю. Отже, схема Шаміра є ідеальною.
Рис. 12.3.3. Схема Шаміра поділу секрету
На рис. 12.3.3 подано спеціальний випадок для m = 2 (для відновлення секрету необхідно дві тіні). Таким чином, двочлен описує деяку пряму, що перетинається з оссю y в точці s (секрет). Кожна тінь — точка на прямій. Отже, секрет може бути відновлено по двох довільних тінях, оскільки для однозначного визначення прямої достатньо двох довільних точок. У разі завдання однієї тіні як вибраний секрет може бути обрана будь-яка точка на осі y, оскільки через одну точку можна провести безліч різних прямих, що перетинаються з оссю y в довільних точках.
Для контролю цілісності інформації, яка передається в мережі й оброблюється елементами мережі, може бути використано механізм створення цифрових відбитків повідомлень (message digiting). Відбитки створюються в результаті перетворення інформації за допомогою криптографічних хеш-функцій.
Криптографічна хеш-функція є односпрямованою функцією. Така функція, H(M) застосовується до повідомлення довільної довжини M й повертає значення фіксованої довжини h.
Багато функцій дозволяють обчислити значення фіксованої довжини за вхідним даними довільної довжини, але в односпрямованих хеш-функцій є додаткові властивості:
- знаючи M, легко обчислити h;
- знаючи H важко визначити M, для якого H(M) = h;
- знаючи M важко визначити інше повідомлення, M′, для якого H(M) = H(M′).
Важко побудувати функцію, вхід якої має довільний розмір, а тим більше — зробити її односпрямованою. У реальному світі односпрямовані хеш-функції ґрунтуються на ідеї функції стиснення. Така односпрямована функція видає хеш-значення довжини n при заданих вхідних даних більшої довжини m. Входами функції стиснення є блок повідомлення й вихід попереднього блоку даних. Вихід являє собою хеш-значення всіх блоків до цього моменту. Тобто хеш-значення блоку Mi дорівнює hi = h(Mi, hi – 1). Це значення разом з наступним блоком повідомлення стає наступним входом функції стиснення. Хеш-значенням усього повідомлення є вихідне значення на останньому кроці перетворення.
Вхідні дані мають містити двійкове подання довжини вихідного повідомлення. У такий спосіб розв’язується проблема, викликана тим, що повідомлення різної довжини можуть давати те саме хеш-значення.
Розглянемо структуру типової захищеної функції хешування, що показана на рис. 12.3.4. Цю структуру, яку називають ітерованою функцією хешування, має більшість функцій хешування, які використовуються на сьогодні.
Рис. 12.3.4. Загальна структура алгоритму хешування:
IV — початкове значення; CV — змінна зчеплення; Yi — i-й блок даних;
f — алгоритм стиснення; L — число блоків даних; n — довжина хеш-коду;
b — довжина блока даних
Функція хешування одержує на вхід повідомлення й поділяє його на (L – 1) блоків рівної фіксованої довжини по b бітів кожний. Якщо необхідно, останній блок доповнюється до b бітів. До останнього блоку також включається значення сумарної довжини вхідних даних функції хешування. Це робить завдання супротивника ще складнішим. Супротивник має знайти або два повідомлення рівної довжини, що мають однакові значення функції хешування, або два повідомлення різної довжини, які разом з відповідними їм значеннями довжини матимуть однакові значення функції хешування.
Алгоритм хешування передбачає багаторазове застосування функції стиснення f, що одержує на вхід два значення (n-бітове значення, отримане на попередньому етапі, що називають змінною зчеплення, і b-бітовий блок повідомлення) і що породжує n-бітове вихідне значення. На початку хешування змінна зчеплення одержує початкове значення, що є частиною алгоритму. Кінцеве значення змінної зчеплення й буде значенням функції хешування. Зазвичай b > n, тому й говорять про стиснення. Функція хешування може бути формально описана в такий спосіб:
CV0 = IV = початкове n-бітове значення;
CVi = f(CVi – 1, Yi – 1), 1 ≤ i ≤ L;
H(M) = CVL,
і тут M — повідомлення, що складається із Y0, Y1, ..., YL – 1 блоків.
Криптоаналіз функцій хешування зазвичай зосереджений на дослідженні внутрішньої структури f і спирається на спроби знайти ефективні методи виявлення колізій при однократному виконанні f. Якщо ця проблема розв’язана, то супротивнику залишається розглянути фіксоване значення IV. Конкретний вид атаки на f залежить від внутрішньої структури цієї функції.
Найпопулярнішими на сьогодні є функції хешування MD5, SHA-1, SHA-2, Whirlpool, ГОСТ 34.311—95 й RIPEMD.