Ітеративне підписання

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

Зміст

вступ

У сучасному цифровому світі забезпечення цілісності документів має вирішальне значення для ділових угод, юридичних контрактів і конфіденційного спілкування. Цифрові підписи забезпечують надійний спосіб перевірки автентичності та цілісності документів. Ітераційне підписання, що дозволяє кільком сторонам послідовно підписувати документ без анулювання попередніх підписів, покращує безпеку та спрощує робочі процеси затвердження. У цій статті розглядається ітераційний цифровий підпис, його переваги, технічні основи та реалізація в документах PDF, демонструючи, як ця технологія покращує цілісність документів і ефективність у різних організаційних налаштуваннях. У розділі Кейси буде показано, як реалізувати ці функції за допомогою бібліотеки GroupDocs.Signature на різних платформах.

Цілісність документа

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

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

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

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

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

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

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

Розуміння цифрових підписів

Що таке цифровий підпис?

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

Як працюють цифрові підписи

Процес створення цифрового підпису складається з кількох етапів:

  1. Хешування: документ проходить через алгоритм хешування (наприклад, SHA-256), щоб створити унікальне хеш-значення, яке представляє вміст документа.
  2. Шифрування: це хеш-значення потім шифрується за допомогою закритого ключа підписувача, створюючи цифровий підпис. Закритий ключ є частиною пари відкритий-приватний ключ, де особистий ключ надійно зберігається підписувачем.
  3. Вбудовування підпису: зашифрований хеш разом із сертифікатом підписувача (що містить відкритий ключ та іншу ідентифікаційну інформацію) вбудовано в документ.
  4. Перевірка: після відкриття документа програмне забезпечення одержувача використовує відкритий ключ підписувача для розшифровки хешу. Потім програмне забезпечення повторно хешує документ і порівнює щойно згенерований хеш із розшифрованим. Якщо вони збігаються, підпис перевіряється як справжній, а документ підтверджується як незмінений.

Переваги використання цифрових підписів

Цифрові підписи пропонують численні переваги:

  • Покращена безпека: використання PKI гарантує, що цифрові підписи практично неможливо підробити.
  • Цілісність документа: будь-яка зміна документа після підписання робить підпис недійсним, таким чином зберігаючи цілісність документа.
  • Автентифікація: цифровий сертифікат, пов`язаний із підписом, підтверджує особу підписувача, забезпечуючи автентичність.
  • Невідмовність: підписувачі не можуть відмовитися від свого підпису на документі, оскільки він прив`язаний до їхнього закритого ключа, яким володіють лише вони.
  • Відповідність: цифрові підписи відповідають різним правовим стандартам і нормам, таким як eIDAS в ЄС і ESIGN Act в США, що робить їх юридично обов`язковими в багатьох юрисдикціях.

Типи сертифікатів

Цифрові підписи покладаються на різні типи сертифікатів:

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

Роль цифрових підписів у PDF-документах

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

Як працюють цифрові підписи

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

Технічні компоненти цифрових підписів у PDF-файлах

  • Файли сертифікатів PFX: файли PFX (Personal Information Exchange) використовуються для зберігання відкритих і закритих ключів разом із ланцюжком сертифікатів. Ці файли захищені паролем, щоб лише авторизовані користувачі могли отримати доступ до закритого ключа, необхідного для створення цифрових підписів.
  • Інфраструктура PKI: Інфраструктура відкритих ключів (PKI) підтримує створення, розповсюдження та керування цифровими сертифікатами. Компоненти PKI включають ЦС, органи реєстрації (RA) і пристрої кінцевих користувачів, які зберігають ключі та сертифікати та керують ними.
  • Алгоритми хешування: Алгоритми хешування, які зазвичай використовуються в цифрових підписах, включають SHA-256, SHA-384 і SHA-512. Ці алгоритми створюють унікальні хеші, які майже неможливо відтворити, не змінюючи оригінальний вміст документа.
  • Стандарти підпису: PDF-документи відповідають певним стандартам для цифрових підписів, таким як стандарт PAdES (розширені електронні підписи PDF).Ці стандарти забезпечують сумісність і безпеку для різних програм і пристроїв.

Переваги цифрових підписів у PDF-файлах

  • Цілісність документа: цифрові підписи гарантують, що будь-яке втручання в документ після підписання може бути виявлено. Це має вирішальне значення для збереження достовірності документа.
  • Автентифікація: включення сертифіката підписувача забезпечує спосіб перевірити особу підписанта. Це додає рівень довіри, гарантуючи, що підписувач є тим, за кого себе видає.
  • Невідмовність: оскільки цифровий підпис прив`язаний до закритого ключа підписувача, доступ до якого повинен мати лише підписувач, він є доказом участі підписанта. Це не дозволить підписувачу заперечити, що він підписав документ.
  • Законність і відповідність: багато правових рамок і нормативних актів визнають цифрові підписи еквівалентними власноручним підписам за умови, що вони відповідають певним критеріям. Це важливо для дотримання таких законів, як eIDAS у Європейському Союзі та ESIGN Act у Сполучених Штатах.

