Autenticazione del cliente in un sito Web

2

Giusto per essere chiari, per autenticazione non intendo l'autenticazione dell'utente, ma voglio assicurarmi che la mia app sia in esecuzione sul server del cliente e in un intervallo di tempo definito.

Alcuni dei nostri clienti utilizzano le nostre app Web nella loro Intranet e sui propri server, dall'altra parte utilizzano servizi di hosting e non possiedono alcuna macchina server.

Detto ciò, sto cercando dei modi per essere sicuro dell'identità del cliente. Non voglio che siano in grado di xcopy l'app, inoltre mi piacerebbe avere un qualche limite di scadenza nel tempo.

Nelle app desktop tradizionali potremmo utilizzare i token di sicurezza USB, ma non sono utilizzabili con i provider di hosting.

Sembra che dobbiamo creare un server di autenticazione centrale. Sono un po 'confuso sulle opzioni possibili, quindi qualsiasi suggerimento su dove iniziare è il benvenuto.

    
posta Akbari 18.10.2015 - 10:43
fonte

2 risposte

3

Questa è una cosa molto complessa. Quello di cui hai bisogno è un meccanismo di licenza in cui crei, ad esempio, una chiave basata su informazioni di sistema uniche come servername, mac address, nome della società, id della CPU, ecc. Puoi anche avere una complicazione di quelle informazioni. Dopodiché è necessario creare un "generatore di chiavi" e nel proprio software leggere queste informazioni, verificare ad ogni avvio se sono identiche ed eseguire il software. Inoltre, è possibile aggiungere informazioni sull'ora per la data di scadenza o giorni in cui l'utente può utilizzare la propria app.

Ma (e questa è la mia opinione personale) non è necessario sviluppare un meccanismo di licenza super complesso. Quasi tutto è fragile. La domanda è: è il tuo software vale la pena di mettere così tanto impegno nel cracking del meccanismo di licenza? La tua app è pensata per piccole, medie o grandi aziende? Quanto è costosa la tua app?

Ecco un articolo SO su questo. Cerca "licenze", "licenze software [linguaggio di sviluppo]", "generatore di chiavi" ...

    
risposta data 18.10.2015 - 11:59
fonte
0

Dopo molte ricerche, scelgo di utilizzare Licenze portatili . È molto facile da usare e fornisce l'infrastruttura di base e sicura necessaria per creare il tuo sistema di licenze.

Con la licenza portatile è necessario:

  1. Crea una coppia di chiavi basata su una passphrase.
  2. Genera licenze con la tua chiave privata e memorizza le informazioni necessarie al suo interno.
  3. Distribuisci chiave pubblica e chiave di licenza al cliente.

L'app verificherà la firma della licenza con la chiave pubblica e quindi potrai essere sicuro che le informazioni sulla licenza sono intatte e valide.

    
risposta data 18.12.2015 - 04:57
fonte

Leggi altre domande sui tag