Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Безпека в .NET
Безпека – невід’ємна частина.NET. Існують наступні способи забезпечення безпеки: · Безпека типів; · Перевірка достовірності коду; · Дозвіл доступу до ресурсів; · Декларативна безпека; · Імперативна безпека; Інші моделі забезпечення безпеки: · Модель політик доступу; · Модель ролей. Підвищена важливість безпеки при віддаленому виконанні. Криптографічні методи захисту, готові для вбудовування в користувацькі застосування. Безпека є наріжним каменем.NET. На всіх етапах створення і виконання програм відбуваються самі різні перевірки – від перевірки прав на доступ до коду до дозволів на ресурси. Ось деякі з типів перевірок безпеки: Безпека типів. Програми, що гарантують безпеку даних, звертаються лише до тих ділянок пам’яті, які були виділені для них. Доступ до об’єктів здійснюється лише через спеціальні інтерфейси, в які вбудовано перевірку безпеки. В цілому, безпека типів може бути перевірена не завжди; проте її наявність унеможливлює одну з найпоширеніших атак (читання вказівника більшого розміру, ніж виділена пам’ять). Достовірність коду. Завантажувач класів зберігає інформацію про вихідні тексти всіх класів, які було завантажено. Таким чином, можна відновити деякі атрибути коду (звідки завантажено код, хто є автором, тощо). Цю інформацію можна використовувати для надання прав на запуск. Дозволи на доступ до ресурсів. Ресурси зазвичай асоційовані з системою. Як ресурси можуть виступати файли, мережеві з’єднання, право виклику API, що не управляється (unmanaged APIs). Права доступу перевіряються не лише для збірки, що викликана, але і для всіх інших, що знаходяться в даний момент в стеку викликів. Декларативна безпека. Цей механізм надає можливість вбудовувати перевірки безпеки прямо в код шляхом анотації класів, полів або методів. Перевірка може проводитися одноразово при завантаженні або постійно (скажімо, при кожному запуску методу). Імперативна безпека. Звичайний код усередині методу, що розробляється, який перевіряє права на певну операцію під час запуску. Такі перевірки для доступу до файлів, призначеному для користувача інтерфейсу і тому подібне. Модель політик доступу. Політики дозволяють автоматично присвоювати коду певні привілеї, ґрунтуючись на тому, звідки було отримано початкові тексті даного застосування (зрозуміло, що локальному коду користувачі довіряють більше, ніж програма з Internet). Користувачі можуть змінювати ці політики. Модель ролей. Ця модель безпеки перевіряє, в якій ролі виступає користувач і дозволяє/відмовляє в доступі залежно від цього. Наприклад у фінансових застосуваннях максимальний ліміт транзакції може залежати від службового положення банківського службовця. .NET підтримує віддалений виклик об’єктів. При віддаленому виклику (тобто при виклику об’єкту, що знаходиться в іншому процесі або на іншому комп’ютері) всі питання безпеки, такі, як аутентифікація, авторизація, конфіденційність і цілісність, набувають підвищеної важливості. Платформа.NET підтримує описані вище механізми безпеки і при віддалених викликах шляхом щільної інтеграції з мережевими протоколами. Механізми аутентифікації будуть придатні як для ідентифікації користувачів, так і для ідентифікації застосувань або юридичних осіб. Конфіденційність і цілісність грутнуються на криптографічних алгоритмах і стандартних мережевих протоколах. Усі ці можливості будуть доступні як на рівні застосування, так і на рівні передачі даних. Крім того,.NET надає готові криптографічні бібліотеки, які придатні не лише для використання в системних сервісах, але і в призначених для користувача застосуваннях (за інформацією на даний момент в.NET буде вбудований стандарт RSA).
|