Verwijderd schreef op 06 May 2003 @ 07:31:
[...]
Hm, zit op zich wat in, ware het niet dat je zo'n sessie natuurlijk kan faken. En zo'n key-check kun je afluisteren en vervolgens hardcoden.
Ik stel 't wat simpel voor, maar ik zie niet in waarom 't niet zou werken.

.
De key-check kan je wel afluisteren maar niet hardcoderen omdat het met een toevalsgenerator werkt.Het is een zogenaam "zero knowledge proof" protocol.
Zo'n protol werkt bijvoorbeeld als volgt:
Microsoft heeft twee geheimen priemgetallen
P en
Q die vermenigvuldigt het getal
M opleveren wat niet geheim is.
Elke tcpa chip krijgt een unieke sleutel
I die kwadraat modulo
M is en de wortel
i daarvan die vrijwel onmogelijk te berekenen is tenzij je de twee priemgetallen
P en
Q hebt. Het getal
I is de publieke sleutel terwijl
i de geheime sleutel is die de tcpa chip nooit mag prijsgeven.
Om toch te weten of de tcpa chip het geheime getal
i kent moet je een soort kansspel spelen.
De tcpa chip genereert een willekeurig getal
x en bepaalt het getal
X dat het kwadraat van
x modulo
M is. De tcpa chip vertelt jouw wat
X is maar niet wat
x is. Vervolgens mag je een van de volgende twee vragen stellen:
1) Wat is
x?
2) Wat is
x * i?
Beide antwoorden zijn eenvoudig te controleren:
x2 =
X modulo
M of (
x * i)
2 =
X * I modulo
M.
Echter als de (valse) tcpa chip het getal
i niet kent dan moet hij gokken wat mijn vraag wordt. Als ik vraag 1) ga kiezen dan kan de chip een getal
x kiezen en het kwadraat
X berekenen en dat vertellen. Als ik echter vraag 2) ga stellen dan moet moet de chip een getal
y kiezen met kwadraat
Y en dan zeggen dat
X =
Y / I is.
In beide gevallen kan de chip mijn vraag beantwoorden zonder het getal
i te kennen.
Een valse tcpa chip heeft dus 50% kans dat hij het antwoord op mijn vraag goed heeft. Door nu dit vraag-antwoord spelletje 100 keer te spelen is de kans dat de tcpa chip alle vragen goed gokt nog maar 1 op de 2
100 en weet je (vrijwel) zeker dat de tcpa chip het geheime getal
i kent zonder zelf te weten wat
i is.
Er zitten wel wat haken een ogen aan dit protocol.
Je moet bij het kiezen van de vragen gebruik maken van een veilige toevalsgenerator die niet te voorspellen waarden oplevert anders kan de tcpa chip de vragen voorspellen. Een applicatie die afhankelijk is van de kernel voor toevalsgetallen kan dus makkelijk misleid worden.
Tevens moet de tcpa chip heel goed oppassen welke getallen hij genereert. Als de chip twee keer de zelfde
X levert dan verraad hij zijn geheim

.