Впровадження цифрових підписів у PDF-файлах

  • Використання бібліотек і API: існують різні бібліотеки та API, доступні для впровадження цифрових підписів у документах PDF, наприклад Adobe Acrobat SDK, iText і PDFBox. Ці інструменти надають функції програмного створення, вбудовування та перевірки цифрових підписів.
  • Покроковий процес підписання:
    1. Завантажте PDF-документ: завантажте документ у програмне забезпечення для підпису або бібліотеку.
    2. Підготуйте сертифікат PFX: завантажте сертифікат PFX і введіть пароль для доступу.
    3. Згенерувати хеш: створити хеш вмісту документа.
    4. Створення підпису: зашифруйте хеш за допомогою закритого ключа, щоб створити цифровий підпис.
    5. Вставити підпис: вставте цифровий підпис і сертифікат у PDF-документ.
    6. Ітеративний підпис: щоб увімкнути кілька підписів, кожен наступний підпис має додаватися до документа без зміни наявного вмісту. Це вимагає ретельного поводження зі структурою PDF-файлу, щоб переконатися, що кожен підпис перевіряється незалежно, а загальний документ залишається незмінним.

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

Ітеративний цифровий підпис

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

Технічні деталі

  1. Підписи на основі сертифікатів: кожен цифровий підпис використовує систему на основі сертифікатів. Ця система передбачає:

    • Цифровий ідентифікатор: містить закритий ключ і сертифікат відкритого ключа. Закритий ключ використовується для створення підпису, тоді як відкритий ключ у сертифікаті використовується для перевірки.
    • Алгоритм хешування: під час підписання створюється хеш вмісту документа та шифрується за допомогою закритого ключа підписувача. Цей хеш унікальний для поточного стану документа.
    • Вбудовування підпису: зашифрований хеш, сертифікат і додаткові деталі підпису вбудовано в PDF-файл, гарантуючи, що будь-яка зміна після підпису робить підпис недійсним.
  2. Кроки для додавання підписів. Щоб реалізувати ітераційне підписання в Adobe Acrobat, виконайте такі кроки:

    • Відкрийте PDF: виберіть документ, який потрібно підписати.
    • Виберіть Використовувати сертифікат: у меню Інструменти виберіть Сертифікати, а потім Цифровий підпис.
    • Намалюйте поле підпису: намалюйте область, де з`явиться підпис.
    • Підпишіть за допомогою цифрового ідентифікатора: виберіть існуючий цифровий ідентифікатор або налаштуйте новий, якщо необхідно.
    • Збережіть документ: після підписання збережіть документ. Кожен підпис зберігається, зберігаючи цілісність попередніх підписів.
  3. Перевірка підписів: Adobe Acrobat автоматично перевіряє цифрові підписи під час відкриття документа, перевіряючи:

    • Дійсність сертифіката: переконайтеся, що сертифікат підписувача є надійним.
    • Цілісність документа: підтвердження того, що документ не було змінено після накладення підпису.
    • Перевірка мітки часу: Перевірка мітки часу щодо терміну дії сертифіката, щоб переконатися, що підпис було зроблено протягом прийнятного періоду часу.
  4. Міркування безпеки:

    • Керування сертифікатами: належним чином керуйте та захищайте файли PFX, що містять закриті ключі.
    • Перевірка відкликання: переконайтеся, що сертифікати перевіряються за списками відкликань, щоб підтвердити їх поточний статус.
    • Мітки часу: використовуйте надійні сервери міток часу, щоб додавати мітки часу до підписів, що допомагає перевіряти час підписання, навіть якщо термін дії сертифіката закінчується пізніше.
  5. Обробка кількох підписів: кожен підпис, доданий до PDF-файлу, має бути виконано без зміни вмісту документа. Acrobat забезпечує це, додаючи нові дані підпису до існуючої структури документа. Таким чином, попередні підписи залишаються недоторканими та їх можна перевірити.

  6. Взаємодія з користувачем:

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

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

Концепція та переваги

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

Випадки використання ітеративного підпису на підприємствах

  1. Корпоративні схвалення:

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

    • Регуляторні документи: документи, що подаються до регуляторних органів, часто вимагають кількох підписів від різних зацікавлених сторін. Ітеративний підпис гарантує, що кожен необхідний підпис буде зібрано, зберігаючи цілісність документа.
    • Юридичні угоди: Юристи з різних фірм можуть підписувати угоди неодноразово, забезпечуючи чіткий запис схвалення кожної сторони без зміни основного змісту документа.
  3. Управління проектами:

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

Переваги ітераційного підпису для процесів затвердження документів

  1. Покращена безпека та цілісність:

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

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

    • Відповідність нормативним вимогам: цифрові підписи часто відповідають вимогам нормативних актів, таких як eIDAS в ЄС і ESIGN Act у США, що робить їх юридично обов`язковими та визнаними в багатьох юрисдикціях.
    • Невідмовність: цифрові підписи забезпечують підтвердження особи та намірів підписувача, зменшуючи ризик суперечок щодо дійсності підписів.
  4. Економія коштів:

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

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

