Поділ секрету Шаміра

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

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

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

Ще один варіант - розділити початковий ключ на 2 частини. Тепер злодію доведеться вкрасти обидві, щоб забезпечити собі доступ. Але при втраті будь-якої з цих частин - знову доведеться проходити процедуру відновлення доступу.

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

Що це таке?

Автор ідеї - ізраїльський криптограф Аді Шамір. У 1970 році ним була опублікована наукова робота «Як розділити секрет», в якій описувалася порогова схема, що дозволяє отримувати доступ до розділеної на n частин інформації, володіючи тільки k частинами. k само собою менше n. При цьому навіть наявність k-1 частин не дає жодного уявлення про ключ і не полегшує його підбір. Тобто - ще й семантична безпека.

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

Саме в ситуації з розподілом секрету Шаміра використовується так званий інтерполяційний многочлен Лагранжа. Він дозволяє визначити ту саме кількість точок k, яка потрібна для визначення всієї функції.

У практичному вигляді це виглядає так. Є дилер, який пропонує послуги зберігання інформації. Він же надає приватний ключ, який потім розбивається на деяку кількість частин. Кожна ця частина видається одному з учасників. Тепер для отримання доступу до інформації, k таких осіб повинні об'єднати свої зусилля. При цьому їм не обов'язково буті всім присутнім в одному місці - точка відмови буде створюватися дистанційно, після обміну інформацією.

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

Конкретні переваги ПСШ

Проблеми ПСШ і їх рішення

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