low randomness masking and shulfifgn
play

Low Randomness Masking and Shulfifgn: An Evaluation Using Mutual - PowerPoint PPT Presentation

Low Randomness Masking and Shulfifgn: An Evaluation Using Mutual Information Kostas Papagiannopoulos kostaspap88@gmail.com kpcrypto.net Radboud University Nijmegen Digital Security Department The Netherlands 1 Overview Masking,


  1. Low Randomness Masking and Shulfifgn: An Evaluation Using Mutual Information Kostas Papagiannopoulos kostaspap88@gmail.com kpcrypto.net Radboud University Nijmegen Digital Security Department The Netherlands 1

  2. Overview • Masking, shuffling and the cost of RNG • New countermeasure variants that recycle randomness • Pitfalls in formal security and noise amplification 2

  3. Introduction Masking and Shuffling Schemes Against Side-Channel Analysis 3

  4. Introduction: Masking Schemes • One of the most popular S0 countermeasures against SCA S7 S1 • Forces the adversary to recombine shares • Performs noise amplification [1] Secret S2 S6 S S5 S3 S4 [1] Suresh Chari, Charanjit S. Jutla, Josyula R. Rao, and Pankaj Rohatgi. Towards sound approaches to counteract power-analysis attacks. 3 [2] Yuval Ishai, Amit Sahai, and David Wagner. Private circuits: Securing hardware against probing attacks

  5. Introduction: Masking Schemes • One of the most popular S0 countermeasures against SCA S7 S1 • Forces the adversary to recombine shares • Performs noise amplification [1] Secret S2 S6 S • Computationally demanding in operations and RNG, S5 S3 𝑃(𝑜 2 ) random elements for ISW S4 multiplication with 𝑜 shares [2] [1] Suresh Chari, Charanjit S. Jutla, Josyula R. Rao, and Pankaj Rohatgi. Towards sound approaches to counteract power-analysis attacks. 3 [2] Yuval Ishai, Amit Sahai, and David Wagner. Private circuits: Securing hardware against probing attacks

  6. Introduction: Shuffling Schemes • Widely deployed countermeasure Sbox1 Sbox2 Sbox3 Sbox4 • Permutes blocks • Performs noise amplification [3] Sbox3 Sbox1 Sbox4 Sbox2 [3] Nicolas Veyrat-Charvillon, Marcel Medwed, Stéphanie Kerckhof, and François-Xavier Standaert. Shuffling against side-channel attacks: A comprehensive study with cautionary note 6 [4] Donald E. Knuth. The Art of Computer Programming, Volume 2 (3rd Ed.): Seminumerical Algorithms

  7. Introduction: Shuffling Schemes • Widely deployed countermeasure • Permutes blocks Sbox1 Sbox2 Sbox3 Sbox4 • Performs noise amplification [3] • Computationally demanding in RNG, approx. k ∗ ceil 𝑚𝑝𝑕 2 k random bits, for 𝑙 operations shuffled [4] Sbox3 Sbox1 Sbox4 Sbox2 [3] Nicolas Veyrat-Charvillon, Marcel Medwed, Stéphanie Kerckhof, and François-Xavier Standaert. Shuffling against side-channel attacks: A comprehensive study with cautionary note 6 [4] Donald E. Knuth. The Art of Computer Programming, Volume 2 (3rd Ed.): Seminumerical Algorithms

  8. Introduction: RNG Overhead • The RNG constitutes a considerable performance overhead [5] Josep Balasch, Sebastian Faust, Benedikt Gierlichs, Clara Paglialonga, and François-Xavier Standaert. Consolidating inner product masking [6] Wouter de Groot, Kostas Papagiannopoulos, Antonio de La Piedra, Erik Schneider and Lejla Batina. Bitsliced masking and arm: Friends or foes? 10 [7] Benjamin Gregoire and Kostas Papagiannopoulos and Peter Schwabe and Ko Stoffelen . Vectorizing Higher-Order Masking

  9. Introduction: RNG Overhead • The RNG constitutes a considerable performance overhead • 2 nd -order AES on AVR pseudoRNG [5] [5] Josep Balasch, Sebastian Faust, Benedikt Gierlichs, Clara Paglialonga, and François-Xavier Standaert. Consolidating inner product masking [6] Wouter de Groot, Kostas Papagiannopoulos, Antonio de La Piedra, Erik Schneider and Lejla Batina. Bitsliced masking and arm: Friends or foes? 10 [7] Benjamin Gregoire and Kostas Papagiannopoulos and Peter Schwabe and Ko Stoffelen . Vectorizing Higher-Order Masking

  10. Introduction: RNG Overhead • The RNG constitutes a considerable performance overhead RNG • 2 nd -order AES on AVR 38% Cipher pseudoRNG [5] 62% [5] Josep Balasch, Sebastian Faust, Benedikt Gierlichs, Clara Paglialonga, and François-Xavier Standaert. Consolidating inner product masking [6] Wouter de Groot, Kostas Papagiannopoulos, Antonio de La Piedra, Erik Schneider and Lejla Batina. Bitsliced masking and arm: Friends or foes? 10 [7] Benjamin Gregoire and Kostas Papagiannopoulos and Peter Schwabe and Ko Stoffelen . Vectorizing Higher-Order Masking

  11. Introduction: RNG Overhead • The RNG constitutes a considerable performance overhead RNG • 2 nd -order AES on AVR 38% Cipher pseudoRNG [5] 62% • 2 nd -order PRESENT on ARM Cortex-M4 trueRNG [6] [5] Josep Balasch, Sebastian Faust, Benedikt Gierlichs, Clara Paglialonga, and François-Xavier Standaert. Consolidating inner product masking [6] Wouter de Groot, Kostas Papagiannopoulos, Antonio de La Piedra, Erik Schneider and Lejla Batina. Bitsliced masking and arm: Friends or foes? 10 [7] Benjamin Gregoire and Kostas Papagiannopoulos and Peter Schwabe and Ko Stoffelen . Vectorizing Higher-Order Masking

  12. Introduction: RNG Overhead • The RNG constitutes a considerable performance overhead RNG • 2 nd -order AES on AVR 38% Cipher pseudoRNG [5] 62% RNG 25% • 2 nd -order PRESENT on ARM Cortex-M4 Cipher 75% trueRNG [6] [5] Josep Balasch, Sebastian Faust, Benedikt Gierlichs, Clara Paglialonga, and François-Xavier Standaert. Consolidating inner product masking [6] Wouter de Groot, Kostas Papagiannopoulos, Antonio de La Piedra, Erik Schneider and Lejla Batina. Bitsliced masking and arm: Friends or foes? 10 [7] Benjamin Gregoire and Kostas Papagiannopoulos and Peter Schwabe and Ko Stoffelen . Vectorizing Higher-Order Masking

  13. Introduction: RNG Overhead • The RNG constitutes a considerable performance overhead RNG • 2 nd -order AES on AVR 38% Cipher pseudoRNG [5] 62% RNG 25% • 2 nd -order PRESENT on ARM Cortex-M4 Cipher 75% trueRNG [6] • 4 th -order AES on ARM Cortex-A with NEON assembly /dev/urandom [7] [5] Josep Balasch, Sebastian Faust, Benedikt Gierlichs, Clara Paglialonga, and François-Xavier Standaert. Consolidating inner product masking [6] Wouter de Groot, Kostas Papagiannopoulos, Antonio de La Piedra, Erik Schneider and Lejla Batina. Bitsliced masking and arm: Friends or foes? 10 [7] Benjamin Gregoire and Kostas Papagiannopoulos and Peter Schwabe and Ko Stoffelen . Vectorizing Higher-Order Masking

  14. Introduction: RNG Overhead • The RNG constitutes a considerable performance overhead RNG • 2 nd -order AES on AVR 38% Cipher pseudoRNG [5] 62% RNG 25% • 2 nd -order PRESENT on ARM Cortex-M4 Cipher 75% trueRNG [6] Cipher 1% • 4 th -order AES on ARM Cortex-A with NEON assembly /dev/urandom [7] RNG 99% [5] Josep Balasch, Sebastian Faust, Benedikt Gierlichs, Clara Paglialonga, and François-Xavier Standaert. Consolidating inner product masking [6] Wouter de Groot, Kostas Papagiannopoulos, Antonio de La Piedra, Erik Schneider and Lejla Batina. Bitsliced masking and arm: Friends or foes? 10 [7] Benjamin Gregoire and Kostas Papagiannopoulos and Peter Schwabe and Ko Stoffelen . Vectorizing Higher-Order Masking

  15. Recycled Randomness Masking Reducing the RNG overhead in masking with RRM 15

  16. RRM: Example • Assume two 2 nd -order secure, independent ISW mult. gadgets 𝑨 = 𝑦𝑧 , 𝑑 = 𝑏𝑐 𝑨 0 = 𝑦 0 𝑧 0 ⊕ 𝑥 0 ⊕ 𝑥 1 𝑨 1 = 𝑦 1 𝑧 1 ⊕ ((𝑥 0 ⊕ 𝑦 0 𝑧 1 ) ⊕ 𝑦 1 𝑧 0 ) ⊕ 𝑥 2 𝑨 2 = 𝑦 2 𝑧 2 ⊕ ((𝑥 1 ⊕ 𝑦 0 𝑧 2 ) ⊕ 𝑦 2 𝑧 0 ) ⊕ ((𝑥 2 ⊕ 𝑦 1 𝑧 2 ) ⊕ 𝑦 2 𝑧 1 ) 𝑑 0 = 𝑏 0 𝑐 0 ⊕ 𝑢 0 ⊕ 𝑢 1 𝑑 1 = 𝑏 1 𝑐 1 ⊕ ((𝑢 0 ⊕ 𝑏 0 𝑐 1 ) ⊕ 𝑏 1 𝑐 0 ) ⊕ 𝑢 2 𝑑 2 = 𝑏 2 𝑐 2 ⊕ ((𝑢 1 ⊕ 𝑏 0 𝑐 2 ) ⊕ 𝑏 2 𝑐 0 ) ⊕ ((𝑢 2 ⊕ 𝑏 1 𝑐 2 ) ⊕ 𝑏 2 𝑐 1 ) 16

  17. RRM: Example • Recycle some random numbers from the first to the second gadget 𝑨 0 = 𝑦 0 𝑧 0 ⊕ 𝑥 0 ⊕ 𝑥 1 𝑨 1 = 𝑦 1 𝑧 1 ⊕ ((𝑥 0 ⊕ 𝑦 0 𝑧 1 ) ⊕ 𝑦 1 𝑧 0 ) ⊕ 𝑥 2 𝑨 2 = 𝑦 2 𝑧 2 ⊕ ((𝑥 1 ⊕ 𝑦 0 𝑧 2 ) ⊕ 𝑦 2 𝑧 0 ) ⊕ ((𝑥 2 ⊕ 𝑦 1 𝑧 2 ) ⊕ 𝑦 2 𝑧 1 ) 𝑑 0 = 𝑏 0 𝑐 0 ⊕ 𝑥 0 ⊕ 𝑥 1 𝑑 1 = 𝑏 1 𝑐 1 ⊕ ((𝑥 0 ⊕ 𝑏 0 𝑐 1 ) ⊕ 𝑏 1 𝑐 0 ) ⊕ 𝑢 2 𝑑 2 = 𝑏 2 𝑐 2 ⊕ ((𝑥 1 ⊕ 𝑏 0 𝑐 2 ) ⊕ 𝑏 2 𝑐 0 ) ⊕ ((𝑢 2 ⊕ 𝑏 1 𝑐 2 ) ⊕ 𝑏 2 𝑐 1 ) Reduced Randomness cost by 2 random numbers 17

  18. RRM: Example • Formal security verification [8] : the 2-multiplication gadget is 2-NI 𝑨 0 = 𝑦 0 𝑧 0 ⊕ 𝑥 0 ⊕ 𝑥 1 𝑨 1 = 𝑦 1 𝑧 1 ⊕ ((𝑥 0 ⊕ 𝑦 0 𝑧 1 ) ⊕ 𝑦 1 𝑧 0 ) ⊕ 𝑥 2 𝑨 2 = 𝑦 2 𝑧 2 ⊕ ((𝑥 1 ⊕ 𝑦 0 𝑧 2 ) ⊕ 𝑦 2 𝑧 0 ) ⊕ ((𝑥 2 ⊕ 𝑦 1 𝑧 2 ) ⊕ 𝑦 2 𝑧 1 ) 𝑑 0 = 𝑏 0 𝑐 0 ⊕ 𝑥 0 ⊕ 𝑥 1 𝑑 1 = 𝑏 1 𝑐 1 ⊕ ((𝑥 0 ⊕ 𝑏 0 𝑐 1 ) ⊕ 𝑏 1 𝑐 0 ) ⊕ 𝑢 2 𝑑 2 = 𝑏 2 𝑐 2 ⊕ ((𝑥 1 ⊕ 𝑏 0 𝑐 2 ) ⊕ 𝑏 2 𝑐 0 ) ⊕ ((𝑢 2 ⊕ 𝑏 1 𝑐 2 ) ⊕ 𝑏 2 𝑐 1 ) [8] Jean-Sebastien Coron. Formal Verification of Side-channel Countermeasures via Elementary Circuit Transformations. 18

  19. RRM: Example • Recycle more! 𝑨 0 = 𝑦 0 𝑧 0 ⊕ 𝑥 0 ⊕ 𝑥 1 𝑨 1 = 𝑦 1 𝑧 1 ⊕ ((𝑥 0 ⊕ 𝑦 0 𝑧 1 ) ⊕ 𝑦 1 𝑧 0 ) ⊕ 𝑥 2 𝑨 2 = 𝑦 2 𝑧 2 ⊕ ((𝑥 1 ⊕ 𝑦 0 𝑧 2 ) ⊕ 𝑦 2 𝑧 0 ) ⊕ ((𝑥 2 ⊕ 𝑦 1 𝑧 2 ) ⊕ 𝑦 2 𝑧 1 ) 𝑑 0 = 𝑏 0 𝑐 0 ⊕ 𝑥 0 ⊕ 𝑥 1 𝑑 1 = 𝑏 1 𝑐 1 ⊕ ((𝑥 0 ⊕ 𝑏 0 𝑐 1 ) ⊕ 𝑏 1 𝑐 0 ) ⊕ 𝑥 2 𝑑 2 = 𝑏 2 𝑐 2 ⊕ ((𝑥 1 ⊕ 𝑏 0 𝑐 2 ) ⊕ 𝑏 2 𝑐 0 ) ⊕ ((𝑥 2 ⊕ 𝑏 1 𝑐 2 ) ⊕ 𝑏 2 𝑐 1 ) Reduced Randomness cost by 3 random numbers 19

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend