Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Public keys voor leken

16-04-2025, 20:30 door Erik van Straten, 10 reacties
Laatst bijgewerkt: 16-04-2025, 20:36
 
Asymmetrische cryptografie
Bij asymmetrische cryptografie is er sprake van twee "complementaire" sleutels.

Er wordt gebruik gemaakt van een wiskundige truc die lastig uit te leggen valt.

Onderstaand beeld van een doorsnede van een kluis maakt het concept hopelijk duidelijker:
.————————————————————————
/###### Kluiswand #######
|####.——————————————————
|###/.—————————————————
|###|| Kluisdeur Scharnieren =>
|###||
|# ======|====|===== Schuif
|###|| \' ' / <==>
|###|| (!) (!)
|###|| | | | | Vergrendelslot
|###|| (slotcylinder)
|###|| ^
|###|| Ontgrendelslot

Met het uitroepteken in elk cylinderslot heb ik geprobeerd de plaats aan te geven waar de sleutel in gestoken wordt. Om de afbeelding van de "cylinder" (voor een deurslot) te begrijpen kunt u (vanaf seconde 22) kijken naar https://youtube.com/watch?v=PKmOeROcG7Q (waarom zo'n cylinder uitsluitend de juiste sleutel accepteert, legt Laurens mooi uit in https://youtube.com/watch?v=ZVORjkW6JtY).

In bovenstaand "plaatje" worden twee verschillende cylinders gebruikt en dus ook twee verschillende sleutels.

Met de vergrendelsleutel kun je de kluis op slot doen (door de sleutel tegen de wijzers van de klok in te draaien, wordt de schuif naar links geduwd), maar niet ontgrendelen.

En andersom, met de ontgrendelsleutel kun je de kluis ontgrendelen, maar niet op slot doen.

Het concept van een fysieke kluis is lastig te vertalen naar asymmetrische encryptie. Je zou zo'n kluis (inclusief cylinders en sleutels), net als een MP3'tje (als u nog weet wat dat is), eindeloos vaak moeten kunnen kopiëren - maar hopelijk begrijpt u de gedachtengang m.b.t. de sleutels.

Belangrijk
Er zijn twee zaken van fundamenteel belang:

1) Houd een private key strikt geheim. Een nieuwe denkstap daarbij (zie "toepassingen") is dat een private key ofwel een vergrendelsleutel, ofwel een ontgrendelsleutel is (beide kan ook, maar leidt tot lastig uit te leggen risico's: gewoon niet doen).

2) U moet, op de een of andere (niet ingebouwde!) manier vaststellen dat een public key die die u van iemand krijgt, daadwerkelijk van degene is die de bijpassende private key in diens bezit heeft. Het risico dat een "postbode" zich voordoet als een ander, is een onderschat probleem (een public key via e-mail verzenden, zonder aanvullende checks, zou een doodzonde moeten zijn).

Nb. voor dit tweede punt zijn certificaten uitgevonden; daarbij verifieert een derde partij (de certificaatuitgever) of de bezitter van de public key is wie deze zegt te zijn én over de bijpassende private key beschikt. Wel zult u dan de certificaatuitgever moeten vertrouwen (zie "certificaten" verderop).

Twee verschillende toepassingen
De kluis maakt de volgende gedachtengang hopelijk eenvoudiger, namelijk dat een public key ofwel een ontgrendelsleutel, ofwel een vergrendelsleutel kan zijn:
Ontgrendel- |
sleutel: | Toepassing:
————————————+——————————————————————
Private key | Versleutelen
Public key | Digitale handtekening

Voor de vergrendelsleutel geldt het omgekeerde:
Vergrendel- |
sleutel: | Toepassing:
————————————+——————————————————————
Private key | Digitale handtekening
Public key | Versleutelen

Versleutelen
Als u iets versleuteld van mij wilt ontvangen, heb ik uw vergendelsleutel nodig. Omdat u nooit uw private key(s) mag delen, moet dat uw public key zijn.

Wat ik wil versleutelen, stop ik in de hierboven geschetste kluis, draai deze op slot met uw (publieke) vergrendelsleutel en stuur de "kluis" (een digitaal bestand) naar u toe.

Omdat (hopelijk) niemand anders dan u de private key (hier de ontgrendelsleutel) heeft, kan niemand anders dan u de kluis openmaken (het versleutelde bestand ontsleutelen). Ook ik kan dat niet meer.

In de praktijk zit er een stap tussen, zie "Voor gevorderden" verderop.

Digitale handtekening
Bij digitale handtekeningen is juist de private key de vergrendelsleutel.

