КріптоПро, завдання КріптоПро tsp
Використання ПАК "КріптоПро TSP" дозволяє учасникам інформаційних систем отримувати штампи часу, пов'язані з електронними документами. Штамп часу вдає із себе електронний документ, підписаний електронним цифровим підписом (електронним підписом), де підписаними даними є значення хеш-функції електронного документа і час надання штампа часу. Таким чином, штамп часу однозначно пов'язаний з електронним документом, на який він видається і забезпечує його цілісність.
Для реалізації сервісу TSP необхідно на базі "КріптоПро TSP Server" організувати Сервер служби TSP і вбудувати "КріптоПро TSP Client" в програмне забезпечення клієнтських робочих місць. Вбудовування "КріптоПро TSP Client" здійснюється з використанням інструментарію розробника - "КріптоПро PKI SDK".
Для чого потрібні штампи часу
Короткий опис протоколу TSP
Протокол TSP (Time-Stamp Protocol) є протоколом типу "запит-відповідь". Весь обмін полягає в двох повідомленнях. Клієнт ініціює взаємодію, посилаючи серверу запит на штамп часу, на що сервер повертає відповідь, що містить випущений штамп або не містить його в разі помилки.
Запит на штамп часу
Запит на штамп часу включає наступні поля:
- Значення хеш-функції від документа, на який запитується штамп (обов'язково вказується, який саме алгоритм хешування використовується);
- Об'єктний ідентифікатор (OID) політики запитуваної штампа (необов'язково);
- Nonce - випадкове число, яке ідентифікує дану транзакцію протоколу TSP (необов'язково);
- Доповнення (Extensions) (необов'язково).
Ідентифікатор політики визначає, по якій політиці повинен бути виданий штамп часу. Політики штампів часу задаються сервером штампів часу і встановлюють набір правил, за якими видаються штампи часу, а також сфери їх застосування.
Наприклад, в системі може бути визначено декілька політик з різними ідентифікаторами і наступним описом:
- Політика для тестових штампів. Штампи по цій політиці видаються всім користувачам, але можуть використовуватися тільки для тестових цілей, а система документообігу не братиме такі штампи.
- Основна політика штампів. Штампи по цій політиці видаються всім зареєстрованим користувачам системи, вартість одного штампа становить 5 копійок, точність часу в штампі становить 10 секунд, а система документообігу буде приймати такі штампи для документів, які не є важливими.
- Точна політика штампів. Штампи по цій політиці видаються користувачам, допущеним до роботи з важливими документами, вартість одного штампа становить 25 копійок, точність часу в штампі становить 1 секунду, а система документообігу буде приймати такі штампи для будь-яких документів.
Поле Nonce дозволяє клієнту перевірити своєчасність отриманої відповіді, в якому сервер штампів часу повинен розмістити те ж саме значення nonce, яке було в запиті.
Відповідь сервера штампів часу
Відповідь сервера штампів часу містить наступні поля:
- Статус операції і інформація про помилку;
- Штамп часу (якщо статус успішний).
Штамп часу являє собою CMS-повідомлення (PKCS # 7) типу SignedData (див. RFC 3369 "Cryptographic Message Syntax (CMS)"). Вмістом цього повідомлення є структура з наступними полями:
- Значення хеш-функції від документа, на який видано штамп (обов'язково вказується, який саме алгоритм хешування використовується);
- Об'єктний ідентифікатор (OID) політики штампа;
- Час видачі штампа;
- Точність часу;
- Ознака суворої впорядкованості штампів (Ordering);
- Nonce - випадкове число, яке ідентифікує дану транзакцію протоколу TSP (збігається з відповідним полем запиту);
- Доповнення (Extensions) (необов'язково).
Сервер штампів вказує ознака ordering, якщо він працює в режимі суворої впорядкованості штампів. Тобто порівняння часів двох виданих цим серверів штампів навіть без урахування точності часу визначає порядок їх видачі.
Як зберігати штампи часу спільно з документами
В RFC 3161 "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)" описаний варіант зберігання штампа часу на документ з ЕЦП (ЕП) формату CMS SignedData в непідписаному атрибуті цього CMS-повідомлення.
Для організації довготривалого архівного зберігання документів з ЕЦП (ЕП) можуть використовуватися штампи часу, а також додаткові дані, необхідні для підтвердження достовірності ЕЦП (ЕП) - так звані докази справжності ЕЦП (ЕП). До таких належать:
- Штампи часу;
- Сертифікат ключа підпису, використаного для створення оригінальної ЕЦП (ЕП);
- Сертифікат УЦ, який видав сертифікат ключа підпису (якщо ланцюжок сертифікатів містить інші УЦ, то їх сертифікати також необхідно перевірити);
- Сертифікат Служби штампів часу;
- Ланцюжок сертифікатів для перевірки сертифіката Служби штампів часу;
- Інформацію про статус сертифікатів (Списки відкликаних сертифікатів або OCSP-відповіді).
Для забезпечення актуальності ЕЦП (ЕП) при довготривалому зберіганні необхідно періодично отримувати нові штампи часу.