Реферати

Реферат: Відправка повідомлення в майбутнє

Схема характеристик якості програмних засобів. Аналіз методології і стандартизації оцінки характеристик якості готових програмних засобів: по функціональній придатності, по коректності, по здатності до взаємодії, по захищеності. Процеси і продукти життєвого циклу програмних засобів.

Ішемічна хвороба серця. Скарги хворого при надходженні на болі стискаючого характеру за грудиною, недостачу повітря, головний біль. Анамнез, дані об'єктивного дослідження. Клінічний діагноз: ішемічна хвороба серця, інфаркт міокарда. Лікування, сприятливий прогноз.

Батеньков Гаврило Степанович. Декабрист, підполковник. Рано розвилися в ньому містична релігійність і підвищена вдумливість. Беручи участь у кампанії 1813-1815 р., Батеньков виявив "надмірну хоробрість".

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

Валютна система держави. Поняття міжнародних валютних відносин, особливості національної і світовий валютних систем. Поняття і види валютного курсу, державний вплив на його величину. Характеристика європейської валютної системи. Аналіз валютної системи Бєларусі.

Міністерство освіти Російської Федерації

Пермський державний університет

Механико-математичний факультет

Кафедра математичного забезпечення обчислювальних систем

УДК 519.6+681.83

ВІДПРАВКА ПОВІДОМЛЕННЯ В МАЙБУТНЄ

Курсова робота.

виконала студентка

3-го курсу 1 групи

Науковий керівник

професор

Міков Олександр Іванович.

Пермь 2000 р.

Анотація

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

- «шаради» з тимчасовим замком на базі обчислювальних проблем з істотно послідовними алгоритмами рішення;

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

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

Зміст

1. Ведіння. ..4

2. Аналіз літератури...5

3. Позначення, що Використовуються ...6

4. Розділ 1. Проблеми, що Вирішуються ...7

5. Розділ 2. Методи побудови криптосистем з тимчасовим розкриттям...8

5.1. «Шаради» з тимчасовим замком (time - lock puzzles). ..9

5.2. Поняття, що Використовуються ...12

5.3. Схема з використанням довірених агентів...14

6. Висновок...19

7. Список літератури...20

Ведіння

Іспокон віків не було цінності більшої, ніж інформація. ХХ повік - вік інформатики і інформатизації. Технологія дає можливість передавати і зберігати все більші обсяги інформації. Це благо має і оборотну сторону. Інформація стає все більш вразливою з різних причин:

· зростаючі об'єми і даних, що передаються, що зберігаються;

розширення кола користувачів, що мають доступ до ресурсів ЕОМ, програм і даних;

· ускладнення режимів експлуатації обчислювальних систем.

Тому все більшу важливість придбаває проблема захисту інформації від несанкціонованого доступу при передачі і зберіганні.

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

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

Наприклад, відомо, що сучасні технології дозволяють

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

Цю проблему дозволяють вирішити криптографічні методи забезпечення конфіденційності і цілісності при заданому часі дешифрування повідомлення на невідомому ключі.

Аналіз літератури.

Публікацій на тему даної роботи дуже мало. Це зумовлене, насамперед тим, що раніше не існувало сильній необхідності в шифровці повідомлень на такий довгий період часу. Першим, хто звернувся до співтовариства Intеrnet з пропозицією розглянути подібну задачу в зв'язку з потребами людей, що користуються послугами кріогенних депозитаріїв, був Тімоті Мей. Саме він і запропонував використати в криптографічній схемі довереннях агентів. Як відповідь на цей запит і виникли схеми, що розглядаються, які були розроблені відомими криптографами Рональдом Л. Рівестом, Аді Шаміром і Девідом А. Вагнером. Наскільки мені відомо, інших криптографічних схем, направлених саме на рішення цієї проблемми немає. Ніякої літератури, крім статтю у відповідь Рівеста, Шаміра, Вагнера і доповнення цієї ж статті в журналі "Конфідент"5'96 мені знайти не вдалося. Потрібно врахувати, що запропоновані схеми засновуються на базових поняттях криптографії, з якими можна ознайомитися в будь-якій спеціалізованій літературі.

