One of the key security aspects which must be evaluated for cryptosystems is their resistance against side-channel attacks. Masking is a commonly used countermeasure against side-channel attacks, in which the secret to be protected is partitioned into multiple shares using random “masks”. A k-order masked implementation uses k+1 shares. Masked implementations are available for the key encapsulation mechanism of Saber, a finalist in the NIST post-quantum cryptography standardization project. Though Saber has not been selected for standardization, it is similar to the selected CRYSTALS-Kyber, and may therefore have similar leakage. In this thesis, a side-channel attack against a higher-order masked implementation of Saber is attempted. A previous attack on first-order masked Saber using a deep learning-based approach is used as a starting point, though differences in the implementations make the attack not directly applicable to the higher-order case. A byte-wise leakage is found in the higher-order masked implementation, and two different attacks on this leakage point are considered. The first uses the Hamming weights of bytes and is able to recover Hamming weights of individual shares but not the complete message or secret keys from 2nd-order masked Saber. The other uses a method from a different previous side-channel attack in which message bytes are recovered using biased deep learning models. This method successfully recovers all message bytes from 1st-order masked Saber and is shown to successfully recover byte values from 2nd-order masked Saber by training multiple biased models and selecting the best performing models from these, though this also requires a much larger amount of attack data than the 1st-order masking case. This shows that a bytewise leakage in higher-order masked Saber can be exploited using a power analysis side-channel attack, though recovering the complete message and secret keys remains as future work. / En av de främsta säkerhetsaspekterna som måste utvärderas för krypteringsalgoritmer är resistens mot sidokanalsattacker. Maskning är en av de vanligaste åtgärderna för att skydda mot sidokanalsattacker, där känslig information partitioneras i flera delar med hjälp av slumpmässiga värden. En maskning av ordning k använder k+1 delar. Maskade implementationer finns tillgängliga för Saber, en av finalisterna NISTs postkvantkryptografiska standardiseringsprojekt. Saber har inte valts som standard, men har många likheter med den valda standarden CRYSTALS-Kyber och kan därför ha liknande sårbarheter. I detta examensarbete utförs en sidokanalsattack på en högre ordnings maskad implementation av Saber. En tidigare attack på första ordningens maskad Saber används som utgångspunkt, men skillnader i implementationen gör att denna attack inte kan användas direkt. Ett läckage på byte-nivå hittads i den högre ordnings maskade implementationen, och två olika attacker utförs. Den första, som använder Hammingvikten av en byte i meddelandet, kunde erhålla Hammingvikterna för individuella delar av det maskade meddelandet, men inte det ursprungliga meddelandet. Den andra attacken använder en metod från en tidigare sidokanalsattack där meddelanden kunde erhållas med hjälp av partiska djupinlärningsmodeller. Den här metoded kunde användas för att erhålla alla bytevärden från meddelandet med fösta ordningens maskning. Med betydligt mer data och genom att träna ett flertal djupinlärningsmodeller och sedan välja de bästa från bland dessa kunda även vissa bytevärden erhållas från andra ordningens maskning. Detta visar att denna svaghet på byte-nivå kan användas vid en attack på högre ordnings maskad Saber, men det återstår att extrahera hela meddelandet och hemliga nycklar.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-321374 |
Date | January 2022 |
Creators | Paulsrud, Nils |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2022:701 |
Page generated in 0.0029 seconds