Beveiligingsoverwegingen voor beveiligde sessies
Houd rekening met de volgende items die van invloed zijn op de beveiliging bij het implementeren van beveiligde sessies. Zie Beveiligingsoverwegingen en aanbevolen procedures voor beveiliging voor meer informatie over beveiligingsoverwegingen.
Beveiligde sessies en metagegevens
Wanneer een beveiligde sessie tot stand is gebracht en de RequireCancellation eigenschap is ingesteld false
op, verzendt Windows Communication Foundation (WCF) een mssp:MustNotSendCancel
verklaring als onderdeel van de metagegevens in het WSDL-document (Web Services Description Language) voor het service-eindpunt. De mssp:MustNotSendCancel
bewering informeert clients dat de service niet reageert op aanvragen om de beveiligde sessie te annuleren. Wanneer de RequireCancellation eigenschap is ingesteld op true
, verzendt mssp:MustNotSendCancel
WCF geen assertie in het WSDL-document. Clients verzenden naar verwachting een annuleringsaanvraag naar de service wanneer ze de beveiligde sessie niet meer nodig hebben. Wanneer een client wordt gegenereerd met behulp van het hulpprogramma voor servicemodelmetagegevens (Svcutil.exe), reageert de clientcode op de juiste wijze op de aanwezigheid of afwezigheid van de mssp:MustNotSendCancel
assertie.
Beveiligde gesprekken en aangepaste tokens
Er zijn enkele problemen met het combineren van aangepaste tokens en afgeleide sleutels vanwege de manier waarop deze is gedefinieerd in de WS-SecureConversation-specificatie. De specificatie geeft aan dat dit wsse:SecurityTokenReference
een optioneel element is dat verwijst naar het afgeleide token: "/wsc:DerivedKeyToken/wsse:SecurityTokenReference
Dit optionele element wordt gebruikt om het token voor de beveiligingscontext, het beveiligingstoken of het gedeelde sleutel/geheim op te geven dat wordt gebruikt voor de afleiding. Als dit niet is opgegeven, wordt ervan uitgegaan dat de ontvanger de gedeelde sleutel kan bepalen vanuit de berichtcontext. Als de context niet kan worden bepaald, moet er een fout wsc:UnknownDerivationSource
worden gegenereerd.
Dit betekent dat als u wilt dat een aangepast token wordt afgeleid, u het componenttype in een SecurityTokenReference
element inpakt. Er is een optie om afleiding uit te schakelen, maar de standaardinstelling is om sleutels af te leiden. Als u de sleutel niet inpakt, slaagt het serialiseren van het afgeleide sleuteltoken, maar treedt er een uitzondering op.