bezpečnos ť platformy .net

32
Bezpečnos Bezpečnos ť ť platformy .NET platformy .NET Bezpečnosť na .NET Bezpečnosť na .NET Framework Framework

Upload: dior

Post on 21-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Bezpečnos ť platformy .NET. Bezpečnosť na .NET Framework. Úvod. C# - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bezpečnos ť platformy .NET

BezpečnosBezpečnosť ť platformy .NET platformy .NET

Bezpečnosť na .NET Bezpečnosť na .NET FrameworkFramework

Page 2: Bezpečnos ť platformy .NET

ÚvodÚvodC#C# C# je čisto objektový jazyk navrhnutý firmou Microsoft na C# je čisto objektový jazyk navrhnutý firmou Microsoft na

základe skúseností s jazykmi C++ a Java. Umožňuje vytvárať základe skúseností s jazykmi C++ a Java. Umožňuje vytvárať programy pre platformu .NET, čo je nadstavba operačného programy pre platformu .NET, čo je nadstavba operačného systému Windows, na ktorú sa môžeme dívať ako na systému Windows, na ktorú sa môžeme dívať ako na prepracovanejšieho nástupcu prostredia označovaného ako prepracovanejšieho nástupcu prostredia označovaného ako

Windows DNAWindows DNA..

Page 3: Bezpečnos ť platformy .NET

.NET Framework.NET Framework

Každý operačný systém poskytuje programátorom služby, ako Každý operačný systém poskytuje programátorom služby, ako napr. prideľovanie a správa pamäti, prístup k perifériám, napr. prideľovanie a správa pamäti, prístup k perifériám, sprostredkovanie sieťových služieb, atď. Jednou zo základných sprostredkovanie sieťových služieb, atď. Jednou zo základných myšlienok, ktoré viedli ku platforme .NET bolo skvalitnenie týchto myšlienok, ktoré viedli ku platforme .NET bolo skvalitnenie týchto služieb, okrem iného aj zvýšenie bezpečnosti. služieb, okrem iného aj zvýšenie bezpečnosti.

Platforma .NET sa skladá z niekoľko základných častí. Ide Platforma .NET sa skladá z niekoľko základných častí. Ide predovšetkým o:predovšetkým o:– Programový prístup k určitým službám, ako je správa Programový prístup k určitým službám, ako je správa

súborov, kalendár, alebo overovanie identity (služba súborov, kalendár, alebo overovanie identity (služba Passsport.NET).Passsport.NET).

– Software určený pre nové internetové zariadenia.Software určený pre nové internetové zariadenia.– Prostredie .NET Framework, ktoré predstavuje infraštruktúru Prostredie .NET Framework, ktoré predstavuje infraštruktúru

platformy .NETplatformy .NET

Page 4: Bezpečnos ť platformy .NET

Štruktúra prostredia .NET Framework:Štruktúra prostredia .NET Framework:

Page 5: Bezpečnos ť platformy .NET

Spoločný behový systémSpoločný behový systém

