
Лекція 23.04.2013
Існують кілька формальних тестів для визначення можливого методу шифрування.
ПСІ-тест. Полягає в наступному:
Визначають відносні частоти появи символів у шифр-тексті Ki (якщо текст достатньо довгий, то відності частоти приблизно дорівнюють імовірностям появи символів Ki~~Pi)
Для кожного символу визначають показник ПСІі = pi (1-pi)
Визначається інтегральний показник ПСІk=SUMi=1 to n (ПСІi), n-кількість символів алфавіту
ПСІр=0.0667*n(n-1)
дельта=ПСІр/ПСІk. Дельта=1.7 шифр одноалфавітної підстановки
Дельта=1.2 — шифр багатоалфавітної підстановки
Дельта=1 = шифр гамування або збивки
Криптографічні комп’ютерні протоколи.
Основні відомості про протоколи.
Протокол — послідовність кроків, які виконують дві або більше сторін для досягнення спільної мети. Оснвними властивостями протоколів є наступні:
всі кроки протоколу виконуються в порядку строгої послідовності і жоден з них не може бути виконаний раніше, ніж завершиться попередній
кожний учасник протоколу наперед знає які кроки він повинен виконати
всі учасники протоколу виконують його правила добровільно без примусу
всі кроки протоколу мають лише однозначне трактування
протокол містить опис реакції його учасників на будь-які ситуації, що можуть виникнути в ході реалізації протоколу.
Протоколи які використовуються у повсякденному житті зазвичай добре працюють тільки тому що їх учасники знаходяться в беспосередньому контакті. Особливістю комп’ютерних протоколів є те що вони повинні забезпечити вирішення задач в умовах анонімності учасників. Це досягається в основному завдяки застосуванню криптографічних алгоритмів, так звані криптографічні протоколи.
Цілями криптографічних протоколів є:
виявлення та запобігання перехоплення інформації сторонніми особами, які не є учасниками протоколу
не допущення шахрайства самими учасниками протоколу ( учасники протоколу не повинні мати можливості взнати чи зробити більше того, що визначено для них протоколом)
Деякі різновиди протоколів.
Крім звичайних протоколів, в реалізації яких приймають участь лише зацікавлені особи, розрізняють також:
протоколи з арбітражем (арбітр — учасник протоколу, який не зацікавлений в досягненні цілей, до яких прагне решта учасників; арбітр не може виступати за жодну із сторін; учасники протоколу повністю довіряють арбітру і беззаперечно виконують всі його вказівки.
В протоколі з арбітром виникають наступні проблеми:
- проблема довіри до арбітра
- проблема оплати послуг арбітра
- збільшення часу на реалізацію протоколу (арбітр повинен контролювати кожен крок протоколу)
- захист арбітра від зловмисника (якщо зловнисник хоче зірвати реалізацію протоколу, то в першу чергу його дії будутсь спрямовані на підрив довіри до арбітру)
протокол з судійством. Для зменшення витрат на арбітраж протокол ділиться на дві частини: перша співпадає зі звичайним протоколом без судійства, другу — використовують лише у випадку виникнення конфліктних ситуацій між учасниками. Для вирішення конфлікту використовують суддю — не зацікавленого учасника, якому довіряють решта учасників. В протоколі з судійством повинні бути данні, перевіривши які суддя зможе вирішити чи вчинив хтось шахрайство, якщо вчинив — то хто саме
протоколи, які самостверджуюються. Влаштовані так, що якщо один із учасників протоколу вчинить шахрайські дії, то решті це відразу ж стане відомо і вони зможуть відмовитись від реалізації протоколу.
Протоколи аутентифікації.
Поділяється на наступні різновиди:
протокол аутентифікації користувача
встановлення справжньості учасників протоколу
протоколи аутентифікації даних (перевірка того, що дані не були змінені протягом часу, коли вони знаходились поза контролем)
протоколи аутентифікації повідомлень (встановлення справжньості повідомлення, переданого відкритим каналов зв’язку)
Протоколи аутентифікації користувачів.
1) Однокроковий протокол, відноситься до так званих протоколів рукостискання, англ. Handshake, в таких протоколах одна сторона доводить іншій, що їй відома деяка спільна секретна інформація (наприклад, ключ) без розголошення цієї інформації в явному вигляді. Нехай є два суб’єкти протоколу a та b. Перед початком протоколу кожен з них нехай знає деяку секретну інформацію, наприклад, ключ k. Протокол виглядає наступним чином: А — розпочинає виконання протоколу, для чого генерує деяке велике випадкове число Х, кодує його ключем k за допомогою деякої загально відомої функції симетричного шифрування Ек(Х) -> B і відправляє отриманий результат учаснику В. К відновлює Х, після чого знову шифрує Х за допомогою загально відомої функції асиметричного шифрування F(X). A порівнює значення F(X) = F'(X) з таким же значенням, обчисленним самостійно, якщо вони співпадають, то А може довіряти В, оскільки впевнюється, що В знає К. При виконанні протоколу К в лінію зв’язку не передається в явному вигляді не передається, зловнисник знає Ек(Х) і F(X), але швидко і однозначно обчислити К не може. В процесі виконання протоколу А переконується в тому, що суб’єек, з яким він спілкується, знає К, але для взаємної аутентифікації виконання протоколу потрібно повторити, при чому починати його тепер повинен В.