Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/42564
Type: Dissertação
Title: Memory-safe elimination of side channels
Other Titles: Eliminação automática de canais laterais sem acessos inconsistentes à memória
Authors: Luigi Domenico Cecchini Soares
First Advisor: Fernando Magno Quintão Pereira
First Referee: Mário Sérgio Ferreira Alvim Júnior
Second Referee: Diego de Freitas Aranha
Third Referee: Sebastian Hack
Abstract: 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.
Subject: Computação – Teses
Fluxo de Informação – Teses
Criptografia de dados (Computação) – Teses
Criptografia – Canais laterais – Teses
Segurança da informação – Teses
language: eng
metadata.dc.publisher.country: Brasil
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
metadata.dc.publisher.department: ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação
Rights: Acesso Aberto
metadata.dc.rights.uri: http://creativecommons.org/licenses/by/3.0/pt/
URI: http://hdl.handle.net/1843/42564
Issue Date: 3-Mar-2022
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
memory-safe-elimination-of-side-channels.pdf1.55 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons