Криптографічний захист інформації. Захист від несанкціонованого доступу з використанням КриптоПро CSP

💖 Подобається?Поділися з друзями посиланням

Засоби криптографічного захисту інформації

  • КриптоПро CSP - Засіб криптографічного захисту інформації (шифрування/розшифрування, перевірка підпису, хешування) на рівні ядра операційної системи. Криптодрайвер призначений для використання у спеціальних додатках (шифратори IP протоколу, файлової системи)
  • КриптоПро JCP- Засіб криптографічного захисту інформації, розроблений відповідно до специфікації JCA (Java Cryptography Architecture), що реалізує російські криптографічні стандарти
  • КриптоПро Sharpei– дозволяє використовувати засіб криптографічного захисту інформації КриптоПро CSP на платформі Microsoft. Net Framework. Програмний продукт реалізує набір інтерфейсів для доступу до криптографічних операцій.
  • КриптоПро IPSec- Набір протоколів, що забезпечують захист даних, що передаються по міжмережевому протоколу IP. Програмний продукт дозволяє здійснювати підтвердження автентичності та/або шифрування IP-пакетів
  • КриптоПро HSM– програмно-апаратний криптографічний модуль (hardware security module), сумісний з КриптоПро CSP, що надає криптографічний сервіс користувачам корпоративної мережі
  • Атлікс HSM– апаратний криптографічний модуль (hardware security module), сумісний з КриптоПро CSP. Атлікс HSM призначений для забезпечення безпечного зберігання та використання закритого ключа уповноваженої особи посвідчувального центру

Засоби криптографічного захисту інформації зі смарткартами та USB ключами

  • Магістра CSP- Засіб криптографічного захисту інформації, що дозволяє вивести захист секретного ключа користувача на новий рівень і збільшити термін дії секретних ключів до 3х років
  • КриптоПро Рутокен CSP– програмно-апаратне СКЗІ, що поєднує можливості російського криптопровайдера КриптоПро та ідентифікатора Рутокен ЕЦП
  • КриптоПро eToken CSP- Засіб криптографічного захисту інформації, що дозволяє вивести захист секретного ключа користувача на більш високий рівень і збільшити термін дії секретних ключів до 3х років

Інфраструктура відкритих ключів

  • Центр "КриптоПро УЦ", що посвідчує.– ПК, призначений для виконання організаційно-технічних заходів щодо забезпечення засобами та специфікаціями для використання сертифікатів відкритих ключів користувачів Посвідчувального Центру як організації
  • КриптоПро TSP- Лінійка продуктів, призначених для організації сервера штампів часу і для вбудовування функціональності роботи зі штампами часу в різні додатки
  • КриптоПро OCSP– лінійка продуктів, призначених для організації сервера OCSP та для вбудовування функціональності перевірки статусів сертифікатів за протоколом OCSP у різні програми
  • АРМ розбору конфліктних ситуацій– ПК, що входить до складу програмного забезпечення КриптоПро УЦ та призначений для перевірки відповідності ЕЦП змісту електронного документата визначення учасника автоматизованої системибанківських розрахунків, який виконав її формування
  • КриптоПро Revocation Provider– продукт, призначений для вбудовування перевірки статусів сертифікатів відкритих ключів у режимі реального часу за протоколом OCSP у Windows
  • Посвідчувальний центр Атлікс УЦ
  • КриптоПро ЕЦП – вдосконалений цифровий підпис, що дозволяє вирішити проблеми, пов'язані із застосуванням ЕЦП. КриптоПро ЕЦП забезпечує учасників електронного документообігу доказовою базою, пов'язаною із встановленням моменту підпису та статусу сертифіката відкритого ключа підпису на момент підпису

Захист від несанкціонованого доступу з використанням КриптоПро CSP

  • КриптоПро TLS– модуль підтримки мережевої аутентифікації КріптоПро TLS, що входить до складу СКЗІ КріптоПро CSP, що реалізує протокол Transport Layer Security (TLS v. 1.0, RFC 2246) з використанням російських криптографічних стандартів
  • КриптоПро Winlogon– продукт призначений для Windows, реалізує початкову автентифікацію користувача протоколу Kerberos V5 (RFC 4120) за сертифікатом та ключовому носіюКриптоПро CSP 3.0 (смарт-карта, USB токен)
  • КриптоПро EAP-TLS– розширений протокол двосторонньої криптографічної аутентифікації між віддаленими користувачами та RADIUS сервером (Remote Authentication Dial-In User Service)
  • Secure Pack Rus 1.0, Secure Pack Rus 2.0– сервісний пакет оновлень для операційних систем Microsoft Windows XP та Microsoft Windows Server 2003
  • КриптоПро EFS– продукт для забезпечення захисту конфіденційної інформації під час її зберігання на ПЕОМ

Системи ідентифікації

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

