Zabezpečení zpráv
Tato část popisuje zabezpečení zpráv WCF při použití NetMsmqBinding.
Poznámka:
Než si projdete toto téma, doporučujeme si přečíst koncepty zabezpečení.
Následující obrázek obsahuje koncepční model komunikace ve frontě pomocí WCF. Tento obrázek a terminologie slouží k vysvětlení.
koncepty zabezpečení dopravy.
Při odesílání zpráv zařazených do fronty pomocí WCF je zpráva WCF připojena jako tělo zprávy služby Řízení front zpráv (MSMQ). Zatímco zabezpečení přenosu zabezpečuje celou zprávu MSMQ, zabezpečení zpráv (nebo SOAP) zabezpečuje pouze tělo zprávy MSMQ.
Klíčovým konceptem zabezpečení zpráv je, že klient zabezpečí zprávu pro přijímající aplikaci (službu), na rozdíl od zabezpečení přenosu, kde klient zabezpečí zprávu pro cílovou frontu. MsMQ proto nepřehrává žádnou roli při zabezpečení zprávy WCF pomocí zabezpečení zpráv.
Zabezpečení zpráv WCF přidává do zprávy WCF hlavičky zabezpečení, které se integrují s existujícími infrastrukturami zabezpečení, jako je certifikát nebo protokol Kerberos.
Typ přihlašovacích údajů zprávy
Pomocí zabezpečení zpráv může služba a klient předložit přihlašovací údaje k ověření. Zabezpečení zpráv můžete vybrat nastavením Security režimu na Message
nebo Both
(to znamená zabezpečení přenosu i zabezpečení zpráv).
Služba může vlastnost použít Current ke kontrole přihlašovacích údajů použitých k ověření klienta. Můžete ho také použít k dalším kontrolám autorizace, které se služba rozhodne implementovat.
Tato část vysvětluje různé typy přihlašovacích údajů a způsob jejich použití s frontami.
Certifikát
Typ přihlašovacích údajů certifikátu používá certifikát X.509 k identifikaci služby a klienta.
V typickém scénáři je klient a služba vystaveny platnému certifikátu důvěryhodné certifikační autority. Pak se připojení naváže, klient ověří platnost služby pomocí certifikátu služby a rozhodne, jestli může službě důvěřovat. Podobně služba používá certifikát klienta k ověření důvěryhodnosti klienta.
Vzhledem k odpojené povaze front nemusí být klient a služba ve stejnou dobu online. Klient a služba proto musí vyměňovat certifikáty mimo pásmo. Klient musí na základě certifikátu služby (který může být zřetězený s certifikační autoritou) v důvěryhodném úložišti, důvěřovat tomu, že komunikuje se správnou službou. Pro ověřování klienta používá služba certifikát X.509 připojený ke zprávě, aby se shodoval s certifikátem v jeho úložišti k ověření pravosti klienta. Znovu musí být certifikát zřetězený k certifikační autoritě.
V počítači se systémem Windows se certifikáty uchovávají v několika typech úložišť. Další informace o různých úložištích najdete v tématu Úložiště certifikátů.
Windows
Typ přihlašovacích údajů zprávy systému Windows používá protokol Kerberos.
Protokol Kerberos je bezpečnostní mechanismus, který ověřuje uživatele v doméně a umožňuje ověřeným uživatelům vytvářet zabezpečené kontexty s jinými entitami v doméně.
Problém s používáním protokolu Kerberos pro komunikaci ve frontě spočívá v tom, že lístky obsahující identitu klienta, kterou distribuuje služba KDC (Key Distribution Center), jsou relativně krátkodobé. Životnost je přidružená k lístku Kerberos, který označuje platnost lístku. Vzhledem k vysoké latenci se proto nemůžete ujistit, že token je stále platný pro službu, která ověřuje klienta.
Všimněte si, že při použití tohoto typu přihlašovacích údajů musí být služba spuštěna v rámci účtu SLUŽBY.
Protokol Kerberos se ve výchozím nastavení používá při výběru přihlašovacích údajů zprávy.
Heslo uživatelského jména
Pomocí této vlastnosti se klient může ověřit na serveru pomocí hesla uživatelského jména v hlavičce zabezpečení zprávy.
Vystavenýtoken
Klient může použít službu tokenů zabezpečení k vydání tokenu, který se pak může připojit ke zprávě, aby služba ověřila klienta.
Použití zabezpečení přenosu a zpráv
Při použití zabezpečení přenosu i zabezpečení zpráv musí být certifikát použitý k zabezpečení zprávy na úrovni přenosu i zprávy SOAP stejný.