Delen via


Berichten beveiligen met berichtbeveiliging

In deze sectie wordt de WCF-berichtbeveiliging besproken wanneer u deze gebruikt NetMsmqBinding.

Notitie

Voordat u dit onderwerp leest, is het raadzaam om beveiligingsconcepten te lezen.

In de volgende afbeelding ziet u een conceptueel model van communicatie in de wachtrij met behulp van WCF. Deze illustratie en terminologie worden gebruikt om uitleg te geven

concepten voor transportbeveiliging.

Queued Application Diagram

Wanneer u berichten in de wachtrij verzendt met WCF, wordt het WCF-bericht als hoofdtekst van het bericht Message Queuing (MSMQ) toegevoegd. Transportbeveiliging beveiligt het hele MSMQ-bericht, berichtbeveiliging (of SOAP) alleen de hoofdtekst van het MSMQ-bericht.

Het belangrijkste concept van berichtbeveiliging is dat de client het bericht beveiligt voor de ontvangende toepassing (service), in tegenstelling tot transportbeveiliging waarbij de client het bericht voor de doelwachtrij beveiligt. Als zodanig speelt MSMQ geen rol bij het beveiligen van het WCF-bericht met behulp van berichtbeveiliging.

WCF-berichtbeveiliging voegt beveiligingsheaders toe aan het WCF-bericht dat kan worden geïntegreerd met bestaande beveiligingsinfrastructuren, zoals een certificaat of het Kerberos-protocol.

Type berichtreferentie

Met behulp van berichtbeveiliging kunnen de service en client referenties presenteren om elkaar te verifiëren. U kunt berichtbeveiliging selecteren door de Security modus in te Message stellen op of Both (dat wil gezegd: transportbeveiliging en berichtbeveiliging gebruiken).

De service kan de Current eigenschap gebruiken om de referenties te controleren die worden gebruikt om de client te verifiëren. Dit kan ook worden gebruikt voor verdere autorisatiecontroles die door de service worden geïmplementeerd.

In deze sectie worden de verschillende referentietypen uitgelegd en hoe u deze kunt gebruiken met wachtrijen.

Certificaat

Het certificaatreferentietype maakt gebruik van een X.509-certificaat om de service en de client te identificeren.

In een typisch scenario krijgen de client en de service een geldig certificaat uitgegeven door een vertrouwde certificeringsinstantie. Vervolgens wordt de verbinding tot stand gebracht. De client verifieert de geldigheid van de service met behulp van het certificaat van de service om te bepalen of deze de service kan vertrouwen. Op dezelfde manier gebruikt de service het certificaat van de client om de clientvertrouwensrelatie te valideren.

Gezien de niet-verbonden aard van wachtrijen, zijn de client en de service mogelijk niet tegelijkertijd online. Als zodanig moeten de client en service certificaten out-of-band uitwisselen. In het bijzonder moet de klant, op grond van het bezit van het certificaat van de service (dat kan worden gekoppeld aan een certificeringsinstantie) in het vertrouwde archief ervan vertrouwen dat deze communiceert met de juiste service. Voor het verifiëren van de client gebruikt de service het X.509-certificaat dat is gekoppeld aan het bericht, zodat het overeenkomt met het certificaat in het archief om de echtheid van de client te verifiëren. Nogmaals, het certificaat moet worden gekoppeld aan een certificeringsinstantie.

Op een computer met Windows worden certificaten opgeslagen in verschillende soorten winkels. Zie Certificaatarchieven voor meer informatie over de verschillende winkels.

Vensters

Windows-berichtreferentietype maakt gebruik van het Kerberos-protocol.

Het Kerberos-protocol is een beveiligingsmechanisme waarmee gebruikers in een domein worden geverifieerd en waarmee de geverifieerde gebruikers beveiligde contexten kunnen instellen met andere entiteiten in een domein.

Het probleem met het gebruik van het Kerberos-protocol voor communicatie in de wachtrij is dat de tickets die clientidentiteit bevatten die het KDC (Key Distribution Center) distribueert, relatief kort zijn. Een levensduur is gekoppeld aan het Kerberos-ticket dat de geldigheid van het ticket aangeeft. Als zodanig kunt u er niet zeker van zijn dat het token nog steeds geldig is voor de service die de client verifieert.

Houd er rekening mee dat wanneer u dit referentietype gebruikt, de service moet worden uitgevoerd onder het SERVICE-account.

Het Kerberos-protocol wordt standaard gebruikt bij het kiezen van berichtreferenties.

Gebruikersnaam Wachtwoord

Met deze eigenschap kan de client zich verifiëren bij de server met behulp van een gebruikersnaamwachtwoord in de beveiligingsheader van het bericht.

IssuedToken

De client kan de beveiligingstokenservice gebruiken om een token uit te geven dat vervolgens kan worden gekoppeld aan het bericht voor de service om de client te verifiëren.

Transport- en berichtbeveiliging gebruiken

Wanneer u zowel transportbeveiliging als berichtbeveiliging gebruikt, moet het certificaat dat wordt gebruikt voor het beveiligen van het bericht zowel op transport- als SOAP-berichtniveau hetzelfde zijn.

Zie ook