Vereenvoudigd stopt u het digitaal te ondertekenen bestand in de kluis en vergrendelt deze met uw vergrendelsleutel.

U verstuurt vervolgens beide: zowel het originele bestand als de kluis.

Iedereen die uw ontgrendelsleutel (hier de public key) heeft, en zeker weet dat het uw public key is, kan de kluis openmaken.

En, essentieel, beide bestanden (byte voor byte) met elkaar vergelijken. Als de bestanden identiek zijn, weet de ontvanger zeker dat de bezitter van de private key de verzender (of zelfs de auteur) is.

Ook hier geldt dat er, in de praktijk, een stap tussenzit, zie "Voor gevorderden" verderop.

Digitale certificaten
Een certificaat is een digitaal bestand dat bevat:
• de public key van "iemand"
• identificerende gegevens van die "iemand"
• aangevuld met bijv. geldigheidsduur
• een digitale handtekening over alle bovenstaande gegevens, gezet door een certificaatuitgever.

Hoe meer u die certificaatuitgever vertrouwt, en (mits zij die "iemand" ondubbelzinnig identificeren), hoe betrouwbaarder de identificerende gegevens van die "iemand" zijn: hoe zekerder u weet dat de gegeven public key daadwerkelijk van de beschreven "iemand" is.

Nb. ik schrijf "iemand" omdat het ook om een organisatie (of zelfs een computer) kan gaan, een entiteit dus.

Een digitaal certificaat is dus een handig middel om, met enige zekerheid, te weten dat een public key daadwerkelijk van "iemand" is die u niet zelf kent (in de situatie dat u niet eenvoudig, bijv. via een telefoontje met de betrokkene, kunt vaststellen dat het om diens public key gaat).

Voor gevorderden
De nu bekende algoritmes voor asymmetrische cryptografie zijn erg traag, vooral indien grote hoeveelheden data moeten worden versleuteld of digitaal ondertekend.

Versleuteling
Bij versleuteling wordt er daarom, bij elke handeling, een random symmetrische (vaak AES) sleutel gegenereerd. Het te versleutelen bestand wordt met díe symmetrische sleutel versleuteld. Daarna wordt die symmetrische sleutel "in de kluis gestopt" waarna de kluis met de public key wordt vergrendeld.

Zowel de kluis als het versleutelde bestand worden samen verzonden.

Digitale handtekening
Bij digitale handtekeningen wordt er, over het te ondertekenen bestand, een cryptografische hash (*) berekend.

Die berekende hashwaarde wordt in de kluis gestopt, die wordt vergrendeld met de private key.

De ontvanger (van zowel de kluis als het onbehandelde bestand) berekent zélf de cryptografische hash over het ontvangen bestand. Na het openen van de kluis wordt de hash daarin met de berekende hash vergeleken. Als de hashes identiek zijn, toont dat met enorme zekerheid aan dat het bestand niet is gewijzigd sinds te zijn "ondertekend" door de digitale ondertekenaar.

(*) Het voert te ver om hier uit te leggen hoe cryptografische hashes werken, zie bijv. https://nl.wikipedia.org/wiki/Hashfunctie#Cryptografie.
Reacties (10)
17-04-2025, 15:32 door Anoniem
Door Erik van Straten:  
Asymmetrische cryptografie
Bij asymmetrische cryptografie is er sprake van twee "complementaire" sleutels.

Er wordt gebruik gemaakt van een wiskundige truc die lastig uit te leggen valt.

Onderstaand beeld van een doorsnede van een kluis maakt het concept hopelijk duidelijker:
.————————————————————————
/###### Kluiswand #######
|####.——————————————————
|###/.—————————————————
|###|| Kluisdeur Scharnieren =>
|###||
|# ======|====|===== Schuif
|###|| \' ' / <==>
|###|| (!) (!)
|###|| | | | | Vergrendelslot
|###|| (slotcylinder)
|###|| ^
|###|| Ontgrendelslot

Met het uitroepteken in elk cylinderslot heb ik geprobeerd de plaats aan te geven waar de sleutel in gestoken wordt. Om de afbeelding van de "cylinder" (voor een deurslot) te begrijpen kunt u (vanaf seconde 22) kijken naar https://youtube.com/watch?v=PKmOeROcG7Q (waarom zo'n cylinder uitsluitend de juiste sleutel accepteert, legt Laurens mooi uit in https://youtube.com/watch?v=ZVORjkW6JtY).

In bovenstaand "plaatje" worden twee verschillende cylinders gebruikt en dus ook twee verschillende sleutels.

