Що таке цифровий підпис? Гід по криптовалюті
Learn how digital signatures work in crypto and blockchain. Explore cryptographic mechanisms, algorithms, and their role in securing digital assets.
Цифровий підпис — це криптографічний механізм, який використовує приватний ключ для підпису цифрового документа або транзакції, створюючи унікальний код, що підтверджує особу підписанта та засвідчує, що вміст не було змінено після підписання. Уявіть це як воскову печатку на листі із захистом від підробки: вона доводить, що лист надійшов від вас і не відкривався та не змінювався з моменту запечатування, але замість воску в ній використовується сучасна математика. Кожна транзакція Bitcoin, кожен переказ NFT і кожен юридичний контракт із цифровим підписом покладаються на цей механізм.
Що таке цифровий підпис? (Проста відповідь)
Ви вже знаєте, що робить власноручний підпис: він ідентифікує вас і сигналізує про вашу згоду. Цифровий підпис виконує те саме завдання, але з математичною гарантією, яку не можуть надати ручка та папір.
Рукописний підпис може бути підроблений. Хтось може скопіювати ваші штрихи пера, а сторінки можна замінити після того, як ви підпишете останню. Цифровий підпис вирішує обидві проблеми. Він математично прив'язаний до точного змісту документа, тому будь-яка зміна після підписання, навіть один змінений символ, робить його недійсним. Оскільки він генерується за допомогою унікального приватного ключа, який є тільки у вас, створення дійсного підпису без цього ключа неможливе.
Визначення цифрового підпису, що використовується в технічних стандартах, є точним: це криптографічний код, згенерований за допомогою приватного ключа, який підтверджує особу підписанта та засвідчує, що цифровий документ або повідомлення не змінювалися з моменту підписання. Розуміння значення цифрового підпису саме на такому технічному рівні, а не ототожнення його з просто введеним іменем, — це те, що відрізняє надійну систему безпеки від хибної.
Кожен цифровий підпис забезпечує три основні властивості:
Три основні властивості цифрового підпису
- Автентифікація: Доказ того, що документ надійшов від заявленого відправника, а не від імітатора
- Цілісність даних: Доказ того, що вміст не було змінено з моменту підписання
- Невідмовність: Підписант не може згодом заперечити факт підписання, оскільки лише його приватний ключ міг створити цей конкретний підпис
Невідмовність працює як квитанція про вручення рекомендованого листа. Щойно підпис з’являється в записі, а Приватний ключ, за допомогою якого його було створено, математично пов’язаний з вами, ви не зможете пізніше стверджувати, що не підписували його.
Ось як саме працює цифровий підпис крок за кроком.
Як працює цифровий підпис?
Цифровий підпис працює через триетапний процес: документ хешується, хеш підписується приватним ключем, і одержувач перевіряє підпис за допомогою відкритого ключа.
Процес коротко:
- Крок 1: Хешуйте документ
- Крок 2: Підпишіть хеш приватним ключем
- Крок 3: Перевірте підпис відкритим ключем
Кожен крок пояснюється нижче.
Розуміння криптографії з відкритим ключем
Криптографія з відкритим ключем (також відома як асиметрична криптографія) — це математична система, яка робить можливими цифрові підписи. Її розробили Вітфілд Діффі та Мартін Геллман у 1976 році. Система генерує два математично пов'язані ключі: приватний ключ, який зберігаєте тільки ви, та відкритий ключ, яким ви можете вільно ділитися з будь-ким.
Уявіть це як поштову скриньку: кожен може кинути листа через публічний слот, але відкрити скриньку може лише людина з приватним ключем. У цифрових підписах логіка дещо відрізняється. Ви використовуєте приватний ключ для підписання, а будь-хто з відкритим ключем може перевірити цей підпис.
Крок 1: Створення хешу документа
Перш ніж буде створено цифровий підпис, документ проходить через хеш-функцію — математичний процес, який перетворює весь документ на унікальний рядок символів фіксованої довжини, що називається хешем або дайджестом. SHA-256 (Secure Hash Algorithm 256-bit), стандартизований NIST відповідно до FIPS 180-4, є найпоширенішим прикладом і алгоритмом, який використовує Bitcoin.
Хеш-функція має три властивості, які роблять її ідеальною для цифрових підписів:
[{"description":"Один і той самий документ завжди генерує однаковий хеш","term":"Детермінований"},{"description":"Неможливо відновити вихідний документ за його хешем","term":"Односторонній"},{"description":"Зміна навіть одного символу в документі призводить до абсолютно іншого хешу","term":"Ефект лавини"}]
Уявіть хеш як відбиток пальця: так само, як відбиток пальця унікально ідентифікує людину, не розкриваючи все про неї, хеш унікально ідентифікує документ, не розкриваючи його повний зміст. Одне уточнення, яке варто зробити прямо: хеш — це не шифрування. Шифрування можна розшифрувати за допомогою ключа; хешування незворотне за своєю природою. Це розходження має значення при розумінні того, чим цифрові підписи відрізняються від зашифрованих повідомлень.
Крок 2: Підписання хешу Приватним ключем
Ваш приватний ключ, унікальний секретний рядок символів, відомий тільки вам, є інструментом, який створює цифровий підпис. Ваше програмне забезпечення для підписання бере хеш, отриманий на Кроці 1, і шифрує його за допомогою вашого приватного ключа. Результатом цього шифрування є цифровий підпис.
Ваш приватний ключ є як унікальна фізична печатка або штамп, якою володієте тільки ви: будь-хто може побачити, що ним було проштамповано, але лише ви можете створити цей штамп. Потім цифровий підпис додається до документа та передається отримувачу.
Наслідки для безпеки є прямими: той, хто володіє приватним ключем, контролює цифровий підпис. У криптовалюті ваш криптовалютний гаманець зберігає ваш приватний ключ (а не саму криптовалюту, яка знаходиться в блокчейні) і використовує його для створення цифрового підпису щоразу, коли ви авторизуєте транзакцію.
Крок 3: Перевірка підпису за допомогою відкритого ключа
Отримувач перевіряє підпис, використовуючи ваш відкритий ключ, який є доступною частиною вашого приватного ключа і вільно поширюється без будь-якого ризику безпеки. Процес перевірки працює наступним чином:
["Отримувач використовує ваш відкритий ключ для розшифрування цифрового підпису, відновлюючи початковий хеш","Отримувач самостійно обчислює ту саму хеш-функцію для отриманого документа, генеруючи новий хеш","Два хеші порівнюються"]
Якщо вони збігаються, підпис є дійсним: документ є автентичним і не зазнав змін з моменту його підписання. Якщо вони не збігаються, це означає, що або в документ було внесено зміни після підписання, або підпис є підробленим. Отримувач може отримати ваш Відкритий ключ із цифрового сертифіката, виданого довіреною третьою стороною, про що йдеться у розділі про отримання цифрового підпису.
Підсумок пари ключів
- Приватний ключ = Підписує (створює підпис)
- Відкритий ключ = Перевіряє (перевіряє підпис)
- Приватний ключ є секретним. Відкритий ключ є загальнодоступним.
Цифровий підпис проти шифрування Шифрування захищає вміст: воно шифрує дані так, щоб їх міг прочитати лише авторизований користувач (конфіденційність). Цифровий підпис доводить, хто надіслав вміст, і що він не був змінений. Він нічого не приховує і не шифрує (автентичність та цілісність). Документ може бути одночасно зашифрованим і мати цифровий підпис. Це різні інструменти для різних цілей.
Механізми тепер зрозумілі. Відмінність цифрового підпису від електронних підписів, з якими ви, можливо, вже знайомі, розглядається в наступному розділі.
Цифровий підпис проти Електронного підпису: У чому різниця?
Ні. Цифровий підпис — це не те саме, що електронний підпис, хоча ці терміни часто використовують як взаємозамінні у повсякденній розмові.
Електронний підпис — це широка юридична категорія, що охоплює будь-який електронний символ, звук або процес, прикріплений до запису з наміром підписати його. Це включає введення вашого імені в поле форми, натискання прапорця «Я погоджуюся», малювання підпису на сенсорному екрані та цифрові підписи. Усі цифрові підписи вважаються електронними підписами згідно з цим визначенням.
Цифровий підпис — це специфічний тип електронного підпису, що використовує криптографію з відкритим ключем та хеш-функцію для криптографічного підтвердження особи та цілісності документа. Ключова відмінність: усі цифрові підписи є електронними підписами, але не всі електронні підписи є цифровими підписами. Набране ім'я у полі DocuSign є електронним підписом. PDF-файл, підписаний сертифікатом X.509 від Центру сертифікації, є цифровим підписом.
| Особливість | Електронний підпис | Цифровий підпис |
|---|---|---|
| Визначення | Будь-який електронний метод вираження наміру підписати | Криптографічний механізм, що використовує приватний ключ і хеш-функцію |
| Базова технологія | Не вимагається; може бути простим, як надруковане ім'я | Криптографія з відкритим ключем (пара асиметричних ключів + хеш-функція) |
| Безпека / Виявлення несанкціонованого доступу | Низький до середнього; немає криптографічного виявлення несанкціонованого доступу | Високий; будь-яка зміна після підписання робить підпис недійсним |
| Підтвердження особи | Не вимагається; гарантія автентифікації відсутня | Вимагається; пов'язано з підтвердженою парою ключів |
| Рівень правового забезпечення (eIDAS) | Простий електронний підпис (SES) | Розширений (AdES) або Кваліфікований (QES) рівень |
| Потрібен центр сертифікації | Ні | Так (для підписання документів) |
| Поширені випадки використання | Онлайн-форми, "клікни та погодься", базові платформи електронного підпису | Юридичні контракти, сертифікати PDF, транзакції в блокчейні |
Важливе розрізнення, яке варто прояснити: цифровий сертифікат — це не те саме, що цифровий підпис. Сприймайте цифровий сертифікат як своє посвідчення особи. Він підтверджує, ким ви є, і містить ваш Відкритий ключ. Цифровий підпис — це акт підписання з використанням особи, підтвердженої цим посвідченням. Інфраструктура відкритих ключів (PKI), система довірених організацій, які видають і керують цифровими сертифікатами, — це те, що змушує весь ланцюжок перевірки функціонувати в масштабі.
Традиційні «мокрі» підписи (чорнилом на папері) можна підробити, вони не прив’язані до змісту документа та потребують фізичної присутності. Цифровий підпис неможливо підробити без приватного ключа, він криптографічно прив’язаний до точного змісту документа та функціонує на будь-якій відстані в цифровій формі.
Практичне застосування цифрових підписів виходить далеко за межі підписання документів.
Для чого використовуються цифрові підписи?
Цифрові підписи використовуються для автентифікації осіб, захисту транзакцій та перевірки цілісності документів у сферах криптовалют, юридичних контрактів, електронної пошти, розповсюдження програмного забезпечення та державних послуг.
Цифрові підписи в криптовалюті та блокчейні
У технології блокчейн цифрові підписи є фундаментальним механізмом безпеки, який авторизує кожну транзакцію та доводить, що переказ ініціював лише законний власник. Блокчейн – це розподілений, незмінний реєстр транзакцій, що підтримується в мережі комп'ютерів. Кожна транзакція, надіслана до блокчейну, має бути підписана цифровим підписом, перш ніж мережа її прийме та запише.
Ось як це працює на практиці: коли ви надсилаєте криптовалюту, ваш криптогаманець використовує ваш приватний ключ для створення цифрового підпису, що авторизує цю конкретну транзакцію. Потім мережа блокчейну перевіряє підпис за допомогою вашого відкритого ключа. Тільки якщо підпис є дійсним, транзакція буде продовжена та назавжди записана в блок.
Bitcoin використовує алгоритм цифрового підпису на еліптичних кривих (ECDSA) з еліптичною кривою secp256k1 для підписання всіх транзакцій. Ваш гаманець для криптовалюти зберігає ваш приватний ключ, а не саму криптовалюту (яка існує як запис у блокчейні), і автоматично генерує підпис щоразу, коли ви авторизуєте переказ. Кожна взаємодія з протоколом DeFi або маркетплейсом NFT працює однаково: ваш гаманець підписує транзакцію вашим приватним ключем, що запускає смартконтракт.
Наслідок для безпеки є прямим: ви не можете витратити чужу криптовалюту, оскільки не маєте їхнього приватного ключа, а отже, не можете створити дійсний цифровий підпис для адреси їхнього гаманця.
Цифрові підписи для юридичних документів та контрактів
Цифрові підписи захищають юридичні документи, контракти, державні форми, фінансові записи та медичні документи. Вони забезпечують захищений від фальсифікації та юридично чинний запис про те, хто, що і коли підписав.
Такі платформи, як Adobe Acrobat Sign та DocuSign (при використанні з цифровими сертифікатами, а не базовими електронними підписами), застосовують криптографічні цифрові підписи до PDF-файлів. Підписаний PDF-файл вбудовує сертифікат підписувача та хеш вмісту документа. Будь-яка зміна після підписання, навіть виправлення одного слова, генерує інший хеш, що робить підпис недійсним і викликає попередження в Adobe Acrobat. Кожен документ, підписаний цифровим підписом, також містить захищений від несанкціонованої зміни аудитний слід, що записує, коли і ким він був підписаний. Ці підписи є юридично обов'язковими згідно з Актом ESIGN у Сполучених Штатах, що детально розглядається нижче.
Цифрові підписи в електронній пошті та програмному забезпеченні
Поштові клієнти, такі як Microsoft Outlook та Apple Mail, підтримують цифрові підписи за допомогою сертифікатів S/MIME (Secure/Multipurpose Internet Mail Extensions). Цифровий підпис електронного листа підтверджує, що повідомлення надійшло від заявленого відправника і не було змінено під час передачі, захищаючи від спуфінгу електронної пошти та фішингу. Видавці програмного забезпечення використовують сертифікати підписання коду для тієї ж мети: підписання їхнього коду доводить, що він не був змінений з моменту випуску видавцем, запобігаючи впровадженню шкідливого програмного забезпечення в легітимні дистрибутиви програм.
Цифрові підписи та володіння NFT
Невзаємозамінний токен (NFT) — це унікальний цифровий токен у блокчейні, який представляє право власності на певний цифровий об'єкт, наприклад витвір мистецтва, музику чи колекційний предмет, а цифрові підписи доводять це право власності та авторизують його передачу.
Коли карбується NFT, цифровий підпис творця записується в блокчейн як запис про походження, що встановлює авторство. Коли NFT продається або передається, цифровий підпис поточного власника авторизує цю передачу. Без цифрових підписів немає криптографічного доказу того, хто володіє NFT, або що будь-яка передача була авторизована законним власником. Ось як цифровий підпис доводить, що ви володієте NFT: ваш приватний ключ створив підпис, записаний ончейн під час передачі, і тільки ваш ключ міг створити цей підпис.
Алгоритми, які генерують ці підписи, відрізняються залежно від контексту. Розуміння їх пояснює, чому різні платформи роблять різні технічні вибори.
Типи алгоритмів цифрового підпису
Трьома основними алгоритмами, що використовуються для цифрових підписів, є RSA (Rivest-Shamir-Adleman), ECDSA (алгоритм цифрового підпису на еліптичних кривих) та DSA (алгоритм цифрового підпису). Кожен із них використовує різний математичний підхід, але всі вони створюють криптографічно безпечні підписи. Стандарт цифрового підпису NIST (FIPS 186-5) офіційно визначає всі три алгоритми як схвалені.
| Алгоритм | Розмір ключа | Основний варіант використання | Ким використовується |
|---|---|---|---|
| RSA | 2048+ біт | Підписання документів, TLS/SSL, електронна пошта (S/MIME) | Корпоративні системи, вебсертифікати |
| ECDSA | 256 біт | Транзакції в Блокчейні, Криптовалютні гаманці | Bitcoin, Ethereum, більшість Блокчейнів |
| DSA | 2048+ біт | Державні системи, застарілі додатки | Уряд США, застарілі корпоративні системи |
RSA (Рівест-Шамір-Адлеман)
RSA, названий на честь його винахідників Рона Рівеста, Аді Шаміра та Леонарда Адлемана, які розробили його у 1977 році, є найпоширенішим алгоритмом цифрового підпису в корпоративній та веб-безпеці. Його безпека ґрунтується на математичній складності факторизації великих простих чисел. RSA є стандартним алгоритмом для безпеки електронної пошти (S/MIME), підписання PDF-документів та підписання TLS/SSL-сертифікатів в Інтернеті. Поточні стандарти безпеки вимагають мінімального розміру ключа 2048 біт. Компроміс полягає в розмірі: RSA вимагає значно більших ключів, ніж ECDSA, для еквівалентної безпеки, що робить його менш ефективним для використання в блокчейн, але домінуючим у традиційних корпоративних середовищах.
ECDSA (Алгоритм цифрового підпису на еліптичних кривих)
ECDSA, алгоритм цифрового підпису на еліптичних кривих, — це алгоритм, на який покладаються Bitcoin та Ethereum, а також більшість інших основних блокчейн-платформ для авторизації транзакцій. Причиною цього є його ефективність. ECDSA — це варіант DSA, який використовує математику еліптичних кривих для створення менших, швидших і так само безпечних підписів порівняно з RSA.
Bitcoin використовує ECDSA з еліптичною кривою secp256k1. Його 256-бітні ключі ECDSA забезпечують рівень безпеки, еквівалентний 3072-бітному ключу RSA, при значно нижчих витратах на зберігання та обробку. Менші підписи та ключі зменшують навантаження на кожну ноду в мережі Блокчейн, саме тому блокчейн-платформи надають перевагу ECDSA перед RSA.
ECDSA - це лише алгоритм підписування. Його не слід плутати з ECDH (Елліптична крива Діффі-Геллмана), який є протоколом обміну ключами, побудованим на тій самій математичній основі, але слугує зовсім іншій меті.
DSA (Алгоритм цифрового підпису)
DSA, алгоритм цифрового підпису, є державним стандартом, розробленим NIST у 1991 році та в основному використовуваним у застарілих державних та корпоративних системах. Його безпека базується на проблемі дискретного логарифмування. DSA менше використовується в сучасних комерційних або блокчейн-додатках порівняно з RSA та ECDSA. ECDSA — це, по суті, варіант DSA, перероблений для математики еліптичних кривих, який забезпечує ту саму функцію підпису зі значно кращою ефективністю.
Для більшості професійних і юридичних сценаріїв використання найважливішим питанням є те, чи мають цифрові підписи юридичну силу в суді.
Чи мають цифрові підписи юридичну силу?
Так, цифрові підписи є юридично зобов'язуючими та мають юридичну силу у Сполучених Штатах, Європейському Союзі та більшості інших великих юрисдикцій у всьому світі.
Інформація в цьому розділі призначена для освітніх цілей і відображає загальні правові рамки на дату публікації. Вона не є юридичною консультацією. Щоб отримати рекомендації, специфічні для вашої юрисдикції, типу документа чи організаційних вимог, зверніться до кваліфікованого юриста.
Закон ESIGN (США)
Закон про електронні підписи в глобальній та національній торгівлі (Закон ESIGN, 15 U.S.C. § 7001), підписаний 30 червня 2000 року, встановлює, що електронні підписи (включаючи криптографічні цифрові підписи) не можуть бути позбавлені юридичної сили виключно через те, що вони мають електронну форму.
Щоб електронний підпис мав юридичну силу відповідно до Закону ESIGN, мають бути виконані три умови:
- Намір підписати: Підписант повинен мати активний намір підтвердити автентичність документа
- Згода на електронні транзакції: Сторони повинні погодитися на ведення бізнесу в електронному вигляді
- Зв'язок із записом: Підпис має бути логічно пов'язаний із підписаним документом
Закон ESIGN широко застосовується до комерційних транзакцій. Певні типи документів виключаються з його сфери дії, включаючи заповіти, документи про усиновлення, певні судові накази та деякі державні документи.
У межах широкої категорії електронних підписів, які визнаються Законом ESIGN, цифрові підписи забезпечують найвищий рівень надійності та найвагоміші докази неспростовності в правових спорах. Властивість неспростовності цифрового підпису — математичний доказ того, що підпис міг створити лише власник Приватного ключа, — є основою для його вищої юридичної сили під час оскарження підпису.
Регламент eIDAS (Європейський Союз)
Регламент щодо електронної ідентифікації та електронних довірчих послуг, відомий як eIDAS (Регламент ЄС 910/2014), який діє з 2016 року, регулює електронні та цифрові підписи в усіх державах-членах Європейського Союзу через трирівневу систему.
Три рівні наступні:
- Простий електронний підпис (SES): Базовий рівень, що охоплює надруковані імена, скановані підписи та інші прості електронні індикатори наміру
- Удосконалений електронний підпис (AdES): Криптографічно пов'язаний із підписувачем; будь-яке втручання після підписання можна виявити
- Кваліфікований електронний підпис (QES): Найвищий рівень, що потребує кваліфікованого цифрового сертифіката від акредитованого надавача довірчих послуг; має повну юридичну силу, еквівалентну власноручному підпису, в усіх країнах-членах ЄС
Кваліфікований електронний підпис (КЕП) вимагає саме криптографічний механізм цифрового підпису. Просте підтвердження кліком не вважається таким. eIDAS діє на території держав-членів ЄС; Велика Британія має власну еквівалентну нормативно-правову базу після виходу з ЄС. eIDAS 2.0 наразі перебуває у розробці, і очікується, що він запровадить концепцію Європейського гаманця цифрової ідентифікації.
| Юрисдикція | Застосовне право | Найвищий рівень підпису |
|---|---|---|
| Сполучені Штати | Закон ESIGN (15 U.S.C. § 7001, 2000) | Удосконалений електронний підпис |
| Європейський Союз | Регламент eIDAS 910/2014 (2016) | Кваліфікований електронний підпис (КЕП) |
| Сполучене Королівство | Закон Великої Британії про електронні комунікації + збережене законодавство Великої Британії про eIDAS | Кваліфікований електронний підпис |
Правова база визначає, чи є цифрові підписи дійсними. Залишається зрозуміти, що вони захищають, що переносить нас до ширшої екосистеми цифрових активів.
Цифрові підписи та Цифрові активи
Цифровий актив — це будь-який актив, який існує в цифровій формі та має цінність, включаючи криптовалюти, такі як біткоїн, NFT, токенізовані цінні папери, цифрові контракти, ліцензії на програмне забезпечення та цифрові медіа.
Приклади цифрових активів включають:
- Криптовалюти (Біткойн, Ефір, стейблкоїни)
- Невзаємозамінні токени (NFT), що представляють цифрове мистецтво, музику, колекційні предмети та ігрові предмети
- Токенізовані реальні активи: нерухомість, акції, товари та інші фінансові інструменти, представлені у вигляді токенів блокчейну
- Цифрові документи та контракти: юридично зобов'язуючі угоди у цифровій формі
- Ліцензії на програмне забезпечення, що підтверджуються криптографічними обліковими даними
- Цифрові медіа із зафіксованим у блокчейні правом власності
Без цифрових підписів не було б надійного способу довести, хто володіє криптовалютою, хто авторизував переказ NFT, або чи є цифровий контракт справжнім. Цифрові підписи є фундаментальним механізмом автентифікації та перевірки права власності, що робить цифрові активи надійними.
Підсумовуючи те, як вищеописаний механізм застосовується до всього спектру цифрових активів:
- Криптовалюти: кожна транзакція авторизується цифровим підписом з приватного ключа гаманця відправника; мережа перевіряє підпис перед записом переказу
- NFT: право власності встановлюється під час створення (мінтингу) цифровим підписом творця ончейн; кожен переказ вимагає цифровий підпис поточного власника як авторизацію
- Смарт-контракти: кожна взаємодія з протоколом DeFi або маркетплейсом NFT вимагає транзакцію з цифровим підписом, яка запускає контракт
- Цифрові документи: автентифікуються за допомогою цифрових підписів на основі PKI, які пов'язують перевірену особу підписанта зі змістом документа
Цифрові підписи також лежать в основі токенізації (процес представлення реальних активів у вигляді токенів у блокчейні), забезпечуючи, що кожне випущення та передача токена має перевірений доказ авторизації.
Будь-яка згадка Bitcoin, Ether або інших криптовалют у цій статті наведена виключно в ілюстративних цілях і не є рекомендацією щодо купівлі, продажу або зберігання будь-якого цифрового активу.
Зважаючи на те, наскільки багато залежить від цифрових підписів, природне запитання полягає в тому, наскільки вони насправді безпечні.
Чи безпечні цифрові підписи?
Так, цифрові підписи є безпечними при належній реалізації. Їхня безпека базується на двох основах: математичній стійкості криптографічного алгоритму та секретності приватного ключа.
Стовп 1: Міцність алгоритму. Сучасний ECDSA з 256-бітними ключами та RSA з 2048-бітними або більшими ключами обчислювально неможливо зламати за допомогою сучасної чи найближчої майбутньої обчислювальної техніки. Злам будь-якого з цих алгоритмів методом повного перебору, без приватного ключа, не є практичною атакою. NIST активно відстежує ці стандарти та оновлює рекомендації зі зростанням обчислювальної потужності.
Стовп 2: Безпека приватного ключа. Цифровий підпис є безпечним лише настільки, наскільки безпечним є приватний ключ. Справжній ризик безпеки становить не алгоритм, а компрометація приватного ключа. Належним чином реалізований цифровий підпис неможливо підробити без доступу до приватного ключа підписувача. Якщо приватний ключ залишається в таємниці, підпис є математично унікальним і не може бути відтворений.
Якщо приватний ключ скомпрометовано, наслідки відрізняються залежно від контексту:
- У контексті PKI/документів: Будь-хто, хто має ваш приватний ключ, може підписувати документи від вашого імені. Негайно повідомте про компрометацію свій Центр сертифікації. ЦС відкличе ваш цифровий сертифікат, що анулює майбутні підписи, зроблені скомпрометованим ключем. Підписи, зроблені до моменту відкликання, залишаються дійсними; ті, що зроблені після, — є сумнівними.
- У контексті криптовалют: Будь-хто, хто має ваш приватний ключ, може витратити ваші кошти. У децентралізованих системах блокчейн механізм відкликання відсутній. Якщо приватний ключ, що керує криптогаманцем, викрадено, будь-які кошти, переказані зловмисником, зникають, і такий переказ є незворотним.
Практичні кроки для захисту вашого приватного ключа:
["Зберігайте приватні ключі у апаратних гаманцях або безпечних системах управління ключами, а не у файлах відкритого тексту чи сховищі браузера","Ніколи не діліться та не розкривайте ваш приватний ключ нікому за жодних обставин","Відкличте свій цифровий сертифікат та негайно запитайте новий, якщо підозрюєте компрометацію"]
Дослідження в галузі постквантової криптографії тривають. Сучасні квантові комп'ютери не можуть зламати ECDSA або RSA, але це може змінитися з розвитком технологій. NIST активно розробляє стандарти постквантової криптографії, щоб врахувати цю довгострокову перспективу.
Як отримати цифровий підпис
Отримання цифрового підпису залежить від вашого контексту. Чи потрібно вам підписувати юридичні документи, чи авторизувати транзакції в блокчейні, процес працює по-різному.
Контекст 1: Документ і професійні цифрові підписи
Отримання цифрового підпису для підписання документів потребує цифрового сертифіката від центру сертифікації (CA) — довіреної організації, яка перевіряє вашу особу та видає сертифікат. Кроки:
- Оберіть центр сертифікації або інтегровану платформу. DigiCert, Sectigo, GlobalSign та інші широко використовувані ЦС пропонують сертифікати з різними рівнями гарантії. Adobe Acrobat Sign та DocuSign також пропонують інтегровані сертифікати для робочих процесів із документами.
- Підтвердьте свою особу. ЦС виконує підтвердження особи. Процес залежить від необхідного рівня гарантії; сертифікати вищого рівня гарантії передбачають більш суворі перевірки.
- Отримайте свій цифровий сертифікат. ЦС видає сертифікат у форматі X.509. Цей сертифікат містить ваш відкритий ключ, перевірену інформацію про вашу особу та власний цифровий підпис ЦС, що підтверджує його дійсність. Розглядайте цей сертифікат як ваше посвідчення особи: він доводить, хто ви є. Цифровий підпис — це акт підписання з використанням особи, яку підтверджує це посвідчення.
- Використовуйте в програмному забезпеченні для підписання. Встановіть сертифікат в Adobe Acrobat, Microsoft Office, DocuSign або аналогічному програмному забезпеченні для підписання. З цього моменту ви можете ставити цифровий підпис на будь-якому підтримуваному документі.
Дві операційні примітки: сертифікати мають терміни дії і повинні бути оновлені до того, як вони закінчаться. Центри сертифікації (CA) також можуть відкликати сертифікати, якщо приватний ключ буде скомпрометовано, що є однією з переваг моделі інфраструктури відкритих ключів (PKI) порівняно із суто децентралізованими підходами.
Для підписання PDF зокрема: коли сертифікат встановлено, використовуйте інструменти цифрового підпису Adobe Acrobat для його накладання. Підписаний PDF вбудовує ваш сертифікат і хеш вмісту документа, блокуючи файл від змін після підписання.
Контекст 2: Криптовалюта та Цифрові підписи Блокчейн
Якщо у вас уже є криптовалютний гаманець (MetaMask, апаратний гаманець Ledger або Coinbase Wallet), ви вже маєте можливість цифрового підпису. Коли ви авторизуєте транзакцію в Блокчейні, програмне забезпечення вашого гаманця автоматично використовує ваш Приватний ключ для створення цифрового підпису. Окремий сертифікат або CA не потрібні. Мережа Блокчейн здійснює перевірку через Відкритий ключ, пов'язаний з адресою вашого гаманця.
Щоб дізнатися більше про те, як цифрові активи захищаються та передаються, перегляньте наш посібник з основ блокчейну.
Поширені запитання про цифрові підписи
Що таке цифровий підпис і як він працює?
Цифровий підпис — це криптографічний механізм, який використовує приватний ключ для створення унікального коду, що підтверджує особу підписанта та засвідчує, що документ не був змінений з моменту підписання. Він працює у три етапи: документ перетворюється на хеш за допомогою хеш-функції, приватний ключ підписанта шифрує цей хеш для створення цифрового підпису, а отримувач розшифровує підпис за допомогою відкритого ключа підписанта та порівнює відновлений хеш із новим хешем отриманого документа. Збіг хешів підтверджує автентичність та цілісність.
Яка різниця між цифровим підписом та електронним підписом?
Електронний підпис — це широка юридична категорія, що охоплює будь-який електронний спосіб вираження наміру підписати, від надрукованого імені до клацання прапорця або криптографічного підпису. Цифровий підпис — це конкретний тип електронного підпису, який використовує криптографію з відкритим ключем для математичної перевірки ідентичності підписувача та виявлення будь-яких змін після підписання. Усі цифрові підписи є електронними підписами, але не всі електронні підписи є цифровими.
Чи є цифровий підпис юридично зобов'язуючим?
Так, цифрові підписи мають юридичну силу. У Сполучених Штатах Закон про електронні підписи в міжнародній та національній торгівлі (ESIGN Act, 15 U.S.C. § 7001) встановлює, що електронним підписам (включаючи цифрові підписи) не може бути відмовлено в юридичній силі лише на тій підставі, що вони представлені в електронній формі. У Європейському Союзі eIDAS (Регламент ЄС 910/2014) надає Кваліфікованому електронному підпису найвищого рівня повну юридичну еквівалентність власноручному підпису в усіх країнах-членах ЄС.
Чи можна підробити цифровий підпис?
Ні, без доступу до приватного ключа підписувача це неможливо. Злам основного алгоритму ECDSA або RSA без приватного ключа є обчислювально нездійсненним за допомогою сучасних технологій. Справжній ризик безпеки полягає не у зламі алгоритму, а в крадіжці приватного ключа. Якщо хтось отримає ваш приватний ключ, він зможе створювати підписи, які виглядатимуть легітимними, ось чому секретність приватного ключа є основою безпеки цифрового підпису.
Який криптографічний алгоритм використовує Bitcoin для цифрових підписів?
Bitcoin використовує алгоритм цифрового підпису на еліптичних кривих (ECDSA) з еліптичною кривою secp256k1 для авторизації всіх транзакцій Bitcoin. ECDSA було обрано тому, що його 256-бітні ключі забезпечують рівень безпеки, еквівалентний 3072-бітному ключу RSA, при значно меншому розмірі, що зменшує витрати на зберігання та обробку на кожному вузлі мережі Bitcoin.
Що таке сертифікат цифрового підпису?
Сертифікат цифрового підпису (також відомий як цифровий сертифікат або сертифікат X.509) — це документ, виданий Центром сертифікації, який містить відкритий ключ власника та пов'язує його з їхньою перевіреною ідентичністю. Коли ви цифровим чином підписуєте документ, ваш сертифікат подорожує разом із підписом, щоб одержувач міг перевірити вашу ідентичність, використовуючи відкритий ключ, схвалений ЦС. Цифровий сертифікат не є цифровим підписом; сертифікат — це облікові дані, що дозволяють верифікацію, тоді як підпис — це криптографічна дія, виконана за допомогою вашого приватного ключа.
Хто видає цифрові підписи?
Центри сертифікації (CA) видають цифрові сертифікати, які забезпечують можливість створення цифрового підпису. CA — це довірена організація, яка перевіряє особу заявника та видає сертифікат, що пов’язує її особу з відкритим ключем. До відомих центрів сертифікації належать DigiCert, Sectigo (раніше Comodo CA), GlobalSign та IdenTrust. CA видає сертифікат; підписант створює кожний окремий цифровий підпис за допомогою власного приватного ключа.
Які існують три типи цифрових підписів?
Цифрові підписи класифікуються двома способами. За алгоритмом: RSA (Rivest-Shamir-Adleman), ECDSA (Алгоритм цифрового підпису на еліптичних кривих) та DSA (Алгоритм цифрового підпису). За рівнем правового забезпечення згідно з регламентом ЄС eIDAS: Простий електронний підпис (SES), Розширений електронний підпис (AdES) та Кваліфікований електронний підпис (QES). Рівень QES спеціально вимагає криптографічний механізм цифрового підпису, підкріплений акредитованим центром сертифікації.