Articoli

Licensing del software: come distribuire software con licenza anche offline

Se distribuisci ai tuoi clienti il tuo software proprietario come Desktop App, software embedded, firmware e qualsiasi altro applicativo tipicamente ospitato su un dispositivo utente come un PC o su dispositivi industriali come gateway e controller, uno dei problemi che devi affrontare è il licensing del tuo software. Vale a dire garantirti che i tuoi clienti stiano usando il tuo software con una licenza valida ed idonea.

Contattaci subito e senza impegno per ottenere la tua infrastruttura di licensing.

I problemi della distribuzione della licenza d’uso

Distribuire software con licenza d’uso porta con sè numerosi elementi sfidanti, tra cui:

  • evitare che una licenza venga impropriamente riutilizzata;
  • verificare la validità di una licenza anche offline;
  • evitare manomissioni del codice sorgente;
  • evitare meccanismi per il bypass della validazione della licenza,

e qualsiasi altra diavoleria il tuo utente possa inventare. In rete articoli su come effettuare il “cracking” del software si sprecano anche con tutorial. In questo scenario la reputazione del tuo software e le tue entrate economiche dipenderanno dalla tua capacità di licensing.

Contattaci subito e senza impegno per ottenere la tua infrastruttura di licensing.

La nostra soluzione per la distribuzione di software con licenza d’uso

Le soluzioni in cui c’è connessione continua presentano chiaramente delle facilitazioni perchè quando l’utente è costretto a mantenere una connessione attiva è più facile verificare l’univocità e l’autenticità della licenza d’uso. Abbiamo, però, voluto che la nostra soluzione fosse valida anche quando non c’è connessione e si lavora offline, tipicamente in contesti industriali e di robotica.

L’altro aspetto rilevante è garantire che chi distribuisce il software sia effettivamente chi dice di essere per evitare compromissioni ed installazioni non autorizzate come nel caso degli attacchi alla supply chain.

Al fine di fornire le necessarie garanzie di autencità ed univocità occorre innazitutto che:

  • il software venga distribuito esclusivamente compilato;
  • il codice sorgente non venga divulgato.

Ora attraverso le proprietà della Public Key Infrastructure(PKI) si può costruire un sistema a chiave pubblica e privata che garantisce l’autenticità del software e della licenza. Attraverso meccanismi di hash specifici è possibile “fotografare” il dispositivo in cui è necessario installare il software licenziato e quindi firmare digitalmente tale hash. Tutta questa procedura può essere effettuata senza che il dispositivo sia online.

Successivamente l’algoritmo interno al software distribuito effettua continue verifiche, tramite variabili d’ambiente e tool realizzati ad hoc, per evitare manomissioni ( una classicamente utilizzata offline è quella di cambiare la data del PC ).

Chiaramente abbiamo semplificato i dettagli tecnici per ragioni di sicurezza e come puoi immaginare i due elementi fondamentali affinchè tutta l’infrastruttura funzioni correttamente sono il meccanismo di generazione dell’hash e l’algoritmo di validità della licenza.

Implementando tale soluzione puoi mantenere il controllo delle tue licenze mitigando il rischio di compromissioni e manomissioni. Nello stesso tempo se il tuo software è distributio in ambiente offline, puoi avere un meccanismo che rende decisamente complesso qualsiasi tentativo di bypass della licenza d’uso.

Contattaci subito e senza impegno per ottenere la tua infrastruttura di licensing.

Glue Labs e lo sviluppo software

Abbiamo progettato, sviluppato ed implementato software in ambiente Offline, On-Premise e Cloud. Grazie alle competenze specialistiche maturate in tantissimi settori e con numerosi Clienti ti forniamo assistenza e supporto enterprise e realizziamo architetture software complesse critiche con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.