Met de vergrendelsleutel kun je de kluis op slot doen (door de sleutel tegen de wijzers van de klok in te draaien, wordt de schuif naar links geduwd), maar niet ontgrendelen.

En andersom, met de ontgrendelsleutel kun je de kluis ontgrendelen, maar niet op slot doen.

Het concept van een fysieke kluis is lastig te vertalen naar asymmetrische encryptie. Je zou zo'n kluis (inclusief cylinders en sleutels), net als een MP3'tje (als u nog weet wat dat is), eindeloos vaak moeten kunnen kopiëren - maar hopelijk begrijpt u de gedachtengang m.b.t. de sleutels.

Dappere poging, maar ik ben niet overtuigd of zodanig gedwongen analogie echt helpt. Het is niet echt een bestaand/herkenbaar slot-concept .

Ik heb een tijdje zitten denken, maar ik kan ook geen herkenbare analogie bedenken die het asymmetrische aspect goed dekt.

Het blijft ook gewoon *ontzettend* raar dat je zowel algorithme als sleutel kunt uitdelen, en TOCH de boel niet kunt decrypten .

Voor degenen die wat doordenken op een slot-sleutel analogie (en trouwens - beginnende programmeurs) - dat je de sleutel niet kunt vinden bij symmetrische encryptie door het algorithme en de ciphertext te kennen is eigenlijk ook niet makkelijk te snappen (of te accepteren).
"Intuitief" zou je denken dat je dat je door de ciphertext terug te sturen in het algorithme (en eventueel bekende plaintext) je moet zien welke sleutel er nodig was.
Bij 'klassieke' ciphers (Caesar, Vigenere, OTP) werkt dat ook.


Bij een mechanisch slot kun je (praktisch en voorstelbaar) - vinden hoe de sleutel eruit moet zien als je het slot (evt destructief ) analyseert . Ook dat beperkt de reikwijdte van de analogie.

Qua uitleg zou ik zelf neigen naar de simpele _stelling_ dat het gewoon redelijk makkelijk is om twee getallen te vermenigvuldigen, maar "moeilijk" om een getal weer in die factoren te ontbinden .

Dat is in zoverre "herkenbaar inzichtelijk" dat je op basisschool wel geleerd hebt te vermenigvuldigen , en als je dat recept maar mechanisch volgt maakt het niet uit hoe groot de getallen zijn, en "ontbinden in factoren" op school niveau neerkomt op " proberen totdat het lukt" , of de optimalisatie "probeer alleen priemgetallen" totdat het lukt.

En dat "met alle bekende wiskunde en heel grote computers" het 'wat' sneller kan dan de basischool-aanpak, maar uiteindelijk het verschil blijft , en met erg grote getallen een onmogelijke opgave wordt.

Op dat fundamentele verschil is (één van de ) asymmetrische encryptie gebouwd .
Hoe - dat gaat te ver om uit te leggen.
17-04-2025, 17:03 door Erik van Straten
In elk geval dank voor de reactie!

Door Anoniem: Het blijft ook gewoon *ontzettend* raar dat je zowel algorithme als sleutel kunt uitdelen, en TOCH de boel niet kunt decrypten .
Er is wel meer "raar".

Neem twee polaroid platen en zet die, onderling 90° gedraaid, achter elkaar. Er komt (bijna) geen licht meer doorheen.

Steek nu een polaroid plaat, 45° gedraaid, voor een deel tussen die andere twee. En tadaa, die drie platen achter elkaar laten weer wél licht door.

Het rare aan asymmetrische encryptie m.b.v. RSA is inderdaad dat het ontbinden in factoren van twee met elkaar vermenigvuldigde priemgetallen véél langer duurt dan die vermenigvuldiging (plus het zoeken naar de priemgetallen, ook niet te onderschatten qua benodigde tijd, want eigenlijk moet je 2x ontbinden in factoren om te bepalen of het om een priemgetal gaat).

Het is dus een ordinaire truc waarbij de omgekeerde berekening veel langer duurt dan de berekening waar je mee begon. Althans, met de soort computers die wij vandaag kennen.

Overigens kennen we, in het dagelijks leven, vergelijkbare zaken als de kluis die ik beschreef, d.w.z. voor de helft:

• Voor de meeste voordeuren geldt dat als je ze achter je dichttrekt, je ze niet meer open kunt krijgen zonder sleutel.

• Ook hangsloten kun je meestal "op slot" krijgen zonder sleutel, door de beugel in het huis te drukken.

• Om de motorkap van een auto open te krijgen, moet je meestal in de auto een hendeltje overhalen, en vervolgens (tegen het openwaaien) aan een extra hendeltje middenvoor onder die motorkap trekken. Dicht laten vallen en/of aandrukken (een heel andere handeling) herstelt de oorspronkelijke toestand.

