L'architettura xCore comprende una serie di dispositivi in grado di implementare un livello di protezione mai raggiunto prima da nessun dispositivo presente sul mercato. Il dispositivo xCore si integrerà profondamente con il vostro applicativo, senza aggiungere controlli aggirabili, ma eseguendo parti del vostro codice.
Potrà gestire in autonomia le date di scadenza, sistemi multilicenza con utenti autenticati, moduli applicativi e tutte le caratteristiche che vorrai grazie all'esecuzione di codice custom.
Il primo passo è la creazione di una sessione autenticata con il dispositivo: l'applicazione si autentica presso il dispositivo e, ad autenticazione avvenuta, viene creato un canale criptato attraverso il quale passerà tutto lo scambio di informazioni tra l'applicazione protetta ed il dispositivo. Ogni transazione è firmata, ogni dato risulterà criptato.
All'interno della sessione aperta è disponibile una serie di comandi che già permettono di raggiungere un altissimo livello di confidenza nella protezione dell'applicativo.
L'applicazione potrà a questo punto inviare al dispositivo il codice che lo stesso dovrà eseguire. Tale codice è criptato con specifiche chiavi AES 256 che solo lo sviluppatore ed il dispositivo conoscono. Il dispositivo decripta il codice, lo verifica e, se tutto è coerente, è pronto per eseguirlo.
A disposizione dello sviluppatore ci sono API interne specifiche per la crittografia simmetrica e asimmetrica, un file system completo per l'accesso al Phantom disk nonché evolute API native per applicazioni DSP (Digial Signal Processing) e funzioni di temporizzazione.
Sarà possibile gestire il numero di licenze attive, delle istanze (esecuzioni contemporanee sulla singola macchina) e gestire le date di scadenza delle licenze e degli eventuali moduli attivi.
I dispositivi xCore mettono a disposizione dello sviluppatore una certa quantità di memoria nella quale sarà possibile memorizzare dati ai quali sarà possibile accedere solo dal codice eseguito internamente.
La versione con mass storage a bordo permetterà di gestire anche dischi di grandi dimensioni e di accedervi dal sistema operativo e dall'interno del device grazie al file system messo a disposizione della API interne.
Tutti i dispositivi potranno essere gestiti via cloud. L'architettura xCore permette di aggiornare da remoto in piena autonomia le date di scadenza delle licenze, i moduli attivi e le specifiche scadenza, i timers, i contatori. Anche la memoria interna potrà essere letta ed aggiornata, consentendo un pieno controllo in qualsiasi situazione (cfr. la pagine Cloud Management).
I tools pronti all'uso permettono di utilizzare in modo semplice la gestione remota mentre le API consentono l'integrazione di tali features nella propria applicazione.
Ora l'integrazione della crittografia nella tua applicazione è semplicissima: sostituisci le chiamate a fwrite(..) e fread(..) con le funzioni specifiche dell'architettura xCore. A tutto il resto abbiamo pensato noi.
E se i files sono molto ingombranti è possibile suddividere il processo di crittografia tra xCore e la macchina, mantenendo le performance ad alti livelli e non intaccando l'estrema sicurezza della gestione delle chiavi lasciata sempre al device.
Devi criptare solo alcuni dati? Allora questo esempio è quello che ti serve. Semplice da utilizzare, permette di cifrare anche piccoli blocchi di dati ad una velocità che non ti aspetti proprio grazie al coprocessore crittografico interno.
Nei tuoi database potrai ora scrivere i dati sensibili in tutta sicurezza, senza preoccuparti che siano esposti a terzi: senza il dispositivo xCore sarà impossibile decifrare il contenuto!
LockToPC mostra come legare sia il dispositivo che la propria applicazione alla macchina sulla quale l'applicazione stessa viene eseguita. Per ottenere tale risultato vengono sfruttate alcune informazioni intrinseche del PC quali ad es. il MAC della scheda di rete, il seriale della scheda madre, il seriale del BIOS, il modello ed il seriale del processore installato, il seriale e l'ID del disco ed altri parametri ricavati dall'hardware del PC stesso.
Alla prima esecuzione il dispositivo si lega alla specifica macchina e funzionerà sono su questa: solo tu potrai, con specifici comandi, sbloccare il legame e permettere di spostare la licenza su un altro PC.
Potrai fare in modo che le licenze dei dispositivi si aggiornino autonomamente utilizzando un servizio remoto basato su uno script Google Script che si interfaccia con uno spreadsheet contenente i dati dei dispositivi: non dovraà fare altro che sfruttare le API ed i tools che OxySec ha già approntato.
Preferisci gestire un server di licenze? OxySec ha pensato anche a questo.
Abbiamo utilizzato la nostra architettura di protezione software più evoluta per implementare una suite di controllo licenze estremamente facile da utilizzare e nel contempo estremamente sicura.
Con pochi semplici click sarà possibile creare un utente, assegnargli una licenza e deciderne la data di scadenza, aggiornare la licenza di un utente esistente o analizzare i logs relativi all'utilizzo delle licenze da parte dei clienti.
Il tutto senza preoccuparsi del fatto che il server sia in locale o remoto: con i tools forniti sarà possibile gestire tutto in semplicità.
Il sistema di sviluppo per l'architettura xCore è basato su Visual Studio di Microsoft per Windows e sull'utilizzo di un compilatore GCC per il processore CortexM4 interno al dispositivo.
Lo sviluppatore potrà gestire anche i progetti più complessi con estrema semplicità, lanciare il build da VS, eseguire il debug del codice sfruttando anche la parte di simulatore dei dispositivi fornita da OxySec e generare infine il binario eseguibile restando sempre in un ambiente a lui familiare.
L'architettura xCore comprende più dispositivi completamente compatibili tra loro:
xCoreUSB: versione base con interfaccia USB HighSpeed e connettore USB tipo A o USB tipo C
xCoreSD: versione con mass storage integrato partizionabile con dimensione fino a 128 GBytes
xCoreNET: versione con interfaccia di rete Ethernet (alimentazione tramite porta micro USB)
xCoreDisk: versione di xCore con gestione integrata di dischi virtuali criptati
Certificazioni Conformità EMC
Test Report issued under the responsibility of: MTIC Intercert S.r.l.
xCoreUSB
Report Reference Number: ELE-24-0122-00-00 (date: 2024-04-24)
xCoreNET
Report Reference Number: ELE-24-0122-01-00 (date: 2024-04-24)
xCoreUSB
xCoreS - Design con cappuccio
xCoreC - Connettore USB type C
xCoreSD - Con mass-storage integrato
xCoreNET - interfaccia di rete
Il kit di valutazione e sviluppo per l'architettura xCore è gratuito e può essere richiesto compilando il Modulo di richiesta kit raggiungibile cliccando sul pulsante sottostante.
Riceverete il dispositivo selezionato e verrete autorizzati ad accedere all'area tecnica dove troverete il SDK, esempi di integrazione in vari linguaggi e tutta la documentazione aggiornata.