Domanda

Sto costruendo un'applicazione desktop centralizzato utilizzando Python / wxPython. Uno dei requisiti è l'autenticazione utente, che sto cercando di attuare tramite LDAP (anche se questo non è obbligatorio).

Gli utenti del sistema saranno ingegneri meccanici ed elettrici facendo i bilanci, e il problema più grande sarebbe spionaggio industriale. Il suo un problema comune che le perdite si verificano comunemente dal basso sui modi informali, e questo potrebbe creare problemi. Il sistema è impostato in modo tale che ogni utente ha accesso a tutte e solo le informazioni di cui ha bisogno, in modo che nessuna persona, ma le persone in cima ha informazioni monetaria sull'intero progetto.

Il problema è che, per ogni modo che posso pensare per l'attuazione del sistema di autenticazione, l'apertura di Python mi fa pensare di almeno un modo di aggirare / ottenere informazioni sensibili dal sistema, perché "compilazione" con py2exe è l'io più vicino può arrivare a offuscamento del codice su Windows.

Non sto davvero cercando di nascondere il codice, ma piuttosto rendere la routine di autenticazione sicura da sola, fare in modo che l'accesso al codice non significa la capacità di accedere al applicazione. Una cosa che ho voluto aggiungere, era una specie di firma codice per la routine di accesso, così l'utente può essere sicuro che lui non è in esecuzione un'applicazione client modificato.

Uno dei modi che ho pensato per evitare questo sta facendo un modulo C per l'autenticazione, ma preferirei non avere a che fare.

Naturalmente questa domanda sta cambiando ed è non solo "Qualcuno mi potrebbe punto nella giusta direzione su come costruire un sistema di autenticazione sicura in esecuzione su Python? Ha qualcosa del genere già esiste?", Ma "Come si fa indurire uno script (Python) contro la modifica illecito? "

È stato utile?

Soluzione

Come dannosi sono i vostri utenti? Davvero.

Esattamente come dannoso?

Se gli utenti sono sociopatici male e non possono essere affidabili con una soluzione desktop, quindi non costruire una soluzione desktop . Costruire un sito web.

Se gli utenti sono gli utenti ordinari, loro vite l'ambiente up con l'installazione di virus, malware e keylogger da siti porno prima di tentare di (a) imparare Python (b) imparare le tue opere di sicurezza e (c) fanno un sforzo sincero a romperlo.

Se effettivamente avete problemi di sicurezza per il desktop (vale a dire, la sicurezza pubblica, militare, ecc), allora ripensare utilizzando il desktop.

In caso contrario, rilassarsi, fare la cosa giusta, e non ti preoccupare "script".

programmi C ++ sono più facili da incidere perché la gente è pigra e permettono SQL injection.

Altri suggerimenti

Possibilmente:

  1. L'utente inserisce le proprie credenziali nel client desktop.
  2. Il cliente dice al server: "Ciao, il mio nome utente e la password è la password"
  3. .
  4. Il server verifica questi.
  5. Il server dice al cliente: "Ciao, il nome utente Ecco il token segreto:. ..."
  6. In seguito, il client utilizza il token segreto insieme al nome utente per le comunicazioni "firmare" con il server.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top