• Een fiets met een terugtraprem. Je kunt zelfs "vrijlooplagers" kopen waarin een as maar één kant op kan draaien (voorbeeld: https://www.lagerboer.nl/a-58398899/vrijlooplagers/hf2016-ntn/).

En zo bestaan er ongetwijfeld nog meer "trapdoor functions".

Uit https://en.wikipedia.org/wiki/Trapdoor_function, ik noemde het hierboven al:
Consider a padlock and its key. It is trivial to change the padlock from open to closed without using the key, by pushing the shackle into the lock mechanism. Opening the padlock easily, however, requires the key to be used. Here the key t is the trapdoor and the padlock is the trapdoor function.

De uitleg met de kluis was het beste dat ik kon bedenken - zonder mensen af te schrikken met priemgetallen en ontbinden in factoren (laat staan elliptische curves).

Je hoeft ook niet precies te weten hoe een verbrandings- (of elektro-) motor werkt om auto te kunnen rijden. Het is wél loeibelangrijk dat je weet welke risico's je onder bepaalde omstandigheden neemt. Enig begrip over bijvoorbeeld je stopafstand bij verschillende weersomstandigheden (t/m ijzel of windkracht 12) is simpelweg noodzakelijk.

Dat geldt ook voor de omgang met public/private keys en certificaten. Je hoeft niet te weten hoe alles werkt, maar enige basiskennis wordt steeds essentiëler in onze snel digitaliserende maatschappij.

En, als je niet meedenkt/meediscussieert (omdat je dat niet kunt, of je genegeerd wordt omdat je overduidelijk niet weet waar de klepel hangt), nemen anderen beslissingen voor jou. En die zijn zelden in jouw voordeel.
17-04-2025, 18:17 door Anoniem
Door Erik van Straten: In elk geval dank voor de reactie!

Door Anoniem: Het blijft ook gewoon *ontzettend* raar dat je zowel algorithme als sleutel kunt uitdelen, en TOCH de boel niet kunt decrypten .
Er is wel meer "raar".

Neem twee polaroid platen en zet die, onderling 90° gedraaid, achter elkaar. Er komt (bijna) geen licht meer doorheen.

Steek nu een polaroid plaat, 45° gedraaid, voor een deel tussen die andere twee. En tadaa, die drie platen achter elkaar laten weer wél licht door.


Mw, dat is m.i. een ander nivo "raar" - voor de totale leek gaat het richting googelarij , of "dat is nou eenmaal zo bij die dingen".
Het gedrag met het derde filter wordt "raar" bij een bepaald mentaal model dat al wel de twee filters op 90 graden verklaart .

Als je vanaf niks begint is eigenlijk het gedrag van _twee_ polariserende filters al raar - met één zie je "niks" gebeuren, en met de tweede erbij van alles afhankelijk van de stand. En dan begint de uitleg of een mentaal model waarom dat gedrag zo is.

Maar goed, er is zeker meer 'raar' in de wereld.
Dingen die altijd omlaag vallen maar niet omhoog, behalve kermisballonnen die omhoog 'vallen' , terwijl je zelf opgeblazen ballon wel zachtjes omlaag valt.

En het asymmetrische gedrag dat ik dingen die zelf gecrypt hebt met een pubkey niet meer zelf kan decrypten zit bij mij ook vrij hoog in de categorie "HUH" , denkend vanuit de substitutie-cipher gedrag.
Het blijft m.i. tegen-intuitief.


(er zijn natuurlijk veel niet-omkeerbare zaken in de entropie-hoek - je krijgt de siroop niet meer ont-mengt uit het water - ,of het ingestorte kaartenhuis bouwt zichzelf niet terug , maar daar is geen andere persoon die het wel makkelijk kan. En bij de pubkey is die er wel )


Het rare aan asymmetrische encryptie m.b.v. RSA is inderdaad dat het ontbinden in factoren van twee met elkaar vermenigvuldigde priemgetallen véél langer duurt dan die vermenigvuldiging (plus het zoeken naar de priemgetallen, ook niet te onderschatten qua benodigde tijd, want eigenlijk moet je 2x ontbinden in factoren om te bepalen of het om een priemgetal gaat).

Uh, auw. brainfart ?
priemTESTEN is efficient en snel, en doe je zeker niet door een factorisatie te proberen .
(priemtesten - typisch een beperkte trial devision met de eerste handvol priemgetallen uit een tabel, en dan een aantal Fermat of Rabin-Miller testen . Die zeggen wel of een getal priem danwel composiet is, maar geven NIET de factoren van een composiet bevonden getal ).


Het is dus een ordinaire truc waarbij de omgekeerde berekening veel langer duurt dan de berekening waar je mee begon. Althans, met de soort computers die wij vandaag kennen.

Dat is de belofte/dreiging van Quantum computers inderdaad.

truc zou ik niet zo zeggen, klinkt wat goedkoop. Gewoon deze eigenschap is de fundamentele bouwsteen waarop asymmetrische encryptie gebouwd is.


Overigens kennen we, in het dagelijks leven, vergelijkbare zaken als de kluis die ik beschreef, d.w.z. voor de helft:

• Voor de meeste voordeuren geldt dat als je ze achter je dichttrekt, je ze niet meer open kunt krijgen zonder sleutel.

• Ook hangsloten kun je meestal "op slot" krijgen zonder sleutel, door de beugel in het huis te drukken.

• Om de motorkap van een auto open te krijgen, moet je meestal in de auto een hendeltje overhalen, en vervolgens (tegen het openwaaien) aan een extra hendeltje middenvoor onder die motorkap trekken. Dicht laten vallen en/of aandrukken (een heel andere handeling) herstelt de oorspronkelijke toestand.

• Een fiets met een terugtraprem. Je kunt zelfs "vrijlooplagers" kopen waarin een as maar één kant op kan draaien (voorbeeld: https://www.lagerboer.nl/a-58398899/vrijlooplagers/hf2016-ntn/).

Ah nice. Dat zijn mooie analogien inderdaad.
de niet-derailleur versnellingsnaaf - eindeloos terugdraaien, alleen aandrijving in de "heen" stand .
ratel-sleutel (of de "onrust" in een klok) zijn ook voorbeelden.

[..]


De uitleg met de kluis was het beste dat ik kon bedenken - zonder mensen af te schrikken met priemgetallen en ontbinden in factoren (laat staan elliptische curves).

Je hoeft ook niet precies te weten hoe een verbrandings- (of elektro-) motor werkt om auto te kunnen rijden. Het is wél loeibelangrijk dat je weet welke risico's je onder bepaalde omstandigheden neemt. Enig begrip over bijvoorbeeld je stopafstand bij verschillende weersomstandigheden (t/m ijzel of windkracht 12) is simpelweg noodzakelijk.

Dat klopt.


Dat geldt ook voor de omgang met public/private keys en certificaten. Je hoeft niet te weten hoe alles werkt, maar enige basiskennis wordt steeds essentiëler in onze snel digitaliserende maatschappij.

Ik denk dat voor de keuzes waar je als leek iets van kunt vinden die leken-versie van asymmetrische encryptie eigenlijk niks toevoegt. "Nice to know" , absoluut .


En, als je niet meedenkt/meediscussieert (omdat je dat niet kunt, of je genegeerd wordt omdat je overduidelijk niet weet waar de klepel hangt), nemen anderen beslissingen voor jou. En die zijn zelden in jouw voordeel.

Dan doe je de RFC schrijvers , de inzenders van algorithmen en analyses van crypto-contesten toch nogal tekort.

Voor de keuze welke crypto suite "nodig" is , is de opinie van iemand die net de leken-uitleg kan volgen totaal irrelevant.
Het is een wereldwijd heel klein aantal mensen dat _echt_ wat relevants ervan kan vinden en publiceren, en het nivo eronder kan dan met de natte vinger de meest relevante papers en publicaties proberen te selecteren en daar de opinie op baseren.
Gisteren, 08:58 door karma4
Door Anoniem:
Uh, auw. brainfart ?
priemTESTEN is efficient en snel, en doe je zeker niet door een factorisatie te proberen .
(priemtesten - typisch een beperkte trial devision met de eerste handvol priemgetallen uit een tabel, en dan een aantal Fermat of Rabin-Miller testen . Die zeggen wel of een getal priem danwel composiet is, maar geven NIET de factoren van een composiet bevonden getal ).
Te gemakkelijk, want dan zou het zeer eenvoudige zijn om een paar van de grootste priemgetallen te vinden.
https://www.livescience.com/physics-mathematics/mathematics/what-is-the-largest-known-prime-number
Geeft enkel een test van getallen in een bepaalde structuur niet voor elk willekeurig getal.
Gisteren, 09:18 door karma4
Door Erik van Straten:
Dat geldt ook voor de omgang met public/private keys en certificaten. Je hoeft niet te weten hoe alles werkt, maar enige basiskennis wordt steeds essentiëler in onze snel digitaliserende maatschappij.

En, als je niet meedenkt/meediscussieert (omdat je dat niet kunt, of je genegeerd wordt omdat je overduidelijk niet weet waar de klepel hangt), nemen anderen beslissingen voor jou. En die zijn zelden in jouw voordeel.
Dit is de basis en moet het uitgangspunt zijn.

Met je uitleg zou ik bij de probleemstelling blijven, wel willen uitwisselen en niet dat anderen met het bericht de inhoud mee kunnen kijken. Dan wordt de private key voor het ontsleutelen en de pub voor het versleutelen.

Met de asymmetrie uitleg zou ik gewoon wegblijven van het gebeuren met priemgetallen.
Houd dat eenvoudiger:
1 rekenen
- als je twee gehele getallen neemt dan is het product een geheel getal.
- neem je een geheel getal en probeer je een deling dan i s dat resultaat niet vanzelfsprekend een geheel getal.
2 - differentiaal en integraal functies,
Er zijn vele bekend waarbij er een oplossing er zijn er nog veel meer waar dat niet zo is.
Je komt hier snel in de chaotische onvoorspelbare systemen waarbij het onmogelijk is om iets om verdere herhalingen te berekenen, voorspellen waar dat op de korte herhaling er wel op lijkt en uiteindelijk een patroon toch iets nuttigs kan hebben.

De belofte van een quantumcomputer dat alles ineens voorspelbaar zou worden zal bijvoorbeeld voor het weer niet opgaan.
Ik denk dat er hier de klassieke valkuil is dat omdat je lang geleerd hebt dat van alles rekenkundig op te lossen is (het bekende) dan wel van alles rekenkundig op te lossen is (het onbekende).
Gisteren, 11:00 door Anoniem
Door karma4:
Door Anoniem:
Uh, auw. brainfart ?
priemTESTEN is efficient en snel, en doe je zeker niet door een factorisatie te proberen .
(priemtesten - typisch een beperkte trial devision met de eerste handvol priemgetallen uit een tabel, en dan een aantal Fermat of Rabin-Miller testen . Die zeggen wel of een getal priem danwel composiet is, maar geven NIET de factoren van een composiet bevonden getal ).
Te gemakkelijk, want dan zou het zeer eenvoudige zijn om een paar van de grootste priemgetallen te vinden.
https://www.livescience.com/physics-mathematics/mathematics/what-is-the-largest-known-prime-number
Geeft enkel een test van getallen in een bepaalde structuur niet voor elk willekeurig getal.

Te gemakkelijk ?
priemtesten IS makkelijk, ook voor willekeurige getallen.
Je doet het iedere keer dat je een SSH key aanmaakt (of een certificaat aanmaakt, maar dat mensen wat minder vaak).
En gaat precies zoals ik schreef.

Makkelijk voor ~1024 bit lengte is ruim minder dan een seconde om te testen of een random kandidaat priem is.
(zo niet, probeer de volgende totdat je een priemgetal tegenkomt. Er zijn er genoeg )
En het ontbinden van een 2048 bit composiet bestaande uit twee priemgetallen van rondom de 1024 bit is dus 'nog steeds niet mogelijk' .

https://security.stackexchange.com/questions/176394/how-does-openssl-generate-a-big-prime-number-so-fast

De 'grootst bekende' priemgetallen zijn inderdaad van speciale vorm (Mersenne priemgetallen) omdat die vorm _nog_ makkelijker te testen is. De recordhouders zijn ook van een lengte (tientallen miljoenen digits) heel erg ruim boven RSA-encryptie sleutel lengte (paar honderd digits per priemgetal) .
Gisteren, 11:45 door Erik van Straten
Door Anoniem:
Door Erik van Straten: En, als je niet meedenkt/meediscussieert (omdat je dat niet kunt, of je genegeerd wordt omdat je overduidelijk niet weet waar de klepel hangt), nemen anderen beslissingen voor jou. En die zijn zelden in jouw voordeel.

Dan doe je de RFC schrijvers , de inzenders van algorithmen en analyses van crypto-contesten toch nogal tekort.

Voor de keuze welke crypto suite "nodig" is [...]
Daar is gaat het mij beslist niet om.

Voor de meeste automobilisten zie ik geen reden waarom het hen zou moeten interesseren of de benzinemoter in hun auto 3, 4 of 6 cylinders heeft. Wel zie ik redenen waarom het hen zou kunnen interesseren dat hun auto voortdurend diens positie en andere gegevens doorgeeft aan de fabrikant (je zal maar in de VS naar een abortuskliniek willen).

Big Tech bedrijven zetten het internet steeds verder naar hun hand en lobbyen overheden suf. Met als gevolg dat het internet steeds onveiliger wordt, we steeds afhankelijker van de VS worden (denk o.a. aan Cloudflare) en overheden willen dat we een EDIW/EUDIW (European Digital Identity Wallet) gaan gebruiken.

Om te begrijpen hoe het e.e.a. werkt én de risico's daarvan te kunnen overzien (o.a. AitM), is het, in veel gevallen, noodzakelijk dat (eventele) toehoorders begrijpen wat ik bovenaan deze pagina schreef.

Ook kan ik daar nu naar verwijzen, zonder mensen die het wél snappen lastig te hoeven vallen met onnodig lange lappen tekst.
Gisteren, 12:15 door Anoniem
Door Erik van Straten:
Door Anoniem:
Door Erik van Straten: En, als je niet meedenkt/meediscussieert (omdat je dat niet kunt, of je genegeerd wordt omdat je overduidelijk niet weet waar de klepel hangt), nemen anderen beslissingen voor jou. En die zijn zelden in jouw voordeel.

Dan doe je de RFC schrijvers , de inzenders van algorithmen en analyses van crypto-contesten toch nogal tekort.

Voor de keuze welke crypto suite "nodig" is [...]
Daar is gaat het mij beslist niet om.

Voor de meeste automobilisten zie ik geen reden waarom het hen zou moeten interesseren of de benzinemoter in hun auto 3, 4 of 6 cylinders heeft. Wel zie ik redenen waarom het hen zou kunnen interesseren dat hun auto voortdurend diens positie en andere gegevens doorgeeft aan de fabrikant (je zal maar in de VS naar een abortuskliniek willen).

Maar je snapt toch dat de crypto-voor-leken uitleg overeenkomt met een inlaatslag-compressieslag-arbeidsslag-uitslaatslag krukas, bougie verhaal voor auto bestuurders ?

Wat , voor geinteresseerden, ontzettend leuk is om "iets van te snappen" , maar verder niet relevant is voor auto, positie delen en maatschappelijke dingen daaraan ?
Gisteren, 13:18 door Anoniem
PKI: https://www.youtube.com/watch?v=U62S8SchxX4
Gisteren, 17:38 door Erik van Straten
Dank voor die link!

Alleen is dat geen "PKI" (Public Key Infrastructure) maar secure "Key Exchange": hoe twee partijen (browser en server) via een onversleutelde verbinding een "secret key" kunnen uitwisselen, op het eerste gezicht zonder dat snuffelaars op die verbinding die "secret key" te weten kunnen komen.

Hier zijn echter twee problemen mee:

1) Niet digitaliseerbaar?
Het kan aan mij liggen, maar ik kan mij geen digitale oplossing voor de geest halen waarmee je die koffer met de twee hangsloten (symmetrische encryptie) nabootst.

Het zou heel fijn zijn als zoiets bestond als alternatief voor het asymmetrische Diffie-Hellman algoritme (dat hoogstwaarschijnlijk slachtoffer wordt van toekomstige quantum-computers, waar symmetrische encryptie vergelijkingsgewijs verwaarloosbaar kwetsbaar voor is).

Een vereenvoudigde uitleg van hoe de "key exchange" bij https met "forward secrecy" werkt gaf ik in https://security.nl/posting/884658 (zie Fictieve forward secrecy).

2) AitM-risico
Dit systeem heeft dezelfde zwakte als Diffie-Hellman: één van de kinderen (of alledrie, zelfs zonder dat zij dit van elkaar weten!) in het filmpje kan als AitM (Attacker in the Middle) optreden. Nb. de presentator in het filmpje verzwijgt dit (in elk geval in deze video).

