Passa ai contenuti principali

ChatGPT: supererebbe il mio esame di Reti di Calcolatori?

Molto probabilmente chi ha a che fare con i corsi di laurea scientifici e tecnologici, come me, ha preso atto della notizia che ChatGPT ha superato esami universitari in giurisprudenza ed economia con un pò, diciamo così, di sufficienza. Pensando "da noi non potrebbe mai succedere; figuriamoci". E' quello che ho pensato io.

Poi però ho fatto a ChatGPT qualche domanda di Reti di Calcolatori.

Ho quasi cambiato idea. "Quasi" perché nello scritto di Reti di Calcolatori faccio sempre esercizi. Pur non avendoli sottoposti a ChatGPT sono certo che questi esercizi non li sa risolvere. Ma alle "domande tipiche da orale" ha fornito risposte che mi hanno davvero stupefatto.

Riporto qui sotto solo un esempio di "dialogo", relativo a validazione di firma digitale e certificati auto-firmati. Risposte sostanzialmente corrette e pertinenti, molto più sintetiche e focalizzate di quelle che ricevo normalmente. E più rapide. Alla fine ha riconosciuto di essere stata (o stato?) inaccurata ed ha promesso di fare più attenzione in futuro.

Ho fatto anche una piccola interrogazione su domini e zone DNS ed anche in quel caso sono rimasto stupefatto.

Molto probabilmente supererebbe un orale.

