| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 2.35 MB | Adobe PDF |
Resumo(s)
A segurança da informação é essencial quando os dados são partilhados entre entidades, uma vez que vulnerabilidades podem comprometer tanto o emissor como o recetor, e até mesmo sistemas inteiros. Esta tese procura avaliar o impacto no desempenho de consultas em bases de dados encriptadas. Para tal, foram identificados e selecionados algoritmos de encriptação populares e bastante utilizados, com base na disponibilidade de encriptação nativa que utilizasse os mesmos métodos e algoritmos em diferentes plataformas de base de dados. Com base nesses critérios, o algoritmo AES revelou-se o mais adequado, devido à sua grande adoção em diversas bases de dados nas variantes de 128, 192 e 256 bits.
De seguida, foram selecionadas as bases de dados que suportavam estes algoritmos, e foi concebido um ambiente de teste para cada cenário, o qual incluía diferentes algoritmos de encriptação, fatores de escala e plataformas de base de dados. Para cada cenário, foram executadas consultas a bases de dados simulando cenários reais (TPC-H). Os tempos de execução obtidos foram processados através de um script em Python, que converteu os valores de ficheiros de texto para um ficheiro de Excel devidamente formatado, associando os resultados ao número e execução da respetiva consulta de base de dados.
Os parâmetros de avaliação selecionados foram os tempos de execução e os recursos do sistema: CPU, RAM e atividade de disco. O tempo de execução foi escolhido como principal métrica de desempenho, por refletir diretamente o impacto da encriptação nos recursos de sistema no processo a ser executado. Os recursos de sistema foram analisados para garantir condições de teste semelhantes. Foi observada uma elevada variação nos resultados de desempenho em diferentes configurações, especialmente na Oracle, incluindo em alguns casos sem encriptação.
Neste estudo, foram utilizadas as bases de dados Oracle, MySQL e SQL Server para analisar o impacto do desempenho das bases de dados encriptadas em diferentes fatores de escala durante a execução de consultas. O Oracle demonstrou que o AES-192 é o algoritmo mais equilibrado em fatores de escala mais reduzidos, mas o AES-128 superou os restantes tamanhos de chave AES para um fator de escala de 10. O SQL Server apresentou uma escalabilidade de desempenho expectável, sendo o AES-192 novamente o mais equilibrado, tal como no Oracle, mas no fator de escala 1, o AES-256 teve um desempenho superior. O MySQL v8.0.38 revelou menor variação nos fatores de escala superiores, embora a estabilidade global tenha melhorado significativamente na versão Enterprise 9.2. Ao comparar o SQL Server com a Oracle, verificou-se que o SQL Server apresentou um desempenho bastante superior: a um fator de escala 10, o AES-256 foi até 40 vezes mais rápido. Mesmo sem encriptação, a Oracle foi cerca de oito vezes mais lenta do que o SQL Server. O MySQL v8.0.38 registou maior variabilidade nos dois fatores de escala testados, enquanto o MySQL v9.2 apresentou melhores resultados, com maior estabilidade e melhor gestão de recursos.
Data security is essential when information is shared between entities, as vulnerabilities can compromise both the sender and the receiver, and even entire systems. This thesis evaluates how encryption affects the database performance during query execution. To achieve that, we started by identifying encryption algorithms that were natively supported and consistently implemented across multiple database platforms. Based on these criteria, AES was selected as the most suitable algorithm due to its wide adoption and support across platforms, in AES-128, AES-192, and AES-256 bit variants. Then it was selected which databases supported these algorithms and set up an environment for each scenario, which included a different encryption algorithm, scale factor and database platforms. For each scenario, standard benchmark (TPC-H) queries were run to see how the system performed. The elapsed times obtained from the execution tests were processed through a Python script, which converted the values from a raw text file to a properly formatted Excel spreadsheet prepared for analysis, displaying the time from the respective query number to the respective execution number. The evaluation parameters selected were the execution time and the system resources' CPU, RAM, and disk activity. Execution time was chosen as the primary performance metric, as it directly reflects the impact of encryption on process efficiency. System resources such as CPU, RAM and disk activity were selected to measure if the system conditions were similar for the tests. A high variation in the performance results was observed across different configurations, especially in Oracle, including in some non-encryption baselines. The study analyzed Oracle, MySQL, and SQL Server performance when querying encrypted databases across multiple scale factors. Oracle showed that AES-192 is the most balanced algorithm at smaller scale factors, but AES-128 outperformed the other AES key sizes at a scale factor of 10. SQL Server showed an expected performance scaling, with AES-192 being the most balanced again, as in Oracle, but at scale factor 1, AES-256 performed better. MySQL v8.0.38 showed reduced variation at larger scale factors, though overall stability improved significantly in enterprise version 9.2. When comparing SQL Server to Oracle, SQL Server performed much better than Oracle, at a scale factor of 10, AES-256 outperformed Oracle up to 40 times faster, even without encryption, Oracle was about 8 times slower than SQL Server. MySQL v8.0.38 had more result variations in the two tested scale factors, while MySQL v9.2 showed better results with more result stability and resource management.
Data security is essential when information is shared between entities, as vulnerabilities can compromise both the sender and the receiver, and even entire systems. This thesis evaluates how encryption affects the database performance during query execution. To achieve that, we started by identifying encryption algorithms that were natively supported and consistently implemented across multiple database platforms. Based on these criteria, AES was selected as the most suitable algorithm due to its wide adoption and support across platforms, in AES-128, AES-192, and AES-256 bit variants. Then it was selected which databases supported these algorithms and set up an environment for each scenario, which included a different encryption algorithm, scale factor and database platforms. For each scenario, standard benchmark (TPC-H) queries were run to see how the system performed. The elapsed times obtained from the execution tests were processed through a Python script, which converted the values from a raw text file to a properly formatted Excel spreadsheet prepared for analysis, displaying the time from the respective query number to the respective execution number. The evaluation parameters selected were the execution time and the system resources' CPU, RAM, and disk activity. Execution time was chosen as the primary performance metric, as it directly reflects the impact of encryption on process efficiency. System resources such as CPU, RAM and disk activity were selected to measure if the system conditions were similar for the tests. A high variation in the performance results was observed across different configurations, especially in Oracle, including in some non-encryption baselines. The study analyzed Oracle, MySQL, and SQL Server performance when querying encrypted databases across multiple scale factors. Oracle showed that AES-192 is the most balanced algorithm at smaller scale factors, but AES-128 outperformed the other AES key sizes at a scale factor of 10. SQL Server showed an expected performance scaling, with AES-192 being the most balanced again, as in Oracle, but at scale factor 1, AES-256 performed better. MySQL v8.0.38 showed reduced variation at larger scale factors, though overall stability improved significantly in enterprise version 9.2. When comparing SQL Server to Oracle, SQL Server performed much better than Oracle, at a scale factor of 10, AES-256 outperformed Oracle up to 40 times faster, even without encryption, Oracle was about 8 times slower than SQL Server. MySQL v8.0.38 had more result variations in the two tested scale factors, while MySQL v9.2 showed better results with more result stability and resource management.
