Міністерство освіти і науки України
Чернівецький національний університет імені Юрія Федьковича
Факультет комп’ютерних наук
Кафедра комп’ютерних систем та мереж
Реферат
Аутентифікація користувачів на основі токенів безпеки
2007
Правильне функціонування підсистеми безпеки комп‘ютерної системи вимагає реалізації ряду функцій загального призначення, пов‘язаних з перетворенням вмісту об‘єктів системи (файлів, записів бази даних тощо) або з обчислення деяких спеціальних функцій, які суттєво залежать від вмісту об‘єктів. До таких функцій належать алгоритми контролю цілісності об‘єктів, аутентифікації та авторизації об‘єктів, що керують процесами, а також алгоритми підтримання конфіденційності інформації, що міститься в об‘єктах комп‘ютерної системи.
Міжнародні та національні стандарти описують ряд добре відомих та вивчених функцій захисного характеру, зокрема алгоритми хешування MD5, MD2, SHA тощо; алгоритми генерування та перевірки електронного цифрового підпису RSA, DSS та інших. Усі ці алгоритми мають різні механізми викликів (зокрема, різну довжину аргументів). Це, у свою чергу, означає, що вони несумісні між собою.
Тому задача вбудовування тих чи інших захисних механізмів в операційну систему на основі якогось одного алгоритму буде виглядати неефективною, особливо, якщо ця ОС розповсюджується в різних регіонах земної кулі. В цьому випадку логічним є побудова "шаруватої" структури, де окремий шар, реалізований, скажемо, як набір динамічних бібліотек, відповідає за захист інформації. Цей спосіб досить універсальний і широко застосовується у сімействі операційних систем Windows. Таким способом можна розв‘язати великий клас задач, пов‘язаних з універсалізацією ОС: від національних налаштувань системи до реалізації різноманітних засобів безпеки.
Зрозуміло, що такі структури повинні мати т.зв. "відкритий інтерфейс", тобто бути детально документованими для того, щоби програмісти могли використати засоби цієї структури при створенні прикладного програмного забезпечення, в тому числі і для захисту інформації.
Сьогодні є достатня кількість криптографічних інтерфейсів, однак найбільшої популярності набув інтерфейс від Microsoft - Microsoft CryptoAPI. Зараз використовується CryptoAPI версії 2.0. Причина популярності цього інтерфейсу полягає в тому, що Microsoft інтенсивно впровадила захисні механізми CryptoAPI у свої операційні системи та прикладне програмне забезпечення. Сучасні ОС сімейства Windows містять багато криптографічних підсистем різного призначення як прикладного рівня, так і рівня ядра. Провідну роль в цьому грають якраз функції CryptoAPI, зокрема базові криптографічні функції, сукупність яких створює інтерфейс CryptoAPI 1.0.
Інтерфейс CryptoAPI 2.0 містить як базові криптографічні функції, так і функції, що реалізують перетворення вищого рівня – роботу з сертифікатами Х.509, обробку криптографічних повідомлень PKCS#7 та інші функції, що підтримують інфраструктуру відкритих ключів. Однак набір базових криптографічних функцій цього інтерфейсу утворює CryptoAPI 1.0. Таким чином, функції CryptoAPI 1.0 утворюють криптографічне ядро прикладного рівня для сучасних операційних систем лінійки Windows.
Загальну архітектуру CryptoAPI 1.0 подано на рис. 1.
Рис. 1. Загальна архітектура CryptoAPI 1.0.
Усі функції інтерфейсу зосереджено у бібліотеці advapi32.dll. Ці процедури виконують ряд допоміжних функції та викликають бібліотеки, де безпосередньо реалізовано відповідні криптографічні перетворення. Такі бібліотеки називають криптопровайдерами. Криптопровайдери мають стандартний набір функцій, який налічує 23 обов‘язкових та 2 необов‘язкових процедури. Ці процедури подано у таблиці 1.
Таблиця 1 Функції криптопровайдерів
| Функція | Короткий опис |
| CryptAcquireContext | Використовується для створення дескриптора ключового контейнера у рамках визначеного криптопровайдера (КП). |
| CryptContextAddRef | Збільшує на одиницю лічильник посилань на дескриптор КП. |
| CryptEnumProviders | Використовується для отримання першого та наступних доступних КП. |
| CryptEnumProviderTypes | Використовується для отримання першого та наступних доступних типів КП. |
| CryptGetDefaultProvider | Повертає КП, встановлений за замовчуванням для вказаного типу КП. |
| CryptGetProvParam | Повертає параметри КП |
| CryptReleaseContext | Вивільняє дескриптор КП |
CryptSetProvider CryptSetProviderEx | Задає тип та назву КП за замовчуванням |
| CryptSetProvParam | Встановлює параметри КП |
| CryptDeriveKey | Створює сесійні криптографічні ключі з ключового матеріалу |
| CryptDestroyKey | Звільняє дескриптор ключа |
| CryptDuplicateKey | Робить копію криптографічного ключа |
| CryptExportKey | Експортує криптографічні ключі із заданого контейнера |
| CryptGenKey | Генерує випадкові криптографічні ключі та ключові пари |
| CryptGenRandom | Генерує випадкову послідовність та зберігає її в буфері |
| CryptGetKeyParam | Повертає параметр
Оценок: 1005 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов. © 2016 - 2022 BigEdu.ru
|