Formal Abstractions for Attested Execution Secure Processors

Slides:



Advertisements
Similar presentations
Request Dispatching for Cheap Energy Prices in Cloud Data Centers
Advertisements

SpringerLink Training Kit
Luminosity measurements at Hadron Colliders
From Word Embeddings To Document Distances
Choosing a Dental Plan Student Name
Virtual Environments and Computer Graphics
Chương 1: CÁC PHƯƠNG THỨC GIAO DỊCH TRÊN THỊ TRƯỜNG THẾ GIỚI
THỰC TIỄN KINH DOANH TRONG CỘNG ĐỒNG KINH TẾ ASEAN –
D. Phát triển thương hiệu
NHỮNG VẤN ĐỀ NỔI BẬT CỦA NỀN KINH TẾ VIỆT NAM GIAI ĐOẠN
Điều trị chống huyết khối trong tai biến mạch máu não
BÖnh Parkinson PGS.TS.BS NGUYỄN TRỌNG HƯNG BỆNH VIỆN LÃO KHOA TRUNG ƯƠNG TRƯỜNG ĐẠI HỌC Y HÀ NỘI Bác Ninh 2013.
Nasal Cannula X particulate mask
Evolving Architecture for Beyond the Standard Model
HF NOISE FILTERS PERFORMANCE
Electronics for Pedestrians – Passive Components –
Parameterization of Tabulated BRDFs Ian Mallett (me), Cem Yuksel
L-Systems and Affine Transformations
CMSC423: Bioinformatic Algorithms, Databases and Tools
Some aspect concerning the LMDZ dynamical core and its use
Bayesian Confidence Limits and Intervals
实习总结 (Internship Summary)
Current State of Japanese Economy under Negative Interest Rate and Proposed Remedies Naoyuki Yoshino Dean Asian Development Bank Institute Professor Emeritus,
Front End Electronics for SOI Monolithic Pixel Sensor
Face Recognition Monday, February 1, 2016.
Solving Rubik's Cube By: Etai Nativ.
CS284 Paper Presentation Arpad Kovacs
انتقال حرارت 2 خانم خسرویار.
Summer Student Program First results
Theoretical Results on Neutrinos
HERMESでのHard Exclusive生成過程による 核子内クォーク全角運動量についての研究
Wavelet Coherence & Cross-Wavelet Transform
yaSpMV: Yet Another SpMV Framework on GPUs
Creating Synthetic Microdata for Higher Educational Use in Japan: Reproduction of Distribution Type based on the Descriptive Statistics Kiyomi Shirakawa.
MOCLA02 Design of a Compact L-­band Transverse Deflecting Cavity with Arbitrary Polarizations for the SACLA Injector Sep. 14th, 2015 H. Maesaka, T. Asaka,
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Fuel cell development program for electric vehicle
Overview of TST-2 Experiment
Optomechanics with atoms
داده کاوی سئوالات نمونه
Inter-system biases estimation in multi-GNSS relative positioning with GPS and Galileo Cecile Deprez and Rene Warnant University of Liege, Belgium  
ლექცია 4 - ფული და ინფლაცია
10. predavanje Novac i financijski sustav
Wissenschaftliche Aussprache zur Dissertation
FLUORECENCE MICROSCOPY SUPERRESOLUTION BLINK MICROSCOPY ON THE BASIS OF ENGINEERED DARK STATES* *Christian Steinhauer, Carsten Forthmann, Jan Vogelsang,
Particle acceleration during the gamma-ray flares of the Crab Nebular
Interpretations of the Derivative Gottfried Wilhelm Leibniz
Advisor: Chiuyuan Chen Student: Shao-Chun Lin
Widow Rockfish Assessment
SiW-ECAL Beam Test 2015 Kick-Off meeting
On Robust Neighbor Discovery in Mobile Wireless Networks
Chapter 6 并发:死锁和饥饿 Operating Systems: Internals and Design Principles
You NEED your book!!! Frequency Distribution
Y V =0 a V =V0 x b b V =0 z
Fairness-oriented Scheduling Support for Multicore Systems
Climate-Energy-Policy Interaction
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Ch48 Statistics by Chtan FYHSKulai
The ABCD matrix for parabolic reflectors and its application to astigmatism free four-mirror cavities.
Measure Twice and Cut Once: Robust Dynamic Voltage Scaling for FPGAs
Online Learning: An Introduction
Factor Based Index of Systemic Stress (FISS)
What is Chemistry? Chemistry is: the study of matter & the changes it undergoes Composition Structure Properties Energy changes.
THE BERRY PHASE OF A BOGOLIUBOV QUASIPARTICLE IN AN ABRIKOSOV VORTEX*
Quantum-classical transition in optical twin beams and experimental applications to quantum metrology Ivano Ruo-Berchera Frascati.
The Toroidal Sporadic Source: Understanding Temporal Variations
FW 3.4: More Circle Practice
ارائه یک روش حل مبتنی بر استراتژی های تکاملی گروه بندی برای حل مسئله بسته بندی اقلام در ظروف
Decision Procedures Christoph M. Wintersteiger 9/11/2017 3:14 PM
Limits on Anomalous WWγ and WWZ Couplings from DØ
Presentation transcript:

