Education Program and Courses

Spring 2021 Course - IDS 6938

Usable Privacy and Security

NOTE: This course will be conducted online in Spring 2021. The majority of the classes will be synchronous on Zoom.

Usability is a significant issue within the field of cybersecurity. As cybersecurity tools are exposed to wider cross-sections of the society, poor usability becomes a barrier for users to adopt the tools and functionality. For example, many users may experience confusion, frustration and embarrassment when configuring security tools, such as access controls, firewalls, encryption mechanisms and privacy settings, thus decrease their adoption and risk their information security and privacy. Hence, improving the usability in security and privacy systems is a critical and urgent task in the field of cybersecurity.

This course will introduce the usability problems in security and privacy methods, tools, and software. It will involve a heavy discussion on the existing research and design efforts in usable security and privacy, including prominent examples of both failures and successes. It will also survey state-of-the-art techniques that are used to evaluate and achieve usability in security and privacy designs. Students will get hands-on practice on usability design through a term-based project, including actually testing security and privacy systems with real end-users, user requirement analysis, prototyping, and presenting the test results in oral and written form.

Instructor: Yao Li, Ph.D.

Class Meeting Days: Mon

Class Location: Zoom


Term: Spring 2021

Class Meeting Time: 3:00 - 5:50

Credit Hours: 3

Course Code: IDS 6938

Spring 2021 Course - IDS 6938 0M02

Nonlinear Dynamics in Cognitive and Behavioral Sciences

Cluster Faculty Dr. Mary Jean Amon is offering IDS 6938 in Spring 2021

NOTE: IDS6938 0M02 will be conducted online-only in Spring 2021. A portion of class meetings will be held synchronously and the rest of the lessons will be completed asynchronously.

Most of the systems investigated in the social, cognitive, and behavioral sciences are complex systems composed of numerous interacting components. Complex systems change over time, demonstrate coordinative patterns, and express nonlinear shifts in behavior. Nonlinear dynamical systems theory can shed light on complex human systems by describing and quantifying interactions between component parts, predicting patterns and trajectory, and diagnosing the health of a system, including its relative degree of adaptivity. This course provides an introductory overview to nonlinear dynamical modeling research techniques, which are especially well-suited for understanding temporal (i.e., time series) data.

The first half of the course presents theory relevant to understanding complex systems, and the second half introduces nonlinear and dynamical analytic techniques such as entropy, fractal, recurrence, and wavelet. This is an elective course for graduate students in the School of Modeling, Simulation, and Training and is open to students from other disciplines. It is designed to support development of advanced theoretical understanding of human systems and modeling techniques that involve temporal or structural data.

Course Information

• Course number: IDS6938 0M02

• Instructor: Mary Jean Amon, Ph.D.

• Email:

• Day and time: Tuesdays 3:00 pm – 5:50 pm, Spring 2021

• Location: ONLINE ONLY (partially synchronous; partially asynchronous)

• Credit hours: 3.0

• Instruction mode: Mixed mode / Reduced seat time

We offer the following degree program:

We offer the following graduate certificates:

Introducing new course:

CDA 5220 - Foundations of

Secure Execution Environment

Fall 2019


    • When: MW 3pm – 4:15pm

    • Where: BA1 O216

    • Instructor: Dr. Yan Solihin

    • Intended audience: first year MS/PhD students and undergraduate seniors

What this course is about:

Join us in this first-ever course on Secure Execution Environment! Cloud computing has become the giant brain that runs our world. It stores and processes a huge and exponentially increasing amount of data collected by client nodes (phones, sensors, and "Things" in Internet of Things). As a result, security attacks on cloud are becoming sophisticated, powerful, and widely applicable to almost all modern processor systems. Attacks directed towards cloud computing often compromise application’s privacy not through breaching the cryptographic primitives, but through observing application behavior that indirectly reveals secrets. A recent example includes the Spectre/Meltdown attacks ( Processor manufacturers, including Intel, AMD, ARM, IBM, are all searching for techniques to mitigate such attacks without introducing significant performance overheads.

This class is an introductory graduate course covering the foundations of secure execution environment. The course equips students with:

    1. Foundational knowledge of threat models, root of trust, and types of attacks that can occur with the execution of programs in the cloud or at the edge nodes

    2. Principles of designing a secure execution environment, knowing what mitigation techniques are effective for specific attacks, and knowing how to reason about security-performance trade-offs.

By the end of the course, students are expected to know the cutting edge attacks on cloud, current efforts to mitigate them, and reason about their strengths and shortcomings.


    • Advanced Computer Architecture (CDA 5106) - this can be waived with instructor's approval

    • Programming skills in C/C++

    • Knowledge on basic concepts of cryptography, including encryption, authentication, digital signatures, and certificates.

About the Instructor:

Yan Solihin is Charles N. Millican Chair Professor of Computer Science at University of Central Florida, Director for Cybersecurity and Privacy Cluster, and an IEEE Fellow. He obtained his Ph.D. in computer science from the University of Illinois at Urbana-Champaign (UIUC) in 2002. He is a recipient of 2017 MICRO Best Paper Runner-up Award, 2010 and 2005 IBM Faculty Partnership Award, 2004 NSF Faculty Early Career Award, and 1997 AT&T Leadership Award. He is well known for pioneering cache sharing fairness and Quality of Service (QoS), efficient counter mode memory encryption, and Bonsai Merkle Tree, which have significantly influenced Intel Cache Allocation Technology and Secure Guard eXtension (SGX)'s Memory Encryption Engine (MEE). In recognition, he received IEEE Fellow “for contributions to shared cache hierarchies and secure processors” in 2017. He is listed in the HPCA Hall of Fame and ISCA Hall of Fame.

Expected topics:

    • Introduction – the need for secure execution environment

    • Review of processor architecture 1

    • Review of processor architecture 2

    • Review of cache architecture

    • Review of memory system architecture

    • Review of cache coherence and memory consistency

    • Threat Models in the Cloud vs. at the Edge: Supply Chain vs. Physical vs. Logical attacks

    • Root of Trust

    • Access Control and Isolation

    • Memory Privacy: direct and counter-mode encryption

    • Memory Privacy Optimizations: split counter mode

    • Memory Integrity: Merkle Tree, replay attack, counter rollback attack

    • Memory Integrity Optimizations: Bonsai Merkle Tree, SGX Counter Tree

    • Attestation

    • On-chip key management

    • Case study 1: Intel SGX architecture

    • Case study 2: AMD Secure Encrypted Virtualization

    • Case study 3: ARM TrustZone

    • Side channel overview: memory access pattern, architectural, speculation

    • Memory access obfuscation: ORAM, ObfusMem

    • Architectural: Prime+Probe, Evict+Time, etc.

    • Defenses for architectural side channels

    • Speculative execution side channel: Spectre/Meltdown, etc.

    • Defenses for speculative execution side channels

    • Project Presentation 1

    • Project Presentation 2