Sto cercando di capire in che modo l'autenticazione/crittografia di Windows funziona con NetTcpBinding in WCF. Ho bisogno di sapere esattamente quale algoritmo di crittografia è utilizzato per crittografare i dati che attraversano il filo (e qualche documentazione per dimostrarlo). L'autenticazione/crittografia di Windows funzionerà ancora se il client e/o l'host non si trovano su un dominio?Autenticazione/crittografia di Windows in WCF con NetTcpBinding
risposta
Il netTcpBinding che utilizza le credenziali di Windows richiede che il chiamante e il servizio si trovino nello stesso dominio, o almeno su domini che si fidano reciprocamente. In caso contrario, il server non sarà in grado di verificare le credenziali di Windows e rifiuterà la chiamata di servizio.
Come per la crittografia: puoi anche scegliere quale scegliere! :-) TripleDES, AES: lo chiami anche con lunghezze di tasti variabili.
Vedere l'articolo Fundamentals of WCF Security: parla di tutti gli aspetti della sicurezza e della crittografia; vedi anche MSDN Docs su Securing Services che va in maggiore dettaglio; è possibile trovare una buona panoramica here che mostra le proprietà dell'elemento di sicurezza del trasporto di base HTTP.
L'anno scorso ho dovuto implementare un sistema distribuito utilizzando wcf che richiedeva un meccanismo sia sicuro che performante su tutti gli strati del sistema. Abbiamo deciso di creare la nostra architettura di sicurezza creando un token crittografato binario. Il token crittografato conteneva tutte le autorizzazioni di un determinato utente.
Quindi, ad esempio, un utente accederà al sistema e, se correttamente autenticato, riceverà un token crittografato. Questo token è stato archiviato localmente sul client web. Tutte le ulteriori richieste dell'utente conterranno quel token. Il token è stato utilizzato in diversi livelli dell'architettura. Il server web lo userebbe per decidere quali elementi visivi abilitare o disabilitare. Poiché il livello di servizio era esposto a Internet, ogni porta aperta controllava il token per l'autenticazione e verificava se quel token avesse il permesso appropriato per eseguire una determinata attività. Il livello aziendale potrebbe verificare nuovamente per un diritto più specifico incluso nel token.
I vantaggi:
- Non importava se stessimo usando NetTcpBinding o qualsiasi altro tipo di legame (e abbiamo usato più di un tipo di associazione).
- Abbiamo risparmiato un sacco di andata e ritorno al database
- Potremmo usare lo stesso motivo su diverse piattaforme
So che probabilmente non risponde alle vostre domande specifiche, ma sarà forse dare qualche per spunti di riflessione mentre stai ancora decidendo l'architettura interna del tuo sistema.
- 1. Servizio WCF netTCPbinding
- 2. WCF: disabilitazione della sicurezza in nettcpbinding (C#)
- 3. WCF, richiamata duplex, recieveTimeout netTcpBinding
- 4. Posso aggiungere un riferimento al servizio con netTcpBinding in WCF?
- 5. netTcpBinding senza credenziali di Windows?
- 6. con NetTcpBinding
- 7. NetTcpBinding su Windows Phone 7.1 (Mango)
- 8. programmazione specificare l'autorizzazione personalizzato per WCF (NetTcpBinding)
- 9. WCF NetTcpBinding Buffered vs Problemi di prestazioni in streaming
- 10. Come configurare l'autenticazione nome utente/password per WCF netTcpBinding?
- 11. Puoi fare NetTcpBinding nel codice? Dovresti?
- 12. Come utilizzare il servizio duplex wcf in Windows Universal App
- 13. Problema di disallineamento contratto WCF
- 14. Client WCF in un'app universale
- 15. WCF + Windows Phone 7
- 16. Impossibile ottenere richieste netTcpBinding da visualizzare in Fiddler
- 17. Comunicare con il servizio Windows WCF in VB6?
- 18. Streaming con WCF e MTOM
- 19. Servizio di richiamata WCF con timeout di binding netTcp dopo 10 minuti
- 20. Hosting di più servizi WCF su una singola porta TCP in un unico servizio Windows
- 21. Trasferimento in streaming + netTcpBinding = la modalità framing non è supportata?
- 22. Servizio WCF vs servizio Windows
- 23. Servizio WCF vs servizio Windows
- 24. In che modo NetTcpBinding (leggi WindowsStreamSecurityBindingElement) crittografa/firma i messaggi?
- 25. Host di più contratti in un servizio WCF
- 26. WCF su net.tcp con modalità di sicurezza nessuno dà l'eccezione
- 27. Proprietà WCF maxConnections
- 28. Windows Phone 8.1 con Xamarin Forms e servizio WCF
- 29. Servizio WCF app.config
- 30. NET TCP/HTTP WCF ospitato in IIS
Sembra molto interessante. Hai esempi o riferimenti a cui potresti indirizzarmi per implementare questo? I dati di accesso iniziali sono stati crittografati? (nome utente e password) – Lewray