Setup di una CA su linux A cura di: De Maio Arnaldo (056101767) De Rogatis Antonello (056101616) Prof: Alfredo De Santis Setup di una CA su linux Sistemi di elaborazione dell informazione: Sicurezza su reti Anno accademico: 2003/2004 Setup di una CA su Linux 1 Setup di una CA su Linux 2 Sommario Introduzione alle PKI Crittografia moderna CA e PKI OpenCA Setup OpenCA Utilizzo OpenCA Introduzione alle PKI Esigenze e motivazioni Applicazioni e servizi Aderenza agli standard Limiti alla diffusione Setup di una CA su Linux 3 Setup di una CA su Linux 4 Esigenze e motivazioni Le PKI (infrastruttura a chiave pubblica) nascono dall esigenza di avere un autorità imparziale, garante dell autenticità della firma digitale apposta su di un documento elettronico. Garantiscono l autenticità di un documento elettronico alla stessa maniera in cui un Comune attesta la validità di un documento apponendo su di esso un timbro (le cose non stanno esattamente così, ma l esempio rende il significato, vedremo ) Setup di una CA su Linux 5 Applicazioni e servizi Identificazione, remote access, autorizzazione, Non-ripudio data storage sicuro networking/communications sicure con unità aziendali, clienti, partner PKI e-mail sicura Commercio on-line sicuro Comunicazioni ufficiali con gli enti pubblici Integrità del sistema Setup di una CA su Linux 6 1
Aderenza agli standard Le PKI devono aderire agli standard IETF legati allo sviluppo delle infrastrutture a chiave pubblica L aderenza agli standard garantisce interoperabilità di prodotti e applicazioni Limiti alla diffusione Disorganizzazione del flusso di lavoro: ne limita lo sviluppo soprattutto nelle autorità pubbliche Definizione delle politiche interne: non è semplice definire le procedure e individuare i responsabili del servizio Setup di una CA su Linux 7 Setup di una CA su Linux 8 Limiti alla diffusione Inadeguatezza delle leggi: le leggi attuali spesso risultano out of target Mancanza di applicativi: Per sviluppare nuove applicazioni e migliorare quelle esistenti sono richiesti tempo e investimenti Crittografia moderna Prerogative fondamentali: Riservatezza: l'informazione deve essere intelligibile solo da chi ne è autorizzato Integrità: deve essere possibile rilevare se l'informazione è stata alterata Autenticazione: la parte autenticansi deve dimostrare alla parte autenticante chi sostiene di essere Setup di una CA su Linux 9 Setup di una CA su Linux 10 Crittografia moderna Principali primitive: Algoritmi simmetrici Funzioni hash Algoritmi asimmetrici Algoritmi simmetrici Gli interlocutori devono condividere una chiave segreta di cifratura-decifratura. Sono basati su trasformazioni a blocchi, quindi sono veloci e possono essere applicati a messaggi di lunghezza arbitraria Esempi: DES, AES, RC5, ecc Sono soggetti ad attacchi di crittoanalisi lineare e differenziale Setup di una CA su Linux 11 Setup di una CA su Linux 12 2
Algoritmi simmetrici Funzioni hash Applicate a messaggi di lunghezza variabile, forniscono una rappresentazione non ambigua e non falsificabile del messaggio Proprietà fondamentali: 1. Sicurezza forte: difficile trovare due messaggi con lo stesso valore hash 2. Sicurezza debole: dato M è difficile trovare M tale che hash(m)=hash(m ) 3. One-way: dato y=hash(m) è difficile trovare M. Setup di una CA su Linux 13 Setup di una CA su Linux 14 Funzioni hash Vantaggi: Sono facili da calcolare Comprimono l input Funzioni hash Producono un output di dimensione fissa, che varia a seconda della funzione utilizzata Standard più diffusi: MD4 MD5 SHS Setup di una CA su Linux 15 Setup di una CA su Linux 16 Algoritmi asimmetrici Fondano la loro sicurezza su problemi matematici computazionalmente difficili Ogni interlocutore ha una coppia di chiavi (pubblica,privata) Le applicazioni principali sono 1. accordo su chiavi 2. non ripudio Accordo su chiavi Processo in virtù del quale due interlocutori si scambiano la chiave di cifratura simmetrica su canale fidato in maniera riservata Riservatezza assicurata dal fatto che il mittente cifra il dato (chiave simmetrica) con la chiave pubblica del destinatario, il quale sarà l unico in grado di poterlo decifrare, perché è l unico che conosce la chiave privata relativa Setup di una CA su Linux 17 Setup di una CA su Linux 18 3
Accordo su chiavi Accordo su chiave Principali problemi: Chi garantisce la fiducia del canale? Come fa il mittente a verificare che il destinatario è davvero il possessore di quella chiave pubblica e non è un intruso? Setup di una CA su Linux 19 Setup di una CA su Linux 20 Non ripudio Non ripudio 1. Bob cifra un messaggio con la sua chiave privata 2. Rende nota la coppia (messaggio,cifratura) 3. A meno che il messaggio o la cifratura non vengano modificati da intermediari, nessuno può contestare l autenticità del messaggio 4. Chiunque può decifrare con la chiave pubblica di Bob e confrontare il risultato con il messaggio in chiaro Setup di una CA su Linux 21 Setup di una CA su Linux 22 CA e PKI Certificato a chiave pubblica CA e suoi compiti CRL RA PKI Firma digitale Certificati digitali Certificato a chiave pubblica Documento digitale inerente un soggetto. Garantisce che la chiave pubblica presente sul certificato appartiene realmente al soggetto Garantisce quindi la corrispondenza tra chiave pubblica e privata Setup di una CA su Linux 23 Setup di una CA su Linux 24 4
Certificato a chiave pubblica Certificato a chiave pubblica Tale garanzia è fornita dalla firma digitale apposta sul certificato da una autorità di certificazione (CA) I certificati sono emessi secondo lo standard x509 (vedremo ) Setup di una CA su Linux 25 Setup di una CA su Linux 26 CA E un' autorità fidata che emette i certificati e garantisce con la propria firma l'autenticità di una chiave corrispondente ad un dato utente. Ha il compito di certificare l'identita' del possessore della coppia di chiavi La CA dimostra l autenticità del certificato emesso apponendo la sua firma digitale sul certificato CA La firma è apposta calcolando l hash del certificato e applicando (su questi) l algo di firma con la sua chiave privata. Qualsiasi utente può verificare la validità del certificato: basta applicare l algo inverso dandogli in input la firma apposta sul certificato e la chiave pubblica della CA (che è sul certificato stesso o che comunque è ben nota) e confrontare il risultato con l hash del certificato (che possiamo sempre calcolare). Setup di una CA su Linux 27 Setup di una CA su Linux 28 Compiti di una CA Autenticazione dell'identità dei richiedenti: identifica con certezza la persona che fa richiesta della certificazione della chiave pubblica Validazione delle richieste di certificati Registrazione della chiave: emissione di un certificato per una chiave pubblica Setup di una CA su Linux 29 Compiti di una CA Revoca di un certificato: cancellazione di un certificato precedentemente emesso per motivi come la richiesta di revoca da parte dell'interessato stesso, scadenza del periodo di validità del certificato, abusi o falsificazioni del certificato o avanzamento tecnologico Manutenzione di un archivio dei certificati e delle chiavi pubbliche relative ai possessori Setup di una CA su Linux 30 5
Compiti di una CA Pubblicazione dell'elenco dei certificati revocati o sospesi Valutazione della fiducia: verifica della validità di un certificato e delle operazioni autorizzate Recupero di una chiave: ricostruzione di una chiave smarrita CRL E l acronimo di Certificate Revocation List Ogni certificato digitale ha un suo periodo di validità La CA può, per vari motivi, revocare il certificato quando è ancora valido La CRL è la lista contenente tutti i certificati revocati dalla CA e le relative informazioni riguardanti la revoca Setup di una CA su Linux 31 Setup di una CA su Linux 32 CRL La CRL è divisa in segmenti. Ogni segmento oltre a contenere i vari record, contiene: 1. il nome della CA che ha rilasciato il segmento 2. la data e l ora del rilascio del segmento 3. la firma della CA relativa al segmento CRL La CRL contiene un record per ogni certificato revocato. Alcuni dei campi appartenenti ad ogni record sono: 1. Numero seriale del certificato revocato 2. Data e ora di revoca 3. Dati sul possessore della relativa chiave pubblica 4. Ragioni di revoca Setup di una CA su Linux 33 Setup di una CA su Linux 34 RA RA E l acronimo di Registration Authority Costituiscono il contatto diretto fra la CA e l entità che richiede il certificato Interfaccia la CA, che è offline per ragioni di sicurezza, con il mondo esterno Verifica l identità del soggetto richiedente Setup di una CA su Linux 35 Setup di una CA su Linux 36 6
PKI E l acronimo di Public Key Infrastructure E' una combinazione di componenti hardware e software, policies e procedure. Fornisce la minima sicurezza affinchè sia possibile scambiare dati attraverso il canale informatico, tramite i certificati digitali. PKI Le componenti più importanti di una PKI sono: CA RA Policy di sicurezza CPS Setup di una CA su Linux 37 Setup di una CA su Linux 38 PKI Abbiamo gia parlato di CA e RA Le policy di sicurezza stabiliscono i principi su cui si basa l'organizzazione e forniscono informazioni sui livelli di sicurezza che si intende raggiungere Un CPS (Certificate Practice Statement) e' un documento contenente le operazioni procedurali che permettono di raggiungere la sicurezza referenziata nella policy PKI Di solito per PKI intendiamo una struttura formata da più CA legate fra loro gerarchicamente Una PKI si basa sul concetto di thirdpart-trust, per cui due entità si fidano reciprocamente senza aver mai stabilito una relazione di fiducia Setup di una CA su Linux 39 Setup di una CA su Linux 40 PKI Ciò è reso possibile da una terza parte che si eleva come garante della relazione di fiducia Tale parte è la radice comune del sottoalbero di certificazione Un cammino di certificazione è una sequenza di nodi tra l'entità richiedente il certificato, e una CA radice PKI Una CA radice e' una CA sicura Una CA può considerarsi sicura: 1. Se è la radice comune del sottoalbero di certificazione delle due parti 2. Se è la radice assoluta dell albero di certificazione. In questo caso il suo certificato sarà self-signed (autocertificazione) Setup di una CA su Linux 41 Setup di una CA su Linux 42 7
PKI Firma digitale E un informazione che viene aggiunta ad un documento informatico al fine di garantirne integrità e provenienza Utilizzata per autenticare una qualunque sequenza di simboli binari, indipendentemente dal loro significato Varia con il variare del documento Setup di una CA su Linux 43 Setup di una CA su Linux 44 Firma digitale Firma digitale Per firmare un documento digitale è necessario: 1. generare l'impronta hash del documento da firmare 2. generare la firma applicando l algo di firma sull'impronta con la chiave privata del firmatario 3. apposizione della firma sul documento tramite concatenazione di bytes Setup di una CA su Linux 45 Setup di una CA su Linux 46 Firma digitale Firma digitale IL processo di verifica di una firma digitale (apposta su documento) consiste nel: 1. calcolare l impronta hash del documento ricevuto, con la stessa funzione utilizzata dal firmatario 2. applicare l algo inverso dandogli in input la firma e la chiave pubblica del firmatario 3. confrontare i risultati ottenuti ai punti 1 e 2 Setup di una CA su Linux 47 Setup di una CA su Linux 48 8
Certificati digitali Come è fatto un certificato digitale? contiene dati non sensibili e non soggetti a frequenti cambiamenti sull'identità dell'intestatario: la chiave pubblica estensioni atte a facilitare la gestione del certificato e dei servizi fruibili Certificati digitali: x509 Standard per la definizione del formato dei certificati Costituisce il framework di autenticazione per i servizi di directory distribuite x500 Attualmente la versione maggiormente diffusa è la 3 Setup di una CA su Linux 49 Setup di una CA su Linux 50 Certificati digitali: x509 Certificati digitali: x509 Campi del certificato x509: 1. Versione 2. Numero seriale del certificato 3. Identificatore dell'algoritmo di firma 4. Nome del pubblicatore 5. Periodo di validità Setup di una CA su Linux 51 Setup di una CA su Linux 52 Certificati digitali: x509 Certificati digitali: x509 6. Nome del soggetto 7. Informazioni sulla chiave pubblica del soggetto 8. Identificativo unico del pubblicatore 9. Identificativo unico del soggetto 10. Estensioni (opzionali e presenti solo nella v3) Setup di una CA su Linux 53 Setup di una CA su Linux 54 9
OpenCA Introduzione Caratteristiche Software utilizzati Ciclo di vita degli oggetti Interfacce Setup di una CA su Linux 55 OpenCA: introduzione Nasce nel 1999 Toolkit per l implementazione di una PKI È Open Source È Community Driven Versione utilizzata: 0.9.1.8 rilasciata nel febbraio 2003 Il codice è disponibile all indirizzo http://www.openca.org Setup di una CA su Linux 56 OpenCA: caratteristiche Interfaccia grafica HTML Portabilità: è interamente scritto in C e Perl Modularità: separazione funzionale tra 1. Comandi 2. Librerie di utilità 3. Oggetti crittografici OpenCA: caratteristiche Dal punto di vista tecnologico: Supporto per principali DBMS ed SQL Supporto per il Backup ed il Restore dei dati Possibilita' di configurare RA/CA sulla stessa macchina in modo che condividano lo stesso DB (come abbiamo fatto noi!) Setup di una CA su Linux 57 Setup di una CA su Linux 58 OpenCA: software utilizzati OpenSSL: software crittografico che fornisce le funzionalità di base per la generazione dei certificati digitali mod_ssl: software crittografico, basato su OpenSSL, che fornisce supporto per il web server Perl: linguaggio di script flessibile e di facile utilizzo mod_perl: interprete Perl per Apache OpenCA: software utilizzati Apache: server web utilizzato sia come server per l RA Server ed il Public Server, sia come interfaccia ai programmi di supporto sulla CA Autoconf: tool per configurare makefiles e creare packages Setup di una CA su Linux 59 Setup di una CA su Linux 60 10
OpenCA: ciclo di vita degli oggetti OpenCA: interfacce Node: serve per lo scambio di dati, per la gestione del database e per l import/export functionalities CA: ha tutte le funzionalità per creare certificati e revocare certificati Setup di una CA su Linux 61 Setup di una CA su Linux 62 OpenCA: interfacce RA: server on-line che usa https per editare, approvare e cancellare richieste LDAP: componente che implementa il relativo standard per l accesso alle directory tramite la rete internet è utilizzato come repository per i certificati digitali all'interno della PKI OpenCA: interfacce PUB: interfaccia pubblica che include tutte le funzionalità per l utente 1. genera CSR(certificate signing request) per IE, Mozilla 1.1 e Netscape Navigator 2. genera richieste e chiavi private 3. riceve dai server richieste PKCS#10 in formato PEM Setup di una CA su Linux 63 Setup di una CA su Linux 64 OpenCA: interfacce 1. rilascia certificati 2. elenca cerificati e CRL 3. cerca certificati e testa certificati nel browser Setup OpenCA Installazione Configurazione Apache Inizializzazione CA Configurazione CA Server management di CA CA handling RA PUB Setup di una CA su Linux 65 Setup di una CA su Linux 66 11
Installazione I passi fondamentali sono: 1. scaricare il codice sorgente dal sito www.openca.org 2. scompattare l'archivio (tar -xvfz openca- 0.9.1.8.tar.gz) 3. posizionarsi nella directory dell'archivio scompattato Installazione 4. configurare i sorgenti 5. compilare i sorgenti 6. installare il software (poi vedremo!!!) Setup di una CA su Linux 67 Setup di una CA su Linux 68 Installazione Requisiti software: 1. Perl 5.1.8 o successive 2. OpenSSL 0.9.7 o successive I primi 3 passi sono immediati, restano da spiegare la configurazione e la compilazione Installazione: configurazione Configurazione della CA offline: per configurare la CA basta lanciare il comando configure con i seguenti parametri: [root@localhost anto]#./configure --with-openca-prefix=/usr/local/openca --with-web-host=www.my_ca.it --with-httpd-user=apache --with-httpd-group=101 Setup di una CA su Linux 69 Setup di una CA su Linux 70 Installazione: configurazione --with-caorganization=progetto_sicurezza --with-ca-locality=fisciano --with-ca-country=it --with-service-mail-account=arna-@libero.it --with-hierarchy-level=ca --with-module-prefix=/usr/local Installazione: configurazione Spiegazione parametri: --with-openca-prefix=/usr/local/openca: directory in cui vengono installate le componenti --with-web-host=www.my_ca.it: indica l URL per i servizi forniti dalla CA --with-httpd-user=apache: setta lo username di Apache --with-httpd-group=101: identifica il gruppo a cui appartiene l utente Apache Setup di una CA su Linux 71 Setup di una CA su Linux 72 12
Installazione: configurazione --with-hierarchy-level=ca: stabilisce il livello al quale la CA agisce nella gerarchia --with-module-prefix=/usr/local: stabilisce la directory nella quale vengono installati i moduli perl I parametri precedenti sono gli unici strettamente necessari nel caso in cui si siano installati gli altri software preventivamente tramite rpm e non si voglia utilizzare SQL Installazione: configurazione Configurazione dell RA: lanciamo configure con gli stessi parametri come per la ca offline cambiando solo il livello nella gerarchia al quale agisce l'ra --with-hierarchy-level=ra Setup di una CA su Linux 73 Setup di una CA su Linux 74 Installazione: compilazione Compilazione di codice comune per tutte le componenti della CA: [root@localhost anto]#./make Per verificare se la compilazione è andata a buon fine: [root@localhost anto]#./make-test Installazione: compilazione Compilazione di codice della ca e canode: [root@localhost anto]#./make install-ca Tale comando crea 4 directory in /usr/local: OpenCA, apache, man, perl5 Compilazione di codice per ra,ranode,public,ldap: [root@localhost anto]#./make install-ext Setup di una CA su Linux 75 Setup di una CA su Linux 76 Installazione: compilazione Le interfacce html delle componenti vengono installate nella directory /usr/local/apache/htdocs Gli script-cgi relativi vengono installati in /usr/local/apache/cgi-bin Configurazione Apache: concetti preliminari File di configurazione del demone httpd: /etc/httpd/conf/httpd2.conf È un file di configurazione xml-based Vediamo quali sono i concetti fondamentali per settare Apache Setup di una CA su Linux 77 Setup di una CA su Linux 78 13
Configurazione Apache: concetti preliminari Virtual host: tag che permette di eseguire più di un sito web (es. www.pippo1.it e www.pippo2.it) sulla stessa macchina. Può essere di 2 tipi: 1. Ip-based 2. Name-based Configurazione Apache: concetti preliminari Directive: comando di configurazione che controlla uno o più aspetti del comportamento di Apache Directory: sottosezione di virtual host che serve a definire il comportamento di una sottodirectory della directory root Setup di una CA su Linux 79 Setup di una CA su Linux 80 Configurazione Apache: CA L interfaccia grafica della componente CA offline si serve di Apache E necessario modificare il file httpd2.conf Configurazione Apache: CA Nuova sezione virtual host: Configurata sull indirizzo di loopback Prende come URL il valore del parametro with-web-host Setup di una CA su Linux 81 Setup di una CA su Linux 82 Configurazione Apache: CA Codice della nuova sezione: <VirtualHost www.my_ca.it> ServerAdmin arna-@libero.it DocumentRoot /usr/local/apache/htdocs ServerName www.my_ca.it Configurazione Apache: CA <Directory /usr/local/apache/htdocs> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Setup di una CA su Linux 83 Setup di una CA su Linux 84 14
Configurazione Apache: CA ScriptAlias /cgi-bin/ /usr/local/apache/cgibin/ <Directory /usr/local/apache/cgi-bin> AllowOverride None Options None Order allow,deny Allow from all </Directory> </VirtualHost> Configurazione Apache: CA ServerAdmin: setta l'indirizzo e-mail dell'amministratore del sito DocumentRoot: setta il nome host e la porta che il web server usa per essere identificato La porta di default è 80 Setup di una CA su Linux 85 Setup di una CA su Linux 86 Configurazione Apache: CA Options: caratteristiche del server abilitate per la directory usr/local/apache/htdocs Indexes: crea l'indice html dei file nella directory /usr/local/apache/htdocs Configurazione Apache: CA FollowSymlinks: segue i link simbolici nella medesima directory MultiViews: negozia parametri come descritto in HTTP1.1 Setup di una CA su Linux 87 Setup di una CA su Linux 88 Configurazione Apache: CA AllowOverride: settata a none indica che il file.htaccess per il servizio specifico non può sovrascrivere le direttive di configurazione del file httpd2.conf Order: controlla l'ordine in cui allow e deny sono valutate determinando così la politica degli accessi Configurazione Apache: CA Allow: stabilisce in base all'ip quali hosts hanno accesso all'area specifica nella quale la direttiva è inserita Setup di una CA su Linux 89 Setup di una CA su Linux 90 15
Configurazione Apache: CA Script Alias: Prende 2 argomenti URL-path: è un alias per il path (secondo argomento) File-path: path nel file-system dove risiedono gli script cgi Configurazione Apache: RA Anche le altre interfacce hanno bisogno di sezioni virtual host per essere configurate: Codice: Listen 127.0.0.3:443 <VirtualHost 127.0.0.3:443 > Setup di una CA su Linux 91 Setup di una CA su Linux 92 Configurazione Apache: RA ServerAdmin arna-@libero.it DocumentRoot /usr/local/apache/htdocs ServerName www.my_ra.it SSLEngine on SSLCertificateFile /usr/local/openca/var/crypto/cacerts/cacert.pe m SSLCertificateKeyFile /usr/local/openca/var/crypto/keys/cakey.pem Configurazione Apache: RA <Directory /usr/local/apache/htdocs/pub/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> Setup di una CA su Linux 93 Setup di una CA su Linux 94 Configurazione Apache: RA <Directory /usr/local/apache/htdocs/ra/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from 127.0.0.3 </Directory> Configurazione Apache: RA <Directory /usr/local/apache/htdocs/ra_node/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from 127.0.0.3 </Directory> Setup di una CA su Linux 95 Setup di una CA su Linux 96 16
Configurazione Apache: RA <Directory /usr/local/apache/htdocs/ldap/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from 127.0.0.3 </Directory> Setup di una CA su Linux 97 Configurazione Apache: RA ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ <Directory /usr/local/apache/cgi-bin> AllowOverride None Options None Order allow,deny Allow from all </Directory> </VirtualHost> Setup di una CA su Linux 98 Configurazione Apache: RA Utilizza il protocollo https sulla porta 443 Nuove direttive: Listen: Mette apache in ascolto sulla porta 443 SSLEngine: settata ad On per abilitare il supporto SSL necessario per https Configurazione Apache: RA SSLCertificateFile: specifica il path del certificato della CA in formato pem SSLCertficateKeyFile: specifica il path della chiave privata della CA Setup di una CA su Linux 99 Setup di una CA su Linux 100 Configurazione Apache: avvio Httpd2 è un demone è lanciato allo start up del sistema dal superdemone initd Httpd2 risiede in /usr/sbin Avvio: httpd2 k start Configurazione Apache: avvio Riavvio: httpd2 -k restart rende immediate le modifiche di configurazione senza dover riavviare il sistema Arresto: httpd2 -k stop Non resta altro che lanciare mozilla e digitare l url www.my_ca.it!! Setup di una CA su Linux 101 Setup di una CA su Linux 102 17
Inizializzazione CA Inizializzazione CA Inizializzazione suddivisa in 3 fasi: 1. 2. 3. Inizialize the Certification Authority Create the initial administrator Create the initial RA certificate Setup di una CA su Linux 103 Inizializzazione CA: fase 1 Si suddivide ulteriormente in cinque passi: 1. DBSetup: inizializza il database per la CA 2. Key pair Setup: genera e cifra la chiave privata della CA 3. Request Setup: genera la richiesta di certificazione per la CA stessa 105 2. Setup di una CA su Linux 106 Inizializzazione CA: fase1dbsetup Inizializzazione CA: fase 1 1. 104 Inizializzazione CA: fase 1 Crea la configurazione iniziale per la CA Setup di una CA su Linux Setup di una CA su Linux Certificate Setup: genera il certificato della CA Final Setup: 1. 2. Costruisce la catena di certificati necessari Esporta l intera configurazione su floppy Setup di una CA su Linux Inizializza il modulo DBI per la CA 107 Setup di una CA su Linux 108 18
Inizializzazione CA: fase1 Key pair Setup Inizializzazione CA: fase1 Key pair Setup Vengono mostrati 3 prompt: Imposta l algo di cifratura per la chiave privata Imposta la lunghezza della chiave 3. Imposta la passphrase per la cifratura della chiave 1. Directory nella quale viene messo il certificato della CA 2. Mostra info sull algo e sulla modalità operativa utilizzata Setup di una CA su Linux 109 Inizializzazione CA: fase1 Request Setup Chiave privata cifrata e formattata in formato PEM Setup di una CA su Linux 110 Inizializzazione CA: fase1 Request Setup 1. Genera la richiesta di certificato per la CA. Ci vengono chieste info per il Disntiguished Name quali: E-mail Common Name Organization Unit Name Organization Name Iso-Country 2. Setup di una CA su Linux Campi del Distinguished Name che identifica la CA 111 Inizializzazione CA: fase1 Certificate Setup Setup di una CA su Linux 112 Inizializzazione CA: fase1 Final Setup Ricostruisce la catena di certificazione, nel caso in cui il certificato non sia autofirmato Genera il certificato autofirmato Viene salvato in /usr/local/openca/var/crypt o/cacerts/cacert.pem Esporta, per sicurezza, la configurazione attuale su floppy Setup di una CA su Linux 113 Setup di una CA su Linux 114 19
Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 Crea il profilo ed il certificato per il primo operatoreamministratore della CA Crea la richiesta di certificazione per il primo amministratore della CA. Il ruolo impostato dovrà essere CA-Operator Setup di una CA su Linux 115 Setup di una CA su Linux 116 Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 Specifica il gruppo di chi effettua la richiesta. In questo caso usiamo TrustCenter Specifica il ruolo del richiedente. In questo caso è CA Operator Setup di una CA su Linux 117 Setup di una CA su Linux 118 Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 PIN usato per verificare la richiesta di certificazione RA alla quale inoltrare la richiesta. Utilizziamo TrustCenter itself Setup di una CA su Linux 119 Setup di una CA su Linux 120 20
Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 Lunghezza della chiave privata. 1024 bits è un buon valore Continuiamo Setup di una CA su Linux 121 Setup di una CA su Linux 122 Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 Dati inseriti Richiesta di conferma del certificato Cliccando su here si visualizza la lista delle richieste pendenti sul server RA Setup di una CA su Linux 123 Setup di una CA su Linux 124 Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 ID della richiesta Distinguished Name Data di sottomissi one della richiesta Ruolo delle Richiesta Permette di rimodificare i campi della richiesta Setup di una CA su Linux 125 Setup di una CA su Linux 126 21
Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 Dati della richiesta Permette di rilasciare il certificato o di cancellare la richiesta. Queste operazioni sono effettuabili solo immettendo la passphrase Setup di una CA su Linux 127 Setup di una CA su Linux 128 Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 Rilascia il certificato (richiede passphrase) Il certificato viene memorizzato in /usr/local/openca/var/cry pto/certs Cancella la richiesta Operazioni effettuabili sul certificato Setup di una CA su Linux 129 Setup di una CA su Linux 130 Inizializzazione CA: fase 2 Inizializzazione CA: fase 2 Scarica il certificato e la chiave privata cifrata nel browser dell utente in un formato prestabilito. Per Mozilla tale formato è PKCS12 Modifica della passphrase per la CA Inizia la procedura di revoca del certificato e la rimozione della chiave pubblica dal Database Permette di scaricare il certificato su un dispositivo di sicurezza quale es. SmartCard Setup di una CA su Linux 131 Setup di una CA su Linux 132 22
Inizializzazione CA: fase 3 Configurazione CA Crea il certificato per l amministratore iniziale dell RA Visualizza i ruoli possibili e permette di aggiungerne nuovi Tali fasi sono le stesse descritte nel caso precedente Setup di una CA su Linux 133 Setup di una CA su Linux 134 Configurazione CA Configurazione CA Ruoli possibili Aggiunge un ruolo di certificazione ACL dei moduli della PKI. Visualizza info e proprietario di ogni modulo Setup di una CA su Linux 135 Setup di una CA su Linux 136 Configurazione CA Configurazione CA Simile al punto precedente. Permette di firmare, esportare e importare l'intera configurazione della PKI. Operazioni possibili Setup di una CA su Linux 137 Setup di una CA su Linux 138 23
Configurazione CA Configurazione CA Visualizza i moduli delle PKI e permette di aggiungerne nuovi. Mostra gli script relativi alle operazioni Setup di una CA su Linux 139 Setup di una CA su Linux 140 Configurazione CA Server management di CA permette di accedere alle interfacce degli altri moduli dell'openca quali RA LDAP e Public Mostra gli scripts che implementano le operations e permette di cancellare lo script relativo ad un'operation implementa caratteristiche fondamentali per la comunicazione del modulo CA con gli altri moduli Setup di una CA su Linux 141 Setup di una CA su Linux 142 Server management di CA Gestione CA inizializza il Database e permette di importare la configurazione della CA nel nodo permette l import/export della configurazione effettua il backup di tutto il contenuto del database; c'è la possibilità sia di reinizializzare il Database che di effettuarne il restore Sezioni per la gestione della CA Setup di una CA su Linux 143 Setup di una CA su Linux 144 24