Довірена позначка часу

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

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

Історія[ред. | ред. код]

Ідея встановлення часових позначок налічує багато століть. Наприклад, коли Роберт Гук відкрив закон Гука в 1660 році, він ще не хотів його публікувати, але хотів мати можливість претендувати на пріоритет. Тому він опублікував анаграму ceiiinosssttuv, а пізніше опублікував переклад ut tensio sic vis (лат. «Яке розширення, така й сила»). Так само Галілей вперше опублікував своє відкриття фаз Венери у формі анаграми.

Сер Ісаак Ньютон, відповідаючи на запитання Лейбніца в листі в 1677 році, приховав деталі своєї «флюксійної техніки» за допомогою анаграми:

Насправді основи цих операцій достатньо очевидні; але оскільки я не можу продовжити їх пояснення зараз, я вважаю за краще приховати це так: 6accdae13eff7i3l9n4o4qrr4s8t12ux. На цій основі я також намагався спростити теорії, які стосуються квадратури кривих, і я дійшов до певних загальних теорем.

Достовірну цифрову позначку часу вперше обговорили в літературі Стюарт Хабер[en] і В. Скотт Сторнетта[en].[1]

Класифікація[ред. | ред. код]

Існує багато схем позначення часу з різними цілями безпеки:

Покриття в стандартах:

Scheme RFC 3161 X9.95[en] ISO/IEC 18014[en]
ІВК Так Так Так
На основі зв'язування Так Так
MAC Так
База даних Так
Тимчасові ключі Так
На основі зв'язування і підпису Так

Для систематичної класифікації та оцінки схем позначення часу див. роботи Масасі Уне.[2]

Довірена (цифрова) позначка часу[ред. | ред. код]

Отримання позначки часу від довіреної третьої сторони

Відповідно до стандарту RFC 3161 довірена позначка часу – це позначка часу, видана довіреною третьою стороною[en], яка діє як уповноважений із надання позначок часу. Вона використовується для підтвердження існування певних даних до певного моменту (наприклад, договорів, даних досліджень, медичних записів тощо) без можливості того, щоб власник міг встановити позначку часу заднім числом. Можна використовувати кількох уповноважених із надання позначок часу для підвищення надійності та зменшення вразливості.

Новий стандарт ANSI ASC X9.95[en] для довірених позначок часу доповнює стандарт RFC 3161 вимогами безпеки на рівні даних, щоб забезпечити цілісність даних щодо надійного джерела часу, яке можна перевірити будь-якій третій стороні. Цей стандарт застосовувався для автентифікації даних із цифровим підписом для відповідності нормативним вимогам, фінансових операцій і юридичних доказів.

Створення позначки часу[ред. | ред. код]

Методика заснована на цифрових підписах і геш-функціях. Спочатку з даних обчислюється геш-значення. Геш-значення — це свого роду цифровий відбиток вихідних даних: рядок бітів, який практично неможливо скопіювати з будь-яким іншим набором даних. Якщо вихідні дані змінено, це призведе до зовсім іншого геш-значення. Це геш-значення надсилається до уповноваженого із надання позначок часу. Уповноважений із надання позначок часу об’єднує позначку часу з геш-значенням і обчислює геш-значення цього об’єднання. З цього геш-значення, у свою чергу, обчислюється цифровий підпис за допомогою особистого ключа уповноваженого із надання позначок. Це підписане геш-значення + позначка часу надсилається назад запитувачу позначки часу, який зберігає їх разом із вихідними даними (див. схему).

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

Перевірка позначки часу[ред. | ред. код]

Перевірка правильності позначки часу, створеної уповноваженим із надання позначок

Будь-хто, хто довіряє позначці часу, може переконатися, що документ не було створено після дати, зазначеної позначкою часу. Також більше не можна заперечувати, що запитувач позначки часу мав вихідні дані в час, указаний позначкою часу. Щоб підтвердити це (див. діаграму), обчислюється геш-значення вихідних даних, до нього додається позначка часу, надана уповноваженим із надання позначок, і обчислюється геш-значення результату цього об’єднання. Результат позначається як геш-значення A.

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

Децентралізована позначка часу в блокчейні[ред. | ред. код]

З появою таких криптовалют, як біткойн, стало можливим отримати певний рівень безпечної точності позначок часу децентралізованим і захищеним від несанкціонованого втручання способом. Цифрові дані можна гешувати, а геш-значення можна включити в транзакцію, що зберігається в блокчейні, яка служить доказом часу, коли ці дані існували.[3][4] Для блокчейнів на основі підтвердження роботи безпека залежить від величезної кількості обчислювальних зусиль, виконаних після того, як геш-значення було надіслано в блокчейн. Втручання в позначку часу потребує більше обчислювальних ресурсів, ніж має решта мережі разом узята, і не може бути зроблено непоміченим в активно захищеному блокчейні.

Однак дизайн і реалізація біткойна, зокрема, робить його позначки часу вразливими до певної міри маніпуляцій, дозволяючи позначки часу до двох годин у майбутньому та приймаючи нові блоки з позначками часу раніше, ніж попередній блок.[5]

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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Haber, S.; Stornetta, W. S. (1991). How to time-stamp a digital document. Journal of Cryptology. 3 (2): 99—111. CiteSeerX 10.1.1.46.8740. doi:10.1007/BF00196791.
  2. Une, Masashi (2001). The Security Evaluation of Time Stamping Schemes: The Present Situation and Studies. IMES Discussion Papers Series 2001-E-18: 100—8630. CiteSeerX 10.1.1.23.7486.
  3. Jones, Shawn M. (20 квітня 2017). 2017-04-20: Trusted Timestamping of Mementos. ws-dl.blogspot.de. Процитовано 30 жовтня 2017.
  4. Gipp, B., Meuschke, N. and Gernandt, A., 2015 "Decentralized Trusted Timestamping using the Crypto Currency Bitcoin." in Proceedings of the iConference 2015. March 2015, Newport Beach, California.
  5. Boverman, Alex (25 травня 2011). culubas: Timejacking & Bitcoin. culubas. Процитовано 30 травня 2020.
  6. B. Gipp, J. Kosti, and C. Breitinger. 2016. "Securing Video Integrity Using Decentralized Trusted Timestamping on the Blockchain" in Proceedings of the 10th Mediterranean Conference on Information Systems (MCIS), Paphos, Cyprus.
  7. C. Breitinger, B. Gipp. 2017. "VirtualPatent – Enabling the Traceability of Ideas Shared Online using Decentralized Trusted Timestamping" in Proceedings of the 15th International Symposium of Information Science, Berlin, 2017.

Посилання[ред. | ред. код]