Позначення, що Використовуються.

4М-секретне повідомлення.

4К-секретний ключ, на якому шифруетсяМ.

4t- час, на яке шифруетсяМ.

4t˚- поточний час.

4S - продуктивність комп'ютера.

4Е- вибраний алгоритм шифрування.

4p, q- прості числа.

4n-формується, як твір чиселpиq.

4f(n)-формується, як твір чисел (р-1) і (q-1).

4d- кількість, довірених агнтов.

4i[М1] - номер агента.

4θ- поріг схеми розділення секрету.

4Si, t- секретний ключ агента.

4Di, t- відкритий ключ агента.

4yj-"тінь" ключаК, j-ого агента

4rj- криптограма "тіні" ключаК, j-ого агента

4F- одностороння хеш-функція.

Розділ 1. Проблеми, що Вирішуються.

Крім збереження інформації про «замороженого», на заданий термін також, необхідно згадати і деякі інші практичні додатки криптографії з тимчасовим розкриттям:

· учасник торгів може побажати «запечатати» пропозицію ціни з тим, щоб воно було «розпечатане» по завершенні торгової сесії;

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

· приватна особа може побажати зашифрувати свій щоденник так, щоб він міг бути дешифрований після закінчення певного терміну;

· схема шифрування з депонуванням ключів (key-escrow scheme) може бути реалізована на базі "шарад" з тимчасовим замком з тим, щоб урядові організації могли отримати ключі для розшифровки повідомлення тільки тільки після закінчення певного періоду часу.

У деяких з вищеперелічених ситуаціях час на яке повідомлення залишається секретним коливається в рамках 1 року, коли у випадку із «замороженою» людиною або шифровкою щоденника цей термін обмежується знизу, як мінімум, 2-3 роками, верхня оцінка є взагалі невизначеною. Враховуючи дану обставину, природно було б запропонувати два методи шифрування повідомлення, на не дуже тривалий період часу 2-3 року і на досить тривалий час, порядку декількох десятиріч, що і було зроблено. Кожний з методів повинен використовуватися у відповідній ситуації.

У основному, криптографічна задача шифрування повідомлення розглядається таким чином, щоб отримана криптограма могла бути дешифрована (в тому числі і самим відправником повідомлення) після закінчення заданого інтервалу часу. Атака на подібну криптосистему вважається успішною, якщо вдається дешифрувати повідомлення істотно раніше встановленого терміну. Такий спосіб захисту, з можливістю розкриття секретної інформації після закінчення певного часу, і називається криптографією з тимчасовим розкриттям (timed - release crypto).

Розділ 2. Методи побудови криптосистем з тимчасовим розкриттям.

Криптосистема з тимчасовим розкриттям, запропонована Р. Л. Райвестом, А. Шаміром і Д. А. Вагнером отримала назву «шаради» з тимчасовим замком (time - lock puzzles). Даний підхід до захисту інформації пов'язаний саме з проблемами, виникаючими при відправці секретного повідомлення в майбутнє. Його специфіка полягає в тому, що на відміну від традиційних криптографічних методів, що передбачають наявність у одержувача повідомлення секретного ключа відправника (в симетричних криптосистемах) або у відправника повідомлення аутентичного (справжнього) відкритого ключа одержувача (в асиметричних криптосистемах), секретний ключ знищується відразу після шифрування і невідомий як відправнику, так і одержувачу повідомлення.

У цей час існує два основних методи побудови криптосистем з тимчасовим розкриттям:

- «шаради» з тимчасовим замком на базі обчислювальних проблем з істотно послідовними алгоритмами рішення;

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

Очевидно, що при використанні довірених агентів виникає проблемма надійності, яка частково може бути вирішена за рахунок застосування криптографічної техніки розділення секрету. Процесорний час необхідний для рішення «шаради» залежить від кількості і вигляду вживаного апаратного забезпечення, а також досягнень в області распаралеливания обчислень. Далі будуть розглянуті обидва методи.

