Limita l'accesso all'applicazione Web REST ai computer autorizzati?

3

Ho sviluppato un'applicazione web REST. Il client desidera solo i computer autorizzati per accedere all'applicazione. Siamo partiti con l'implementazione TLS a 2 vie in cui il cliente approva o rifiuta le richieste di certificati.

Ora il problema è che ci sono strumenti per estrarre il certificato dalla macchina anche se il certificato è stato contrassegnato come non esportabile. Pensavamo che l'utilizzo del componente COM CertEnroll per generare la CSR avrebbe contribuito a impedire l'esportazione ma contrassegnare il certificato come non esportabile non era sufficiente.

I requisiti sono che solo i computer autorizzati possono accedere all'applicazione e ridurre al minimo la copia delle autorizzazioni il più possibile.

Alcune opzioni che ho escluso:

  • Indirizzi IP con restrizioni, ci sono utenti interni che non vogliamo accedere all'app.
  • Il fingerprinting del browser, non può garantire agli utenti che provengono dal browser.
posta Dot Batch 15.11.2016 - 16:57
fonte

2 risposte

1

Si sta tentando di impedire che un certificato venga copiato da un computer a cui un utente malintenzionato ha pieno accesso (dato che sarebbe in grado di eseguire strumenti per estrarre certificati non esportabili) e allo stesso tempo di avere il certificato accessibile per l'uso da la tua applicazione. Questo semplicemente non è possibile.

    
risposta data 16.11.2016 - 07:21
fonte
0

Nelle soluzioni tipiche del mondo HTTP / TLS / REST no, non è possibile.

L'unica soluzione audio consiste nel creare una fonte hardware di fiducia (chiave) unica e assicurarti di sceglierne una supportata da tutti i browser.

La soluzione half-assed è di costruire l'autenticazione sopra REST e richiede che abbia segreti (password) noti per l'autenticazione. La perdita di password può essere legata agli umani, non ai computer. Sono ugualmente facili da distribuire, ma una persona, non un sistema operativo, sarà responsabile.

    
risposta data 16.11.2016 - 13:50
fonte