Hieronder schets ik de situatie waarbij het "eerste" kind rechts al een AitM is.

a) De man rechts doet één van de twee blauwe sessiesleutels in de koffer en sluit die koffer aan één kant af met het rode hangslot. Vervolgens geeft hij de afgesloten koffer aan het eerste kind "onderweg".

b) Het kind sluit de koffer aan de ándere kant af met een geel hangslot en geeft de koffer weer terug aan de man rechts.

c) De man rechts verwijdert het rode hangslot na het te hebben geopend met diens sleutel, en geeft de koffer weer aan het kind.

d) Het kind verwijdert het gele hangslot na het te hebben geopend met diens sleutel, opent de koffer en heeft nu ook de blauwe sleutel.

Het kind heeft nu twee keuzes:

I) Afwachten welke informatie de persoon rechts gaat delen (of bijv. een popup op diens scherm tonen waarin staat dat zijn computer besmet is);

II) Bovenstaand stukje herhalen met het kind links van hem of haar, en echt "in het midden gaan zitten". Dat is vaak veel slimmer. Als de presentator links een website is waar de man rechts op inlogt, kan het kind het teruggestuurde "session cookie" (of JWT o.i.d.) bemachtigen, de sessie kapen en bijv. het wachtwoord wijzigen.

Je hebt dus wél een versleutelde verbinding, maar je hebt geen idee met wie. Dat zul je, op raadselachtige wijze, zelf uit moeten zien te vinden. Bij elke https-verbinding, wel te verstaan.

