• Nenhum resultado encontrado

Ao longo desta dissertação foi tentado analisar, implementar e testar diversos modos de realizar, em FPGA, uma aplicação suficientemente segura do protocolo AES contra diversos métodos de interpretação de side-channels cedidos pelo processador através do seu consumo. Como tal foi tentado sanar esses mesmos, procurando evitar que pudessem ser relacionados com a chave usada para proteger o segredo.

Para esse efeito analisou-se diversos métodos, nomeadamente métodos baseados na alteração do protocolo com a intenção de tornar aleatório o valor do side-channel e métodos pensados para que o side-channel não transporta-se informação, por ser constante a sua variação.

Enquanto os primeiros referidos foram deixados de lado, pelo facto de terem vindo a ser, de uma forma crescente, comprovados vulneráveis através de estudos realizados pela comunidade académica, decidiu-se explorar os segundos.

Face aos métodos e arquitecturas propostas para implementação de contramedidas do género acima referido, uma grande parte dos artigos são dedicados à implementação destes métodos em ASIC e não em FPGA. Como tal o grande desafio que se apresentava era a adaptação dos mesmos a esta tecnologia.

Depois de uma análise cuidada às arquitecturas propostas apresentava-se a necessidade de escolher quais a implementar. Esta decisão recaiu sobre o que pode ser essencialmente visto como duas grandes arquitecturas, o Dual Rail Single Spacer e o Duplicated Dual Rail ou n- Round.

Enquanto o primeiro oferece-se como conceito a modificação da lógica para ser capaz de lidar com a codificação dos dados em duplicado, tornando-se um bit em dois com uma codificação própria, o segundo parte deste ponto e propõe a criação de rondas dummy, ou seja rondas em tudo idênticas às usadas no protocolo AES mas cujo os dados processados são ignorados, e em que a sua computação é executada sobre a negação de ambos, chave e plaintext.

92

Com a implementação destas técnicas foi pretendido aumentar a segurança das diversas implementações realizadas face à implementação sem aplicação de contramedidas. Para testar a validade das técnicas implementadas foi estabelecido um protocolo de testes, simulando um ataque ao sistema, através do uso de métodos no mesmo âmbito para o qual as contramedidas foram implementadas.

A análise destes demonstradores foi extensivamente executada com recurso a ferramentas desenvolvidas para o efeito. Com essas, comprovou-se a validade das contramedidas de forma a incrementar a segurança face a ataques dedicados a analisar o side- channel referente ao consumo de energia.

Dentro das melhorias conseguidas é dado a escolher entre duas arquitecturas diferentes, obtendo melhores resultados para a aproximação ao conceito Duplicated Dual Rail com 8 rondas. No entanto, entra em discussão a necessidade de estabelecer uma comparação de ganhos de segurança, face ao overhead de hardware que significa a aplicação desta técnica, ficando desse modo a decisão numa questão de tradeoff entre os dois pontos anteriores.

Embora se possa retirar conclusões dos dados obtidos por estes testes, e como é constantemente referido nesta área, essas mesmas não podem ser consideradas definitivas sendo a sua validade limitada ao comportamento observado nos dados obtidos.

Como tal um trabalho futuro relevante seria a continuação, extensão e melhoramento da bateria de testes e, após a análise aprofundada dos seus achados, possíveis alterações para melhor sanar a possível prevalência do canal indesejado de informação, nomeadamente adoptar técnicas de place & route controlado, como exemplificado em [19], de modo a aproximar o comportamento ao idealizado como seguro,

93

Bibliografia

[1] J. Daemen and V. Rijmen, The Design of Rijndael. Springer, 2002, p. 255. [2] V. Krummel, “Tamper Resistance of AES,” 2007.

[3] P. Kocher, “Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems,” in Advances in Cryptology - CRYPTO ’96, 16th Annual International Cryptology Conference, Santa Barbara, California,, 1996, pp. 104– 113.

[4] P. Kocher, J. Jaffe, and B. Jun, “Differential power analysis,” Adv. Cryptology— CRYPTO’99, vol. 1666, pp. 388–397, 1999.

[5] J.-F. Dhem, F. Koeune, and P.-A. Leroux, “A practical implementation of the timing attack In CARDIS,” in Lecture Notes in Computer Science, 1998, no. 1820.

[6] F. Koeune and J. Quisquater, “A timing attack against Rijndael.” 1999.

[7] D. Brumley and D. Boneh, “Remote timing attacks are practical,” Comput. Networks, vol. 48, no. 5, pp. 701–716, Aug. 2005.

[8] O. Aciiçmez, W. Schindler, and Ç. K. Koç, “Improving Brumley and Boneh timing attack on unprotected SSL implementations,” in Proceedings of the 12th ACM conference on Computer and communications security - CCS ’05, 2005, p. 139.

[9] D. Boneh, R. A. DeMillo, and R. J. Lipton, “On the Importance of Checking Cryptographic Protocols for Faults,” Adv. Cryptol. - EURO- CRYPT ’97, Int. Conf. Theory Appl. Cryptogr. Tech., vol. 1233, no. Lecture Notes in Computer Science, pp. 37–51, 1997.

[10] D. Page, “Theoretical Use of Cache Memory as a Cryptanalytic Side-Channel,” no. August, 2002.