Програми та утиліти

  • КриптоАРМ (Кріпто Три)програмне забезпечення, призначене для роботи з сертифікатами та провайдерами, шифрування або розшифрування даних, створення або електронної перевірки цифровий підпис(ЕЦП) з використанням сертифікатів відкритих ключів
  • додаток командного рядка cryptcp– програмний продукт, що є додатком командного рядка для роботи з сертифікатами, шифрування та розшифрування даних, хешування даних з використанням сертифікатів відкритих ключів, створення та перевірки електронного цифрового підпису (ЕЦП)
  • ЕЦП процесор– програмний продукт для впровадження сертифікованого засобу СКЗІ КриптоПро CSP у систему захищеного електронного документообігу, для уніфікації доступу до криптографічних функцій СКЗІ КриптоПро CSP
  • КриптоПро PDF– модуль створення та перевірки ЕЦП для формування та перевірки електронного цифрового підпису в програмі Adobe Reader, Adobe Acrobatверсії 7 та вище
  • КриптоПро Office Signature– програмний продукт для забезпечення можливості створення та перевірки електронного цифрового підпису (ЕЦП) за алгоритмом ГОСТ Р 34.10-2001 документів Wordта Excel зі складу Microsoft Office 2007 та Microsoft Office 2010

розроблений відповідно до вимог фірми Microsoft на криптографічні провайдери і дозволяє створювати нові, надійно захищені програми з використанням найбагатшого і перевіреного часом інструментарію. Крім того, КриптоПро Sharpei дозволяє використовувати стандартне програмне забезпечення, таке як XPSViewer та Microsoft Office Forms Server 2007 для підпису та перевірки ЕЦП з використанням російських криптографічних алгоритмів.

Настроювання Microsoft Office Forms Server 2007 для використання ЕЦП у веб-формах.

Нижче наведена інструкція описує порядок налаштування Microsoft Office Forms Server 2007 для можливості підпису форм з використанням КриптоПро CSP.

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

На сервері:

  1. Встановіть криптопро CSP версії 3.6. Якщо в процесі встановлення не було додано зчитувач "Реєстр", необхідно виконати його встановлення.
  2. Встановіть криптопро Sharpei версії 1.0.3497.2 або вище.
  3. Створіть закритий ключЕЦП у реєстрі з ім'ям FormsServerKeyдля локальної машини, наприклад, за допомогою наступного командного рядка:
    csptest -keyset -newkeyset -machine
    -container "\\.\Registry\FormsServerKey"
  4. Створіть ключ реєстру HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Sharpei\1.0\InfoPath.Server
  5. Додати параметр DWORD AlgType 1 , додайте рядковий параметр Containerу вказаний вище ключ зі значенням \\.\Registry\FormsServerKey.
  6. Встановіть клієнтський ActiveX із DSIGCTRL.cab (докладніше в інструкції).
  7. Перевірити наявність прав доступу (Full Control) на ключ реєстру HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Keys\FormsServerKey користувача, з якого здійснюється запуск Групи програм SharePoint(Зазвичай Network Service, Local System...)
  8. Перевірити наявність кореневих сертифікатів, на яких видано сертифікати клієнтів у сховищі "Довірені кореневі центри сертифікації" (Trusted Root Certification Authorities) локального комп'ютера(LocalMachine).
  9. Перевірити наявність актуальних CRL для кореневих сертифікатів із пункту 6 у сховищі Проміжні Центри сертифікації (Intermidiate Certification Authorities) локального комп'ютера (LocalMachine) або можливості доступу до них CDP.
  10. Перезавантажте сервер

На клієнті:

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

Визначити це можна за наявністю файлу DSigCtrl.dll у директорії \WINDOWS\Downloaded Program Files. Якщо цей файл відсутній, підпис форм раніше не здійснювався. Якщо на клієнті раніше здійснювався підпис, необхідно перейти в каталог \WINDOWS\Downloaded Program Files і запустити regsvr32 /u DSigCtrl.dll. Крім того, необхідно видалити файли DSigCtrl.* з каталогу \WINDOWS\Downloaded Program Files.

Можливі зміни у процесі установки.

Forms Server використовує тимчасовий ключ для підпису. Цей ключ використовується на сервері щоразу при виконанні операції підпису на клієнті, тому рекомендується його зберігати на носії, що не відчужується, - в реєстрі. Якщо ключ з ім'ям FormsServerKeyвже використовувався до установки, можна використовувати будь-яке інше ім'я. Під час інсталяції продукту можна використовувати старий ключ.

При установці можна обмежитися лише одним останнім перезавантаженням.

При попередньо встановленому КриптоПро CSP та КриптоПро Sharpei можна перезавантаження не виконувати, а обмежиться командою iisreset.

Зворотній зв'язок:

Питання щодо застосування ЕЦП у Microsoft Office Forms Server 2007 обговорюються у розділі форуму.

Реалізації криптоалгоритмів ГОСТ 28147-89, ГОСТ Р 34.10-2001 та ГОСТ Р 34.11-94 містяться в розробленій компанією КриптоПро та бібліотеці КриптоПро.NET SDK, що розповсюджується за ліцензією, що вимагає для свого використання установки криптопровайдера КриптоПро. Для використання КриптоПро.NET SDK у додатках на мові C# потрібно підключити до проекту бібліотеку CryptoPro.Sharpei.Base.dll (за допомогою команди меню MicrosoftVisualStudioProject | AddReference | вкладка Browse) і додати до просторів, що використовуються в додатку, імен CryptoPro.Sharpei:

