Atualmente, a linguagem de programação JavaScript é uma das mais utilizadas. Por todo o mundo são produzidas e distribuídas inúmeras aplicações JavaScript. Assim sendo, estas têm de ser protegidas contra roubos que podem violar a propriedade intelectual da aplicação e contra adulterações maliciosas que podem modificar o seu comportamento. Para proteger estas aplicações, um dos possíveis caminhos é usar encriptação. No entanto, a encriptação, tem um único ponto de falha: a chave criptográfica. Caso esta seja comprometida, a aplicação ficará facilmente acessível para potenciais atacantes. As soluções de criptografia de caixa branca tentam proteger a chave para que um atacante não lhe tenha acesso e, consequentemente, a aplicação tenha um maior nível de segurança. Neste documento é apresentada a primeira solução de criptografia de caixa branca para aplicações JavaScript. Esta solução é totalmente adaptada ao contexto em que se insere, sendo tão importante o acesso ao código fonte da aplicação como à chave criptográfica. Além disso, é uma solução que combate as principais formas de ataque proporcionadas pela própria linguagem. A solução de criptografia de caixa branca será resistente a modificações por parte de um atacante. Caso este modifique, de alguma forma, a aplicação, esta deixará de funcionar. / Nowadays, the JavaScript programming language is one of the most used. JavaScript applications are produced and distributed in all over the world. Therefore, this kind of applications has to be protected against thefts which can break the intellectual property and against malicious tampering. In order to protect JavaScript applications, one of the possible ways is to use encryption. However the encryption has a unique point of failure: the encryption key. If this key is compromised, the application will become easily accessible for potential attackers. The white-box cryptography solutions try to protect the encryption key so that an attacker can not have access to that and, thereafter, the application will have a higher security level. In this document is presented the first white-box cryptography solution for JavaScript applications. This solution fits well in it's environment and the access to the source code of the application has the same relevance that the cryptographic key. Besides that, it's a solution that fights the majors threads of the JavaScript programming language. The white-box cryptography solution will have an anti-tampering mechanism. If an attacker modifies the application, it will not working anymore.
Identifer | oai:union.ndltd.org:up.pt/oai:repositorio-aberto.up.pt:10216/88464 |
Date | 30 September 2016 |
Creators | Luís Filipe Ferreira Araújo |
Contributors | Faculdade de Engenharia |
Source Sets | Universidade do Porto |
Language | Portuguese |
Detected Language | Portuguese |
Type | Dissertação |
Format | application/pdf |
Rights | openAccess |
Page generated in 0.0065 seconds