Sdílet prostřednictvím


Přehled zabezpečení služby Windows Communication Foundation

Windows Communication Foundation (WCF) je distribuovaná programovací platforma založená na protokolu SOAP a zabezpečení zpráv mezi klienty a službami je nezbytné pro ochranu dat. WCF poskytuje všestrannou a interoperabilní platformu pro výměnu zabezpečených zpráv na základě stávající infrastruktury zabezpečení i rozpoznaných standardů zabezpečení pro zprávy SOAP.

WCF používá koncepty, které jsou známé, pokud jste vytvořili zabezpečené distribuované aplikace s existujícími technologiemi, jako jsou HTTPS, integrované zabezpečení Systému Windows nebo uživatelská jména a hesla k ověřování uživatelů. WCF se nejen integruje se stávajícími infrastrukturami zabezpečení, ale také rozšiřuje distribuované zabezpečení nad rámec domén jen pro Windows pomocí zabezpečených zpráv SOAP. Zvažte wcf implementaci stávajících mechanismů zabezpečení s velkou výhodou použití protokolu SOAP jako protokolu kromě existujících protokolů. Například přihlašovací údaje, které identifikují klienta nebo službu, například uživatelské jméno a heslo nebo certifikáty X.509, mají interoperabilní profily SOAP založené na jazyce XML. Pomocí těchto profilů se zprávy vyměňují bezpečně tím, že využívají otevřené specifikace, jako jsou digitální podpisy XML a šifrování XML. Seznam specifikací naleznete v tématu Protokoly webových služeb podporované systémově poskytovanými vazbami interoperability.

Dalším paralelně je model COM (Component Object Model) na platformě Windows, který umožňuje zabezpečené distribuované aplikace. COM má komplexní bezpečnostní mechanismus, kdy lze kontext zabezpečení protékat mezi součástmi; tento mechanismus vynucuje integritu, důvěrnost a ověřování. Com ale nepovoluje víceplatformní zabezpečené zasílání zpráv, jako je WCF. Pomocí WCF můžete vytvářet služby a klienty, které se používají z domén Windows přes internet. Interoperabilní zprávy WCF jsou nezbytné pro vytváření dynamických a obchodních služeb, které vám pomůžou s jistotou v zabezpečení vašich informací.

Výhody zabezpečení windows Communication Foundation

WCF je distribuovaná programovací platforma založená na zprávách SOAP. Pomocí WCF můžete vytvářet aplikace, které fungují jako služby i klienti služeb, vytvářet a zpracovávat zprávy z neomezeného počtu dalších služeb a klientů. V takové distribuované aplikaci můžou zprávy proudit z uzlu do uzlu, přes brány firewall, na internet a prostřednictvím mnoha zprostředkovatelů PROTOKOLU SOAP. To představuje celou řadu bezpečnostních hrozeb. Následující příklady ilustrují některé běžné hrozby, které může zabezpečení WCF zmírnit při výměně zpráv mezi entitami:

  • Sledování síťového provozu za účelem získání citlivých informací Například ve scénáři online bankovnictví klient požádá o převod finančních prostředků z jednoho účtu do druhého. Uživatel se zlými úmysly zachytí zprávu a později s číslem účtu a heslem provede převod finančních prostředků z napadeného účtu.

  • Podvodné entity fungují jako služby bez povědomí o klientovi. V tomto scénáři funguje uživatel se zlými úmysly jako online služba a zachytí zprávy od klienta, aby získal citlivé informace. Pak podvodná data použije k převodu finančních prostředků z ohroženého účtu. Tento útok je také známý útok phishing.

  • Změna zpráv pro získání jiného výsledku, než je zamýšlený volající. Například změna čísla účtu, na který se provádí vklad, umožňuje, aby finanční prostředky přešly na podvodný účet.

  • Hacker přehraje, ve kterém hacker přehrává stejnou nákupní objednávku. Například online knihkupectví obdrží stovky objednávek a odešle knihy zákazníkovi, který si je neobjednal.

  • Nemožnost služby ověřit klienta. V takovém případě služba nemůže zajistit, aby příslušná osoba transakci provedla.

Zabezpečení přenosu poskytuje v souhrnu následující záruky:

  • Ověřování koncového bodu služby (respondent).

  • Ověřování iniciátoru klienta

  • Integrita zpráv

  • Důvěrnost zpráv.

  • Detekce opakovaného přehrávání

Integrace se stávajícími infrastrukturami zabezpečení

Nasazení webových služeb mají často existující řešení zabezpečení, například SSL (Secure Sockets Layer) nebo protokol Kerberos. Některé využívají infrastrukturu zabezpečení, která už byla nasazena, například domény Windows pomocí služby Active Directory. Při vyhodnocování a přijímání novějších technologií je často nutné se s těmito stávajícími technologiemi integrovat.

Zabezpečení WCF se integruje se stávajícími modely zabezpečení přenosu a může využívat stávající infrastrukturu pro novější modely zabezpečení přenosu na základě zabezpečení zpráv SOAP.

Integrace s existujícími modely ověřování

Důležitou součástí jakéhokoli modelu zabezpečení komunikace je schopnost identifikovat a ověřovat entity v komunikaci. Tyto entity při komunikaci používají k ověřování pomocí "digitálních identit" nebo přihlašovacích údajů, které se ověřují u komunikujících partnerských vztahů. S vývojem distribuovaných komunikačních platforem se implementovaly různé modely ověřování přihlašovacích údajů a souvisejících modelů zabezpečení. Například na internetu je běžné použití uživatelského jména a hesla k identifikaci uživatelů. V intranetu se stává běžné použití řadiče domény Kerberos k zálohování ověřování uživatelů a služeb. V některých scénářích, například mezi dvěma obchodními partnery, se certifikáty můžou použít k vzájemnému ověření partnerů.

