Use este identificador para citar o ir al link de este elemento: http://hdl.handle.net/1843/42564
Tipo: Dissertação
Título: Memory-safe elimination of side channels
Título(s) alternativo(s): Eliminação automática de canais laterais sem acessos inconsistentes à memória
Autor(es): Luigi Domenico Cecchini Soares
primer Tutor: Fernando Magno Quintão Pereira
primer miembro del tribunal : Mário Sérgio Ferreira Alvim Júnior
Segundo miembro del tribunal: Diego de Freitas Aranha
Tercer miembro del tribunal: Sebastian Hack
Resumen: A program is said to be isochronous if its running time does not depend on classified information. Isochronicity is an essential property in cryptographic implementations, for isochronous programs do not leak time-related information. In this thesis, we demonstrate how to adapt to the context of side-channel resistance a partial control-flow linearization algorithm initially conceived to maximize work performed in vectorized programs. This transformation is sound: given an instance of the public inputs, the partially linearized program always runs the same sequence of instructions, regardless of the secret inputs. Incidentally, if the original program is publicly safe, accesses to the data cache will be data oblivious in the repaired code. This transformation is also optimal: every branch that depends on some secret data is linearized; no branch that depends on only public data is linearized. Thus, the transformation preserves loops that depend on public information. If every branch that leaves a loop depends on secret data, then the transformed program will not terminate. Our transformation extends recent work in non-trivial ways. It handles C constructs such as "goto", "break", "switch" and "continue", which are absent in the FaCT domain-specific language (2018). Like Constantine (2021), our transformation ensures operation invariance, but without requiring profiling information. Additionally, in contrast to SC-Eliminator (2018), our implementation handles programs containing general, unbounded loops.
Abstract: Um programa é dito isócrono se seu tempo de execução não depende de informações sensíveis. Isocronicidade é uma propriedade essencial em implementações criptográficas, posto que programas isócronos não apresentam vazamento de informações relacionadas a seus tempos de execução. Nesta dissertação, nós demonstramos como adaptar para o contexto de resistência à canais laterais um algoritmo de linearização parcial de grafos de fluxo de controle que foi, inicialmente, concebido para maximizar o desempenho em programas vetorizados. Esta transformação é correta: dada uma instância das entradas públicas, o programa parcialmente linearizado sempre executa a mesma sequência de instruções, independente das entradas secretas. Caso o programa original seja publicamente seguro, os acessos à cache de dados serão indistinguíveis no código transformado. Esta transformação é, também, ótima: todo desvio dependente de dados secretos é linearizado; nenhum desvio que dependa apenas de dados públicos é linearizado. Assim, a transformação preserva laços que dependem de informações públicas. Se todos os desvios que saem de um laço dependem de dados sensíveis, o programa modificado não terminará. Nossa transformação estende trabalhos recentes de maneiras não triviais. Ela é capaz de lidar com construções como "goto", "break", "switch" e "continue", que não estão presentes na linguagem de domínicio específico FaCT (2018). Assim como a ferramenta Constantine (2021), nossa transformação garante invariância de operações, mas sem necessitar de informações provenientes da execução dos programas. Além disso, em contraste com SC-Eliminator (2018), nossa técnica é capaz de lidar com programas contendo laços sem limites conhecidos em tempo de compilação.
Asunto: Computação – Teses
Fluxo de Informação – Teses
Criptografia de dados (Computação) – Teses
Criptografia – Canais laterais – Teses
Segurança da informação – Teses
Idioma: eng
País: Brasil
Editor: Universidade Federal de Minas Gerais
Sigla da Institución: UFMG
Departamento: ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
Curso: Programa de Pós-Graduação em Ciência da Computação
Tipo de acceso: Acesso Aberto
metadata.dc.rights.uri: http://creativecommons.org/licenses/by/3.0/pt/
URI: http://hdl.handle.net/1843/42564
Fecha del documento: 3-mar-2022
Aparece en las colecciones:Dissertações de Mestrado

archivos asociados a este elemento:
archivo Descripción TamañoFormato 
memory-safe-elimination-of-side-channels.pdf1.55 MBAdobe PDFVisualizar/Abrir


Este elemento está licenciado bajo una Licencia Creative Commons Creative Commons