Sto implementando la sicurezza su un servizio WCF da basicHttp a WShttp, il problema è che il servizio invia alcune password per le connessioni al database che l'utente può definire, testare e salvare.
Il servizio implementa un certificato X509 per il servizio e le credenziali del client e desidera sapere se dovrei fare di più per proteggere le password sul server o sul client?
<wsHttpBinding>
<binding name="CustomLargeHttpsBinding" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
<reliableSession ordered="false" inactivityTimeout="01:00:00" enabled="false"/>
<security>
<transport clientCredentialType="None" proxyCredentialType="None"/>
<message clientCredentialType="Certificate" negotiateServiceCredential="true" algorithmSuite="Basic256Rsa15" establishSecurityContext="true"/>
</security>
</binding>
</wsHttpBinding>
Lo scenario tipico sarebbe il seguente:
- Recupera password crittografata dal database
- Invia dati tramite il servizio
- Il client utilizza i dati per testare la connessione al database sul server X (la password viene inserita in una stringa sicura qui dopo essere stata decodificata
- Il problema è che vorrei rimuovere la classe di crittografia poiché ha una chiave costante memorizzata nel codice.