Side channel attacks Gerrit Wiltink 4 februari 2010
1
Inleiding
Het is belangrijk te onderzoeken of cryptografische algoritmen veilig (genoeg) zijn. De tak van de wetenschap die zich hiermee bezig houdt heet cryptoanalyse. Bij analyse van een cryptografisch algoritme gebruikt men 1. de kennis die men over het algoritme heeft, en 2. (eventuele) informatie over de input en output ervan. Bij kennis over de input kan men denken aan een (gekozen) klaretekst-aanval, bij de output aan een (gekozen) cijfertekst-aanval. Natuurlijk zijn ook combinaties hiervan mogelijk. De aanname dat dit alle informatie is die verkregen en gebruikt kan worden voor de analyse van een cryptografisch algoritme kan niet zonder meer overgenomen worden wanneer het de analyse van een implementatie van dat algoritme betreft. Dit geldt uiteraard ook voor de eventueel geconstateerde theoretische veiligheid van het algoritme. Bij een implementatie van een cryptografisch algoritme kan men denken aan smartcards. Iedereen heeft tegenwoordig wel een of meer van deze kaartjes bij zich (Chipknip, OV-chipkaart, etc. . . ) en vertrouwt op de veiligheid ervan. Omdat deze kaartjes zo klein zijn is het voor een kwaadwillende vaak erg gemakkelijk ze (een poosje) ongemerkt mee te nemen. Met uitzondering van sectie 2.1, waar een aanval op een Apache webserver beschreven wordt, gaat deze paper dan ook uit van een smartcard-implementatie. Het blijkt dat er meer input- en outputkanalen zijn dan de hiervoor genoemde (zie Figuur 1). Deze extra informatiekanalen worden side channels genoemd, aanvallen die er gebruik van maken side channel attacks. Side channel attacks zijn op te delen in actieve en passieve aanvallen. Actieve aanvallen zijn door de aanvaller veroorzaakte veranderingen (in de omgeving) van een implementatie. Bij passieve aanvallen kijkt de aanvaller enkel naar informatie die lekt tijdens de (correcte) werking van de implementatie. Omdat passieve aanvallen, in tegenstelling tot actieve aanvallen, geen schade achterlaten is het lastiger een op deze manier gecompromitteerde smartcard te herkennen. Deze paper is als volgt opgebouwd: in secties 2 en 3 worden voorbeelden van passieve aanvallen, respectievelijk een tijdaanval en een stroomaanval, besproken. In sectie 4 volgen actieve aanvallen. Daarna wordt kort ingegaan op overige methoden en tegenmaatregelen.
1
Figuur 1: Als een aanvaller de beschikking heeft over een smartcard waarop hij wat cryptografische operaties kan uitvoeren, kan hij metingen doen om extra informatie te krijgen. Zo kan hij meten hoe lang de smartcard over een decryptie doet, of hoeveel stroom deze verbruikt tijdens het zetten van een handtekening. Zelfs vrijkomende elektromagnetische straling is een bron van informatie. [7]
2
Tijdaanval
Elke instructie die uitgevoerd wordt op een computer kost tijd. Hoeveel tijd kan afhangen van de operanden van de instructie. Het vermenigvuldigen van twee grote getallen zal bijvoorbeeld meer tijd kosten dan het vermenigvuldigen van twee kleine getallen. Theoretisch gezien kan een aanvaller dus uit de duur van een instructie informatie over de operanden afleiden. Praktisch gezien kan dit ook, mits er voldoende vaak en nauwkeurig genoeg gemeten wordt. Deze situatie wordt gevaarlijk wanneer de operanden deel uit maken van geheime data, in cryptografische algoritmen kan men dan denken aan bits van de geheime sleutel. Bij een tijdaanval (Engels: timing attack ) probeert de aanvaller geheime data te weten te komen aan de hand van verzamelde gegevens over de tijdsduur van een of meer cryptografische handelingen. Een (cryptografisch) algoritme kan altijd beveiligd worden tegen een tijdaanval. Als een operatie binnen het algoritme altijd precies even lang duurt, kan de aanvaller geen informatie meer krijgen door de tijdsduur te meten. In de praktijk is deze oplossing vaak niet wenselijk, want systemen worden er erg traag van. De eerste tijdaanval (op RSA-decryptie) werd beschreven door Kocher [8]. Deze aanval maakt gebruik van de extra vermenigvuldiging bij het square-andmultiply-algoritme, die in de ie iteratie optreedt wanneer de ie bit van de exponent op 1 staat. Deze aanval werd tegen een aantal smartcards in de praktijk gebracht door Dhem e.a. [5].
2.1
RSA
In 2003 beschreven Brumley en Boneh een succesvolle aanval op de OpenSSLimplementatie van RSA waarbij de modulus n werd gefactoriseerd [4]. Met deze aanval konden ze, over een lokaal computernetwerk, de 1024-bits geheime RSAsleutel van een Apache webserver te weten komen. Hieronder wordt hun aanpak kort beschreven. De OpenSSL-implementatie van RSA is in hoge mate geoptimaliseerd. Zo
2
Figuur 2: Als g dicht onder een veelvoud van p of q zit neemt het aantal extra reducties tijdens het machtsverheffen sterk toe. Wanneer g een veelvoud van p of q is daalt dat aantal sterk. Door tijdverschillen die ontstaan als gevolg van deze extra reducties te meten kan een aanvaller informatie over g (mod q) en g (mod p) te weten komen. [4] wordt er in subgroepen gerekend met de Chinese reststelling, machtsverheffen gebeurt met sliding windows (een variant van square-and-multiply), modulaire reductie met het Montgomery-algoritme en er zijn maar liefst twee verschillende vermenigvuldigingsroutines. Samen versnellen deze optimalisaties de decryptie, maar ze blijken ook belangrijke informatie over de (geheime) priemfactoren van de RSA-modulus te lekken. In de aanval wordt dan ook getracht de kleinste priemfactor q van de RSA-modulus n = pq te achterhalen. Tijdens de berekening x = y dq (mod q) wordt het Montgomery-algoritme gebruikt voor de reductie modulo q. Aan het eind van deze reductie wordt gecontroleerd of de output groter dan q is. Mocht dat zo zijn, dan wordt er q van afgetrokken zodat de output tussen 0 en q ligt. Deze extra reductie veroorzaakt een tijdverschil en de kans er op blijkt proportioneel te zijn met g (mod q) (zie Figuur 2). Zoals hierboven reeds genoemd, implementeert OpenSSL twee vermenigvuldigingsroutines: Karatsuba en ‘normaal’. Grote getallen worden gerepresenteerd als reeksen geheugenwoorden en wanneer getallen a en b even lang zijn (in aantal woorden) wordt Karatsuba gebruikt om hun product ab te berekenen. In het andere geval wordt ab berekend met het normale vermenigvuldigingsalgoritme. Omdat Karatsuba sneller is zal vermenigvuldiging van getallen van gelijke lengte sneller gaan dan vermenigvuldiging van getallen van verschillende lengte. Ook hier lekt dus informatie. Als y iets kleiner dan een veelvoud van q is zal OpenSSL bijna altijd gebruik maken van Karatsuba. Wanneer y iets groter dan een veelvoud van q is zullen de getallen het vaakst van verschillende lengte zijn, en wordt normale vermenigvuldiging gebruikt. Dit lijkt het tijdverschil door het Montgomery-algoritme op te heffen, maar in de aanval blijken de effecten in verschillende fasen te domineren. De aanval begint met een schatting g (Engels: guess) van q, die 512 bits lang zal zijn voor een 1024-bits modulus.
3
Daarna worden de bits, vanaf de meest significante, ´e´en voor ´e´en achterhaald totdat er 256 bekend zijn. Dan wordt met het algoritme van Coppersmith de gehele factor achterhaald. Gegeven een schatting g waarvoor de i − 1 meest significante bits gelijk zijn aan de i − 1 hiermee corresponderende bits van q, en alle andere bits op 0 staan. Nu wordt de waarde van de ie bit als volgt achterhaald. Laat g 0 gelijk zijn aan g, maar met de ie bit op 1. Als de ie bit van q ook 1 is geldt g < g 0 < q, in het andere geval geldt g < q < g 0 . Laat g en g 0 door de server ontsleutelen en meet de decryptietijden tg en tg0 . Als ∆ = |tg − tg0 | ‘groot’ uitvalt, zal de ie bit van q 0 zijn, als ∆ ‘klein’ uitvalt zal deze 1 zijn. Door niet alleen g en g 0 , maar een hele ‘neighborhood’ g, g + 1, g + 2, . . . , g + n (en evenzo voor g 0 ) te laten ontsleutelen wordt het verschil tussen een grote ∆Pen een kleine ∆ duidelijker n zichtbaar. De decryptietijd voor g wordt nu Tg = i=0 tgi . Om de effecten van 0 netwerkverkeer te beperken wordt elke g +i (en g +i) ook nog eens herhaaldelijk opgestuurd, het gemiddelde wordt nu als decryptietijd genomen. In de praktijk kan de aanvaller bijvoorbeeld tijdens de SSL-handshake decryptieverzoeken sturen aan de server. In plaats van een random getal, zoals gebruikelijk, stuurt hij nu z’n schatting g van q. Het blijkt dat met ongeveer anderhalf miljoen van deze decryptieverzoeken de factor q, en daarmee de geheime sleutel van de server, te achterhalen is. Deze aanval duurde circa 2 uur voor een 1024-bits modulus. Als verdediging tegen deze aanval kan de server de decryptieverzoeken blinderen met een random getal. Hierdoor zal de decryptietijd niet meer samenhangen met de gestuurde waarde. Na publicatie van deze aanval is standaard blindering inderdaad als patch aangebracht in OpenSSL.
3
Stroomaanval
Bij een stroomaanval (Engels: power attack ) probeert de aanvaller door het bestuderen van het stroomverbruik van een smartcard tijdens een cryptografische operatie geheime informatie te weten te komen. Om het stroomverbruik te meten wordt er een kleine weerstand geplaatst tussen de stroombron en de smartcard. De stroomsterkte wordt nu berekend door de spanning over de weerstand te delen door de weerstandswaarde. Een trace is een verzameling van zulke metingen. Hoe meer metingen er gedaan worden, des te nauwkeuriger de trace. Met een oscilloscoop kan het stroomverbruik inzichtelijk gemaakt worden. Voor analyse worden de traces opgeslagen op een computer. Aanvallen kunnen uitgevoerd worden met apparatuur die enkele honderden tot duizenden euro’s kost en gemakkelijk verkrijgbaar is. Er worden twee soorten stroomaanval onderscheiden.
3.1
Simple power analysis
Bij simple power analysis (SPA) wordt verloop van het stroomverbruik geanalyseerd (zie Figuur 3). Variaties in het stroomverbruik treden op bij het uitvoeren van verschillende instructies. Zo zal een trace van het permuteren van een bitrij (DES) er anders uitzien dan die van de vermenigvuldiging van twee grote getallen (RSA). SPA kan zo onthullen welke instructies uitgevoerd worden. Als een smartcard gebruik maakt van geheime data (bijvoorbeeld bits van de sleu-
4
Figuur 3: Een SPA-trace van een DES-operatie. De zestien ronden van het algoritme, alsmede de initi¨ele permutatie en die aan het eind, zijn duidelijk herkenbaar. [9] tel) om het executiepad te bepalen, kan de aanvaller aan de hand van de trace terugredeneren naar de waarde van deze data. Een voorbeeld hiervan is het square-and-multiply-algoritme (zie sectie 2). Een SPA-aanval duurt maar een paar seconden. Tegen SPA kan vrij eenvoudig verdedigd worden, vaak ten koste van de performance.
3.2
Differential power analysis
Differential power analysis (DPA) maakt gebruik van statistische methoden om de verkregen traces te analyseren. Een DPA-aanval kan enkele uren duren. Kocher, Jaffe en Jun beschrijven de volgende aanval op DES [9]. De aanvaller observeert eerst m (bijvoorbeeld 1.000) encrypties (met dezelfde sleutel) en verzamelt daarvan per encryptie de uiteindelijke cijfertekst en k (bijvoorbeeld 100.000) metingen van het stroomverbruik in de laatste paar ronden. Het is voor de aanval niet noodzakelijk de klare tekst te weten. De aanvaller verdeelt de m traces nu in twee verzamelingen. Dit doet hij op grond van een zogenaamde selectiefunctie. Bij deze aanval wordt de functie D(C, b, Ks ) gebruikt. Deze functie berekent de waarde van bit b (0 ≤ b < 32) van L15 voor cijfertekst C. Ks (0 ≤ Ks < 26 ) is hierbij een schatting van de sleutelbits die door de S-box gebruikt worden om bit b te berekenen. De traces waarbij D(C, b, Ks ) een 1 als uitkomst heeft worden in de ene verzameling geplaatst, de traces waarbij D(C, b, Ks ) een 0 als uitkomst heeft in de andere. Voor beide verzamelingen wordt een gemiddelde trace berekend. Deze twee gemiddelden worden van elkaar afgetrokken, waardoor de aanvaller de beschikking krijgt over een differenti¨ele trace ∆D . Als de gebruikte schatting voor Ks incorrect is zal ∆D rond de 0 vari¨eren omdat de selectiefunctie dan niet gecorreleerd is met wat er feitelijk berekend wordt door het apparaat. De selectiefunctie is dan dus een random functie, en de twee berekende gemiddelden zullen vrijwel gelijk zijn (als m groot genoeg is). Is de schatting voor Ks echter correct, dan zal ∆D pieken vertonen op plaatsen waar D gecorreleerd is met de waarden die worden berekend (zie Figuur 4). Ook RSA is kwetsbaar voor DPA. Hierbij worden geschatte bits van de exponent getest op correctheid door te controleren of verwachtte tussenresultaten correleren met de werkelijke berekening. Bij implementaties die met behulp van
5
Figuur 4: Aan de pieken in de bovenste differenti¨ele trace is te zien dat een goede schatting van Ks is gebruikt. De onderste twee differenti¨ele traces zijn vlak als gevolg van een onjuiste schatting van Ks . De bovenste trace is een normale, voor referentie opgenomen, trace. [9] de Chinese reststelling in subgroepen modulo p en modulo q rekenen, kan een selectiefunctie gedefini¨eerd worden over het terugrekenen naar modulo n. Een verdediging tegen stroomaanvallen is het plaatsen van dummy registers en gates, waarop nutteloze instructies uitgevoerd worden. Een ander idee is het fysiek afschermen van de smartcard. Het toevoegen van ruis doet het aantal benodigde samples voor een aanval toenemen, mogelijkerwijs tot het voor de aanvaller ondoenlijk wordt.
4
Foutaanval
Bij een foutaanval (Engels: fault attack ) veroorzaakt de aanvaller een fout in de berekening van het cryptosysteem zodat het resultaat onjuist zal zijn. Uit die foute uitkomst kan dan geheime informatie afgeleid worden. Er zijn ruwweg drie verschillende soorten foutaanvallen. • Niet-invasieve aanvallen. Bij deze aanvallen wordt de verpakking van de chip intact gelaten. Fouten worden veroorzaakt door de omstandigheden waaronder het apparaat werkt te manipuleren. Dit kan gedaan worden door pieken in de externe klok (glitch attack ) te introduceren. Deze pieken hebben tot gevolg dat de data die wordt verplaatst tussen registers en geheugen gecorrumpeerd raakt. Mogelijke andere aanvallen zijn het veroorzaken van pieken in de stroomvoorziening (spike attack ) of het extreem verhogen of verlagen van de omgevingstemperatuur. Voordeel van dit soort aanvallen is dat ze goedkoop en makkelijk uitvoerbaar zijn. Nadeel is dat ze effect op de gehele chip hebben, en dus weinig nauwkeurig 6
Figuur 5: Foutinjectie met een laser gebruikt het zelfde principe als zonnecellen. Als een foton met voldoende energie op een elektron in een metaal botst wordt de foton geabsorbeerd en het elektron van zijn plaats geschoten. Dit produceert een gat en een vrij elektron. Als dit in de buurt van een elektrisch veld gebeurt, bijvoorbeeld bij een p-n overgang, raken elektron en gat van elkaar gescheiden en ontstaat er een stroompje. Bij voldoende hoge intensiteit kan de zo opgewekte stroom de transistor laten schakelen. Als goedkope opstelling voor deze aanval kan men een laserdiode en een optische vezel (in plaats van een dure microscoop) gebruiken. De kosten hiervoor zijn ongeveer e15,-. [11] zijn. • Semi-invasieve aanvallen. Deze aanvallen vereisen toegang tot het oppervlak van de chip en richten zich ook op dataopslag. In de meeste gevallen is dan nodig dat de verpakking verwijderd wordt. Dit wordt gedaan door er een gaatje in te boren en dit op te vullen met rokend salpeterzuur. Hierna wordt het geheel ultrasoon gereinigd in aceton. Deze stappen worden herhaald totdat de chip voldoende blootgelegd is. Een voorbeeld van een semi-invasieve aanval is foutinjectie met een laser, zie Figuur 5. Nadeel van deze aanvallen is vooral het benodigde materiaal, zoals de hiervoor genoemde chemicali¨en. • Invasieve aanvallen. Deze aanvallen maken direct contact met de oppervlakte van de chip, dus ook hier zal de verpakking verwijderd worden. Zo kan de inhoud van het EEPROM geheugen gemanipuleerd worden. Ook is het mogelijk om verbindingen op de chip door te snijden en zo te knoeien met de random number generator. Voordeel is dat deze aanvallen erg nauwkeurig zijn, nadeel is dat er zeer dure installaties zoals een probe station, een lasersnijmachine, of een gefocusseerde ionenstraal voor nodig zijn. Verder worden foutaanvallen nog onderscheiden naar het type fout (flipt een bit of wordt deze juist ge(re)set), welke operatie verstoord wordt, hoeveel bits getroffen zijn, en duur van de fout (voorbijgaand, permanent of destructief).
4.1
RSA
Boneh, DeMillo en Lipton [3] beschreven hoe een fout in de berekening van een RSA-handtekening s = md (mod n) over een bericht m kan leiden tot het achterhalen van de priemfactoren p en q van de modulus n. Zij gaan uit van
7
een smartcard die de Chinese reststelling gebruikt om de exponentiatie in subgroepen uit te rekenen. Voor deze aanval wordt tweemaal achtereen bericht m ondertekend. Bij ´e´en van de berekeningen wordt echter de deelberekening sq = md (mod q) verstoord. Laat sp de correcte handtekening modulo p zijn, sq de correcte handtekening modulo q, en sˆq de incorrecte handtekening modulo q. Nu geldt ∆ = s − sˆ = (Wp sp + Wq sq ) − (Wp sp + Wq sˆq ) = Wq (sq − sˆq ) . Omdat Wq een veelvoud van p is, is ∆ dat ook. Factor p laat zich nu gemakkelijk berekenen als gcd (∆, n). Als tegenmaatregel kan een smartcard het resultaat controleren alvorens het op te leveren. Bijvoorbeeld door m0 = se te berekenen en na te gaan of m ≡ m0 , wanneer e klein is kan deze verificatie snel gedaan worden. Als dat niet het geval is kan de volgende truc van Shamir gebruikt worden. Neem een (relatief klein) random getal r en bereken de handtekening in subgroepen als sp = md (mod pr) en sq = md (mod qr). Controleer vervolgens of sp (mod r) ≡ sq (mod r).
4.2
DES
Ook DES is kwetsbaar voor een foutaanval [2]. De volgende aanval gaat uit van een fout in de vijftiende ronde van DES. In de zestiende ronde worden L16 = R15 R16 = L15 ⊕ f (R15 , K16 ) = L15 ⊕ f (L16 , K16 ) ˆ 15 = L ˆ 16 het incorrecte resultaat van de vijftiende ronde, berekend. Zij nu R dan: ˆ 16 = L15 ⊕ f (R ˆ 15 , K16 ) = L15 ⊕ f (L ˆ 16 , K16 ) R ˆ 16 te XOR-en ontstaat een vergelijking met ´e´en onbekende, naDoor R16 en R melijk K16 : ˆ 16 = L15 ⊕ f (L16 , K16 ) ⊕ L15 ⊕ f (L ˆ 16 , K16 ) R16 ⊕ R ˆ 16 , K16 ) = f (L16 , K16 ) ⊕ f (L Door deze aanval meerdere malen uit te voeren, met de foutinjectie op andere momenten tijdens de vijftiende ronde of met een verschillend bericht, kan gemakkelijk de rondesleutel achterhaald worden. Foutaanvallen op de opvolger van DES, AES, kunnen worden ingedeeld in twee varianten. De ene is gericht tegen de state, de andere tegen de key schedule. Kim en Quisquater beschreven in 2008 een aanval van de tweede soort, waarbij met vier paren correcte en incorrecte cijfertekst in 2,3 seconden de gehele sleutel van AES-128 achterhaald wordt [6]. Een algemene oplossing tegen een foutaanval is het tweemaal uitvoeren van de cryptografische operatie. Dit gaat echter flink ten koste van de performance en er bestaat een niet-verwaarloosbare kans dat de fout twee keer optreedt. 8
5
Overige methoden en tegenmaatregelen
Naast de in de vorige secties besproken aanvallen zijn er nog andere side channels. Gelekte elektromagnetische straling is daar ´e´en van. Dit werd in 2001 gedemonstreerd door Quisquater en Samyde. [10]. Aanvallen hiermee lijken erg op de in sectie 3 besproken DPA, maar zijn over het algemeen krachtiger. Voordeel is ook dat ze van een afstand uitgevoerd kunnen worden. Een aanvaller kan ook gebruik maken van geluiden die ontstaan tijdens de berekening (acoustische cryptoanalyse). Een aanval zou kunnen lopen via een gehackte laptop die door de onwetende eigenaar meegenomen wordt naar een veilige ruimte waar belangrijke informatie wordt verwerkt [12]. Er is een aantal manieren om implementaties veilig(er) te maken tegen side channel attacks. Zo moeten alle operaties die gedaan worden door de implementatie data-onafhankelijk zijn wat betreft hun tijdsduur. Dit betekent onder andere dat de tijdsduur van een operatie niet meer mag afhangen van de geheime sleutel. Inputblindering zoals beschreven in sectie 2 is een goede oplossing. Wel moet rekening gehouden worden met het eventuele lekken van informatie over de blindingersprocedure zelf. Ook het gebruik van geheime deelresultaten of sleutelmateriaal voor conditional branching operaties dient vermeden te worden.
6
Conclusie
Het is bij het ontwerp van een cryptografisch systeem van belang dat het theoretisch veilig is. Maar zoals in de voorgaande secties is laten zien is dat alleen niet voldoende. Er moet ook rekening gehouden worden met zwaktes die pas ontstaan in de implementatiefase. Voor veel aanvalsmethoden zijn oplossingen beschikbaar, maar de meeste zullen niet resulteren in optimale systemen. Er zal dus een afweging gemaakt moeten worden tussen snelheid en veiligheid. Vooral van groot belang is dat ontwerpers van algoritmen, softwareontwikkelaars, en hardwarefabrikanten op de hoogte zijn van elkaars werk. Anders zullen er gaten blijven ontstaan in systemen die veilig verondersteld worden.
Referenties [1] H. Bar-El ‘Introduction to Side Channel Attacks’. [2] H. Bar-El, H. Choukri, D. Naccache, M. Tunstall, C. Whelan ‘The Sorcerer’s Apprentice Guide to Fault Attacks’, 2004. [3] D. Boneh, R. DeMillo, and R. Lipton ‘On the importance of checking cryptographic protocols for faults’ Journal of Cryptology Vol. 14, Nr. 2, 2001, pp. 101-119. [4] D. Brumley, D. Boneh ‘Remote Timing Attacks are Practical’ SSYM’03: Proceedings of the 12th conference on USENIX Security Symposium 2003. ´, J.-J. Quisqua[5] J.-F. Dhem, F. Koeune, P.-A. Leroux, P. Mestre ter, J.-L. Willems ‘A practical implementation of the timing attack’ CARDIS ’98: Proceedings of the International Conference on Smart Card Research and Applications 2000, pp. 167-182.
9
[6] C. H. Kim, J.-J. Quisquater ‘New Differential Fault Analysis on AES Key Schedule: Two Faults Are Enough’ CARDIS ’08: Proceedings of the International Conference on Smart Card Research and Advanced Applications 2008, pp. 48-60. [7] P. Kocher, J. Jaffe, B. Jun ‘Introduction to Differential Power Analysis and Related Attacks’ 1998. [8] P. C. Kocher ‘Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems’ CRYPTO ’96: Proceedings of the 16th Annual International Cryptology Conference on Advances in Cryptology Vol. 1109, 1996, pp. 104-113. [9] P. C. Kocher, J. Jaffe, B. Jun ‘Differential Power Analysis’ CRYPTO ’99: Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology Vol. 1666, 1999, pp. 388-397. [10] J.-J. Quisquater, D. Samyde ‘ElectroMagnetic Analysis (EMA): Measures and Counter-Measures for Smard Cards’ Proceedings of Smart Card Programming and Security Vol. 2140, 2001, pp. 200-210. [11] J.-M. Schmidt ‘Differential Fault Analysis - Final Report’ [12] A. Shamir, E. Tromer ‘Acoustic cryptanalysis’ http://www.wisdom. weizmann.ac.il/~tromer/acoustic/ [13] ‘The Side Channel Cryptanalysis Lounge’ http://www.crypto.rub.de/ en_sclounge.html [14] Wikipedia, ‘Side channel attack’ en gerelateerde pagina’s.
10