Formal Abstractions for Attested Execution Secure Processors Eurocrypt May 1st, 2017 Rafael Pass, Elaine Shi, Florian Tramèr

Different communities, different world views Trusted hardware: Different communities, different world views Crypto Architecture Systems & Security “Minimal” trusted hardware to circumvent theoretical impossibilities Little concern about practical performance Trusted execution of “general-purpose” user-defined progs Cost-effectiveness, reusability, expressivity Put work in context, look at history of trusted hardware in different communities Separate trends: hardware assumptions Theoretical feasibility > performance Backward compatible

Architecture community converged on “attested execution” GhostRider Bastion TPM Iso-X Ascend Sanctum Aegis Interesting to see that various projects both in academia and industry seem to have converged to a notion of attested execution Phantom XOM Academia Industry

Architecture community converged on “attested execution” What is “attested execution” ? What can it (not) express? How to formally define this primitive How expressive is it Goal: 2min

Attested Execution Compute prog on inp outp, σ Server Enclave Client Verify Manufacturer Sign Attestation that outp is correctly computed from prog and inp Standard setting: client wants to outsource computation to an untrusted server Use SGX / terminology as illustration but aim is to cover the “essence” of attested execution Trust bootstrapped through hardware manufacturer Picture tells us kind of what we want, but not a precise abstraction

Why Ideal Abstractions? Formal security proofs for implementations from precise abstractions and security models Ultimate Goal: Formally verified processor implementing this formal abstraction Goal: 3min Early systems built on trusted hardware tend to prove security in “ad-hoc” fashion, lack of formal model Important to note: we don’t claim that any secure processor today actually realizes the ideal abstractions we want (e.g., side channels) => next step Trusted hardware not used in isolation => part of larger protocols, all of which implicitly share state

Formal Model 𝓖att[Σ, reg] Signature scheme Registry of all platforms with trusted hardware 𝓖att[Σ, reg] init(): , ⟵ Σ.KeyGen(1λ) getpk() from P: send to P install(prog, sid) from P ∊ reg: resume(eid, inp) from P ∊ reg: (out, M’) = prog(inp, M) σ = Σ.Sign( , eid, sid, prog, out) send (out, σ) to P (eid, P) ( sid, prog, M ) enclave id (nonce) enclave memory … ’ Interface is relatively simple

Composability with Global State Model 𝓖att as global ideal functionality [CDPW’07] Attestation key is shared across protocols 𝓖att[Σ, reg] Goal: 5min We model att exec. as an ideal functionality in the generalized UC framework Why UC => trusted hardware not used in isolation, part of larger protocols => modular composition is a desirable property Why GUC => source of main technical challenges: protocols implicitly share state!

Composability with Global State Model 𝓖att as global ideal functionality [CDPW’07] Example of concrete security issue: Non-deniability for parties in reg 𝓖att[Σ, reg] Lifetime of attestations (and keys) goes beyond a particular protocol σ

The more interesting question What is “attested execution” ? What can it (not) express?

𝓖att ➔ ‘’Stateful Obfuscation’’ The surprise The good Powerful Abstraction! 𝓖att ➔ ‘’Stateful Obfuscation’’ Impossible even with stateless tokens and cryptographic obfuscation UC-Secure MPC? Goal: 8min In interest of time won’t go other this, see paper for formal definitions and constructions