Základom .NET Framework je Základom .NET Framework je spoločný behový systém spoločný behový systém (Common Language Runtime - CLR)(Common Language Runtime - CLR), ktorý predstavuje , ktorý predstavuje prostredie umožňujúce beh a vzájomnú spoluprácu aplikácií prostredie umožňujúce beh a vzájomnú spoluprácu aplikácií napísaných v rôznych programovacích jazykoch (ako napr. C#, napísaných v rôznych programovacích jazykoch (ako napr. C#, C++, Visual Basic, Component Pascal, atď.) Spoločný behový C++, Visual Basic, Component Pascal, atď.) Spoločný behový systém je založený na spoločnej špecifikácií jazyka (Common systém je založený na spoločnej špecifikácií jazyka (Common Language Specification - CLS), čo sú vlastne pravidlá, podľa Language Specification - CLS), čo sú vlastne pravidlá, podľa ktorých sa musia riadiť tvorcovia prekladačov akéhokoľvek ktorých sa musia riadiť tvorcovia prekladačov akéhokoľvek jazyka pre prostredie .NET Framework.jazyka pre prostredie .NET Framework.

Page 6: Bezpečnos ť platformy .NET

Spoločný typový systémSpoločný typový systém

Spoločný typový systém (Common Type Systém - CTS)Spoločný typový systém (Common Type Systém - CTS) je je množina pravidiel pre definície dátových typov a zaobchádzania množina pravidiel pre definície dátových typov a zaobchádzania s nimi. Ich dodržiavanie zaručí, že môžeme dátový typ s nimi. Ich dodržiavanie zaručí, že môžeme dátový typ vytvorený v jednom programovacom jazyku vytvorený v jednom programovacom jazyku

(napr. v C#) v rámci .NET Framework používať v inom (napr. v C#) v rámci .NET Framework používať v inom programovacom jazyku (napr. v C++, Visual Basic, atď.) Pritom programovacom jazyku (napr. v C++, Visual Basic, atď.) Pritom nejde len o vytváranie inštancií objektových, alebo iných typov, nejde len o vytváranie inštancií objektových, alebo iných typov, ale tiež o odvodzovanie potomkov a iné operácie.ale tiež o odvodzovanie potomkov a iné operácie.

Page 7: Bezpečnos ť platformy .NET

Automatická správa pamäteAutomatická správa pamäte (garbage collector) (garbage collector)

Automatická správa pamäte (garbage collector)Automatická správa pamäte (garbage collector) sa stará o sa stará o rušenie inštancií objektových typov, alebo polí ktoré vytvoril rušenie inštancií objektových typov, alebo polí ktoré vytvoril programátor. Inštancie existujú pokiaľ na nich existuje aspoň programátor. Inštancie existujú pokiaľ na nich existuje aspoň jeden odkaz. Ak zaniknú všetky odkazy na niektorú inštanciu jeden odkaz. Ak zaniknú všetky odkazy na niektorú inštanciu (objekt), garbage collector ju automaticky odstráni z pamäte. (objekt), garbage collector ju automaticky odstráni z pamäte. K odstráneniu väčšinou nedochádza okamžite po zániku K odstráneniu väčšinou nedochádza okamžite po zániku posledného odkazu, ale neskôr ak napr. aplikácia vyčerpá posledného odkazu, ale neskôr ak napr. aplikácia vyčerpá

všetku pridelenú pamäť.všetku pridelenú pamäť.

Page 8: Bezpečnos ť platformy .NET

PrekladPreklad

Programy pre .NET Framework sa neprekladajú do strojového Programy pre .NET Framework sa neprekladajú do strojového kódu, ale do medzijazyka označovaného ILkódu, ale do medzijazyka označovaného IL – Intermediate – Intermediate Language Language čo je určitý asembler virtuálneho počítača. Tento IL čo je určitý asembler virtuálneho počítača. Tento IL jazyk sa neinterpretuje, ale sa vždy prekladá do strojového jazyk sa neinterpretuje, ale sa vždy prekladá do strojového kódu. Túto činnosť prevádzajú JIT-prekladače (kódu. Túto činnosť prevádzajú JIT-prekladače (Just In TimeJust In Time) a ) a v prostredí .NET Framework sa nachádzajú tri, ktoré umožňujú:v prostredí .NET Framework sa nachádzajú tri, ktoré umožňujú:

preložiť aplikáciu pri inštaláciípreložiť aplikáciu pri inštalácií

preložiť aplikáciu pri spustenípreložiť aplikáciu pri spustení

Page 9: Bezpečnos ť platformy .NET

prekladanie jednotlivých metód v tom okamihu, keď sú volanéprekladanie jednotlivých metód v tom okamihu, keď sú volané

Straty výkonu sú minimálne, pretože preložený kód je cache-Straty výkonu sú minimálne, pretože preložený kód je cache-ovaný.ovaný.

Page 10: Bezpečnos ť platformy .NET

Základná knižnica tried (Basic Class Základná knižnica tried (Basic Class Library - BCL)Library - BCL)

sa nachádza nad spoločným behovým systémom, a o.i. sa nachádza nad spoločným behovým systémom, a o.i. obsahuje nástroje pre:obsahuje nástroje pre:

- vstupno/výstupné operácievstupno/výstupné operácie- prácu s databázamiprácu s databázami- vytváranie viacvláknových operáciívytváranie viacvláknových operácií- používanie jazyka XMLpoužívanie jazyka XML- zabezpečeniezabezpečenie

nachádzajú sa tu aj nástroje nižšej úrovne, ako napr.:nachádzajú sa tu aj nástroje nižšej úrovne, ako napr.:- triedy pre prácu s textomtriedy pre prácu s textom- dátové kontajnerydátové kontajnery- matematické funkciematematické funkcie

Page 11: Bezpečnos ť platformy .NET

Nad základnou knižnicou tried sa nachádzajú špecializované Nad základnou knižnicou tried sa nachádzajú špecializované

knižnice pre vytváranie knižnice pre vytváranie grafického používateľského rozhraniagrafického používateľského rozhrania ((GUI – Graphics User InterfaceGUI – Graphics User Interface) a pre programovanie ) a pre programovanie webových služiebwebových služieb a ich klientov. a ich klientov.

Najvyššiu vrstvu prostredia .NET Framework tvoria prekladače Najvyššiu vrstvu prostredia .NET Framework tvoria prekladače programovacích jazykov. programovacích jazykov.

Kód, ktorý využíva služby prostredia .NET Framework, sa Kód, ktorý využíva služby prostredia .NET Framework, sa označuje ako riadený kód (označuje ako riadený kód (managed codemanaged code), resp. zabezpečený ), resp. zabezpečený kód (kód (safe codesafe code), ktorý popri inštrukciách obsahuje aj tzv. ), ktorý popri inštrukciách obsahuje aj tzv. metadáta, čo sú vlastne podrobné informácie o dátových typochmetadáta, čo sú vlastne podrobné informácie o dátových typoch

Page 12: Bezpečnos ť platformy .NET

deklarovaných v tomto kóde. Metadáta umožňujú iným deklarovaných v tomto kóde. Metadáta umožňujú iným

programom získať potrebné informácie o dátových typoch programom získať potrebné informácie o dátových typoch z preložených súborov (takže tu okrem iného odpadá potreba z preložených súborov (takže tu okrem iného odpadá potreba hlavičkových súborov).hlavičkových súborov).

Page 13: Bezpečnos ť platformy .NET

Bezpečnosť v operačných systémoch je založená na základe Bezpečnosť v operačných systémoch je založená na základe

zistenia identity používateľa. Podľa administrátorom pridelených zistenia identity používateľa. Podľa administrátorom pridelených práv sú nasledovne kontrolované všetky prevádzané operácie práv sú nasledovne kontrolované všetky prevádzané operácie (napr. manipulácia so súbormi, inštalácie, konfigurácia OS a (napr. manipulácia so súbormi, inštalácie, konfigurácia OS a pod.)pod.)

súčasné spôsoby prestávajú vyhovovaťsúčasné spôsoby prestávajú vyhovovať - Internet - Internet ovplyvňujúci napr. spôsob ovplyvňujúci napr. spôsob

inštalácie programov, atď.inštalácie programov, atď. Súčasné spôsoby riadenia bezpečnosti pri behu programu Súčasné spôsoby riadenia bezpečnosti pri behu programu

sú príliš hrubozrnnésú príliš hrubozrnné - snahou bezpečnostného systému je dať - snahou bezpečnostného systému je dať programátorovi a administrátorom nástroje pre jemnejšie programátorovi a administrátorom nástroje pre jemnejšie rozlíšenie riadenia prístupu ku jednotlivým systémovým zdrojomrozlíšenie riadenia prístupu ku jednotlivým systémovým zdrojom

Page 14: Bezpečnos ť platformy .NET

Microsoft Transaction server pre autorizáciu používateľov Microsoft Transaction server pre autorizáciu používateľov zaviedol role (roles), ktoré združujú používateľov s rovnakými zaviedol role (roles), ktoré združujú používateľov s rovnakými privilégiami, úplne nezávisle na ich prítomnosti v rôznych privilégiami, úplne nezávisle na ich prítomnosti v rôznych systémových skupinách. Platforma .NET tento spôsob prevzala systémových skupinách. Platforma .NET tento spôsob prevzala a rozšírila.a rozšírila.

Page 15: Bezpečnos ť platformy .NET

Kontrola bezpečnosti začína vo chvíli, keď je aplikácia Kontrola bezpečnosti začína vo chvíli, keď je aplikácia

zavádzaná do pamäti - vtedy prebiehajú základné overenia zavádzaná do pamäti - vtedy prebiehajú základné overenia prístupu ku zdrojom formou prístupu ku zdrojom formou Code Access SecurityCode Access Security (CAS), (CAS), zároveň sa zisťuje identita používateľa, ktorá slúži ku riadeniu zároveň sa zisťuje identita používateľa, ktorá slúži ku riadeniu bezpečnosti pomocou spomenutých rolí. Tieto operácie bezpečnosti pomocou spomenutých rolí. Tieto operácie presahujú hranice procesov a počítačov (ináč môžu vznikať presahujú hranice procesov a počítačov (ináč môžu vznikať falošné poverenia). CAS a bezpečnosť založenú na roliach falošné poverenia). CAS a bezpečnosť založenú na roliach ((Role-Based SecurityRole-Based Security) su integrované do .NET Framework.) su integrované do .NET Framework.

Page 16: Bezpečnos ť platformy .NET

Typy bezpečností na .NETTypy bezpečností na .NET Typová bezpečnosťTypová bezpečnosť Identita kóduIdentita kódu Prístupová bezpečnosť kóduPrístupová bezpečnosť kódu Povolenia (Permissions)Povolenia (Permissions) Deklaratívne a imperatívne Deklaratívne a imperatívne

riadenie bezpečnostiriadenie bezpečnosti Bezpečnosť založená na roliach Bezpečnosť založená na roliach

(role-based security)(role-based security) Kryptografické službyKryptografické služby

Page 17: Bezpečnos ť platformy .NET

1. Typová bezpečnosť 1. Typová bezpečnosť typovo bezpečné programy pracujú iba s tou pamäťou, ktorá typovo bezpečné programy pracujú iba s tou pamäťou, ktorá

bola alokovaná pre ich objekty. TB sa v tomto kontexte týka iba bola alokovaná pre ich objekty. TB sa v tomto kontexte týka iba bezpečného prístupu k pamäti objektu. bezpečného prístupu k pamäti objektu.

Príklad: Príklad: Príkladom typovo bezpečného kódu je trieda, ku ktorej Príkladom typovo bezpečného kódu je trieda, ku ktorej súkromným členom sa nedá pristupovať žiadným iným súkromným členom sa nedá pristupovať žiadným iným spôsobom - bezpečnosť je garantovaná iba pri prístupe cez spôsobom - bezpečnosť je garantovaná iba pri prístupe cez rozhranie.rozhranie.

u typovo-bezpečného kódu runtime mechanizmy môžu zaistiť, u typovo-bezpečného kódu runtime mechanizmy môžu zaistiť, že nebude pristupovať ku natívnemu kódu, pokiaľ na to nemá že nebude pristupovať ku natívnemu kódu, pokiaľ na to nemá špeciálne povolenie.špeciálne povolenie.

Page 18: Bezpečnos ť platformy .NET

opačne - pri kóde bez typovej bezpečnosti nič nebráni opačne - pri kóde bez typovej bezpečnosti nič nebráni

programátorovi (ani runtime), aby vo svojich funkciách volal programátorovi (ani runtime), aby vo svojich funkciách volal neriadený kód. Toto môže spôsobiť závažné chyby v aplikácií, neriadený kód. Toto môže spôsobiť závažné chyby v aplikácií, resp. operačnom systémeresp. operačnom systéme

Page 19: Bezpečnos ť platformy .NET

2. Identita kódu (IK)2. Identita kódu (IK) na .NET aplikáciách sa kód zavádza cez:na .NET aplikáciách sa kód zavádza cez:

– 1. 1. Class LoaderClass Loader (bežne spustené aplikácie) (bežne spustené aplikácie)– 2. Využíva sa 2. Využíva sa služba Interoperability Serviceslužba Interoperability Service (INTEROP) (INTEROP)

ktoré sú schopné poskytnúť základné informácie (evidenciu) na ktoré sú schopné poskytnúť základné informácie (evidenciu) na základe ktorej môže byť vystavená identita kódu.základe ktorej môže byť vystavená identita kódu.

Evidencia môže obsahovať aj miesta odkiaľ kód pochádza Evidencia môže obsahovať aj miesta odkiaľ kód pochádza (Internet site), aké je jeho zdieľané meno, identitu vydávateľa (Internet site), aké je jeho zdieľané meno, identitu vydávateľa kódu (Publisher’s identity) - na základe týchto informácií môže kódu (Publisher’s identity) - na základe týchto informácií môže bezpečnostná politika (security policy) určiť, aké práva budú bezpečnostná politika (security policy) určiť, aké práva budú špecifickej aplikácii (alebo množine aplikácii) pridelené.špecifickej aplikácii (alebo množine aplikácii) pridelené.

Page 20: Bezpečnos ť platformy .NET

3. Prístupová bezpečnosť kódu3. Prístupová bezpečnosť kódu

Súčasné riadenie bezpečnosti v operačných systémoch nie je Súčasné riadenie bezpečnosti v operačných systémoch nie je pripravené na napadnutie vírmi, (napr. kód pripojený ku pripravené na napadnutie vírmi, (napr. kód pripojený ku elektronickej pošte), resp. stiahnutie softwaru z Internetu z elektronickej pošte), resp. stiahnutie softwaru z Internetu z neidentifikovaných zdrojov, atď. Takéto napadnutie je vysoko neidentifikovaných zdrojov, atď. Takéto napadnutie je vysoko pravdepodobné. pravdepodobné.

.NET Framework sa snaží so svojimi službami doplniť základný .NET Framework sa snaží so svojimi službami doplniť základný bezpečnostný podsystém Windows a znemožniť bezpečnostný podsystém Windows a znemožniť nekontrolovaný behnekontrolovaný beh

Page 21: Bezpečnos ť platformy .NET

aplikácií z neznámich zdrojov.Tento mechanizmus sa nazýva aplikácií z neznámich zdrojov.Tento mechanizmus sa nazýva

Prístupová Bezpečnosť kódu (Code Access Security) aPrístupová Bezpečnosť kódu (Code Access Security) a– umožňuje umožňuje nastaviť dôveryhodnoť kódunastaviť dôveryhodnoť kódu na požadovanú na požadovanú

úroveň (napr. podľa toho odkiaľ kód pochádza, aspekt úroveň (napr. podľa toho odkiaľ kód pochádza, aspekt identity a pod.)identity a pod.)

– ktoré ktoré operácieoperácie kód s konkrétnou identitou môže/nesmie kód s konkrétnou identitou môže/nesmie vykonávaťvykonávať

– obmedziť chovanieobmedziť chovanie vedúce k poškodeniu systémového vedúce k poškodeniu systémového zdrojazdroja

Page 22: Bezpečnos ť platformy .NET

Prístupovú bezpečnosť môžu využívať len typovo-bezpečné Prístupovú bezpečnosť môžu využívať len typovo-bezpečné

aplikácie; k ochrane dochádza aj v prípade, že kód sám aplikácie; k ochrane dochádza aj v prípade, že kód sám neprevádza žiadne volania bezpečnostného API. Aplikácia však neprevádza žiadne volania bezpečnostného API. Aplikácia však musí odosielať požiadavky na overenie bezpečnosti prístupu musí odosielať požiadavky na overenie bezpečnosti prístupu (napr. formou atribútov).(napr. formou atribútov).

Page 23: Bezpečnos ť platformy .NET

4. Povolenia (Permissions)4. Povolenia (Permissions) Common Language Runtime (CLR) umožňuje vykonávať Common Language Runtime (CLR) umožňuje vykonávať

aplikáciám iba tie operácie, pre ktoré má od nich povolenie. aplikáciám iba tie operácie, pre ktoré má od nich povolenie. Runtime využíva špeciálne objekty - Povolenia (Permissions) - Runtime využíva špeciálne objekty - Povolenia (Permissions) - pre implementáciu obmedzení, ktoré sú kladené na riadený kód. pre implementáciu obmedzení, ktoré sú kladené na riadený kód. PoznámkaPoznámka: o vykonanie riadeného kódu sa stará CLR. Kód : o vykonanie riadeného kódu sa stará CLR. Kód ktorý nie je .NET (kód bežných aplikácií pre Windows), alebo ktorý nie je .NET (kód bežných aplikácií pre Windows), alebo kód, ktorý sa zriekne výhod a služieb z CLR nazývame kód, ktorý sa zriekne výhod a služieb z CLR nazývame neriadený. neriadený.

Povolenia sú zoskupované do množín Povolenia sú zoskupované do množín PermissionPermission setssets - - tieto tieto množiny jednoznačne definujú,množiny jednoznačne definujú,

Page 24: Bezpečnos ť platformy .NET

čo všetko je v kóde povolené a čo nie. Typ priradenej množiny čo všetko je v kóde povolené a čo nie. Typ priradenej množiny

povolení je určený evidenciou kódu (povolení je určený evidenciou kódu (code evidencecode evidence).).

Povolenia sú vo väčšine prípadov vyžadované dôverným Povolenia sú vo väčšine prípadov vyžadované dôverným kódom - napr. triedy zaobaľujúce prácu s lokálnym súborovým kódom - napr. triedy zaobaľujúce prácu s lokálnym súborovým systémom. Väčšina aplikácií využíva iba také triedy, ktoré sú systémom. Väčšina aplikácií využíva iba také triedy, ktoré sú súčasťou .NET Framework knižníc a samy nekladú žiadne súčasťou .NET Framework knižníc a samy nekladú žiadne špecifické požiadavky na konkrétny typ povolenia.špecifické požiadavky na konkrétny typ povolenia.

Objektový systém povolení a množín povolení Objektový systém povolení a množín povolení

Page 25: Bezpečnos ť platformy .NET

je na platforme .NET plne rozšíriteľný a ľubovoľná výroba je na platforme .NET plne rozšíriteľný a ľubovoľná výroba

software-u môže definovať svoje vlastné typy využívané v software-u môže definovať svoje vlastné typy využívané v aplikáciách.aplikáciách.

Povolenia delíme naPovolenia delíme na– povolenie pre prístup kódupovolenie pre prístup kódu - definuje množinu objektov - definuje množinu objektov

umožňujúcich chrániť systémové zdroje pred prípadným umožňujúcich chrániť systémové zdroje pred prípadným zneužitím nepovolanou osobou. Sú základným zneužitím nepovolanou osobou. Sú základným nástrojom .NET Framework runtime v oblasti zaistenia nástrojom .NET Framework runtime v oblasti zaistenia bezpečnosti riadeného kódu. Delia sa na:bezpečnosti riadeného kódu. Delia sa na:

práva pre prístup ku chráneným systémovým práva pre prístup ku chráneným systémovým zdrojomzdrojom (napr. súbory, systémové premenné) (napr. súbory, systémové premenné)

práva pre spustenie chránených operáciípráva pre spustenie chránených operácií

Page 26: Bezpečnos ť platformy .NET

– povolenie identitypovolenie identity

Page 27: Bezpečnos ť platformy .NET

5. Deklaratívne a imperatívne 5. Deklaratívne a imperatívne riadenie riadenie bezpečnosti bezpečnosti

Za behu aplikácie sa automaticky vyhodnocujú bezpečnostné Za behu aplikácie sa automaticky vyhodnocujú bezpečnostné požiadavky. požiadavky.

Pri ich splnení - sa pokračuje určeným spôsobom Pri ich splnení - sa pokračuje určeným spôsobom nesplnení - výnimka SecurityException nesplnení - výnimka SecurityException

Požiadavky na kontrolu bezpečnosti sa do aplikácie vkladajú:Požiadavky na kontrolu bezpečnosti sa do aplikácie vkladajú:– Deklaratívnou metódouDeklaratívnou metódou– Imperatívnou metódouImperatívnou metódou

Page 28: Bezpečnos ť platformy .NET

pri deklaratívnej metóde sú jednotlivým častiam kódu doplnené pri deklaratívnej metóde sú jednotlivým častiam kódu doplnené

atribúty. Vyhodnotenie deklaratívne stanovených atribúty. Vyhodnotenie deklaratívne stanovených bezpečnostných požiadaviek sa prevádzabezpečnostných požiadaviek sa prevádza– pri zavedení aplikáciepri zavedení aplikácie– pri jej behupri jej behu

imperatívna metóda využíva funkčné volanie vo vnútri imperatívna metóda využíva funkčné volanie vo vnútri aplikačného kódu. Výhodou je tu možnosť programovo aplikačného kódu. Výhodou je tu možnosť programovo modifikovať bezpečnostné požiadavkymodifikovať bezpečnostné požiadavky

Page 29: Bezpečnos ť platformy .NET

6. Bezpečnosť založená na 6. Bezpečnosť založená na roliach roliach (role-based security) (role-based security)

takáto autorizácia sa často používa vo finančných, alebo takáto autorizácia sa často používa vo finančných, alebo obchodných systémoch, ale využívajú sa aj inde. Napr: obchodných systémoch, ale využívajú sa aj inde. Napr: aplikácia môže napr. postaviť obmedzenie týkajúce sa objemu aplikácia môže napr. postaviť obmedzenie týkajúce sa objemu peňazí pri peňažnej transakcii v závislosti na identite peňazí pri peňažnej transakcii v závislosti na identite používateľa, alebo na jeho špecifickej roli. Takto bude môcť používateľa, alebo na jeho špecifickej roli. Takto bude môcť bežný úradník vykonávať transakcie do 1 000 000, jeho bežný úradník vykonávať transakcie do 1 000 000, jeho nadriadený do 10 000 000, riaditeľ neobmedzene.nadriadený do 10 000 000, riaditeľ neobmedzene.

Autorizácia získaná touto formou je v .NET Framework Autorizácia získaná touto formou je v .NET Framework založená na objektoch Principal, ktoré vznikajú na základe založená na objektoch Principal, ktoré vznikajú na základe informácií o identite používateľa. Identita môže byť založená na informácií o identite používateľa. Identita môže byť založená na základe účtu Windows, alebo úplne oddelená od bezpečnostnej základe účtu Windows, alebo úplne oddelená od bezpečnostnej infraštruktúry operačného systému a implementovaná infraštruktúry operačného systému a implementovaná individuálnym spôsobom.individuálnym spôsobom.

Page 30: Bezpečnos ť platformy .NET

7. Kryptografické služby7. Kryptografické služby

.NET Framework obsahuje množinu kryptografických objektov .NET Framework obsahuje množinu kryptografických objektov implementujúcich známe algoritmy (napr. hashovanie, implementujúcich známe algoritmy (napr. hashovanie, kryptovanie a digitálne podpisy). Tieto objekty sú veľmi často kryptovanie a digitálne podpisy). Tieto objekty sú veľmi často využívané vnútornými službami .NET Framework, ale sú tiež využívané vnútornými službami .NET Framework, ale sú tiež prístupné aj pre aplikačných programátorov.prístupné aj pre aplikačných programátorov.

Na platforme sú konkrétne implementovanéNa platforme sú konkrétne implementované::

Page 31: Bezpečnos ť platformy .NET

– SymetrickéSymetrické (používajú 1 tajný kľúč pre (používajú 1 tajný kľúč pre kryptovanie/dekryptovanie)kryptovanie/dekryptovanie)

– AsymetrickéAsymetrické (používajú 1 súkromný kľúč a 1 (používajú 1 súkromný kľúč a 1 verejný kľúč, je tu aj realizácia digitálneho podpisu)verejný kľúč, je tu aj realizácia digitálneho podpisu)

– Hashovacie funkcieHashovacie funkcie (mapovanie binárnych (mapovanie binárnych reťazcov ľubovoľnej dĺžky na veľmi krátke binárne reťazcov ľubovoľnej dĺžky na veľmi krátke binárne reťazce - hash value. Tieto metódy sa vnútorne reťazce - hash value. Tieto metódy sa vnútorne používajú v digitálnych podpisoch a pre zistenie používajú v digitálnych podpisoch a pre zistenie integrity dát)integrity dát)

Page 32: Bezpečnos ť platformy .NET

.NET Framework SDK documentation.NET Framework SDK documentation

http://www.gotdotnet.com/team/student/wintellect/http://www.gotdotnet.com/team/student/wintellect/aspnet_tutorial.aspxaspnet_tutorial.aspx

http://samples.gotdotnet.com/quickstart/aspplus/http://samples.gotdotnet.com/quickstart/aspplus/

C# Programmer’s Reference - Security TutorialC# Programmer’s Reference - Security Tutorial

http://support.microsoft.com/default.aspxhttp://support.microsoft.com/default.aspx

http://msdn.microsoft.com/security/securecode/dotnet/http://msdn.microsoft.com/security/securecode/dotnet/default.aspxdefault.aspx

http://samples.gotdotnet.com/quickstart/util/srcview.aspx?http://samples.gotdotnet.com/quickstart/util/srcview.aspx?path=/quicksrart/howto/samples/cryptography/hash/hash.srcpath=/quicksrart/howto/samples/cryptography/hash/hash.src

http://www.obviex.com/Samples/Encryption.aspxhttp://www.obviex.com/Samples/Encryption.aspx