«Шаради» з тимчасовим замком (time - lock puzzles)

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

Однак такий підхід до побудови «шарад» не дозволяє точно визначити час рішення, оскільки використання різних технологічних елементів приводить до розкиду продуктивність кінцевих апаратних реализациий. Метод, оснований на використанні довірених агентів, є більше за продподчтительним у випадку, коли рішення повинне бути предьявлено точне у вказаний термін.

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

Для пояснення задачі розглянемо наступний приклад. Визначимо черезМсообщение, яке повинне бути зашифроване, а черезSпроизводительность (дешифрований в секунду) комп'ютера. Для шифрування сообщенияМтак, щоб воно могло бути дешифроване по истеченииТсекунд, виберемо симетричну криптосистему (напримерRC5). І виконаємо шифрування повідомлення на ключі довгої

K = lg (2ST)

біт. Збережемо криптограму і знищимо ключ. Після цього застосування «силової атаки» (вичерпного перебору в ключовому просторі) дозволить знайти ключ в середньому заТсекунд.

У зв'язку з такою побудовою виникають дві проблеми:

- «силова атака» допускає тривіальну распараллеливание, внаслідок чого применениеNкомпьютеров дозволяє отримати результат вNраз швидше

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

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

Розглянемо метод побудови "шарад", запропонованого Р. Л. Райвестом, А. Шаміром, Д. А. Вагнером і заснований на послідовному застосуванні операції зведення в квадрат.

Передбачимо, Аліса бажає зашифрувати сообщениеМ, так, щоб його можна було розшифрувати черезТсекунд.

Для цього Аліса:

· генерує сооставной модульn = pqкак твір двох простих випадково вибраних чиселpиqи вичисляетf(n) = (р-1) (q-1);

· далі вичисляетt = TS, гдеS- продуктивність (число возведений в квадрат по модулюnв секунду) комп'ютера, призначеного для рішення шаради;

· генерує випадковий ключКдля симетричної криптосистеми, напримерRC5. Ключ повинен бути досить довгим;

· шифруетМнаКс помощьюRC5.З(M) = RC5(K, M);

· випадковим образом вибираетапо модулюn(1 < а < n), і шифрує секретний ключКтаким бразом:З(ДО) = K + b, для чого спочатку обчислюєте = 2t(mod f(n)) (1), і затемb = ae(mod n) (2);

· обьявляет "шараду" у вигляді набору параметрів (n, a, t, З(K), З(M)) і стирає змінні (такі, як: )(р, q, е, b, n), створені в процесі обчислень.

Таким чином, по побудові ключКне може бути знайдений за допомогою "силової атаки". Тому самий швидкий спосіб рішення "шаради" - це обчислення

b = ae(mod n).

При известномf(n) можна швидко вичислитье, по формулі (1) і затемbпо формулі (2). Однак відомо, що вичислениеf(n) поnстоль же трудомістка задача, що і разложениеnна множники. Таким чином, єдиний відомий в цей час спосіб вичисленияb(при правильно вибраних параметрахр, q, а) зводиться до послідовному возведениюав кврдрат (tраз), причому кожний раз в квадрат зводиться попередній результат (таким чином виключається распараллеливание обчислень при "силовій атаці").

Хоч спроба разложенияnна множники являє собою альтернативний метод рішення, але при досить большихpиqтакой підхід менш ефективний, ніж послідовне зведення в квадрат.

Число возведений в квадратtможет контролюватися з точністю до операції, отже є можливість побудови "шарад" з різними рівнями складності рішення.

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

Щоб, сама Аліса могла розшифрувати криптограму їй не треба зберігати в таємниці ключК, але необхідно знати секретf(n), щоб в заданий момент часу вичислитьепо формулі (1) иbпо формулі (2), розшифрувати секретний ключКи дешифрувати своє повідомлення.