Gatt ➔ ‘’Stateful Obfuscation’’ The good Powerful Abstraction! Gatt ➔ ‘’Stateful Obfuscation’’ Impossible even with stateless tokens and cryptographic obfuscation The surprise UC-Secure MPC?

Consider 2PC

Consider 2PC UC-secure 2PC possible if both parties have trusted hardware Impossible if only one party has trusted hardware!

This is counter-intuitive. Consider 2PC This is counter-intuitive. If you recall the informal picture from the beginning of this talk, where a client outsources computation to a server, only the server had a secure processor Impossible if only one party has trusted hardware!

Issue: non-deniability Convinced that some honest party in the registry participated in the protocol Most intuitive way of looking at this issue is through the notion of non-deniability Lifetime of attestation key extends beyond this protocol under global pk

Non-issue if all nodes have trusted hardware or if pk isn’t global Convinced that some honest party in the registry participated in the protocol Not an issue if both parties have secure processors, as Bob could have generated the attestation himself => plausible deniability for Alice under global pk

What if we really really want to use a single trusted processor? Extra setup assumption: Augmented CRS UC-Secure MPC with O(1) crypto operations Backdoor enclave program: allow simulator to extract inputs and program the outputs for corrupt parties Goal: 14min Would be much better if not all parties needed a secure processor. ACRS: for honest parties, standard CRS + gives out publically verifiable identity keys to malicious parties Communication / round complexity independent of program

What if we really really want to use a single trusted processor? Server Full protocol replaces σ by a WI-Proof prog[f,𝓖acrs,𝒫1 … 𝒫n] Generate pki,ski Collect all inpi Compute outp* 𝒫i pki, σ Key-exchange Gloss over some details: replace attestation by witness indistinguishable proof to circumvent this non-deniability issue (details in the paper) Encrypted inpi Encrypted outpi

What if we really really want to use a single trusted processor? Server prog[f,𝓖acrs,𝒫1 … 𝒫n] Trapdoors check(𝒢acrs, 𝒫i, idi) set outpi = v Sim Sim can recover inpi extract(idi) ski How to do simulation? Simulator needs to obtain / extract the inputs from corrupt parties. To do this, Sim uses the Augmented Common Reference String to obtain identity keys and calls trapdoor in program Trapdoor doesn’t harm honest users, as they never call the CRS to obtain their identity keys equivocate(idi, v)

Can trusted hardware help with fairness? Fair 2PC? Fairness impossible for general functionalities in plain model [Cleve86] Goal: 16min Let’s now move on to a more positive result, about fairness in multiparty protocols Here, fairness = if one party obtains result, others also obtain result (maybe after some “short” delay) Natural question:

Enhanced model: Clock-aware secure processor UC-Secure Fair 2PC Enhanced model: Clock-aware secure processor Fair 2PC possible if both parties have clock- aware secure processors Fair coin-tossing possible if one party has clock-aware secure processors (+ ACRS) Secure processor with access to trusted source of relative time In this model, fair 2PC possible BUT only if both parties have secure processors For some functionalities, e.g. coin tossing, fairness is possible with a single secure processor and a CRS

… Enclaves establish secure channel Enclaves exchange inputs and compute outputs “Will release to Alice in 2λ time” “Will release to Bob in 2λ time” Secure processors establish a secure channel and perform the two-party computation Processors withhold outputs for a pre-defined amount of time. Tit-for-tat “Will release to Alice in 2λ-1 time” “Will release to Bob in 2λ-1 time” …

+ no ‘’wasted’’ computation! Enclaves establish secure channel If Alice learns result at time t < 2λ, Bob will learn it at the latest by time 2t + no ‘’wasted’’ computation! “Will release to Alice in 2λ-1 time” “Will release to Bob in 2λ-1 time” …

What next? Attested execution is a powerful assumption ⟹ Stateful Obfuscation, Efficient MPC, Fair 2PC Subtle issues unless all parties have trusted hardware ⟹ Non-deniability, Extra setup assumptions Goal: 19min What are the future directions given this work? Provably satisfy this abstraction Guidelines for system / protocol development Formal abstractions of trusted hw Formally verified secure processor design Secure implementations from formally secure abstractions

Thank You Formal abstractions of trusted hw Goal: 19min What are the future directions given this work? Provably satisfy this abstraction Guidelines for system / protocol development Formal abstractions of trusted hw Formally verified secure processor design Secure implementations from formally secure abstractions