Proto ve světě webových služeb, kde stejná služba může být vystavena interním firemním zákazníkům i externím partnerům nebo internetovým zákazníkům, je důležité, aby infrastruktura poskytovala integraci s těmito stávajícími modely ověřování zabezpečení. Zabezpečení WCF podporuje širokou škálu typů přihlašovacích údajů (modely ověřování), mezi které patří:

  • Anonymní volající.

  • Přihlašovací údaje klienta uživatelského jména.

  • Přihlašovací údaje klienta certifikátu.

  • Windows (protokol Kerberos i NT LanMan [NTLM]).

Standardy a interoperabilita

Ve světě s velkými existujícími nasazeními je homogenita vzácná. Distribuované výpočetní a komunikační platformy musí spolupracovat s technologiemi, které nabízejí různí dodavatelé. Stejně tak musí být zabezpečení interoperabilní.

Aby bylo možné interoperabilní systémy zabezpečení, společnosti aktivní v odvětví webových služeb vytvořily řadu standardů. Konkrétně se týká zabezpečení, bylo navrženo několik zajímavých standardů: WS-Security: SOAP Message Security (přijato tělem standardů OASIS a dříve označovaným jako WS-Security), WS-Trust, WS-SecureConversation a WS-SecurityPolicy.

WCF podporuje širokou škálu scénářů interoperability. Třída BasicHttpBinding je zaměřena na základní profil zabezpečení (BSP) a WSHttpBinding třída je zaměřena na nejnovější standardy zabezpečení, jako je WS-Security 1.1 a WS-SecureConversation. Dodržováním těchto standardů může zabezpečení WCF spolupracovat a integrovat s webovými službami hostovanými na jiných operačních systémech a platformách než Microsoft Windows.

Funkční oblasti zabezpečení WCF

Zabezpečení WCF je rozděleno do tří funkčních oblastí: přenos zabezpečení, řízení přístupu a auditování. Následující části stručně probírají tyto oblasti a poskytují odkazy na další informace.

Zabezpečení přenosu

Zabezpečení přenosu zahrnuje tři hlavní funkce zabezpečení: integritu, důvěrnost a ověřování. Integrita je schopnost zjistit, jestli byla zpráva manipulována. Důvěrnost je schopnost zachovat zprávu nečitelný jiným uživatelem než zamýšleným příjemcem. Toho se dosahuje pomocí kryptografie. Ověřování je schopnost ověřit deklarovanou identitu. Tyto tři funkce společně pomáhají zajistit, aby zprávy bezpečně dorazily z jednoho bodu do druhého.

Režimy zabezpečení přenosu a zpráv

K implementaci zabezpečení přenosu ve WCF se používají dva hlavní mechanismy: režim zabezpečení přenosu a režim zabezpečení zpráv .

  • Režim zabezpečení přenosu používá protokol na úrovni přenosu, například HTTPS, k zajištění zabezpečení přenosu. Dopravní režim má výhodu, že je široce přijímaný, dostupný na mnoha platformách a méně výpočetně složitý. Má však nevýhodu zabezpečení zpráv pouze od bodu k bodu.

  • Naopak režim zabezpečení zpráv používá k implementaci zabezpečení přenosu WS-Security (a další specifikace). Vzhledem k tomu, že zabezpečení zpráv se používá přímo u zpráv SOAP a je obsaženo uvnitř obálek SOAP společně s daty aplikace, má výhodu nezávislé na přenosovém protokolu, rozšiřitelnější a zajišťuje komplexní zabezpečení (oproti point-to-pointu); má nevýhodu, že je několikrát pomalejší než režim zabezpečení přenosu, protože se musí zabývat povahou XML zpráv SOAP.

Další informace o těchtorozdílch

Třetí režim zabezpečení používá oba předchozí režimy a přináší výhody obou. Tento režim se nazývá TransportWithMessageCredential. V tomto režimu se zabezpečení zpráv používá k ověření zabezpečení klienta a přenosu k ověření serveru a k zajištění důvěrnosti a integrity zpráv. Díky tomu TransportWithMessageCredential je režim zabezpečení téměř stejně rychlý jako režim zabezpečení přenosu a poskytuje rozšiřitelnost ověřování klientů stejným způsobem jako zabezpečení zpráv. Na rozdíl od režimu zabezpečení zpráv ale neposkytuje kompletní zabezpečení.

Řízení přístupu

Řízení přístupu se také označuje jako autorizace. Autorizace umožňuje různým uživatelům mít různá oprávnění k zobrazení dat. Například vzhledem k tomu, že soubory lidských zdrojů společnosti obsahují citlivá data zaměstnanců, můžou data zaměstnanců zobrazit jenom manažeři. Správci navíc můžou zobrazit jenom data pro své přímé sestavy. V tomto případě je řízení přístupu založené na roli ("manažer") i na konkrétní identitě manažera (aby se jeden manažer nemohl podívat na záznamy zaměstnanců jiného manažera).

Ve WCF jsou funkce řízení přístupu poskytovány prostřednictvím integrace s modulem CLR (Common Language Runtime) PrincipalPermissionAttribute a prostřednictvím sady rozhraní API označovaných jako model identity. Podrobnosti o řízení přístupu a autorizaci na základě deklarací identity najdete v tématu Rozšíření zabezpečení.

Auditování

Auditování je protokolování událostí zabezpečení do protokolu událostí systému Windows. Můžete protokolovat události související se zabezpečením, jako jsou selhání ověřování (nebo úspěch). Další informace najdete v tématu Auditování. Podrobnosti o programování najdete v tématu Postupy: Auditování událostí zabezpečení.

Viz také