Analýza postranních kanálů algoritmu ChaCha20
Side-channel analysis of ChaCha20
Type of document
diplomová prácemaster thesis
Author
Lukáš Daněk
Supervisor
Miškovský Vojtěch
Opponent
Olekšák Matúš
Field of study
Návrh a programování vestavných systémůStudy program
InformatikaInstitutions assigning rank
katedra číslicového návrhuRights
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Show full item recordAbstract
Tato práce se zabývá zranitelností proudové šifry ChaCha20 vůči útokům pomocí postranních kanálů, se zaměřením na její softwarovou implementaci ve vestavných systémech. ChaCha20 je založena na principu ARX (Addition, Rotation, XOR), který využívá pouze jednoduché aritmetické a bitové operace, jež jsou obecně považovány za odolné vůči únikům informací. Nicméně nedávné výzkumy ukazují, že i tyto konstrukce mohou být při reálné implementaci zranitelné. Cílem této práce je vyhodnotit bezpečnost šifry ChaCha20 vůči útokům založeným na analýze spotřeby. Šifra byla testována na dvou široce používaných platformách, XMEGA a STM32F3, s využitím nástroje ChipWhisperer pro postranní analýzu kanálů. Bylo provedeno důkladné vyhodnocení úniku informací pomocí specifického a nespecifického t-testu za účelem identifikace potenciálně zranitelných oblastí. V případě nesprávného použití šifry, konkrétně opakovaného použití nonce, byl pomocí úspěšného CPA útoku rekonstruován celý výstupní proud klíče. Tento scénář slouží jednak jako důkaz zranitelnosti ChaCha20 při chybném nasazení, a zároveň jako ověření měřicího postupu a implementovaného útoku. Při správném použití nonce se pomocí CPA nepodařilo rekonstruovat celý šifrovací klíč ani na jedné z platforem. Byl také proveden experiment o možnosti použití DPA, který byl ale rovněž neúspěšný. Byl však navržen a experimentálně ověřen nový postup založený na CPA, který umožňuje získat bajty klíče uložené v prvním sloupci stavové matice ChaCha20. Metoda využívá korelace v druhé rundě šifry a pomocí inverzních operací zpětně rekonstruuje původní bajty klíče. This thesis investigates the vulnerability of the ChaCha20 stream cipher to side-channel attacks, focusing on its software implementation in embedded systems. ChaCha20 is based on the ARX design principle, which relies exclusively on Addition, Rotation, and XOR operations, which are generally considered resistant to side-channel leakage. However, recent research demonstrates that even ARX constructions can be susceptible to leakage when implemented in practice. The main goal of this work is to evaluate the security of ChaCha20 against power analysis attacks. The cipher was evaluated on two widely used platforms, XMEGA and STM32F3, using the ChipWhisperer side-channel analysis framework. A thorough leakage assessment was conducted using specific and non-specific t-tests to identify exploitable leakage points. In the case of nonce misuse, full recovery of the keystream was demonstrated via a successful CPA attack. This scenario serves both as evidence of ChaCha20's vulnerability when used improperly and as validation of the attack setup and methodology. In scenarios with proper nonce usage, full key recovery was not achieved through CPA on either platform. A dedicated experiment on the feasibility of Differential Power Analysis (DPA) was also conducted, which did not yield any exploitable results. However, a novel CPA-based method for recovering key bytes stored in the first column of the ChaCha20 state was proposed and experimentally verified. This methodology leverages correlation in the second round of the cipher and applies inverse operations to reconstruct the original key bytes.