Brace yourself, here there's another coming :-)
Oggi ho dovuto spiegare alla mia ragazza la differenza tra il potere espressivo di WS-Security rispetto a HTTPS. È un informatico, quindi anche se non conosce tutto il jumbo XML di mumbo capisce (forse meglio di me) cosa significa crittografia o firma. Tuttavia, volevo un'immagine forte, che potesse farle capire davvero a cosa servono le cose, piuttosto che come sono state implementate (che è arrivato un po 'più tardi, non è sfuggita :-)).
Quindi va così. Supponi di essere nudo e di guidare la tua moto verso una determinata destinazione. Nel caso (A) attraversi un tunnel trasparente: la tua unica speranza di non essere arrestato per un comportamento osceno è che nessuno sta guardando. Questa non è esattamente la strategia più sicura che puoi escogitare ... (nota la caduta di sudore dalla fronte del ragazzo :-)). Ciò equivale a un POST in chiaro, e quando dico "equivalente" intendo. Nel caso (B), ti trovi in una situazione migliore. Il tunnel è opaco, quindi fintanto che viaggi in esso il tuo registro pubblico è al sicuro. Tuttavia, questa non è ancora la situazione migliore. Devi ancora uscire di casa e raggiungere l'ingresso del tunnel, e una volta fuori dal tunnel probabilmente dovrai scendere e camminare da qualche parte ... e questo vale per HTTPS. Vero, il tuo messaggio è sicuro mentre attraversa il più grande abisso: ma una volta consegnato dall'altra parte non sai davvero quante fasi dovrà passare prima di raggiungere il punto reale in cui i dati verranno elaborati. E ovviamente tutte quelle fasi potrebbero usare qualcosa di diverso rispetto a HTTP: un MSMQ classico che buffer richieste che non possono essere servite subito, per esempio. Cosa succede se qualcuno nasconde i tuoi dati mentre si trovano in quel limbo di preelaborazione? Hm. (leggi questo "hm" come quello pronunciato da Morfeo alla fine della frase "pensi che sia l'aria che stai respirando?"). La soluzione completa (c) in questa metafora è dolorosamente banale: mettiti dei vestiti dannati su te stesso, e specialmente sul casco mentre sei in moto !!! Quindi puoi tranquillamente andare in giro senza dover fare affidamento sull'opacità degli ambienti. Si spera che la metafora sia chiara: i vestiti vengono con te indipendentemente dalla media o dall'infrastruttura circostante, come fa la sicurezza a livello di messaggistica. Inoltre, puoi decidere di coprire una parte ma rivelarne un'altra (e puoi farlo su base personale: la sicurezza aeroportuale può togliere la giacca e le scarpe, mentre il tuo medico può avere un livello di accesso più elevato), ma ricorda che le camicie a maniche corte sono cattiva pratica anche se sei orgoglioso del tuo bicipite :-) (meglio una polo o una maglietta).
Sono felice di dire che ha capito! Devo dire che la metafora dei vestiti è molto potente: sono stato tentato di usarlo per introdurre il concetto di politica (i club della discoteca non ti lasceranno con le scarpe sportive; non puoi andare a prelevare denaro in una banca in mutande) , mentre questo è un aspetto perfettamente accettabile mentre ti bilanci su una tavola da surf; e così via) ma ho pensato che per un pomeriggio fosse abbastanza ;-)
Architettura - WS, Wild Ideas
Per gentile concessione: http://blogs.msdn.com/b/vbertocci/archive/2005/04/25/end-to-end-security-or-why-you-shouldn-t-drive-your-motorcycle-naked. aspx