using CryptoPro.Sharpei;

Документація з використання класів бібліотеки КриптоПро.NET SDK знаходиться у файлі довідки Sharpei.chm, що вільно розповсюджується.

Реалізація алгоритму симетричного блочного шифрування ГОСТ 28147-89 міститься у класі Gost28147CryptoServiceProvider, що є спадкоємцем абстрактного класу Gost28147, який, своєю чергою, є спадкоємцем стандартного абстрактного класу бібліотеки FCLSymmetricAlgorithm.

Особливістю класу Gost28147CryptoServiceProvider є те, що при спробі використання у додатку властивості об'єктів цього класу Key(сеансового ключа) завжди генерується виключенняCryptographicException. Тому для виведення сеансового ключа з парольної фрази та експорту-імпорту випадкового сеансового ключа слід використовувати інші способи, ніж під час роботи з іншими класами з реалізаціями алгоритмів симетричного шифрування.

Для виведення сеансового ключа з парольної фрази слід використовувати метод ByDeriveBytesкласу Gost28147CryptoServiceProvider, наприклад (парольна фраза міститься в елементі форми з ім'ям PassFrase1, а масивеrandBytes– випадкова домішка довжиною 8 байт):

Gost28147CryptoServiceProvider gostCSP = new

byte randBytes=new byte;

RNGCryptoServiceProvider rand=new RNGCryptoServiceProvider();

rand.GetBytes(randBytes);

byte pwd = Encoding.Unicode.GetBytes(PassFrase1.Text);

byte buf = новий byte;

pwd.CopyTo(buf,0);

randBytes.CopyTo(buf, pwd.Length);

gostCSP.ByDeriveBytes(buf);

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

Для обміну випадковим сеансовим ключем з одержувачем зашифрованих даних використовуються класи GostKeyExchangeFormatter(експорт сеансового ключа),GostKeyExchangeDeformatter(імпорт сеансового ключа) та Gost3410CryptoServiceProvider (алгоритм асиметричного шифрування), що використовується при обміні.

Клас Gost3410CryptoServiceProvider, що містить реалізацію алгоритму ЕЦП ДЕРЖСТАНДАРТ З 34.10-2001, є спадкоємцем абстрактного класу Gost3410, який, у свою чергу, є спадкоємцем стандартного абстрактного класу бібліотеки FCLAsymmetricAlgorithm.

Для експорту сеансового ключа використовується метод CreateKeyExchangeDataкласуGostKeyExchangeFormatter, а для імпорту – методDecryptKeyExchangeDataкласуGostKeyExchangeDeformatter.

При використанні в додатку об'єктів класу Gost3410CryptoServiceProvider слід мати на увазі, що криптопровайдер КриптоПро CSP може зберігати закриті ключі користувачів на різних носіях. Вибір конкретного носія (наприклад, реєстру Windows) можливий за допомогою програми налаштування КриптоПроCSP. На вкладці Обладнання вікна налаштування слід вибрати зчитувачі закритих ключів. Додавання зчитувача відбувається у діалозі з майстром установки зчитувача.

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

Розглянемо приклад експорту та імпорту сеансового ключа під час використання класу Gost28147CryptoServiceProvider (значення синхропосилання має зберігатися окремо). Об'єкт класу CspParameters використовується в прикладі для вказівки контейнера ключів з реєстру під час роботи з криптопровайдером КриптоПро CSP, що має тип 75:

Gost28147CryptoServiceProvider gostEnc = new

Gost28147CryptoServiceProvider();

CspParameters csp = New CspParameters();

csp.KeyContainerName = "Реєстр";

csp.ProviderType = 75;

Gost3410CryptoServiceProvider gostExch = new

Gost3410CryptoServiceProvider(csp);

GostKeyExchangeFormatter keyEnc = new

GostKeyExchangeFormatter(gostExch);

byte sessionKey = keyEnc.CreateKeyExchangeData(gostEnc);

byte IV = gostEnc.IV;

GostKeyExchangeDeformatter keyDec = new

GostKeyExchangeDeformatter(gostExch);

gostEnc = (Gost28147CryptoServiceProvider)keyDec.

DecryptKeyExchangeData(sessionKey);

gostEnc.IV = IV;

Реалізація алгоритму хешування ГОСТ 34.11-94 представлена ​​абстрактним класом Gost3411, що є спадкоємцем абстрактного стандартного класу бібліотеки FCLHashAlgorithm, та його спадкоємцем – класом Gost3411CryptoServiceProvider.

Для обчислення кодів аутентифікації повідомлень, заснованих на хешуванні, та імітівставок (кодів аутентифікації повідомлень, заснованих на симетричному шифруванні) призначені відповідно класи Gost3411HMAC (спадкоємець абстрактного стандартного класу HMAC) і Gost28147ImitCryptoServa свою чергу, є спадкоємцем абстрактного стандартного класу KeyedHashAlgorithm).



Розповісти друзям