Потрібно врахувати що таку схему варто застосовувати тільки у випадку, когдаТне перевищує 5 років, при виконанні всіх умов побудови схеми. Такий висновок можна зробити за результатами представленим в статті Ю. Е. Пудовченко «Коли наступить час підбирати ключі», а саме, що через кожні 5 років продуктивність комтьютеров зростає в 10 раз. Тобто, якщо зашифрувати повідомлення, використовуючи таку схему, на десять років, то через п'ять років «силова атака» (на більш могутніх, відповідних своєму часу машинах) займе часу в 10 раз менше, в нашому випадку це становитиме 1 рік. Таким чином весь час секретність даного повідомлення становитиме 6 років, що набагато менше необхідного терміну.

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

Поняття,

що Використовуються Для того, щоб більш детально зрозуміти схему з використанням довірених агентів дамо деякі базові поняття.

· Криптографія з відкритим ключем. У схемі з відкритим ключем є два ключі, відкритий [public] і секретний [private, secret], вибраний таким чином, що їх послідовне застосування до масиву даних залишає цей масив без змін. Шифруюча процедура використовує відкритий ключ, та, що дешифрує - секретний. Дешифрування коду без знання секретного ключа практично нездійсненне; зокрема, практично нерозв'язна задача обчислення секретного ключа по відомому відкритому ключу. Основна перевага криптографії з відкритим ключем - спрощений механізм обміну ключами. При здійсненні комунікації по каналу зв'язку передається тільки відкритий ключ, що робить можливим використання для цієї мети звичайного каналу і усуває потребу в спеціальному захищеному каналі для передачі ключа.

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

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

· RC5. RC5 це досить-таки швидкий блоковий шифр розроблений Рівестом для RSA Data Security. Цей алгаритм параметричен, т. е. з пременним розміром блоку, довгої ключа і змінним числом проходів. Розмір блоку може бути 32, 64, або 128 бітів. Кількість проходів в проміжку від 0 до 2048 біт. Параметричность такого роду дає гнучкість і ефективність шифрування. RC5 складається з введення ключа (key expansion), шифрування і дешифрування. При введенні ключа вводяться також кількість проходів, розмір блоку і т. д. Шифрування складається з 3 примитвних операцій: складання, побітовий XOR і чергування (rotation). Виняткова простота RC5 робить його простим у використанні, RC5 текст, також як і RSA, може бути дописаний в кінець листа в зашифрованому вигляді. Безпека RC5 засновується на тому, що залежить від даних чергуванням і змішуванням результатів різних операцій. RC5 з розміром блоку 64 біта і 12 або більше за проходи забезпечує хорошу стійкість проти диференціального і лінійного криптанализов.

· Схема розділення секрету. Математика розділення секрету досить складна, і є темою окремої розмови, тому дамо неформальне визначення даного поняття. Схемою розділення секрету називається така схема, яка дозволяє «розподілити» секрет междуnучастниками таким чином, щоб зазделегідь задані дозволені множини (множини "тіней секрету") учасників могли однозначно відновити секрет, а недозволені - не отримали ніякої додаткової інформації про можливе значення секрету. Порогова схема розділення секрету, (n,θ) - схема, дозволяє відновлювати секрет, якщо дозволеною безліччю є будь-яка безліч зθ або більше за "тіні секрету".

Схема з використанням довірених агентів.

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

Отже, підхід даного методу полягає у використанні довірених агентів для зберігання сообщенияМв течія заданого інтервалу времениt. Для більшої надійності схеми шифрування, ключК, на якому маємо намір зашифрувати сообщениеМподелим наd'теней", скориставшись технікою розділення секрету запропонованої А. Шаміром, і розподілимо " тіні " секретного ключа серед трохи агентів, заручившись з їх сторони зобов'язанням, що відповідні фрагменти будуть пред'явлені після закінчення времениt. Помітимо, що техніка розділення секрету, що використовується володіє надмірністю і дозволяє відновлювати секретний ключ у випадку, коли деякі агенти не в змозі виконувати свої функції. Тоді криптограммаС=Е (ДО, М) може бути вміщена в загальнодоступне місце з тим, щоб можна було отримати сообщениеМ (воостановив ключКи дешифрувавши сообщениеС) після закінчення времениt.

Отже Райвіст, Шамір і Вагнер запропонували альтернативний метод з наступними властивостями:

