Min mailbox er ret interessant i disse dage, på grund af den klumme jeg skrev til ACM's Queue: "More encryption is not the solution".
Der er f.eks en del der gerne vil vide om jeg har "inside scoop" på Snowdens dokumenter, eftersom noget af det jeg skrev efterfølgende er blevet næsten ordret bekræftet af artikler i Guardian og New York Times.
Nej, det har jeg selvfølgelig ikke.
Men jeg har det samme som de fleste andre IT sikkerhedsfolk har: En kritisk fantasi og alt hvad jeg havde brug for at gøre, var at spørge mig selv: "Hvad ville jeg gøre som direktør for NSA, givet nogle hundrede millioner dollars..."
Indtil videre er der faktisk ikke noget af det der er blevet afsløret der er kommet som en overraskelse for mig, min kritiske fantasi har holdt sig et par skridt foran afsløringerne indtil videre.
Men hvad så med det "kryptografiske gennembrud" der tales om nu, hvad er det ?
Lad os tage mulighederne fra mest spændende til mest sandsynlig:
"NSA ved at P == NP" Game & match over for alt andet krypto end PSK og selv det er i svære problemer. Ikke ret sandsynligt, i særdeleshed ikke sandsynligt at de kan holde det hemmeligt, men på ingen måde umuligt.
"NSA kan faktorere store tal" Symmetriske algoritmer som DES, AES og RC4 er hverken mere eller mindre i problemer, men alle de assymmetriske (RSA, DSA osv.) er. Forholdsvist sandsynligt i min optik: Hvis man bruger flere penge på gode matematikere end noget universitet nogensinde kan gøre sig håb om, skulle det være underligt om de finder på noget smart matematik undervejs.
"NSA har fundet svagheder i DES/AES/RC4/..." Givetvis. DES og RC4 burde for længst være droppet. AES er et godt spørgsmål.
"NSA har fundet designsvagheder i SSL/TLS." Givetvis. De har muligvis ligefrem manipuleret dem derind selv. Det er dog relativt begrænset hvor slemt det kan være, der er gode folk der har tænkt sig om.
"NSA har fundet fejl i SSL/TLS implementeringer." Helt sikkert. Og de har sandsynligvis også gjort hvad de kunne for at få dem implementeret.
Og det bringer mig til OpenSSL, som jeg er 100% sikker på, NSA opfatter som et allerede løst problem.
OpenSSL består af ca. ½ million linier kode, det meste af det ulæseligt og uforståeligt for alle andre end ca. 1000 personer globalt set.
OpenSSL har nogle af de mest barokke og idiotiske API definitioner der længe er set.
Det gør det meget svært at bruge OpenSSL på en måde der er korrekt og sikker: Du skal på den ene side være hammerdygtig til kryptografi og på den anden side skal du kunne programmere.
At det er en utrolig sjælden kombination, er OpenSSL kildeteksten vidnesbyrd om.
Her er et fuldstændig tilfældigt eksempel fra den første tilfældige source-fil jeg lige kiggede i:
ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o) { ASN1_OBJECT *r; int i; char *ln=NULL,*sn=NULL; unsigned char *data=NULL; if (o == NULL) return(NULL); if (!(o->flags & ASN1_OBJECT_FLAG_DYNAMIC)) return((ASN1_OBJECT *)o); /* XXX: ugh! Why? What kind of duplication is this??? */ [...]
Jeg kan ikke uden et meget stort arbejde overbevise mig selv, eller andre, om hvorvidt den "XXX" kommentar er en "pyt" eller en "ohhh shit!" kommentar.
Kommentaren er tilsyneladende tilføjet for over 10 år siden og står der stadig i den OpenSSL vi har i FreeBSD's source-tree idag.
De fleste bruger OpenSSL efter copy&paste metoden: Find noget kode der tilsyneladende virker sammen med OpenSSL og ret derefter så lidt som muligt i det, fordi der fundamentalt set ikke er nogen der fatter eller forstår hvad der egentlig foregår.
I det miljø vil enhver person der kommer og lyder som om de ved hvad de foretager sig og tilbyder deres hjælp blive taget imod med kyshånd, både i OpenSSL projektet og blandt brugerne af koden. Specielt vil det være meget svært at sige nej tak for USAnere, når der kommer en NSA medarbejder og siger "I'm from the government, I'm here to help you."
Jeg vil godt vædde på NSA's "kryptografiske gennembrud" er at OpenSSL er noget indviklet og uigennemtænkt slamkode ingen forstår.
phk

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.