API REST sicura utilizzando chiavi pubbliche / private?

0

Stavo conversando con alcuni amici programmatori sulla protezione di un'API senza modifica del server.

Solo l'accesso SFTP al filesystem è consentito e l'estensione OpenSSL è installata, l'amministratore non ti permetterà di installare certificati SSL e quindi, in questo esperimento mentale, ti è permesso solo caricare file di codice normali sul server.

Sarei molto felice se qualcuno qui potesse fare buchi nella soluzione.

Ignora i problemi di identità, questa soluzione ignora gli attacchi MITM dal sapere CHI il client e il server hanno dimostrato di essere quello che dovrebbero essere. Quindi tutti i tipi di attacchi di livello DNS o di rete non fanno parte della discussione.

Quindi, la comunicazione va così

  • Il client genera la propria chiave pubblica, quindi risposte sicure
  • Il client conosce l'endpoint nel server per richiedere la sua chiave pubblica
  • Il client si connette all'endpoint, ottiene la chiave pubblica del server
  • Il cliente desidera accedere al server, crea un messaggio e inserisce la sua chiave pubblica per qualsiasi risposta da crittografare con
  • Il server riceve un messaggio, decodifica usando la sua chiave privata, estrae la chiave pubblica e interpreta e costruisce il messaggio di risposta
  • Server crittografa il messaggio finale utilizzando la chiave pubblica del client e restituisce i dati
  • Il client decodifica i dati utilizzando la sua chiave pubblica e il ciclo ricomincia

La prima domanda è che questo sistema esiste già e ha un nome?

Ovviamente i certificati SSL possono risolvere questo problema, ma in questo esperimento mentale non puoi installarli, quindi non aiuteranno a risolvere questo problema.

Il metodo sopra è sicuro? e se no, a quali buche si può pensare?

    
posta Christopher Thomas 26.10.2015 - 20:47
fonte

0 risposte

Leggi altre domande sui tag