Which techniques could be applied to AES to prevent these kind of attacks?
I can just think of creating noise with a parallel process for random computation, so the signals have the combination of that process and the crypto process.
Masking (attempt to conceal the intermediate date processed by modifying the data such that the complete secret is never processed simultaneously)
For example you can introduce s-box shuffling in AES as a software solution to decrease the likelihood that the attack succeeds.
Pseudo Code s-box shuffling from Figure 2 of www.indjst.org/index.php/indjst/article/download/61626/48132:
Begin // The assignment of Round Key Byte RK // The generation of Random Value shuffle = rand()%8 // The execution of Key Expansion KeyExpansion(Byte Masterkey, Byte Roundkey) // The assignment of the execution of eight-shuffling AES (*ptr_shuffle)(Byte PT, Byte RK, Byte CT) ptr_shuffle = &AES_Original1 ptr_shuffle = &AES_Original1_Macro ptr_shuffle = &AES_Original2 ptr_shuffle = &AES_Original2_Macro ptr_shuffle = &AES_Bertoni ptr_shuffle = &AES_Bertoni_Macro ptr_shuffle = &AES_T-Table ptr_shuffle = &AES_T-Table_Macro // The execution of eight-shuffling AES ptr_shuffle[shuffle](PT, RK, CT)) End