· Агенти не зберігають ключі, вживані в схемі шифрування.. Кожний агент зберігає "тінь" ключа, що отримується за допомогою техніки розділення секрету. Необхідний об'єм пам'яті, виділеної під "тінь" ключа, фіксований і не залежить від числа секретних компонент, довірених агенту.

· Спочатку, кожний агент формує свій секретний ключ, який він розкриє в момент времениt. Далі, за допомогою цього ключа, агент повинен буде підтверджувати своє існування і свою особистість.

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

· Також, агент повинен відповідати на питання вигляду: "Для заданих значенийуиtвозвратите значення функцииE(у, Si, t)- результат шифрованияуна секретному ключеSi, t, який Ви маєте намір розкрити в момент времениt". Передбачається, що та, що використовується для шифрування криптосистема стійкий до атаки на відкритому тексті, тобто зловмисник не зможе відновити секретний ключSi, t, маючи в своєму розпорядженні результати шифрування различниху-ов на фіксованому ключеSi, t. Сформувати повідомлення, підписати його на відкритому ключі користувача і на закритому агента. Сформоване повідомлення повинно містити номер агента, поточний час, времяt, розкритий і подписаний секретSi, tи значення функцииE(у, Si, t).

· кожний агент завжди підписує свої секретний і відкритий ключі.

Отже, схема з використанням довірених агентів виглядає так: спочатку на випадково вибраном ключеКпри допомоги симетричної криптосистеми користувач шифрує сообщениеМ, і отримує

З=(ДО, М).

Далі, вибравdагентовi1, [М2]i2,...,idпользователь публікує:

(З, i1,[М3]i2,...,id., r1, r[М4]rrRRgКкпрпл2,...,rd),

гдеr1, r[М5]rrRRgКкпрпл2,...,rd "тіней" ключаК. "Тіні" отримані по схемі розділення секрету, що дозволяють відновлювати ключКв момент времениt, після того, як агенти розкриють свої секрети. Розмір "тіні" ключа фіксований і не залежить від числа секретних компонент, довірених агенту. Також користувач може встановити порігθ(0 < θ≤d) такої, що відновлення ключаКбудет можливо тільки приθ або більшому числі "тіней" ключаК. Для цього користувач просто розбиває ключКнаd'теней" по будь-якій схемі розділення секрету з порогомθ.

Після шифрування ключКудаляется.

Далі користувач просить агента повернути йому криптограму, відповідної агенту, «тіні» ключа на секреті агента. Тоді

rj=Е(yj, Si, t),

де (y1, y2,. .., yd)d'теней" ключаК.

Після, користувач генерує складовий модуль

n = pq,

як твір двох простих випадково вибраних чиселpиq. Після чого обчислює

f(n) = (р-1) (q-1) і

е = 2t(mod f(n)).

Пара чисел (е, n) і буде бути відкритим ключем користувача.

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

Таким чином обов'язки агента полягають в наступному:

Þ переодически розкривати раніше секретне значення - набувати нового значення хеш-функції. Визначимо заSij, tсекретное значення раскриваемоеijагентом в момент времениt. Послідовність секретів, розкритих одним агентом, не залежить від послідовності секретів розкритих іншими агентами. Така послідовність володіє наступною властивістю: з каждогоSij, t΄ можна просто вичислитьSij, tдля всехt΄≤t. Секрет, той, що розкривається агентом може бути використаний для обчислення всіх секретів, що раніше розкриваються внаслідок наступного рекурентний рівняння: Si, (t-1)= F (Si, t) (3), гдеf- деяка одностороння хеш-функція (Si, (t-1)-)(новий секрет, Si, t- старий, індекс (t-1)-)( означає час який залишилося до розкриття секрету, 1применяемая в записі, умовна і означає час, який пройшов з минулого розкриття секрету до поточного моменту часу) Оскільки функцияFявляется односторонньої, раскритиеSi, tне дозволяє розкрити минулі секретиSi, t. (У іншому випадку зловмисник міг би обчислити послідовність секретів по формулі (3), починаючи з деякої точки в майбутньому, або вибрати "функциюFс лазейкой", так щоб тільки він зміг вичислитьSi, t- секретний ключ агента изSi, (t-1)). Кожний розкритий секрет агент повинен підписати на своєму секретному ключі. Новий, получений секрет появляється відкритим і використовується для спілкування агента з користувачем тобто, щоб користувач міг пересвідчитися в особистості агента.

