Що таке цифровий підпис? Гід по криптовалюті
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.
Хеш-функція має три властивості, які роблять її ідеальною для цифрових підписів:
- Детермінованість: Той самий документ завжди дає однаковий хеш
- Односторонність: Ви не можете обернути хеш, щоб відновити вихідний документ
- Лавинний ефект: Зміна навіть одного символу в документі призводить до абсолютно іншого хешу
Уявіть хеш як відбиток пальця: подібно до того, як відбиток пальця унікально ідентифікує людину, не розкриваючи про неї всього, хеш унікально ідентифікує документ, не розкриваючи його повного вмісту. Одне уточнення, яке варто прямо зазначити: хеш — це не шифрування. Шифрування є зворотним за допомогою ключа; хешування за дизайном є незворотним. Ця відмінність має значення при розумінні того, чим цифрові підписи відрізняються від зашифрованих повідомлень.
Крок 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 (Elliptic Curve Digital Signature Algorithm) та DSA (Digital Signature Algorithm). Кожен використовує різний математичний підхід, але всі вони створюють криптографічно безпечні підписи. Стандарт цифрового підпису NIST (FIPS 186-5) офіційно визначає всі три як затверджені алгоритми.
| Алгоритм | Розмір ключа | Основний випадок використання | Використовується ким |
|---|---|---|---|
| RSA | 2 048+ біт | Підписання документів, TLS/SSL, електронна пошта (S/MIME) | Корпоративні системи, веб-сертифікати |
| ECDSA | 256 біт | Транзакції блокчейну, криптогаманці | Bitcoin, Ethereum, більшість блокчейнів |
| DSA | 2 048+ біт | Державні системи, застарілі застосунки | Уряд США, корпоративні застарілі системи |
RSA (Rivest-Shamir-Adleman)RSA, названий на честь своїх винахідників Рона Рівеста, Аді Шаміра та Леонарда Адлемана, які розробили його у 1977 році, є найбільш широко впровадженим алгоритмом цифрового підпису в корпоративній та веб-безпеці. Його безпека ґрунтується на математичній складності факторизації великих простих чисел. RSA є стандартним алгоритмом для безпеки електронної пошти (S/MIME), підписання документів PDF та підписання сертифікатів TLS/SSL у мережі. Поточні стандарти безпеки вимагають мінімального розміру ключа 2048 біт. Компромісом є розмір: RSA вимагає значно більших ключів, ніж ECDSA, для еквівалентної безпеки, що робить його менш ефективним для використання в блокчейні, але домінуючим у традиційних корпоративних середовищах.
ECDSA (Алгоритм цифрового підпису на еліптичних кривих)
ECDSA, алгоритм цифрового підпису на еліптичних кривих, — це алгоритм, на який покладаються Bitcoin та Ethereum, а також більшість інших основних блокчейн-платформ для авторизації транзакцій. Причина полягає в його ефективності. ECDSA — це варіант DSA, який використовує математику еліптичних кривих для створення менших, швидших і рівноцінно безпечних підписів порівняно з RSA.
Bitcoin використовує ECDSA з еліптичною кривою secp256k1. 256-бітні ключі ECDSA у Bitcoin забезпечують безпеку, еквівалентну 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): Найвищий рівень, що вимагає кваліфікованого цифрового сертифіката від акредитованого постачальника довірчих послуг; має повну юридичну еквівалентність власноручному підпису в усіх країнах-членах ЄС.
QES спеціально вимагає механізму криптографічного цифрового підпису. Простий клік для підпису не підходить. eIDAS застосовується в усіх країнах-членах ЄС; Великобританія має власну еквівалентну базу після виходу з ЄС. eIDAS 2.0 зараз перебуває в розробці та, як очікується, запровадить структуру Європейського гаманця цифрової ідентифікації.
| Юрисдикція | Застосовне право | Найвищий рівень підпису |
|---|---|---|
| Сполучені Штати | Закон ESIGN (15 U.S.C. § 7001, 2000) | Удосконалений електронний підпис |
| Європейський Союз | Регламент eIDAS 910/2014 (2016) | Кваліфікований електронний підпис (QES) |
| Великобританія | Закон Великобританії про електронні комунікації + збережене право UK eIDAS | Кваліфікований електронний підпис |
Правова база дає відповідь на питання, чи є цифрові підписи дійсними. Залишається зрозуміти, що вони захищають, що підводить нас до ширшої екосистеми цифрових активів.
Цифрові підписи та цифрові активи
Цифровий актив — це будь-який актив, який існує в цифровій формі та має цінність, включаючи криптовалюти, такі як Bitcoin, NFT, токенізовані цінні папери, цифрові контракти, ліцензії на програмне забезпечення та цифрові медіа.
Приклади цифрових активів включають:
- Криптовалюти (Bitcoin, Ether, стейблкоїни)
- Невзаємозамінні токени (NFT), що представляють цифрове мистецтво, музику, предмети колекціонування та внутрішньоігрові предмети
- Токенізовані реальні активи: нерухомість, акції, сировинні товари та інші фінансові інструменти, представлені як блокчейн-токени
- Цифрові документи та контракти: юридично обов'язкові угоди в цифровій формі
- Ліцензії на програмне забезпечення, підтверджені криптографічними обліковими даними
- Цифрові медіа з правом власності, зафіксованим у блокчейні
Без цифрових підписів не було б надійного способу довести, хто володіє криптовалютою, хто дозволив переказ NFT або чи є цифровий контракт автентичним. Цифрові підписи є основоположним механізмом автентифікації та перевірки власності, який робить цифрові активи надійними.
Підсумовуючи, як розглянутий вище механізм застосовується у всьому спектрі цифрових активів:
- Криптовалюти: кожна транзакція авторизується цифровим підписом з приватного ключа гаманця відправника; мережа перевіряє підпис перед записом переказу
- NFT: власність встановлюється під час випуску (minting) ончейн цифровим підписом творця; кожен переказ вимагає цифрового підпису поточного власника як авторизації
- Смарт-контракти: кожна взаємодія з протоколом DeFi або маркетплейсом NFT вимагає цифрового підписаної транзакції, яка запускає контракт
- Цифрові документи: автентифікуються за допомогою цифрових підписів на основі PKI, які пов'язують підтверджену особу підписувача з вмістом документа
Цифрові підписи також лежать в основі токенізації (процесу представлення реальних активів як блокчейн-токенів), гарантуючи, що кожен випуск і переказ токенів містить перевірений доказ авторизації.Будь-яка згадка Bitcoin, Ether або інших криптовалют у цій статті призначена виключно для ілюстративних цілей і не є рекомендацією купувати, продавати або тримати будь-які цифрові активи.
Зважаючи на те, наскільки багато залежить від цифрових підписів, природно виникає питання: наскільки вони насправді безпечні.
Чи безпечні цифрові підписи?
Так, цифрові підписи є безпечними при належній реалізації. Їхня безпека ґрунтується на двох стовпах: математична міцність криптографічного алгоритму та таємниця приватного ключа.
Стовп 1: Міцність алгоритму. Сучасні ECDSA з 256-бітними ключами та RSA з 2048-бітними або більшими ключами є обчислювально неможливими для зламу за допомогою сучасних або найближчих майбутніх обчислювальних технологій. Злам будь-якого з цих алгоритмів методом повного перебору, без приватного ключа, не є практичною атакою. NIST активно відстежує ці стандарти та оновлює рекомендації в міру розвитку обчислювальної потужності.
Стовп 2: Безпека приватного ключа. Цифровий підпис безпечний лише настільки, наскільки безпечний приватний ключ. Справжній ризик безпеки полягає не в алгоритмі, а в компрометації приватного ключа. Належним чином реалізований цифровий підпис не може бути підроблений без доступу до приватного ключа підписувача. Якщо приватний ключ залишається таємницею, підпис є математично унікальним і не може бути відтворений.
Якщо приватний ключ скомпрометовано, наслідки різняться залежно від контексту:
- У контексті PKI/документів: Будь-хто, хто має ваш приватний ключ, може підписувати документи від вашого імені. Негайно повідомте про компрометацію вашому Центру сертифікації (CA). CA відкличе ваш цифровий сертифікат, зробивши недійсними майбутні підписи, зроблені скомпрометованим ключем. Підписи, зроблені до позначки часу відкликання, залишаються дійсними; ті, що зроблені після, є сумнівними.
- У контексті криптовалют: Будь-хто, хто має ваш приватний ключ, може витрачати ваші кошти. У децентралізованих системах блокчейну немає механізму відкликання. Якщо викрадено приватний ключ, що контролює криптогаманець, будь-які кошти, переказані злодієм, втрачені, а такий переказ є незворотним.
Практичні кроки для захисту вашого приватного ключа:
- Зберігайте приватні ключі в апаратних гаманцях або безпечних системах керування ключами, а не у звичайних текстових файлах чи сховищах браузера.
- Ніколи не діліться своїм приватним ключем і не надавайте до нього доступу нікому за жодних обставин.
- Негайно відкличте свій цифровий сертифікат та запросіть новий, якщо підозрюєте компрометацію.
Дослідження постквантової криптографії тривають. Сучасні квантові комп'ютери не можуть зламати ECDSA чи RSA, але це може змінитися з розвитком технологій. NIST активно розробляє постквантові криптографічні стандарти для вирішення цього довгострокового питання.
Як отримати цифровий підпис
Отримання цифрового підпису залежить від вашого контексту. Незалежно від того, чи потрібно вам підписувати юридичні документи, чи авторизувати транзакції в блокчейні, процес працює по-різному.
Контекст 1: Документні та професійні цифрові підписи
Отримання цифрового підпису для підписання документів вимагає отримання цифрового сертифіката від Центру сертифікації (CA) – довіреної організації, яка перевіряє вашу особу та видає сертифікат. Етапи:
- Виберіть Центр сертифікації або інтегровану платформу. DigiCert, Sectigo, GlobalSign та інші широко використовувані CA пропонують сертифікати з різними рівнями підтвердження. Adobe Acrobat Sign та DocuSign також пропонують інтегровані сервіси сертифікації для документообігу.
- Підтвердьте свою особу. CA проводить підтвердження особи. Процес варіюється залежно від необхідного рівня підтвердження; сертифікати з вищим рівнем підтвердження включають більш ретельні перевірки.
- Отримайте свій цифровий сертифікат. CA видає сертифікат у форматі X.509. Цей сертифікат містить ваш відкритий ключ, ваші підтверджені ідентифікаційні дані та власний цифровий підпис CA, що підтверджує його дійсність. Думайте про цей сертифікат як про вашу ідентифікаційну картку: він доводить, хто ви є. Цифровий підпис – це акт підписання, що використовує ідентифікацію, яку підтверджує ця картка.
- Використовуйте в програмному забезпеченні для підписування. Встановіть сертифікат у 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. Центр сертифікації видає сертифікат; підписувач створює кожен окремий цифровий підпис за допомогою власного приватного ключа.
Які існують три типи цифрових підписів?
Цифрові підписи можна класифікувати двома способами. За алгоритмом: RSA (Rivest-Shamir-Adleman), ECDSA (алгоритм цифрового підпису на еліптичних кривих) та DSA (алгоритм цифрового підпису). За рівнем юридичної гарантії відповідно до регламенту ЄС eIDAS: простий електронний підпис (SES), удосконалений електронний підпис (AdES) та кваліфікований електронний підпис (QES). Рівень QES зокрема вимагає механізму криптографічного цифрового підпису, підтвердженого акредитованим центром сертифікації.