Award Abstract # 1702824
SaTC: CORE: Medium: Collaborative: Energy-Harvested Security for the Internet of Things

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: UNIVERSITY OF SOUTHERN CALIFORNIA
Initial Amendment Date: June 8, 2017
Latest Amendment Date: June 8, 2017
Award Number: 1702824
Award Instrument: Standard Grant
Program Manager: Daniela Oliveira
doliveir@nsf.gov
 (703)292-0000
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: September 1, 2017
End Date: August 31, 2022 (Estimated)
Total Intended Award Amount: $349,997.00
Total Awarded Amount to Date: $349,997.00
Funds Obligated to Date: FY 2017 = $349,997.00
History of Investigator:
  • Chao Wang (Principal Investigator)
    wang626@usc.edu
Recipient Sponsored Research Office: University of Southern California
3720 S FLOWER ST FL 3
LOS ANGELES
CA  US  90033
(213)740-7762
Sponsor Congressional District: 34
Primary Place of Performance: University of Southern California
3720 S. Flower St.
los angeles
CA  US  90089-0001
Primary Place of Performance
Congressional District:
37
Unique Entity Identifier (UEI): G88KLJR3KYT5
Parent UEI:
NSF Program(s): Secure &Trustworthy Cyberspace
Primary Program Source: 01001718DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 025Z, 7434, 7924
Program Element Code(s): 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

The Internet of Things integrates the virtual world of computers into real-world applications, leading to better efficiency, economy and an improved quality of life. This requires a huge amount of tiny computers, and this project addresses the challenge of powering those computers in a sustainable manner. Tiny computers can run off harvested energy sources such as solar, vibration and/or temperature gradient. The project objective is to show how such energy-constrained devices can support secure and full Internet connectivity. This can be achieved by reworking the computations leading up to a secure Internet connection and spreading them out over time. The proposed solution aims to use every harvested Joule of energy towards useful computations.

The project builds on insights from three domains, including cryptographic engineering, energy-harvesting technologies, and formal verification. The harvester-friendly version of a cryptographic algorithm is created by partitioning it in pre-computed steps that generate coupons. Coupons are created when there is a surplus energy, and they can be used to speed up online computations at a later phase. The project optimizes cryptography from the standard Internet stack and integrates it with energy-harvester technology. Verification techniques ensure the functional equivalence of pre-computed versions of Internet protocols to their mainstream counterparts. The project contributes to the research agenda in crucial areas such as lightweight cryptography, formal methods, and realization of energy-harvesting systems. The project will disseminate publications, open-source hardware, and software, and it will establish a programming competition to raise the awareness of energy-constraints in the Internet of Things.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Wu, Meng and Wang, Chao "Abstract interpretation under speculative execution" ACM SIGPLAN Conference on Programming Language Design and Implementation , 2019 10.1145/3314221.3314647 Citation Details
Guo, Shengjian and Wu, Meng and Wang, Chao "Adversarial symbolic execution for detecting concurrency-related cache timing leaks" ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering , 2018 10.1145/3236024.3236028 Citation Details
Huang, Zunchen and Wang, Chao "Symbolic Predictive Cache Analysis for Out-of-Order Execution" International Conference on Fundamental Approaches to Software Engineering , 2022 https://doi.org/10.1007/978-3-030-99429-7_10 Citation Details
Sung, Chungha and Paulsen, Brandon and Wang, Chao "CANAL: a cache timing analysis framework via LLVM transformation" ACM/IEEE International Conference on Automated Software Engineering , 2018 10.1145/3238147.3240485 Citation Details
Wang, Jingbo and Li, Yannan and Wang, Chao "Synthesizing Fair Decision Trees via Iterative Constraint Solving" International Conference on Computer Aided Verification , 2022 Citation Details
Wang, Jingbo and Sung, Chungha and Wang, Chao "Mitigating power side channels during compilation" ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering , 2019 10.1145/3338906.3338913 Citation Details
Wang, Jingbo and Wang, Chao "Learning to Synthesize Relational Invariants" IEEE/ACM International Conference on Automated Software Engineering , 2022 https://doi.org/10.1145/3551349.3556942 Citation Details
Wu, Meng and Guo, Shengjian and Schaumont, Patrick and Wang, Chao "Eliminating timing side-channel leaks using program repair" ACM SIGSOFT International Symposium on Software Testing and Analysis , 2018 10.1145/3213846.3213851 Citation Details

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

Background:

Ensuring the security of small computing systems in the Internet of Things (IoT) powered by renewable energy sources is a practically important and yet intellectual challenging task. It requires the merging of two separate concepts. On the one hand, it requires concepts from intermittent computing and the execution of long-running algorithms on transiently powered computing platforms. However, traditional intermittent computing has not considered the implication of secure and tamper-sensitive algorithms. On the other hand, there is a rich and extensive collection of security protocols to provide information assurance and operational assurance properties of computing platforms. However, these secure protocols have been designed primarily for continuously powered computers.


Problem Statement:

Our research aims to bridge the aforementioned gap by transforming existing secure protocols and cryptographic algorithms such that they can run in small steps. Every step can generate one or more coupons, which represent partially computed or pre-computed results. When power disappears, the coupons are preserved in non-volatile memory. When power returns, the coupons are copied from non-volatile memory and the operation continues. To ensure the security of such systems, we develop new technologies, method, and software tools in three sub areas: (1) cryptographic engineering, (2) energy harvesting, and (3) formal verification. While research in the first two sub areas are led by the Virginia Tech team, research in the third sub area of this collaborative project is led by the University of Southern California (USC) team.

In the remainder of this report, we focus on the outcome of the USC team.  

Intellectual Merits:

At the center of our intellectual contribution is a set of new methods and tools for efficiently verifying the security of energy-aware cryptographic software code. They are based on advanced program analysis and verification techniques that we develop. The main advantage of our methods and tools is that they can either detect vulnerabilities (such as information leaks through side channels) in critical software, or prove that such vulnerabilities do not exist.

We also develop a set of new methods and tools for mitigating security vulnerabilities or optimizing the software code to improve performance, e.g., rewriting the software code to lower the energy consumption of the hardware that executes the software code. This is accomplished by leveraging a technique called program synthesis, which in this particular application can be viewed as a form of super-optimizing compiler. 

In both of the above cases, our emphasis is on automation in the sense that verification and optimization of security-critical IoT software are performed by rigorous algorithms and tools automatically, as opposed to by developers manually. This is advantageous because manual verification and optimization are often tedious, labor intensive, and error prone even for experts.

Broader Impact:

Our research and publications have raised the awareness of both energy-constraints and security risks of energy-harvesting devices in the Internet of Things. Furthermore, techniques and tools developed in this project allow experts from different domains to work together to improve systems. The project allows us to support the education of graduate students at the University of Southern California (USC), who have received training on the design and engineering of embedded systems as well as techniques for verifying and optimizing software in such systems.

 

 

 


Last Modified: 02/08/2023
Modified by: Chao Wang

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page