b'\n_START_ARTICLE_\nPrincipio di Kerckhoffs\n_START_PARAGRAPH_\nIn crittografia, il principio di Kerckhoffs (noto anche come assunzione, assioma o legge di Kerckhoffs), fu enunciato dal crittografo olandese Auguste Kerckhoffs alla fine del 1880. Esso afferma che la sicurezza di un crittosistema non deve dipendere dal tenere celato l\'algoritmo crittografico ma solo dal tenere celata la chiave._NEWLINE_In altre parole, il sistema deve rimanere sicuro anche nell\'ipotesi che il nemico conosca l\'algoritmo di crittazione. Quest\'ultimo pu\xc3\xb2 anche essere di pubblico dominio; l\'unica cosa che importa \xc3\xa8 che rimanga segreta la chiave._NEWLINE_Il principio \xc3\xa8 stato riformulato (o forse indipendentemente formulato) da Claude Shannon nella forma "il nemico conosce il sistema": \xe2\x80\x9cun sistema dovrebbe essere progettato sotto l\'assunzione che il nemico guadagner\xc3\xa0 immediatamente familiarit\xc3\xa0 con esso\xe2\x80\x9d. In questa forma, il principio \xc3\xa8 noto come massima di Shannon._NEWLINE_\xc3\x88 un principio apprezzato da molti crittografi ed \xc3\xa8 in netto contrasto con il principio della sicurezza tramite segretezza.\n_START_SECTION_\nSpiegazione del principio\n_START_PARAGRAPH_\nKerckhoffs considerava la crittografia come una sfida, e come una migliore alternativa alla tecnica steganografica, la quale era comune nel diciannovesimo secolo, per nascondere il significato dei messaggi militari. Il problema degli schemi di codifica \xc3\xa8 che essi fanno affidamento al fatto che gli uomini sappiano mantenere segreti i dizionari necessari alla decodifica. I dizionari steganografici, una volta rivelati, compromettono permanentemente il sistema di codifica corrispondente. Un altro problema \xc3\xa8 dato dal fattore rischio che aumenta con l\'aumentare delle persone che sono a conoscenza dei dizionari._NEWLINE_La crittografia del diciannovesimo secolo, al contrario, usava semplici tabelle per la trasposizione di caratteri alfanumerici, generalmente date da intersezioni riga-colonna che potevano essere modificate da chiavi genericamente corte e numeriche e che potevano essere trasferite alla memoria umana. Il sistema era visto come indecifrabile in quella tabella e le chiavi non sembravano avere senso compiuto ad un occhio esterno. Il messaggio segreto era compromesso solamente nel caso in cui la tabella, la chiave e il messaggio cadessero tutti nelle mani del nemico in un arco di tempo rilevante. Kerckhoff vedeva i messaggi tattici come se avessero solo poche ore di rilevanza. I sistemi non sono necessariamente compromessi, perch\xc3\xa9 i loro componenti (ad esempio tabelle e tasti di caratteri alfanumerici) possono essere facilmente modificati.\n_START_SECTION_\nConsiderazioni odierne\n_START_PARAGRAPH_\nUn cambiamento odierno al principio di Kerckhoffs idealizza che la sicurezza di un crittosistema dovrebbe dipendere esclusivamente dalla segretezza della chiave e da un randomizzatore privato. Si pu\xc3\xb2 dire dunque che un metodo per decifrare e trasmettere informazioni segretamente dovrebbe essere sicuro anche se tutti sono a conoscenza del suo funzionamento. Sicuramente gli attaccanti hanno pi\xc3\xb9 familiarit\xc3\xa0 col sistema in questione, ma mancheranno di conoscenza quando dovranno approcciarsi con tutte le possibili istanze che gli vengono presentate dal sistema._NEWLINE_Alcuni crittografi non sono d\'accordo con questo e controbattono sul fatto che Kerckhoffs sentisse la necessit\xc3\xa0 di mantenere segreta la chiave. Un altro fattore discordante \xc3\xa8 dato dal fatto che non si \xc3\xa8 sicuri della contrariet\xc3\xa0 di Kerckhoffs al mantenere "segreti" altri componenti del sistema di crittografia (tabelle, protocolli, algoritmi, ecc.) fintanto che il sistema rimane "indecifrabile".\n_START_SECTION_\nVantaggio della chiave segreta\n_START_PARAGRAPH_\nUtilizzare una crittografia sicura dovrebbe rimpiazzare il problema di mantenere i messaggi al sicuro con un metodo pi\xc3\xb9 facile da gestire, ovvero mantenere al sicuro chiavi di relativamente piccole dimensioni. Un sistema che richiede segretezza a lungo termine per qualcosa di cos\xc3\xac grande e complesso come l\'intero progetto di un sistema crittografico non pu\xc3\xb2 ovviamente raggiungere questo obiettivo. Dunque se un sistema \xc3\xa8 sicuro anche quando il nemico conosce tutto tranne che la chiave, l\'unica cosa da gestire \xc3\xa8 appunto mantenere le chiavi segrete. _NEWLINE_Ovviamente ci sono molti metodi con i quali un attaccante pu\xc3\xb2 venire a conoscenza dei dettagli interni del sistema. Tra questi abbiamo la corruzione, il ricatto, oppure la minaccia diretta verso un membro dello staff o verso dei clienti che sono in grado di spiegare il funzionamento del sistema. In guerra, ad esempio, una parte probabilmente catturer\xc3\xa0 alcune attrezzature e persone dall\'altra parte. Ogni parte user\xc3\xa0 anche spie per raccogliere informazioni. Se un metodo coinvolge un software, qualcuno potrebbe fare un dump della memoria o eseguire il software sotto il controllo di un debugger per capire il metodo. Se si utilizza l\'hardware, qualcuno potrebbe acquistare o rubare parte dell\'hardware e costruire qualsiasi programma o gadget necessario per testarlo. L\'hardware pu\xc3\xb2 anche essere smontato in modo che i dettagli del chip possano essere esaminati al microscopio.\n_START_SECTION_\nMantenere la sicurezza\n_START_PARAGRAPH_\nUna generalizzazione che alcuni fanno del principio di Kerckhoffs afferma: \xe2\x80\x9cMinori e semplici sono i segreti che uno deve mantenere per assicurare la sicurezza del sistema, pi\xc3\xb9 sar\xc3\xa0 facile mantenere la sicurezza del sistema.\xe2\x80\x9d _NEWLINE_Ogni sistema di sicurezza dipende fondamentalmente dal mantenere qualcosa "segreto". Tuttavia l\'obiettivo fondamentale del principio di Kerchoffs consiste nel tenere "nascosto" ci\xc3\xb2 che \xc3\xa8 meno dispendioso da cambiare in caso di eventi inaspettati e sgradevoli._NEWLINE_Ad esempio, un algoritmo crittografico pu\xc3\xb2 essere implementato da hardware e software ampiamente distribuiti tra gli utenti. Se la sicurezza dipende dal mantenerlo "segreto", la divulgazione porta a grandi difficolt\xc3\xa0 logistiche nello sviluppo, nella verifica e nella distribuzione di implementazioni di un nuovo algoritmo. D\'altra parte, se la "segretezza" dell\'algoritmo non \xc3\xa8 importante, ma solo le chiavi utilizzate con l\'algoritmo devono essere nascoste, la divulgazione delle chiavi richiede semplicemente il processo pi\xc3\xb9 semplice e meno costoso di generare e distribuire nuove chiavi.\n_START_SECTION_\nApplicazioni\n_START_PARAGRAPH_\nIn accordo con il principio di Kerckhoffs, la maggior parte dei crittografi civili utilizza algoritmi di dominio pubblico. Al contrario, i cifrari utilizzati per proteggere le informazioni governative o militari sono spesso mantenuti segreti. Tuttavia, non si deve presumere che i codici governativi / militari debbano essere tenuti segreti per mantenere la sicurezza. \xc3\x88 piuttosto comune tra le aziende il mantenere segreto il sistema interno. Il fulcro del dibattito consiste nel fatto che questa segretezza renda veramente il prodotto pi\xc3\xb9 sicuro e meno vulnerabile agli attacchi, oppure si tratti esclusivamente di una sicurezza a breve termine e nel lungo periodo saranno i sistemi che sono stati pubblicati ed analizzati ad essere i pi\xc3\xb9 sicuri ed affidabili.'