Реалізація ітеративного підпису за допомогою C#

Наданий приклад C# демонструє, як застосувати одну ітерацію багатьох послідовних PDF-документів із цифровим підписом за допомогою GroupDocs.Signature for .NET. Ця техніка включає кілька ключових кроків: від ініціалізації необхідних об`єктів і налаштування цифрових параметрів без будь-яких додаткових налаштувань до застосування цифрового сертифіката до документа та збереження остаточного результату. Цей блок коду можна викликати з одним і тим же документом необмежену кількість разів з однаковими або різними цифровими сертифікатами. Поки PDF-документ не буде підписано таким чином без додаткових змін, усі додані цифрові підписи залишаються дійсними.

Основні поняття

  • Використовуйте тільки один або багато DigitalSignOptions: переконайтеся, що якщо буде принаймні один нецифровий параметр, документ буде змінено.
  • Додаткове налаштування властивостей ImagePath або ImageStream: кожен DigitalSignOptions тепер підтримує ці властивості з ітеративними цифровими підписами.
  • Додаткове налаштування властивостей Тло або Межа: налаштування цих властивостей змусить бібліотеку створювати фонове зображення вручну.
            string [] certificates = new string[] {"certificate-01.pfx", "certificate-02.pfx"};
            string[] passwords = new string[]
            {
                "1234567890",
                "1234567890"
            };
            // The path to the documents directory.            
            string filePath = "sample.pdf";            
            int iteration = 0;
            string outputFilePath = Path.Combine("signed-output.pdf");
            foreach (var certificate in certificates)
            {
                using (Signature signature = new Signature(filePath))
                {
                    DigitalSignOptions options = new DigitalSignOptions(certificate)
                    {
                        // certificate password
                        Password = passwords[iteration],
                        // digital certificate details
                        Reason = $"Approved-{iteration}",
                        Contact = $"John{iteration} Smith{iteration}",
                        Location = $"Location-{iteration}",
                        // no image
                        AllPages = true, 
                        Left = 10 + 100 * (iteration - 1),
                        Top = 10 + 100 * (iteration - 1),
                        Width = 160,
                        Height = 80,
                        Margin = new Padding() { Bottom = 10, Right = 10 }
                    };
                    string outputPath = Path.Combine(outputFilePath, $"result-{iteration}.pdf");
                    SignResult signResult = signature.Sign(outputPath, options);                    
                    filePath = outputPath;
                    Console.WriteLine($"\nSource document signed successfully {iteration++}-time with {signResult.Succeeded.Count} signature(s).");
                }
            }

Отримайте безкоштовну пробну версію

Ви можете безкоштовно спробувати API GroupDocs.Signature, просто завантаживши та встановивши останню версію на нашому веб-сайті для завантажень випуску.

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

Дивіться також

Для отримання додаткової інформації та додаткових ресурсів вам можуть бути корисні такі посилання: