Sto sviluppando un servizio Web ASP.NET 2.0 che serve dati XML da un database. Quasi tutto il traffico dati è a senso unico, da server a client e non ci sono dati specifici dell'utente. Tutti i client riceveranno gli stessi dati. Ma voglio solo che i clienti approvati siano in grado di consumare i dati. In questa situazione, quali sono le migliori opzioni per crittografare i dati prodotti dal servizio web?
- Ho esaminato SSL, ma mi è stato detto dalla direzione di trovare un altro modo, in modo da evitare il fastidio di impostare un certificato SSL sul sito o implementare sia SSL che la mia soluzione.
- Crittografia SOAP è stato suggerito, ma voglio avere un buon supporto per i client iOS, e non esiste non sembra essere il supporto SOAP integrato nell'SDK di iOS o disponibile open-source.
- Poiché nessun dato viene modificato dal lato server e non disponiamo di dati specifici dell'utente o di account utente, non penso che OAuth sia necessario. Diverrà necessario in futuro, ma attraverseremo quel ponte quando ci arriveremo. Ho sbagliato qui?
- Ho suggerito di crittografare il contenuto dei dati XML in modo che
<Prop1>StringData</Prop1
diventi<Prop1>EncryptedGarbageHere</Prop1>
, ma mi è stato detto che non è un approccio sicuro come la crittografia SOAP.
EDIT: In entrambi i casi, sto anche programmando di aggiungere una sorta di parametro "password" richiesto da tutti i WebMethods nel servizio web, e sarà richiesto da ogni applicazione client unica.