Dela via


Skydda Peer Channel-program

Precis som andra bindningar under WinFX NetPeerTcpBinding har säkerhet aktiverats som standard och erbjuder både transport- och meddelandebaserad säkerhet (eller båda). I det här avsnittet beskrivs dessa två typer av säkerhet. Säkerhetstypen anges av taggen säkerhetsläge i bindningsspecifikationen (SecurityMode).

Transportbaserad säkerhet

Peer Channel stöder två typer av autentiseringsuppgifter för att skydda transport, som båda kräver att du anger ClientCredentialSettings.Peer egenskapen på den associerade ChannelFactory:

  • Lösenord. Klienter använder kunskap om ett hemligt lösenord för att autentisera anslutningar. När den här typen av autentiseringsuppgifter används ClientCredentialSettings.Peer.MeshPassword måste du ha ett giltigt lösenord och eventuellt en X509Certificate2 instans.

  • Certifikat. Specifik programautentisering används. När den här typen av autentiseringsuppgifter används måste du använda en konkret implementering av X509CertificateValidator i ClientCredentialSettings.Peer.PeerAuthentication.

Meddelandebaserad säkerhet

Med hjälp av meddelandesäkerhet kan ett program signera utgående meddelanden så att alla mottagande parter kan kontrollera att meddelandet skickas av en betrodd part och att meddelandet inte manipulerades. Peer Channel stöder för närvarande endast X.509-signering av autentiseringsuppgifter.

Metodtips

  • I det här avsnittet beskrivs metodtipsen för att skydda Peer Channel-program.

Aktivera säkerhet med Peer Channel-program

På grund av peer channel-protokollens distribuerade karaktär är det svårt att framtvinga meshmedlemskap, konfidentialitet och sekretess i ett oskyddat nät. Det är också viktigt att komma ihåg att skydda kommunikationen mellan klienter och lösningstjänsten. Under PNRP (Peer Name Resolution Protocol) använder du säkra namn för att undvika förfalskning och andra vanliga attacker. Skydda en anpassad lösningstjänst genom att aktivera säkerhet på de anslutningsklienter som används för att kontakta matchningstjänsten, inklusive både meddelande- och transportbaserad säkerhet.

Använd den starkaste möjliga säkerhetsmodellen

Om till exempel varje medlem i nätet måste identifieras individuellt använder du en certifikatbaserad autentiseringsmodell. Om det inte är möjligt använder du lösenordsbaserad autentisering enligt aktuella rekommendationer för att skydda dem. Detta inkluderar att endast dela lösenord med betrodda parter, överföra lösenord med ett säkert medium, ändra lösenord ofta och se till att lösenorden är starka (minst åtta tecken långa, inkludera minst en bokstav från båda fallen, en siffra och ett specialtecken).

Acceptera aldrig självsignerade certifikat

Acceptera aldrig certifikatautentiseringsuppgifter baserat på ämnesnamn. Observera att vem som helst kan skapa ett certifikat och vem som helst kan välja ett namn som du validerar. För att undvika risken för förfalskning validerar du certifikat baserat på utfärdarautentiseringsuppgifter (antingen en betrodd utfärdare eller en rotcertifikatutfärdare).

Använda meddelandeautentisering

Använd meddelandeautentisering för att verifiera att ett meddelande kommer från en betrodd källa och att ingen har manipulerat meddelandet under överföringen. Utan meddelandeautentisering är det enkelt för en skadlig klient att förfalska eller manipulera meddelanden i nätet.

Peer Channel-kodexempel

Peer Channel-scenarier

Se även