Trust is an essential component of computer security. If misplaced or misunderstood, it can open a system up to compromise by a stealthy adversary. On the other hand, robust notions of trust enable increasingly complex and fruitful interactions while preserving the security and privacy goals of the participants involved. An emerging technology that enables trust in software systems is remote attestation. Although remote attestation (and related trusted computing technologies) has been around for decades, existing tools and approaches are tailored to fixed system architectures and attestation scenarios of the involved participants.
My dissertation work aims to bolster trust in the core components of a flexible remote attestation framework, that in turn enable trust in larger systems. This includes an execution environment for layered attestation protocols specified in the domain specific language Copland. The Copland framework (co-designed with collaborators) provides a shared vocabulary and reference semantics for ordering of attestation-relevant system events and bundling of cryptographic evidence. Because these components run with high privilege and their correct operation is vital to system-level security, formal analysis of their code and architecture is warranted.
I successfully defended my dissertation in June 2022 and will stay on at KU in a new role as an Assistant Research Professor. Please feel free to browse this site and reach out–I am always looking for opportunities to collaborate.
My research interests include trusted computing, remote attestation, formal methods, functional programming, programming languages, cyber security, system-level design, software engineering, and the intersection of all these.
For more information, visit my projects pages.
Visit my software page for more.
Visit my publications page for more.
My full CV should you be interested.
I am an Assistant Research Professor of Computer Science at the University of Kansas. My research interests include programming languages, functional programming, formal methods, cyber security, remote attestation, system-level design, software engineering, and the intersection of all these. When I’m not writing software or proving it correct I enjoy podcasts, comedy, sports, and music. I sing tenor in the choral group KC VITAS whose mission is to promote and perform “contemporary classical” vocal music. Before attending the University of Kansas for graduate school, I studied Mathematics and Computer Science at Emporia State University in Emporia, KS. While in Emporia, I dabbled on the baseball team for a year and a half before discovering formal logic and programming simultaneously–quickly stealing my time and focus away from baseball. I also had the opportunity to take piano and voice lessons at ESU, and sing in the chamber choirs throughout my time both at ESU and here at KU.