Þ дешифрувати, на своєму секретному ключі, повідомлення користувача вигляду (у, t, (е, n)) зашифровані на відкритому ключі агента, гдеу- будь-яке повідомлення користувача не вмісне ніякої секретної інформації.

Þ шифрувати сообщениеуна секретеSi, t, що розкривається агентом в момент времениt. Таким чином маємо криптограммуE(Si, t, у).

Þ сформувати повідомлення вигляду:

m=(i, t, t˚, Е(Si, t, у)),

гдеi- індекс агента, t- час розкриття в майбутньому, t˚- поточний час (про

часам агента). Це повідомлення шифрується на відкритому ключі користувача

(е, n) і підписується на отриманому секреті агента -Si, t˚:

Е(Е(m, (е, n)), Si, t˚).

Виконання неравенстваt > t˚ не потрібно, однак

розглядається як норма.

· розкрити подписаний секретSi, tв момент времениt.

Відразу після шифровки "тіні" основного ключаКагент повинен розкрити свій секрет - набути значення хеш-функції, проробити маніпуляції, що все покладаються і оголосити користувачу свій відкритий ключ - розкритий секретSi, t, подписаний на своєму секретному ключі. Спочатку аргументом хеш-функції, що використовується є секретний ключ агента. Таким чином агент вже виконав свої обов'язки один раз і схема повинна спрацювати. Як видно по побудові, скільки разів або коли саме агент буде розкривати свій секрет - не важливо. Також немає ніякої залежності між кількістю розкриття секрету різними агентами. Взагалі, агент може учавствовать у всій схемі два рази: перший - зашифрувати "тінь", підписати новий секрет і т. д.; другої - розкрити свій секретний ключ в заданий час.

Так простий набір функцій допускає просту реалізацію у вигляді стійкого до розкриття, секретного, компактного і надійного пристрою. Роль користувача в такій схемі здійснює сервер, який контролює всі маніпуляції агентів при розкритті секрету. Сообщениеуможет або зазделегідь задаватися адміністратором, або генеруватися самим сервером, оскільки ніякого смислового навантаження не несе, а служить для аутентификація агента. Як було сказано вище, кожний агент має свій секретний ключ, який розкривається в момент времениt, цей ключ учавствует в схемі в декількох випадках - коли шифрується "тінь" основного ключаК, коли агент дешифрує повідомлення користувача, підписує сообщениеуи секрет, що розкривається. Новий розкритий і підписаний секрет, учавствует в діалозі користувача і агента, і є відкритим для користувача, щоб користувач міг дешифрувати повідомлення у відповідь.

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

Описана схема використання довірених агентів не "верифицируема" в тому значенні, що за опубликованим даними неможливо зазделегідь ухвалити рішення про відновлення повідомлення. СообщенієМможет бути відновлено тільки після розкриття агентами своїх секретів, дешифрованияrjс метою полученияyjдля подальшого відновлення секретного ключаКи дешифрованияС. Для

розв'язання проблеми необхідно застосовувати "верифицируемие" схеми розділення секрету.

Для зменшення потоку звернень до користувача рекомендується поступати таким чином: з самого початку, агенти формують свої відкриті і секретні ключиDi, tиSi, tсоответственно, гдеDi, t= f (Si, t). Для більшої надійності агенти завжди підписують свої відкриті і закриті ключі. Агент робить доступним ключDi, tдля користувача. Тоді користувач сам може проробити всі необхідні маніпуляції з сообщениемуиспользуя замість секретного ключа агента, подписаний агентом відкритий ключDi, t. Таким чином в обов'язку агента буде входити:

· періодичне розкриття свого відкритого ключаDi, t- отримання нового значення хеш - функції.

