Visible to the public TWC: Medium: Collaborative: Computational Blinking - Computer Architecture Techniques for Mitigating Side ChannelsConflict Detection Enabled

Project Details

Lead PI

Performance Period

Aug 01, 2016 - Jul 31, 2019

Institution(s)

University of California-San Diego

Award Number


Computer systems increasingly perform operations on critical and confidential data. Despite best efforts to protect this information, the side effects of computations using this data, e.g., the computation time, the power consumption, electromagnetic radiation, thermal emanations, and acoustics, can be used to decipher secret information even when it is encrypted. Power analysis attacks are particularly powerful and have been shown time and again to be able to quickly and reliably extract the most critical information from otherwise secure devices including smart cards, RFIDs, microcontrollers, microprocessors, and other computing hardware.

Drawing inspiration from the human body, the proposed research will develop new techniques to mitigate power analysis attacks through a technique called computational blinking. An average person blinks 15-20 times per minute; in fact our eyes are closed around 10% of our waking hours due to blinking. With each and every blink, sections of our brain are momentarily "powered off," yet we are rarely even aware of these near continuous interruptions. Our techniques replicate this same, seemingly imperceivable interleaving of "connected" and "disconnected" states in a computer system through the dynamic reconfiguration of the electrical network powering a device. During a computational blink, a portion of the processor is momentarily electrically disconnected from the rest of the system making it more difficult to modify or examine the side effects (e.g., power consumption) of that computation. Our innovative circuits, architectures, run-time systems, programming frameworks, design tools, and measurement methodologies make these intermittent disconnections just as imperceivable in computing systems.