vrijdag, mei 18, 2018

Authenticatie


Ben ik wie ik zeg te zijn? Voor mij een weet, voor de bank een vraag. De bank weet weliswaar wie achter mijn rekeningnummer schuilgaat, want bij opening van de rekening moest ik mijn paspoort en gezicht laten zien. Maar de bank weet niet wie onder mijn naam geld van de rekening haalt. Het enige dat de bank met zekerheid kan zeggen, is dat het iemand moet zijn in bezit van mijn bankpas, pincode, tan-code, userid/password, vingerkootje of oog. De bank concludeert daaruit dat ik het ben: ik ben geauthenticeerd.

En omgekeerd kan de vraag gesteld worden: Is de bank –die ik online bezoek- wel die bank die de bank zegt te zijn? Bij het opzetten van een sessie stuurt de bank naar mijn computer een certificaat, uitgegeven door een Certification Authority (bijv. digicert). In dit bestandje staan o.a. geldigheidsduur certificaat (ongeveer een jaar), KvK-gegevens van de bank in kwestie, domeinnamen (bijv. mobiel.rabobank.nl), gegevens van de CA, gekozen handtekening algoritme (bijv. RSA/Sha-256) en de public key.
De CA moet garant staan voor de juistheid van de aangeleverde data.

Bij een certificaat hoort een digitale handtekening. Van het certificaat wordt de hash (een voor die alfa-numerieke tekst uniek getal) berekend. Deze hash wordt door de CA met de private key van de CA geëncrypt. Dit eindresultaat is de handtekening.
Lukt het “mij” (mijn computer) met de public key van de CA (die dus op het certificaat staat) deze versleutelde hash te ontsleutelen dan weet ik zeker a.) dat het certificaat van de CA afkomstig is. Wat ontsleuteld is, is de hash van het origineel. Mijn computer berekent de hash van het aangeleverde certificaat. Zijn beide hashes gelijk dan weet ik zeker b.) dat niet gerommeld is met het certificaat. Op die zekerheid kom ik terug.

Merkwaardig is, dat ik de versleutelde hash –de digitale handtekening- niet terugvindt op het certificaat zelf. Wel is aan het certificaat een vingerafdruk toegevoegd. Ik vermoed dat dit de hash van de versleutelde hash is, waarmee dus snel te controleren is of de apart meegezonden digitale handtekening (= de versleutelde hash van het originele certificaat) wel de juiste is door zelf daarvan een vingerafdruk te maken en beide fingerprints te vergelijken.

Dit is toch nog niet het hele verhaal. Een “bad bank” kan natuurlijk een eigen certificaat fabriceren of een certificaat gebruiken dat door de CA is ingetrokken of dat verlopen is.  Of zoiets het geval is, ontdek je door bij de trusted CA  als onderdeel van de PKI ( public key infrastructure) na te vragen of de public key (uniek in de wereld) door hen is uitgegeven en nog steeds wordt ondersteund. Dat doet uiteraard de computer voor je. Op het certificaat staat dan zoiets als “DigiCert SHA2 Extended Validation Server CA”.
Is alles goed dan staat in de url-balk een groen slotje. Klik je daarop dan verschijnt het certificaat.

rkh, 18-05-2018/13-02-2020

5 opmerkingen:

Anoniem zei

Briljant betoog !
PS: "de bank" is niet onzijdig, dus "die bank die het zegt te zijn" moet zijn "die bank die hij of zij zegt te zijn" en "De bank is de bank die hij of zij zegt te zijn" moet zijn "De bank is de bank die hij of zij zegt te zijn". Of het "hij" dan wel "zij" moet zijn, heb ik even niet paraat: is "de bank" mannelijk of vrouwelijk ? Maar het mag in elk geval niet "het" zijn.
PJ te N

Anoniem zei

Erratum: er moet staan: "... en "De bank is de bank die het zegt te zijn" moet zijn "De bank is de bank die hij of zij zegt te zijn". "

DIXI zei

Dank. Bank is m/v.

Briljant? In ieder geval het schrijven alleen al heeft vele uren gekost.

Anoniem zei

N.a.v. uw blog realiseer ik mij waar mijn aversie tegen online bankieren vandaan komt. Hoe weet ik dat de online bank de bank is die zij beweert te zijn ? Nu ga ik naar een pand van mijn bank en ken de mensen achter de balie. Om een of andere reden heb ik er vertrouwen in dat ik bij de juiste bank ben.
PS 1: ik schreef automatisch "de bank ... zij" waaruit ik concludeer dat volgens mijn taalgevoel "bank" vrouwelijk is. Ik heb het opgezocht en wat blijkt, "bank" is zowel mannelijk als vrouwelijk. Tegenwoordig domineert mannelijk, maar in 1954 was "bank" vooral vrouwelijk. Niet toevallig dus dat ik "bank" als vrouwelijk ervaar: in die tijd leerde ik Nederlands schrijven en lezen.
PS 2: Briljant. Volgens mij is dat een kwalificatie van een product of resultaat. De hoeveelheid uren die dit product of resultaat hebben gekost, doen er m.i. niet toe. Ik vroeg mijn studenten nooit naar de uren die zij in een paper hadden gestoken maar beoordeelde de kwaliteit van het product. Ik hoorde daarna soms dat een student vreselijk veel tijd had gestoken in een product dat onvoldoende scoorde, en anderen haalden een 10 in weinig tijd. Omgekeerd kwam overigens vaker voor. Een briljant product kwam hoogstzelden voor.

DIXI zei

Zie de ps.