· підписання отриманого значення на своєму секретному ключеSi, t.

· розкрити подписаний секретSi, tв момент времениt.

Таким чином користувач буде упевнений, в особистості агента і в тому, що агент існує.

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

На мій погляд, після закінчення хоч би половини заданого терміну можна добитися розкриття повідомлення застосовуючи "грубу силу" до самої криптограммеС (тобто простий перебір ключейК), до того часу продуктивність машин може сильно зрости і час очікування при атаці "груба сила" значно знизиться. Для подолання цього препядствия, як мені здається, можна внести деякі зміни. Наприклад зажадати, щоб в задане времяtчасть секретів була розкрита агентами на певних терміналах (наприклад, що знаходяться в приміщенні кріогенного депозитарія, поруч з сервером) або в певній послідовності.

Для подолання домовленості між агентами, на мій погляд, необхідно збільшити число агентів, причому деяким роздати "тіні" шуканого ключа, а деяким "білий шум", таким чином агентам буде дуже складно зговоритися. Але взагалі, вважається, що агент - людина заслуживающії довір'я.

Враховуючи все вищесказане потрібно відмітити, що такий підхід вимагає більшого об'єму пам'яті для зберігання списку відкритих ключів, які будуть використані в майбутньому, і списку розкритих раніше секретних ключів. Так, необхідний об'єм пам'яті на п'ятдесят років (з розрахунку один ключ на кожний день) при розмірі ключа 200 біт становитиме 3,5 Мбайт.

Висновок.

Ця робота присвячена криптографічним схемам збереження секретного повідомлення на довгий час (від місяця до декількох десятків років). Існує дві схеми подібного типу: «Шаради» з тимчасовим замком (time - lock puzzles) і схема з використанням довірених агентів. Перша схема полягає в тому, що повідомлення кодується ключем, який невідомий як відправнику, так і одержувачу повідомлення і який не буде розкритий протягом часу секретності даного повідомлення, за рахунок своєї довжини. Нестача такого методу, полягає в невеликому періоді времни секретності повідомлення, із за прогресу обчислювальних потужностей комп'ютерів. Найбільш цікава друга схема, оскільки дозволяє залишити повідомлення секретним на більш довгий термін (цей термін обмежується довжиною життя як мінімумθ агентів). Суть методу полягає в тому, що "тіні" ключа, на якому шифрується секретне повідомлення, розподіляються між довіреними агентами. Агенти шифрують свої "тіні" за допомогою вибраного алгоритму на своєму секретному ключі, який вони розкриють тільки після закінчення заданого часу. Кожний агент повинен періодично підтверджувати своє існування і особистість за допомогою певних дій. У заданий момент часу агенти повинні розкрити свої секрети, дешифрувати відповідні "тіні", "зібрати" з отриманих "тіней" шуканий ключ і дешифрувати повідомлення. Стійкість такої схеми забезпечує не тільки довжина ключа але і не "верифицируемость", тобто ухвалити яке небудь рішення про відновлення повідомлення, за опублікованими даними, неможливо. Всі дії агентів, по запевненню своєї особистості, виконуються в суворому порядку і регулюються "користувачем" - сервером.

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

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

Література.

1. Ronald L. Rivest, "Adi Shamir and David A.Wagner Time - lock puzzle and time-release Crypto". (http://theory.lcs.mit.edu/~rivest - 1999 р. на сьогоднішній день сайт оновлений і даної публікації не містить)

2. А. Л. Чмора, "Шифровка в майбутнє", "Конфідент"5'96

3. Ю. Е. Пудовченко, "Коли наступить час підбирати ключі"

4. Переклад статті "Tatu Ylonen Introduction to Cryptography"

5. Г. А. Кабатянський, "Математика розділення секрету".

Особливе спасибі web-майстру сторінки http://www.ssl.stu.neva.ru/ Олександру Ежову за деякі ідеї для рішення цієї задачі і статтю Ю. Е. Пудовченко, "Коли наступить час підбирати ключі".

[М1]

[М2]

[М3]

[М4]

[М5]