Якщо документ представлений у форматі XML, то є кілька підходів до формування його підписів: формування ЕЦП XML-документів XMLdsig для Windows (MSXML5, MSXML6) з використанням Microsoft Office InfoPath 2003 - нової складової системи Microsoft Office; підпис XML-документа як звичайного файлу. Іноді для підпису в XML-документі в тезі документа створюють окремий атрибут, в який заноситься ЕЦП від символьного рядка змінної довжини, що містить значення атрибутів тега документа. Такий досить цікавий підхід до підпису XML-документа також зустрічається, і він є цілком легітимним.
Підпис файлів у форматі PDF
Для формування і перевірки ЕЦП і забезпечення юридичної значимості електронних документів, які формуються в форматі PDF, компанія "крипто-ПРО" розробила спеціальний продукт, званий «КріптоПро PDF». Він є модулем створення та перевірки ЕЦП і призначений для формування та перевірки ЕЦП в програмax Adobe Reader, Adobe Acrobat версії 7 і вище. «КріптоПро PDF» розроблений з використанням програмного інтерфейсу Adobe Systems Inc. і завірений електронним цифровим підписом компанії Adobe Systems.
Це дозволяє використовувати сертифіковані засоби криптографічного захисту інформації "КріптоПро CSP "в продуктах Adobe Acrobat, Adobe Reader та Adobe LiveCycle ES. Важливе зауваження: "крипто-Про CSP" для перевірки ЕЦП не вимагає активації ліцензії, тобто працює безкоштовно. Досить просто встановити цей продукт і перевіряти підпис з використанням Adobe Reader.
Підпис багатофайлових документів
Іноді документ може являти собою досить велику сукупність файлів. Наприклад, відомості про первинні документах для здійснення операцій в реєстрі власників інвестиційних паїв пайового фонду, отриманих від керуючої компанії. У цьому випадку можна формувати для кожного документа свою ЕЦП, а можна від цього відмовитися. Якщо з яких-небудь причин формування ЕЦП для кожного файлу документа неможливо, то створюють ще один файл текстового формату, в який записують ідентифікаційні дані документа і значення хеш-функцій для кожного файлу документа. Саме цей файл (картка документа) і підписують. Але в даному разі в системі повинен бути передбачений інструмент для користувача, що дозволяє розрахувати значення хеш-функцій для кожного файлу та порівняння обчислених значень з даними картки документа.
Цифрові сертифікати
При використанні асиметричних методів шифрування (і, зокрема, електронного цифрового підпису) необхідно мати гарантію автентичності пари (ім'я користувача, відкритий ключ користувача). Для вирішення цього завдання в специфікаціях X.509 вводяться поняття цифрового сертифікату та засвідчувального центру.
Засвідчувальний центр - це компонент глобальної служби каталогів, відповідальний за керування криптографічними ключами користувачів. Відкриті ключі та інша інформація про користувачів зберігається засвідчують центрами у вигляді цифрових сертифікатів, що мають наступну структуру:
· порядковий номер сертифіката;
· ідентифікатор алгоритму електронного підпису;
· ім'я центра, що засвідчує;
· термін придатності;
· ім'я власника сертифіката (ім'я користувача, якому належить сертифікат);
· відкриті ключі власника сертифіката (ключів може бути декілька);
· ідентифікатори алгоритмів, асоційованих з відкритими ключами власника сертифіката;
· електронний підпис, згенерований з використанням секретного ключа центра, що засвідчує (підписується результат хешування всієї інформації, що зберігається в сертифікаті).
Цифрові сертифікати володіють наступними властивостями:
· будь-який користувач, який знає відкритий ключ засвідчувального центру, може дізнатися відкриті ключі інших клієнтів центру і перевірити цілісність сертифіката;
· ніхто, крім центра, що засвідчує, не може модифікувати інформацію про користувача без порушення цілісності сертифікату.
У специфікаціях X.509 не описується конкретна процедура генерації криптографічних ключів та управління ними, однак даються деякі загальні рекомендації. Зокрема, обговорюється, що пари ключів можуть породжуватися кожним із наступних способів:
· ключі може генерувати сам користувач. У такому випадку секретний ключ не потрапляє в руки третіх осіб, проте потрібно вирішувати задачу безпечного зв'язку з документом з центром;
· ключі генерує довірену особу. У такому випадку доводиться вирішувати завдання безпечної доставки секретного ключа власнику та надання довірених даних для створення сертифіката;
· ключі генеруються підтверджуючий центр. У такому випадку залишається тільки завдання безпечної передачі ключів власнику.
Цифрові сертифікати у форматі X.509 версії 3 стали не тільки формальним, але і фактичним стандартом, що підтримується численними засвідчувальними центрами.
Стандарти
Цифровий підпис у відповідності зі стандартом ISO 7498-2 представляє собою отримані в результаті криптографічного перетворення блоку даних дані, які дозволяють одержувачу упевнитися в цілісності цього блоку та автентичності джерела, а також забезпечує захист від підробки одержувача. Цифровий підпис дозволяє з високим ступенем достовірності визначити джерело повідомлення або даних.
Стандарти цифрового підпису наведено в табл. 1.
№ п/п | Тип цифрового підпису | Стандарт |
1 | RSA схема | ISO 9796, 11166 |
2 | DSA схема | NIST MD-20899 |
3 | DSA подібна схема | ГОСТ З4.10-94 |
Таблиця 1. Стандарти цифрових підписів
Усі стандарти припускають несиметричну схему формування і перевірки цифрового підпису. Для виконання цих процедур використовуються різні ключі. Для установки цифрового підпису - т. н. конфіденційні, а для перевірки цифрового підпису - відкриті ключі. Тому додатково з цими схемами використовуються стандарти для роботи з відкритими ключами, наприклад, стандарт для угоди про ключі Діффі-Хелман (Х9.42).
Усі стандарти передбачають використання загальномережевих параметрів. В алгоритмі RSA в якості загальномережевого параметра використовується модуль перетворення
N = P * Q,
де P, Q прості числа (бажано сильні) необхідної розрядності.
Дата: 2019-05-28, просмотров: 222.