(nota per i miei studenti ed ex studenti: il "dialogo" fa riferimento a fingerprint di chiavi pubbliche ed hash di firme digitali; io non ne parlo a lezione per semplicità, ciò che dice ChatGPT è corretto e corrisponde alla presentazione più diffusa dell'argomento)

bartoli.alberto@units.it: how do you check a digital signature?

ChatGPT: A digital signature is checked by verifying the authenticity of the signature and the integrity of the signed data. Here are the steps to check a digital signature:

  1. Obtain the public key of the signer: The public key of the signer is usually obtained through a trusted third party, such as a certificate authority (CA), or directly from the signer.
  2. Verify the signature: The signature is verified using the public key of the signer and a cryptographic algorithm, such as RSA or Elliptic Curve Digital Signature Algorithm (ECDSA). This process ensures that the signature was generated using the private key of the signer and that the data has not been tampered with.
  3. Verify the authenticity of the public key: The authenticity of the public key can be verified by checking if it is signed by a trusted CA or by checking its fingerprint against a trusted source.
  4. Check the integrity of the signed data: The integrity of the signed data is verified by checking that the hash of the original data matches the hash included in the signature.

By following these steps, you can be sure that the digital signature is genuine and that the signed data has not been tampered with.

bartoli.alberto@units.it: can you check a digital signature by using a self-signed certificate for attesting the public key of the signer?

ChatGPT: Yes, you can check a digital signature by using a self-signed certificate for attesting the public key of the signer, but it may not provide the same level of security as checking a digital signature with a certificate from a trusted third-party certificate authority (CA).

A self-signed certificate is one that is signed by the same entity that created it, rather than a trusted third-party CA. When using a self-signed certificate, there is no trusted third-party to verify the authenticity of the certificate and its associated public key.

In this case, the recipient must manually verify the authenticity of the self-signed certificate and the public key of the signer before checking the digital signature. This process can be time-consuming and prone to human error, and it does not provide the same level of security as checking a digital signature with a certificate from a trusted third-party CA.

In general, it is recommended to use a certificate from a trusted third-party CA for attesting the public key of the signer to provide the highest level of security when checking a digital signature. 

bartoli.alberto@units.it: What do you mean by "manually"? I thought this check could be done with a computer

ChatGPT: Yes, you are correct. The process of checking a digital signature with a self-signed certificate can be automated and done using a computer.

When I said "manually", I meant that the recipient must obtain the self-signed certificate and public key of the signer and perform the necessary checks to verify the authenticity of the certificate and public key, which can be done through a program or software on a computer.

So, in short, the process of checking a digital signature with a self-signed certificate can be automated and done using a computer, but it requires the recipient to perform additional steps to verify the authenticity of the self-signed certificate and public key of the signer. bartoli.alberto@units.it

bartoli.alberto@units.it: Why did you say "the self-signed certificate and public key of the signer"? Isn't the public key contained in the certificate?

ChatGPT: Yes, you are correct. The public key of the signer is usually contained in the certificate. My mistake. 

The self-signed certificate contains both the identity information of the signer and its public key, which is used to verify the digital signature. So, in this case, the recipient only needs to obtain and verify the authenticity of the self-signed certificate.

Thank you for pointing out this error. I will make sure to be more careful in my future responses.

Commenti

Popular Posts

"Ingegneria deve essere difficile"

Il ritaglio di giornale qui sotto ricorda uno degli eventi più non-trovo-un-aggettivo-appropriato del mio periodo di studente di Ingegneria a Pisa. Ricordo che una mattina iniziò a spargersi la voce "hanno murato la porta del dipartimento!".  Andammo subito a vedere ed arrivammo un pò prima dei giornalisti che scattarono questa foto. La porta era murata, intonacata, pitturata di bianco e sovrastata da una scritta "INGEGNERIA DEVE ESSERE DIFFICILE". Le "E" di "INGEGNERIA" erano scritte al contrario perché era una sorta di "marchio di fabbrica" della facoltà di Ingegneria di Pisa. L'aula più grande, quella in cui pressoché tutti gli studenti seguivano i corsi dei primi anni, aveva infatti alcuni bellissimi "affreschi scherzosi" che furono fatti nel corso delle proteste studentesche di qualche anno prima ed in cui la parola "Ingegneria" era appuntoi scritta in quel modo. Si era anche già sparsa la voce di cosa era

Il patch che non era un patch

Quanto segue è un patetico quanto inutile tentativo di distrarmi e non pensare alla pessima prestazione calcistica di ieri sera, decisamente non all'altezza dell'evento e dei nostri gloriosi colori. Nella lezione di "Computer Networks and Principles of Cybersecurity" di ieri, mi è stata posta la domanda " E' possibile che un patch introduca nuove vulnerabilità? ". La mia risposta è stata affermativa, ho evidenziato che un patch è un software, quindi può introdurre errori, vulnerabilità, può fare riemergere errori o vulnerabilità presenti e risolti in versioni precedenti, può correggere la specifica vulnerabilità presumibilmente risolta da quel patch solo in parte. Non è frequente, ma può accadere ed è quindi una possibilità da tenere presente. Uno dei numerosi motivi che rendono così complessa la gestione delle vulnerabilità è anche questo. Stamattina ho letto un esempio molto interessante di quanto abbiamo detto. Pochissime settimane fa Microsoft ha ril

Perché studiare Analisi Matematica???

Un mio caro amico mi ha scritto: ...sono con mia figlia che studia Analisi 1...A cosa serve, al giorno d'oggi, studiare Analisi (a parte sfoltire i ranghi degli aspiranti ingegneri)? Riporto la mia risposta di seguito, forse può "motivare" qualche altro studente. ... Per un ingegnere la matematica è fondamentale perché è un linguaggio ; ed è il linguaggio essenziale per trattare gli argomenti che dovrà affrontare come ingegnere; non sono importanti i contenuti specifici; è importante, anzi fondamentale, che riesca a capirli, ricostruirli etc. ad esempio, chi deve usare l'inglese, lo usa perché in un modo o nell'altro lo conosce; nessuno di noi ha usato esattamente le frasi o i dialoghi o le regole che ha incontrato negli esercizi di inglese o di tedesco; nella matematica è lo stesso; non sono importanti i limiti, le serie, i teoremi di cauchy o che so io; ma se uno non è in grado di capire quel linguaggio allora non sarà in grado di capire davvero quas

40 anni di Internet: Cosa non ha funzionato e perché

Leggo molti documenti tecnico-scientifici per lavoro e, in parte, per "piacere". Molti sono interessanti, alcuni molto interessanti. E' raro che trovi un documento che mi appare illuminante. Questo indicato sotto è uno dei pochi documenti in questa categoria. Sembra banale, in quanto è molto discorsivo e parla di molte cose note: IP, DNS, NAT.... In realtà è profondissimo. Una miniera di riflessioni profonde, sintetiche, focalizzate ed, appunto, illuminanti. A mio parere imperdibile per chiunque abbia un qualche interesse negli aspetti tecnici di Internet. Chi non ha la pazienza di leggerlo per intero, legga almeno gli ultimi due paragrafi. Failed Expectations (l'autore, Geoff Houston , fa parte della Internet Hall of Fame )