Електронний цифровий підпис
Доклад - Компьютеры, программирование
Другие доклады по предмету Компьютеры, программирование
bsp;
Досить часто зустрічається нефайлова форма подання електронного документа, а електронний документ - як сукупність записів в таблицях бази даних. Для підписання такого документа значення полів записів в таблицях бази даних наводяться в рядковий тип, і за допомогою конкатенації формується строкою змінна, відображає істотну змістовну і ідентифікаційну частину документа. Саме цей рядок тепер вважається оригіналом електронного документа і підписується. Підписаний рядок зберігається у відповідній таблиці бази даних системи з двома полями: поле ключа документа і строкове поле, що містить підписаний електронний документ.
Підпис документів у форматі XML
Якщо документ представлений у форматі 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 стали не тільки формальним, але і фактичним стандартом, що підтримується численними засвідчув