Oplossing voor probleem 2: certificaten
Als oplossing voor probleem 2 zijn certificaten uitgevonden. Het idee daarbij is dat je het uitzoeken "om wie gaat het" overlaat aan een derde partij, die je vervolgens -noodzakelijkerwijs- zult moeten vertrouwen. Die derde partij stelt de identiteit van de verantwoordelijke voor de website vast, en neemt die gegevens, naast de (potentieel nietszeggende, maar wel lekker korte én wereldwijd unieke) domeinnaam, op in het certificaat.

Grotendeels zinloze certificaten
Helaas heeft Big Tech certificaten gesloopt door alle essentiële identificerende informatie over de verantwoordelijke voor een website eruit te verwijderen (de naïviteit van de verdedigers van dit concept vind ik onvoorstelbaar).

An sich geen probleem, namelijk als internetters zouden kunnen zien dat een website zo'n grotendeels zinloos certificaat gebruikt (en je dus a.d.h.v. de domeinnaam moet weten wie de eigenaar is) of juist een zinvol certificaat (waaruit blijkt wie de verantwoordelijke is voor de website).

Maar juist dat verschil zien internetters niet. Die informatie wordt hen opzettelijk onthouden in browsers, omdat dit websites met die grotendeels zinloze certificaten veel minder waard zou maken. Met als gevolg dat Big Tech er veel minder aan zou verdienen. Daarom is het één pot nat.

