19 aprile 2013
Le informazioni contenute in questo documento sono da considerarsi CONFIDENZIALI e non possono essere utilizzate o riprodotte - sia in parte che interamente - senza un permesso scritto rilasciato da Intesi Group S.p.A. All the information in this document is and can t be used entirely or in part without a written permission from Intesi Group S.p.A. Pag. 2 di 11
Sommario 1. Premessa...4 2. Descrizione generale...6 3. Architettura...7 4. Funzionalità...8 5. Prestazioni...9 5.1. Prestazioni senza Smart Api...9 5.2. Prestazioni con Smart Api...10 Pag. 3 di 11
1. Premessa Le API remote di PkBox non eseguono alcuna elaborazione locale sui documenti. Ogni operazione di elaborazione di un documento (firma, verifica della firma, cifratura, decifratura) richiede l'invio di tutti i dati al server PkBox, il quale esegue l'operazione crittografica richiesta, ed il ritorno all'applicazione chiamante del documento elaborato. Questo tipo di approccio offre una serie di vantaggi: la gestione dei documenti è centralizzata sui server di sicurezza, le regole ed i parametri di elaborazione sono gestiti centralmente; le risorse CPU e memoria dei sistemi applicativi non sono sovraccaricate dal trattamento dei documenti (calcolo hash, crittografia, decrittografia ) al fine dei processi di sicurezza in caso di trattamento di più documenti è possibile inviare più richieste di elaborazione contemporanee, sfruttando le caratteristiche di bilanciamento di carico dei sistemi PkBox, di elaborazioni sono eseguite contemporaneamente su più sistemi; le API remote sono semplificate, non richiedono librerie particolari e/o requisiti di sistema stringenti, migliorando la compatibilità sui vari sistemi. Date le prestazioni e l'affidabilità delle moderne linee di rete, il traffico di rete generato dal colloquio fra le API remote ed i server di sicurezza PkBox non comporta un problema prestazionale rilevante nel caso di documenti di piccole dimensioni (fino a 50 KB) anche per volumi di traffico impegnativi. Per documenti di medie dimensioni (fino a 1 MB) le prestazioni del sistema iniziano a decrescere ma si possono ancora considerare valide per volumi di traffico non eccessivi. In caso di documenti di dimensioni molto elevate e/o di elevato numero di documenti, le prestazioni generali del sistema possono notevolmente diminuire a causa di un carico elevato sul canale di rete e/o un carico elevato sui server PkBox. Nel primo caso, la causa del rallentamento è dovuta all'eccessivo traffico di rete generato dallo scambio dei documenti fra le applicazioni chiamanti ed i server PkBox. Nel secondo caso, la causa del rallentamento è dovuta all'eccessivo consumo di risorse del server per il trattamento dei documenti (calcolo Pag. 4 di 11
impronte, crittografia, ecc...). Nell'ultimo caso il problema viene amplificato nel momento in cui un numero elevato di applicazioni inviano contemporaneamente richieste allo steso server (o allo stesso gruppo di server). Per ovviare ai problemi di prestazioni causati da un eccessivo carico di documenti è possibile utilizzare l'estensione Smart API alle normali API remote di PkBox. Pag. 5 di 11
2. Descrizione generale L'estensione Smart API è un modulo aggiuntivo alle API remote di PkBox che consente di elaborare localmente all'applicazione i documenti senza dover inviarli ai server PkBox. Tramite l'estensione Smart API si possono ovviare entrambi i problemi descritti nel paragrafo precedente: il carico di rete diminuisce notevolmente in quanto i dati inviati a PkBox e ricevuti indietro sono notevolmente più piccoli e di dimensione costante indipendente dalla dimensione del documento il consumo di risorse dei server PkBox (scheda di rete, disco, memoria e CPU) è drasticamente ridotto in quanto il trattamento del documento viene demandato al modulo Smart API Una controindicazione da tener presente nell'utilizzo del modulo Smart API è il fatto che il consumo risorse per il trattamento del documento viene spostato al server applicativo. L'utilizzo del modulo Smart API è totalmente trasparente per l'applicazione chiamante, la quale continua ad usare le normali API remote PkBox. Se il modulo è installato, le API PkBox abilitano in maniera trasparente l'estensione Smart API, senza richiedere modifiche applicative i documenti vengono elaborati localmente. Pag. 6 di 11
3. Architettura Dal punto di vista architetturale il modulo Smart API non comporta modifiche alla configurazione del sistema. Per abilitare l'utilizzo del modulo Smart API è necessario installare il modulo aggiuntivo insieme alle API remote ed abilitare la licenza del server PkBox all'utilizzo del componente aggiuntivo. Come si può notare dallo schema sottostante è possibile abilitare l'uso del componente Smart API anche solo ad una parte delle applicazioni. Ad esempio è possibile abilitare il modulo Smart API solo per le applicazioni che necessitano di elaborare documenti di grosse dimensioni. I server PkBox sono in grado di ricevere ed elaborare contemporaneamente sia richieste tramite API remote standard, sia tramite Smart API. Application Server 1 Certification Authority PkBox Client IP Network Internet/Intranet Application Server 2 PkBox Server PkBox Server PkBox Server PkBox Client PkBox - Smart API Pag. 7 di 11
4. Funzionalità Il componente Smart API al momento è disponibile per le API PkBox Java. Funzionalità supportate dal componente Smart API. Funzionalità Descrizione Firma CAdES Singola e multipla, attached e detached Firma PAdES Singola e multipla Verifica firma CAdES Singola e multipla, attached e detached Cifratura asimmetrica Formati CMS Enveloped Data e PGP Detach Rimozione documento da una firma CAdES attached Merge Unione firma CAdES detached e documento (firma CAdES e PAdES) Calcolo impronta Firma CAdES e PAdES Encoding base64 Decoding base64 L'utilizzo delle Smart API è abilitato solo per le funzioni che fanno uso di parametri di tipo Stream o File, non sono abilitate per le funzioni che fanno uso dei parametri di tipo array di byte. E' possibile configurare il modulo Smart API al fine di gestire localmente solo i documenti superiori ad una specifica dimensione (di default la dimensione minima è indicativamente 1MB), i documenti inferiori alla dimensione indicata sono inviati remotamente al server PkBox. Pag. 8 di 11
5. Prestazioni Per dare un'idea delle prestazioni del sistema PkBox con e senza componente Smart API vengono mostrati i tempi di elaborazione di 1.000 documenti firmati 10 alla volta (simulando un traffico parallelo di N applicazioni o di un'applicazione che esegue N richieste parallele). Va tenuto conto che i valori riportati sono da considerarsi indicativi e validi per la configurazione utilizzata. Le prestazioni reali del server di sicurezza dipendono dall'ambiente in cui è configurato il sistema. I fattori che possono influenzare le prestazioni generali sono: velocità e carico del canale di rete, modalità operativa dell'applicazione chiamante (chiamate parallele o serializzate), modalità di recupero e salvataggio dei documenti da elaborare, eventuali autenticazioni aggiuntive necessarie all'utilizzo delle chiavi crittografiche (autenticazione OTP alla credenziale di firma), parametri operativi delle operazioni crittografiche (algoritmo di hash, lunghezza della chiave),... Il sistema di riferimento utilizzato per il test fa uso di due server HP DL 380 G6: sul primo server è installata un'applicazione di test che fa uso della componente API remota PkBox, sul secondo server è installato PkBox equipaggiato con una scheda HSM Thales nshield 6000. I due serve sono collegati tramite canale di rete ad 1 Gbit. Il test esegue un'operazione di firma CAdES-BES su ogni documento, usando SHA-256 come algoritmo di hash e RSA 1024 come algoritmo di firma. Pag. 9 di 11
5.1. Prestazioni senza Smart Api Prestazioni rilevate senza componente Smart API: Dimensione documento Numero di firme RSA 1024 al secondo Tempo totale di elaborazione 1KB 1.300 800 millisecondi 10KB 1.100 900 millisecondi 100KB 580 1,7 secondi 500KB 130 7,6 secondi 1MB 69 14 secondi 5MB 13 75 secondi 10MB 7 140 secondi 5.2. Prestazioni con Smart Api Prestazioni rilevate con componente Smart API: Dimensione documento Numero di firme RSA 1024 al secondo Tempo totale di elaborazione 1KB 1.300 800 millisecondi 10KB 1.100 900 millisecondi 100KB 580 1,7 secondi 500KB 130 7,6 secondi 1MB 90 11 secondi 5MB 22 45 secondi 10MB 13 77 secondi Come si può notare dalle due tabelle, le prestazioni del sistema sono identiche con documenti di dimensione inferiore ad 1MB, in quanto il modulo Smart API processa solo i documenti Pag. 10 di 11
superiori a tale dimensione. Il vantaggio di prestazioni aumenta all'aumentare della dimensione dei documenti (il risparmio del canale di rete aumenta) ed all'aumentare del numero di server applicativi chiamanti (la gestione dei documenti viene distribuita su più sistemi). Il test effettuato utilizza un solo sistema chiamante ed un solo sistema PkBox, in tale configurazione non si evidenza il vantaggio ottenuto da un'elaborazione distribuita dei documenti. Pag. 11 di 11