Utilizzo della mia crittografia personale invece di https nell'app

-4

Sto scrivendo un programma che usa un server web come back-end per la comunicazione tra diversi utenti. Va bene usare la mia crittografia (come link ) invece di acquistare un certificato SSL per la comunicazione tra il programma e il server?

In particolare, posso codificare una chiave in un programma pubblicamente distribuito o c'è il rischio che qualcuno la decomponga per scoprire il metodo di sicurezza e utilizzarlo per curiosare sulle interazioni degli altri utenti con il server?

Non riesco a immaginare che gli utenti tipici del programma possano accedere a qualsiasi comunicazione tra il client e il server e qualcuno che potrebbe accedervi probabilmente non si renderebbe conto di dove il programma deve iniziare a lavorarci con esso, e non sono i dati così sensibili in primo luogo a cui qualcuno si preoccuperebbe di hackerare.

    
posta clum 14.12.2014 - 22:45
fonte

2 risposte

13

No, non è sicuro perché esponi (nel tuo programma) una chiave che dovrebbe essere segreta.

La tua proposta si basa sulla crittografia a chiave simmetrica, in cui entrambe le estremità del canale di comunicazione richiedono una copia della stessa chiave. La crittografia a chiave simmetrica è efficace solo quando entrambe le estremità del canale sono sicure. Come altri hanno sottolineato, una chiave incorporata in un programma rilasciato agli utenti non è sicura. TLS / HTTPS è basato su crittografia a chiave pubblica (asimmetrica), in cui le informazioni fornite al client non devono essere segrete. Il segreto - la chiave privata corrispondente alla chiave pubblica nel certificato - è memorizzato solo sul server, dove è (relativamente) facile da proteggere.

Vedere le note nei commenti sull'utilizzo potenziale di un certificato autofirmato. Il valore di un certificato da un'autorità di certificazione è che si può convalidare la firma su di esso. Se stai configurando un canale app-to-server, puoi convalidare il tuo certificato all'interno dell'applicazione e, in effetti, "pin" il certificato in modo che nessun altro venga accettato.

    
risposta data 14.12.2014 - 23:01
fonte
5

No, questa non è un'alternativa sicura. È del tutto possibile che una chiave hard-coded possa essere scoperta, il che ti lascerebbe il traffico delle applicazioni essenzialmente non criptato.

Quindi, se ritieni che i dati non siano abbastanza sensibili da proteggere, non preoccuparti di crittografarli del tutto. Consegna su HTTP. Se, tuttavia, esiste un motivo qualsiasi per proteggerlo, eseguirlo correttamente e utilizzare HTTPS.

    
risposta data 14.12.2014 - 22:48
fonte

Leggi altre domande sui tag