En omdat internetters toch geen verschil meer zien (of zelfs kunnen zien, vooral in mobiele browsers - die steeds meer worden gebruikt ten koste van desktop-browsers), gaan ook steeds meer (regelmatig geïmpersoneerde) websites flutcertificaten gebruiken (terwijl van u, als internetter, steeds vaker geëist wordt dat u met hogere betrouwbaarheid bewijst dat u bent wie u zegt dat u bent).

Voorbeeld van grotendeels zinloze certificaten
Bijvoorbeeld https://nefkens-opel.nl heeft (net als https://nefkens.nl) een certificaat, waarmee je, als je die link opent, grote zekerheid hebt dat jouw browser daadwerkelijk een (versleutelde, en niet te AitM'en) verbinding heeft met een server waarop een website draait die toegang heeft tot een private key passend bij de public key in het certificaat van https://nefkens-opel.nl (c.q. https://nefkens.nl - lees dat allemaal gerust nog een keer, of ga door met het volgende - want het boeit niet).

Alleen zegt dat HELEMAAL NIETS over van WIE de website met de domeinnaam nefkens-opel.nl (c.q. nefkens.nl) op dit moment is.

Ondanks een certificaat heb je wél een versleutelde verbinding, maar je hebt NOG STEEDS geen idee met wie. Dat zul je, op raadselachtige wijze, zelf uit moeten zien te vinden. Bij elke https-verbinding met zo'n flutcertificaat, wel te verstaan.

Nb. In een website zelf kijken heeft nauwelijks of geen zin. Oplichters doen er alles aan om een nepwebsite op een echte te laten lijken. Wat dat betreft is https://nefkens-opel.nl een slecht voorbeeld, want daaraan zie je al snel dat je daar weg moet wezen. Ik kan echter geen links naar echte nepwebsites opnemen, want dan zou ik meewerken aan cybercrime. Een lijst met domeinnamen van nepsites publiceerde ik o.a. in https://security.nl/posting/879531.
Reageren
Ondersteunde bbcodes
Bold: [b]bold text[/b]
Italic: [i]italic text[/i]
Underline: [u]underlined text[/u]
Quote: [quote]quoted text[/quote]
URL: [url]https://www.security.nl[/url]
Config: [config]config text[/config]
Code: [code]code text[/code]

Je bent niet en reageert "Anoniem". Dit betekent dat Security.NL geen accountgegevens (e-mailadres en alias) opslaat voor deze reactie. Je reactie wordt niet direct geplaatst maar eerst gemodereerd. Als je nog geen account hebt kun je hier direct een account aanmaken. Wanneer je Anoniem reageert moet je altijd een captchacode opgeven.