Protezione delle comunicazioni tra applicazioni e applicazioni da sviluppatori e amministratori

0

Scenario : Ho un'applicazione A che contiene dati sensibili. Ho un'applicazione B che deve elaborare i dati. A fornirà un'interfaccia web. B invierà chiamate per ottenere i dati richiesti da A.

Requisiti : Vorrei proteggere il sistema in modo tale che A trasferisca i dati solo a istanze reali di B. Per quanto possibile, vorrei impedire a qualsiasi essere umano di effettuare una chiamata ad A, fingendo di essere B

Soluzioni considerate : Questa domanda è stata più vicina alle mie esigenze: Come rendere le comunicazioni sicure tra i server Tuttavia, ciò comporta la memorizzazione di alcune informazioni sul client (segreto condiviso, certificato, chiave pubblica / privata), sia codificate che salvate da qualche parte sul server. Sebbene ciò impedisca alle parti esterne di attaccare il sistema, gli amministratori o gli sviluppatori per il servizio B avranno accesso a questi "segreti" e saranno in grado di simulare una chiamata da B.

Domanda : È possibile implementare uno schema di autenticazione dell'applicazione che nemmeno gli sviluppatori / gli amministratori possono falsificare? Sono aperto a soluzioni che implicano controlli procedurali, separazione delle responsabilità e altre tecniche in combinazione con controlli software / crittografici

    
posta kaustav 14.06.2016 - 17:38
fonte

1 risposta

-1

Ho visto qualcosa di simile a questo fatto prima, ma c'è un lato negativo piuttosto massiccio: l'unico modo per garantirne il funzionamento è impedire l'accesso umano alla macchina in cui risiede B. È stato realizzato in questo modo:

Il sistema A è configurato per accettare solo chiamate dal sistema B. Il sistema B è un'immagine della macchina virtuale che contiene solo un singolo utente amministratore e al primo avvio viene eseguito uno script che cambia la password dell'amministratore in una lunga casuale utilizzando un crittografico algoritmo sicuro. A questo punto l'unico modo per fermarlo è arrestare la VM. Le modifiche vengono apportate cambiando l'immagine e avviandola di nuovo.

Questa non è una soluzione perfetta, in quanto un amministratore sull'host della macchina virtuale potrebbe eseguire un dump della memoria ed eventualmente estrarre alcuni dati "sensibili" mentre viene elaborato. (Grazie Philipp per averlo indicato.)

    
risposta data 14.06.2016 - 20:02
fonte

Leggi altre domande sui tag