[11] D. Talbot, “‘ Tamper-Proof ’ Chips , with Some Work , Might Give Up Their Secrets,” 2013. [Online]. Available: http://www.technologyreview.com/news/519201/tamper- proof-chips-with-some-work-might-give-up-their-

secrets/?utm_campaign=newsletters&utm_source=newsletter-daily-

all&utm_medium=email&utm_content=20130911. [Accessed: 11-Sep-2013].

[12] T. S. Messerges, “Securing the AES Finalists Against Power Analysis Attacks,” pp. 150– 164, 2001.

[13] M. Akkar and C. Giraud, “An Implementation of DES and AES , Secure against Some Attacks,” Cryptogr. Hardw. Embed. Syst. — CHES 2001, vol. 2162, pp. 309–318, 2001. [14] M. Rivain, E. Prouff, and V. Krummel, “Provably Secure Masking of AES,” Sel. Areas

94

[15] D. Sokolov, S. Member, and J. Murphy, “Design and Analysis of Dual-Rail Circuits for Security Applications,” IEEE Trans. Comput., vol. 54, no. 4, pp. 449–460, 2005. [16] T. Wollinger, “Security on FPGAs : State-of-the-Art Implementations and Attacks,” vol. 3,

no. 3, pp. 534–574, 2004.

[17] T. Wollinger and C. Paar, “How Secure Are FPGAs in Cryptographic Applications ?,” pp. 91–100, 2003.

[18] E. Keys, A. Barenghi, P. Milano, and T. Kasper, “On the Vulnerability of FPGA Bitstream Encryption against Power Analysis Attacks,” pp. 111–123, 2005.

[19] P. Yu and P. Schaumont, “Secure FPGA circuits using controlled placement and routing,” Proc. 5th IEEE/ACM Int. Conf. Hardware/software codesign Syst. Synth. -

CODES+ISSS ’07, p. 45, 2007.

[20] T. Kasper, D. Oswald, and C. Paar, “New Methods for Cost-Effective Side-Channel Attacks on Cryptographic RFIDs,” no. 3.

[21] T. Kasper, D. Oswald, C. Paar, and C. Smartcards, “EM Side-Channel Attacks on Commercial Contactless Smartcards using Low-Cost Equipment.”

[22] T. Kasper, D. Oswald, and C. Paar, “Side-Channel Analysis of Cryptographic RFIDs with Analog Demodulation ⋆,” 2007.

[23] N. Hanley, M. Tunstall, and W. P. Marnane, “Unknown Plaintext Template Attacks.” [24] S. Chari, J. R. Rao, and P. Rohatgi, “Template Attacks,” Differences, vol. 2523, pp. 13–

28, 2003.

[25] N. Pramstaller, F. K. Gurkaynak, S. Haene, H. Kaeslin, N. Felber, and W. Fichtner, “Towards an AES crypto-chip resistant to differential power analysis,” Proc. 30th Eur. SolidState Circuits Conf., pp. 307–310, 2004.

[26] M. Rivain and E. Prouff, “Provably Secure Higher-Order Masking of AES,” in in Cryptographic Hardware and Embedded Systems, CHES 2010, S. Mangard and F.-X. Standaert, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010, pp. 413–427. [27] S. Mangard, N. Pramstaller, and E. Oswald, “Successfully Attacking Masked AES

Hardware Implementations,” Contract, vol. 3659, pp. 157–171, 2005.

[28] K. J. Kulikowski, A. Smirnov, A. Taubin, M. G. Karpovsky, and D. MacDonald, “Delay Insensitive Encoding and Power Analysis: A Balancing Act,” 11th IEEE Int. Symp. Asynchronous Circuits Syst., pp. 116–125.

[29] K. Tiri, I. Verbauwhede, U. C. L. Angeles, and K. U. Leuven, “Design Method for Constant Power Consumption of Differential Logic Circuits,” Des. Autom. Test Eur. 2005. Proc., vol. 1, pp. 628–633, 2005.

95 [30] L. Batina, N. Mentens, I. Verbauwhede, K. U. Leuven, E. Scd-cosic, and K. Arenberg,

“Side-channel Issues for Designing Secure Hardware Implementations,” On-Line Test. Symp. 2005. IOLTS 2005. 11th IEEE Int., pp. 116–125, 2005.

[31] D. Sokolov, J. Murphy, A. Bystrov, and A. Yakovlev, “Improving the Security of Dual-Rail Circuits,” pp. 282–297, 2004.

[32] K. Tiri, I. Verbauwhede, B. Hall, P. O. Box, and L. Angeles, “A Logic Level Design

Methodology for a Secure DPA Resistant ASIC or FPGA Implementation 2 Sense Amplifier Based Logic 3 Conception of Dynamic Differential Logic,” Analysis, vol. 00, no. Ddl, pp. 246–251, 2004.

[33] K. Papadopoulos, A. Brokalakis, and I. Papaefstathiou, “Increasing resistance to differential power analysis attacks in reconfigurable systems,” in Electrotechnical Conference (MELECON), 2012 16th IEEE Mediterranean, 2012, pp. 115–120. [34] IBM, Application Programmer ’ s Guide, 14o ed. 2009.

[35] P. Kocher, J. Jaffe, and B. Jun, “Introduction to Differential Power Analysis and Related Attacks.” San Francisco, USA, 1998.

97

99