Può un proxy cache del server SSL Ottiene?Se no, sarebbe la risposta del corpo di crittografia bastare?

StackOverflow https://stackoverflow.com/questions/14656

Domanda

Può un (||eventuali) server proxy cache il contenuto che viene richiesto da un client su https?Come server proxy non può vedere la querystring, o le intestazioni http, mi sa che non possono.

Sto valutando un'applicazione desktop, gestito da un certo numero di persone dietro le loro aziende proxy.Questa applicazione può accedere ai servizi attraverso internet e vorrei sfruttare il caching di internet infrastruttura per 'legge'.Se il caching proxy server non può cache SSL contenuto fornito, sarebbe semplicemente cifrare il contenuto di una risposta può essere una valida opzione?

Sto valutando tutte le richieste che abbiamo il desiderio di essere cacheable essere richiesto tramite http con il corpo crittografati utilizzando la crittografia asimmetrica, in cui ogni cliente ha la chiave di decodifica.In qualsiasi momento si desidera eseguire un OTTENERE che non è cacheable, o un POST operazione sarà eseguita tramite SSL.

È stato utile?

Soluzione 2

No, non è possibile cache https direttamente.Tutta la comunicazione tra il client e il server è crittografata.Un proxy si trova tra il server e il client, al fine di cache, è necessario essere in grado di leggere, cioè decifrare la crittografia.

Si può fare qualcosa nella cache.Si fanno praticamente la SSL proxy, intercettando il SSL invia al cliente.Fondamentalmente i dati criptato tra il client e proxy, è decifrato, leggere e memorizzato nella cache e i dati sono criptati e inviati sul server.La risposta dal server è allo stesso modo descrypted, leggere e crittografato.Io non sono sicuro di come farlo sui principali software di proxy (come squid), ma è possibile.

L'unico problema con questo approccio è che il proxy è necessario utilizzare un auto-firmato cert per crittografare al client.Il cliente sarà in grado di dire che un proxy in mezzo ha letto i dati, dal momento che il certificato non sarà dal sito originale.

Altri suggerimenti

Il commento di Rory che la delega dovrebbe utilizzare un auto-firmato cert se non stricltly vero.

Il proxy può essere implementata per generare un nuovo certificato per ogni nuovo host SSL è chiesto di affrontare e di firmare con una radice comune cert.In OP scenario di un ambiente istituzionale del comune per la firma di cert può piuttosto essere facilmente installato come un'autorità di certificazione attendibile sulle macchine client e saranno lieti di accettare questi "faked" certificati SSL per il traffico di essere inoltrata in quanto non ci sarà nessun nome host corrispondente.

In realtà, questo è esattamente il modo in cui il software come il Charles Web Debugging Proxy consentire l'ispezione del traffico SSL senza causare errori di sicurezza nel browser, etc.

Penso che si dovrebbe usare SSL e si basano su un client HTTP libreria che fa la memorizzazione nella cache (Ex:WinInet su windows).È difficile immaginare che i benefici di livello enterprise in cache è vale la pena di scrivere una protezione personalizzata schema di cifratura o di un certificato di divertimento sul proxy.Peggio, sulla encyrption schema che hai citato, facendo asynmetric cifre sull'entità del corpo suona come un enorme perf ha colpito il lato server dell'applicazione;c'è una ragione che SSL utilizza algoritmi simmetrici per il carico utile effettivo della connessione.

L'applicazione in questione non è un browser app è un'applicazione desktop estrazione di dati su internet.Quello che sta per accadere è che tutte le istanze di app sarà tirando lo stesso pezzo di intorno allo stesso tempo.Questo dato deve essere protetto, ma spero di aumentare perf da alcune istanze dell'app ottenere una versione in cache dal corporate server proxy.

I blocchi di dati sono di piccole dimensioni, ma possono essere frequenti.Essenzialmente tutte le app istanze intenzione di richiedere gli stessi dati, come ogni altra allo stesso tempo.

I dati/corpo del messaggio sul server side sarà pre-crittografato e memorizzato nella cache distribuita in memoria tabella hash.La crittografia non verrà eseguito in base a specifiche richieste.

Sto indagando anche mediante un messaggio di bus, come NServiceBus invece.

Check out www.bluecoat.com commerciale proxy che in effetti PUÒ fare https intercettazione al fine di bloccare i siti, di limitare i contenuti, controllare la presenza di virus e il contenuto della cache (Si)

Penso che si dovrebbe usare SSL e si basano su un client HTTP libreria che fa la memorizzazione nella cache (Ex:WinInet su windows).È difficile immaginare che i benefici di livello enterprise in cache è vale la pena di scrivere una protezione personalizzata schema di cifratura o di un certificato di divertimento sul proxy.Peggio, sullo schema di crittografia che hai citato, facendo asimmetrici cifrari sul corpo dell'entità suona come un enorme perf ha colpito il lato server dell'applicazione;c'è una ragione che SSL utilizza algoritmi simmetrici per il carico utile effettivo della connessione.

Come circa la configurazione di un server di cache sul server di applicazioni dietro il componente che esegue la crittografia https risposte?Questo può essere utile se si dispone di un reverse-proxy di installazione.

Sto pensando a qualcosa di simile a questo:

application server <---> Squid or Varnish (cache) <---> Apache (performs SSL encryption)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top