Il modo migliore per implementare comunicazioni client / server sicure in Python

1

Per un incarico di programmazione del college devo implementare un protocollo di comunicazione sicuro tra un server e uno o più client. All'istanziazione del programma server, viene generato un file, chiamandolo 'server_file'. Questo viene quindi posto in una posizione nota e si presume che venga reso disponibile ai programmi client tramite un canale sicuro non disponibile per un hacker.

Il programma client genererà quindi il proprio file, chiamandolo 'client_file', e quindi dovrà essere in grado di inviare comandi al server (ad esempio creare un nuovo account, impostare un valore, ottenere un valore, richieste transazionali semplici). Questo client_file può essere pensato come una chiave client o un PIN che consente al server di sapere chi è l'utente. Il punto è di fare in modo che un attacco MitM o un altro attacco non consentano ad un avversario di sovvertire il sistema.

Ho una certa familiarità con PyCrypt e una conoscenza di base dei principali principi crittografici. Tuttavia, prima di iniziare, volevo ottenere qualche idea sul modo migliore per implementarlo. Stavo pensando di usare il file server_file per firmare (HMAC) il client_key e inviare i comandi da client a server (insieme al messaggio di transazione) usando qualcosa come AES in modalità CTR.

Questo sembra un buon approccio? Faresti qualcosa di diverso? Lo scopo è quello di proteggere il canale di comunicazione.

Grazie in anticipo!

    
posta Richy 06.10.2015 - 23:49
fonte

0 risposte

Leggi altre domande sui tag