Dela via


Säkerhetsöverväganden för säkra sessioner

Du bör överväga följande objekt som påverkar säkerheten när du implementerar säkra sessioner. Mer information om säkerhetsöverväganden finns i Säkerhetsöverväganden och metodtips för säkerhet.

Säkra sessioner och metadata

När en säker session upprättas och RequireCancellation egenskapen är inställd på falseskickar Windows Communication Foundation (WCF) en försäkran som en mssp:MustNotSendCancel del av metadata i WSDL-dokumentet (Web Services Description Language) för tjänstslutpunkten. Försäkran mssp:MustNotSendCancel informerar klienterna om att tjänsten inte svarar på begäranden om att avbryta den säkra sessionen. När egenskapen RequireCancellation är inställd på truegenererar inte WCF något mssp:MustNotSendCancel intyg i WSDL-dokumentet. Klienter förväntas skicka en avbokningsbegäran till tjänsten när de inte längre behöver den säkra sessionen. När en klient genereras med hjälp av Verktyget för ServiceModel-metadata (Svcutil.exe), reagerar klientkoden på lämpligt sätt på förekomsten eller frånvaron av försäkran mssp:MustNotSendCancel .

Säkra konversationer och anpassade token

Det finns vissa problem med att blanda anpassade token och härledda nycklar på grund av hur de definieras i WS-SecureConversation-specifikationen. Specifikationen säger att det wsse:SecurityTokenReference är ett valfritt element som refererar till den härledda token: "/wsc:DerivedKeyToken/wsse:SecurityTokenReference Det här valfria elementet används för att ange säkerhetskontexttoken, säkerhetstoken eller delad nyckel/hemlighet som används för härledning. Om det inte anges antas det att mottagaren kan fastställa den delade nyckeln från meddelandekontexten. Om kontexten inte kan fastställas bör ett sådant fel wsc:UnknownDerivationSource uppstå."

Det innebär att om du vill att en anpassad token ska härledas bör du omsluta dess satstyp i ett SecurityTokenReference element. Det finns ett alternativ för att inaktivera härledning, men standardvärdet är att härleda nycklar. Om du inte lyckas omsluta nyckeln lyckas serialiseringen av den härledda nyckeltoken, men om du försöker deserialisera den utlöser det ett undantag.

Se även